ardour
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
ARDOUR::Track Class Referenceabstract

#include <track.h>

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

Classes

struct  FreezeRecord
 
struct  FreezeRecordProcessorInfo
 
struct  RecEnableControl
 

Public Types

enum  FreezeState { NoFreeze, Frozen, UnFrozen }
 
- Public Types inherited from ARDOUR::Route
enum  Flag { Auditioner = 0x1, MasterOut = 0x2, MonitorOut = 0x4 }
 
enum  { MasterBusRemoteControlID = 318, MonitorBusRemoteControlID = 319 }
 
typedef std::list
< boost::shared_ptr< Processor > > 
ProcessorList
 
typedef std::set< FeedRecord,
FeedRecordCompare
FedBy
 
- Public Types inherited from Evoral::ControlSet
typedef std::map< Parameter,
boost::shared_ptr< Control > > 
Controls
 

Public Member Functions

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

Static Public Member Functions

static void zero_diskstream_id_in_xml (XMLNode &)
 
- Static Public Member Functions inherited from ARDOUR::Route
static std::string ensure_track_or_route_name (std::string, Session &)
 
static void set_name_in_state (XMLNode &, const std::string &)
 
- Static Public Member Functions inherited from ARDOUR::SessionObject
static void make_property_quarks ()
 

Public Attributes

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

Protected Member Functions

XMLNodestate (bool full)
 
virtual void set_state_part_two ()=0
 
void maybe_declick (BufferSet &, framecnt_t, int)
 
framecnt_t check_initial_delay (framecnt_t nframes, framepos_t &)
 
- Protected Member Functions inherited from ARDOUR::Route
void catch_up_on_solo_mute_override ()
 
void mod_solo_by_others_upstream (int32_t)
 
void mod_solo_by_others_downstream (int32_t)
 
void curve_reallocate ()
 
void fill_buffers_with_input (BufferSet &bufs, boost::shared_ptr< IO > io, pframes_t nframes)
 
void passthru (BufferSet &, framepos_t start_frame, framepos_t end_frame, pframes_t nframes, int declick)
 
virtual void 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
 
int configure_processors (ProcessorStreams *)
 
void passthru_silence (framepos_t start_frame, framepos_t end_frame, pframes_t nframes, int declick)
 
void silence (framecnt_t)
 
void silence_unlocked (framecnt_t)
 
uint32_t pans_required () const
 
ChanCount n_process_buffers ()
 
boost::shared_ptr< Processorthe_instrument_unlocked () const
 
- Protected Member Functions inherited from ARDOUR::SessionHandleRef
virtual void session_going_away ()
 
virtual void insanity_check ()
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &)
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
- Protected Member Functions inherited from ARDOUR::Automatable
void can_automate (Evoral::Parameter)
 
virtual void automation_list_automation_state_changed (Evoral::Parameter, AutoState)
 
int load_automation (const std::string &path)
 
int old_set_automation_state (const XMLNode &)
 
- Protected Member Functions inherited from Evoral::ControlSet
virtual void control_list_marked_dirty ()
 
virtual void control_list_interpolation_changed (Parameter, ControlList::InterpolationStyle)
 

Protected Attributes

boost::shared_ptr< Diskstream_diskstream
 
MeterPoint _saved_meter_point
 
TrackMode _mode
 
bool _needs_butler
 
MonitorChoice _monitoring
 
FreezeRecord _freeze_record
 
XMLNodepending_state
 
bool _destructive
 
boost::shared_ptr
< RecEnableControl
_rec_enable_control
 
- Protected Attributes inherited from ARDOUR::Route
boost::shared_ptr< IO_input
 
boost::shared_ptr< IO_output
 
bool _active
 
framecnt_t _signal_latency
 
framecnt_t _signal_latency_at_amp_position
 
framecnt_t _signal_latency_at_trim_position
 
framecnt_t _initial_delay
 
framecnt_t _roll_delay
 
ProcessorList _processors
 
Glib::Threads::RWLock _processor_lock
 
boost::shared_ptr< Delivery_main_outs
 
boost::shared_ptr< InternalSend_monitor_send
 
boost::shared_ptr< InternalReturn_intreturn
 
boost::shared_ptr
< MonitorProcessor
_monitor_control
 
boost::shared_ptr< Pannable_pannable
 
ProcessorList _pending_processor_order
 
gint _pending_process_reorder
 
gint _pending_signals
 
Flag _flags
 
int _pending_declick
 
MeterPoint _meter_point
 
MeterPoint _pending_meter_point
 
MeterType _meter_type
 
boost::dynamic_bitset _phase_invert
 
bool _self_solo
 
uint32_t _soloed_by_others_upstream
 
uint32_t _soloed_by_others_downstream
 
uint32_t _solo_isolated
 
bool _denormal_protection
 
bool _recordable: 1
 
bool _silent: 1
 
bool _declickable: 1
 
boost::shared_ptr
< SoloControllable
_solo_control
 
boost::shared_ptr
< MuteControllable
_mute_control
 
boost::shared_ptr< MuteMaster_mute_master
 
std::string _comment
 
bool _have_internal_generator
 
bool _solo_safe
 
DataType _default_type
 
FedBy _fed_by
 
InstrumentInfo _instrument_info
 
ChanCount processor_max_streams
 
ChanCount processor_out_streams
 
boost::shared_ptr< Amp_amp
 
boost::shared_ptr< Amp_trim
 
boost::shared_ptr< PeakMeter_meter
 
boost::shared_ptr< DelayLine_delayline
 
- Protected Attributes inherited from ARDOUR::SessionObject
PBD::Property< std::string > _name
 
- Protected Attributes inherited from ARDOUR::SessionHandleRef
ARDOUR::Session_session
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 
- Protected Attributes inherited from ARDOUR::Automatable
Session_a_session
 
std::set< Evoral::Parameter_can_automate_list
 
framepos_t _last_automation_snapshot
 
- Protected Attributes inherited from Evoral::ControlSet
Glib::Threads::Mutex _control_lock
 
Controls _controls
 
PBD::ScopedConnectionList _list_connections
 
- Protected Attributes inherited from ARDOUR::RouteGroupMember
RouteGroup_route_group
 

Private Member Functions

virtual boost::shared_ptr
< Diskstream
diskstream_factory (XMLNode const &)=0
 
void diskstream_playlist_changed ()
 
void diskstream_record_enable_changed ()
 
void diskstream_speed_changed ()
 
void diskstream_alignment_style_changed ()
 
void parameter_changed (std::string const &p)
 

Private Attributes

std::string _diskstream_name
 

Additional Inherited Members

- Static Public Attributes inherited from ARDOUR::Route
static PBD::Signal0< void > RemoteControlIDChange
 
static PBD::Signal0< void > SyncOrderKeys
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version = 0
 
static int loading_state_version = 0
 
- Static Public Attributes inherited from ARDOUR::Automatable
static const std::string xml_node_name = X_("Automation")
 
- Protected Types inherited from ARDOUR::Route
enum  { EmitNone = 0x00, EmitMeterChanged = 0x01, EmitMeterVisibilityChange = 0x02, EmitRtProcessorChange = 0x04 }
 

Detailed Description

Definition at line 38 of file track.h.

Member Enumeration Documentation

Enumerator
NoFreeze 
Frozen 
UnFrozen 

Definition at line 82 of file track.h.

Constructor & Destructor Documentation

Track::Track ( Session ,
std::string  name,
Route::Flag  f = Route::Flag (0),
TrackMode  m = Normal,
DataType  default_type = DataType::AUDIO 
)

Definition at line 41 of file track.cc.

Track::~Track ( )
virtual

Definition at line 51 of file track.cc.

Member Function Documentation

void Track::adjust_capture_buffering ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 886 of file track.cc.

void Track::adjust_playback_buffering ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 878 of file track.cc.

AlignChoice Track::alignment_choice ( ) const

Definition at line 795 of file track.cc.

AlignStyle Track::alignment_style ( ) const
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 789 of file track.cc.

virtual boost::shared_ptr<Region> ARDOUR::Track::bounce ( InterThreadInfo )
pure virtual
virtual boost::shared_ptr<Region> ARDOUR::Track::bounce_range ( framepos_t  start,
framepos_t  end,
InterThreadInfo ,
boost::shared_ptr< Processor endpoint,
bool  include_endpoint 
)
pure virtual
virtual bool ARDOUR::Track::bounceable ( boost::shared_ptr< Processor endpoint,
bool  include_endpoint 
) const
pure virtual
Returns
true if the track can be bounced, or false otherwise.

Implemented in ARDOUR::Auditioner, ARDOUR::MidiTrack, and ARDOUR::AudioTrack.

int Track::can_internal_playback_seek ( framecnt_t  p)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 680 of file track.cc.

bool Track::can_record ( )
virtual

Reimplemented from ARDOUR::Route.

Definition at line 221 of file track.cc.

virtual bool ARDOUR::Track::can_use_mode ( TrackMode  ,
bool &   
)
inlinevirtual

Reimplemented in ARDOUR::AudioTrack.

Definition at line 51 of file track.h.

float Track::capture_buffer_load ( ) const
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 644 of file track.cc.

framecnt_t Track::check_initial_delay ( framecnt_t  nframes,
framepos_t transport_frame 
)
protectedvirtual

Reimplemented from ARDOUR::Route.

Definition at line 981 of file track.cc.

virtual boost::shared_ptr<Diskstream> ARDOUR::Track::create_diskstream ( )
pure virtual
framepos_t Track::current_capture_end ( ) const
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 807 of file track.cc.

framepos_t Track::current_capture_start ( ) const
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 801 of file track.cc.

virtual DataType ARDOUR::Track::data_type ( ) const
pure virtual
bool Track::destructive ( ) const
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 608 of file track.cc.

void Track::diskstream_alignment_style_changed ( )
private

Definition at line 584 of file track.cc.

virtual boost::shared_ptr<Diskstream> ARDOUR::Track::diskstream_factory ( XMLNode const &  )
privatepure virtual
void Track::diskstream_playlist_changed ( )
private

Definition at line 566 of file track.cc.

void Track::diskstream_record_enable_changed ( )
private

Definition at line 572 of file track.cc.

void Track::diskstream_speed_changed ( )
private

Definition at line 578 of file track.cc.

int Track::do_flush ( RunContext  c,
bool  force = false 
)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 656 of file track.cc.

int Track::do_refill ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 650 of file track.cc.

void Track::ensure_input_monitoring ( bool  m)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 602 of file track.cc.

virtual int ARDOUR::Track::export_stuff ( BufferSet bufs,
framepos_t  start_frame,
framecnt_t  nframes,
boost::shared_ptr< Processor endpoint,
bool  include_endpoint,
bool  for_export,
bool  for_freeze 
)
pure virtual
virtual void ARDOUR::Track::freeze_me ( InterThreadInfo )
pure virtual
Track::FreezeState Track::freeze_state ( ) const

Definition at line 175 of file track.cc.

framepos_t Track::get_capture_start_frame ( uint32_t  n = 0) const
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 783 of file track.cc.

framecnt_t Track::get_captured_frames ( uint32_t  n = 0) const
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 723 of file track.cc.

XMLNode & Track::get_state ( void  )
virtual

Reimplemented from ARDOUR::Route.

Definition at line 90 of file track.cc.

XMLNode & Track::get_template ( )
virtual

Reimplemented from ARDOUR::Route.

Definition at line 162 of file track.cc.

bool Track::hidden ( ) const
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 674 of file track.cc.

int Track::init ( )
virtual

Reimplemented from ARDOUR::Route.

Definition at line 57 of file track.cc.

int Track::internal_playback_seek ( framecnt_t  p)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 686 of file track.cc.

list< boost::shared_ptr< Source > > & Track::last_capture_sources ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 614 of file track.cc.

void Track::maybe_declick ( BufferSet bufs,
framecnt_t  nframes,
int  declick 
)
protectedvirtual

Reimplemented from ARDOUR::Route.

Definition at line 959 of file track.cc.

MeterState Track::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 from ARDOUR::Route.

Definition at line 1031 of file track.cc.

TrackMode ARDOUR::Track::mode ( ) const
inline

Definition at line 49 of file track.h.

MonitorChoice ARDOUR::Track::monitoring_choice ( ) const
inline

Definition at line 55 of file track.h.

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

Reimplemented from ARDOUR::Route.

Definition at line 894 of file track.cc.

ChanCount Track::n_channels ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 777 of file track.cc.

bool ARDOUR::Track::needs_butler ( ) const
inline

Definition at line 70 of file track.h.

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

Reimplemented from ARDOUR::Route.

Reimplemented in ARDOUR::MidiTrack.

Definition at line 381 of file track.cc.

void Track::non_realtime_input_change ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 692 of file track.cc.

void Track::non_realtime_locate ( framepos_t  p)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 698 of file track.cc.

void Track::non_realtime_set_speed ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 711 of file track.cc.

int Track::overwrite_existing_buffers ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 717 of file track.cc.

void Track::parameter_changed ( std::string const &  p)
private

Definition at line 294 of file track.cc.

bool Track::pending_overwrite ( ) const
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 753 of file track.cc.

float Track::playback_buffer_load ( ) const
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 638 of file track.cc.

boost::shared_ptr< Playlist > Track::playlist ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 590 of file track.cc.

void Track::playlist_modified ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 813 of file track.cc.

void Track::prep_record_enabled ( bool  yn,
void *  src 
)

Definition at line 233 of file track.cc.

void Track::prepare_to_stop ( framepos_t  t,
framepos_t  a 
)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 765 of file track.cc.

bool Track::realtime_set_speed ( double  s,
bool  g 
)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 741 of file track.cc.

boost::shared_ptr<AutomationControl> ARDOUR::Track::rec_enable_control ( )
inline

Definition at line 107 of file track.h.

bool Track::record_enabled ( ) const
virtual

Reimplemented from ARDOUR::Route.

Definition at line 215 of file track.cc.

void Track::request_input_monitoring ( bool  m)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 596 of file track.cc.

void Track::reset_write_sources ( bool  r,
bool  force = false 
)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 632 of file track.cc.

void Track::resync_track_name ( )

Definition at line 310 of file track.cc.

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

Reimplemented from ARDOUR::Route.

Implemented in ARDOUR::Auditioner, ARDOUR::MidiTrack, and ARDOUR::AudioTrack.

int Track::seek ( framepos_t  p,
bool  complete_refill = false 
)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 668 of file track.cc.

void Track::set_align_choice ( AlignChoice  s,
bool  force = false 
)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 859 of file track.cc.

void Track::set_align_style ( AlignStyle  s,
bool  force = false 
)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 853 of file track.cc.

void Track::set_block_size ( pframes_t  n)
virtual

Reimplemented from ARDOUR::Route.

Definition at line 871 of file track.cc.

void Track::set_capture_offset ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 620 of file track.cc.

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

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

Definition at line 554 of file track.cc.

void Track::set_latency_compensation ( framecnt_t  longest_session_latency)
virtual

Reimplemented from ARDOUR::Route.

Definition at line 374 of file track.cc.

int Track::set_loop ( Location l)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 729 of file track.cc.

virtual int ARDOUR::Track::set_mode ( TrackMode  )
inlinevirtual

Reimplemented in ARDOUR::AudioTrack.

Definition at line 50 of file track.h.

void Track::set_monitoring ( MonitorChoice  mc)
virtual

Reimplemented in ARDOUR::MidiTrack.

Definition at line 1017 of file track.cc.

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

Reimplemented from ARDOUR::Route.

Definition at line 316 of file track.cc.

void Track::set_pending_overwrite ( bool  o)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 662 of file track.cc.

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

Reimplemented from ARDOUR::Route.

Definition at line 273 of file track.cc.

void Track::set_slaved ( bool  s)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 771 of file track.cc.

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

Reimplemented from ARDOUR::Route.

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

Definition at line 108 of file track.cc.

virtual void ARDOUR::Track::set_state_part_two ( )
protectedpure virtual
int Track::silent_roll ( pframes_t  nframes,
framepos_t  start_frame,
framepos_t  end_frame,
bool &  need_butler 
)
virtual

Reimplemented from ARDOUR::Route.

Definition at line 519 of file track.cc.

double Track::speed ( ) const
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 759 of file track.cc.

XMLNode & Track::state ( bool  full)
protectedvirtual

Reimplemented from ARDOUR::Route.

Definition at line 96 of file track.cc.

std::string Track::steal_write_source_name ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 626 of file track.cc.

void Track::transport_looped ( framepos_t  p)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 735 of file track.cc.

void Track::transport_stopped_wallclock ( struct tm &  n,
time_t  t,
bool  g 
)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 747 of file track.cc.

virtual void ARDOUR::Track::unfreeze ( )
pure virtual
int Track::use_copy_playlist ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 829 of file track.cc.

void Track::use_new_diskstream ( )

Definition at line 78 of file track.cc.

int Track::use_new_playlist ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 841 of file track.cc.

int Track::use_playlist ( boost::shared_ptr< Playlist p)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 819 of file track.cc.

bool Track::using_diskstream_id ( PBD::ID  id) const

Definition at line 865 of file track.cc.

static void ARDOUR::Track::zero_diskstream_id_in_xml ( XMLNode )
static

Member Data Documentation

bool ARDOUR::Track::_destructive
protected

Definition at line 216 of file track.h.

boost::shared_ptr<Diskstream> ARDOUR::Track::_diskstream
protected

Definition at line 174 of file track.h.

std::string ARDOUR::Track::_diskstream_name
private

Definition at line 234 of file track.h.

FreezeRecord ARDOUR::Track::_freeze_record
protected

Definition at line 214 of file track.h.

TrackMode ARDOUR::Track::_mode
protected

Definition at line 176 of file track.h.

MonitorChoice ARDOUR::Track::_monitoring
protected

Definition at line 178 of file track.h.

bool ARDOUR::Track::_needs_butler
protected

Definition at line 177 of file track.h.

boost::shared_ptr<RecEnableControl> ARDOUR::Track::_rec_enable_control
protected

Definition at line 220 of file track.h.

MeterPoint ARDOUR::Track::_saved_meter_point
protected

Definition at line 175 of file track.h.

PBD::Signal0<void> ARDOUR::Track::AlignmentStyleChanged

Definition at line 169 of file track.h.

PBD::Signal0<void> ARDOUR::Track::DiskstreamChanged

Definition at line 163 of file track.h.

PBD::Signal0<void> ARDOUR::Track::FreezeChange

Definition at line 164 of file track.h.

PBD::Signal0<void> ARDOUR::Track::MonitoringChanged

Definition at line 57 of file track.h.

XMLNode* ARDOUR::Track::pending_state
protected

Definition at line 215 of file track.h.

PBD::Signal0<void> ARDOUR::Track::PlaylistChanged

Definition at line 166 of file track.h.

PBD::Signal0<void> ARDOUR::Track::RecordEnableChanged

Definition at line 167 of file track.h.

PBD::Signal0<void> ARDOUR::Track::SpeedChanged

Definition at line 168 of file track.h.

PBD::Signal0<void> ARDOUR::Track::TrackModeChanged

Definition at line 52 of file track.h.


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