summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/region.h
AgeCommit message (Collapse)Author
2019-11-02add a new "contents" pseudo-property to RegionPaul Davis
The type of this property doesn't matter - it only exists so that we can signal a change to the (MIDI) contents of a Region via PropertyChanged
2019-11-02NOOP: whitespace changePaul Davis
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2019-08-01(Source List) Region Tags (libardour part)Ben Loftis
Rough-in: Region-Tags. More correct implementation of tags property (libardour). Region Tags (libardour part)
2019-04-08NO-OP: whitespaceRobin Gareus
Fix space-alignment, mostly due to "frame" -> "sample" changes.
2019-03-12Add a time+layer equivalence checkRobin Gareus
This is more useful than exact_equivalent() since _start offset may not match in some cases (compounds, import, record with different capture latencies). However shared group editing (range, copy/paste) does result in consistent layers and matching position+length.
2018-09-13Implement new Enclosed region equivalence modeColin Fletcher
2018-02-11SoloSelection: libardour part.Ben Loftis
2017-10-04Clean up State API:Robin Gareus
* Processor implement get_state(), classes derived from Processor implement protected ::state() -- as documented in processor.h * likewise for Route, Track: make ::state() a protected interface * removal of "full_state", use explicit "template_save" * use RAII/Unwind to skip saving automation-state
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode and video in order to keep the legible
2017-08-23Update "separate_by_channel" API & add Lua bindingsRobin Gareus
This breaks compilation (GUI)
2017-04-19Changes needed for building Tim's new 'string_convert' stuff with MSVC ↵John Emmas
(libardour)
2017-03-17Lua bindings for libardour transient-analysisRobin Gareus
2017-02-04rework snapnick_m
snap now fills in a struct (MusicFrame) which contins a snapped frame along with a music divisor. this gives useful information wrt magnetic snap which may or may not have rounded to an exact musical position. region position may now be set musically (using quarter notes for now). this patch fixes several problems in the current code: - dragging a list of music-locked regions now maintains correct musical offsets within the list. - splitting regions using magnetic snap works correctly (#7192) - cut drag should now work correctly with magnetic snap. - musical length of split midi regions is no longer frame based.
2016-11-11rename Region pos_beats -> quarter_notenick_m
2016-11-11rename Region pulse to pos_beats. use new beat distance api where required.nick_m
- add more debugging output detecting regions whose beat and frame position do not align on a playlist. this is required as a check as we have never used frame rounding on constant tempi before 8884a5723dc
2016-10-01Region pulse is no longer a property.nick_m
2016-08-31Add a pulse property to region.nick_m
- separates ardour beat (meter-based) and note (pulse-based) musical position.
2016-07-23Make Region's _beat a PBD::Property.nick_m
- fixes incorrect beat setting on undo for various region operations.
2016-07-10remove reference "const int32_t&" -> const int32_t"Robin Gareus
this simplifies lua-bindings and also let's the compiler worry about constant primitive types.
2016-07-10Paste uses exact beats. rework _start_beats calculation in copy-with-offset ↵nick_m
ctor.
2016-07-10Exact beat - provide audio->music mapping for region split.nick_m
- for those not in the know, this series provides a way to remove the temporal distortion introduced when using an audio frame-based gui for music-locked objects. In short, the gui uses an audio frame representation to move objects. It displays the object using frame_at_beat(), quantizing the time value to audio frames. This is fine until the user selects that frame but expects it to be interpreted as a beat. Thus beat_at_frame() would not produce the user-expected beat (temporal quantization error of up to 0.5 audio samples). This is one method of mapping audio time to music time accurately.
2016-07-10Make some musical operations on music-locked regions operate in beats.nick_m
- use exact beats to determine frame position. - see comments in tempo.cc for more. - this hasn't been done for split yet, but dragging and trimming are supported.
2016-06-28changes in logic used by source cleanup to avoid endless recursion in ↵Paul Davis
sessions with deeply nested/recursive compound regions. This also fixes some potentially dangerous cleanup logic related to two sources with the same name (but different paths)
2016-06-11Fix many offset errors when drawing notes in midi regions that have been edited.nick_m
- hopefully this can close bugs such as 6270 & 6793
2016-05-27Rwbi ramps - midi regions resize when tempo map changed.nick_m
2016-05-27Tempo ramps - update midi regions and locations when dragging tempo.nick_m
- also make locations and regions use a double beat rather than bbt for musical position.
2016-05-01various transient-detection fixes (split region, trim, move, undo,..)Robin Gareus
* all API calls use session-time (allow region-lists) * per-region transients are separated in - Onset (Rhythm Rodent, Aubio) - User-added - internal/source (QM), used as fallback for next/prev (read-only)
2016-03-19remove cruftRobin Gareus
2015-11-14Ardour::Region - add method required to fix #6673.nick_m
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2014-11-18Fix Region::verify_length() so it actually does something.David Robillard
2014-07-10add libardour infrastructure for "fade range" edit operationPaul Davis
2013-12-27merge exportvis branch into cairocanvas, to reduce the number of "floating" ↵Paul Davis
branches. Still need to add API export/visibility macros for the canvas library.
2013-10-17get everything compiling with libardour built using -fvisibility=hiddenPaul Davis
2013-10-17add export visibility macros across libardourPaul Davis
2013-04-24many pervasive changes primarily related to waveform drawing, particular ↵Paul Davis
content-dragging, colors, and more
2013-04-11enable videotimeline by defaultRobin Gareus
2013-03-13videotimlineRobin Gareus
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
2013-01-04allow region list selection of whole file regions to select every instance ↵Paul Davis
of a region that has any source relationship with that whole file region (from a logic feature that came up while writing the manual) git-svn-id: svn://localhost/ardour2/branches/3.0@13779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-09-08I think Region::can_move() should take into account _lockedCarl Hetherington
as well as the never-used (apart from ImageFrameView) _position_locked. Fixes #5090. git-svn-id: svn://localhost/ardour2/branches/3.0@13179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10trim a single other region when adjusting xfade lengthPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12241 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16Fairly major change to the way in which crossfades are handled;Carl Hetherington
they are now done with region fades, rather than separate objects. After this commit, Ardour will try to convert your session files to the new crossfade format, but will make a backup in your session folder first. If you have works in progress using Ardour 3 it is ***STRONGLY RECOMMENDED*** that you back up session files before updating to this commit. git-svn-id: svn://localhost/ardour2/branches/3.0@11986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-15Update MidiRegion::_start_beats on trimming the front of a MIDI region; ↵Carl Hetherington
reset _start_beats with _start on MidiRegion::fix_negative_start(). May help with #4736. git-svn-id: svn://localhost/ardour2/branches/3.0@11984 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-14Fix a few framecnt / framepos type confusions.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11975 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-14Fix a few return types.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11974 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-30Set up layering_index immediately on an explicit layer, so that undoCarl Hetherington
works properly. Stop the layer being a stateful property, as it is always derived from layering_index, unambigiously, by relayer(). git-svn-id: svn://localhost/ardour2/branches/3.0@11120 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-29Revert internals of the last layering-related commit, and go back a ↵Carl Hetherington
slightly-cleaned-up version of how it was before. Remove all layering modes; only option now is add-is-higher. Move-add-higher could easily be re-added if anyone uses it. git-svn-id: svn://localhost/ardour2/branches/3.0@11111 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27Re-work layering in possibly debatable ways. Sketchy docs in doc/layering.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-17Remove unused code.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11015 d708f5d6-7413-0410-9779-e7cbd77b26cf