Now that notify_length_changed() just calls
[ardour.git] / libs / ardour / ardour / midi_track.h
index a2cc2e7d9d568506d43dd8c76f3713a8e0884e14..018b5c4f601e33c17ccf49606726a79f8b861908 100644 (file)
@@ -46,7 +46,7 @@ public:
        void realtime_handle_transport_stopped ();
        void realtime_locate ();
 
-       void use_new_diskstream ();
+       boost::shared_ptr<Diskstream> create_diskstream ();
        void set_diskstream (boost::shared_ptr<Diskstream>);
        void set_record_enabled (bool yn, void *src);
 
@@ -64,7 +64,7 @@ public:
                        framepos_t start, framepos_t end, InterThreadInfo&, bool enable_processing
                );
 
-       int set_state(const XMLNode&, int version);
+       int set_state (const XMLNode&, int version);
 
        void midi_panic(void);
        bool write_immediate_event(size_t size, const uint8_t* buf);
@@ -104,7 +104,8 @@ public:
                return false;
        }
 
-       PBD::Signal2<void, boost::shared_ptr<MidiBuffer>, boost::weak_ptr<MidiSource> > DataRecorded;
+       PBD::Signal1<void, boost::weak_ptr<MidiSource> > DataRecorded;
+       boost::shared_ptr<MidiBuffer> get_gui_feed_buffer () const;
 
        void set_input_active (bool);
        bool input_active () const;
@@ -113,11 +114,15 @@ public:
 protected:
        XMLNode& state (bool full);
 
-       int _set_state (const XMLNode&, int, bool call_base);
        bool should_monitor () const;
        bool send_silence () const;
 
+       void act_on_mute ();
+
   private:
+
+       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);
@@ -135,7 +140,7 @@ protected:
        int no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, bool state_changing);
        void push_midi_input_to_step_edit_ringbuffer (framecnt_t nframes);
 
-       void diskstream_data_recorded (boost::shared_ptr<MidiBuffer>, boost::weak_ptr<MidiSource>);
+       void diskstream_data_recorded (boost::weak_ptr<MidiSource>);
        PBD::ScopedConnection _diskstream_data_recorded_connection;
 
        void track_input_active (IOChange, void*);