summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2009-10-15 00:57:55 +0000
committerCarl Hetherington <carl@carlh.net>2009-10-15 00:57:55 +0000
commit79f91c7a205d981d2b8cc15e32a6da02d8423065 (patch)
treef27dd8319522be8321720ef3560c2207dd56b158 /libs/ardour/ardour
parent09efd82c6aea973e3eb9497ef2b09256bf5ddde4 (diff)
Part 1 of loading 2.X sessions; some things work, some things don't, hacks a-plenty.
LOADING 2.X SESSIONS WITH THIS COMMIT IN PLACE WILL (PROBABLY) CORRUPT THE .ardour FILE, MAKING THE SESSION UNLOADABLE ON 2.X AND LOSING INFORMATION. So don't do that unless you make a backup of the session file first. git-svn-id: svn://localhost/ardour2/branches/3.0@5786 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/amp.h2
-rw-r--r--libs/ardour/ardour/audio_diskstream.h2
-rw-r--r--libs/ardour/ardour/audio_track.h8
-rw-r--r--libs/ardour/ardour/audiofilesource.h2
-rw-r--r--libs/ardour/ardour/audioplaylist.h2
-rw-r--r--libs/ardour/ardour/audioregion.h2
-rw-r--r--libs/ardour/ardour/audiosource.h2
-rw-r--r--libs/ardour/ardour/automation_list.h4
-rw-r--r--libs/ardour/ardour/configuration.h2
-rw-r--r--libs/ardour/ardour/control_protocol_manager.h2
-rw-r--r--libs/ardour/ardour/crossfade.h2
-rw-r--r--libs/ardour/ardour/delivery.h2
-rw-r--r--libs/ardour/ardour/diskstream.h4
-rw-r--r--libs/ardour/ardour/file_source.h2
-rw-r--r--libs/ardour/ardour/internal_return.h2
-rw-r--r--libs/ardour/ardour/internal_send.h4
-rw-r--r--libs/ardour/ardour/io.h13
-rw-r--r--libs/ardour/ardour/io_processor.h4
-rw-r--r--libs/ardour/ardour/ladspa_plugin.h3
-rw-r--r--libs/ardour/ardour/location.h6
-rw-r--r--libs/ardour/ardour/midi_diskstream.h2
-rw-r--r--libs/ardour/ardour/midi_model.h8
-rw-r--r--libs/ardour/ardour/midi_playlist.h2
-rw-r--r--libs/ardour/ardour/midi_region.h2
-rw-r--r--libs/ardour/ardour/midi_source.h2
-rw-r--r--libs/ardour/ardour/midi_track.h8
-rw-r--r--libs/ardour/ardour/mute_master.h2
-rw-r--r--libs/ardour/ardour/named_selection.h2
-rw-r--r--libs/ardour/ardour/panner.h13
-rw-r--r--libs/ardour/ardour/playlist.h2
-rw-r--r--libs/ardour/ardour/plugin_insert.h4
-rw-r--r--libs/ardour/ardour/port_insert.h4
-rw-r--r--libs/ardour/ardour/processor.h7
-rw-r--r--libs/ardour/ardour/rc_configuration.h2
-rw-r--r--libs/ardour/ardour/region.h2
-rw-r--r--libs/ardour/ardour/return.h2
-rw-r--r--libs/ardour/ardour/route.h13
-rw-r--r--libs/ardour/ardour/route_group.h7
-rw-r--r--libs/ardour/ardour/send.h4
-rw-r--r--libs/ardour/ardour/session.h12
-rw-r--r--libs/ardour/ardour/session_configuration.h2
-rw-r--r--libs/ardour/ardour/session_metadata.h2
-rw-r--r--libs/ardour/ardour/smf_source.h2
-rw-r--r--libs/ardour/ardour/source.h4
-rw-r--r--libs/ardour/ardour/tempo.h2
-rw-r--r--libs/ardour/ardour/track.h4
-rw-r--r--libs/ardour/ardour/user_bundle.h2
47 files changed, 100 insertions, 88 deletions
diff --git a/libs/ardour/ardour/amp.h b/libs/ardour/ardour/amp.h
index f0a65c4ef5..3cd1bf13dd 100644
--- a/libs/ardour/ardour/amp.h
+++ b/libs/ardour/ardour/amp.h
@@ -55,7 +55,7 @@ public:
void apply_gain_automation(bool yn) { _apply_gain_automation = yn; }
XMLNode& state (bool full);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
static void apply_gain (BufferSet& bufs, nframes_t nframes, gain_t initial, gain_t target);
static void apply_simple_gain(BufferSet& bufs, nframes_t nframes, gain_t target);
diff --git a/libs/ardour/ardour/audio_diskstream.h b/libs/ardour/ardour/audio_diskstream.h
index a8072695ff..507b148d82 100644
--- a/libs/ardour/ardour/audio_diskstream.h
+++ b/libs/ardour/ardour/audio_diskstream.h
@@ -126,7 +126,7 @@ class AudioDiskstream : public Diskstream
/* stateful */
XMLNode& get_state(void);
- int set_state(const XMLNode& node);
+ int set_state(const XMLNode& node, int version = 3000);
void monitor_input (bool);
diff --git a/libs/ardour/ardour/audio_track.h b/libs/ardour/ardour/audio_track.h
index bdbc4b8165..585d1a1e72 100644
--- a/libs/ardour/ardour/audio_track.h
+++ b/libs/ardour/ardour/audio_track.h
@@ -33,7 +33,7 @@ class AudioTrack : public Track
{
public:
AudioTrack (Session&, std::string name, Route::Flag f = Route::Flag (0), TrackMode m = Normal);
- AudioTrack (Session&, const XMLNode&);
+ AudioTrack (Session&, const XMLNode&, int);
~AudioTrack ();
int set_mode (TrackMode m);
@@ -55,12 +55,12 @@ class AudioTrack : public Track
boost::shared_ptr<Region> bounce (InterThreadInfo&);
boost::shared_ptr<Region> bounce_range (nframes_t start, nframes_t end, InterThreadInfo&, bool enable_processing);
- int set_state(const XMLNode& node);
+ int set_state(const XMLNode&, int version = 3000);
protected:
XMLNode& state (bool full);
-
- int _set_state (const XMLNode&, bool call_base);
+
+ int _set_state (const XMLNode&, int, bool call_base);
private:
int set_diskstream (boost::shared_ptr<AudioDiskstream>, void *);
diff --git a/libs/ardour/ardour/audiofilesource.h b/libs/ardour/ardour/audiofilesource.h
index 4da7943a2d..6b93ced905 100644
--- a/libs/ardour/ardour/audiofilesource.h
+++ b/libs/ardour/ardour/audiofilesource.h
@@ -72,7 +72,7 @@ public:
int setup_peakfile ();
XMLNode& get_state ();
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
bool can_truncate_peaks() const { return !destructive(); }
bool can_be_analysed() const { return _length > 0; }
diff --git a/libs/ardour/ardour/audioplaylist.h b/libs/ardour/ardour/audioplaylist.h
index 32fc77f2d6..25595def8c 100644
--- a/libs/ardour/ardour/audioplaylist.h
+++ b/libs/ardour/ardour/audioplaylist.h
@@ -50,7 +50,7 @@ class AudioPlaylist : public ARDOUR::Playlist
nframes_t read (Sample *dst, Sample *mixdown, float *gain_buffer, nframes_t start, nframes_t cnt, uint32_t chan_n=0);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
sigc::signal<void,boost::shared_ptr<Crossfade> > NewCrossfade;
diff --git a/libs/ardour/ardour/audioregion.h b/libs/ardour/ardour/audioregion.h
index ff718bb4b0..5e9031c897 100644
--- a/libs/ardour/ardour/audioregion.h
+++ b/libs/ardour/ardour/audioregion.h
@@ -107,7 +107,7 @@ class AudioRegion : public Region
virtual nframes_t read_raw_internal (Sample*, sframes_t, nframes_t, int channel) const;
XMLNode& state (bool);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
static void set_default_fade (float steepness, nframes_t len);
bool fade_in_is_default () const;
diff --git a/libs/ardour/ardour/audiosource.h b/libs/ardour/ardour/audiosource.h
index bc06642c33..eebd1dd5d9 100644
--- a/libs/ardour/ardour/audiosource.h
+++ b/libs/ardour/ardour/audiosource.h
@@ -79,7 +79,7 @@ class AudioSource : virtual public Source,
mutable sigc::signal<void,nframes_t,nframes_t> PeakRangeReady;
XMLNode& get_state ();
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
int rename_peakfile (Glib::ustring newpath);
void touch_peakfile ();
diff --git a/libs/ardour/ardour/automation_list.h b/libs/ardour/ardour/automation_list.h
index 9b899e8cd1..5f074385a3 100644
--- a/libs/ardour/ardour/automation_list.h
+++ b/libs/ardour/ardour/automation_list.h
@@ -79,8 +79,8 @@ class AutomationList : public PBD::StatefulDestructible, public Evoral::ControlL
void stop_touch ();
bool touching() const { return _touching; }
- XMLNode& get_state(void);
- int set_state (const XMLNode &s);
+ XMLNode& get_state ();
+ int set_state (const XMLNode &, int version = 3000);
XMLNode& state (bool full);
XMLNode& serialize_events ();
diff --git a/libs/ardour/ardour/configuration.h b/libs/ardour/ardour/configuration.h
index d00cadb179..bd164a08e9 100644
--- a/libs/ardour/ardour/configuration.h
+++ b/libs/ardour/ardour/configuration.h
@@ -34,7 +34,7 @@ class Configuration : public PBD::Stateful
virtual ~Configuration();
virtual void map_parameters (sigc::slot<void, std::string> s) = 0;
- virtual int set_state (XMLNode const &) = 0;
+ virtual int set_state (XMLNode const &, int) = 0;
virtual XMLNode & get_state () = 0;
virtual XMLNode & get_variables () = 0;
virtual void set_variables (XMLNode const &) = 0;
diff --git a/libs/ardour/ardour/control_protocol_manager.h b/libs/ardour/ardour/control_protocol_manager.h
index bceece9adf..d1f059dc62 100644
--- a/libs/ardour/ardour/control_protocol_manager.h
+++ b/libs/ardour/ardour/control_protocol_manager.h
@@ -70,7 +70,7 @@ struct ControlProtocolInfo {
void set_protocol_states (const XMLNode&);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
XMLNode& get_state (void);
private:
diff --git a/libs/ardour/ardour/crossfade.h b/libs/ardour/ardour/crossfade.h
index 577bee8257..8a7773c035 100644
--- a/libs/ardour/ardour/crossfade.h
+++ b/libs/ardour/ardour/crossfade.h
@@ -75,7 +75,7 @@ class Crossfade : public ARDOUR::AudioRegion
bool operator== (const ARDOUR::Crossfade&);
XMLNode& get_state (void);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
boost::shared_ptr<ARDOUR::AudioRegion> in() const { return _in; }
boost::shared_ptr<ARDOUR::AudioRegion> out() const { return _out; }
diff --git a/libs/ardour/ardour/delivery.h b/libs/ardour/ardour/delivery.h
index 9224d2755c..ef78c9bd45 100644
--- a/libs/ardour/ardour/delivery.h
+++ b/libs/ardour/ardour/delivery.h
@@ -89,7 +89,7 @@ public:
static sigc::signal<void,nframes_t> CycleStart;
XMLNode& state (bool full);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
/* Panning */
diff --git a/libs/ardour/ardour/diskstream.h b/libs/ardour/ardour/diskstream.h
index 6932913958..5427dc644d 100644
--- a/libs/ardour/ardour/diskstream.h
+++ b/libs/ardour/ardour/diskstream.h
@@ -130,8 +130,8 @@ class Diskstream : public SessionObject, public boost::noncopyable
/* Stateful */
virtual XMLNode& get_state(void) = 0;
- virtual int set_state(const XMLNode& node) = 0;
-
+ virtual int set_state(const XMLNode&, int version = 3000) = 0;
+
virtual void monitor_input (bool) {}
nframes_t capture_offset() const { return _capture_offset; }
diff --git a/libs/ardour/ardour/file_source.h b/libs/ardour/ardour/file_source.h
index 7844bb513a..5a9c2a9c56 100644
--- a/libs/ardour/ardour/file_source.h
+++ b/libs/ardour/ardour/file_source.h
@@ -46,7 +46,7 @@ public:
bool is_embedded () const { return _is_embedded; }
uint16_t channel() const { return _channel; }
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
int set_source_name (const Glib::ustring& newname, bool destructive);
diff --git a/libs/ardour/ardour/internal_return.h b/libs/ardour/ardour/internal_return.h
index 4d2839cb12..e896200c93 100644
--- a/libs/ardour/ardour/internal_return.h
+++ b/libs/ardour/ardour/internal_return.h
@@ -38,7 +38,7 @@ class InternalReturn : public Return
XMLNode& state(bool full);
XMLNode& get_state(void);
- int set_state(const XMLNode& node);
+ int set_state(const XMLNode&, int version = 3000);
void run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
bool configure_io (ChanCount in, ChanCount out);
diff --git a/libs/ardour/ardour/internal_send.h b/libs/ardour/ardour/internal_send.h
index ef7d3d3d54..d62be9eafa 100644
--- a/libs/ardour/ardour/internal_send.h
+++ b/libs/ardour/ardour/internal_send.h
@@ -38,8 +38,8 @@ class InternalSend : public Send
XMLNode& state(bool full);
XMLNode& get_state(void);
- int set_state(const XMLNode& node);
-
+ int set_state(const XMLNode& node, int version = 3000);
+
void run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
bool feeds (boost::shared_ptr<Route> other) const;
bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const;
diff --git a/libs/ardour/ardour/io.h b/libs/ardour/ardour/io.h
index 0be1493dbb..9a13ced942 100644
--- a/libs/ardour/ardour/io.h
+++ b/libs/ardour/ardour/io.h
@@ -137,7 +137,8 @@ class IO : public SessionObject, public Latent
virtual XMLNode& state (bool full);
XMLNode& get_state (void);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
+ int set_state_2X (const XMLNode&, int, bool);
static int disable_connecting (void);
static int enable_connecting (void);
@@ -156,6 +157,8 @@ class IO : public SessionObject, public Latent
static bool connecting_legal;
XMLNode *pending_state_node;
+ int pending_state_node_version;
+ bool pending_state_node_in;
/* three utility functions - this just seems to be simplest place to put them */
@@ -203,9 +206,11 @@ class IO : public SessionObject, public Latent
void bundle_changed (Bundle::Change);
- int get_port_counts (const XMLNode& node, ChanCount& n, boost::shared_ptr<Bundle>& c);
- int create_ports (const XMLNode&);
- int make_connections (const XMLNode&);
+ int get_port_counts (const XMLNode& node, int version, ChanCount& n, boost::shared_ptr<Bundle>& c);
+ int get_port_counts_2X (const XMLNode& node, int version, ChanCount& n, boost::shared_ptr<Bundle>& c);
+ int create_ports (const XMLNode&, int version);
+ int make_connections (const XMLNode&, int, bool);
+ int make_connections_2X (const XMLNode &, int, bool);
boost::shared_ptr<Bundle> find_possible_bundle (const std::string &desired_name);
diff --git a/libs/ardour/ardour/io_processor.h b/libs/ardour/ardour/io_processor.h
index dc376b9a42..fdb0429bca 100644
--- a/libs/ardour/ardour/io_processor.h
+++ b/libs/ardour/ardour/io_processor.h
@@ -72,8 +72,8 @@ class IOProcessor : public Processor
sigc::signal<void,IOProcessor*,uint32_t> AutomationChanged;
XMLNode& state (bool full_state);
- int set_state (const XMLNode&);
-
+ int set_state (const XMLNode&, int version = 3000);
+
protected:
boost::shared_ptr<IO> _input;
boost::shared_ptr<IO> _output;
diff --git a/libs/ardour/ardour/ladspa_plugin.h b/libs/ardour/ardour/ladspa_plugin.h
index 8128fccf94..b08f3e5afa 100644
--- a/libs/ardour/ardour/ladspa_plugin.h
+++ b/libs/ardour/ardour/ladspa_plugin.h
@@ -99,7 +99,7 @@ class LadspaPlugin : public ARDOUR::Plugin
bool parameter_is_toggled(uint32_t) const;
XMLNode& get_state();
- int set_state(const XMLNode& node);
+ int set_state (const XMLNode&, int version = 3000);
bool save_preset(std::string name);
bool has_editor() const { return false; }
@@ -133,6 +133,7 @@ class LadspaPlugin : public ARDOUR::Plugin
void init (void *mod, uint32_t index, nframes_t rate);
void run_in_place (nframes_t nsamples);
void latency_compute_run ();
+ int set_state_2X (const XMLNode&, int version = 3000);
};
class LadspaPluginInfo : public PluginInfo {
diff --git a/libs/ardour/ardour/location.h b/libs/ardour/ardour/location.h
index 2a583719cc..cbc0782a4a 100644
--- a/libs/ardour/ardour/location.h
+++ b/libs/ardour/ardour/location.h
@@ -71,7 +71,7 @@ class Location : public PBD::StatefulDestructible
}
Location (const Location& other);
- Location (const XMLNode&);
+ Location (const XMLNode&, int version = 3000);
Location* operator= (const Location& other);
bool locked() const { return _locked; }
@@ -125,7 +125,7 @@ class Location : public PBD::StatefulDestructible
XMLNode& cd_info_node (const std::string &, const std::string &);
XMLNode& get_state (void);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
private:
std::string _name;
@@ -155,7 +155,7 @@ class Locations : public PBD::StatefulDestructible
void clear_ranges ();
XMLNode& get_state (void);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
Location *get_location_by_id(PBD::ID);
Location* auto_loop_location () const;
diff --git a/libs/ardour/ardour/midi_diskstream.h b/libs/ardour/ardour/midi_diskstream.h
index 7035cdfd02..aab752d591 100644
--- a/libs/ardour/ardour/midi_diskstream.h
+++ b/libs/ardour/ardour/midi_diskstream.h
@@ -75,7 +75,7 @@ class MidiDiskstream : public Diskstream
/* stateful */
XMLNode& get_state(void);
- int set_state(const XMLNode& node);
+ int set_state(const XMLNode&, int version = 3000);
void monitor_input (bool);
diff --git a/libs/ardour/ardour/midi_model.h b/libs/ardour/ardour/midi_model.h
index 6ea4a4cd30..a5b0e36b26 100644
--- a/libs/ardour/ardour/midi_model.h
+++ b/libs/ardour/ardour/midi_model.h
@@ -69,8 +69,8 @@ public:
void operator()();
void undo();
-
- int set_state (const XMLNode&);
+
+ int set_state (const XMLNode&, int version = 3000);
XMLNode& get_state ();
void add(const boost::shared_ptr< Evoral::Note<TimeType> > note);
@@ -113,8 +113,8 @@ public:
void operator()();
void undo();
-
- int set_state (const XMLNode&);
+
+ int set_state (const XMLNode&, int version = 3000);
XMLNode& get_state ();
void change (const boost::shared_ptr<Evoral::Note<TimeType> > note,
diff --git a/libs/ardour/ardour/midi_playlist.h b/libs/ardour/ardour/midi_playlist.h
index 11c1288e92..dc315edb12 100644
--- a/libs/ardour/ardour/midi_playlist.h
+++ b/libs/ardour/ardour/midi_playlist.h
@@ -50,7 +50,7 @@ public:
nframes_t read (MidiRingBuffer<nframes_t>& buf,
nframes_t start, nframes_t cnt, uint32_t chan_n=0);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
bool destroy_region (boost::shared_ptr<Region>);
diff --git a/libs/ardour/ardour/midi_region.h b/libs/ardour/ardour/midi_region.h
index 50fc1516df..ddb3109ff6 100644
--- a/libs/ardour/ardour/midi_region.h
+++ b/libs/ardour/ardour/midi_region.h
@@ -68,7 +68,7 @@ class MidiRegion : public Region
NoteMode mode = Sustained) const;
XMLNode& state (bool);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
int separate_by_channel (ARDOUR::Session&, std::vector< boost::shared_ptr<Region> >&) const;
diff --git a/libs/ardour/ardour/midi_source.h b/libs/ardour/ardour/midi_source.h
index 7056748786..8a09aad6c8 100644
--- a/libs/ardour/ardour/midi_source.h
+++ b/libs/ardour/ardour/midi_source.h
@@ -91,7 +91,7 @@ class MidiSource : virtual public Source
mutable sigc::signal<void,sframes_t,nframes_t> ViewDataRangeReady;
XMLNode& get_state ();
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
bool length_mutable() const { return true; }
diff --git a/libs/ardour/ardour/midi_track.h b/libs/ardour/ardour/midi_track.h
index a4054e6b00..9f19c6590c 100644
--- a/libs/ardour/ardour/midi_track.h
+++ b/libs/ardour/ardour/midi_track.h
@@ -35,7 +35,7 @@ class MidiTrack : public Track
{
public:
MidiTrack (Session&, string name, Route::Flag f = Route::Flag (0), TrackMode m = Normal);
- MidiTrack (Session&, const XMLNode&);
+ MidiTrack (Session&, const XMLNode&, int);
~MidiTrack ();
int roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame,
@@ -59,7 +59,7 @@ public:
boost::shared_ptr<Region> bounce_range (
nframes_t start, nframes_t end, InterThreadInfo&, bool enable_processing);
- int set_state(const XMLNode& node);
+ int set_state(const XMLNode&, int version = 3000);
void midi_panic(void);
bool write_immediate_event(size_t size, const uint8_t* buf);
@@ -92,8 +92,8 @@ public:
protected:
XMLNode& state (bool full);
-
- int _set_state (const XMLNode&, bool call_base);
+
+ int _set_state (const XMLNode&, int, bool call_base);
private:
void write_out_of_band_data (
diff --git a/libs/ardour/ardour/mute_master.h b/libs/ardour/ardour/mute_master.h
index 1b06b4bf7c..39ad9ffd61 100644
--- a/libs/ardour/ardour/mute_master.h
+++ b/libs/ardour/ardour/mute_master.h
@@ -65,7 +65,7 @@ class MuteMaster : public AutomationControl
sigc::signal<void> MutePointChanged;
XMLNode& get_state();
- int set_state(const XMLNode& node);
+ int set_state(const XMLNode&, int version = 3000);
private:
AutomationList* _automation;
diff --git a/libs/ardour/ardour/named_selection.h b/libs/ardour/ardour/named_selection.h
index 2dcfbd131c..4911dd8c50 100644
--- a/libs/ardour/ardour/named_selection.h
+++ b/libs/ardour/ardour/named_selection.h
@@ -44,7 +44,7 @@ struct NamedSelection : public PBD::Stateful
XMLNode& get_state (void);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
static sigc::signal<void,NamedSelection*> NamedSelectionCreated;
};
diff --git a/libs/ardour/ardour/panner.h b/libs/ardour/ardour/panner.h
index c211aafc8c..6a435ec235 100644
--- a/libs/ardour/ardour/panner.h
+++ b/libs/ardour/ardour/panner.h
@@ -36,7 +36,6 @@
namespace ARDOUR {
-class Route;
class Session;
class Panner;
class BufferSet;
@@ -74,7 +73,7 @@ class StreamPanner : public sigc::trackable, public PBD::Stateful
sigc::signal<void> Changed; /* for position */
sigc::signal<void> StateChanged; /* for mute */
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
virtual XMLNode& state (bool full_state) = 0;
Panner & get_parent() { return parent; }
@@ -149,9 +148,9 @@ class EqualPowerStereoPanner : public BaseStereoPanner
static StreamPanner* factory (Panner&, Evoral::Parameter param);
static std::string name;
- XMLNode& state (bool full_state);
- XMLNode& get_state (void);
- int set_state (const XMLNode&);
+ XMLNode& state (bool full_state);
+ XMLNode& get_state (void);
+ int set_state (const XMLNode&, int version = 3000);
private:
void update ();
@@ -172,7 +171,7 @@ class Multi2dPanner : public StreamPanner
XMLNode& state (bool full_state);
XMLNode& get_state (void);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
/* old school automation loading */
@@ -229,7 +228,7 @@ public:
XMLNode& get_state (void);
XMLNode& state (bool full);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
static bool equivalent (pan_t a, pan_t b) {
return fabsf (a - b) < 0.002; // about 1 degree of arc for a stereo panner
diff --git a/libs/ardour/ardour/playlist.h b/libs/ardour/ardour/playlist.h
index 56c755bebb..01bb12db8d 100644
--- a/libs/ardour/ardour/playlist.h
+++ b/libs/ardour/ardour/playlist.h
@@ -124,7 +124,7 @@ class Playlist : public SessionObject,
void foreach_region (sigc::slot<void, boost::shared_ptr<Region> >);
XMLNode& get_state ();
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
XMLNode& get_template ();
sigc::signal<void,bool> InUse;
diff --git a/libs/ardour/ardour/plugin_insert.h b/libs/ardour/ardour/plugin_insert.h
index 69b4ab1f8f..82111a5a4d 100644
--- a/libs/ardour/ardour/plugin_insert.h
+++ b/libs/ardour/ardour/plugin_insert.h
@@ -45,14 +45,14 @@ class PluginInsert : public Processor
{
public:
PluginInsert (Session&, boost::shared_ptr<Plugin>);
- PluginInsert (Session&, const XMLNode&);
+ PluginInsert (Session&, const XMLNode&, int version = 3000);
~PluginInsert ();
static const std::string port_automation_node_name;
XMLNode& state(bool);
XMLNode& get_state(void);
- int set_state(const XMLNode&);
+ int set_state(const XMLNode&, int version = 3000);
void run (BufferSet& in, sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
void silence (nframes_t nframes);
diff --git a/libs/ardour/ardour/port_insert.h b/libs/ardour/ardour/port_insert.h
index 18f54b0216..73dacf7d68 100644
--- a/libs/ardour/ardour/port_insert.h
+++ b/libs/ardour/ardour/port_insert.h
@@ -44,12 +44,12 @@ class PortInsert : public IOProcessor
{
public:
PortInsert (Session&, boost::shared_ptr<MuteMaster> mm);
- PortInsert (Session&, boost::shared_ptr<MuteMaster> mm, const XMLNode&);
+ PortInsert (Session&, boost::shared_ptr<MuteMaster> mm, const XMLNode&, int version = 3000);
~PortInsert ();
XMLNode& state(bool full);
XMLNode& get_state(void);
- int set_state(const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
void run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
diff --git a/libs/ardour/ardour/processor.h b/libs/ardour/ardour/processor.h
index 21b7966fba..1e78777edd 100644
--- a/libs/ardour/ardour/processor.h
+++ b/libs/ardour/ardour/processor.h
@@ -91,8 +91,8 @@ class Processor : public SessionObject, public AutomatableControls, public Laten
virtual XMLNode& state (bool full);
XMLNode& get_state (void);
- int set_state (const XMLNode&);
-
+ int set_state (const XMLNode&, int version = 3000);
+
void *get_gui () const { return _gui; }
void set_gui (void *p) { _gui = p; }
@@ -109,6 +109,9 @@ protected:
ChanCount _configured_input;
ChanCount _configured_output;
void* _gui; /* generic, we don't know or care what this is */
+
+private:
+ int set_state_2X (const XMLNode&, int version);
};
} // namespace ARDOUR
diff --git a/libs/ardour/ardour/rc_configuration.h b/libs/ardour/ardour/rc_configuration.h
index d12a9c63e7..d0dc042bb1 100644
--- a/libs/ardour/ardour/rc_configuration.h
+++ b/libs/ardour/ardour/rc_configuration.h
@@ -37,7 +37,7 @@ class RCConfiguration : public Configuration
RCConfiguration();
void map_parameters (sigc::slot<void, std::string>);
- int set_state (XMLNode const &);
+ int set_state (XMLNode const &, int version = 3000);
XMLNode& get_state ();
XMLNode& get_variables ();
void set_variables (XMLNode const &);
diff --git a/libs/ardour/ardour/region.h b/libs/ardour/ardour/region.h
index dab4f5df6f..d341489249 100644
--- a/libs/ardour/ardour/region.h
+++ b/libs/ardour/ardour/region.h
@@ -241,7 +241,7 @@ class Region
XMLNode& get_state ();
virtual XMLNode& state (bool);
- virtual int set_state (const XMLNode&);
+ virtual int set_state (const XMLNode&, int version = 3000);
virtual int set_live_state (const XMLNode&, Change&, bool send);
virtual boost::shared_ptr<Region> get_parent() const;
diff --git a/libs/ardour/ardour/return.h b/libs/ardour/ardour/return.h
index 1a33795a37..3232e93295 100644
--- a/libs/ardour/ardour/return.h
+++ b/libs/ardour/ardour/return.h
@@ -54,7 +54,7 @@ public:
XMLNode& state(bool full);
XMLNode& get_state(void);
- int set_state(const XMLNode& node);
+ int set_state(const XMLNode&, int version = 3000);
uint32_t pans_required() const { return _configured_input.n_audio(); }
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h
index 1ecdb51488..ac3c6f89f3 100644
--- a/libs/ardour/ardour/route.h
+++ b/libs/ardour/ardour/route.h
@@ -68,7 +68,7 @@ class Route : public SessionObject, public AutomatableControls
Route (Session&, std::string name, Flag flags = Flag(0),
DataType default_type = DataType::AUDIO);
- Route (Session&, const XMLNode&, DataType default_type = DataType::AUDIO);
+ Route (Session&, const XMLNode&, int, DataType default_type = DataType::AUDIO);
virtual ~Route();
boost::shared_ptr<IO> input() const { return _input; }
@@ -251,7 +251,7 @@ class Route : public SessionObject, public AutomatableControls
/* stateful */
XMLNode& get_state();
- int set_state(const XMLNode& node);
+ int set_state (const XMLNode&, int version = 3000);
virtual XMLNode& get_template();
XMLNode& get_processor_state ();
@@ -384,8 +384,8 @@ class Route : public SessionObject, public AutomatableControls
uint32_t pans_required() const;
ChanCount n_process_buffers ();
-
- virtual int _set_state (const XMLNode&, bool call_base);
+
+ virtual int _set_state (const XMLNode&, int, bool call_base);
boost::shared_ptr<Amp> _amp;
boost::shared_ptr<PeakMeter> _meter;
@@ -393,6 +393,8 @@ class Route : public SessionObject, public AutomatableControls
private:
void init ();
+ int _set_state_2X (const XMLNode&, int);
+ void set_processor_state_2X (XMLNodeList const &, int);
static uint32_t order_key_cnt;
@@ -407,7 +409,8 @@ class Route : public SessionObject, public AutomatableControls
int configure_processors (ProcessorStreams*);
int configure_processors_unlocked (ProcessorStreams*);
- bool add_processor_from_xml (const XMLNode&, ProcessorList::iterator iter);
+ bool add_processor_from_xml (const XMLNode&, ProcessorList::iterator iter);
+ bool add_processor_from_xml_2X (const XMLNode&, int, ProcessorList::iterator iter);
void placement_range (Placement p, ProcessorList::iterator& start, ProcessorList::iterator& end);
};
diff --git a/libs/ardour/ardour/route_group.h b/libs/ardour/ardour/route_group.h
index 194aa84582..124f3c9b3f 100644
--- a/libs/ardour/ardour/route_group.h
+++ b/libs/ardour/ardour/route_group.h
@@ -130,9 +130,9 @@ public:
sigc::signal<void,void*> FlagsChanged;
XMLNode& get_state ();
-
- int set_state (const XMLNode&);
-
+
+ int set_state (const XMLNode&, int version = 3000);
+
private:
Session& _session;
std::list<Route *> routes;
@@ -142,6 +142,7 @@ private:
Property _properties;
void remove_when_going_away (Route*);
+ int set_state_2X (const XMLNode&, int);
};
} /* namespace */
diff --git a/libs/ardour/ardour/send.h b/libs/ardour/ardour/send.h
index 6b872df9fe..13b7adbbf2 100644
--- a/libs/ardour/ardour/send.h
+++ b/libs/ardour/ardour/send.h
@@ -38,7 +38,7 @@ class Send : public Delivery
{
public:
Send (Session&, boost::shared_ptr<MuteMaster>, Delivery::Role r = Delivery::Send);
- Send (Session&, boost::shared_ptr<MuteMaster>, const XMLNode&, Delivery::Role r = Delivery::Send);
+ Send (Session&, boost::shared_ptr<MuteMaster>, const XMLNode&, int version = 3000, Delivery::Role r = Delivery::Send);
virtual ~Send ();
uint32_t bit_slot() const { return _bitslot; }
@@ -53,7 +53,7 @@ class Send : public Delivery
XMLNode& state(bool full);
XMLNode& get_state(void);
- int set_state(const XMLNode& node);
+ int set_state(const XMLNode&, int version = 3000);
uint32_t pans_required() const { return _configured_input.n_audio(); }
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index 5055ebc709..c5b793730c 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -305,7 +305,7 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
typedef std::list<boost::shared_ptr<Diskstream> > DiskstreamList;
- int load_routes (const XMLNode&);
+ int load_routes (const XMLNode&, int);
boost::shared_ptr<RouteList> get_routes() const {
return routes.reader ();
}
@@ -468,7 +468,7 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
static std::vector<std::string*>* possible_states (std::string path);
XMLNode& get_state();
- int set_state(const XMLNode& node); // not idempotent
+ int set_state(const XMLNode& node, int version = 3000); // not idempotent
XMLNode& get_template();
/// The instant xml file is written to the session directory
@@ -849,7 +849,7 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
public:
GlobalRouteStateCommand (Session&, void*);
GlobalRouteStateCommand (Session&, const XMLNode& node);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
XMLNode& get_state ();
protected:
@@ -899,7 +899,7 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
void operator()();
void undo();
XMLNode &get_state();
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
void mark();
protected:
@@ -1439,7 +1439,7 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
/* edit/mix groups */
- int load_route_groups (const XMLNode&);
+ int load_route_groups (const XMLNode&, int);
std::list<RouteGroup *> _route_groups;
@@ -1458,7 +1458,7 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
void add_routes (RouteList&, bool save);
uint32_t destructive_index;
- boost::shared_ptr<Route> XMLRouteFactory (const XMLNode&);
+ boost::shared_ptr<Route> XMLRouteFactory (const XMLNode&, int);
/* mixer stuff */
diff --git a/libs/ardour/ardour/session_configuration.h b/libs/ardour/ardour/session_configuration.h
index fc7af8c450..20e14f37d5 100644
--- a/libs/ardour/ardour/session_configuration.h
+++ b/libs/ardour/ardour/session_configuration.h
@@ -30,7 +30,7 @@ public:
SessionConfiguration ();
void map_parameters (sigc::slot<void, std::string>);
- int set_state (XMLNode const &);
+ int set_state (XMLNode const &, int version = 3000);
XMLNode& get_state ();
XMLNode& get_variables ();
void set_variables (XMLNode const &);
diff --git a/libs/ardour/ardour/session_metadata.h b/libs/ardour/ardour/session_metadata.h
index cfa1fb6f29..7813788e55 100644
--- a/libs/ardour/ardour/session_metadata.h
+++ b/libs/ardour/ardour/session_metadata.h
@@ -107,7 +107,7 @@ class SessionMetadata : public PBD::StatefulDestructible
/*** Serialization ***/
XMLNode & get_state ();
- int set_state (const XMLNode &);
+ int set_state (const XMLNode &, int version = 3000);
private:
diff --git a/libs/ardour/ardour/smf_source.h b/libs/ardour/ardour/smf_source.h
index 993a340a70..3c6364532a 100644
--- a/libs/ardour/ardour/smf_source.h
+++ b/libs/ardour/ardour/smf_source.h
@@ -58,7 +58,7 @@ public:
void mark_streaming_write_completed ();
XMLNode& get_state ();
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
void load_model (bool lock=true, bool force_reload=false);
void destroy_model ();
diff --git a/libs/ardour/ardour/source.h b/libs/ardour/ardour/source.h
index ae581f760d..c34c5a9158 100644
--- a/libs/ardour/ardour/source.h
+++ b/libs/ardour/ardour/source.h
@@ -76,8 +76,8 @@ class Source : public SessionObject, public boost::noncopyable
virtual void session_saved() {}
XMLNode& get_state ();
- int set_state (const XMLNode&);
-
+ int set_state (const XMLNode&, int version = 3000);
+
bool destructive() const { return (_flags & Destructive); }
bool writable () const { return (_flags & Writable); }
virtual bool set_destructive (bool /*yn*/) { return false; }
diff --git a/libs/ardour/ardour/tempo.h b/libs/ardour/ardour/tempo.h
index 69b7198408..742919c77a 100644
--- a/libs/ardour/ardour/tempo.h
+++ b/libs/ardour/ardour/tempo.h
@@ -212,7 +212,7 @@ class TempoMap : public PBD::StatefulDestructible
void set_length (nframes_t frames);
XMLNode& get_state (void);
- int set_state (const XMLNode&);
+ int set_state (const XMLNode&, int version = 3000);
void dump (std::ostream&) const;
void clear ();
diff --git a/libs/ardour/ardour/track.h b/libs/ardour/ardour/track.h
index 1b191a1d3e..74cbe399df 100644
--- a/libs/ardour/ardour/track.h
+++ b/libs/ardour/ardour/track.h
@@ -82,7 +82,7 @@ class Track : public Route
XMLNode& get_state();
XMLNode& get_template();
- virtual int set_state(const XMLNode& node) = 0;
+ virtual int set_state (const XMLNode&, int version = 3000) = 0;
static void zero_diskstream_id_in_xml (XMLNode&);
boost::shared_ptr<PBD::Controllable> rec_enable_control() { return _rec_enable_control; }
@@ -96,7 +96,7 @@ class Track : public Route
sigc::signal<void> FreezeChange;
protected:
- Track (Session& sess, const XMLNode& node, DataType default_type = DataType::AUDIO);
+ Track (Session& sess, const XMLNode& node, int, DataType default_type = DataType::AUDIO);
virtual XMLNode& state (bool full) = 0;
diff --git a/libs/ardour/ardour/user_bundle.h b/libs/ardour/ardour/user_bundle.h
index fa37392fc0..f590ec1ebe 100644
--- a/libs/ardour/ardour/user_bundle.h
+++ b/libs/ardour/ardour/user_bundle.h
@@ -38,7 +38,7 @@ class UserBundle : public Bundle, public PBD::Stateful {
XMLNode& get_state ();
private:
- int set_state (XMLNode const &);
+ int set_state (XMLNode const &, int version = 3000);
};
}