summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/playlist.h
AgeCommit message (Collapse)Author
2016-01-28Add Playlist::duplicate_range/s utility methodsTim Mayberry
2015-12-02Add function to duplicate until a certain frame.André Nusser
This excludes the 'end' frame.
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-09-20fix duplicating multiple selected regions - fixes #6202André Nusser
2014-07-23Cut and Copy should remember the white space at the end of a range.Ben Loftis
This will be used when you paste with Ripple; it maintains the whitespace that you chose in the selection. Also fix default setting of Dim contol by storing the default(normal) value for MPControl Controllables.
2014-07-10add libardour infrastructure for "fade range" edit operationPaul Davis
2014-05-07Ripple mode: basic implementationColin Fletcher
Add a value for Ripple to EditMode enum. Add Ripple edit mode to edit mode dropdown, by adding it to the Editor::build_edit_mode_menu() helper function, and remove the old code that added items to the (now unused) Editor::edit_mode_strings. Add the regions that should be affected by the drag to RegionDrag::_views so that the drag carries them along automatically. Use a copy of the RegionList in Playlist::core_ripple(), since bad things happen when iterating over regions and they get moved around in the list. Handle rippling in removal of regions from playlist. When dragging in ripple mode, exclude all regions that lie before the original start position of the selected regions being dragged from rippling: this is what Mixbus does. Make editor dragging respect snap-to settings, by using the existing compute_x_delta() function, which did almost the right thing. Move setting of _last_frame_position out of that function so all ripple-dragged regions can move. Ripple when dragging from region list: even though Mixbus doesn't do this, it seems like a good idea. Prevent multi-track selection being dragged across tracks, by making RegionMotionDrag::y_movement_allowed() virtual, and overriding it in RegionRippleDrag to forbid dragging of selections containing regions on more than one track to dofferent tracks in ripple mode. Remember which TimeAxisView a ripple-mode drag that's allowed cross-track drags started from, so that the effect of rippling regions after any region that's dragged off that track can be undone.
2013-10-18Merge remote-tracking branch 'remotes/origin/exportvis' into windows+ccJohn Emmas
Conflicts (hopefully resolved): gtk2_ardour/wscript libs/ardour/ardour/audioregion.h libs/ardour/ardour/debug.h libs/ardour/ardour/directory_names.h libs/ardour/ardour/filesystem_paths.h libs/ardour/ardour/session_event.h libs/gtkmm2ext/gtkmm2ext/utils.h libs/panners/1in2out/wscript libs/panners/2in2out/wscript libs/panners/vbap/wscript libs/pbd/pbd/debug.h libs/pbd/pbd/file_utils.h libs/pbd/pbd/pathexpand.h libs/pbd/pbd/ringbuffer.h libs/pbd/pbd/ringbufferNPT.h libs/pbd/pbd/search_path.h libs/pbd/pbd/stacktrace.h libs/pbd/pbd/uuid.h libs/pbd/pbd/uuid_boost.h libs/surfaces/control_protocol/control_protocol/basic_ui.h libs/surfaces/control_protocol/control_protocol/control_protocol.h
2013-10-17get everything compiling with libardour built using -fvisibility=hiddenPaul Davis
2013-10-17add export visibility macros across libardourPaul Davis
2013-08-04'libs/ardour' - Main body of changes required for building with MSVCJohn Emmas
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-12-13crossfade hack and slash. removed overlap checks, overlap mode, default ↵Ben Loftis
length, fade_is_xfade, fade_is_short, and other leftovers from previous crossfade models. Draw crossfade drags in realtime so fade_line is no longer needed. remove code for hiding crossfades during a drag. moved crossfade rect to top layer so crossfade lines dont grab mouse focus. drag-trim-with-fixed-fade-anchor is partially implemented and needs discussion git-svn-id: svn://localhost/ardour2/branches/3.0@13659 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25convert from Glib:: to Glib::Threads for all thread-related APIPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-01When we rename a track, only rename its playlist if itCarl Hetherington
has never contained any regions (#4759). git-svn-id: svn://localhost/ardour2/branches/3.0@12525 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24always create short xfades when adding a region based on capturePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12443 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24remove old RECMUTEX conditionalPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12441 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24Compile cleanly with clang.David Robillard
To compile Ardour with LLVM/clang, do the usual thing but set the CXX and CC environment variables, e.g.: CC=/usr/bin/clang CXX=/usr/bin/clang++ ./waf configure build git-svn-id: svn://localhost/ardour2/branches/3.0@12418 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-16let's do this right if we're going to do it at all ..Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12302 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-16switch to a RWLock for Playlist, to allow simultaneous reads (which can ↵Paul Davis
happen occasionally, eg. peak and butler threads) git-svn-id: svn://localhost/ardour2/branches/3.0@12301 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-01remove recursive mutex from Playlist, replace with private regular mutex, ↵Paul Davis
force everyone to use Playlist::RegionLock to allow checking on lock handling if necessary; fix recursive use of lock in AudioPlaylist::read() git-svn-id: svn://localhost/ardour2/branches/3.0@12131 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-27Crossfades: default xfades are now constant-power, -3dB rule, other options ↵Paul Davis
are constant power(-6dB) rule or use existing region fade shape as is; provide GUI control over options; fix some inconsistent behaviour regarding xfades when relayering git-svn-id: svn://localhost/ardour2/branches/3.0@12113 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26Use Glib::Threads::RecMutex rather than Glib::RecMutex whereCarl Hetherington
available; the latter is deprecated and there is some evidence to suggest that it is broken on some glibmm versions (around 2.31.0 ish) See, for example https://github.com/lightspark/lightspark/issues/168 git-svn-id: svn://localhost/ardour2/branches/3.0@12094 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-02Remove some unused stuff.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11782 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-27promote Playlist::RegionList to ARDOUR::RegionList; fix timefx on multiple ↵Paul Davis
regions, even regions of mixed type. this mostly involved some trivial code changes but to make the code simpler and less error prone, the API switched away from using RegionSelection (list of regionviews that catches regionviews vanishing) and used RegionList (lists of regions, no semantics) instead. git-svn-id: svn://localhost/ardour2/branches/3.0@11362 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-04Use a few shared_ptrs to make things slightly neater.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11156 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-30Anywhere that deletes regions needs to use a rdiff() on the playlistCarl Hetherington
for the undo history, so that changes to regions' layering_index get stored in the undo record. Make Playlist::update use add_region_internal so that undone regions don't have their layering_index corrupted. Setup layering indices on relayer() so that deletion of regions causes an update. git-svn-id: svn://localhost/ardour2/branches/3.0@11123 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-28Remove unused variable.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11101 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27Fix up confusion with relayering after movement drags inCarl Hetherington
overlaid mode. git-svn-id: svn://localhost/ardour2/branches/3.0@11092 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-20Now that notify_length_changed() just callsCarl Hetherington
ContentsChanged, its callers can be removed or changed to just notify_contents_changed. git-svn-id: svn://localhost/ardour2/branches/3.0@11024 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-20Remove LengthChanged that no-one was listening to.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11023 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-13fix up mess with unassigned Playlist::orig_track_idPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10998 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-10fix for most (all? we can dream ...) issues involved in #4399 (editing ↵Paul Davis
multiply-applies operations to playlists used more than once), and as a side-issue, fix playlist selection which broke when we hid Diskstreams inside Tracks by using orig_track_id() rather than orig_diskstream_id() git-svn-id: svn://localhost/ardour2/branches/3.0@10968 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-24Remove unused read/write data count code.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10300 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01Fix broken whitespace. I'd apologize for the compile times if it was my ↵David Robillard
fault :D git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-30remove unused and useless "src" argument for a number of Region property ↵Paul Davis
modifying methods git-svn-id: svn://localhost/ardour2/branches/3.0@9632 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-26turn off relevant fade in/out before creating peakfiles for compound region ↵Paul Davis
sources git-svn-id: svn://localhost/ardour2/branches/3.0@9596 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-26move session file storage of nested sources from playlist into region, and ↵Paul Davis
reload them within Session::XMLRegionFactory, just before we create the region that uses the nested source git-svn-id: svn://localhost/ardour2/branches/3.0@9595 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-25logic to copy audio region fade in/fade out into compound regions (one-way ↵Paul Davis
for now) git-svn-id: svn://localhost/ardour2/branches/3.0@9588 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-25correct the logic used when building a compound region to include a ↵Paul Davis
whole-file (whole-source) region as a parent for the region list git-svn-id: svn://localhost/ardour2/branches/3.0@9584 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-25change region selection after a combine opPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9580 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-22basic uncombining (no post-facto region trimming)Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9566 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-17not actually working attempt to copy relevant xfades into compound regions; ↵Paul Davis
fix compilation issues with an earlier commit git-svn-id: svn://localhost/ardour2/branches/3.0@9544 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-16track combine ops per-playlist to avoid name collisions for compound regionsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9529 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-16rename join regions op as combine regions; save and restore nested ↵Paul Davis
playlists, sources, regions; add undo/redo for combine; fixup peakfile use/discovery git-svn-id: svn://localhost/ardour2/branches/3.0@9528 d708f5d6-7413-0410-9779-e7cbd77b26cf