delayline: use boost::shared_array
[ardour.git] / libs / ardour / ardour / midi_track.h
index f2542f0f6b9e2d45b0353aa41e8b648db3263648..ed138323601de36bc5ac3fc36223274881fbae5d 100644 (file)
@@ -50,7 +50,8 @@ public:
 
        boost::shared_ptr<Diskstream> create_diskstream ();
        void set_diskstream (boost::shared_ptr<Diskstream>);
-       void set_record_enabled (bool yn, void *src);
+       void set_record_enabled (bool yn, PBD::Controllable::GroupControlDisposition);
+       void set_record_safe (bool yn, PBD::Controllable::GroupControlDisposition);
 
        DataType data_type () const {
                return DataType::MIDI;
@@ -88,9 +89,14 @@ public:
                        , _route (route)
                {}
 
-               void set_value (double val);
+               void set_value (double val, PBD::Controllable::GroupControlDisposition group_override);
+               void set_value_unchecked (double);
+               bool writable() const { return true; }
 
                MidiTrack* _route;
+
+       private:
+               void _set_value (double val, PBD::Controllable::GroupControlDisposition group_override);
        };
 
        virtual void set_parameter_automation_state (Evoral::Parameter param, AutoState);
@@ -127,7 +133,7 @@ public:
        PBD::Signal1<void, boost::weak_ptr<MidiSource> > DataRecorded;
        boost::shared_ptr<MidiBuffer> get_gui_feed_buffer () const;
 
-       void set_monitoring (MonitorChoice);
+       void set_monitoring (MonitorChoice, PBD::Controllable::GroupControlDisposition);
        MonitorState monitoring_state () const;
 
        void set_input_active (bool);
@@ -149,7 +155,7 @@ private:
        MidiChannelFilter          _capture_filter;
 
        virtual boost::shared_ptr<Diskstream> diskstream_factory (XMLNode const &);
-       
+
        boost::shared_ptr<MidiDiskstream> midi_diskstream () const;
 
        void write_out_of_band_data (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, framecnt_t nframes);