Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::Route Class Reference

#include <route.h>

Inheritance diagram for ARDOUR::Route:
[legend]

Classes

class  ProcessorState
 
struct  ProcessorStreams
 

Public Types

enum  PluginSetupOptions { None = 0x0 , CanReplace = 0x1 , MultiOut = 0x2 }
 
typedef std::list< std::shared_ptr< Processor > > ProcessorList
 
- Public Types inherited from Evoral::ControlSet
typedef std::map< Parameter, std::shared_ptr< Control > > Controls
 
- Public Types inherited from ARDOUR::GraphActivision
typedef std::map< GraphChain const *, node_set_tActivationMap
 
typedef std::map< GraphChain const *, int > RefCntMap
 

Public Member Functions

 Route (Session &, std::string name, PresentationInfo::Flag flags=PresentationInfo::Flag(0), DataType default_type=DataType::AUDIO)
 
virtual ~Route ()
 
virtual int init ()
 
DataType data_type () const
 
std::shared_ptr< IOinput () const
 
std::shared_ptr< IOoutput () const
 
IOVector all_inputs () const
 
IOVector all_outputs () const
 
ChanCount n_inputs () const
 
ChanCount n_outputs () const
 
bool active () const
 
void set_active (bool yn, void *)
 
std::string ensure_track_or_route_name (std::string) const
 
std::string comment ()
 
void set_comment (std::string str, void *src)
 
bool set_name (const std::string &str)
 
std::shared_ptr< MonitorControlmonitoring_control () const
 
std::shared_ptr< SurroundSendsurround_send () const
 
std::shared_ptr< SurroundReturnsurround_return () const
 
MonitorState monitoring_state () const
 
virtual MonitorState get_input_monitoring_state (bool recording, bool talkback) const
 
virtual void filter_input (BufferSet &)
 
int roll (pframes_t nframes, samplepos_t start_sample, samplepos_t end_sample, bool &need_butler)
 
int no_roll (pframes_t nframes, samplepos_t start_sample, samplepos_t end_sample, bool state_changing)
 
int silence (pframes_t)
 
virtual bool declick_in_progress () const
 
virtual bool can_record ()
 
void non_realtime_transport_stop (samplepos_t now, bool flush)
 
virtual void realtime_handle_transport_stopped ()
 
virtual void realtime_locate (bool)
 
virtual void non_realtime_locate (samplepos_t)
 
void set_loop (ARDOUR::Location *)
 
void shift (timepos_t const &, timecnt_t const &)
 
void cut_copy_section (timepos_t const &start, timepos_t const &end, timepos_t const &to, SectionOperation const op)
 
void clear_all_solo_state ()
 
bool soloed_by_others () const
 
bool soloed_by_others_upstream () const
 
bool soloed_by_others_downstream () const
 
bool self_soloed () const
 
bool soloed () const
 
void push_solo_upstream (int32_t delta)
 
void push_solo_isolate_upstream (int32_t delta)
 
bool can_solo () const
 
bool is_safe () const
 
bool can_monitor () const
 
void enable_monitor_send ()
 
void enable_surround_send ()
 
void set_denormal_protection (bool yn)
 
bool denormal_protection () const
 
void set_meter_point (MeterPoint)
 
bool apply_processor_changes_rt ()
 
void emit_pending_signals ()
 
MeterPoint meter_point () const
 
void update_send_delaylines ()
 
void set_meter_type (MeterType t)
 
MeterType meter_type () const
 
void set_disk_io_point (DiskIOPoint)
 
DiskIOPoint disk_io_point () const
 
void stop_triggers (bool now)
 
void tempo_map_changed ()
 
std::shared_ptr< Ampamp () const
 
std::shared_ptr< Amptrim () const
 
std::shared_ptr< PolarityProcessorpolarity () const
 
std::shared_ptr< PeakMeterpeak_meter ()
 
std::shared_ptr< const PeakMeterpeak_meter () const
 
std::shared_ptr< PeakMetershared_peak_meter () const
 
std::shared_ptr< TriggerBoxtriggerbox () const
 
void flush_processors ()
 
void foreach_processor (std::function< void(std::weak_ptr< Processor >)> method) const
 
std::shared_ptr< Processornth_processor (uint32_t n)
 
std::shared_ptr< Processorprocessor_by_id (PBD::ID) const
 
std::shared_ptr< Processornth_plugin (uint32_t n) const
 
std::shared_ptr< Processornth_send (uint32_t n) const
 
bool has_io_processor_named (const std::string &)
 
ChanCount max_processor_streams () const
 
std::list< std::string > unknown_processors () const
 
RoutePinWindowProxypinmgr_proxy () const
 
void set_pingmgr_proxy (RoutePinWindowProxy *wp)
 
PatchChangeGridDialogpatch_selector_dialog () const
 
void set_patch_selector_dialog (PatchChangeGridDialog *d)
 
std::shared_ptr< AutomationControlautomation_control_recurse (PBD::ID const &id) const
 
void automatables (PBD::ControllableSet &) const
 
void queue_surround_processors_changed ()
 
std::shared_ptr< InternalSendmonitor_send () const
 
std::shared_ptr< Deliverymain_outs () const
 
std::shared_ptr< InternalReturninternal_return () const
 
std::shared_ptr< MonitorProcessormonitor_control () const
 
std::shared_ptr< Sendinternal_send_for (std::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 ()
 
std::shared_ptr< CapturingProcessoradd_export_point ()
 
int add_processor (std::shared_ptr< Processor >, Placement placement, ProcessorStreams *err=0, bool activation_allowed=true)
 
int add_processor_by_index (std::shared_ptr< Processor >, int, ProcessorStreams *err=0, bool activation_allowed=true)
 
int add_processor (std::shared_ptr< Processor >, std::shared_ptr< Processor >, ProcessorStreams *err=0, bool activation_allowed=true)
 
int add_processors (const ProcessorList &, std::shared_ptr< Processor >, ProcessorStreams *err=0)
 
std::shared_ptr< Processorbefore_processor_for_placement (Placement)
 
std::shared_ptr< Processorbefore_processor_for_index (int)
 
bool processors_reorder_needs_configure (const ProcessorList &new_order)
 
int remove_processor (std::shared_ptr< Processor > proc, ProcessorStreams *err=0, bool need_process_lock=true)
 
int replace_processor (std::shared_ptr< Processor > old, std::shared_ptr< Processor > sub, ProcessorStreams *err=0)
 
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)
 
void move_instrument_down (bool postfader=false)
 
bool strict_io () const
 
bool set_strict_io (bool)
 
bool reset_plugin_insert (std::shared_ptr< Processor > proc)
 
bool customize_plugin_insert (std::shared_ptr< Processor > proc, uint32_t count, ChanCount outs, ChanCount sinks)
 
bool add_remove_sidechain (std::shared_ptr< Processor > proc, bool)
 
bool plugin_preset_output (std::shared_ptr< Processor > proc, ChanCount outs)
 
bool add_sidechain (std::shared_ptr< Processor > proc)
 
bool remove_sidechain (std::shared_ptr< Processor > proc)
 
samplecnt_t update_signal_latency (bool apply_to_delayline=false, bool *delayline_update_needed=NULL)
 
void apply_latency_compensation ()
 
samplecnt_t set_private_port_latencies (bool playback) const
 
void set_public_port_latencies (samplecnt_t, bool playback, bool with_latcomp) const
 
samplecnt_t signal_latency () const
 
samplecnt_t playback_latency (bool incl_downstream=false) const
 
bool is_track ()
 
int64_t track_number () const
 
void set_track_number (int64_t tn)
 
XMLNodeget_state () const
 
XMLNodeget_template ()
 
virtual int set_state (const XMLNode &, int version)
 
XMLNodeget_processor_state ()
 
void set_processor_state (const XMLNode &, int version)
 
virtual bool set_processor_state (XMLNode const &node, int version, XMLProperty const *prop, ProcessorList &new_order, bool &must_configure)
 
std::weak_ptr< Routeweakroute ()
 
int save_as_template (const std::string &path, const std::string &name, const std::string &description)
 
int add_aux_send (std::shared_ptr< Route >, std::shared_ptr< Processor >)
 
int add_foldback_send (std::shared_ptr< Route >, bool post_fader)
 
void remove_monitor_send ()
 
void remove_surround_send ()
 
bool direct_feeds_according_to_reality (std::shared_ptr< GraphNode >, bool *via_send_only=0)
 
std::string graph_node_name () const
 
bool direct_feeds_according_to_graph (std::shared_ptr< Route >, bool *via_send_only=0)
 
bool feeds (std::shared_ptr< Route >)
 
std::set< std::shared_ptr< Route > > signal_sources (bool via_sends_only=false)
 
bool output_effectively_connected () const
 
std::shared_ptr< AutomationControlget_control (const Evoral::Parameter &param)
 
std::shared_ptr< SoloControlsolo_control () const
 
std::shared_ptr< MuteControlmute_control () const
 
bool can_be_muted_by_others () const
 
bool muted () const
 
bool muted_by_masters () const
 
bool muted_by_self () const
 
bool muted_by_others_soloing () const
 
std::shared_ptr< SoloIsolateControlsolo_isolate_control () const
 
std::shared_ptr< SoloSafeControlsolo_safe_control () const
 
std::shared_ptr< Pannerpanner () const
 
std::shared_ptr< PannerShellpanner_shell () const
 
std::shared_ptr< Pannablepannable () const
 
std::shared_ptr< GainControlgain_control () const
 
std::shared_ptr< GainControltrim_control () const
 
std::shared_ptr< GainControlvolume_control () const
 
std::shared_ptr< PhaseControlphase_control () const
 
void set_volume_applies_to_output (bool)
 
bool volume_applies_to_output () const
 
std::shared_ptr< Processorthe_instrument () const
 
InstrumentInfoinstrument_info ()
 
bool instrument_fanned_out () const
 
std::shared_ptr< AutomationControlpan_azimuth_control () const
 
std::shared_ptr< AutomationControlpan_elevation_control () const
 
std::shared_ptr< AutomationControlpan_width_control () const
 
std::shared_ptr< AutomationControlpan_frontback_control () const
 
std::shared_ptr< AutomationControlpan_lfe_control () const
 
uint32_t eq_band_cnt () const
 
std::string eq_band_name (uint32_t) const
 
std::shared_ptr< AutomationControlmapped_control (enum WellKnownCtrl, uint32_t band=0) const
 
std::shared_ptr< ReadOnlyControlmapped_output (enum WellKnownData) const
 
std::shared_ptr< AutomationControlsend_level_controllable (uint32_t n, bool locked=false) const
 
std::shared_ptr< AutomationControlsend_enable_controllable (uint32_t n) const
 
std::shared_ptr< AutomationControlsend_pan_azimuth_controllable (uint32_t n) const
 
std::shared_ptr< AutomationControlsend_pan_azimuth_enable_controllable (uint32_t n) const
 
std::string send_name (uint32_t n) const
 
std::shared_ptr< AutomationControlmaster_send_enable_controllable () const
 
void protect_automation ()
 
bool has_external_redirects () const
 
void monitor_run (samplepos_t start_sample, samplepos_t end_sample, pframes_t nframes)
 
bool slaved_to (std::shared_ptr< VCA >) const
 
bool slaved () const
 
virtual void use_captured_sources (SourceList &srcs, CaptureInfos const &)
 
- Public Member Functions inherited from ARDOUR::Stripable
 Stripable (Session &session, std::string const &name, PresentationInfo const &)
 
virtual ~Stripable ()
 
bool is_auditioner () const
 
bool is_private_route () const
 
bool is_master () const
 
bool is_monitor () const
 
bool is_foldbackbus () const
 
bool is_surround_master () const
 
bool is_main_bus () const
 
bool is_singleton () const
 
int set_state (XMLNode const &, int)
 
bool is_hidden () const
 
bool is_selected () const
 
PresentationInfo const & presentation_info () const
 
PresentationInfopresentation_info ()
 
PresentationInfopresentation_info_ptr ()
 
void set_presentation_order (PresentationInfo::order_t)
 
virtual std::shared_ptr< AutomationControlrec_enable_control () const
 
virtual std::shared_ptr< AutomationControlrec_safe_control () const
 
StripableColorDialogactive_color_picker () const
 
void set_active_color_picker (StripableColorDialog *d)
 
- 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 ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_change (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 (PBD::Command *) const
 
virtual void rdiff (std::vector< PBD::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
virtual ~Destructible ()
 
virtual void drop_references ()
 
- Public Member Functions inherited from ARDOUR::Automatable
 Automatable (Session &, Temporal::TimeDomainProvider const &)
 
 Automatable (const Automatable &other)
 
virtual ~Automatable ()
 
std::shared_ptr< Evoral::Controlcontrol_factory (const Evoral::Parameter &id)
 
std::shared_ptr< AutomationControlautomation_control (PBD::ID const &id) const
 
std::shared_ptr< AutomationControlautomation_control (const Evoral::Parameter &id)
 
std::shared_ptr< AutomationControlautomation_control (const Evoral::Parameter &id, bool create_if_missing)
 
std::shared_ptr< const AutomationControlautomation_control (const Evoral::Parameter &id) const
 
virtual void add_control (std::shared_ptr< Evoral::Control >)
 
virtual bool find_next_event (Temporal::timepos_t const &start, Temporal::timepos_t const &end, Evoral::ControlEvent &ev, bool only_active=true) const
 
void clear_controls ()
 
virtual void automation_run (samplepos_t, pframes_t, bool only_active=false)
 
virtual std::string describe_parameter (Evoral::Parameter param)
 
AutoState get_parameter_automation_state (Evoral::Parameter param)
 
virtual void set_parameter_automation_state (Evoral::Parameter param, AutoState)
 
void protect_automation ()
 
const std::set< Evoral::Parameter > & what_can_be_automated () const
 
std::vector< Evoral::Parameterall_automatable_params () 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 () const
 
void start_domain_bounce (Temporal::DomainBounceInfo &)
 
void finish_domain_bounce (Temporal::DomainBounceInfo &)
 
- Public Member Functions inherited from Evoral::ControlSet
 ControlSet ()
 
 ControlSet (const ControlSet &)
 
virtual ~ControlSet ()
 
std::shared_ptr< Controlcontrol (const Parameter &id, bool create_if_missing=false)
 
std::shared_ptr< const Controlcontrol (const Parameter &id) const
 
Controlscontrols ()
 
const Controlscontrols () const
 
virtual bool controls_empty () const
 
void what_has_data (std::set< Parameter > &) const
 
Glib::Threads::Mutex & control_lock () const
 
void start_domain_bounce (Temporal::DomainBounceInfo &)
 
void finish_domain_bounce (Temporal::DomainBounceInfo &)
 
- Public Member Functions inherited from Temporal::TimeDomainSwapper
virtual ~TimeDomainSwapper ()
 
- Public Member Functions inherited from ARDOUR::Slavable
 Slavable ()
 
virtual ~Slavable ()
 
XMLNodeget_state () const
 
int set_state (XMLNode const &, int)
 
virtual void assign (std::shared_ptr< VCA >)
 
void unassign (std::shared_ptr< VCA >)
 
std::vector< std::shared_ptr< VCA > > masters (VCAManager *) const
 
bool assigned_to (VCAManager *, std::shared_ptr< VCA >) const
 
- Public Member Functions inherited from Temporal::TimeDomainProvider
 TimeDomainProvider ()
 
 TimeDomainProvider (TimeDomain td)
 
 TimeDomainProvider (TimeDomain td, TimeDomainProvider const &p)
 
 TimeDomainProvider (TimeDomainProvider const &other)
 
 TimeDomainProvider (TimeDomainProvider const &parnt, bool)
 
virtual ~TimeDomainProvider ()
 
XMLNodeget_state () const
 
int set_state (const XMLNode &, int version)
 
TimeDomainProvideroperator= (TimeDomainProvider const &other)
 
TimeDomain time_domain () const
 
bool has_own_time_domain () const
 
void clear_time_domain ()
 
void set_time_domain (TimeDomain td)
 
TimeDomainProvider const * time_domain_parent () const
 
bool has_time_domain_parent () const
 
void clear_time_domain_parent ()
 
void set_time_domain_parent (TimeDomainProvider const &p)
 
virtual void time_domain_changed ()
 
- Public Member Functions inherited from ARDOUR::GraphNode
 GraphNode (std::shared_ptr< Graph > Graph)
 
void prep (GraphChain const *)
 
void run (GraphChain const *)
 
- Public Member Functions inherited from ARDOUR::ProcessNode
virtual ~ProcessNode ()
 
- Public Member Functions inherited from ARDOUR::GraphActivision
 GraphActivision ()
 
virtual ~GraphActivision ()
 
node_set_t const & activation_set (GraphChain const *const g) const
 
int init_refcount (GraphChain const *const g) const
 
void flush_graph_activision_rcu ()
 
- Public Member Functions inherited from ARDOUR::Soloable
virtual ~Soloable ()
 
- Public Member Functions inherited from ARDOUR::Muteable
 Muteable (Session &, std::string const &name)
 
virtual ~Muteable ()
 
virtual void act_on_mute ()
 
std::shared_ptr< MuteMastermute_master () const
 
- Public Member Functions inherited from ARDOUR::Monitorable
virtual ~Monitorable ()
 
- Public Member Functions inherited from ARDOUR::RouteGroupMember
 RouteGroupMember ()
 
virtual ~RouteGroupMember ()
 
RouteGrouproute_group () const
 

Static Public Member Functions

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 Member Functions inherited from ARDOUR::Automatable
static void find_next_ac_event (std::shared_ptr< AutomationControl >, Temporal::timepos_t const &start, Temporal::timepos_t const &end, Evoral::ControlEvent &ev)
 
static void find_prev_ac_event (std::shared_ptr< AutomationControl >, Temporal::timepos_t const &start, Temporal::timepos_t const &end, Evoral::ControlEvent &ev)
 

Public Attributes

PBD::Signal< void()> active_changed
 
PBD::Signal< void()> denormal_protection_changed
 
PBD::Signal< void()> comment_changed
 
PBD::Signal< void()> track_number_changed
 
PBD::Signal< void(RouteProcessorChange)> processors_changed
 
PBD::Signal< void(void *)> record_enable_changed
 
PBD::Signal< void()> processor_latency_changed
 
PBD::Signal< void()> meter_change
 
PBD::Signal< void()> io_changed
 
PBD::Signal< void(void *)> SelectedChanged
 
- Public Attributes inherited from ARDOUR::Stripable
PBD::Signal< void(std::string, void *)> gui_changed
 
PBD::Signal< void()> MappedControlsChanged
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal< void(const PropertyChange &)> PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal< void()> Destroyed
 
PBD::Signal< void()> DropReferences
 
- Public Attributes inherited from ARDOUR::Automatable
PBD::Signal< void()> AutomationStateChanged
 
- Public Attributes inherited from ARDOUR::Slavable
PBD::Signal< void(std::shared_ptr< VCA >, bool)> AssignmentChange
 
- Public Attributes inherited from Temporal::TimeDomainProvider
PBD::Signal< void()> TimeDomainChanged
 
- Public Attributes inherited from ARDOUR::Muteable
PBD::Signal< void()> mute_points_changed
 
- Public Attributes inherited from ARDOUR::RouteGroupMember
PBD::Signal< void()> route_group_changed
 

Static Public Attributes

static PBD::Signal< int(std::shared_ptr< Route >, std::shared_ptr< PluginInsert >, PluginSetupOptions)> PluginSetup
 
static PBD::Signal< void(std::weak_ptr< Route >)> FanOut
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 
- Static Public Attributes inherited from ARDOUR::Automatable
static bool skip_saving_automation
 
static const std::string xml_node_name
 
- Static Public Attributes inherited from ARDOUR::Slavable
static std::string xml_node_name
 
static PBD::Signal< void(VCAManager *)> Assign
 

Protected Types

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

Protected Member Functions

void process ()
 
void catch_up_on_solo_mute_override ()
 
void set_listen (bool)
 
virtual void set_block_size (pframes_t nframes)
 
virtual int no_roll_unlocked (pframes_t nframes, samplepos_t start_sample, samplepos_t end_sample, bool session_state_changing)
 
virtual void snapshot_out_of_band_data (samplecnt_t)
 
virtual void write_out_of_band_data (BufferSet &, samplecnt_t) const
 
virtual void update_controls (BufferSet const &)
 
void process_output_buffers (BufferSet &bufs, samplepos_t start_sample, samplepos_t end_sample, pframes_t nframes, bool gain_automation_ok, bool run_disk_processors)
 
void flush_processor_buffers_locked (samplecnt_t nframes)
 
virtual void bounce_process (BufferSet &bufs, samplepos_t start_sample, samplecnt_t nframes, std::shared_ptr< Processor > endpoint, bool include_endpoint, bool for_export, bool for_freeze)
 
samplecnt_t bounce_get_latency (std::shared_ptr< Processor > endpoint, bool include_endpoint, bool for_export, bool for_freeze) const
 
ChanCount bounce_get_output_streams (ChanCount &cc, std::shared_ptr< Processor > endpoint, bool include_endpoint, bool for_export, bool for_freeze) const
 
bool can_freeze_processor (std::shared_ptr< Processor >, bool allow_routing=false) const
 
virtual ChanCount input_streams () const
 
virtual XMLNodestate (bool save_template) const
 
int configure_processors (ProcessorStreams *)
 
void silence_unlocked (pframes_t)
 
uint32_t pans_required () const
 
ChanCount n_process_buffers ()
 
bool is_internal_processor (std::shared_ptr< Processor >) const
 
std::shared_ptr< Processorthe_instrument_unlocked () const
 
SlavableAutomationControlList slavables () 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 &) const
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
bool regenerate_xml_or_string_ids () const
 
- Protected Member Functions inherited from ARDOUR::Automatable
void can_automate (Evoral::Parameter)
 
virtual void automation_list_automation_state_changed (Evoral::Parameter const &, 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 const &, ControlList::InterpolationStyle)
 
- Protected Member Functions inherited from Temporal::TimeDomainProvider
void listen ()
 
- Protected Member Functions inherited from ARDOUR::GraphNode
void trigger ()
 

Protected Attributes

bool _active
 
samplecnt_t _signal_latency
 
samplecnt_t _output_latency
 
ProcessorList _processors
 
Glib::Threads::RWLock _processor_lock
 
std::shared_ptr< IO_input
 
std::shared_ptr< IO_output
 
std::shared_ptr< Delivery_main_outs
 
std::shared_ptr< InternalSend_monitor_send
 
std::shared_ptr< InternalReturn_intreturn
 
std::shared_ptr< MonitorProcessor_monitor_control
 
std::shared_ptr< Pannable_pannable
 
std::shared_ptr< DiskReader_disk_reader
 
std::shared_ptr< DiskWriter_disk_writer
 
std::shared_ptr< MonitorControl_monitoring_control
 
std::shared_ptr< SurroundSend_surround_send
 
std::shared_ptr< SurroundReturn_surround_return
 
DiskIOPoint _disk_io_point
 
ProcessorList _pending_processor_order
 
std::atomic< int > _pending_process_reorder
 
std::atomic< int > _pending_listen_change
 
std::atomic< int > _pending_surround_send
 
std::atomic< int > _pending_signals
 
MeterPoint _meter_point
 
MeterPoint _pending_meter_point
 
bool _denormal_protection
 
bool _recordable: 1
 
std::shared_ptr< SoloControl_solo_control
 
std::shared_ptr< MuteControl_mute_control
 
std::shared_ptr< SoloIsolateControl_solo_isolate_control
 
std::shared_ptr< SoloSafeControl_solo_safe_control
 
std::string _comment
 
bool _have_internal_generator
 
DataType _default_type
 
InstrumentInfo _instrument_info
 
bool _instrument_fanned_out
 
Location_loop_location
 
ChanCount processor_max_streams
 
ChanCount processor_out_streams
 
std::shared_ptr< GainControl_gain_control
 
std::shared_ptr< GainControl_trim_control
 
std::shared_ptr< GainControl_volume_control
 
std::shared_ptr< PhaseControl_phase_control
 
std::shared_ptr< Amp_amp
 
std::shared_ptr< Amp_trim
 
std::shared_ptr< Amp_volume
 
std::shared_ptr< PeakMeter_meter
 
std::shared_ptr< PolarityProcessor_polarity
 
std::shared_ptr< TriggerBox_triggerbox
 
bool _volume_applies_to_output
 
std::shared_ptr< DelayLine_delayline
 
- Protected Attributes inherited from ARDOUR::Stripable
PresentationInfo _presentation_info
 
- 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
 
SerializedRCUManager< AutomationControlList_automated_controls
 
std::set< Evoral::Parameter_can_automate_list
 
samplepos_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::GraphNode
std::shared_ptr< Graph_graph
 
- Protected Attributes inherited from ARDOUR::GraphActivision
SerializedRCUManager< ActivationMap_activation_set
 
SerializedRCUManager< RefCntMap_init_refcount
 
- Protected Attributes inherited from ARDOUR::Muteable
std::shared_ptr< MuteMaster_mute_master
 
- Protected Attributes inherited from ARDOUR::RouteGroupMember
RouteGroup_route_group
 

Private Member Functions

 Route (Route const &)
 
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)
 
void sidechain_change_handler (IOChange, void *src)
 
void processor_selfdestruct (std::weak_ptr< Processor >)
 
bool input_port_count_changing (ChanCount)
 
bool output_port_count_changing (ChanCount)
 
bool output_effectively_connected_real () const
 
int configure_processors_unlocked (ProcessorStreams *, Glib::Threads::RWLock::WriterLock *)
 
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 unpan ()
 
void set_processor_positions ()
 
samplecnt_t update_port_latencies (PortSet &ports, PortSet &feeders, bool playback, samplecnt_t) const
 
void setup_invisible_processors ()
 
pframes_t latency_preroll (pframes_t nframes, samplepos_t &start_sample, samplepos_t &end_sample)
 
void run_route (samplepos_t start_sample, samplepos_t end_sample, pframes_t nframes, bool gain_automation_ok, bool run_disk_reader)
 
void fill_buffers_with_input (BufferSet &bufs, std::shared_ptr< IO > io, pframes_t nframes)
 
void reset_instrument_info ()
 
void solo_control_changed (bool self, PBD::Controllable::GroupControlDisposition)
 
void maybe_note_meter_position ()
 
void set_plugin_state_dir (std::weak_ptr< Processor >, const std::string &)
 
void add_well_known_ctrl (WellKnownCtrl, std::shared_ptr< PluginInsert >, int param)
 
void add_well_known_ctrl (WellKnownCtrl)
 

Private Attributes

std::vector< std::weak_ptr< Processor > > selfdestruct_sequence
 
Glib::Threads::Mutex selfdestruct_lock
 
std::map< Route *, bool > _connection_cache
 
std::shared_ptr< CapturingProcessor_capturing_processor
 
int64_t _track_number
 
bool _strict_io
 
bool _in_configure_processors
 
bool _initial_io_setup
 
bool _in_sidechain_setup
 
gain_t _monitor_gain
 
std::map< WellKnownCtrl, std::vector< std::weak_ptr< AutomationControl > > > _well_known_map
 
bool _custom_meter_position_noted
 
std::weak_ptr< Processor_processor_after_last_custom_meter
 
RoutePinWindowProxy_pinmgr_proxy
 
PatchChangeGridDialog_patch_selector_dialog
 

Friends

class Session
 
class ProcessorState
 

Detailed Description

Definition at line 102 of file route.h.

Member Typedef Documentation

◆ ProcessorList

typedef std::list<std::shared_ptr<Processor> > ARDOUR::Route::ProcessorList

Definition at line 111 of file route.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
EmitNone 
EmitMeterChanged 
EmitMeterVisibilityChange 
EmitRtProcessorChange 
EmitSendReturnChange 

Definition at line 639 of file route.h.

◆ PluginSetupOptions

Enumerator
None 
CanReplace 
MultiOut 

Definition at line 401 of file route.h.

Constructor & Destructor Documentation

◆ Route() [1/2]

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

◆ ~Route()

virtual ARDOUR::Route::~Route ( )
virtual

◆ Route() [2/2]

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

Member Function Documentation

◆ ab_plugins()

void ARDOUR::Route::ab_plugins ( bool  forward)

◆ active()

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

Definition at line 133 of file route.h.

◆ add_aux_send()

int ARDOUR::Route::add_aux_send ( std::shared_ptr< Route ,
std::shared_ptr< Processor  
)

◆ add_export_point()

std::shared_ptr<CapturingProcessor> ARDOUR::Route::add_export_point ( )

◆ add_foldback_send()

int ARDOUR::Route::add_foldback_send ( std::shared_ptr< Route ,
bool  post_fader 
)

◆ add_internal_return()

void ARDOUR::Route::add_internal_return ( )

◆ add_processor() [1/2]

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

◆ add_processor() [2/2]

int ARDOUR::Route::add_processor ( std::shared_ptr< Processor ,
std::shared_ptr< Processor ,
ProcessorStreams err = 0,
bool  activation_allowed = true 
)

◆ add_processor_by_index()

int ARDOUR::Route::add_processor_by_index ( std::shared_ptr< Processor ,
int  ,
ProcessorStreams err = 0,
bool  activation_allowed = true 
)

◆ add_processor_from_xml_2X()

bool ARDOUR::Route::add_processor_from_xml_2X ( const XMLNode ,
int   
)
private

◆ add_processors()

int ARDOUR::Route::add_processors ( const ProcessorList ,
std::shared_ptr< Processor ,
ProcessorStreams err = 0 
)

◆ add_remove_sidechain()

bool ARDOUR::Route::add_remove_sidechain ( std::shared_ptr< Processor proc,
bool   
)

◆ add_send_to_internal_return()

void ARDOUR::Route::add_send_to_internal_return ( InternalSend )

◆ add_sidechain()

bool ARDOUR::Route::add_sidechain ( std::shared_ptr< Processor proc)
inline

Definition at line 364 of file route.h.

◆ add_well_known_ctrl() [1/2]

void ARDOUR::Route::add_well_known_ctrl ( WellKnownCtrl  )
private

◆ add_well_known_ctrl() [2/2]

void ARDOUR::Route::add_well_known_ctrl ( WellKnownCtrl  ,
std::shared_ptr< PluginInsert ,
int  param 
)
private

◆ all_inputs()

IOVector ARDOUR::Route::all_inputs ( ) const

◆ all_outputs()

IOVector ARDOUR::Route::all_outputs ( ) const

◆ all_visible_processors_active()

void ARDOUR::Route::all_visible_processors_active ( bool  )

◆ amp()

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

Definition at line 221 of file route.h.

◆ apply_latency_compensation()

void ARDOUR::Route::apply_latency_compensation ( )

◆ apply_processor_changes_rt()

bool ARDOUR::Route::apply_processor_changes_rt ( )

◆ apply_processor_order()

void ARDOUR::Route::apply_processor_order ( const ProcessorList new_order)
private

◆ automatables()

void ARDOUR::Route::automatables ( PBD::ControllableSet ) const
virtual

Reimplemented from ARDOUR::Automatable.

◆ automation_control_recurse()

std::shared_ptr<AutomationControl> ARDOUR::Route::automation_control_recurse ( PBD::ID const &  id) const
virtual

Reimplemented from ARDOUR::Automatable.

◆ before_processor_for_index()

std::shared_ptr<Processor> ARDOUR::Route::before_processor_for_index ( int  )

◆ before_processor_for_placement()

std::shared_ptr<Processor> ARDOUR::Route::before_processor_for_placement ( Placement  )

◆ bounce_get_latency()

samplecnt_t ARDOUR::Route::bounce_get_latency ( std::shared_ptr< Processor endpoint,
bool  include_endpoint,
bool  for_export,
bool  for_freeze 
) const
protected

◆ bounce_get_output_streams()

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

◆ bounce_process()

virtual void ARDOUR::Route::bounce_process ( BufferSet bufs,
samplepos_t  start_sample,
samplecnt_t  nframes,
std::shared_ptr< Processor endpoint,
bool  include_endpoint,
bool  for_export,
bool  for_freeze 
)
protectedvirtual

◆ can_be_muted_by_others()

bool ARDOUR::Route::can_be_muted_by_others ( ) const
inlinevirtual

Implements ARDOUR::Muteable.

Definition at line 493 of file route.h.

◆ can_freeze_processor()

bool ARDOUR::Route::can_freeze_processor ( std::shared_ptr< Processor ,
bool  allow_routing = false 
) const
protected

◆ can_monitor()

bool ARDOUR::Route::can_monitor ( ) const
inlinevirtual

Implements ARDOUR::Soloable.

Definition at line 194 of file route.h.

◆ can_record()

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

Reimplemented in ARDOUR::Track.

Definition at line 162 of file route.h.

◆ can_solo()

bool ARDOUR::Route::can_solo ( ) const
inlinevirtual

Implements ARDOUR::Soloable.

Definition at line 188 of file route.h.

◆ catch_up_on_solo_mute_override()

void ARDOUR::Route::catch_up_on_solo_mute_override ( )
protected

◆ clear_all_solo_state()

void ARDOUR::Route::clear_all_solo_state ( )

◆ clear_processors()

void ARDOUR::Route::clear_processors ( Placement  )

◆ comment()

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

Definition at line 138 of file route.h.

◆ configure_processors()

int ARDOUR::Route::configure_processors ( ProcessorStreams )
protected

◆ configure_processors_unlocked()

int ARDOUR::Route::configure_processors_unlocked ( ProcessorStreams ,
Glib::Threads::RWLock::WriterLock *   
)
private

◆ customize_plugin_insert()

bool ARDOUR::Route::customize_plugin_insert ( std::shared_ptr< Processor proc,
uint32_t  count,
ChanCount  outs,
ChanCount  sinks 
)

enable custom plugin-insert configuration

Parameters
procProcessor to customize
countnumber of plugin instances to use (if zero, reset to default)
outsoutput port customization
sinksinput pins for variable-I/O plugins
Returns
true if successful

◆ cut_copy_section()

void ARDOUR::Route::cut_copy_section ( timepos_t const &  start,
timepos_t const &  end,
timepos_t const &  to,
SectionOperation const  op 
)

◆ data_type()

DataType ARDOUR::Route::data_type ( ) const
inline

Definition at line 118 of file route.h.

◆ declick_in_progress()

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

Reimplemented in ARDOUR::Track.

Definition at line 161 of file route.h.

◆ denormal_protection()

bool ARDOUR::Route::denormal_protection ( ) const

◆ direct_feeds_according_to_graph()

bool ARDOUR::Route::direct_feeds_according_to_graph ( std::shared_ptr< Route ,
bool *  via_send_only = 0 
)
Returns
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.

◆ direct_feeds_according_to_reality()

bool ARDOUR::Route::direct_feeds_according_to_reality ( std::shared_ptr< GraphNode ,
bool *  via_send_only = 0 
)
virtual

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.

Implements ARDOUR::GraphNode.

◆ disable_plugins() [1/2]

void ARDOUR::Route::disable_plugins ( )

◆ disable_plugins() [2/2]

void ARDOUR::Route::disable_plugins ( Placement  )

◆ disable_processors() [1/2]

void ARDOUR::Route::disable_processors ( )

◆ disable_processors() [2/2]

void ARDOUR::Route::disable_processors ( Placement  )

◆ disk_io_point()

DiskIOPoint ARDOUR::Route::disk_io_point ( ) const
inline

Definition at line 214 of file route.h.

◆ emit_pending_signals()

void ARDOUR::Route::emit_pending_signals ( )

◆ enable_monitor_send()

void ARDOUR::Route::enable_monitor_send ( )

◆ enable_surround_send()

void ARDOUR::Route::enable_surround_send ( )

◆ ensure_track_or_route_name()

std::string ARDOUR::Route::ensure_track_or_route_name ( std::string  ) const

◆ eq_band_cnt()

uint32_t ARDOUR::Route::eq_band_cnt ( ) const
virtual

Implements ARDOUR::Stripable.

◆ eq_band_name()

std::string ARDOUR::Route::eq_band_name ( uint32_t  ) const
virtual

Implements ARDOUR::Stripable.

◆ feeds()

bool ARDOUR::Route::feeds ( std::shared_ptr< Route )
Returns
true if this node feeds the first argument via at least one (arbitrarily long) signal pathway.

◆ fill_buffers_with_input()

void ARDOUR::Route::fill_buffers_with_input ( BufferSet bufs,
std::shared_ptr< IO io,
pframes_t  nframes 
)
private

◆ filter_input()

virtual void ARDOUR::Route::filter_input ( BufferSet )
inlinevirtual

Reimplemented in ARDOUR::MidiTrack.

Definition at line 153 of file route.h.

◆ flush_processor_buffers_locked()

void ARDOUR::Route::flush_processor_buffers_locked ( samplecnt_t  nframes)
protected

◆ flush_processors()

void ARDOUR::Route::flush_processors ( )

◆ foreach_processor()

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

Definition at line 231 of file route.h.

◆ gain_control()

std::shared_ptr<GainControl> ARDOUR::Route::gain_control ( ) const
virtual

Implements ARDOUR::Stripable.

◆ get_control()

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

◆ get_input_monitoring_state()

virtual MonitorState ARDOUR::Route::get_input_monitoring_state ( bool  recording,
bool  talkback 
) const
inlinevirtual

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

Definition at line 149 of file route.h.

◆ get_processor_state()

XMLNode& ARDOUR::Route::get_processor_state ( )

◆ get_state()

XMLNode& ARDOUR::Route::get_state ( ) const
virtual

Implements PBD::Stateful.

◆ get_template()

XMLNode& ARDOUR::Route::get_template ( )

◆ graph_node_name()

std::string ARDOUR::Route::graph_node_name ( ) const
inlinevirtual

Implements ARDOUR::GraphNode.

Definition at line 453 of file route.h.

◆ has_external_redirects()

bool ARDOUR::Route::has_external_redirects ( ) const

◆ has_io_processor_named()

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

◆ init()

virtual int ARDOUR::Route::init ( )
virtual

◆ input()

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

Definition at line 125 of file route.h.

◆ input_change_handler()

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

◆ input_port_count_changing()

bool ARDOUR::Route::input_port_count_changing ( ChanCount  )
private

◆ input_streams()

virtual ChanCount ARDOUR::Route::input_streams ( ) const
protectedvirtual

Reimplemented in ARDOUR::Auditioner.

◆ instrument_fanned_out()

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

Definition at line 536 of file route.h.

◆ instrument_info()

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

Definition at line 535 of file route.h.

◆ internal_return()

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

Definition at line 278 of file route.h.

◆ internal_send_for()

std::shared_ptr<Send> ARDOUR::Route::internal_send_for ( std::shared_ptr< const Route target) const

◆ is_internal_processor()

bool ARDOUR::Route::is_internal_processor ( std::shared_ptr< Processor ) const
protected

◆ is_safe()

bool ARDOUR::Route::is_safe ( ) const
inlinevirtual

Implements ARDOUR::Soloable.

Definition at line 191 of file route.h.

◆ is_track()

bool ARDOUR::Route::is_track ( )

◆ latency_preroll()

pframes_t ARDOUR::Route::latency_preroll ( pframes_t  nframes,
samplepos_t start_sample,
samplepos_t end_sample 
)
private

◆ listen_position_changed()

void ARDOUR::Route::listen_position_changed ( )

◆ main_outs()

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

the signal processorat at end of the processing chain which produces output

Definition at line 277 of file route.h.

◆ mapped_control()

std::shared_ptr<AutomationControl> ARDOUR::Route::mapped_control ( enum  WellKnownCtrl,
uint32_t  band = 0 
) const
virtual

Implements ARDOUR::Stripable.

◆ mapped_output()

std::shared_ptr<ReadOnlyControl> ARDOUR::Route::mapped_output ( enum  WellKnownData) const
virtual

Implements ARDOUR::Stripable.

◆ master_send_enable_controllable()

std::shared_ptr<AutomationControl> ARDOUR::Route::master_send_enable_controllable ( ) const
virtual

Implements ARDOUR::Stripable.

◆ max_processor_streams()

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

Definition at line 255 of file route.h.

◆ maybe_note_meter_position()

void ARDOUR::Route::maybe_note_meter_position ( )
private

◆ meter_point()

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

Definition at line 206 of file route.h.

◆ meter_type()

MeterType ARDOUR::Route::meter_type ( ) const

◆ monitor_control()

std::shared_ptr<MonitorProcessor> ARDOUR::Route::monitor_control ( ) const
inlinevirtual

Implements ARDOUR::Stripable.

Definition at line 279 of file route.h.

◆ monitor_run()

void ARDOUR::Route::monitor_run ( samplepos_t  start_sample,
samplepos_t  end_sample,
pframes_t  nframes 
)

◆ monitor_send()

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

Definition at line 275 of file route.h.

◆ monitoring_control()

std::shared_ptr<MonitorControl> ARDOUR::Route::monitoring_control ( ) const
inlinevirtual

Implements ARDOUR::Stripable.

Definition at line 144 of file route.h.

◆ monitoring_state()

MonitorState ARDOUR::Route::monitoring_state ( ) const
virtual

Implements ARDOUR::Monitorable.

◆ move_instrument_down()

void ARDOUR::Route::move_instrument_down ( bool  postfader = false)

◆ mute_control()

std::shared_ptr<MuteControl> ARDOUR::Route::mute_control ( ) const
inlinevirtual

Implements ARDOUR::Stripable.

Definition at line 489 of file route.h.

◆ muted()

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

Definition at line 494 of file route.h.

◆ muted_by_masters()

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

Definition at line 495 of file route.h.

◆ muted_by_others_soloing()

bool ARDOUR::Route::muted_by_others_soloing ( ) const
virtual

Implements ARDOUR::Muteable.

◆ muted_by_self()

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

Definition at line 496 of file route.h.

◆ n_inputs()

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

Definition at line 130 of file route.h.

◆ n_outputs()

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

Definition at line 131 of file route.h.

◆ n_process_buffers()

ChanCount ARDOUR::Route::n_process_buffers ( )
protected

◆ no_roll()

int ARDOUR::Route::no_roll ( pframes_t  nframes,
samplepos_t  start_sample,
samplepos_t  end_sample,
bool  state_changing 
)

◆ no_roll_unlocked()

virtual int ARDOUR::Route::no_roll_unlocked ( pframes_t  nframes,
samplepos_t  start_sample,
samplepos_t  end_sample,
bool  session_state_changing 
)
protectedvirtual

Reimplemented in ARDOUR::MidiTrack.

◆ non_realtime_locate()

virtual void ARDOUR::Route::non_realtime_locate ( samplepos_t  )
virtual

Reimplemented from ARDOUR::Automatable.

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

◆ non_realtime_transport_stop()

void ARDOUR::Route::non_realtime_transport_stop ( samplepos_t  now,
bool  flush 
)
virtual

Reimplemented from ARDOUR::Automatable.

◆ nth_plugin()

std::shared_ptr<Processor> ARDOUR::Route::nth_plugin ( uint32_t  n) const

◆ nth_processor()

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

Definition at line 238 of file route.h.

◆ nth_send()

std::shared_ptr<Processor> ARDOUR::Route::nth_send ( uint32_t  n) const

◆ output()

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

Definition at line 126 of file route.h.

◆ output_change_handler()

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

◆ output_effectively_connected()

bool ARDOUR::Route::output_effectively_connected ( ) const

Follow output port connections and check if the output port of any downstream routes is connected.

◆ output_effectively_connected_real()

bool ARDOUR::Route::output_effectively_connected_real ( ) const
private

◆ output_port_count_changing()

bool ARDOUR::Route::output_port_count_changing ( ChanCount  )
private

◆ pan_azimuth_control()

std::shared_ptr<AutomationControl> ARDOUR::Route::pan_azimuth_control ( ) const
virtual

Implements ARDOUR::Stripable.

◆ pan_elevation_control()

std::shared_ptr<AutomationControl> ARDOUR::Route::pan_elevation_control ( ) const
virtual

Implements ARDOUR::Stripable.

◆ pan_frontback_control()

std::shared_ptr<AutomationControl> ARDOUR::Route::pan_frontback_control ( ) const
virtual

Implements ARDOUR::Stripable.

◆ pan_lfe_control()

std::shared_ptr<AutomationControl> ARDOUR::Route::pan_lfe_control ( ) const
virtual

Implements ARDOUR::Stripable.

◆ pan_width_control()

std::shared_ptr<AutomationControl> ARDOUR::Route::pan_width_control ( ) const
virtual

Implements ARDOUR::Stripable.

◆ pannable()

std::shared_ptr<Pannable> ARDOUR::Route::pannable ( ) const

◆ panner()

std::shared_ptr<Panner> ARDOUR::Route::panner ( ) const

◆ panner_shell()

std::shared_ptr<PannerShell> ARDOUR::Route::panner_shell ( ) const

◆ pans_required()

uint32_t ARDOUR::Route::pans_required ( ) const
protected

◆ patch_selector_dialog()

PatchChangeGridDialog* ARDOUR::Route::patch_selector_dialog ( ) const
inline

Definition at line 262 of file route.h.

◆ peak_meter() [1/2]

std::shared_ptr<PeakMeter> ARDOUR::Route::peak_meter ( )
inlinevirtual

Implements ARDOUR::Stripable.

Definition at line 224 of file route.h.

◆ peak_meter() [2/2]

std::shared_ptr<const PeakMeter> ARDOUR::Route::peak_meter ( ) const
inlinevirtual

Implements ARDOUR::Stripable.

Definition at line 225 of file route.h.

◆ phase_control()

std::shared_ptr<PhaseControl> ARDOUR::Route::phase_control ( ) const
virtual

Implements ARDOUR::Stripable.

◆ pinmgr_proxy()

RoutePinWindowProxy* ARDOUR::Route::pinmgr_proxy ( ) const
inline

Definition at line 259 of file route.h.

◆ placement_range()

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

◆ playback_latency()

samplecnt_t ARDOUR::Route::playback_latency ( bool  incl_downstream = false) const

◆ plugin_preset_output()

bool ARDOUR::Route::plugin_preset_output ( std::shared_ptr< Processor proc,
ChanCount  outs 
)

◆ polarity()

std::shared_ptr<PolarityProcessor> ARDOUR::Route::polarity ( ) const
inline

Definition at line 223 of file route.h.

◆ process()

void ARDOUR::Route::process ( )
protectedvirtual

Implements ARDOUR::GraphNode.

◆ process_output_buffers()

void ARDOUR::Route::process_output_buffers ( BufferSet bufs,
samplepos_t  start_sample,
samplepos_t  end_sample,
pframes_t  nframes,
bool  gain_automation_ok,
bool  run_disk_processors 
)
protected

◆ processor_by_id()

std::shared_ptr<Processor> ARDOUR::Route::processor_by_id ( PBD::ID  ) const

◆ processor_selfdestruct()

void ARDOUR::Route::processor_selfdestruct ( std::weak_ptr< Processor )
private

◆ processors_reorder_needs_configure()

bool ARDOUR::Route::processors_reorder_needs_configure ( const ProcessorList new_order)

◆ protect_automation()

void ARDOUR::Route::protect_automation ( )

◆ push_solo_isolate_upstream()

void ARDOUR::Route::push_solo_isolate_upstream ( int32_t  delta)
virtual

Implements ARDOUR::Soloable.

◆ push_solo_upstream()

void ARDOUR::Route::push_solo_upstream ( int32_t  delta)
virtual

Implements ARDOUR::Soloable.

◆ queue_surround_processors_changed()

void ARDOUR::Route::queue_surround_processors_changed ( )
inline

Definition at line 269 of file route.h.

◆ realtime_handle_transport_stopped()

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

Reimplemented in ARDOUR::MidiTrack.

◆ realtime_locate()

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

Reimplemented in ARDOUR::MidiTrack.

Definition at line 167 of file route.h.

◆ remove_monitor_send()

void ARDOUR::Route::remove_monitor_send ( )

◆ remove_processor()

int ARDOUR::Route::remove_processor ( std::shared_ptr< Processor proc,
ProcessorStreams err = 0,
bool  need_process_lock = true 
)

remove plugin/processor

Parameters
procprocessor to remove
errerror report (index where removal vailed, channel-count why it failed) may be nil
need_process_lockif locking is required (set to true, unless called from RT context with lock)
Returns
0 on success

◆ remove_processors()

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

◆ remove_send_from_internal_return()

void ARDOUR::Route::remove_send_from_internal_return ( InternalSend )

◆ remove_sidechain()

bool ARDOUR::Route::remove_sidechain ( std::shared_ptr< Processor proc)
inline

Definition at line 369 of file route.h.

◆ remove_surround_send()

void ARDOUR::Route::remove_surround_send ( )

◆ reorder_processors()

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

◆ replace_processor()

int ARDOUR::Route::replace_processor ( std::shared_ptr< Processor old,
std::shared_ptr< Processor sub,
ProcessorStreams err = 0 
)

replace plugin/processor with another

Parameters
oldprocessor to remove
subprocessor to substitute the old one with
errerror report (index where removal vailed, channel-count why it failed) may be nil
Returns
0 on success

◆ reset_instrument_info()

void ARDOUR::Route::reset_instrument_info ( )
private

◆ reset_plugin_insert()

bool ARDOUR::Route::reset_plugin_insert ( std::shared_ptr< Processor proc)

reset plugin-insert configuration to default, disable customizations.

This is equivalent to calling

customize_plugin_insert (proc, 0, unused)
bool customize_plugin_insert(std::shared_ptr< Processor > proc, uint32_t count, ChanCount outs, ChanCount sinks)
Parameters
procProcessor to reset
Returns
true if successful

◆ roll()

int ARDOUR::Route::roll ( pframes_t  nframes,
samplepos_t  start_sample,
samplepos_t  end_sample,
bool &  need_butler 
)

◆ run_route()

void ARDOUR::Route::run_route ( samplepos_t  start_sample,
samplepos_t  end_sample,
pframes_t  nframes,
bool  gain_automation_ok,
bool  run_disk_reader 
)
private

◆ save_as_template()

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

◆ self_soloed()

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

Definition at line 183 of file route.h.

◆ send_enable_controllable()

std::shared_ptr<AutomationControl> ARDOUR::Route::send_enable_controllable ( uint32_t  n) const
virtual

Implements ARDOUR::Stripable.

◆ send_level_controllable()

std::shared_ptr<AutomationControl> ARDOUR::Route::send_level_controllable ( uint32_t  n,
bool  locked = false 
) const
virtual

Implements ARDOUR::Stripable.

◆ send_name()

std::string ARDOUR::Route::send_name ( uint32_t  n) const
virtual

Implements ARDOUR::Stripable.

◆ send_pan_azimuth_controllable()

std::shared_ptr<AutomationControl> ARDOUR::Route::send_pan_azimuth_controllable ( uint32_t  n) const
virtual

Implements ARDOUR::Stripable.

◆ send_pan_azimuth_enable_controllable()

std::shared_ptr<AutomationControl> ARDOUR::Route::send_pan_azimuth_enable_controllable ( uint32_t  n) const
virtual

Implements ARDOUR::Stripable.

◆ set_active()

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

◆ set_block_size()

virtual void ARDOUR::Route::set_block_size ( pframes_t  nframes)
protectedvirtual

Reimplemented in ARDOUR::Track.

◆ set_comment()

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

◆ set_denormal_protection()

void ARDOUR::Route::set_denormal_protection ( bool  yn)

◆ set_disk_io_point()

void ARDOUR::Route::set_disk_io_point ( DiskIOPoint  )

◆ set_listen()

void ARDOUR::Route::set_listen ( bool  )
protected

◆ set_loop()

void ARDOUR::Route::set_loop ( ARDOUR::Location )

◆ set_meter_point()

void ARDOUR::Route::set_meter_point ( MeterPoint  )

◆ set_meter_point_unlocked()

bool ARDOUR::Route::set_meter_point_unlocked ( )
private

◆ set_meter_type()

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

◆ set_name()

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

Reimplemented from ARDOUR::SessionObject.

Reimplemented in ARDOUR::Track.

◆ set_name_in_state()

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

◆ set_patch_selector_dialog()

void ARDOUR::Route::set_patch_selector_dialog ( PatchChangeGridDialog d)
inline

Definition at line 263 of file route.h.

◆ set_pingmgr_proxy()

void ARDOUR::Route::set_pingmgr_proxy ( RoutePinWindowProxy wp)
inline

Definition at line 260 of file route.h.

◆ set_plugin_state_dir()

void ARDOUR::Route::set_plugin_state_dir ( std::weak_ptr< Processor ,
const std::string &   
)
private

◆ set_private_port_latencies()

samplecnt_t ARDOUR::Route::set_private_port_latencies ( bool  playback) const

◆ set_processor_positions()

void ARDOUR::Route::set_processor_positions ( )
private

◆ set_processor_state() [1/2]

void ARDOUR::Route::set_processor_state ( const XMLNode ,
int  version 
)

◆ set_processor_state() [2/2]

virtual bool ARDOUR::Route::set_processor_state ( XMLNode const &  node,
int  version,
XMLProperty const *  prop,
ProcessorList new_order,
bool &  must_configure 
)
virtual

Reimplemented in ARDOUR::Track.

◆ set_processor_state_2X()

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

◆ set_public_port_latencies()

void ARDOUR::Route::set_public_port_latencies ( samplecnt_t  ,
bool  playback,
bool  with_latcomp 
) const

◆ set_self_solo()

void ARDOUR::Route::set_self_solo ( bool  yn)
private

◆ set_state()

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

◆ set_state_2X()

int ARDOUR::Route::set_state_2X ( const XMLNode ,
int   
)
private

◆ set_strict_io()

bool ARDOUR::Route::set_strict_io ( bool  )

◆ set_track_number()

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

Definition at line 394 of file route.h.

◆ set_volume_applies_to_output()

void ARDOUR::Route::set_volume_applies_to_output ( bool  )

◆ setup_invisible_processors()

void ARDOUR::Route::setup_invisible_processors ( )
private

◆ shared_peak_meter()

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

Definition at line 226 of file route.h.

◆ shift()

void ARDOUR::Route::shift ( timepos_t const &  ,
timecnt_t const &   
)

◆ sidechain_change_handler()

void ARDOUR::Route::sidechain_change_handler ( IOChange  ,
void *  src 
)
private

◆ signal_latency()

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

Definition at line 377 of file route.h.

◆ signal_sources()

std::set<std::shared_ptr<Route> > ARDOUR::Route::signal_sources ( bool  via_sends_only = false)
Returns
a list of all routes that eventually may feed a signal into this route.

◆ silence()

int ARDOUR::Route::silence ( pframes_t  )

◆ silence_unlocked()

void ARDOUR::Route::silence_unlocked ( pframes_t  )
protected

◆ slavables()

SlavableAutomationControlList ARDOUR::Route::slavables ( ) const
protectedvirtual

Reimplemented from ARDOUR::Automatable.

◆ slaved()

bool ARDOUR::Route::slaved ( ) const
virtual

Implements ARDOUR::Stripable.

◆ slaved_to()

bool ARDOUR::Route::slaved_to ( std::shared_ptr< VCA ) const
virtual

Implements ARDOUR::Stripable.

◆ snapshot_out_of_band_data()

virtual void ARDOUR::Route::snapshot_out_of_band_data ( samplecnt_t  )
inlineprotectedvirtual

Reimplemented in ARDOUR::MidiTrack.

Definition at line 591 of file route.h.

◆ solo_control()

std::shared_ptr<SoloControl> ARDOUR::Route::solo_control ( ) const
inlinevirtual

Implements ARDOUR::Stripable.

Definition at line 485 of file route.h.

◆ solo_control_changed()

void ARDOUR::Route::solo_control_changed ( bool  self,
PBD::Controllable::GroupControlDisposition   
)
private

◆ solo_isolate_control()

std::shared_ptr<SoloIsolateControl> ARDOUR::Route::solo_isolate_control ( ) const
inlinevirtual

Implements ARDOUR::Stripable.

Definition at line 499 of file route.h.

◆ solo_safe_control()

std::shared_ptr<SoloSafeControl> ARDOUR::Route::solo_safe_control ( ) const
inlinevirtual

Implements ARDOUR::Stripable.

Definition at line 503 of file route.h.

◆ soloed()

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

Definition at line 184 of file route.h.

◆ soloed_by_others()

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

Definition at line 180 of file route.h.

◆ soloed_by_others_downstream()

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

Definition at line 182 of file route.h.

◆ soloed_by_others_upstream()

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

Definition at line 181 of file route.h.

◆ state()

virtual XMLNode& ARDOUR::Route::state ( bool  save_template) const
protectedvirtual

◆ stop_triggers()

void ARDOUR::Route::stop_triggers ( bool  now)

◆ strict_io()

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

Definition at line 331 of file route.h.

◆ surround_return()

std::shared_ptr<SurroundReturn> ARDOUR::Route::surround_return ( ) const
inline

Definition at line 146 of file route.h.

◆ surround_send()

std::shared_ptr<SurroundSend> ARDOUR::Route::surround_send ( ) const
inline

Definition at line 145 of file route.h.

◆ tempo_map_changed()

void ARDOUR::Route::tempo_map_changed ( )

◆ the_instrument()

std::shared_ptr<Processor> ARDOUR::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.

◆ the_instrument_unlocked()

std::shared_ptr<Processor> ARDOUR::Route::the_instrument_unlocked ( ) const
protected

◆ track_number()

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

Definition at line 392 of file route.h.

◆ triggerbox()

std::shared_ptr<TriggerBox> ARDOUR::Route::triggerbox ( ) const
inline

Definition at line 227 of file route.h.

◆ trim()

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

Definition at line 222 of file route.h.

◆ trim_control()

std::shared_ptr<GainControl> ARDOUR::Route::trim_control ( ) const
virtual

Implements ARDOUR::Stripable.

◆ try_configure_processors()

std::list<std::pair<ChanCount, ChanCount> > ARDOUR::Route::try_configure_processors ( ChanCount  ,
ProcessorStreams  
)
private

◆ try_configure_processors_unlocked()

std::list<std::pair<ChanCount, ChanCount> > ARDOUR::Route::try_configure_processors_unlocked ( ChanCount  ,
ProcessorStreams  
)
private

◆ unknown_processors()

std::list<std::string> ARDOUR::Route::unknown_processors ( ) const

◆ unpan()

void ARDOUR::Route::unpan ( )
private

◆ update_controls()

virtual void ARDOUR::Route::update_controls ( BufferSet const &  )
inlineprotectedvirtual

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

Definition at line 593 of file route.h.

◆ update_port_latencies()

samplecnt_t ARDOUR::Route::update_port_latencies ( PortSet ports,
PortSet feeders,
bool  playback,
samplecnt_t   
) const
private

◆ update_send_delaylines()

void ARDOUR::Route::update_send_delaylines ( )

◆ update_signal_latency()

samplecnt_t ARDOUR::Route::update_signal_latency ( bool  apply_to_delayline = false,
bool *  delayline_update_needed = NULL 
)

◆ use_captured_sources()

virtual void ARDOUR::Route::use_captured_sources ( SourceList srcs,
CaptureInfos const &   
)
inlinevirtual

Reimplemented in ARDOUR::Track.

Definition at line 576 of file route.h.

◆ volume_applies_to_output()

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

Definition at line 523 of file route.h.

◆ volume_control()

std::shared_ptr<GainControl> ARDOUR::Route::volume_control ( ) const

◆ weakroute()

std::weak_ptr<Route> ARDOUR::Route::weakroute ( )

◆ write_out_of_band_data()

virtual void ARDOUR::Route::write_out_of_band_data ( BufferSet ,
samplecnt_t   
) const
inlineprotectedvirtual

Reimplemented in ARDOUR::MidiTrack.

Definition at line 592 of file route.h.

Friends And Related Function Documentation

◆ ProcessorState

friend class ProcessorState
friend

Definition at line 784 of file route.h.

◆ Session

friend class Session
friend

Definition at line 580 of file route.h.

Member Data Documentation

◆ _active

bool ARDOUR::Route::_active
protected

Definition at line 613 of file route.h.

◆ _amp

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

Definition at line 691 of file route.h.

◆ _capturing_processor

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

Definition at line 786 of file route.h.

◆ _comment

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

Definition at line 665 of file route.h.

◆ _connection_cache

std::map<Route*, bool> ARDOUR::Route::_connection_cache
mutableprivate

Definition at line 727 of file route.h.

◆ _custom_meter_position_noted

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 801 of file route.h.

◆ _default_type

DataType ARDOUR::Route::_default_type
protected

Definition at line 667 of file route.h.

◆ _delayline

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

Definition at line 700 of file route.h.

◆ _denormal_protection

bool ARDOUR::Route::_denormal_protection
protected

Definition at line 656 of file route.h.

◆ _disk_io_point

DiskIOPoint ARDOUR::Route::_disk_io_point
protected

Definition at line 637 of file route.h.

◆ _disk_reader

std::shared_ptr<DiskReader> ARDOUR::Route::_disk_reader
protected

Definition at line 628 of file route.h.

◆ _disk_writer

std::shared_ptr<DiskWriter> ARDOUR::Route::_disk_writer
protected

Definition at line 629 of file route.h.

◆ _gain_control

std::shared_ptr<GainControl> ARDOUR::Route::_gain_control
protected

Definition at line 687 of file route.h.

◆ _have_internal_generator

bool ARDOUR::Route::_have_internal_generator
protected

Definition at line 666 of file route.h.

◆ _in_configure_processors

bool ARDOUR::Route::_in_configure_processors
private

Definition at line 790 of file route.h.

◆ _in_sidechain_setup

bool ARDOUR::Route::_in_sidechain_setup
private

Definition at line 792 of file route.h.

◆ _initial_io_setup

bool ARDOUR::Route::_initial_io_setup
private

Definition at line 791 of file route.h.

◆ _input

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

Definition at line 620 of file route.h.

◆ _instrument_fanned_out

bool ARDOUR::Route::_instrument_fanned_out
protected

Definition at line 670 of file route.h.

◆ _instrument_info

InstrumentInfo ARDOUR::Route::_instrument_info
protected

Definition at line 669 of file route.h.

◆ _intreturn

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

Definition at line 625 of file route.h.

◆ _loop_location

Location* ARDOUR::Route::_loop_location
protected

Definition at line 671 of file route.h.

◆ _main_outs

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

Definition at line 623 of file route.h.

◆ _meter

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

Definition at line 694 of file route.h.

◆ _meter_point

MeterPoint ARDOUR::Route::_meter_point
protected

Definition at line 653 of file route.h.

◆ _monitor_control

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

Definition at line 626 of file route.h.

◆ _monitor_gain

gain_t ARDOUR::Route::_monitor_gain
private

Definition at line 793 of file route.h.

◆ _monitor_send

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

Definition at line 624 of file route.h.

◆ _monitoring_control

std::shared_ptr<MonitorControl> ARDOUR::Route::_monitoring_control
protected

Definition at line 633 of file route.h.

◆ _mute_control

std::shared_ptr<MuteControl> ARDOUR::Route::_mute_control
protected

Definition at line 661 of file route.h.

◆ _output

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

Definition at line 621 of file route.h.

◆ _output_latency

samplecnt_t ARDOUR::Route::_output_latency
protected

Definition at line 615 of file route.h.

◆ _pannable

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

Definition at line 627 of file route.h.

◆ _patch_selector_dialog

PatchChangeGridDialog* ARDOUR::Route::_patch_selector_dialog
private

Definition at line 808 of file route.h.

◆ _pending_listen_change

std::atomic<int> ARDOUR::Route::_pending_listen_change
protected

Definition at line 649 of file route.h.

◆ _pending_meter_point

MeterPoint ARDOUR::Route::_pending_meter_point
protected

Definition at line 654 of file route.h.

◆ _pending_process_reorder

std::atomic<int> ARDOUR::Route::_pending_process_reorder
protected

Definition at line 648 of file route.h.

◆ _pending_processor_order

ProcessorList ARDOUR::Route::_pending_processor_order
protected

Definition at line 647 of file route.h.

◆ _pending_signals

std::atomic<int> ARDOUR::Route::_pending_signals
protected

Definition at line 651 of file route.h.

◆ _pending_surround_send

std::atomic<int> ARDOUR::Route::_pending_surround_send
protected

Definition at line 650 of file route.h.

◆ _phase_control

std::shared_ptr<PhaseControl> ARDOUR::Route::_phase_control
protected

Definition at line 690 of file route.h.

◆ _pinmgr_proxy

RoutePinWindowProxy* ARDOUR::Route::_pinmgr_proxy
private

Definition at line 807 of file route.h.

◆ _polarity

std::shared_ptr<PolarityProcessor> ARDOUR::Route::_polarity
protected

Definition at line 695 of file route.h.

◆ _processor_after_last_custom_meter

std::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 805 of file route.h.

◆ _processor_lock

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

Definition at line 618 of file route.h.

◆ _processors

ProcessorList ARDOUR::Route::_processors
protected

Definition at line 617 of file route.h.

◆ _recordable

bool ARDOUR::Route::_recordable
protected

Definition at line 658 of file route.h.

◆ _signal_latency

samplecnt_t ARDOUR::Route::_signal_latency
protected

Definition at line 614 of file route.h.

◆ _solo_control

std::shared_ptr<SoloControl> ARDOUR::Route::_solo_control
protected

Definition at line 660 of file route.h.

◆ _solo_isolate_control

std::shared_ptr<SoloIsolateControl> ARDOUR::Route::_solo_isolate_control
protected

Definition at line 662 of file route.h.

◆ _solo_safe_control

std::shared_ptr<SoloSafeControl> ARDOUR::Route::_solo_safe_control
protected

Definition at line 663 of file route.h.

◆ _strict_io

bool ARDOUR::Route::_strict_io
private

Definition at line 789 of file route.h.

◆ _surround_return

std::shared_ptr<SurroundReturn> ARDOUR::Route::_surround_return
protected

Definition at line 635 of file route.h.

◆ _surround_send

std::shared_ptr<SurroundSend> ARDOUR::Route::_surround_send
protected

Definition at line 634 of file route.h.

◆ _track_number

int64_t ARDOUR::Route::_track_number
private

Definition at line 788 of file route.h.

◆ _triggerbox

std::shared_ptr<TriggerBox> ARDOUR::Route::_triggerbox
protected

Definition at line 696 of file route.h.

◆ _trim

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

Definition at line 692 of file route.h.

◆ _trim_control

std::shared_ptr<GainControl> ARDOUR::Route::_trim_control
protected

Definition at line 688 of file route.h.

◆ _volume

std::shared_ptr<Amp> ARDOUR::Route::_volume
protected

Definition at line 693 of file route.h.

◆ _volume_applies_to_output

bool ARDOUR::Route::_volume_applies_to_output
protected

Definition at line 698 of file route.h.

◆ _volume_control

std::shared_ptr<GainControl> ARDOUR::Route::_volume_control
protected

Definition at line 689 of file route.h.

◆ _well_known_map

std::map<WellKnownCtrl, std::vector<std::weak_ptr<AutomationControl> > > ARDOUR::Route::_well_known_map
private

Definition at line 798 of file route.h.

◆ active_changed

PBD::Signal<void()> ARDOUR::Route::active_changed

Definition at line 380 of file route.h.

◆ comment_changed

PBD::Signal<void()> ARDOUR::Route::comment_changed

Definition at line 382 of file route.h.

◆ denormal_protection_changed

PBD::Signal<void()> ARDOUR::Route::denormal_protection_changed

Definition at line 381 of file route.h.

◆ FanOut

PBD::Signal<void(std::weak_ptr<Route> )> ARDOUR::Route::FanOut
static

used to signal the GUI to fan-out (track-creation)

Definition at line 411 of file route.h.

◆ io_changed

PBD::Signal<void()> ARDOUR::Route::io_changed

Emitted with the process lock held

Definition at line 424 of file route.h.

◆ meter_change

PBD::Signal<void()> ARDOUR::Route::meter_change

the metering point has changed

Definition at line 421 of file route.h.

◆ PluginSetup

PBD::Signal<int(std::shared_ptr<Route>, std::shared_ptr<PluginInsert>, PluginSetupOptions )> ARDOUR::Route::PluginSetup
static

ask GUI about port-count, fan-out when adding instrument

Definition at line 408 of file route.h.

◆ processor_latency_changed

PBD::Signal<void()> ARDOUR::Route::processor_latency_changed

a processor's latency has changed (emitted from PluginInsert::latency_changed)

Definition at line 419 of file route.h.

◆ processor_max_streams

ChanCount ARDOUR::Route::processor_max_streams
protected

Definition at line 681 of file route.h.

◆ processor_out_streams

ChanCount ARDOUR::Route::processor_out_streams
protected

Definition at line 682 of file route.h.

◆ processors_changed

PBD::Signal<void(RouteProcessorChange)> ARDOUR::Route::processors_changed

the processors have changed; the parameter indicates what changed

Definition at line 414 of file route.h.

◆ record_enable_changed

PBD::Signal<void(void*)> ARDOUR::Route::record_enable_changed

Definition at line 415 of file route.h.

◆ SelectedChanged

PBD::Signal<void(void*)> ARDOUR::Route::SelectedChanged

Definition at line 439 of file route.h.

◆ selfdestruct_lock

Glib::Threads::Mutex ARDOUR::Route::selfdestruct_lock
private

Definition at line 721 of file route.h.

◆ selfdestruct_sequence

std::vector<std::weak_ptr<Processor> > ARDOUR::Route::selfdestruct_sequence
private

Definition at line 720 of file route.h.

◆ track_number_changed

PBD::Signal<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 391 of file route.h.


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