summaryrefslogtreecommitdiff
path: root/libs/ardour/session_playlists.cc
AgeCommit message (Collapse)Author
2020-02-28Bail out if Playlist cannot be createdRobin Gareus
This prevents later crashes. Tracks cannot exist without a playlist.
2019-12-17Convert Disksteam & Playlists from old 2.x sessionsRobin Gareus
2019-09-18NO-OP: fix some Wimplicit-fallthroughRobin Gareus
gcc can recognize various regexps in comments. Since C++17 provides [[fallthrough]], using /* fallthrough */ consistently seems appropriate until we switch to C++17. see also https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2019-03-19Fix incorrectly saved un-used playlistsRobin Gareus
This addresses issues with session-cleanup and region-cleanup in some sessions. The root-cause why some unused playlists were saved in the session XML under <Playlists> and not <UnusedPlaylists> is not known. Early 6.0-pre did incorrect reference counting, but also older sessions had this issue. Perhaps due to ambiguities of matching playlists by name in 5.x or session-format changes 3.x .. 5.x.
2019-03-19Add convenience methods (mainly for scripting)Robin Gareus
2018-10-26Fix some Wimplicit-fallthroughRobin Gareus
A "fall through" comment is most portable way to indicate "no break, fallthru" cases. * __attribute__ ((fallthrough)) // is not portable * [[fallthrough]]; // is C++17
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-01-05Proposed fix managing shared playlists (see #7150)Julien ROGER
Actually, when duplicating a track with "share playlist", the current playlist is owned by the new created track(orig-track-id). The sharing mecanism is made by diskstreams pointing on the same(shared) playlist. Since playlist now owned by the new track, selecting another playlist in the original track "forgets" the playlist for this track.You can't select the shared playlist anymore from the original track. This commit adds a way to keep trace of shared playlist between tracks.
2016-10-10Wrong iterator used with IDSortedListJohn Emmas
2016-10-10Fix order of Playlist XML nodes changing on Session save, bug #7053Tim Mayberry
Playlists in SessionPlaylists are sorted by pointer/address which means the order they are written in the Session XML file usually changes the first time the Session is re-saved. Sort the Playlists by PBD::ID before iterating and writing XML so that playlists are always written in the same order.
2016-10-10Fix indentation in SessionPlaylists::add_state()Tim Mayberry
2016-09-23add an option to exclude unused Audio Sources when archiving the sessionRobin Gareus
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-06-28remove debug output and add a few suggestive commentsPaul Davis
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)
2015-11-21cont'd 20262abe (keep all playlists)Robin Gareus
2015-11-21prepare "delete all playlists" cleanup optionRobin Gareus
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2013-08-04'libs/ardour' - Use 'const_iterator' where appropriate (required to be ↵John Emmas
buildable with MSVC)
2012-11-12fix for #5078 - not considering unused playlists when computing region use countPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13452 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-05-24Remove over 500 unnecessary includes (including 54 of session.h).David Robillard
It's slightly possible that this causes trivial build failures on different configurations, but otherwise shouldn't cause any problems (i.e. no actual changes other than include/naming/namespace stuff). I deliberately avoided removing libardour-config.h since this can mysteriously break things, though a few of those do seem to be unnecessary. This commit only targets includes of ardour/*.h. There is also a very large number of unnecessary includes of stuff in gtk2_ardour; tackling that should also give a big improvement in build time when things are modified. git-svn-id: svn://localhost/ardour2/branches/3.0@12420 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-09-05Add option to insert time on all a track's playlists (#4304).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10054 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-02Remove playlists from the session lists when they DropReferences. Should ↵Carl Hetherington
fix #4023. git-svn-id: svn://localhost/ardour2/branches/3.0@9460 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-01improve, cleanup, rationalize Session::cleanup_sources() and supporting ↵Paul Davis
infrastructure git-svn-id: svn://localhost/ardour2/branches/3.0@9015 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-20region list displays actual playlist use count for each region, rather than ↵Paul Davis
a GUI-based count git-svn-id: svn://localhost/ardour2/branches/3.0@7814 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-14Fix restoration of MementoCommand<Crossfade>. Fixes #3418.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7771 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-23midway snapshot of work done on managing Region & Source lifetimes ↵Paul Davis
correctly. may fix missing MIDI file bug ; save empty playlists because they may be referred to by the history file ; undo commands auto-delete when objects they refer to die (currently not commands built from XML deserialization); Sources now know how many regions are using them for something, meaning that we know if we can delete the files holding any data for the source git-svn-id: svn://localhost/ardour2/branches/3.0@7291 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-02the mega-properties/SequenceProperty patch. split is broken at present ↵Paul Davis
(right hand starts has start-in-source of zero) git-svn-id: svn://localhost/ardour2/branches/3.0@6718 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22cleanup up cleanup at session destruction; clarify the meaning of 3 signals ↵Paul Davis
(DropReferences & Destroyed in libardour ; CatchDeletion in the GTK UI); clarify ownership of objects (session no longer pays attention to DropReferences for objects that it is considered to own, such as routes, sources, etc); fix up MIDI parsing and a couple of other places by correcting syntax for return of values from a boost::signals2::signal (possible danger elsewhere to be checked) git-svn-id: svn://localhost/ardour2/branches/3.0@6389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21fully implement and deploy explicit x-thread signal connection syntax ↵Paul Davis
(testing comes next) git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19use new syntax for connecting to backend signals that enforces explicit ↵Paul Davis
connection scope, plus a few other related matters git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17switch to using boost::signals2 instead of sigc++, at least for libardour. ↵Paul Davis
not finished yet, but compiles, loads sessions, records and can close a session without a crash git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-12remove using namespace sigc everywhere to ensure clarity over which ↵Paul Davis
bind/mem_fun is being used; make Config::map_parameters take a boost::function rather than a sigc::slot ; continue debugging crash caused by regionviews not tracking their Region's lifetime git-svn-id: svn://localhost/ardour2/branches/3.0@6357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-03GPL boilerplate.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@6272 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-03Add missing files.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@6271 d708f5d6-7413-0410-9779-e7cbd77b26cf