ardour
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
ARDOUR::Route Class Reference

#include <route.h>

Inheritance diagram for ARDOUR::Route:
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 ARDOUR::Track ARDOUR::AudioTrack ARDOUR::Auditioner ARDOUR::MidiTrack

Classes

struct  FeedRecord
 
struct  FeedRecordCompare
 
struct  MuteControllable
 
class  ProcessorState
 
struct  ProcessorStreams
 
class  SoloControllable
 

Public Types

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
 

Public Member Functions

 Route (Session &, std::string name, Flag flags=Flag(0), DataType default_type=DataType::AUDIO)
 
virtual ~Route ()
 
virtual int init ()
 
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)
 
bool set_name (const std::string &str)
 
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 MonitorState monitoring_state () const
 
virtual MeterState metering_state () const
 
virtual int roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, int declick, bool &need_butler)
 
virtual int no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, bool state_changing)
 
virtual int silent_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, bool &need_butler)
 
virtual bool can_record ()
 
virtual void set_record_enabled (bool, void *)
 
virtual bool record_enabled () const
 
virtual void nonrealtime_handle_transport_stopped (bool abort, bool did_locate, bool flush_processors)
 
virtual void realtime_handle_transport_stopped ()
 
virtual void realtime_locate ()
 
virtual void non_realtime_locate (framepos_t)
 
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 ()
 
virtual void set_latency_compensation (framecnt_t)
 
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_state ()
 
virtual int set_state (const XMLNode &, int version)
 
virtual XMLNodeget_template ()
 
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 describe_parameter (Evoral::Parameter param)
 
virtual std::string value_as_string (boost::shared_ptr< AutomationControl >) const
 
AutoState get_parameter_automation_state (Evoral::Parameter param)
 
virtual void set_parameter_automation_state (Evoral::Parameter param, AutoState)
 
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 ()
 

Static Public Member Functions

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 ()
 

Public Attributes

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
 

Static Public Attributes

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

enum  { EmitNone = 0x00, EmitMeterChanged = 0x01, EmitMeterVisibilityChange = 0x02, EmitRtProcessorChange = 0x04 }
 

Protected Member Functions

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 ()
 
virtual void set_block_size (pframes_t nframes)
 
virtual framecnt_t check_initial_delay (framecnt_t nframes, framepos_t &)
 
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 write_out_of_band_data (BufferSet &, framepos_t, framepos_t, framecnt_t)
 
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 void act_on_mute ()
 
virtual ChanCount input_streams () const
 
virtual XMLNodestate (bool)
 
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 ()
 
virtual void maybe_declick (BufferSet &, framecnt_t, int)
 
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)
 

Protected Attributes

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
 

Private Member Functions

int set_state_2X (const XMLNode &, int)
 
void set_processor_state_2X (XMLNodeList const &, int)
 
void input_change_handler (IOChange, void *src)
 
void output_change_handler (IOChange, void *src)
 
bool input_port_count_changing (ChanCount)
 
bool output_port_count_changing (ChanCount)
 
int configure_processors_unlocked (ProcessorStreams *)
 
bool set_meter_point_unlocked ()
 
void apply_processor_order (const ProcessorList &new_order)
 
std::list< std::pair
< ChanCount, ChanCount > > 
try_configure_processors (ChanCount, ProcessorStreams *)
 
std::list< std::pair
< ChanCount, ChanCount > > 
try_configure_processors_unlocked (ChanCount, ProcessorStreams *)
 
bool add_processor_from_xml_2X (const XMLNode &, int)
 
void placement_range (Placement p, ProcessorList::iterator &start, ProcessorList::iterator &end)
 
void set_self_solo (bool yn)
 
void set_mute_master_solo ()
 
void set_processor_positions ()
 
framecnt_t update_port_latencies (PortSet &ports, PortSet &feeders, bool playback, framecnt_t) const
 
void setup_invisible_processors ()
 
void unpan ()
 
 Route (Route const &)
 
void maybe_note_meter_position ()
 
void reset_instrument_info ()
 
void set_remote_control_id_internal (uint32_t id, bool notify_class_listeners=true)
 

Private Attributes

uint32_t _order_key
 
bool _has_order_key
 
uint32_t _remote_control_id
 
int64_t _track_number
 
bool _in_configure_processors
 
bool _initial_io_setup
 
boost::shared_ptr
< CapturingProcessor
_capturing_processor
 
bool _custom_meter_position_noted
 
boost::weak_ptr< Processor_processor_after_last_custom_meter
 

Friends

class Session
 
class ProcessorState
 

Detailed Description

Definition at line 72 of file route.h.

Member Typedef Documentation

Definition at line 377 of file route.h.

Definition at line 76 of file route.h.

Member Enumeration Documentation

anonymous enum
Enumerator
MasterBusRemoteControlID 
MonitorBusRemoteControlID 

Definition at line 444 of file route.h.

anonymous enum
protected
Enumerator
EmitNone 
EmitMeterChanged 
EmitMeterVisibilityChange 
EmitRtProcessorChange 

Definition at line 525 of file route.h.

Enumerator
Auditioner 
MasterOut 
MonitorOut 

Definition at line 78 of file route.h.

Constructor & Destructor Documentation

ARDOUR::Route::Route ( Session ,
std::string  name,
Flag  flags = Flag(0),
DataType  default_type = DataType::AUDIO 
)
Route::~Route ( )
virtual

Definition at line 217 of file route.cc.

ARDOUR::Route::Route ( Route const &  )
private

Member Function Documentation

void Route::ab_plugins ( bool  forward)

Definition at line 1452 of file route.cc.

virtual void ARDOUR::Route::act_on_mute ( )
inlineprotectedvirtual

Reimplemented in ARDOUR::MidiTrack.

Definition at line 557 of file route.h.

bool ARDOUR::Route::active ( ) const
inline

Definition at line 95 of file route.h.

int Route::add_aux_send ( boost::shared_ptr< Route route,
boost::shared_ptr< Processor before 
)

Add an aux send to a route.

Parameters
routeroute to send to.
beforeProcessor to insert before, or 0 to insert at the end.

Definition at line 2992 of file route.cc.

boost::shared_ptr< CapturingProcessor > Route::add_export_point ( )

Definition at line 3553 of file route.cc.

bool Route::add_fed_by ( boost::shared_ptr< Route other,
bool  sends_only 
)

Definition at line 3075 of file route.cc.

void Route::add_internal_return ( )

Definition at line 2931 of file route.cc.

int Route::add_processor ( boost::shared_ptr< Processor processor,
Placement  placement,
ProcessorStreams err = 0,
bool  activation_allowed = true 
)

Add a processor either pre- or post-fader

Returns
0 on success, non-0 on failure.

Definition at line 1099 of file route.cc.

int Route::add_processor ( boost::shared_ptr< Processor processor,
boost::shared_ptr< Processor before,
ProcessorStreams err = 0,
bool  activation_allowed = true 
)

Add a processor to the route.

Parameters
beforeAn existing processor in the list, or 0; the new processor will be inserted immediately before it (or at the end).
Returns
0 on success, non-0 on failure.

Definition at line 1120 of file route.cc.

int Route::add_processor_by_index ( boost::shared_ptr< Processor processor,
int  index,
ProcessorStreams err = 0,
bool  activation_allowed = true 
)

Add a processor to a route such that it ends up with a given index into the visible processors.

Parameters
indexIndex to add the processor at, or -1 to add at the end of the list.
Returns
0 on success, non-0 on failure.

Definition at line 1110 of file route.cc.

bool Route::add_processor_from_xml_2X ( const XMLNode node,
int  version 
)
private

Definition at line 1208 of file route.cc.

int Route::add_processors ( const ProcessorList others,
boost::shared_ptr< Processor before,
ProcessorStreams err = 0 
)

Definition at line 1288 of file route.cc.

void Route::add_send_to_internal_return ( InternalSend send)

Definition at line 2940 of file route.cc.

void Route::all_visible_processors_active ( bool  state)

Set all visible processors to a given active state (except Fader, whose state is not changed)

Parameters
stateNew active state for those processors.

Definition at line 1934 of file route.cc.

boost::shared_ptr<Amp> ARDOUR::Route::amp ( ) const
inline

Definition at line 194 of file route.h.

bool Route::apply_processor_changes_rt ( )

Definition at line 3377 of file route.cc.

void Route::apply_processor_order ( const ProcessorList new_order)
private

Definition at line 1992 of file route.cc.

boost::shared_ptr< Processor > Route::before_processor_for_index ( int  index)

Supposing that we want to insert a Processor at a given index, return the processor to add the new one before (or 0 to add at the end).

Definition at line 1074 of file route.cc.

boost::shared_ptr< Processor > Route::before_processor_for_placement ( Placement  p)

Supposing that we want to insert a Processor at a given Placement, return the processor to add the new one before (or 0 to add at the end).

Definition at line 1053 of file route.cc.

framecnt_t Route::bounce_get_latency ( boost::shared_ptr< Processor endpoint,
bool  include_endpoint,
bool  for_export,
bool  for_freeze 
) const
protected

Definition at line 657 of file route.cc.

ChanCount Route::bounce_get_output_streams ( ChanCount cc,
boost::shared_ptr< Processor endpoint,
bool  include_endpoint,
bool  for_export,
bool  for_freeze 
) const
protected

Definition at line 686 of file route.cc.

void Route::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 
)
protectedvirtual

Definition at line 609 of file route.cc.

virtual bool ARDOUR::Route::can_record ( )
inlinevirtual

Reimplemented in ARDOUR::Track.

Definition at line 128 of file route.h.

void Route::cancel_solo_after_disconnect ( bool  upstream)

Definition at line 3245 of file route.cc.

void ARDOUR::Route::catch_up_on_solo_mute_override ( )
protected
virtual framecnt_t ARDOUR::Route::check_initial_delay ( framecnt_t  nframes,
framepos_t  
)
inlineprotectedvirtual

Reimplemented in ARDOUR::Track.

Definition at line 484 of file route.h.

void Route::clear_fed_by ( )

Definition at line 3094 of file route.cc.

void Route::clear_processors ( Placement  p)

Remove processors with a given placement.

Parameters
pPlacement of processors to remove.

Definition at line 1501 of file route.cc.

std::string ARDOUR::Route::comment ( )
inline

Definition at line 100 of file route.h.

int Route::configure_processors ( ProcessorStreams err)
protected

Caller must hold process lock

Definition at line 1789 of file route.cc.

int Route::configure_processors_unlocked ( ProcessorStreams err)
private

Set the input/output configuration of each processor in the processors list. Caller must hold process lock. Return 0 on success, otherwise configuration is impossible.

Definition at line 1862 of file route.cc.

void Route::curve_reallocate ( )
protected

Definition at line 2887 of file route.cc.

boost::shared_ptr<DelayLine> ARDOUR::Route::delay_line ( ) const
inline

Definition at line 199 of file route.h.

bool Route::denormal_protection ( ) const

Definition at line 3996 of file route.cc.

bool Route::direct_feeds_according_to_graph ( boost::shared_ptr< Route other,
bool *  via_send_only = 0 
)

return true if this route feeds the first argument directly, via either its main outs or a send, according to the graph that is currently being processed.

Definition at line 3160 of file route.cc.

bool Route::direct_feeds_according_to_reality ( boost::shared_ptr< Route other,
bool *  via_send_only = 0 
)

return true if this route feeds the first argument directly, via either its main outs or a send. This is checked by the actual connections, rather than by what the graph is currently doing.

Definition at line 3121 of file route.cc.

void Route::disable_plugins ( Placement  p)

Turn off all redirects with a given placement

Parameters
pPlacement of redirects to disable

Definition at line 1418 of file route.cc.

void Route::disable_plugins ( )

Turn off all plugins

Definition at line 1437 of file route.cc.

void Route::disable_processors ( Placement  p)

Turn off all processors with a given placement

Parameters
pPlacement of processors to disable

Definition at line 1386 of file route.cc.

void Route::disable_processors ( )

Turn off all redirects

Definition at line 1403 of file route.cc.

void Route::emit_pending_signals ( )

Definition at line 3417 of file route.cc.

void Route::enable_monitor_send ( )

Definition at line 2968 of file route.cc.

string Route::ensure_track_or_route_name ( std::string  ,
Session  
)
static

Definition at line 353 of file route.cc.

const FedBy& ARDOUR::Route::fed_by ( ) const
inline

Definition at line 379 of file route.h.

bool Route::feeds ( boost::shared_ptr< Route other,
bool *  via_send_only = 0 
)

return true if this route feeds the first argument via at least one (arbitrarily long) signal pathway.

Definition at line 3100 of file route.cc.

void Route::fill_buffers_with_input ( BufferSet bufs,
boost::shared_ptr< IO io,
pframes_t  nframes 
)
protected

Definition at line 4629 of file route.cc.

void Route::flush_processors ( )

Definition at line 3360 of file route.cc.

void ARDOUR::Route::foreach_processor ( boost::function< void(boost::weak_ptr< Processor >)>  method)
inline

Definition at line 203 of file route.h.

boost::shared_ptr< AutomationControl > Route::gain_control ( ) const

Definition at line 4042 of file route.cc.

boost::shared_ptr< AutomationControl > Route::get_control ( const Evoral::Parameter param)

Definition at line 4048 of file route.cc.

XMLNode & Route::get_processor_state ( )

Definition at line 2723 of file route.cc.

XMLNode & Route::get_state ( void  )
virtual

Implements PBD::Stateful.

Reimplemented in ARDOUR::Track.

Definition at line 2131 of file route.cc.

XMLNode & Route::get_template ( )
virtual

Reimplemented in ARDOUR::Track.

Definition at line 2137 of file route.cc.

bool Route::has_external_redirects ( ) const

Definition at line 4568 of file route.cc.

bool Route::has_io_processor_named ( const std::string &  )

Definition at line 4112 of file route.cc.

bool Route::has_order_key ( ) const

Definition at line 300 of file route.cc.

void Route::inc_gain ( gain_t  delta,
void *  src 
)

Definition at line 365 of file route.cc.

void Route::inc_trim ( gain_t  delta,
void *  src 
)

Definition at line 426 of file route.cc.

int Route::init ( )
virtual

Reimplemented in ARDOUR::Auditioner, ARDOUR::Track, and ARDOUR::MidiTrack.

Definition at line 122 of file route.cc.

framecnt_t ARDOUR::Route::initial_delay ( ) const
inline

Definition at line 282 of file route.h.

boost::shared_ptr<IO> ARDOUR::Route::input ( ) const
inline

Definition at line 89 of file route.h.

void Route::input_change_handler ( IOChange  change,
void *  src 
)
private

Definition at line 3190 of file route.cc.

bool Route::input_port_count_changing ( ChanCount  to)
private

Called when there is a proposed change to the input port count

Definition at line 4151 of file route.cc.

ChanCount Route::input_streams ( ) const
protectedvirtual

Reimplemented in ARDOUR::Auditioner.

Definition at line 1804 of file route.cc.

InstrumentInfo& ARDOUR::Route::instrument_info ( )
inline

Definition at line 440 of file route.h.

boost::shared_ptr<InternalReturn> ARDOUR::Route::internal_return ( ) const
inline

Definition at line 238 of file route.h.

boost::shared_ptr< Send > Route::internal_send_for ( boost::shared_ptr< const Route target) const

Definition at line 3934 of file route.cc.

bool ARDOUR::Route::is_auditioner ( ) const
inline

Definition at line 110 of file route.h.

bool ARDOUR::Route::is_master ( ) const
inline

Definition at line 111 of file route.h.

bool ARDOUR::Route::is_monitor ( ) const
inline

Definition at line 112 of file route.h.

void Route::listen_position_changed ( )

Definition at line 3534 of file route.cc.

bool Route::listening_via_monitor ( ) const

Definition at line 785 of file route.cc.

boost::shared_ptr<Delivery> ARDOUR::Route::main_outs ( ) const
inline

Definition at line 237 of file route.h.

ChanCount ARDOUR::Route::max_processor_streams ( ) const
inline

Definition at line 230 of file route.h.

void Route::maybe_declick ( BufferSet ,
framecnt_t  ,
int   
)
protectedvirtual

Reimplemented in ARDOUR::Track.

Definition at line 439 of file route.cc.

void Route::maybe_note_meter_position ( )
private

If the meter point is `Custom', make a note of where the meter is. This is so that if the meter point is subsequently set to something else, and then back to custom, we can put the meter back where it was last time custom was enabled.

Must be called with the _processor_lock held.

Definition at line 4501 of file route.cc.

MeterPoint ARDOUR::Route::meter_point ( ) const
inline

Definition at line 187 of file route.h.

MeterType ARDOUR::Route::meter_type ( ) const
inline

Definition at line 190 of file route.h.

MeterState Route::metering_state ( ) const
virtual
Returns
what we should be metering; either the data coming from the input IO or the data that is flowing through the route.

Reimplemented in ARDOUR::Track.

Definition at line 4562 of file route.cc.

void Route::mod_solo_by_others_downstream ( int32_t  delta)
protected

Definition at line 906 of file route.cc.

void Route::mod_solo_by_others_upstream ( int32_t  delta)
protected

Definition at line 846 of file route.cc.

boost::shared_ptr<MonitorProcessor> ARDOUR::Route::monitor_control ( ) const
inline

Definition at line 239 of file route.h.

void Route::monitor_run ( framepos_t  start_frame,
framepos_t  end_frame,
pframes_t  nframes,
int  declick 
)

Definition at line 720 of file route.cc.

boost::shared_ptr<InternalSend> ARDOUR::Route::monitor_send ( ) const
inline

Definition at line 236 of file route.h.

MonitorState Route::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 in ARDOUR::MidiTrack, ARDOUR::Auditioner, and ARDOUR::Track.

Definition at line 4553 of file route.cc.

boost::shared_ptr<MuteControllable> ARDOUR::Route::mute_control ( ) const
inline

Definition at line 414 of file route.h.

boost::shared_ptr<MuteMaster> ARDOUR::Route::mute_master ( ) const
inline

Definition at line 418 of file route.h.

MuteMaster::MutePoint Route::mute_points ( ) const

Definition at line 4130 of file route.cc.

bool Route::muted ( ) const

Definition at line 1031 of file route.cc.

ChanCount ARDOUR::Route::n_inputs ( ) const
inline

Definition at line 92 of file route.h.

ChanCount ARDOUR::Route::n_outputs ( ) const
inline

Definition at line 93 of file route.h.

ChanCount Route::n_process_buffers ( )
protected

Definition at line 714 of file route.cc.

int Route::no_roll ( pframes_t  nframes,
framepos_t  start_frame,
framepos_t  end_frame,
bool  state_changing 
)
virtual

Reimplemented in ARDOUR::MidiTrack, and ARDOUR::Track.

Definition at line 3267 of file route.cc.

void Route::non_realtime_locate ( framepos_t  pos)
virtual

Reimplemented in ARDOUR::Track, and ARDOUR::MidiTrack.

Definition at line 4608 of file route.cc.

void Route::nonrealtime_handle_transport_stopped ( bool  abort,
bool  did_locate,
bool  can_flush_processors 
)
virtual

Called from the (non-realtime) butler thread when the transport is stopped

Definition at line 3167 of file route.cc.

boost::shared_ptr< Processor > Route::nth_plugin ( uint32_t  n)

Definition at line 4078 of file route.cc.

boost::shared_ptr<Processor> ARDOUR::Route::nth_processor ( uint32_t  n)
inline

Definition at line 213 of file route.h.

boost::shared_ptr< Processor > Route::nth_send ( uint32_t  n)

Definition at line 4095 of file route.cc.

uint32_t Route::order_key ( ) const

Definition at line 306 of file route.cc.

boost::shared_ptr<IO> ARDOUR::Route::output ( ) const
inline

Definition at line 90 of file route.h.

void Route::output_change_handler ( IOChange  change,
void *  src 
)
private

Definition at line 3214 of file route.cc.

bool Route::output_port_count_changing ( ChanCount  to)
private

Called when there is a proposed change to the output port count

Definition at line 4167 of file route.cc.

boost::shared_ptr< Pannable > Route::pannable ( ) const

Definition at line 4023 of file route.cc.

boost::shared_ptr< Panner > Route::panner ( ) const

Definition at line 4029 of file route.cc.

boost::shared_ptr< PannerShell > Route::panner_shell ( ) const

Definition at line 4036 of file route.cc.

uint32_t Route::pans_required ( ) const
protected

Definition at line 3257 of file route.cc.

void Route::passthru ( BufferSet bufs,
framepos_t  start_frame,
framepos_t  end_frame,
pframes_t  nframes,
int  declick 
)
protected

Definition at line 729 of file route.cc.

void Route::passthru_silence ( framepos_t  start_frame,
framepos_t  end_frame,
pframes_t  nframes,
int  declick 
)
protected

Definition at line 748 of file route.cc.

PeakMeter& ARDOUR::Route::peak_meter ( )
inline

Definition at line 196 of file route.h.

const PeakMeter& ARDOUR::Route::peak_meter ( ) const
inline

Definition at line 197 of file route.h.

bool Route::phase_invert ( uint32_t  c) const

Definition at line 3975 of file route.cc.

boost::dynamic_bitset Route::phase_invert ( ) const

Definition at line 3981 of file route.cc.

void Route::placement_range ( Placement  p,
ProcessorList::iterator &  start,
ProcessorList::iterator &  end 
)
private

Definition at line 1370 of file route.cc.

void Route::process_output_buffers ( BufferSet bufs,
framepos_t  start_frame,
framepos_t  end_frame,
pframes_t  nframes,
int  declick,
bool  gain_automation_ok 
)
protectedvirtual

Process this route for one (sub) cycle (process thread)

Parameters
bufsScratch buffers to use for the signal path
start_frameInitial transport frame
end_frameFinal transport frame
nframesNumber of frames to output (to ports)

Note that (end_frame - start_frame) may not be equal to nframes when the transport speed isn't 1.0 (eg varispeed).

Definition at line 457 of file route.cc.

boost::shared_ptr< Processor > Route::processor_by_id ( PBD::ID  id) const

Definition at line 4537 of file route.cc.

bool Route::processors_reorder_needs_configure ( const ProcessorList new_order)

Definition at line 1958 of file route.cc.

void Route::protect_automation ( )

Definition at line 3764 of file route.cc.

virtual void ARDOUR::Route::realtime_handle_transport_stopped ( )
inlinevirtual

Reimplemented in ARDOUR::MidiTrack.

Definition at line 133 of file route.h.

virtual void ARDOUR::Route::realtime_locate ( )
inlinevirtual

Reimplemented in ARDOUR::MidiTrack.

Definition at line 134 of file route.h.

virtual bool ARDOUR::Route::record_enabled ( ) const
inlinevirtual

Reimplemented in ARDOUR::Track.

Definition at line 131 of file route.h.

uint32_t Route::remote_control_id ( ) const

Definition at line 286 of file route.cc.

void Route::remove_aux_or_listen ( boost::shared_ptr< Route route)

Definition at line 3030 of file route.cc.

int Route::remove_processor ( boost::shared_ptr< Processor processor,
ProcessorStreams err = 0,
bool  need_process_lock = true 
)

Definition at line 1574 of file route.cc.

int Route::remove_processors ( const ProcessorList to_be_deleted,
ProcessorStreams err = 0 
)

Definition at line 1685 of file route.cc.

void Route::remove_send_from_internal_return ( InternalSend send)

Definition at line 2954 of file route.cc.

int Route::reorder_processors ( const ProcessorList new_order,
ProcessorStreams err = 0 
)

Definition at line 2075 of file route.cc.

void Route::reset_instrument_info ( )
private

Definition at line 1779 of file route.cc.

int Route::roll ( pframes_t  nframes,
framepos_t  start_frame,
framepos_t  end_frame,
int  declick,
bool &  need_butler 
)
virtual

Reimplemented in ARDOUR::Auditioner, ARDOUR::Track, ARDOUR::MidiTrack, and ARDOUR::AudioTrack.

Definition at line 3315 of file route.cc.

int Route::save_as_template ( const std::string &  path,
const std::string &  name 
)

Definition at line 3857 of file route.cc.

bool ARDOUR::Route::self_soloed ( ) const
inline

Definition at line 164 of file route.h.

void Route::set_active ( bool  yn,
void *  src 
)

Definition at line 4002 of file route.cc.

void Route::set_block_size ( pframes_t  nframes)
protectedvirtual

Reimplemented in ARDOUR::Track.

Definition at line 3754 of file route.cc.

void Route::set_comment ( std::string  str,
void *  src 
)

Definition at line 3067 of file route.cc.

void Route::set_denormal_protection ( bool  yn)

Definition at line 3987 of file route.cc.

void Route::set_gain ( gain_t  val,
void *  src 
)

Definition at line 371 of file route.cc.

void Route::set_latency_compensation ( framecnt_t  longest_session_latency)
virtual

Reimplemented in ARDOUR::Track.

Definition at line 3620 of file route.cc.

void Route::set_listen ( bool  yn,
void *  src 
)

Definition at line 758 of file route.cc.

void Route::set_meter_point ( MeterPoint  p,
bool  force = false 
)

Definition at line 3436 of file route.cc.

bool Route::set_meter_point_unlocked ( )
private

Definition at line 3463 of file route.cc.

void ARDOUR::Route::set_meter_type ( MeterType  t)
inline

Definition at line 189 of file route.h.

void Route::set_mute ( bool  yn,
void *  src 
)

Definition at line 1011 of file route.cc.

void Route::set_mute_master_solo ( )
private

Definition at line 933 of file route.cc.

void Route::set_mute_points ( MuteMaster::MutePoint  mp)

Definition at line 999 of file route.cc.

bool Route::set_name ( const std::string &  str)
virtual

Reimplemented from ARDOUR::SessionObject.

Reimplemented in ARDOUR::Track.

Definition at line 3870 of file route.cc.

void Route::set_name_in_state ( XMLNode ,
const std::string &   
)
static

Set the name of a route in an XML description.

Parameters
nodeXML <Route> node to set the name in.
nameNew name.

Definition at line 3906 of file route.cc.

void Route::set_order_key ( uint32_t  n)

Definition at line 336 of file route.cc.

void Route::set_pending_declick ( int  declick)
virtual
Parameters
declick1 to set a pending declick fade-in, -1 to set a pending declick fade-out

Definition at line 3774 of file route.cc.

void Route::set_phase_invert ( uint32_t  c,
bool  yn 
)
Parameters
cAudio channel index.
yntrue to invert phase, otherwise false.

Definition at line 3955 of file route.cc.

void Route::set_phase_invert ( boost::dynamic_bitset<>  p)

Definition at line 3965 of file route.cc.

framecnt_t Route::set_private_port_latencies ( bool  playback) const

Definition at line 4244 of file route.cc.

void Route::set_processor_positions ( )
private

Definition at line 4136 of file route.cc.

void Route::set_processor_state ( const XMLNode node)
virtual

Definition at line 2748 of file route.cc.

void Route::set_processor_state_2X ( XMLNodeList const &  nList,
int  version 
)
private

Definition at line 2734 of file route.cc.

void Route::set_public_port_latencies ( framecnt_t  value,
bool  playback 
) const

Definition at line 4275 of file route.cc.

virtual void ARDOUR::Route::set_record_enabled ( bool  ,
void *   
)
inlinevirtual

Reimplemented in ARDOUR::Track, and ARDOUR::MidiTrack.

Definition at line 130 of file route.h.

void Route::set_remote_control_id ( uint32_t  id,
bool  notify_class_listeners = true 
)

Definition at line 239 of file route.cc.

void Route::set_remote_control_id_explicit ( uint32_t  order_key)

Definition at line 312 of file route.cc.

void Route::set_remote_control_id_internal ( uint32_t  id,
bool  notify_class_listeners = true 
)
private

Definition at line 249 of file route.cc.

void Route::set_self_solo ( bool  yn)
private

Definition at line 839 of file route.cc.

void Route::set_solo ( bool  yn,
void *  src 
)

Definition at line 810 of file route.cc.

void Route::set_solo_isolated ( bool  yn,
void *  src 
)

Definition at line 939 of file route.cc.

void Route::set_solo_safe ( bool  yn,
void *  src 
)

Definition at line 795 of file route.cc.

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

Implements PBD::Stateful.

Reimplemented in ARDOUR::Track, ARDOUR::Auditioner, ARDOUR::MidiTrack, and ARDOUR::AudioTrack.

Definition at line 2243 of file route.cc.

int Route::set_state_2X ( const XMLNode node,
int  version 
)
private

Definition at line 2465 of file route.cc.

void ARDOUR::Route::set_track_number ( int64_t  tn)
inline

Definition at line 304 of file route.h.

void Route::set_trim ( gain_t  val,
void *  src 
)

Definition at line 432 of file route.cc.

void Route::set_user_latency ( framecnt_t  nframes)

Definition at line 3613 of file route.cc.

void Route::setup_invisible_processors ( )
private

Put the invisible processors in the right place in _processors. Must be called with a writer lock on _processor_lock held.

Definition at line 4308 of file route.cc.

boost::shared_ptr<PeakMeter> ARDOUR::Route::shared_peak_meter ( ) const
inline

Definition at line 198 of file route.h.

void Route::shift ( framepos_t  pos,
framecnt_t  frames 
)

Shift automation forwards from a particular place, thereby inserting time. Adds undo commands for any shifts that are performed.

Parameters
posPosition to start shifting from.
framesAmount to shift forwards by.

Definition at line 3794 of file route.cc.

framecnt_t ARDOUR::Route::signal_latency ( ) const
inline

Definition at line 283 of file route.h.

void Route::silence ( framecnt_t  nframes)
protected

Definition at line 2894 of file route.cc.

void Route::silence_unlocked ( framecnt_t  nframes)
protected

Definition at line 2905 of file route.cc.

int Route::silent_roll ( pframes_t  nframes,
framepos_t  start_frame,
framepos_t  end_frame,
bool &  need_butler 
)
virtual

Reimplemented in ARDOUR::Track.

Definition at line 3353 of file route.cc.

boost::shared_ptr<SoloControllable> ARDOUR::Route::solo_control ( ) const
inline

Definition at line 410 of file route.h.

bool Route::solo_isolated ( ) const

Definition at line 993 of file route.cc.

bool Route::solo_safe ( ) const

Definition at line 804 of file route.cc.

bool ARDOUR::Route::soloed ( ) const
inline

Definition at line 158 of file route.h.

bool ARDOUR::Route::soloed_by_others ( ) const
inline

Definition at line 161 of file route.h.

bool ARDOUR::Route::soloed_by_others_downstream ( ) const
inline

Definition at line 163 of file route.h.

bool ARDOUR::Route::soloed_by_others_upstream ( ) const
inline

Definition at line 162 of file route.h.

XMLNode & Route::state ( bool  full_state)
protectedvirtual

Reimplemented in ARDOUR::Track, ARDOUR::MidiTrack, and ARDOUR::AudioTrack.

Definition at line 2143 of file route.cc.

boost::shared_ptr< Processor > Route::the_instrument ( ) const

Return the first processor that accepts has at least one MIDI input and at least one audio output. In the vast majority of cases, this will be "the instrument". This does not preclude other MIDI->audio processors later in the processing chain, but that would be a special case not covered by this utility function.

Definition at line 4585 of file route.cc.

boost::shared_ptr< Processor > Route::the_instrument_unlocked ( ) const
protected

Definition at line 4592 of file route.cc.

int64_t ARDOUR::Route::track_number ( ) const
inline

Definition at line 302 of file route.h.

boost::shared_ptr<Amp> ARDOUR::Route::trim ( ) const
inline

Definition at line 195 of file route.h.

list< pair< ChanCount, ChanCount > > Route::try_configure_processors ( ChanCount  in,
ProcessorStreams err 
)
private

Definition at line 1810 of file route.cc.

list< pair< ChanCount, ChanCount > > Route::try_configure_processors_unlocked ( ChanCount  in,
ProcessorStreams err 
)
private

Definition at line 1818 of file route.cc.

list< string > Route::unknown_processors ( ) const

Definition at line 4179 of file route.cc.

void Route::unpan ( )
private

Definition at line 4478 of file route.cc.

framecnt_t Route::update_port_latencies ( PortSet ports,
PortSet feeders,
bool  playback,
framecnt_t  our_latency 
) const
private

Definition at line 4195 of file route.cc.

framecnt_t Route::update_signal_latency ( )

Definition at line 3572 of file route.cc.

virtual void ARDOUR::Route::write_out_of_band_data ( BufferSet ,
framepos_t  ,
framepos_t  ,
framecnt_t   
)
inlineprotectedvirtual

Reimplemented in ARDOUR::MidiTrack.

Definition at line 491 of file route.h.

Friends And Related Function Documentation

friend class ProcessorState
friend

Definition at line 661 of file route.h.

friend class Session
friend

Definition at line 475 of file route.h.

Member Data Documentation

bool ARDOUR::Route::_active
protected

Definition at line 510 of file route.h.

boost::shared_ptr<Amp> ARDOUR::Route::_amp
protected

Definition at line 588 of file route.h.

boost::shared_ptr<CapturingProcessor> ARDOUR::Route::_capturing_processor
private

Definition at line 634 of file route.h.

std::string ARDOUR::Route::_comment
protected

Definition at line 559 of file route.h.

bool ARDOUR::Route::_custom_meter_position_noted
private

true if we've made a note of a custom meter position in these variables

Definition at line 669 of file route.h.

bool ARDOUR::Route::_declickable
protected

Definition at line 551 of file route.h.

DataType ARDOUR::Route::_default_type
protected

Definition at line 562 of file route.h.

boost::shared_ptr<DelayLine> ARDOUR::Route::_delayline
protected

Definition at line 591 of file route.h.

bool ARDOUR::Route::_denormal_protection
protected

Definition at line 547 of file route.h.

FedBy ARDOUR::Route::_fed_by
protected

Definition at line 563 of file route.h.

Flag ARDOUR::Route::_flags
protected

Definition at line 536 of file route.h.

bool ARDOUR::Route::_has_order_key
private

Definition at line 600 of file route.h.

bool ARDOUR::Route::_have_internal_generator
protected

Definition at line 560 of file route.h.

bool ARDOUR::Route::_in_configure_processors
private

Definition at line 611 of file route.h.

framecnt_t ARDOUR::Route::_initial_delay
protected

Definition at line 514 of file route.h.

bool ARDOUR::Route::_initial_io_setup
private

Definition at line 612 of file route.h.

boost::shared_ptr<IO> ARDOUR::Route::_input
protected

Definition at line 507 of file route.h.

InstrumentInfo ARDOUR::Route::_instrument_info
protected

Definition at line 565 of file route.h.

boost::shared_ptr<InternalReturn> ARDOUR::Route::_intreturn
protected

Definition at line 521 of file route.h.

boost::shared_ptr<Delivery> ARDOUR::Route::_main_outs
protected

Definition at line 519 of file route.h.

boost::shared_ptr<PeakMeter> ARDOUR::Route::_meter
protected

Definition at line 590 of file route.h.

MeterPoint ARDOUR::Route::_meter_point
protected

Definition at line 538 of file route.h.

MeterType ARDOUR::Route::_meter_type
protected

Definition at line 540 of file route.h.

boost::shared_ptr<MonitorProcessor> ARDOUR::Route::_monitor_control
protected

Definition at line 522 of file route.h.

boost::shared_ptr<InternalSend> ARDOUR::Route::_monitor_send
protected

Definition at line 520 of file route.h.

boost::shared_ptr<MuteControllable> ARDOUR::Route::_mute_control
protected

Definition at line 554 of file route.h.

boost::shared_ptr<MuteMaster> ARDOUR::Route::_mute_master
protected

Definition at line 555 of file route.h.

uint32_t ARDOUR::Route::_order_key
private

Definition at line 599 of file route.h.

boost::shared_ptr<IO> ARDOUR::Route::_output
protected

Definition at line 508 of file route.h.

boost::shared_ptr<Pannable> ARDOUR::Route::_pannable
protected

Definition at line 523 of file route.h.

int ARDOUR::Route::_pending_declick
protected

Definition at line 537 of file route.h.

MeterPoint ARDOUR::Route::_pending_meter_point
protected

Definition at line 539 of file route.h.

gint ARDOUR::Route::_pending_process_reorder
protected

Definition at line 533 of file route.h.

ProcessorList ARDOUR::Route::_pending_processor_order
protected

Definition at line 532 of file route.h.

gint ARDOUR::Route::_pending_signals
protected

Definition at line 534 of file route.h.

boost::dynamic_bitset ARDOUR::Route::_phase_invert
protected

Definition at line 541 of file route.h.

boost::weak_ptr<Processor> ARDOUR::Route::_processor_after_last_custom_meter
private

the processor that came after the meter when it was last set to a custom position, or 0.

Definition at line 673 of file route.h.

Glib::Threads::RWLock ARDOUR::Route::_processor_lock
mutableprotected

Definition at line 518 of file route.h.

ProcessorList ARDOUR::Route::_processors
protected

Definition at line 517 of file route.h.

bool ARDOUR::Route::_recordable
protected

Definition at line 549 of file route.h.

uint32_t ARDOUR::Route::_remote_control_id
private

Definition at line 601 of file route.h.

framecnt_t ARDOUR::Route::_roll_delay
protected

Definition at line 515 of file route.h.

bool ARDOUR::Route::_self_solo
protected

Definition at line 542 of file route.h.

framecnt_t ARDOUR::Route::_signal_latency
protected

Definition at line 511 of file route.h.

framecnt_t ARDOUR::Route::_signal_latency_at_amp_position
protected

Definition at line 512 of file route.h.

framecnt_t ARDOUR::Route::_signal_latency_at_trim_position
protected

Definition at line 513 of file route.h.

bool ARDOUR::Route::_silent
protected

Definition at line 550 of file route.h.

boost::shared_ptr<SoloControllable> ARDOUR::Route::_solo_control
protected

Definition at line 553 of file route.h.

uint32_t ARDOUR::Route::_solo_isolated
protected

Definition at line 545 of file route.h.

bool ARDOUR::Route::_solo_safe
protected

Definition at line 561 of file route.h.

uint32_t ARDOUR::Route::_soloed_by_others_downstream
protected

Definition at line 544 of file route.h.

uint32_t ARDOUR::Route::_soloed_by_others_upstream
protected

Definition at line 543 of file route.h.

int64_t ARDOUR::Route::_track_number
private

Definition at line 603 of file route.h.

boost::shared_ptr<Amp> ARDOUR::Route::_trim
protected

Definition at line 589 of file route.h.

PBD::Signal0<void> ARDOUR::Route::active_changed

Definition at line 285 of file route.h.

PBD::Signal1<void,void*> ARDOUR::Route::comment_changed

Definition at line 292 of file route.h.

PBD::Signal0<void> ARDOUR::Route::denormal_protection_changed

Definition at line 287 of file route.h.

PBD::Signal2<void,std::string,void*> ARDOUR::Route::gui_changed

Definition at line 324 of file route.h.

PBD::Signal0<void> ARDOUR::Route::initial_delay_changed

Definition at line 317 of file route.h.

PBD::Signal0<void> ARDOUR::Route::io_changed

Emitted with the process lock held

Definition at line 320 of file route.h.

PBD::Signal1<void,void*> ARDOUR::Route::listen_changed

Definition at line 288 of file route.h.

PBD::Signal0<void> ARDOUR::Route::meter_change

the metering point has changed

Definition at line 315 of file route.h.

PBD::Signal1<void,void*> ARDOUR::Route::mute_changed

Definition at line 293 of file route.h.

PBD::Signal0<void> ARDOUR::Route::mute_points_changed

Definition at line 294 of file route.h.

PBD::Signal0<void> ARDOUR::Route::phase_invert_changed

Definition at line 286 of file route.h.

ChanCount ARDOUR::Route::processor_max_streams
protected

Definition at line 580 of file route.h.

ChanCount ARDOUR::Route::processor_out_streams
protected

Definition at line 581 of file route.h.

PBD::Signal1<void,RouteProcessorChange> ARDOUR::Route::processors_changed

the processors have changed; the parameter indicates what changed

Definition at line 312 of file route.h.

PBD::Signal1<void,void*> ARDOUR::Route::record_enable_changed

Definition at line 313 of file route.h.

PBD::Signal0< void > Route::RemoteControlIDChange
static

Definition at line 463 of file route.h.

PBD::Signal0<void> ARDOUR::Route::RemoteControlIDChanged

Definition at line 459 of file route.h.

PBD::Signal1<void,void*> ARDOUR::Route::SelectedChanged

Definition at line 337 of file route.h.

PBD::Signal0<void> ARDOUR::Route::signal_latency_changed

Definition at line 316 of file route.h.

PBD::Signal2<void,bool,void*> ARDOUR::Route::solo_changed

Definition at line 289 of file route.h.

PBD::Signal1<void,void*> ARDOUR::Route::solo_isolated_changed

Definition at line 291 of file route.h.

PBD::Signal1<void,void*> ARDOUR::Route::solo_safe_changed

Definition at line 290 of file route.h.

PBD::Signal0< void > Route::SyncOrderKeys
static

Definition at line 464 of file route.h.

PBD::Signal0<void> ARDOUR::Route::track_number_changed

track numbers - assigned by session nubers > 0 indicate tracks (audio+midi) nubers < 0 indicate busses zero is reserved for unnumbered special busses.

Definition at line 301 of file route.h.


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