ardour
Classes | Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
ARDOUR::MidiTrack Class Reference

#include <midi_track.h>

Inheritance diagram for ARDOUR::MidiTrack:
ARDOUR::Track ARDOUR::Route ARDOUR::PublicDiskstream ARDOUR::SessionObject ARDOUR::Automatable ARDOUR::RouteGroupMember ARDOUR::GraphNode boost::enable_shared_from_this< Route > ARDOUR::SessionHandleRef PBD::StatefulDestructible Evoral::ControlSet PBD::ScopedConnectionList PBD::Stateful PBD::Destructible

Classes

struct  MidiControl
 

Public Member Functions

 MidiTrack (Session &, std::string name, Route::Flag f=Route::Flag(0), TrackMode m=Normal)
 
 ~MidiTrack ()
 
int init ()
 
int roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, int declick, bool &need_butler)
 
void realtime_handle_transport_stopped ()
 
void realtime_locate ()
 
void non_realtime_locate (framepos_t)
 
boost::shared_ptr< Diskstreamcreate_diskstream ()
 
void set_diskstream (boost::shared_ptr< Diskstream >)
 
void set_record_enabled (bool yn, void *src)
 
DataType data_type () const
 
void freeze_me (InterThreadInfo &)
 
void unfreeze ()
 
bool bounceable (boost::shared_ptr< Processor >, bool) const
 
boost::shared_ptr< Regionbounce (InterThreadInfo &)
 
boost::shared_ptr< Regionbounce_range (framepos_t start, framepos_t end, InterThreadInfo &iti, 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, bool for_freeze)
 
int set_state (const XMLNode &, int version)
 
void midi_panic (void)
 
bool write_immediate_event (size_t size, const uint8_t *buf)
 
virtual void set_parameter_automation_state (Evoral::Parameter param, AutoState)
 
NoteMode note_mode () const
 
void set_note_mode (NoteMode m)
 
std::string describe_parameter (Evoral::Parameter param)
 
bool step_editing () const
 
void set_step_editing (bool yn)
 
MidiRingBuffer< framepos_t > & step_edit_ring_buffer ()
 
boost::shared_ptr< SMFSourcewrite_source (uint32_t n=0)
 
void set_capture_channel_mode (ChannelMode mode, uint16_t mask)
 
void set_playback_channel_mode (ChannelMode mode, uint16_t mask)
 
void set_playback_channel_mask (uint16_t mask)
 
void set_capture_channel_mask (uint16_t mask)
 
ChannelMode get_playback_channel_mode () const
 
ChannelMode get_capture_channel_mode () const
 
uint16_t get_playback_channel_mask () const
 
uint16_t get_capture_channel_mask () const
 
MidiChannelFilterplayback_filter ()
 
MidiChannelFiltercapture_filter ()
 
boost::shared_ptr< MidiPlaylistmidi_playlist ()
 
boost::shared_ptr< MidiBufferget_gui_feed_buffer () const
 
void set_monitoring (MonitorChoice)
 
MonitorState monitoring_state () const
 
void set_input_active (bool)
 
bool input_active () const
 
- Public Member Functions inherited from ARDOUR::Track
 Track (Session &, std::string name, Route::Flag f=Route::Flag(0), TrackMode m=Normal, DataType default_type=DataType::AUDIO)
 
virtual ~Track ()
 
int init ()
 
bool set_name (const std::string &str)
 
void resync_track_name ()
 
TrackMode mode () const
 
virtual int set_mode (TrackMode)
 
virtual bool can_use_mode (TrackMode, bool &)
 
MonitorChoice monitoring_choice () const
 
MonitorState monitoring_state () const
 
MeterState metering_state () const
 
int silent_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, bool &need_butler)
 
bool needs_butler () const
 
bool can_record ()
 
void use_new_diskstream ()
 
void set_latency_compensation (framecnt_t)
 
FreezeState freeze_state () const
 
XMLNodeget_state ()
 
XMLNodeget_template ()
 
boost::shared_ptr
< AutomationControl
rec_enable_control ()
 
bool record_enabled () const
 
void set_record_enabled (bool yn, void *src)
 
void prep_record_enabled (bool yn, void *src)
 
bool using_diskstream_id (PBD::ID) const
 
void set_block_size (pframes_t)
 
boost::shared_ptr< Playlistplaylist ()
 
void request_input_monitoring (bool)
 
void ensure_input_monitoring (bool)
 
bool destructive () const
 
std::list< boost::shared_ptr
< Source > > & 
last_capture_sources ()
 
void set_capture_offset ()
 
std::string steal_write_source_name ()
 
void reset_write_sources (bool, bool force=false)
 
float playback_buffer_load () const
 
float capture_buffer_load () const
 
int do_refill ()
 
int do_flush (RunContext, bool force=false)
 
void set_pending_overwrite (bool)
 
int seek (framepos_t, bool complete_refill=false)
 
bool hidden () const
 
int can_internal_playback_seek (framecnt_t)
 
int internal_playback_seek (framecnt_t)
 
void non_realtime_input_change ()
 
void non_realtime_locate (framepos_t)
 
void non_realtime_set_speed ()
 
int overwrite_existing_buffers ()
 
framecnt_t get_captured_frames (uint32_t n=0) const
 
int set_loop (Location *)
 
void transport_looped (framepos_t)
 
bool realtime_set_speed (double, bool)
 
void transport_stopped_wallclock (struct tm &, time_t, bool)
 
bool pending_overwrite () const
 
double speed () const
 
void prepare_to_stop (framepos_t, framepos_t)
 
void set_slaved (bool)
 
ChanCount n_channels ()
 
framepos_t get_capture_start_frame (uint32_t n=0) const
 
AlignStyle alignment_style () const
 
AlignChoice alignment_choice () const
 
framepos_t current_capture_start () const
 
framepos_t current_capture_end () const
 
void playlist_modified ()
 
int use_playlist (boost::shared_ptr< Playlist >)
 
void set_align_style (AlignStyle, bool force=false)
 
void set_align_choice (AlignChoice, bool force=false)
 
int use_copy_playlist ()
 
int use_new_playlist ()
 
void adjust_playback_buffering ()
 
void adjust_capture_buffering ()
 
- Public Member Functions inherited from ARDOUR::Route
 Route (Session &, std::string name, Flag flags=Flag(0), DataType default_type=DataType::AUDIO)
 
virtual ~Route ()
 
boost::shared_ptr< IOinput () const
 
boost::shared_ptr< IOoutput () const
 
ChanCount n_inputs () const
 
ChanCount n_outputs () const
 
bool active () const
 
void set_active (bool yn, void *)
 
std::string comment ()
 
void set_comment (std::string str, void *src)
 
uint32_t order_key () const
 
bool has_order_key () const
 
void set_order_key (uint32_t)
 
bool is_auditioner () const
 
bool is_master () const
 
bool is_monitor () const
 
virtual void nonrealtime_handle_transport_stopped (bool abort, bool did_locate, bool flush_processors)
 
virtual void set_pending_declick (int)
 
void shift (framepos_t, framecnt_t)
 
void set_gain (gain_t val, void *src)
 
void inc_gain (gain_t delta, void *src)
 
void set_trim (gain_t val, void *src)
 
void inc_trim (gain_t delta, void *src)
 
void set_mute_points (MuteMaster::MutePoint)
 
MuteMaster::MutePoint mute_points () const
 
bool muted () const
 
void set_mute (bool yn, void *src)
 
void set_solo (bool yn, void *src)
 
bool soloed () const
 
void cancel_solo_after_disconnect (bool upstream)
 
bool soloed_by_others () const
 
bool soloed_by_others_upstream () const
 
bool soloed_by_others_downstream () const
 
bool self_soloed () const
 
void set_solo_isolated (bool yn, void *src)
 
bool solo_isolated () const
 
void set_solo_safe (bool yn, void *src)
 
bool solo_safe () const
 
void set_listen (bool yn, void *src)
 
bool listening_via_monitor () const
 
void enable_monitor_send ()
 
void set_phase_invert (uint32_t, bool yn)
 
void set_phase_invert (boost::dynamic_bitset<>)
 
bool phase_invert (uint32_t) const
 
boost::dynamic_bitset phase_invert () const
 
void set_denormal_protection (bool yn)
 
bool denormal_protection () const
 
void set_meter_point (MeterPoint, bool force=false)
 
bool apply_processor_changes_rt ()
 
void emit_pending_signals ()
 
MeterPoint meter_point () const
 
void set_meter_type (MeterType t)
 
MeterType meter_type () const
 
boost::shared_ptr< Ampamp () const
 
boost::shared_ptr< Amptrim () const
 
PeakMeterpeak_meter ()
 
const PeakMeterpeak_meter () const
 
boost::shared_ptr< PeakMetershared_peak_meter () const
 
boost::shared_ptr< DelayLinedelay_line () const
 
void flush_processors ()
 
void foreach_processor (boost::function< void(boost::weak_ptr< Processor >)> method)
 
boost::shared_ptr< Processornth_processor (uint32_t n)
 
boost::shared_ptr< Processorprocessor_by_id (PBD::ID) const
 
boost::shared_ptr< Processornth_plugin (uint32_t n)
 
boost::shared_ptr< Processornth_send (uint32_t n)
 
bool has_io_processor_named (const std::string &)
 
ChanCount max_processor_streams () const
 
std::list< std::string > unknown_processors () const
 
boost::shared_ptr< InternalSendmonitor_send () const
 
boost::shared_ptr< Deliverymain_outs () const
 
boost::shared_ptr< InternalReturninternal_return () const
 
boost::shared_ptr
< MonitorProcessor
monitor_control () const
 
boost::shared_ptr< Sendinternal_send_for (boost::shared_ptr< const Route > target) const
 
void add_internal_return ()
 
void add_send_to_internal_return (InternalSend *)
 
void remove_send_from_internal_return (InternalSend *)
 
void listen_position_changed ()
 
boost::shared_ptr
< CapturingProcessor
add_export_point ()
 
int add_processor (boost::shared_ptr< Processor >, Placement placement, ProcessorStreams *err=0, bool activation_allowed=true)
 
int add_processor_by_index (boost::shared_ptr< Processor >, int, ProcessorStreams *err=0, bool activation_allowed=true)
 
int add_processor (boost::shared_ptr< Processor >, boost::shared_ptr< Processor >, ProcessorStreams *err=0, bool activation_allowed=true)
 
int add_processors (const ProcessorList &, boost::shared_ptr< Processor >, ProcessorStreams *err=0)
 
boost::shared_ptr< Processorbefore_processor_for_placement (Placement)
 
boost::shared_ptr< Processorbefore_processor_for_index (int)
 
bool processors_reorder_needs_configure (const ProcessorList &new_order)
 
int remove_processor (boost::shared_ptr< Processor >, ProcessorStreams *err=0, bool need_process_lock=true)
 
int remove_processors (const ProcessorList &, ProcessorStreams *err=0)
 
int reorder_processors (const ProcessorList &new_order, ProcessorStreams *err=0)
 
void disable_processors (Placement)
 
void disable_processors ()
 
void disable_plugins (Placement)
 
void disable_plugins ()
 
void ab_plugins (bool forward)
 
void clear_processors (Placement)
 
void all_visible_processors_active (bool)
 
framecnt_t set_private_port_latencies (bool playback) const
 
void set_public_port_latencies (framecnt_t, bool playback) const
 
framecnt_t update_signal_latency ()
 
void set_user_latency (framecnt_t)
 
framecnt_t initial_delay () const
 
framecnt_t signal_latency () const
 
int64_t track_number () const
 
void set_track_number (int64_t tn)
 
XMLNodeget_processor_state ()
 
virtual void set_processor_state (const XMLNode &)
 
int save_as_template (const std::string &path, const std::string &name)
 
int add_aux_send (boost::shared_ptr< Route >, boost::shared_ptr< Processor >)
 
void remove_aux_or_listen (boost::shared_ptr< Route >)
 
bool feeds (boost::shared_ptr< Route >, bool *via_send_only=0)
 
bool direct_feeds_according_to_reality (boost::shared_ptr< Route >, bool *via_send_only=0)
 
bool direct_feeds_according_to_graph (boost::shared_ptr< Route >, bool *via_send_only=0)
 
const FedByfed_by () const
 
void clear_fed_by ()
 
bool add_fed_by (boost::shared_ptr< Route >, bool sends_only)
 
boost::shared_ptr
< AutomationControl
get_control (const Evoral::Parameter &param)
 
boost::shared_ptr
< SoloControllable
solo_control () const
 
boost::shared_ptr
< MuteControllable
mute_control () const
 
boost::shared_ptr< MuteMastermute_master () const
 
boost::shared_ptr< Pannerpanner () const
 
boost::shared_ptr< PannerShellpanner_shell () const
 
boost::shared_ptr
< AutomationControl
gain_control () const
 
boost::shared_ptr< Pannablepannable () const
 
boost::shared_ptr< Processorthe_instrument () const
 
InstrumentInfoinstrument_info ()
 
void protect_automation ()
 
void set_remote_control_id (uint32_t id, bool notify_class_listeners=true)
 
uint32_t remote_control_id () const
 
void set_remote_control_id_explicit (uint32_t order_key)
 
bool has_external_redirects () const
 
void monitor_run (framepos_t start_frame, framepos_t end_frame, pframes_t nframes, int declick)
 
- Public Member Functions inherited from ARDOUR::SessionObject
 SessionObject (Session &session, const std::string &name)
 
Sessionsession () const
 
std::string name () const
 
- Public Member Functions inherited from ARDOUR::SessionHandleRef
 SessionHandleRef (ARDOUR::Session &s)
 
virtual ~SessionHandleRef ()
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_changes (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (Command *) const
 
virtual void rdiff (std::vector< Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::Destructible
 Destructible ()
 
virtual ~Destructible ()
 
void drop_references ()
 
- Public Member Functions inherited from ARDOUR::Automatable
 Automatable (Session &)
 
 Automatable (const Automatable &other)
 
virtual ~Automatable ()
 
boost::shared_ptr
< Evoral::Control
control_factory (const Evoral::Parameter &id)
 
boost::shared_ptr
< AutomationControl
automation_control (const Evoral::Parameter &id, bool create_if_missing=false)
 
boost::shared_ptr< const
AutomationControl
automation_control (const Evoral::Parameter &id) const
 
virtual void add_control (boost::shared_ptr< Evoral::Control >)
 
void clear_controls ()
 
virtual void transport_located (framepos_t now)
 
virtual void transport_stopped (framepos_t now)
 
virtual std::string value_as_string (boost::shared_ptr< AutomationControl >) const
 
AutoState get_parameter_automation_state (Evoral::Parameter param)
 
AutoStyle get_parameter_automation_style (Evoral::Parameter param)
 
void set_parameter_automation_style (Evoral::Parameter param, AutoStyle)
 
void protect_automation ()
 
const std::set
< Evoral::Parameter > & 
what_can_be_automated () const
 
void what_has_existing_automation (std::set< Evoral::Parameter > &) const
 
int set_automation_xml_state (const XMLNode &, Evoral::Parameter default_param)
 
XMLNodeget_automation_xml_state ()
 
- Public Member Functions inherited from Evoral::ControlSet
 ControlSet ()
 
 ControlSet (const ControlSet &)
 
virtual ~ControlSet ()
 
boost::shared_ptr< Controlcontrol (const Parameter &id, bool create_if_missing=false)
 
boost::shared_ptr< const Controlcontrol (const Parameter &id) const
 
Controlscontrols ()
 
const Controlscontrols () const
 
bool find_next_event (double start, double end, ControlEvent &ev) const
 
virtual bool controls_empty () const
 
void what_has_data (std::set< Parameter > &) const
 
Glib::Threads::Mutex & control_lock () const
 
- Public Member Functions inherited from ARDOUR::RouteGroupMember
 RouteGroupMember ()
 
virtual ~RouteGroupMember ()
 
RouteGrouproute_group () const
 
- Public Member Functions inherited from ARDOUR::GraphNode
 GraphNode (boost::shared_ptr< Graph > Graph)
 
virtual ~GraphNode ()
 
void prep (int chain)
 
void dec_ref ()
 
void finish (int chain)
 
virtual void process ()
 
- Public Member Functions inherited from ARDOUR::PublicDiskstream
virtual ~PublicDiskstream ()
 

Public Attributes

PBD::Signal1< void, bool > StepEditStatusChange
 
PBD::Signal1< void,
boost::weak_ptr< MidiSource > > 
DataRecorded
 
PBD::Signal0< void > InputActiveChanged
 
- Public Attributes inherited from ARDOUR::Track
PBD::Signal0< void > TrackModeChanged
 
PBD::Signal0< void > MonitoringChanged
 
PBD::Signal0< void > DiskstreamChanged
 
PBD::Signal0< void > FreezeChange
 
PBD::Signal0< void > PlaylistChanged
 
PBD::Signal0< void > RecordEnableChanged
 
PBD::Signal0< void > SpeedChanged
 
PBD::Signal0< void > AlignmentStyleChanged
 
- Public Attributes inherited from ARDOUR::Route
PBD::Signal0< void > active_changed
 
PBD::Signal0< void > phase_invert_changed
 
PBD::Signal0< void > denormal_protection_changed
 
PBD::Signal1< void, void * > listen_changed
 
PBD::Signal2< void, bool, void * > solo_changed
 
PBD::Signal1< void, void * > solo_safe_changed
 
PBD::Signal1< void, void * > solo_isolated_changed
 
PBD::Signal1< void, void * > comment_changed
 
PBD::Signal1< void, void * > mute_changed
 
PBD::Signal0< void > mute_points_changed
 
PBD::Signal0< void > track_number_changed
 
PBD::Signal1< void,
RouteProcessorChange
processors_changed
 
PBD::Signal1< void, void * > record_enable_changed
 
PBD::Signal0< void > meter_change
 
PBD::Signal0< void > signal_latency_changed
 
PBD::Signal0< void > initial_delay_changed
 
PBD::Signal0< void > io_changed
 
PBD::Signal2< void,
std::string, void * > 
gui_changed
 
PBD::Signal1< void, void * > SelectedChanged
 
PBD::Signal0< void > RemoteControlIDChanged
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal1< void, const
PropertyChange & > 
PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal0< void > Destroyed
 
PBD::Signal0< void > DropReferences
 
- Public Attributes inherited from ARDOUR::Automatable
PBD::Signal0< void > AutomationStateChanged
 
- Public Attributes inherited from ARDOUR::RouteGroupMember
PBD::Signal0< void > route_group_changed
 

Protected Member Functions

XMLNodestate (bool full)
 
void act_on_mute ()
 
- Protected Member Functions inherited from ARDOUR::Track
XMLNodestate (bool full)
 
void maybe_declick (BufferSet &, framecnt_t, int)
 
framecnt_t check_initial_delay (framecnt_t nframes, framepos_t &)
 
- Protected Member Functions inherited from ARDOUR::Route
void catch_up_on_solo_mute_override ()
 
void mod_solo_by_others_upstream (int32_t)
 
void mod_solo_by_others_downstream (int32_t)
 
void curve_reallocate ()
 
void fill_buffers_with_input (BufferSet &bufs, boost::shared_ptr< IO > io, pframes_t nframes)
 
void passthru (BufferSet &, framepos_t start_frame, framepos_t end_frame, pframes_t nframes, int declick)
 
virtual void process_output_buffers (BufferSet &bufs, framepos_t start_frame, framepos_t end_frame, pframes_t nframes, int declick, bool gain_automation_ok)
 
virtual void bounce_process (BufferSet &bufs, framepos_t start_frame, framecnt_t nframes, boost::shared_ptr< Processor > endpoint, bool include_endpoint, bool for_export, bool for_freeze)
 
framecnt_t bounce_get_latency (boost::shared_ptr< Processor > endpoint, bool include_endpoint, bool for_export, bool for_freeze) const
 
ChanCount bounce_get_output_streams (ChanCount &cc, boost::shared_ptr< Processor > endpoint, bool include_endpoint, bool for_export, bool for_freeze) const
 
virtual ChanCount input_streams () const
 
int configure_processors (ProcessorStreams *)
 
void passthru_silence (framepos_t start_frame, framepos_t end_frame, pframes_t nframes, int declick)
 
void silence (framecnt_t)
 
void silence_unlocked (framecnt_t)
 
uint32_t pans_required () const
 
ChanCount n_process_buffers ()
 
boost::shared_ptr< Processorthe_instrument_unlocked () const
 
- Protected Member Functions inherited from ARDOUR::SessionHandleRef
virtual void session_going_away ()
 
virtual void insanity_check ()
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &)
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
- Protected Member Functions inherited from ARDOUR::Automatable
void can_automate (Evoral::Parameter)
 
virtual void automation_list_automation_state_changed (Evoral::Parameter, AutoState)
 
int load_automation (const std::string &path)
 
int old_set_automation_state (const XMLNode &)
 
- Protected Member Functions inherited from Evoral::ControlSet
virtual void control_list_marked_dirty ()
 
virtual void control_list_interpolation_changed (Parameter, ControlList::InterpolationStyle)
 

Private Member Functions

virtual boost::shared_ptr
< Diskstream
diskstream_factory (XMLNode const &)
 
boost::shared_ptr< MidiDiskstreammidi_diskstream () const
 
void write_out_of_band_data (BufferSet &bufs, framepos_t start_frame, framepos_t end_frame, framecnt_t nframes)
 
void set_state_part_two ()
 
void set_state_part_three ()
 
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::weak_ptr< MidiSource >)
 
void track_input_active (IOChange, void *)
 
void map_input_active (bool)
 
void update_controls (const BufferSet &bufs)
 

Private Attributes

MidiRingBuffer< framepos_t_immediate_events
 
MidiRingBuffer< framepos_t_step_edit_ring_buffer
 
NoteMode _note_mode
 
bool _step_editing
 
bool _input_active
 
MidiChannelFilter _playback_filter
 
MidiChannelFilter _capture_filter
 
PBD::ScopedConnection _diskstream_data_recorded_connection
 

Additional Inherited Members

- Public Types inherited from ARDOUR::Track
enum  FreezeState { NoFreeze, Frozen, UnFrozen }
 
- Public Types inherited from ARDOUR::Route
enum  Flag { Auditioner = 0x1, MasterOut = 0x2, MonitorOut = 0x4 }
 
enum  { MasterBusRemoteControlID = 318, MonitorBusRemoteControlID = 319 }
 
typedef std::list
< boost::shared_ptr< Processor > > 
ProcessorList
 
typedef std::set< FeedRecord,
FeedRecordCompare
FedBy
 
- Public Types inherited from Evoral::ControlSet
typedef std::map< Parameter,
boost::shared_ptr< Control > > 
Controls
 
- Static Public Member Functions inherited from ARDOUR::Track
static void zero_diskstream_id_in_xml (XMLNode &)
 
- Static Public Member Functions inherited from ARDOUR::Route
static std::string ensure_track_or_route_name (std::string, Session &)
 
static void set_name_in_state (XMLNode &, const std::string &)
 
- Static Public Member Functions inherited from ARDOUR::SessionObject
static void make_property_quarks ()
 
- Static Public Attributes inherited from ARDOUR::Route
static PBD::Signal0< void > RemoteControlIDChange
 
static PBD::Signal0< void > SyncOrderKeys
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version = 0
 
static int loading_state_version = 0
 
- Static Public Attributes inherited from ARDOUR::Automatable
static const std::string xml_node_name = X_("Automation")
 
- Protected Types inherited from ARDOUR::Route
enum  { EmitNone = 0x00, EmitMeterChanged = 0x01, EmitMeterVisibilityChange = 0x02, EmitRtProcessorChange = 0x04 }
 
- Protected Attributes inherited from ARDOUR::Track
boost::shared_ptr< Diskstream_diskstream
 
MeterPoint _saved_meter_point
 
TrackMode _mode
 
bool _needs_butler
 
MonitorChoice _monitoring
 
FreezeRecord _freeze_record
 
XMLNodepending_state
 
bool _destructive
 
boost::shared_ptr
< RecEnableControl
_rec_enable_control
 
- Protected Attributes inherited from ARDOUR::Route
boost::shared_ptr< IO_input
 
boost::shared_ptr< IO_output
 
bool _active
 
framecnt_t _signal_latency
 
framecnt_t _signal_latency_at_amp_position
 
framecnt_t _signal_latency_at_trim_position
 
framecnt_t _initial_delay
 
framecnt_t _roll_delay
 
ProcessorList _processors
 
Glib::Threads::RWLock _processor_lock
 
boost::shared_ptr< Delivery_main_outs
 
boost::shared_ptr< InternalSend_monitor_send
 
boost::shared_ptr< InternalReturn_intreturn
 
boost::shared_ptr
< MonitorProcessor
_monitor_control
 
boost::shared_ptr< Pannable_pannable
 
ProcessorList _pending_processor_order
 
gint _pending_process_reorder
 
gint _pending_signals
 
Flag _flags
 
int _pending_declick
 
MeterPoint _meter_point
 
MeterPoint _pending_meter_point
 
MeterType _meter_type
 
boost::dynamic_bitset _phase_invert
 
bool _self_solo
 
uint32_t _soloed_by_others_upstream
 
uint32_t _soloed_by_others_downstream
 
uint32_t _solo_isolated
 
bool _denormal_protection
 
bool _recordable: 1
 
bool _silent: 1
 
bool _declickable: 1
 
boost::shared_ptr
< SoloControllable
_solo_control
 
boost::shared_ptr
< MuteControllable
_mute_control
 
boost::shared_ptr< MuteMaster_mute_master
 
std::string _comment
 
bool _have_internal_generator
 
bool _solo_safe
 
DataType _default_type
 
FedBy _fed_by
 
InstrumentInfo _instrument_info
 
ChanCount processor_max_streams
 
ChanCount processor_out_streams
 
boost::shared_ptr< Amp_amp
 
boost::shared_ptr< Amp_trim
 
boost::shared_ptr< PeakMeter_meter
 
boost::shared_ptr< DelayLine_delayline
 
- Protected Attributes inherited from ARDOUR::SessionObject
PBD::Property< std::string > _name
 
- Protected Attributes inherited from ARDOUR::SessionHandleRef
ARDOUR::Session_session
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 
- Protected Attributes inherited from ARDOUR::Automatable
Session_a_session
 
std::set< Evoral::Parameter_can_automate_list
 
framepos_t _last_automation_snapshot
 
- Protected Attributes inherited from Evoral::ControlSet
Glib::Threads::Mutex _control_lock
 
Controls _controls
 
PBD::ScopedConnectionList _list_connections
 
- Protected Attributes inherited from ARDOUR::RouteGroupMember
RouteGroup_route_group
 

Detailed Description

Definition at line 37 of file midi_track.h.

Constructor & Destructor Documentation

MidiTrack::MidiTrack ( Session ,
std::string  name,
Route::Flag  f = Route::Flag (0),
TrackMode  m = Normal 
)

Definition at line 67 of file midi_track.cc.

MidiTrack::~MidiTrack ( )

Definition at line 77 of file midi_track.cc.

Member Function Documentation

void MidiTrack::act_on_mute ( )
protectedvirtual

Reimplemented from ARDOUR::Route.

Definition at line 873 of file midi_track.cc.

boost::shared_ptr< Region > MidiTrack::bounce ( InterThreadInfo itt)
virtual

Implements ARDOUR::Track.

Definition at line 607 of file midi_track.cc.

boost::shared_ptr< Region > MidiTrack::bounce_range ( framepos_t  start,
framepos_t  end,
InterThreadInfo iti,
boost::shared_ptr< Processor endpoint,
bool  include_endpoint 
)
virtual

Implements ARDOUR::Track.

Definition at line 613 of file midi_track.cc.

bool ARDOUR::MidiTrack::bounceable ( boost::shared_ptr< Processor endpoint,
bool  include_endpoint 
) const
inlinevirtual
Returns
true if the track can be bounced, or false otherwise.

Implements ARDOUR::Track.

Definition at line 62 of file midi_track.h.

MidiChannelFilter& ARDOUR::MidiTrack::capture_filter ( )
inline

Definition at line 123 of file midi_track.h.

boost::shared_ptr< Diskstream > MidiTrack::create_diskstream ( )
virtual

Implements ARDOUR::Track.

Definition at line 94 of file midi_track.cc.

DataType ARDOUR::MidiTrack::data_type ( ) const
inlinevirtual

Implements ARDOUR::Track.

Definition at line 55 of file midi_track.h.

std::string MidiTrack::describe_parameter ( Evoral::Parameter  param)
virtual

Reimplemented from ARDOUR::Automatable.

Definition at line 644 of file midi_track.cc.

void MidiTrack::diskstream_data_recorded ( boost::weak_ptr< MidiSource src)
private

Definition at line 814 of file midi_track.cc.

boost::shared_ptr< Diskstream > MidiTrack::diskstream_factory ( XMLNode const &  node)
privatevirtual

Implements ARDOUR::Track.

Definition at line 861 of file midi_track.cc.

int MidiTrack::export_stuff ( BufferSet bufs,
framepos_t  start_frame,
framecnt_t  end_frame,
boost::shared_ptr< Processor endpoint,
bool  include_endpoint,
bool  for_export,
bool  for_freeze 
)
virtual

Implements ARDOUR::Track.

Definition at line 575 of file midi_track.cc.

void MidiTrack::freeze_me ( InterThreadInfo )
virtual

Implements ARDOUR::Track.

Definition at line 624 of file midi_track.cc.

uint16_t ARDOUR::MidiTrack::get_capture_channel_mask ( ) const
inline

Definition at line 120 of file midi_track.h.

ChannelMode ARDOUR::MidiTrack::get_capture_channel_mode ( ) const
inline

Definition at line 118 of file midi_track.h.

boost::shared_ptr< MidiBuffer > MidiTrack::get_gui_feed_buffer ( ) const

Definition at line 867 of file midi_track.cc.

uint16_t ARDOUR::MidiTrack::get_playback_channel_mask ( ) const
inline

Definition at line 119 of file midi_track.h.

ChannelMode ARDOUR::MidiTrack::get_playback_channel_mode ( ) const
inline

Definition at line 117 of file midi_track.h.

int MidiTrack::init ( )
virtual

Reimplemented from ARDOUR::Route.

Definition at line 82 of file midi_track.cc.

bool MidiTrack::input_active ( ) const

Definition at line 820 of file midi_track.cc.

void MidiTrack::map_input_active ( bool  yn)
private

Definition at line 836 of file midi_track.cc.

boost::shared_ptr< MidiDiskstream > MidiTrack::midi_diskstream ( ) const
private

Definition at line 140 of file midi_track.cc.

void MidiTrack::midi_panic ( void  )

Definition at line 651 of file midi_track.cc.

boost::shared_ptr< MidiPlaylist > MidiTrack::midi_playlist ( )

Definition at line 808 of file midi_track.cc.

MonitorState MidiTrack::monitoring_state ( ) const
virtual
Returns
the monitoring state, or in other words what data we are pushing into the route (data from the inputs, data from disk or silence)

Reimplemented from ARDOUR::Route.

Definition at line 941 of file midi_track.cc.

int MidiTrack::no_roll ( pframes_t  nframes,
framepos_t  start_frame,
framepos_t  end_frame,
bool  state_changing 
)
privatevirtual

Reimplemented from ARDOUR::Track.

Definition at line 443 of file midi_track.cc.

void MidiTrack::non_realtime_locate ( framepos_t  pos)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 485 of file midi_track.cc.

NoteMode ARDOUR::MidiTrack::note_mode ( ) const
inline

Definition at line 98 of file midi_track.h.

MidiChannelFilter& ARDOUR::MidiTrack::playback_filter ( )
inline

Definition at line 122 of file midi_track.h.

void MidiTrack::push_midi_input_to_step_edit_ringbuffer ( framecnt_t  nframes)
private

Definition at line 521 of file midi_track.cc.

void MidiTrack::realtime_handle_transport_stopped ( )
virtual

Reimplemented from ARDOUR::Route.

Definition at line 471 of file midi_track.cc.

void MidiTrack::realtime_locate ( )
virtual

Reimplemented from ARDOUR::Route.

Definition at line 455 of file midi_track.cc.

int MidiTrack::roll ( pframes_t  nframes,
framepos_t  start_frame,
framepos_t  end_frame,
int  declick,
bool &  need_butler 
)
virtual
Parameters
need_butlerto be set to true if this track now needs the butler, otherwise it can be left alone or set to false.

Implements ARDOUR::Track.

Definition at line 338 of file midi_track.cc.

void MidiTrack::set_capture_channel_mask ( uint16_t  mask)

Definition at line 800 of file midi_track.cc.

void MidiTrack::set_capture_channel_mode ( ChannelMode  mode,
uint16_t  mask 
)

Definition at line 784 of file midi_track.cc.

void MidiTrack::set_diskstream ( boost::shared_ptr< Diskstream ds)
virtual

Reimplemented from ARDOUR::Track.

Definition at line 115 of file midi_track.cc.

void MidiTrack::set_input_active ( bool  yn)

Definition at line 826 of file midi_track.cc.

void MidiTrack::set_monitoring ( MonitorChoice  mc)
virtual

Reimplemented from ARDOUR::Track.

Definition at line 913 of file midi_track.cc.

void MidiTrack::set_note_mode ( NoteMode  m)

Definition at line 637 of file midi_track.cc.

void MidiTrack::set_parameter_automation_state ( Evoral::Parameter  param,
AutoState  state 
)
virtual

Reimplemented from ARDOUR::Automatable.

Definition at line 678 of file midi_track.cc.

void MidiTrack::set_playback_channel_mask ( uint16_t  mask)

Definition at line 792 of file midi_track.cc.

void MidiTrack::set_playback_channel_mode ( ChannelMode  mode,
uint16_t  mask 
)

Definition at line 776 of file midi_track.cc.

void MidiTrack::set_record_enabled ( bool  yn,
void *  src 
)
virtual

Reimplemented from ARDOUR::Route.

Definition at line 105 of file midi_track.cc.

int MidiTrack::set_state ( const XMLNode node,
int  version 
)
virtual

Reimplemented from ARDOUR::Track.

Definition at line 146 of file midi_track.cc.

void ARDOUR::MidiTrack::set_state_part_three ( )
private
void MidiTrack::set_state_part_two ( )
privatevirtual

Implements ARDOUR::Track.

Definition at line 256 of file midi_track.cc.

void MidiTrack::set_step_editing ( bool  yn)

Definition at line 757 of file midi_track.cc.

XMLNode & MidiTrack::state ( bool  full)
protectedvirtual

Reimplemented from ARDOUR::Route.

Definition at line 216 of file midi_track.cc.

MidiRingBuffer<framepos_t>& ARDOUR::MidiTrack::step_edit_ring_buffer ( )
inline

Definition at line 105 of file midi_track.h.

bool ARDOUR::MidiTrack::step_editing ( ) const
inline

Definition at line 103 of file midi_track.h.

void MidiTrack::track_input_active ( IOChange  change,
void *   
)
private

Definition at line 853 of file midi_track.cc.

void MidiTrack::unfreeze ( )
virtual

Implements ARDOUR::Track.

Definition at line 630 of file midi_track.cc.

void MidiTrack::update_controls ( const BufferSet bufs)
private

Update automation controls to reflect any changes in buffers.

Definition at line 321 of file midi_track.cc.

bool MidiTrack::write_immediate_event ( size_t  size,
const uint8_t *  buf 
)
Returns
true on success, false on failure (no buffer space left)

Definition at line 667 of file midi_track.cc.

void MidiTrack::write_out_of_band_data ( BufferSet bufs,
framepos_t  start_frame,
framepos_t  end_frame,
framecnt_t  nframes 
)
privatevirtual

Reimplemented from ARDOUR::Route.

Definition at line 548 of file midi_track.cc.

boost::shared_ptr< SMFSource > MidiTrack::write_source ( uint32_t  n = 0)

Definition at line 770 of file midi_track.cc.

Member Data Documentation

MidiChannelFilter ARDOUR::MidiTrack::_capture_filter
private

Definition at line 149 of file midi_track.h.

PBD::ScopedConnection ARDOUR::MidiTrack::_diskstream_data_recorded_connection
private

Definition at line 165 of file midi_track.h.

MidiRingBuffer<framepos_t> ARDOUR::MidiTrack::_immediate_events
private

Definition at line 143 of file midi_track.h.

bool ARDOUR::MidiTrack::_input_active
private

Definition at line 147 of file midi_track.h.

NoteMode ARDOUR::MidiTrack::_note_mode
private

Definition at line 145 of file midi_track.h.

MidiChannelFilter ARDOUR::MidiTrack::_playback_filter
private

Definition at line 148 of file midi_track.h.

MidiRingBuffer<framepos_t> ARDOUR::MidiTrack::_step_edit_ring_buffer
private

Definition at line 144 of file midi_track.h.

bool ARDOUR::MidiTrack::_step_editing
private

Definition at line 146 of file midi_track.h.

PBD::Signal1<void, boost::weak_ptr<MidiSource> > ARDOUR::MidiTrack::DataRecorded

Definition at line 127 of file midi_track.h.

PBD::Signal0<void> ARDOUR::MidiTrack::InputActiveChanged

Definition at line 135 of file midi_track.h.

PBD::Signal1<void,bool> ARDOUR::MidiTrack::StepEditStatusChange

Definition at line 107 of file midi_track.h.


The documentation for this class was generated from the following files: