summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/midiport_manager.h11
-rw-r--r--libs/ardour/ardour/port.h5
-rw-r--r--libs/ardour/ardour/rc_configuration.h2
3 files changed, 12 insertions, 6 deletions
diff --git a/libs/ardour/ardour/midiport_manager.h b/libs/ardour/ardour/midiport_manager.h
index df33038f2b..9a32bfe475 100644
--- a/libs/ardour/ardour/midiport_manager.h
+++ b/libs/ardour/ardour/midiport_manager.h
@@ -41,11 +41,6 @@ class MidiPortManager {
MidiPortManager();
virtual ~MidiPortManager ();
- MidiPort* add_port (MidiPort *);
- void remove_port (MidiPort *);
-
- MidiPort* port (const std::string&);
-
/* Ports used for control. These are read/written to outside of the
* process callback (asynchronously with respect to when data
* actually arrives).
@@ -70,7 +65,8 @@ class MidiPortManager {
boost::shared_ptr<MidiPort> midi_clock_input_port() const { return _midi_clock_input_port; }
boost::shared_ptr<MidiPort> midi_clock_output_port() const { return _midi_clock_output_port; }
- void set_port_states (std::list<XMLNode*>);
+ void set_midi_port_states ();
+ std::list<XMLNode*> get_midi_port_states () const;
PBD::Signal0<void> PortsChanged;
@@ -80,6 +76,9 @@ class MidiPortManager {
MIDI::Port* _midi_output_port;
MIDI::Port* _mmc_input_port;
MIDI::Port* _mmc_output_port;
+ /* these point to the same objects as the 4 members above,
+ but cast to their ARDOUR::Port base class
+ */
boost::shared_ptr<Port> _midi_in;
boost::shared_ptr<Port> _midi_out;
boost::shared_ptr<Port> _mmc_in;
diff --git a/libs/ardour/ardour/port.h b/libs/ardour/ardour/port.h
index 06175de673..77bf2b6f71 100644
--- a/libs/ardour/ardour/port.h
+++ b/libs/ardour/ardour/port.h
@@ -135,6 +135,11 @@ public:
virtual void increment_port_buffer_offset (pframes_t n);
+ virtual XMLNode& get_state (void) const;
+ virtual int set_state (const XMLNode&, int version);
+
+ static std::string state_node_name;
+
protected:
Port (std::string const &, DataType, PortFlags);
diff --git a/libs/ardour/ardour/rc_configuration.h b/libs/ardour/ardour/rc_configuration.h
index ff1c5f035c..9943821d61 100644
--- a/libs/ardour/ardour/rc_configuration.h
+++ b/libs/ardour/ardour/rc_configuration.h
@@ -53,6 +53,7 @@ class RCConfiguration : public Configuration
XMLNode* control_protocol_state () { return _control_protocol_state; }
std::list<XMLNode*> midi_port_states () { return _midi_port_states; }
+ std::list<XMLNode*> old_midi_port_states () { return _old_midi_port_states; }
/* define accessor methods */
@@ -86,6 +87,7 @@ class RCConfiguration : public Configuration
state once the audio engine and hence ports are up.
*/
std::list<XMLNode*> _midi_port_states;
+ std::list<XMLNode*> _old_midi_port_states;
};
/* XXX: rename this */