X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fmidi_track.h;h=f756812e7142433f4c0a5e1d73ba42720ea22961;hb=ae71e57e2422466716c0ec68ac841d778cf26e94;hp=f2542f0f6b9e2d45b0353aa41e8b648db3263648;hpb=ced4378d0914bcfb926267772c45d1d23f3bed38;p=ardour.git diff --git a/libs/ardour/ardour/midi_track.h b/libs/ardour/ardour/midi_track.h index f2542f0f6b..f756812e71 100644 --- a/libs/ardour/ardour/midi_track.h +++ b/libs/ardour/ardour/midi_track.h @@ -37,7 +37,7 @@ class Session; class LIBARDOUR_API MidiTrack : public Track { public: - MidiTrack (Session&, std::string name, Route::Flag f = Route::Flag (0), TrackMode m = Normal); + MidiTrack (Session&, std::string name, TrackMode m = Normal); ~MidiTrack (); int init (); @@ -50,7 +50,9 @@ public: boost::shared_ptr create_diskstream (); void set_diskstream (boost::shared_ptr); - void set_record_enabled (bool yn, void *src); + + bool can_be_record_enabled (); + bool can_be_record_safe (); DataType data_type () const { return DataType::MIDI; @@ -88,9 +90,12 @@ public: , _route (route) {} - void set_value (double val); + bool writable() const { return true; } MidiTrack* _route; + + private: + void actually_set_value (double val, PBD::Controllable::GroupControlDisposition group_override); }; virtual void set_parameter_automation_state (Evoral::Parameter param, AutoState); @@ -127,7 +132,6 @@ public: PBD::Signal1 > DataRecorded; boost::shared_ptr get_gui_feed_buffer () const; - void set_monitoring (MonitorChoice); MonitorState monitoring_state () const; void set_input_active (bool); @@ -138,6 +142,7 @@ protected: XMLNode& state (bool full); void act_on_mute (); + void monitoring_changed (bool, PBD::Controllable::GroupControlDisposition); private: MidiRingBuffer _immediate_events; @@ -149,7 +154,7 @@ private: MidiChannelFilter _capture_filter; virtual boost::shared_ptr diskstream_factory (XMLNode const &); - + boost::shared_ptr midi_diskstream () const; void write_out_of_band_data (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, framecnt_t nframes);