#ifndef __ardour_midi_track_h__
#define __ardour_midi_track_h__
+#include "ardour/interthread_info.h"
#include "ardour/track.h"
#include "ardour/midi_ring_buffer.h"
#include "ardour/midi_state_tracker.h"
return DataType::MIDI;
}
- int export_stuff (BufferSet& bufs, framecnt_t nframes, framepos_t end_frame);
-
void freeze_me (InterThreadInfo&);
void unfreeze ();
+ bool bounceable (boost::shared_ptr<Processor>, bool) const { return false; }
boost::shared_ptr<Region> bounce (InterThreadInfo&);
- boost::shared_ptr<Region> bounce_range (
- framepos_t start, framepos_t end, InterThreadInfo&, bool enable_processing
- );
+ boost::shared_ptr<Region> bounce_range (framepos_t start, framepos_t end, InterThreadInfo&,
+ boost::shared_ptr<Processor> endpoint, bool include_endpoint);
+ int export_stuff (BufferSet& bufs, framepos_t start_frame, framecnt_t end_frame,
+ boost::shared_ptr<Processor> endpoint, bool include_endpoint, bool for_export);
int set_state (const XMLNode&, int version);
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_monitoring (MonitorChoice);
+
void set_input_active (bool);
bool input_active () const;
PBD::Signal0<void> InputActiveChanged;
protected:
XMLNode& state (bool full);
- bool should_monitor () const;
- bool send_silence () const;
-
void act_on_mute ();
- private:
+private:
virtual boost::shared_ptr<Diskstream> diskstream_factory (XMLNode const &);
MidiRingBuffer<framepos_t> _step_edit_ring_buffer;
NoteMode _note_mode;
bool _step_editing;
- bool _midi_thru;
bool _input_active;
int no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, bool state_changing);