13
0
Go to file
Robin Gareus 7f862298cf
Fix loading playlists of old sessions
Previously when loading Ardour v2, v3-5 sessions, tracks were
created with a dummy name "toBeResetFroXML".

In v6, Track::init() creates a playlist when the track name is
not empty. Later Track::set_state() calls set_name(). When a
playlist exists, the playlist's name is set to match the track's name.

When loading v6 sessions none of this happens. A previously loaded
playlist will be assigned by ID.

Older versions identified Playlists by name and by the time the
playlist is assigned, there may be ambiguities. With the default
(track-name = playlist-name) two playlists with the same name exist:

 (1) the playlist loaded from the session file
 (2) the playlist created by Track::init()

Playlists are stored in an ordered std::set<shared_ptr<Playlist>>,
and name-lookup iterates over the set.

When loading an old session after starting Ardour, it is very
likely to always lookup the playlist (1), because new, later
allocations from (2) are on top of the heap and ordered last.

The session seemingly loads correctly, except for lingering,
unused empty playlists "toBeResetFroXML" renamed to "Track name"
that were never deleted.

However when loading an old session from a running instance,
ordering is mostly random, and many tracks end up with using
the empty playlist (2) instead of the correct playlist (1).
2020-03-15 13:34:13 +01:00
doc Update doxygen doc 2020-03-02 17:58:03 +01:00
gtk2_ardour Update GUI: freeze operation error/warnings 2020-03-14 13:25:54 +01:00
headless Fix cross-compile linking (arm-linux ld) 2020-02-14 00:20:45 +01:00
libs Fix loading playlists of old sessions 2020-03-15 13:34:13 +01:00
msvc_extra_headers Update 'CURRENT_SESSION_FILE_VERSION' for our MSVC builds 2020-03-14 11:23:26 +00:00
MSVCardour3 Add/remove source(s) in our MSVC project (gtk2_ardour) 2020-02-18 11:21:38 +00:00
MSVCMixbus3
MSVCvst_scan
nutemp
session_utils Fix cross-compile linking (arm-linux ld) 2020-02-14 00:20:45 +01:00
share Fix typo in script 2020-03-15 11:24:55 +01:00
tools Allow to bundle gdb with optimized windows builds 2020-03-08 23:34:20 +01:00
us2400
vst
.dir-locals.el
.gitattributes
.gitignore Update gitignore, clean up git status 2020-02-23 21:11:47 +01:00
ardour.1
ardour.1.es
ardour.1.fr
ardour.1.ru
COPYING
instant.xml.sae
msvc32-fixup.pl
PACKAGER_README
README
README-GITHUB.txt
system_config
testfile.flac
testfile.ogg
TRANSLATORS
waf Update waf to v2.0.19 2020-01-25 04:07:41 +01:00
wscript Fix optimized mingw/gcc-8.2 builds 2020-03-10 20:55:50 +01:00

Please see the Ardour web site at http://ardour.org/ for all documentation..

For information on building ardour: 
      
     http://ardour.org/development.html