diff options
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/automatable.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/automation_control.h | 4 | ||||
-rw-r--r-- | libs/ardour/ardour/midi_track.h | 7 |
3 files changed, 9 insertions, 4 deletions
diff --git a/libs/ardour/ardour/automatable.h b/libs/ardour/ardour/automatable.h index 6100f60b80..a48029734a 100644 --- a/libs/ardour/ardour/automatable.h +++ b/libs/ardour/ardour/automatable.h @@ -49,6 +49,8 @@ public: virtual boost::shared_ptr<AutomationControl> control(Parameter id, bool create_if_missing=false); virtual boost::shared_ptr<const AutomationControl> control(Parameter id) const; + boost::shared_ptr<AutomationControl> control_factory(boost::shared_ptr<AutomationList> list); + typedef std::map<Parameter,boost::shared_ptr<AutomationControl> > Controls; Controls controls() { return _controls; } diff --git a/libs/ardour/ardour/automation_control.h b/libs/ardour/ardour/automation_control.h index cc0aee5326..68ac5797dc 100644 --- a/libs/ardour/ardour/automation_control.h +++ b/libs/ardour/ardour/automation_control.h @@ -29,6 +29,7 @@ namespace ARDOUR { class AutomationList; class Session; +class Automatable; /** A PBD:Controllable with associated automation data (AutomationList) @@ -36,7 +37,8 @@ class Session; class AutomationControl : public PBD::Controllable { public: - AutomationControl(ARDOUR::Session&, boost::shared_ptr<ARDOUR::AutomationList>, + AutomationControl(ARDOUR::Session&, + boost::shared_ptr<ARDOUR::AutomationList>, std::string name="unnamed controllable"); void set_value(float val); diff --git a/libs/ardour/ardour/midi_track.h b/libs/ardour/ardour/midi_track.h index a6e28405f8..aea032f725 100644 --- a/libs/ardour/ardour/midi_track.h +++ b/libs/ardour/ardour/midi_track.h @@ -75,17 +75,18 @@ public: bool write_immediate_event(size_t size, const Byte* buf); struct MidiControl : public AutomationControl { - MidiControl(boost::shared_ptr<MidiTrack> route, boost::shared_ptr<AutomationList> al) + MidiControl(MidiTrack* route, boost::shared_ptr<AutomationList> al) : AutomationControl (route->session(), al, al->parameter().to_string()) , _route (route) {} void set_value (float val); - boost::weak_ptr<MidiTrack> _route; + MidiTrack* _route; }; - + protected: + XMLNode& state (bool full); int _set_state (const XMLNode&, bool call_base); |