summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/automatable.h2
-rw-r--r--libs/ardour/ardour/automation_control.h4
-rw-r--r--libs/ardour/ardour/midi_track.h7
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);