Stub implementation of LV2 persist extension.
[ardour.git] / libs / ardour / ardour / midi_track.h
index 42446da70d34bbe799d1cedb94a5466938c66606..91ccc4b1fe0f5f63645679c61e4e690616b01795 100644 (file)
@@ -46,10 +46,15 @@ public:
 
        void use_new_diskstream ();
         void set_diskstream (boost::shared_ptr<Diskstream>);
+       void set_record_enabled (bool yn, void *src);
+
+       DataType data_type () const {
+               return DataType::MIDI;
+       }
 
        void set_latency_delay (nframes_t);
 
-       int export_stuff (BufferSet& bufs, nframes_t nframes, sframes_t end_frame);
+       int export_stuff (BufferSet& bufs, nframes_t nframes, framepos_t end_frame);
 
        void freeze_me (InterThreadInfo&);
        void unfreeze ();
@@ -71,7 +76,7 @@ public:
                        , _route (route)
                {}
 
-               void set_value (float val);
+               void set_value (double val);
 
                MidiTrack* _route;
        };
@@ -83,6 +88,8 @@ public:
        void set_step_editing (bool yn);
        MidiRingBuffer<nframes_t>& step_edit_ring_buffer() { return _step_edit_ring_buffer; }
 
+        PBD::Signal1<void,bool> StepEditStatusChange;
+
        uint8_t default_channel() const { return _default_channel; }
        void set_default_channel (uint8_t chn);
 
@@ -94,7 +101,9 @@ public:
        ChannelMode get_channel_mode ();
        uint16_t get_channel_mask ();
        boost::shared_ptr<MidiPlaylist> midi_playlist ();
-       
+
+       PBD::Signal2<void, boost::shared_ptr<MidiBuffer>, boost::weak_ptr<MidiSource> > DataRecorded;
+
 protected:
        XMLNode& state (bool full);
        
@@ -103,7 +112,7 @@ protected:
 private:
        boost::shared_ptr<MidiDiskstream> midi_diskstream () const;
 
-       void write_out_of_band_data (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes);
+       void write_out_of_band_data (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, nframes_t nframes);
 
        void set_state_part_two ();
        void set_state_part_three ();
@@ -115,9 +124,12 @@ private:
        uint8_t                   _default_channel;
        bool                      _midi_thru;
 
-       int no_roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame,
+       int no_roll (nframes_t nframes, framepos_t start_frame, framepos_t end_frame,
                        bool state_changing, bool can_record, bool rec_monitors_input);
        void push_midi_input_to_step_edit_ringbuffer (nframes_t nframes);
+
+       void diskstream_data_recorded (boost::shared_ptr<MidiBuffer>, boost::weak_ptr<MidiSource>);
+       PBD::ScopedConnection _diskstream_data_recorded_connection;
 };
 
 } /* namespace ARDOUR*/