Convert Diskstream/Playlist from A5 session format
This commit is contained in:
parent
27b02b672a
commit
33811b51b2
@ -20,6 +20,7 @@
|
||||
#include "ardour/amp.h"
|
||||
#include "ardour/audioengine.h"
|
||||
#include "ardour/audiofilesource.h"
|
||||
#include "ardour/audioplaylist.h"
|
||||
#include "ardour/audioregion.h"
|
||||
#include "ardour/debug.h"
|
||||
#include "ardour/delivery.h"
|
||||
@ -28,6 +29,7 @@
|
||||
#include "ardour/event_type_map.h"
|
||||
#include "ardour/io_processor.h"
|
||||
#include "ardour/meter.h"
|
||||
#include "ardour/midi_playlist.h"
|
||||
#include "ardour/midi_region.h"
|
||||
#include "ardour/monitor_control.h"
|
||||
#include "ardour/playlist.h"
|
||||
@ -172,22 +174,33 @@ Track::set_state (const XMLNode& node, int version)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (version >= 3000 && version < 6000) {
|
||||
if (XMLNode* ds_node = find_named_node (node, "Diskstream")) {
|
||||
std::string name;
|
||||
if (ds_node->get_property ("name", name)) {
|
||||
|
||||
ds_node->set_property ("active", true);
|
||||
|
||||
_disk_writer->set_state (*ds_node, version);
|
||||
_disk_reader->set_state (*ds_node, version);
|
||||
|
||||
AlignChoice ac;
|
||||
if (ds_node->get_property (X_("capture-alignment"), ac)) {
|
||||
set_align_choice (ac, true);
|
||||
}
|
||||
|
||||
if (boost::shared_ptr<AudioPlaylist> pl = boost::dynamic_pointer_cast<AudioPlaylist> (_session.playlists->by_name (name))) {
|
||||
use_playlist (DataType::AUDIO, pl);
|
||||
}
|
||||
|
||||
if (boost::shared_ptr<MidiPlaylist> pl = boost::dynamic_pointer_cast<MidiPlaylist> (_session.playlists->by_name (name))) {
|
||||
use_playlist (DataType::MIDI, pl);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
XMLNode* child;
|
||||
|
||||
if (version >= 3000 && version < 4000) {
|
||||
if ((child = find_named_node (node, X_("Diskstream"))) != 0) {
|
||||
/* XXX if we remember anything from stored DiskStream
|
||||
state (older Ardour versions) that is needed by a
|
||||
DiskReader or DiskWriter, we should cook up a new
|
||||
XMLNode here, populate it with that information
|
||||
(child nodes, properties, etc.) and then call
|
||||
::set_state() on the writer/reader.
|
||||
|
||||
But at present (June 2017), there's no such state.
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
std::string playlist_id;
|
||||
|
||||
if (node.get_property (X_("audio-playlist"), playlist_id)) {
|
||||
|
Loading…
Reference in New Issue
Block a user