+ bool step_editing() const { return _step_editing; }
+ void set_step_editing (bool yn);
+ MidiRingBuffer<framepos_t>& step_edit_ring_buffer() { return _step_edit_ring_buffer; }
+
+ PBD::Signal1<void,bool> StepEditStatusChange;
+
+ bool midi_thru() const { return _midi_thru; }
+ void set_midi_thru (bool yn);
+
+ boost::shared_ptr<SMFSource> write_source (uint32_t n = 0);
+ void set_channel_mode (ChannelMode, uint16_t);
+ ChannelMode get_channel_mode ();
+ uint16_t get_channel_mask ();
+ boost::shared_ptr<MidiPlaylist> midi_playlist ();
+
+ bool bounceable () const {
+ return false;
+ }
+
+ 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;
+ PBD::Signal0<void> InputActiveChanged;