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

#include <session.h>

Inheritance diagram for ARDOUR::Session:
PBD::StatefulDestructible PBD::ScopedConnectionList ARDOUR::SessionEventManager PBD::Stateful PBD::Destructible

Classes

struct  RoutePublicOrderSorter
 
struct  SaveAs
 
struct  space_and_path
 
struct  space_and_path_ascending_cmp
 
class  StateProtector
 

Public Types

enum  RecordState { Disabled = 0, Enabled = 1, Recording = 2 }
 
enum  StateOfTheState {
  Clean = 0x0, Dirty = 0x1, CannotSave = 0x2, Deletion = 0x4,
  InitialConnecting = 0x8, Loading = 0x10, InCleanup = 0x20
}
 
enum  PullupFormat {
  pullup_Plus4Plus1, pullup_Plus4, pullup_Plus4Minus1, pullup_Plus1,
  pullup_None, pullup_Minus1, pullup_Minus4Plus1, pullup_Minus4,
  pullup_Minus4Minus1
}
 
enum  PostTransportWork {
  PostTransportStop = 0x1, PostTransportDuration = 0x2, PostTransportLocate = 0x4, PostTransportRoll = 0x8,
  PostTransportAbort = 0x10, PostTransportOverWrite = 0x20, PostTransportSpeed = 0x40, PostTransportAudition = 0x80,
  PostTransportReverse = 0x100, PostTransportInputChange = 0x200, PostTransportCurveRealloc = 0x400, PostTransportClearSubstate = 0x800,
  PostTransportAdjustPlaybackBuffering = 0x1000, PostTransportAdjustCaptureBuffering = 0x2000
}
 
enum  SlaveState { Stopped, Waiting, Running }
 
typedef std::map< PBD::ID,
boost::shared_ptr< Source > > 
SourceMap
 

Public Member Functions

 Session (AudioEngine &, const std::string &fullpath, const std::string &snapshot_name, BusProfile *bus_profile=0, std::string mix_template="")
 
virtual ~Session ()
 
std::string path () const
 
std::string name () const
 
std::string snap_name () const
 
std::string raid_path () const
 
bool path_is_within_session (const std::string &)
 
void set_snap_name ()
 
bool writable () const
 
void set_dirty ()
 
void set_clean ()
 
bool dirty () const
 
void set_deletion_in_progress ()
 
void clear_deletion_in_progress ()
 
bool deletion_in_progress () const
 
const SessionDirectorysession_directory () const
 
int ensure_subdirs ()
 
std::string automation_dir () const
 Automation data. More...
 
std::string analysis_dir () const
 Analysis data. More...
 
std::string plugins_dir () const
 Plugin state. More...
 
std::string externals_dir () const
 Links to external files. More...
 
std::string peak_path (std::string) const
 
std::string peak_path_from_audio_path (std::string) const
 
bool audio_source_name_is_unique (const std::string &name)
 
std::string format_audio_source_name (const std::string &legalized_base, uint32_t nchan, uint32_t chan, bool destructive, bool take_required, uint32_t cnt, bool related_exists)
 
std::string new_audio_source_path_for_embedded (const std::string &existing_path)
 
std::string new_audio_source_path (const std::string &, uint32_t nchans, uint32_t chan, bool destructive, bool take_required)
 
std::string new_midi_source_path (const std::string &)
 
RouteList new_route_from_template (uint32_t how_many, const std::string &template_path, const std::string &name)
 
std::vector< std::string > get_paths_for_new_sources (bool allow_replacing, const std::string &import_file_path, uint32_t channels)
 
int bring_all_sources_into_session (boost::function< void(uint32_t, uint32_t, std::string)> callback)
 
void process (pframes_t nframes)
 
BufferSetget_silent_buffers (ChanCount count=ChanCount::ZERO)
 
BufferSetget_scratch_buffers (ChanCount count=ChanCount::ZERO, bool silence=true)
 
BufferSetget_route_buffers (ChanCount count=ChanCount::ZERO, bool silence=true)
 
BufferSetget_mix_buffers (ChanCount count=ChanCount::ZERO)
 
bool have_rec_enabled_track () const
 
bool have_captured () const
 
void refill_all_track_buffers ()
 
Butlerbutler ()
 
void butler_transport_work ()
 
void refresh_disk_space ()
 
int load_diskstreams_2X (XMLNode const &, int)
 
int load_routes (const XMLNode &, int)
 
boost::shared_ptr< RouteListget_routes () const
 
boost::shared_ptr< RouteListget_tracks () const
 
boost::shared_ptr< RouteListget_routes_with_internal_returns () const
 
boost::shared_ptr< RouteListget_routes_with_regions_at (framepos_t const) const
 
uint32_t nroutes () const
 
uint32_t ntracks () const
 
uint32_t nbusses () const
 
boost::shared_ptr< BundleListbundles ()
 
void set_order_hint (int32_t order_hint)
 
void notify_remote_id_change ()
 
void sync_order_keys ()
 
template<class T >
void foreach_route (T *obj, void(T::*func)(Route &), bool sort=true)
 
template<class T >
void foreach_route (T *obj, void(T::*func)(boost::shared_ptr< Route >), bool sort=true)
 
template<class T , class A >
void foreach_route (T *obj, void(T::*func)(Route &, A), A arg, bool sort=true)
 
bool io_name_is_legal (const std::string &)
 
boost::shared_ptr< Routeroute_by_name (std::string)
 
boost::shared_ptr< Routeroute_by_id (PBD::ID)
 
boost::shared_ptr< Routeroute_by_remote_id (uint32_t id)
 
boost::shared_ptr< Tracktrack_by_diskstream_id (PBD::ID)
 
void routes_using_input_from (const std::string &str, RouteList &rl)
 
bool route_name_unique (std::string) const
 
bool route_name_internal (std::string) const
 
uint32_t track_number_decimals () const
 
bool get_record_enabled () const
 
RecordState record_status () const
 
bool actively_recording () const
 
bool record_enabling_legal () const
 
void maybe_enable_record ()
 
void disable_record (bool rt_context, bool force=false)
 
void step_back_from_record ()
 
void maybe_write_autosave ()
 
void queue_event (SessionEvent *)
 
void request_roll_at_and_return (framepos_t start, framepos_t return_to)
 
void request_bounded_roll (framepos_t start, framepos_t end)
 
void request_stop (bool abort=false, bool clear_state=false)
 
void request_locate (framepos_t frame, bool with_roll=false)
 
void request_play_loop (bool yn, bool leave_rolling=false)
 
bool get_play_loop () const
 
framepos_t last_transport_start () const
 
void goto_end ()
 
void goto_start ()
 
void use_rf_shuttle_speed ()
 
void allow_auto_play (bool yn)
 
void request_transport_speed (double speed, bool as_default=false)
 
void request_transport_speed_nonzero (double, bool as_default=false)
 
void request_overwrite_buffer (Track *)
 
void adjust_playback_buffering ()
 
void adjust_capture_buffering ()
 
void request_track_speed (Track *, double speed)
 
void request_input_change_handling ()
 
bool locate_pending () const
 
bool transport_locked () const
 
int wipe ()
 
framepos_t current_end_frame () const
 
framepos_t current_start_frame () const
 
framecnt_t frame_rate () const
 
framecnt_t nominal_frame_rate () const
 
framecnt_t frames_per_hour () const
 
double frames_per_timecode_frame () const
 
framecnt_t timecode_frames_per_hour () const
 
MIDI::byte get_mtc_timecode_bits () const
 
double timecode_frames_per_second () const
 
bool timecode_drop_frames () const
 
Locationslocations ()
 
void set_auto_punch_location (Location *)
 
void set_auto_loop_location (Location *)
 
void set_session_extents (framepos_t start, framepos_t end)
 
int location_name (std::string &result, std::string base=std::string(""))
 
pframes_t get_block_size () const
 
framecnt_t worst_output_latency () const
 
framecnt_t worst_input_latency () const
 
framecnt_t worst_track_latency () const
 
framecnt_t worst_playback_latency () const
 
int save_as (SaveAs &)
 
int save_state (std::string snapshot_name, bool pending=false, bool switch_to_snapshot=false, bool template_only=false)
 
int restore_state (std::string snapshot_name)
 
int save_template (std::string template_name)
 
int save_history (std::string snapshot_name="")
 
int restore_history (std::string snapshot_name)
 
void remove_state (std::string snapshot_name)
 
void rename_state (std::string old_name, std::string new_name)
 
void remove_pending_capture_state ()
 
int rename (const std::string &)
 
bool get_nsm_state () const
 
void set_nsm_state (bool state)
 
bool save_default_options ()
 
std::vector< std::string > possible_states () const
 
XMLNodeget_state ()
 
int set_state (const XMLNode &node, int version)
 
XMLNodeget_template ()
 
void add_instant_xml (XMLNode &, bool write_to_config=true)
 The instant xml file is written to the session directory. More...
 
XMLNodeinstant_xml (const std::string &str)
 
StateOfTheState state_of_the_state () const
 
void add_route_group (RouteGroup *)
 
void remove_route_group (RouteGroup &)
 
void reorder_route_groups (std::list< RouteGroup * >)
 
RouteGrouproute_group_by_name (std::string)
 
RouteGroupall_route_group () const
 
void foreach_route_group (boost::function< void(RouteGroup *)> f)
 
std::list< RouteGroup * > const & route_groups () const
 
std::list< boost::shared_ptr
< AudioTrack > > 
new_audio_track (int input_channels, int output_channels, TrackMode mode=Normal, RouteGroup *route_group=0, uint32_t how_many=1, std::string name_template="")
 
RouteList new_audio_route (int input_channels, int output_channels, RouteGroup *route_group, uint32_t how_many, std::string name_template="")
 
std::list< boost::shared_ptr
< MidiTrack > > 
new_midi_track (const ChanCount &input, const ChanCount &output, boost::shared_ptr< PluginInfo > instrument=boost::shared_ptr< PluginInfo >(), TrackMode mode=Normal, RouteGroup *route_group=0, uint32_t how_many=1, std::string name_template="")
 
void remove_route (boost::shared_ptr< Route >)
 
void resort_routes ()
 
void resort_routes_using (boost::shared_ptr< RouteList >)
 
AudioEngineengine ()
 
AudioEngine const & engine () const
 
framepos_t transport_frame () const
 
framepos_t record_location () const
 
framepos_t audible_frame () const
 
framepos_t requested_return_frame () const
 
void set_requested_return_frame (framepos_t return_to)
 
void sync_time_vars ()
 
void bbt_time (framepos_t when, Timecode::BBT_Time &)
 
void timecode_to_sample (Timecode::Time &timecode, framepos_t &sample, bool use_offset, bool use_subframes) const
 
void sample_to_timecode (framepos_t sample, Timecode::Time &timecode, bool use_offset, bool use_subframes) const
 
void timecode_time (Timecode::Time &)
 
void timecode_time (framepos_t when, Timecode::Time &)
 
void timecode_time_subframes (framepos_t when, Timecode::Time &)
 
void timecode_duration (framecnt_t, Timecode::Time &) const
 
void timecode_duration_string (char *, size_t len, framecnt_t) const
 
framecnt_t convert_to_frames (AnyTime const &position)
 
framecnt_t any_duration_to_frames (framepos_t position, AnyTime const &duration)
 
void request_sync_source (Slave *)
 
bool synced_to_engine () const
 
double transport_speed () const
 
bool transport_stopped () const
 
bool transport_rolling () const
 
bool silent ()
 
TempoMaptempo_map ()
 
const TempoMaptempo_map () const
 
unsigned int get_xrun_count () const
 
void reset_xrun_count ()
 
boost::shared_ptr< Regionfind_whole_file_parent (boost::shared_ptr< Region const >) const
 
boost::shared_ptr< RegionXMLRegionFactory (const XMLNode &, bool full)
 
boost::shared_ptr< AudioRegionXMLAudioRegionFactory (const XMLNode &, bool full)
 
boost::shared_ptr< MidiRegionXMLMidiRegionFactory (const XMLNode &, bool full)
 
void import_files (ImportStatus &)
 
bool sample_rate_convert (ImportStatus &, std::string infile, std::string &outfile)
 
std::string build_tmp_convert_name (std::string file)
 
boost::shared_ptr< ExportHandlerget_export_handler ()
 
boost::shared_ptr< ExportStatusget_export_status ()
 
int start_audio_export (framepos_t position)
 
void add_source (boost::shared_ptr< Source >)
 
void remove_source (boost::weak_ptr< Source >)
 
void cleanup_regions ()
 
int cleanup_sources (CleanupReport &)
 
int cleanup_trash_sources (CleanupReport &)
 
int destroy_sources (std::list< boost::shared_ptr< Source > >)
 
int remove_last_capture ()
 
boost::shared_ptr
< AudioFileSource
create_audio_source_for_session (size_t, std::string const &, uint32_t, bool destructive)
 
boost::shared_ptr< MidiSourcecreate_midi_source_for_session (std::string const &)
 
boost::shared_ptr< MidiSourcecreate_midi_source_by_stealing_name (boost::shared_ptr< Track >)
 
boost::shared_ptr< Sourcesource_by_id (const PBD::ID &)
 
boost::shared_ptr
< AudioFileSource
audio_source_by_path_and_channel (const std::string &, uint16_t) const
 
boost::shared_ptr< MidiSourcemidi_source_by_path (const std::string &) const
 
uint32_t count_sources_by_origin (const std::string &)
 
void add_playlist (boost::shared_ptr< Playlist >, bool unused=false)
 
void add_automation_list (AutomationList *)
 
boost::shared_ptr< Auditionerthe_auditioner ()
 
void audition_playlist ()
 
void audition_region (boost::shared_ptr< Region >)
 
void cancel_audition ()
 
bool is_auditioning () const
 
boost::shared_ptr< Regionwrite_one_track (Track &, framepos_t start, framepos_t end, bool overwrite, std::vector< boost::shared_ptr< Source > > &, InterThreadInfo &wot, boost::shared_ptr< Processor > endpoint, bool include_endpoint, bool for_export, bool for_freeze)
 
int freeze_all (InterThreadInfo &)
 
bool soloing () const
 
bool listening () const
 
bool solo_isolated () const
 
void set_solo (boost::shared_ptr< RouteList >, bool, SessionEvent::RTeventCallback after=rt_cleanup, bool group_override=false)
 
void set_just_one_solo (boost::shared_ptr< Route >, bool, SessionEvent::RTeventCallback after=rt_cleanup)
 
void cancel_solo_after_disconnect (boost::shared_ptr< Route >, bool upstream, SessionEvent::RTeventCallback after=rt_cleanup)
 
void set_mute (boost::shared_ptr< RouteList >, bool, SessionEvent::RTeventCallback after=rt_cleanup, bool group_override=false)
 
void set_listen (boost::shared_ptr< RouteList >, bool, SessionEvent::RTeventCallback after=rt_cleanup, bool group_override=false)
 
void set_record_enabled (boost::shared_ptr< RouteList >, bool, SessionEvent::RTeventCallback after=rt_cleanup, bool group_override=false)
 
void set_solo_isolated (boost::shared_ptr< RouteList >, bool, SessionEvent::RTeventCallback after=rt_cleanup, bool group_override=false)
 
void set_monitoring (boost::shared_ptr< RouteList >, MonitorChoice, SessionEvent::RTeventCallback after=rt_cleanup, bool group_override=false)
 
void set_exclusive_input_active (boost::shared_ptr< RouteList > rt, bool onoff, bool flip_others=false)
 
void add_monitor_section ()
 
void reset_monitor_section ()
 
void remove_monitor_section ()
 
boost::shared_ptr< Routemonitor_out () const
 
boost::shared_ptr< Routemaster_out () const
 
void globally_add_internal_sends (boost::shared_ptr< Route > dest, Placement p, bool)
 
void globally_set_send_gains_from_track (boost::shared_ptr< Route > dest)
 
void globally_set_send_gains_to_zero (boost::shared_ptr< Route > dest)
 
void globally_set_send_gains_to_unity (boost::shared_ptr< Route > dest)
 
void add_internal_sends (boost::shared_ptr< Route > dest, Placement p, boost::shared_ptr< RouteList > senders)
 
void add_internal_send (boost::shared_ptr< Route >, int, boost::shared_ptr< Route >)
 
void add_internal_send (boost::shared_ptr< Route >, boost::shared_ptr< Processor >, boost::shared_ptr< Route >)
 
uint32_t next_send_id ()
 
uint32_t next_aux_send_id ()
 
uint32_t next_return_id ()
 
uint32_t next_insert_id ()
 
void mark_send_id (uint32_t)
 
void mark_aux_send_id (uint32_t)
 
void mark_return_id (uint32_t)
 
void mark_insert_id (uint32_t)
 
void unmark_send_id (uint32_t)
 
void unmark_aux_send_id (uint32_t)
 
void unmark_return_id (uint32_t)
 
void unmark_insert_id (uint32_t)
 
boost::optional< framecnt_tavailable_capture_duration ()
 
void add_bundle (boost::shared_ptr< Bundle >, bool emit_signal=true)
 
void remove_bundle (boost::shared_ptr< Bundle >)
 
boost::shared_ptr< Bundlebundle_by_name (std::string) const
 
void midi_panic ()
 
void undo (uint32_t n)
 
void redo (uint32_t n)
 
UndoHistoryhistory ()
 
uint32_t undo_depth () const
 
uint32_t redo_depth () const
 
std::string next_undo () const
 
std::string next_redo () const
 
void begin_reversible_command (const std::string &cmd_name)
 
void begin_reversible_command (GQuark)
 
void abort_reversible_command ()
 
void commit_reversible_command (Command *cmd=0)
 
void add_command (Command *const cmd)
 
std::list< GQuark > const & current_operations ()
 
bool operation_in_progress (GQuark) const
 
void add_commands (std::vector< Command * > const &cmds)
 
Commandmemento_command_factory (XMLNode *n)
 
Commandstateful_diff_command_factory (XMLNode *)
 
void register_with_memento_command_factory (PBD::ID, PBD::StatefulDestructible *)
 
boost::shared_ptr< IOclick_io ()
 
boost::shared_ptr< Ampclick_gain ()
 
uint32_t playback_load ()
 
uint32_t capture_load ()
 
void request_play_range (std::list< AudioRange > *, bool leave_rolling=false)
 
void request_cancel_play_range ()
 
bool get_play_range () const
 
void maybe_update_session_range (framepos_t, framepos_t)
 
gain_tgain_automation_buffer () const
 
gain_ttrim_automation_buffer () const
 
gain_tsend_gain_automation_buffer () const
 
pan_t ** pan_automation_buffer () const
 
void ensure_buffer_set (BufferSet &buffers, const ChanCount &howmany)
 
boost::shared_ptr< Speakersget_speakers ()
 
boost::shared_ptr
< PBD::Controllable
controllable_by_id (const PBD::ID &)
 
boost::shared_ptr
< PBD::Controllable
controllable_by_descriptor (const PBD::ControllableDescriptor &)
 
void add_controllable (boost::shared_ptr< PBD::Controllable >)
 
void remove_controllable (PBD::Controllable *)
 
boost::shared_ptr
< PBD::Controllable
solo_cut_control () const
 
bool exporting () const
 
bool bounce_processing () const
 
SlaveState slave_state () const
 
Slaveslave () const
 
void send_mmc_locate (framepos_t)
 
void queue_full_time_code ()
 
void queue_song_position_pointer ()
 
bool step_editing () const
 
void request_suspend_timecode_transmission ()
 
void request_resume_timecode_transmission ()
 
bool timecode_transmission_suspended () const
 
std::vector< std::string > source_search_path (DataType) const
 
void ensure_search_path_includes (const std::string &path, DataType type)
 
void remove_dir_from_search_path (const std::string &path, DataType type)
 
std::list< std::string > unknown_processors () const
 
SceneChangerscene_changer () const
 
boost::shared_ptr< Portltc_input_port () const
 
boost::shared_ptr< Portltc_output_port () const
 
boost::shared_ptr< IOltc_input_io ()
 
boost::shared_ptr< IOltc_output_io ()
 
MIDI::Port * midi_input_port () const
 
MIDI::Port * midi_output_port () const
 
MIDI::Port * mmc_output_port () const
 
MIDI::Port * mmc_input_port () const
 
MIDI::Port * scene_input_port () const
 
MIDI::Port * scene_output_port () const
 
boost::shared_ptr< MidiPortscene_in () const
 
boost::shared_ptr< MidiPortscene_out () const
 
boost::shared_ptr< MidiPortmidi_clock_output_port () const
 
boost::shared_ptr< MidiPortmidi_clock_input_port () const
 
boost::shared_ptr< MidiPortmtc_output_port () const
 
boost::shared_ptr< MidiPortmtc_input_port () const
 
MIDI::MachineControl & mmc ()
 
- 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 PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from ARDOUR::SessionEventManager
 SessionEventManager ()
 
virtual ~SessionEventManager ()
 
void clear_events (SessionEvent::Type type)
 
void clear_events (SessionEvent::Type type, boost::function< void(void)> after)
 

Static Public Member Functions

static int get_info_from_path (const std::string &xmlpath, float &sample_rate, SampleFormat &data_format)
 
static char session_name_is_legal (const std::string &)
 
static std::vector< std::string > possible_states (std::string path)
 
static void set_disable_all_loaded_plugins (bool yn)
 
static bool get_disable_all_loaded_plugins ()
 
static intptr_t vst_callback (AEffect *effect, int32_t opcode, int32_t index, intptr_t value, void *ptr, float opt)
 

Public Attributes

PBD::Signal0< void > DirtyChanged
 
PBD::Signal0< void > BatchUpdateStart
 
PBD::Signal0< void > BatchUpdateEnd
 
PBD::Signal0< void > IOConnectionsComplete
 
PBD::Signal0< void > RecordStateChanged
 
PBD::Signal0< void > TransportStateChange
 
PBD::Signal1< void, framepos_tPositionChanged
 
PBD::Signal1< void, framepos_tXrun
 
PBD::Signal0< void > TransportLooped
 
PBD::Signal0< void > Located
 
PBD::Signal1< void, RouteList & > RouteAdded
 
PBD::Signal1< void, RouteGroup * > RouteGroupPropertyChanged
 
PBD::Signal2< void, RouteGroup
*, boost::weak_ptr< Route > > 
RouteAddedToRouteGroup
 
PBD::Signal2< void, RouteGroup
*, boost::weak_ptr< Route > > 
RouteRemovedFromRouteGroup
 
PBD::Signal1< void, bool > StepEditStatusChange
 
PBD::Signal1< void, Location * > auto_loop_location_changed
 
PBD::Signal1< void, Location * > auto_punch_location_changed
 
PBD::Signal0< void > locations_modified
 
PBD::Signal1< void, std::string > StateSaved
 
PBD::Signal0< void > StateReady
 
PBD::Signal1< void, std::string > SaveSessionRequested
 
PBD::Signal0< void > SessionSaveUnderway
 
PBD::Signal1< void, RouteGroup * > route_group_added
 
PBD::Signal0< void > route_group_removed
 
PBD::Signal0< void > route_groups_reordered
 
PBD::Signal1< int, framecnt_tProcessExport
 
PBD::Signal1< void, bool > AuditionActive
 
PBD::Signal1< void, bool > SoloActive
 
PBD::Signal0< void > SoloChanged
 
PBD::Signal0< void > IsolatedChanged
 
PBD::Signal0< void > BundleAddedOrRemoved
 
std::map< PBD::ID,
PBD::StatefulDestructible * > 
registry
 
SessionConfiguration config
 
boost::shared_ptr
< SessionPlaylists
playlists
 
- 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
 

Static Public Attributes

static PBD::Signal1< void,
std::string > 
Dialog
 
static PBD::Signal1< void,
framepos_t
StartTimeChanged
 
static PBD::Signal1< void,
framepos_t
EndTimeChanged
 
static PBD::Signal2< void,
std::string, std::string > 
Exported
 
static PBD::Signal1< int,
uint32_t > 
AudioEngineSetupRequired
 
static PBD::Signal1< int,
boost::shared_ptr< Playlist > > 
AskAboutPlaylistDeletion
 
static PBD::Signal2< int,
framecnt_t, framecnt_t
AskAboutSampleRateMismatch
 
static PBD::Signal0< int > AskAboutPendingState
 
static const
SessionEvent::RTeventCallback 
rt_cleanup
 
static int vst_current_loading_id = 0
 
static const char * vst_can_do_strings []
 
static const int vst_can_do_string_count = sizeof (vst_can_do_strings) / sizeof (char*)
 
static PBD::Signal0< void > SendFeedback
 
static PBD::Signal0< void > FeedbackDetected
 
static PBD::Signal0< void > SuccessfulGraphSort
 
static PBD::Signal3< int,
Session *, std::string,
DataType
MissingFile
 
static PBD::Signal0< void > Quit
 
static PBD::Signal2< void,
std::string, std::string > 
VersionMismatch
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version = 0
 
static int loading_state_version = 0
 

Protected Member Functions

void set_block_size (pframes_t nframes)
 
void set_frame_rate (framecnt_t nframes)
 
void reconnect_existing_routes (bool withLock, bool reconnect_master=true, bool reconnect_inputs=true, bool reconnect_outputs=true)
 
void schedule_curve_reallocation ()
 
void update_latency_compensation (bool force=false)
 
- 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::SessionEventManager
void dump_events () const
 
void merge_event (SessionEvent *)
 
void replace_event (SessionEvent::Type, framepos_t action_frame, framepos_t target=0)
 
bool _replace_event (SessionEvent *)
 
bool _remove_event (SessionEvent *)
 
void _clear_event_type (SessionEvent::Type)
 
void add_event (framepos_t action_frame, SessionEvent::Type type, framepos_t target_frame=0)
 
void remove_event (framepos_t frame, SessionEvent::Type type)
 

Private Types

enum  SubState {
  PendingDeclickIn = 0x1, PendingDeclickOut = 0x2, StopPendingCapture = 0x4, PendingLoopDeclickIn = 0x8,
  PendingLoopDeclickOut = 0x10, PendingLocate = 0x20
}
 
typedef void(Session::* process_function_type )(pframes_t)
 
typedef boost::function< bool()> MidiTimeoutCallback
 
typedef std::list
< MidiTimeoutCallback
MidiTimeoutList
 
typedef std::list< Click * > Clicks
 
typedef std::set
< boost::shared_ptr
< PBD::Controllable > > 
Controllables
 

Private Member Functions

int create (const std::string &mix_template, BusProfile *)
 
void destroy ()
 
void initialize_latencies ()
 
void set_worst_io_latencies ()
 
void set_worst_playback_latency ()
 
void set_worst_capture_latency ()
 
void set_worst_io_latencies_x (IOChange, void *)
 
void post_capture_latency ()
 
void post_playback_latency ()
 
void update_latency_compensation_proxy (void *ignored)
 
void ensure_buffers (ChanCount howmany=ChanCount::ZERO)
 
void process_scrub (pframes_t)
 
void process_without_events (pframes_t)
 
void process_with_events (pframes_t)
 
void process_audition (pframes_t)
 
int process_export (pframes_t)
 
int process_export_fw (pframes_t)
 
void block_processing ()
 
void unblock_processing ()
 
bool processing_blocked () const
 
void reset_slave_state ()
 
bool follow_slave (pframes_t)
 
void calculate_moving_average_of_slave_delta (int dir, framecnt_t this_delta)
 
void track_slave_state (float slave_speed, framepos_t slave_transport_frame, framecnt_t this_delta)
 
void follow_slave_silently (pframes_t nframes, float slave_speed)
 
void switch_to_sync_source (SyncSource)
 
void drop_sync_source ()
 
void use_sync_source (Slave *)
 
int pre_export ()
 
int stop_audio_export ()
 
void finalize_audio_export ()
 
void finalize_export_internal (bool stop_freewheel)
 
void get_track_statistics ()
 
int process_routes (pframes_t, bool &need_butler)
 
int silent_process_routes (pframes_t, bool &need_butler)
 
int get_transport_declick_required ()
 
bool maybe_stop (framepos_t limit)
 
bool maybe_sync_start (pframes_t &)
 
void check_declick_out ()
 
void hookup_io ()
 
void graph_reordered ()
 
int load_options (const XMLNode &)
 
int load_state (std::string snapshot_name)
 
PostTransportWork post_transport_work () const
 
void set_post_transport_work (PostTransportWork ptw)
 
void add_post_transport_work (PostTransportWork ptw)
 
void schedule_playback_buffering_adjustment ()
 
void schedule_capture_buffering_adjustment ()
 
void set_rf_speed (float speed)
 
void reset_rf_scale (framecnt_t frames_moved)
 
void location_added (Location *)
 
void location_removed (Location *)
 
void locations_changed ()
 
void _locations_changed (const Locations::LocationList &)
 
void update_skips (Location *, bool consolidate)
 
void update_marks (Location *loc)
 
void update_loop (Location *loc)
 
void consolidate_skips (Location *)
 
void sync_locations_to_skips ()
 
void _sync_locations_to_skips ()
 
void auto_punch_start_changed (Location *)
 
void auto_punch_end_changed (Location *)
 
void auto_punch_changed (Location *)
 
void auto_loop_changed (Location *)
 
void auto_loop_declick_range (Location *, framepos_t &, framepos_t &)
 
int ensure_engine (uint32_t desired_sample_rate)
 
void pre_engine_init (std::string path)
 
int post_engine_init ()
 
int immediately_post_engine ()
 
void remove_empty_sounds ()
 
void setup_midi_control ()
 
int midi_read (MIDI::Port *)
 
void enable_record ()
 
void increment_transport_position (framecnt_t val)
 
void decrement_transport_position (framecnt_t val)
 
void post_transport_motion ()
 
void * do_work ()
 
void emit_route_signals ()
 
void emit_thread_run ()
 
void emit_thread_start ()
 
void emit_thread_terminate ()
 
void process_event (SessionEvent *)
 
void set_next_event ()
 
void cleanup_event (SessionEvent *, int)
 
void spp_start ()
 
void spp_continue ()
 
void spp_stop ()
 
void mmc_deferred_play (MIDI::MachineControl &)
 
void mmc_stop (MIDI::MachineControl &)
 
void mmc_step (MIDI::MachineControl &, int)
 
void mmc_pause (MIDI::MachineControl &)
 
void mmc_record_pause (MIDI::MachineControl &)
 
void mmc_record_strobe (MIDI::MachineControl &)
 
void mmc_record_exit (MIDI::MachineControl &)
 
void mmc_track_record_status (MIDI::MachineControl &, uint32_t track, bool enabled)
 
void mmc_fast_forward (MIDI::MachineControl &)
 
void mmc_rewind (MIDI::MachineControl &)
 
void mmc_locate (MIDI::MachineControl &, const MIDI::byte *)
 
void mmc_shuttle (MIDI::MachineControl &mmc, float speed, bool forw)
 
void mmc_record_enable (MIDI::MachineControl &mmc, size_t track, bool enabled)
 
bool mmc_step_timeout ()
 
void send_immediate_mmc (MIDI::MachineControlCommand)
 
int send_midi_time_code_for_cycle (framepos_t, framepos_t, pframes_t nframes)
 
void ltc_tx_initialize ()
 
void ltc_tx_cleanup ()
 
void ltc_tx_reset ()
 
void ltc_tx_resync_latency ()
 
void ltc_tx_recalculate_position ()
 
void ltc_tx_parse_offset ()
 
void ltc_tx_send_time_code_for_cycle (framepos_t, framepos_t, double, double, pframes_t nframes)
 
void reset_record_status ()
 
int no_roll (pframes_t nframes)
 
int fail_roll (pframes_t nframes)
 
bool non_realtime_work_pending () const
 
bool process_can_proceed () const
 
int start_midi_thread ()
 
void set_play_loop (bool yn, double speed)
 
void unset_play_loop ()
 
void overwrite_some_buffers (Track *)
 
void flush_all_inserts ()
 
int micro_locate (framecnt_t distance)
 
void locate (framepos_t, bool with_roll, bool with_flush, bool with_loop=false, bool force=false, bool with_mmc=true)
 
void start_locate (framepos_t, bool with_roll, bool with_flush, bool with_loop=false, bool force=false)
 
void force_locate (framepos_t frame, bool with_roll=false)
 
void set_track_speed (Track *, double speed)
 
void set_transport_speed (double speed, framepos_t destination_frame, bool abort=false, bool clear_state=false, bool as_default=false)
 
void stop_transport (bool abort=false, bool clear_state=false)
 
void start_transport ()
 
void realtime_stop (bool abort, bool clear_state)
 
void realtime_locate ()
 
void non_realtime_start_scrub ()
 
void non_realtime_set_speed ()
 
void non_realtime_locate ()
 
void non_realtime_stop (bool abort, int entry_request_count, bool &finished)
 
void non_realtime_overwrite (int entry_request_count, bool &finished)
 
void post_transport ()
 
void engine_halted ()
 
void xrun_recovery ()
 
void set_track_loop (bool)
 
int send_full_time_code (framepos_t, pframes_t nframes)
 
void send_song_position_pointer (framepos_t)
 
void tempo_map_changed (const PBD::PropertyChange &)
 
int load_route_groups (const XMLNode &, int)
 
void add_routes (RouteList &, bool input_auto_connect, bool output_auto_connect, bool save)
 
void add_routes_inner (RouteList &, bool input_auto_connect, bool output_auto_connect)
 
boost::shared_ptr< RouteXMLRouteFactory (const XMLNode &, int)
 
boost::shared_ptr< RouteXMLRouteFactory_2X (const XMLNode &, int)
 
void route_processors_changed (RouteProcessorChange)
 
bool find_route_name (std::string const &, uint32_t &id, char *name, size_t name_len, bool)
 
void count_existing_track_channels (ChanCount &in, ChanCount &out)
 
void auto_connect_route (boost::shared_ptr< Route > route, ChanCount &existing_inputs, ChanCount &existing_outputs, bool with_lock, bool connect_inputs=true, ChanCount input_start=ChanCount(), ChanCount output_start=ChanCount())
 
void midi_output_change_handler (IOChange change, void *, boost::weak_ptr< Route > midi_track)
 
void reassign_track_numbers ()
 
void route_listen_changed (void *src, boost::weak_ptr< Route >)
 
void route_mute_changed (void *src)
 
void route_solo_changed (bool self_solo_change, void *src, boost::weak_ptr< Route >)
 
void route_solo_isolated_changed (void *src, boost::weak_ptr< Route >)
 
void update_route_solo_state (boost::shared_ptr< RouteList > r=boost::shared_ptr< RouteList >())
 
void listen_position_changed ()
 
void solo_control_mode_changed ()
 
int load_regions (const XMLNode &node)
 
int load_compounds (const XMLNode &node)
 
void route_added_to_route_group (RouteGroup *, boost::weak_ptr< Route >)
 
void route_removed_from_route_group (RouteGroup *, boost::weak_ptr< Route >)
 
void route_group_property_changed (RouteGroup *)
 
void reset_write_sources (bool mark_write_complete, bool force=false)
 
int load_sources (const XMLNode &node)
 
XMLNodeget_sources_as_xml ()
 
boost::shared_ptr< SourceXMLSourceFactory (const XMLNode &)
 
void remove_playlist (boost::weak_ptr< Playlist >)
 
void track_playlist_changed (boost::weak_ptr< Track >)
 
void playlist_region_added (boost::weak_ptr< Region >)
 
void playlist_ranges_moved (std::list< Evoral::RangeMove< framepos_t > > const &)
 
void playlist_regions_extended (std::list< Evoral::Range< framepos_t > > const &)
 
void set_audition (boost::shared_ptr< Region >)
 
void non_realtime_set_audition ()
 
int flatten_one_track (AudioTrack &, framepos_t start, framecnt_t cnt)
 
void setup_raid_path (std::string path)
 
std::string get_best_session_directory_for_new_audio ()
 
int load_bundles (XMLNode const &)
 
int backend_sync_callback (TransportState, framepos_t)
 
void process_rtop (SessionEvent *)
 
void update_latency (bool playback)
 
XMLNodestate (bool)
 
Clickget_click ()
 
void setup_click_sounds (int which)
 
void setup_click_sounds (Sample **, Sample const *, framecnt_t *, framecnt_t, std::string const &)
 
void clear_clicks ()
 
void click (framepos_t start, framecnt_t nframes)
 
void set_play_range (std::list< AudioRange > &, bool leave_rolling)
 
void unset_play_range ()
 
void auto_connect_master_bus ()
 
long _windows_vst_callback (WindowsVSTPlugin *, long opcode, long index, long value, void *ptr, float opt)
 
int find_all_sources (std::string path, std::set< std::string > &result)
 
int find_all_sources_across_snapshots (std::set< std::string > &result, bool exclude_this_snapshot)
 
void reset_native_file_format ()
 
void config_changed (std::string, bool)
 
XMLNodeget_control_protocol_state ()
 
void set_history_depth (uint32_t depth)
 
void update_have_rec_enabled_track ()
 
template<typename T >
SessionEventget_rt_event (boost::shared_ptr< RouteList > rl, T targ, SessionEvent::RTeventCallback after, bool group_override, void(Session::*method)(boost::shared_ptr< RouteList >, T, bool))
 
void rt_cancel_solo_after_disconnect (boost::shared_ptr< RouteList >, bool upstream, bool)
 
void rt_set_solo (boost::shared_ptr< RouteList >, bool yn, bool group_override)
 
void rt_set_just_one_solo (boost::shared_ptr< RouteList >, bool yn, bool)
 
void rt_set_mute (boost::shared_ptr< RouteList >, bool yn, bool group_override)
 
void rt_set_listen (boost::shared_ptr< RouteList >, bool yn, bool group_override)
 
void rt_set_solo_isolated (boost::shared_ptr< RouteList >, bool yn, bool group_override)
 
void rt_set_record_enabled (boost::shared_ptr< RouteList >, bool yn, bool group_override)
 
void rt_set_monitoring (boost::shared_ptr< RouteList >, MonitorChoice, bool group_override)
 
void add_session_range_location (framepos_t, framepos_t)
 
void setup_midi_machine_control ()
 
void step_edit_status_change (bool)
 
void update_locations_after_tempo_map_change (const Locations::LocationList &)
 
void start_time_changed (framepos_t)
 
void end_time_changed (framepos_t)
 
void set_track_monitor_input_status (bool)
 
framepos_t compute_stop_limit () const
 
void load_nested_sources (const XMLNode &node)
 
uint32_t next_control_id () const
 
void reconnect_ltc_input ()
 
void reconnect_ltc_output ()
 
void setup_ltc ()
 
void setup_click ()
 
void setup_click_state (const XMLNode *)
 
void setup_bundles ()
 
void save_as_bring_callback (uint32_t, uint32_t, std::string)
 

Static Private Member Functions

static void * session_loader_thread (void *arg)
 
static void * emit_thread (void *)
 
static int ask_about_playlist_deletion (boost::shared_ptr< Playlist >)
 
static int get_session_info_from_path (XMLTree &state_tree, const std::string &xmlpath)
 

Private Attributes

AudioEngine_engine
 
gint processing_prohibited
 
process_function_type process_function
 
process_function_type last_process_function
 
bool _bounce_processing_active
 
bool waiting_for_sync_offset
 
framecnt_t _base_frame_rate
 
framecnt_t _current_frame_rate
 
framecnt_t _nominal_frame_rate
 
int transport_sub_state
 
gint _record_status
 
framepos_t _transport_frame
 
Location_session_range_location
 session range, or 0 if there is nothing in the session yet More...
 
Slave_slave
 
bool _silent
 
double _transport_speed
 
double _default_transport_speed
 
double _last_transport_speed
 
double _signalled_varispeed
 
double _target_transport_speed
 
CubicInterpolation interpolation
 
bool auto_play_legal
 
framepos_t _last_slave_transport_frame
 
framecnt_t maximum_output_latency
 
framepos_t _requested_return_frame
 
pframes_t current_block_size
 
framecnt_t _worst_output_latency
 
framecnt_t _worst_input_latency
 
framecnt_t _worst_track_latency
 
bool _have_captured
 
bool _non_soloed_outs_muted
 
uint32_t _listen_cnt
 
uint32_t _solo_isolated_cnt
 
bool _writable
 
bool _was_seamless
 
bool _under_nsm_control
 
unsigned int _xrun_count
 
int delta_accumulator_cnt
 
int32_t delta_accumulator [delta_accumulator_size]
 
int32_t average_slave_delta
 
int average_dir
 
bool have_first_delta_accumulator
 
SlaveState _slave_state
 
framepos_t slave_wait_end
 
bool post_export_sync
 
framepos_t post_export_position
 
bool _exporting
 
bool _export_started
 
bool _export_rolling
 
boost::shared_ptr< ExportHandlerexport_handler
 
boost::shared_ptr< ExportStatusexport_status
 
bool _pre_export_mmc_enabled
 
PBD::ScopedConnection export_freewheel_connection
 
std::string _path
 
std::string _name
 
bool _is_new
 
bool _send_qf_mtc
 
pframes_t _pframes_since_last_mtc
 
bool session_midi_feedback
 
bool play_loop
 
bool loop_changing
 
framepos_t last_loopend
 
boost::scoped_ptr
< SessionDirectory
_session_dir
 
std::string _current_snapshot_name
 
XMLTreestate_tree
 
bool state_was_pending
 
StateOfTheState _state_of_the_state
 
gint _suspend_save
 
volatile bool _save_queued
 
Glib::Threads::Mutex save_state_lock
 
framepos_t _last_roll_location
 
framepos_t _last_roll_or_reversal_location
 
framepos_t _last_record_location
 
bool pending_locate_roll
 
framepos_t pending_locate_frame
 
bool pending_locate_flush
 
bool pending_abort
 
bool pending_auto_loop
 
Butler_butler
 
gint _post_transport_work
 
uint32_t cumulative_rf_motion
 
uint32_t rf_scale
 
Locations_locations
 
PBD::ScopedConnectionList skip_update_connections
 
bool _ignore_skips_updates
 
PBD::ScopedConnectionList punch_connections
 
PBD::ScopedConnectionList loop_connections
 
pthread_t _rt_emit_thread
 
bool _rt_thread_active
 
pthread_mutex_t _rt_emit_mutex
 
pthread_cond_t _rt_emit_cond
 
bool _rt_emit_pending
 
struct timeval last_mmc_step
 
double step_speed
 
MidiTimeoutList midi_timeouts
 
MIDI::byte mtc_msg [16]
 
MIDI::byte mtc_timecode_bits
 
MIDI::byte midi_msg [16]
 
double outbound_mtc_timecode_frame
 
Timecode::Time transmitting_timecode_time
 
int next_quarter_frame_to_send
 
double _frames_per_timecode_frame
 
framecnt_t _frames_per_hour
 
framecnt_t _timecode_frames_per_hour
 
bool last_timecode_valid
 
framepos_t last_timecode_when
 
Timecode::Time last_timecode
 
bool _send_timecode_update
 Flag to send a full frame (Timecode) MTC message this cycle. More...
 
LTCEncoder * ltc_encoder
 
ltcsnd_sample_t * ltc_enc_buf
 
Timecode::TimecodeFormat ltc_enc_tcformat
 
int32_t ltc_buf_off
 
int32_t ltc_buf_len
 
double ltc_speed
 
int32_t ltc_enc_byte
 
framepos_t ltc_enc_pos
 
double ltc_enc_cnt
 
framepos_t ltc_enc_off
 
bool restarting
 
framepos_t ltc_prev_cycle
 
framepos_t ltc_timecode_offset
 
bool ltc_timecode_negative_offset
 
LatencyRange ltc_out_latency
 
MidiControlUImidi_control_ui
 
TempoMap_tempo_map
 
std::list< RouteGroup * > _route_groups
 
RouteGroup_all_route_group
 
boost::shared_ptr< Graph_process_graph
 
SerializedRCUManager< RouteListroutes
 
bool _adding_routes_in_progress
 
uint32_t destructive_index
 
uint32_t _track_number_decimals
 
bool solo_update_disabled
 
Glib::Threads::Mutex region_lock
 
Glib::Threads::Mutex source_lock
 
SourceMap sources
 
std::map< PBD::ID,
AutomationList * > 
automation_lists
 
float default_fade_steepness
 
float default_fade_msecs
 
boost::shared_ptr< Auditionerauditioner
 
boost::shared_ptr< Regionpending_audition_region
 
boost::dynamic_bitset< uint32_t > send_bitset
 
boost::dynamic_bitset< uint32_t > aux_send_bitset
 
boost::dynamic_bitset< uint32_t > return_bitset
 
boost::dynamic_bitset< uint32_t > insert_bitset
 
std::vector< space_and_pathsession_dirs
 
std::vector< space_and_path >
::iterator 
last_rr_session_dir
 
uint32_t _total_free_4k_blocks
 
bool _total_free_4k_blocks_uncertain
 
Glib::Threads::Mutex space_lock
 
bool no_questions_about_missing_files
 
gint _playback_load
 
gint _capture_load
 
SerializedRCUManager< BundleList_bundles
 
XMLNode_bundle_xml_node
 
UndoHistory _history
 
UndoTransaction_current_trans
 
std::list< GQuark > _current_trans_quarks
 
Clicks clicks
 
bool _clicking
 
boost::shared_ptr< IO_click_io
 
boost::shared_ptr< Amp_click_gain
 
Sampleclick_data
 
Sampleclick_emphasis_data
 
framecnt_t click_length
 
framecnt_t click_emphasis_length
 
Glib::Threads::RWLock click_lock
 
framepos_t _clicks_cleared
 
std::vector< Route * > master_outs
 
std::list< AudioRangecurrent_audio_range
 
bool _play_range
 
uint32_t main_outs
 
boost::shared_ptr< Route_master_out
 
boost::shared_ptr< Route_monitor_out
 
Glib::Threads::Mutex controllables_lock
 
Controllables controllables
 
boost::shared_ptr
< PBD::Controllable
_solo_cut_control
 
bool first_file_data_format_reset
 
bool first_file_header_format_reset
 
bool have_looped
 Used in ::audible_frame(*) More...
 
gint _have_rec_enabled_track
 
std::list< boost::shared_ptr
< Diskstream > > 
_diskstreams_2X
 
uint32_t _step_editors
 
gint _suspend_timecode_transmission
 
boost::shared_ptr< Speakers_speakers
 
GraphEdges _current_route_graph
 
int32_t _order_hint
 
bool ignore_route_processor_changes
 
MidiClockTickermidi_clock
 
boost::shared_ptr< IO_ltc_input
 
boost::shared_ptr< IO_ltc_output
 
SceneChanger_scene_changer
 
MidiPortManager_midi_ports
 
MIDI::MachineControl * _mmc
 

Static Private Attributes

static const framecnt_t bounce_chunk_size = 65536
 
static const int delta_accumulator_size = 25
 
static const PostTransportWork ProcessCannotProceedMask
 
static const Sample default_click []
 
static const framecnt_t default_click_length = sizeof (default_click) / sizeof (default_click[0])
 
static const Sample default_click_emphasis []
 
static const framecnt_t default_click_emphasis_length = sizeof (default_click_emphasis) / sizeof (default_click_emphasis[0])
 
static bool _disable_all_loaded_plugins = false
 

Friends

class AudioEngine
 
class Route
 
class StateProtector
 

Additional Inherited Members

- Protected Types inherited from ARDOUR::SessionEventManager
typedef std::list< SessionEvent * > Events
 
- 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::SessionEventManager
RingBuffer< SessionEvent * > pending_events
 
Events events
 
Events immediate_events
 
Events::iterator next_event
 
SessionEventauto_loop_event
 
SessionEventpunch_out_event
 
SessionEventpunch_in_event
 

Detailed Description

Definition at line 142 of file session.h.

Member Typedef Documentation

typedef std::list<Click*> ARDOUR::Session::Clicks
private

Definition at line 1604 of file session.h.

Definition at line 1658 of file session.h.

typedef boost::function<bool()> ARDOUR::Session::MidiTimeoutCallback
private

Definition at line 1324 of file session.h.

Definition at line 1325 of file session.h.

typedef void(Session::* ARDOUR::Session::process_function_type)(pframes_t)
private

Definition at line 1009 of file session.h.

Definition at line 1490 of file session.h.

Member Enumeration Documentation

Enumerator
PostTransportStop 
PostTransportDuration 
PostTransportLocate 
PostTransportRoll 
PostTransportAbort 
PostTransportOverWrite 
PostTransportSpeed 
PostTransportAudition 
PostTransportReverse 
PostTransportInputChange 
PostTransportCurveRealloc 
PostTransportClearSubstate 
PostTransportAdjustPlaybackBuffering 
PostTransportAdjustCaptureBuffering 

Definition at line 881 of file session.h.

Enumerator
pullup_Plus4Plus1 
pullup_Plus4 
pullup_Plus4Minus1 
pullup_Plus1 
pullup_None 
pullup_Minus1 
pullup_Minus4Plus1 
pullup_Minus4 
pullup_Minus4Minus1 

Definition at line 557 of file session.h.

Enumerator
Disabled 
Enabled 
Recording 

Definition at line 145 of file session.h.

Enumerator
Stopped 
Waiting 
Running 

Definition at line 898 of file session.h.

Enumerator
Clean 
Dirty 
CannotSave 
Deletion 
InitialConnecting 
Loading 
InCleanup 

Definition at line 470 of file session.h.

Enumerator
PendingDeclickIn 

pending de-click fade-in for start

PendingDeclickOut 

pending de-click fade-out for stop

StopPendingCapture 
PendingLoopDeclickIn 

pending de-click fade-in at the start of a loop

PendingLoopDeclickOut 

pending de-click fade-out at the end of a loop

PendingLocate 

Definition at line 996 of file session.h.

Constructor & Destructor Documentation

Session::Session ( AudioEngine ,
const std::string &  fullpath,
const std::string &  snapshot_name,
BusProfile bus_profile = 0,
std::string  mix_template = "" 
)
Parameters
snapshot_nameSnapshot name, without .ardour suffix

Definition at line 137 of file session.cc.

Session::~Session ( )
virtual

Definition at line 375 of file session.cc.

Member Function Documentation

void Session::_locations_changed ( const Locations::LocationList locations)
private

Definition at line 1646 of file session.cc.

void Session::_sync_locations_to_skips ( )
private

Definition at line 1564 of file session.cc.

long ARDOUR::Session::_windows_vst_callback ( WindowsVSTPlugin ,
long  opcode,
long  index,
long  value,
void *  ptr,
float  opt 
)
private
void Session::abort_reversible_command ( )

Definition at line 2457 of file session_state.cc.

bool ARDOUR::Session::actively_recording ( ) const
inline

Definition at line 280 of file session.h.

void Session::add_automation_list ( AutomationList al)

Definition at line 4900 of file session.cc.

void Session::add_bundle ( boost::shared_ptr< Bundle bundle,
bool  emit_signal = true 
)

Definition at line 4271 of file session.cc.

void ARDOUR::Session::add_command ( Command *const  cmd)
inline

Definition at line 787 of file session.h.

void Session::add_commands ( std::vector< Command * > const &  cmds)

Definition at line 2421 of file session_state.cc.

void Session::add_controllable ( boost::shared_ptr< PBD::Controllable c)

Definition at line 3016 of file session_state.cc.

void Session::add_instant_xml ( XMLNode node,
bool  write_to_config = true 
)

The instant xml file is written to the session directory.

Definition at line 3194 of file session_state.cc.

void Session::add_internal_send ( boost::shared_ptr< Route dest,
int  index,
boost::shared_ptr< Route sender 
)

Definition at line 2848 of file session.cc.

void Session::add_internal_send ( boost::shared_ptr< Route dest,
boost::shared_ptr< Processor before,
boost::shared_ptr< Route sender 
)

Definition at line 2854 of file session.cc.

void Session::add_internal_sends ( boost::shared_ptr< Route dest,
Placement  p,
boost::shared_ptr< RouteList senders 
)

Definition at line 2840 of file session.cc.

void Session::add_monitor_section ( )

Definition at line 929 of file session.cc.

void Session::add_playlist ( boost::shared_ptr< Playlist playlist,
bool  unused = false 
)

Definition at line 4093 of file session.cc.

void Session::add_post_transport_work ( PostTransportWork  ptw)
private

Definition at line 57 of file session_transport.cc.

void Session::add_route_group ( RouteGroup g)

Definition at line 2363 of file session_state.cc.

void Session::add_routes ( RouteList new_routes,
bool  input_auto_connect,
bool  output_auto_connect,
bool  save 
)
private

Definition at line 2655 of file session.cc.

void Session::add_routes_inner ( RouteList new_routes,
bool  input_auto_connect,
bool  output_auto_connect 
)
private

Definition at line 2682 of file session.cc.

void Session::add_session_range_location ( framepos_t  start,
framepos_t  end 
)
private

Definition at line 5054 of file session.cc.

void Session::add_source ( boost::shared_ptr< Source source)

Definition at line 3598 of file session.cc.

void Session::adjust_capture_buffering ( )

Definition at line 50 of file session_butler.cc.

void Session::adjust_playback_buffering ( )

Definition at line 42 of file session_butler.cc.

RouteGroup & Session::all_route_group ( ) const

Definition at line 2415 of file session_state.cc.

void Session::allow_auto_play ( bool  yn)

Definition at line 1847 of file session_transport.cc.

string Session::analysis_dir ( ) const

Analysis data.

Definition at line 2248 of file session_state.cc.

ARDOUR::framecnt_t Session::any_duration_to_frames ( framepos_t  position,
AnyTime const &  duration 
)

Definition at line 258 of file session_time.cc.

int Session::ask_about_playlist_deletion ( boost::shared_ptr< Playlist p)
staticprivate

Definition at line 2643 of file session_state.cc.

framepos_t Session::audible_frame ( ) const

Definition at line 1760 of file session.cc.

boost::shared_ptr< AudioFileSource > Session::audio_source_by_path_and_channel ( const std::string &  ,
uint16_t   
) const

Definition at line 3684 of file session.cc.

bool Session::audio_source_name_is_unique ( const std::string &  name)

Return true if there are no audio file sources that use

Parameters
nameas the filename component of their path.

Return false otherwise.

This method MUST ONLY be used to check in-session, mono files since it hard-codes the channel of the audio file source we are looking for as zero.

If/when Ardour supports native files in non-mono formats, the logic here will need to be revisited.

Definition at line 3823 of file session.cc.

void Session::audition_playlist ( )

Definition at line 4135 of file session.cc.

void Session::audition_region ( boost::shared_ptr< Region r)

Definition at line 4152 of file session.cc.

void Session::auto_connect_master_bus ( )
private

Definition at line 843 of file session.cc.

void Session::auto_connect_route ( boost::shared_ptr< Route route,
ChanCount existing_inputs,
ChanCount existing_outputs,
bool  with_lock,
bool  connect_inputs = true,
ChanCount  input_start = ChanCount (),
ChanCount  output_start = ChanCount () 
)
private
Parameters
connect_inputstrue to connect inputs as well as outputs, false to connect just outputs.
input_startWhere to start from when auto-connecting inputs; e.g. if this is 0, auto-connect starting from input 0.
output_startAs input_start, but for outputs.

Definition at line 2243 of file session.cc.

void Session::auto_loop_changed ( Location location)
private

Definition at line 1342 of file session.cc.

void Session::auto_loop_declick_range ( Location loc,
framepos_t pos,
framepos_t length 
)
private
Parameters
locA loop location.
posFilled in with the start time of the required fade-out (in session frames).
lengthFilled in with the length of the required fade-out.

Definition at line 1335 of file session.cc.

void Session::auto_punch_changed ( Location location)
private

Definition at line 1321 of file session.cc.

void Session::auto_punch_end_changed ( Location location)
private

Definition at line 1313 of file session.cc.

void Session::auto_punch_start_changed ( Location location)
private

Definition at line 1302 of file session.cc.

string Session::automation_dir ( ) const

Automation data.

Definition at line 2242 of file session_state.cc.

boost::optional< framecnt_t > Session::available_capture_duration ( )
Returns
Number of frames that there is disk space available to write, if known.

Definition at line 4230 of file session.cc.

int Session::backend_sync_callback ( TransportState  state,
framepos_t  pos 
)
private

Definition at line 183 of file session_time.cc.

void Session::bbt_time ( framepos_t  when,
Timecode::BBT_Time &  bbt 
)

Definition at line 47 of file session_time.cc.

void ARDOUR::Session::begin_reversible_command ( const std::string &  cmd_name)
void Session::begin_reversible_command ( GQuark  q)

Begin a reversible command using a GQuark to identify it. begin_reversible_command() and commit_reversible_command() calls may be nested, but there must be as many begin...()s as there are commit...()s.

Definition at line 2439 of file session_state.cc.

void ARDOUR::Session::block_processing ( )
inlineprivate

Definition at line 1073 of file session.h.

bool ARDOUR::Session::bounce_processing ( ) const
inline

Definition at line 872 of file session.h.

int Session::bring_all_sources_into_session ( boost::function< void(uint32_t, uint32_t, std::string)>  callback)

Definition at line 3919 of file session_state.cc.

std::string ARDOUR::Session::build_tmp_convert_name ( std::string  file)
boost::shared_ptr< Bundle > Session::bundle_by_name ( std::string  ) const

Definition at line 4310 of file session.cc.

boost::shared_ptr<BundleList> ARDOUR::Session::bundles ( )
inline

Definition at line 241 of file session.h.

Butler* ARDOUR::Session::butler ( )
inline

Definition at line 221 of file session.h.

void Session::butler_transport_work ( )

Definition at line 311 of file session_transport.cc.

void Session::calculate_moving_average_of_slave_delta ( int  dir,
framecnt_t  this_delta 
)
private

Definition at line 644 of file session_process.cc.

void Session::cancel_audition ( )

Definition at line 4160 of file session.cc.

void Session::cancel_solo_after_disconnect ( boost::shared_ptr< Route r,
bool  upstream,
SessionEvent::RTeventCallback  after = rt_cleanup 
)

Definition at line 75 of file session_rtevents.cc.

uint32_t Session::capture_load ( )

Definition at line 120 of file session_butler.cc.

void Session::check_declick_out ( )
private

Definition at line 753 of file session_transport.cc.

void ARDOUR::Session::cleanup_event ( SessionEvent ,
int   
)
private
void Session::cleanup_regions ( )

Definition at line 2650 of file session_state.cc.

int Session::cleanup_sources ( CleanupReport rep)

Definition at line 2685 of file session_state.cc.

int Session::cleanup_trash_sources ( CleanupReport rep)

Definition at line 2950 of file session_state.cc.

void Session::clear_clicks ( )
private

Definition at line 226 of file session_click.cc.

void Session::clear_deletion_in_progress ( )

Definition at line 3010 of file session_state.cc.

void Session::click ( framepos_t  start,
framecnt_t  nframes 
)
private

Definition at line 43 of file session_click.cc.

boost::shared_ptr<Amp> ARDOUR::Session::click_gain ( )
inline

Definition at line 811 of file session.h.

boost::shared_ptr<IO> ARDOUR::Session::click_io ( )
inline

Definition at line 810 of file session.h.

void Session::commit_reversible_command ( Command cmd = 0)

Definition at line 2468 of file session_state.cc.

framepos_t Session::compute_stop_limit ( ) const
private

Definition at line 1214 of file session_process.cc.

void Session::config_changed ( std::string  p,
bool  ours 
)
private

Definition at line 3366 of file session_state.cc.

void Session::consolidate_skips ( Location loc)
private

Definition at line 1515 of file session.cc.

boost::shared_ptr< Controllable > Session::controllable_by_descriptor ( const PBD::ControllableDescriptor desc)

Definition at line 3061 of file session_state.cc.

boost::shared_ptr< Controllable > Session::controllable_by_id ( const PBD::ID id)

Definition at line 3047 of file session_state.cc.

ARDOUR::framecnt_t Session::convert_to_frames ( AnyTime const &  position)

Definition at line 223 of file session_time.cc.

void Session::count_existing_track_channels ( ChanCount in,
ChanCount out 
)
private

Count the total ins and outs of all non-hidden tracks in the session and return them in in and out

Definition at line 2096 of file session.cc.

uint32_t Session::count_sources_by_origin ( const std::string &  )

Definition at line 3728 of file session.cc.

int Session::create ( const std::string &  mix_template,
BusProfile  
)
private
Parameters
session_templatedirectory containing session template, or empty. Caller must not hold process lock.

Definition at line 479 of file session_state.cc.

boost::shared_ptr< AudioFileSource > Session::create_audio_source_for_session ( size_t  ,
std::string const &  ,
uint32_t  ,
bool  destructive 
)

Create a new within-session audio source

Definition at line 4022 of file session.cc.

boost::shared_ptr< MidiSource > Session::create_midi_source_by_stealing_name ( boost::shared_ptr< Track track)

Create a new within-session MIDI source

Definition at line 4051 of file session.cc.

boost::shared_ptr< MidiSource > Session::create_midi_source_for_session ( std::string const &  )

Create a new within-session MIDI source

Definition at line 4036 of file session.cc.

framepos_t Session::current_end_frame ( ) const

Definition at line 5048 of file session.cc.

std::list<GQuark> const& ARDOUR::Session::current_operations ( )
inline
Returns
The list of operations that are currently in progress

Definition at line 793 of file session.h.

framepos_t Session::current_start_frame ( ) const

Definition at line 5042 of file session.cc.

void ARDOUR::Session::decrement_transport_position ( framecnt_t  val)
inlineprivate

Definition at line 1267 of file session.h.

bool ARDOUR::Session::deletion_in_progress ( ) const
inline

Definition at line 179 of file session.h.

void Session::destroy ( )
private

Definition at line 463 of file session.cc.

int Session::destroy_sources ( std::list< boost::shared_ptr< Source > >  srcs)

Definition at line 3526 of file session.cc.

bool ARDOUR::Session::dirty ( ) const
inline

Definition at line 176 of file session.h.

void Session::disable_record ( bool  rt_context,
bool  force = false 
)

Definition at line 1690 of file session.cc.

void* ARDOUR::Session::do_work ( )
private
void Session::drop_sync_source ( )
private

Definition at line 1582 of file session_transport.cc.

void Session::emit_route_signals ( )
private

Definition at line 1257 of file session_process.cc.

void * Session::emit_thread ( void *  arg)
staticprivate

Definition at line 1299 of file session_process.cc.

void Session::emit_thread_run ( )
private

Definition at line 1308 of file session_process.cc.

void Session::emit_thread_start ( )
private

Definition at line 1269 of file session_process.cc.

void Session::emit_thread_terminate ( )
private

Definition at line 1282 of file session_process.cc.

void Session::enable_record ( )
private

Definition at line 1660 of file session.cc.

void Session::end_time_changed ( framepos_t  old)
private

Definition at line 5106 of file session.cc.

AudioEngine& ARDOUR::Session::engine ( )
inline

Definition at line 546 of file session.h.

AudioEngine const& ARDOUR::Session::engine ( ) const
inline

Definition at line 547 of file session.h.

void Session::engine_halted ( )
private

Definition at line 1780 of file session_transport.cc.

void Session::ensure_buffer_set ( BufferSet buffers,
const ChanCount howmany 
)

Definition at line 4353 of file session.cc.

void Session::ensure_buffers ( ChanCount  howmany = ChanCount::ZERO)
private

Ensures that all buffers (scratch, send, silent, etc) are allocated for the given count with the current block size.

Definition at line 4347 of file session.cc.

int Session::ensure_engine ( uint32_t  desired_sample_rate)
private

Definition at line 384 of file session.cc.

void Session::ensure_search_path_includes ( const std::string &  path,
DataType  type 
)

Definition at line 5176 of file session.cc.

int Session::ensure_subdirs ( )

Definition at line 412 of file session_state.cc.

bool ARDOUR::Session::exporting ( ) const
inline

Definition at line 868 of file session.h.

string Session::externals_dir ( ) const

Links to external files.

Definition at line 2260 of file session_state.cc.

int Session::fail_roll ( pframes_t  nframes)
private

Definition at line 124 of file session_process.cc.

void Session::finalize_audio_export ( )
private

Definition at line 225 of file session_export.cc.

void ARDOUR::Session::finalize_export_internal ( bool  stop_freewheel)
private
int Session::find_all_sources ( std::string  path,
std::set< std::string > &  result 
)
private

Definition at line 2542 of file session_state.cc.

int Session::find_all_sources_across_snapshots ( std::set< std::string > &  result,
bool  exclude_this_snapshot 
)
private

Definition at line 2594 of file session_state.cc.

bool Session::find_route_name ( std::string const &  ,
uint32_t &  id,
char *  name,
size_t  name_len,
bool   
)
private

Find a route name starting with base, maybe followed by the lowest id. id will always be added if definitely_add_number is true on entry; otherwise it will only be added if required to make the name unique.

Names are constructed like e.g. "Audio 3" for base="Audio" and id=3. The available route name with the lowest ID will be used, and id will be set to the ID.

Returns
false if a route name could not be found, and track_name and id do not reflect a free route name.

Definition at line 2072 of file session.cc.

boost::shared_ptr< Region > Session::find_whole_file_parent ( boost::shared_ptr< Region const >  child) const

Definition at line 3502 of file session.cc.

int ARDOUR::Session::flatten_one_track ( AudioTrack ,
framepos_t  start,
framecnt_t  cnt 
)
private
void Session::flush_all_inserts ( )
private

Definition at line 902 of file session_transport.cc.

bool Session::follow_slave ( pframes_t  nframes)
private

Definition at line 510 of file session_process.cc.

void Session::follow_slave_silently ( pframes_t  nframes,
float  slave_speed 
)
private

Definition at line 780 of file session_process.cc.

void Session::force_locate ( framepos_t  frame,
bool  with_roll = false 
)
private

Definition at line 156 of file session_transport.cc.

template<class T >
void ARDOUR::Session::foreach_route ( T *  obj,
void(T::*)(Route &)  func,
bool  sort = true 
)

Definition at line 33 of file session_route.h.

template<class T >
void ARDOUR::Session::foreach_route ( T *  obj,
void(T::*)(boost::shared_ptr< Route >)  func,
bool  sort = true 
)

Definition at line 48 of file session_route.h.

template<class T , class A >
void ARDOUR::Session::foreach_route ( T *  obj,
void(T::*)(Route &, A)  func,
arg,
bool  sort = true 
)

Definition at line 63 of file session_route.h.

void ARDOUR::Session::foreach_route_group ( boost::function< void(RouteGroup *)>  f)
inline

Definition at line 510 of file session.h.

string Session::format_audio_source_name ( const std::string &  legalized_base,
uint32_t  nchan,
uint32_t  chan,
bool  destructive,
bool  take_required,
uint32_t  cnt,
bool  related_exists 
)

Definition at line 3866 of file session.cc.

framecnt_t ARDOUR::Session::frame_rate ( ) const
inline

"actual" sample rate of session, set by current audioengine rate, pullup/down etc.

Definition at line 365 of file session.h.

framecnt_t ARDOUR::Session::frames_per_hour ( ) const
inline

Definition at line 368 of file session.h.

double ARDOUR::Session::frames_per_timecode_frame ( ) const
inline

Definition at line 370 of file session.h.

int Session::freeze_all ( InterThreadInfo itt)

Definition at line 4566 of file session.cc.

gain_t * Session::gain_automation_buffer ( ) const

Definition at line 4821 of file session.cc.

string Session::get_best_session_directory_for_new_audio ( )
private

Definition at line 2144 of file session_state.cc.

pframes_t ARDOUR::Session::get_block_size ( ) const
inline

Definition at line 393 of file session.h.

Click* ARDOUR::Session::get_click ( )
private
XMLNode & Session::get_control_protocol_state ( )
private

Definition at line 1132 of file session_state.cc.

static bool ARDOUR::Session::get_disable_all_loaded_plugins ( )
inlinestatic

Definition at line 731 of file session.h.

boost::shared_ptr< ExportHandler > Session::get_export_handler ( )

Definition at line 41 of file session_export.cc.

boost::shared_ptr< ExportStatus > Session::get_export_status ( )

Definition at line 51 of file session_export.cc.

int Session::get_info_from_path ( const std::string &  xmlpath,
float &  sample_rate,
SampleFormat data_format 
)
static

Definition at line 3865 of file session_state.cc.

BufferSet & Session::get_mix_buffers ( ChanCount  count = ChanCount::ZERO)

Definition at line 4864 of file session.cc.

MIDI::byte ARDOUR::Session::get_mtc_timecode_bits ( ) const
inline

Definition at line 373 of file session.h.

bool ARDOUR::Session::get_nsm_state ( ) const
inline

Definition at line 437 of file session.h.

vector< string > Session::get_paths_for_new_sources ( bool  allow_replacing,
const std::string &  import_file_path,
uint32_t  channels 
)

Definition at line 121 of file import.cc.

bool ARDOUR::Session::get_play_loop ( ) const
inline

Definition at line 342 of file session.h.

bool ARDOUR::Session::get_play_range ( ) const
inline

Definition at line 822 of file session.h.

bool ARDOUR::Session::get_record_enabled ( ) const
inline

Definition at line 272 of file session.h.

BufferSet & Session::get_route_buffers ( ChanCount  count = ChanCount::ZERO,
bool  silence = true 
)

Definition at line 4857 of file session.cc.

boost::shared_ptr<RouteList> ARDOUR::Session::get_routes ( ) const
inline

Definition at line 229 of file session.h.

boost::shared_ptr< RouteList > Session::get_routes_with_internal_returns ( ) const

Definition at line 3212 of file session.cc.

boost::shared_ptr< RouteList > Session::get_routes_with_regions_at ( framepos_t const  p) const

Definition at line 4997 of file session.cc.

template<typename T >
SessionEvent* ARDOUR::Session::get_rt_event ( boost::shared_ptr< RouteList rl,
targ,
SessionEvent::RTeventCallback  after,
bool  group_override,
void(Session::*)(boost::shared_ptr< RouteList >, T, bool)  method 
)
inlineprivate

Definition at line 1685 of file session.h.

BufferSet & Session::get_scratch_buffers ( ChanCount  count = ChanCount::ZERO,
bool  silence = true 
)

Definition at line 4851 of file session.cc.

int Session::get_session_info_from_path ( XMLTree state_tree,
const std::string &  xmlpath 
)
staticprivate

Definition at line 3851 of file session_state.cc.

BufferSet & Session::get_silent_buffers ( ChanCount  count = ChanCount::ZERO)

Definition at line 4845 of file session.cc.

XMLNode & Session::get_sources_as_xml ( )
private

Definition at line 1843 of file session_state.cc.

boost::shared_ptr< Speakers > Session::get_speakers ( )

Definition at line 5245 of file session.cc.

XMLNode & Session::get_state ( void  )
virtual

Implements PBD::Stateful.

Definition at line 897 of file session_state.cc.

XMLNode & Session::get_template ( )

Definition at line 903 of file session_state.cc.

void Session::get_track_statistics ( )
private

Definition at line 256 of file session_process.cc.

boost::shared_ptr< RouteList > Session::get_tracks ( ) const

Definition at line 4981 of file session.cc.

int ARDOUR::Session::get_transport_declick_required ( )
inlineprivate
Returns
1 if there is a pending declick fade-in, -1 if there is a pending declick fade-out, 0 if there is no pending declick.

Definition at line 1127 of file session.h.

unsigned int ARDOUR::Session::get_xrun_count ( ) const
inline

Definition at line 599 of file session.h.

void Session::globally_add_internal_sends ( boost::shared_ptr< Route dest,
Placement  p,
bool  include_buses 
)
Parameters
include_busestrue to add sends to buses and tracks, false for just tracks

Definition at line 2824 of file session.cc.

void Session::globally_set_send_gains_from_track ( boost::shared_ptr< Route dest)

Definition at line 2810 of file session.cc.

void Session::globally_set_send_gains_to_unity ( boost::shared_ptr< Route dest)

Definition at line 2797 of file session.cc.

void Session::globally_set_send_gains_to_zero ( boost::shared_ptr< Route dest)

Definition at line 2784 of file session.cc.

void Session::goto_end ( )

Definition at line 5022 of file session.cc.

void Session::goto_start ( )

Definition at line 5032 of file session.cc.

void Session::graph_reordered ( )
private

Definition at line 4195 of file session.cc.

bool ARDOUR::Session::have_captured ( ) const
inline

Definition at line 218 of file session.h.

bool Session::have_rec_enabled_track ( ) const
Returns
true if there is at least one record-enabled track, otherwise false

Definition at line 4907 of file session.cc.

UndoHistory& ARDOUR::Session::history ( )
inline

Definition at line 775 of file session.h.

void Session::hookup_io ( )
private

Definition at line 1192 of file session.cc.

int Session::immediately_post_engine ( )
private

Definition at line 416 of file session.cc.

void Session::import_files ( ImportStatus status)

Definition at line 452 of file import.cc.

void ARDOUR::Session::increment_transport_position ( framecnt_t  val)
inlineprivate

Definition at line 1259 of file session.h.

void Session::initialize_latencies ( )
private

Definition at line 5356 of file session.cc.

XMLNode * Session::instant_xml ( const std::string &  str)

Definition at line 3206 of file session_state.cc.

bool Session::io_name_is_legal ( const std::string &  name)

Definition at line 3226 of file session.cc.

bool Session::is_auditioning ( ) const

Definition at line 4184 of file session.cc.

framepos_t ARDOUR::Session::last_transport_start ( ) const
inline

Definition at line 344 of file session.h.

void Session::listen_position_changed ( )
private

Definition at line 4938 of file session.cc.

bool ARDOUR::Session::listening ( ) const
inline

Definition at line 692 of file session.h.

int Session::load_bundles ( XMLNode const &  node)
private

Definition at line 2266 of file session_state.cc.

int Session::load_compounds ( const XMLNode node)
private

Definition at line 1562 of file session_state.cc.

int Session::load_diskstreams_2X ( XMLNode const &  node,
int   
)

Definition at line 3576 of file session_state.cc.

void Session::load_nested_sources ( const XMLNode node)
private

Definition at line 1600 of file session_state.cc.

int Session::load_options ( const XMLNode node)
private

Definition at line 883 of file session_state.cc.

int Session::load_regions ( const XMLNode node)
private

Definition at line 1535 of file session_state.cc.

int Session::load_route_groups ( const XMLNode node,
int  version 
)
private

Definition at line 2288 of file session_state.cc.

int Session::load_routes ( const XMLNode node,
int  version 
)

Definition at line 1355 of file session_state.cc.

int Session::load_sources ( const XMLNode node)
private

Definition at line 1873 of file session_state.cc.

int Session::load_state ( std::string  snapshot_name)
private

Definition at line 787 of file session_state.cc.

void Session::locate ( framepos_t  target_frame,
bool  with_roll,
bool  with_flush,
bool  for_seamless_loop = false,
bool  force = false,
bool  with_mmc = true 
)
private
Parameters
with_mmctrue to send a MMC locate command when the locate is done

Definition at line 977 of file session_transport.cc.

bool ARDOUR::Session::locate_pending ( ) const
inline

Definition at line 357 of file session.h.

void Session::location_added ( Location location)
private

Definition at line 1583 of file session.cc.

int ARDOUR::Session::location_name ( std::string &  result,
std::string  base = std::string("") 
)
void Session::location_removed ( Location location)
private

Definition at line 1615 of file session.cc.

Locations* ARDOUR::Session::locations ( )
inline

Definition at line 382 of file session.h.

void Session::locations_changed ( )
private

Definition at line 1640 of file session.cc.

boost::shared_ptr<IO> ARDOUR::Session::ltc_input_io ( )
inline

Definition at line 960 of file session.h.

boost::shared_ptr< Port > Session::ltc_input_port ( ) const

Definition at line 5538 of file session.cc.

boost::shared_ptr<IO> ARDOUR::Session::ltc_output_io ( )
inline

Definition at line 961 of file session.h.

boost::shared_ptr< Port > Session::ltc_output_port ( ) const

Definition at line 5544 of file session.cc.

void Session::ltc_tx_cleanup ( )
private

Definition at line 93 of file session_ltc.cc.

void Session::ltc_tx_initialize ( )
private

Definition at line 65 of file session_ltc.cc.

void Session::ltc_tx_parse_offset ( )
private

Definition at line 128 of file session_ltc.cc.

void Session::ltc_tx_recalculate_position ( )
private

Definition at line 139 of file session_ltc.cc.

void Session::ltc_tx_reset ( )
private

Definition at line 115 of file session_ltc.cc.

void Session::ltc_tx_resync_latency ( )
private

Definition at line 103 of file session_ltc.cc.

void Session::ltc_tx_send_time_code_for_cycle ( framepos_t  start_frame,
framepos_t  end_frame,
double  target_speed,
double  current_speed,
pframes_t  nframes 
)
private

Definition at line 161 of file session_ltc.cc.

void Session::mark_aux_send_id ( uint32_t  id)

Definition at line 4453 of file session.cc.

void Session::mark_insert_id ( uint32_t  id)

Definition at line 4477 of file session.cc.

void Session::mark_return_id ( uint32_t  id)

Definition at line 4465 of file session.cc.

void Session::mark_send_id ( uint32_t  id)

Definition at line 4441 of file session.cc.

boost::shared_ptr<Route> ARDOUR::Session::master_out ( ) const
inline

Definition at line 718 of file session.h.

void Session::maybe_enable_record ( )

Definition at line 1731 of file session.cc.

bool Session::maybe_stop ( framepos_t  limit)
private

Definition at line 1853 of file session_transport.cc.

bool Session::maybe_sync_start ( pframes_t nframes)
private

Definition at line 933 of file session_process.cc.

void Session::maybe_update_session_range ( framepos_t  a,
framepos_t  b 
)

Update the session range markers if a is before the current start or b is after the current end.

Definition at line 3461 of file session.cc.

void Session::maybe_write_autosave ( )

Definition at line 585 of file session_state.cc.

Command * Session::memento_command_factory ( XMLNode n)

Definition at line 54 of file session_command.cc.

int Session::micro_locate ( framecnt_t  distance)
private

Definition at line 954 of file session_transport.cc.

boost::shared_ptr< MidiPort > Session::midi_clock_input_port ( ) const

Definition at line 633 of file session_midi.cc.

boost::shared_ptr< MidiPort > Session::midi_clock_output_port ( ) const

Definition at line 628 of file session_midi.cc.

MIDI::Port * Session::midi_input_port ( ) const

Definition at line 618 of file session_midi.cc.

void Session::midi_output_change_handler ( IOChange  change,
void *  ,
boost::weak_ptr< Route midi_track 
)
private

Definition at line 2210 of file session.cc.

MIDI::Port * Session::midi_output_port ( ) const

Definition at line 623 of file session_midi.cc.

void Session::midi_panic ( void  )

Definition at line 59 of file session_midi.cc.

int ARDOUR::Session::midi_read ( MIDI::Port *  )
private
boost::shared_ptr< MidiSource > Session::midi_source_by_path ( const std::string &  path) const

Definition at line 3705 of file session.cc.

MIDI::MachineControl& ARDOUR::Session::mmc ( )
inline

Definition at line 979 of file session.h.

void Session::mmc_deferred_play ( MIDI::MachineControl &  )
private

Definition at line 114 of file session_midi.cc.

void Session::mmc_fast_forward ( MIDI::MachineControl &  )
private

Definition at line 258 of file session_midi.cc.

MIDI::Port * Session::mmc_input_port ( ) const

Definition at line 655 of file session_midi.cc.

void Session::mmc_locate ( MIDI::MachineControl &  ,
const MIDI::byte *  mmc_tc 
)
private

Definition at line 266 of file session_midi.cc.

MIDI::Port * Session::mmc_output_port ( ) const

Definition at line 649 of file session_midi.cc.

void Session::mmc_pause ( MIDI::MachineControl &  )
private

Definition at line 175 of file session_midi.cc.

void Session::mmc_record_enable ( MIDI::MachineControl &  mmc,
size_t  track,
bool  enabled 
)
private

Definition at line 325 of file session_midi.cc.

void Session::mmc_record_exit ( MIDI::MachineControl &  )
private

Definition at line 159 of file session_midi.cc.

void Session::mmc_record_pause ( MIDI::MachineControl &  )
private

Definition at line 122 of file session_midi.cc.

void Session::mmc_record_strobe ( MIDI::MachineControl &  )
private

Definition at line 130 of file session_midi.cc.

void Session::mmc_rewind ( MIDI::MachineControl &  )
private

Definition at line 250 of file session_midi.cc.

void Session::mmc_shuttle ( MIDI::MachineControl &  mmc,
float  speed,
bool  forw 
)
private

Definition at line 307 of file session_midi.cc.

void Session::mmc_step ( MIDI::MachineControl &  ,
int  steps 
)
private

Definition at line 195 of file session_midi.cc.

bool Session::mmc_step_timeout ( )
private

Definition at line 567 of file session_midi.cc.

void Session::mmc_stop ( MIDI::MachineControl &  )
private

Definition at line 167 of file session_midi.cc.

void ARDOUR::Session::mmc_track_record_status ( MIDI::MachineControl &  ,
uint32_t  track,
bool  enabled 
)
private
boost::shared_ptr<Route> ARDOUR::Session::monitor_out ( ) const
inline

Definition at line 717 of file session.h.

boost::shared_ptr< MidiPort > Session::mtc_input_port ( ) const

Definition at line 643 of file session_midi.cc.

boost::shared_ptr< MidiPort > Session::mtc_output_port ( ) const

Definition at line 638 of file session_midi.cc.

std::string ARDOUR::Session::name ( ) const
inline

Definition at line 166 of file session.h.

uint32_t Session::nbusses ( ) const

Definition at line 4885 of file session.cc.

RouteList Session::new_audio_route ( int  input_channels,
int  output_channels,
RouteGroup route_group,
uint32_t  how_many,
std::string  name_template = "" 
)

Caller must not hold process lock.

Parameters
name_templatestring to use for the start of the name, or "" to use "Bus".

Definition at line 2454 of file session.cc.

string Session::new_audio_source_path ( const std::string &  ,
uint32_t  nchans,
uint32_t  chan,
bool  destructive,
bool  take_required 
)

Return a unique name based on base for a new internal audio source

Definition at line 3908 of file session.cc.

string Session::new_audio_source_path_for_embedded ( const std::string &  existing_path)

Definition at line 3752 of file session.cc.

list< boost::shared_ptr< AudioTrack > > Session::new_audio_track ( int  input_channels,
int  output_channels,
TrackMode  mode = Normal,
RouteGroup route_group = 0,
uint32_t  how_many = 1,
std::string  name_template = "" 
)

Caller must not hold process lock

Parameters
name_templatestring to use for the start of the name, or "" to use "Audio".

Definition at line 2361 of file session.cc.

string Session::new_midi_source_path ( const std::string &  )

Return a unique name based on base for a new internal MIDI source

Definition at line 3953 of file session.cc.

list< boost::shared_ptr< MidiTrack > > Session::new_midi_track ( const ChanCount input,
const ChanCount output,
boost::shared_ptr< PluginInfo instrument = boost::shared_ptr<PluginInfo>(),
TrackMode  mode = Normal,
RouteGroup route_group = 0,
uint32_t  how_many = 1,
std::string  name_template = "" 
)

Caller must not hold process lock

Parameters
name_templatestring to use for the start of the name, or "" to use "MIDI".
instrumentplugin info for the instrument to insert pre-fader, if any

Definition at line 2117 of file session.cc.

RouteList Session::new_route_from_template ( uint32_t  how_many,
const std::string &  template_path,
const std::string &  name 
)

Definition at line 2538 of file session.cc.

uint32_t Session::next_aux_send_id ( )

Definition at line 4401 of file session.cc.

uint32_t Session::next_control_id ( ) const
private

Definition at line 5477 of file session.cc.

uint32_t Session::next_insert_id ( )

Definition at line 4361 of file session.cc.

std::string ARDOUR::Session::next_redo ( ) const
inline

Definition at line 780 of file session.h.

uint32_t Session::next_return_id ( )

Definition at line 4421 of file session.cc.

uint32_t Session::next_send_id ( )

Definition at line 4381 of file session.cc.

std::string ARDOUR::Session::next_undo ( ) const
inline

Definition at line 779 of file session.h.

int Session::no_roll ( pframes_t  nframes)
private

Definition at line 130 of file session_process.cc.

framecnt_t ARDOUR::Session::nominal_frame_rate ( ) const
inline

"native" sample rate of session, regardless of current audioengine rate, pullup/down etc

Definition at line 367 of file session.h.

void Session::non_realtime_locate ( )
private

Definition at line 447 of file session_transport.cc.

void Session::non_realtime_overwrite ( int  entry_request_count,
bool &  finished 
)
private

Definition at line 430 of file session_transport.cc.

void Session::non_realtime_set_audition ( )
private

Definition at line 4143 of file session.cc.

void Session::non_realtime_set_speed ( )
private

Definition at line 418 of file session_transport.cc.

void ARDOUR::Session::non_realtime_start_scrub ( )
private
void Session::non_realtime_stop ( bool  abort,
int  entry_request_count,
bool &  finished 
)
private

Definition at line 497 of file session_transport.cc.

bool ARDOUR::Session::non_realtime_work_pending ( ) const
inlineprivate

Definition at line 1385 of file session.h.

void Session::notify_remote_id_change ( )

Definition at line 5494 of file session.cc.

uint32_t ARDOUR::Session::nroutes ( ) const
inline

Definition at line 237 of file session.h.

uint32_t Session::ntracks ( ) const

Definition at line 4870 of file session.cc.

bool Session::operation_in_progress ( GQuark  op) const

Definition at line 5532 of file session.cc.

void Session::overwrite_some_buffers ( Track t)
private

Process thread.

Definition at line 88 of file session_butler.cc.

pan_t ** Session::pan_automation_buffer ( ) const

Definition at line 4839 of file session.cc.

std::string ARDOUR::Session::path ( ) const
inline

Definition at line 165 of file session.h.

bool Session::path_is_within_session ( const std::string &  path)

Definition at line 401 of file session_state.cc.

string Session::peak_path ( std::string  ) const

Definition at line 3746 of file session.cc.

std::string ARDOUR::Session::peak_path_from_audio_path ( std::string  ) const
uint32_t Session::playback_load ( )

Definition at line 114 of file session_butler.cc.

void Session::playlist_ranges_moved ( std::list< Evoral::RangeMove< framepos_t > > const &  ranges)
private

Definition at line 3484 of file session.cc.

void Session::playlist_region_added ( boost::weak_ptr< Region w)
private

Definition at line 3417 of file session.cc.

void Session::playlist_regions_extended ( std::list< Evoral::Range< framepos_t > > const &  ranges)
private

Definition at line 3492 of file session.cc.

string Session::plugins_dir ( ) const

Plugin state.

Definition at line 2254 of file session_state.cc.

vector< string > Session::possible_states ( ) const

Definition at line 2357 of file session_state.cc.

static std::vector<std::string> ARDOUR::Session::possible_states ( std::string  path)
static
void Session::post_capture_latency ( )
private

Definition at line 5339 of file session.cc.

int Session::post_engine_init ( )
private

Definition at line 196 of file session_state.cc.

void Session::post_playback_latency ( )
private

Definition at line 5321 of file session.cc.

void Session::post_transport ( )
private

Do any transport work in the audio thread that needs to be done after the transport thread is finished. Audio thread, realtime safe.

Definition at line 1492 of file session_transport.cc.

void ARDOUR::Session::post_transport_motion ( )
private
PostTransportWork ARDOUR::Session::post_transport_work ( ) const
inlineprivate

Definition at line 1210 of file session.h.

void Session::pre_engine_init ( std::string  path)
private

Definition at line 132 of file session_state.cc.

int Session::pre_export ( )
private

Definition at line 62 of file session_export.cc.

void Session::process ( pframes_t  nframes)

Called by the audio engine when there is work to be done with JACK.

Parameters
nframesNumber of frames to process.

Definition at line 57 of file session_process.cc.

void Session::process_audition ( pframes_t  nframes)
private

Process callback used when the auditioner is active.

Parameters
nframesnumber of frames to process.

Definition at line 886 of file session_process.cc.

bool ARDOUR::Session::process_can_proceed ( ) const
inlineprivate

Definition at line 1386 of file session.h.

void Session::process_event ( SessionEvent ev)
privatevirtual

Implements ARDOUR::SessionEventManager.

Definition at line 1014 of file session_process.cc.

int Session::process_export ( pframes_t  nframes)
private

Definition at line 159 of file session_export.cc.

int Session::process_export_fw ( pframes_t  nframes)
private

Definition at line 191 of file session_export.cc.

int Session::process_routes ( pframes_t  nframes,
bool &  need_butler 
)
private
Parameters
need_butlerto be set to true by this method if it needs the butler, otherwise it must be left alone.

Definition at line 175 of file session_process.cc.

void Session::process_rtop ( SessionEvent ev)
private

Definition at line 233 of file session_rtevents.cc.

void ARDOUR::Session::process_scrub ( pframes_t  )
private
void Session::process_with_events ( pframes_t  nframes)
private

Process callback used when the auditioner is not active

Definition at line 284 of file session_process.cc.

void Session::process_without_events ( pframes_t  nframes)
private

Definition at line 812 of file session_process.cc.

bool ARDOUR::Session::processing_blocked ( ) const
inlineprivate

Definition at line 1075 of file session.h.

void Session::queue_event ( SessionEvent ev)
virtual

Implements ARDOUR::SessionEventManager.

Definition at line 979 of file session_process.cc.

void ARDOUR::Session::queue_full_time_code ( )
inline

Definition at line 910 of file session.h.

void ARDOUR::Session::queue_song_position_pointer ( )
inline

Definition at line 911 of file session.h.

string Session::raid_path ( ) const

Definition at line 358 of file session_state.cc.

void Session::realtime_locate ( )
private

Definition at line 302 of file session_transport.cc.

void Session::realtime_stop ( bool  abort,
bool  clear_state 
)
private

Definition at line 239 of file session_transport.cc.

void Session::reassign_track_numbers ( )
private

Definition at line 3382 of file session.cc.

void Session::reconnect_existing_routes ( bool  withLock,
bool  reconnect_master = true,
bool  reconnect_inputs = true,
bool  reconnect_outputs = true 
)
protected

Definition at line 2350 of file session.cc.

void Session::reconnect_ltc_input ( )
private

Definition at line 5550 of file session.cc.

void Session::reconnect_ltc_output ( )
private

Definition at line 5565 of file session.cc.

bool Session::record_enabling_legal ( ) const

Definition at line 1275 of file session.cc.

framepos_t ARDOUR::Session::record_location ( ) const
inline

Definition at line 552 of file session.h.

RecordState ARDOUR::Session::record_status ( ) const
inline

Definition at line 276 of file session.h.

void ARDOUR::Session::redo ( uint32_t  n)
inline

Definition at line 771 of file session.h.

uint32_t ARDOUR::Session::redo_depth ( ) const
inline

Definition at line 778 of file session.h.

void ARDOUR::Session::refill_all_track_buffers ( )
void Session::refresh_disk_space ( )

Definition at line 2047 of file session_state.cc.

void Session::register_with_memento_command_factory ( PBD::ID  id,
PBD::StatefulDestructible ptr 
)

Definition at line 48 of file session_command.cc.

void Session::remove_bundle ( boost::shared_ptr< Bundle bundle)

Definition at line 4287 of file session.cc.

void Session::remove_controllable ( PBD::Controllable c)

Definition at line 3031 of file session_state.cc.

void Session::remove_dir_from_search_path ( const std::string &  path,
DataType  type 
)

Definition at line 5218 of file session.cc.

void ARDOUR::Session::remove_empty_sounds ( )
private
int Session::remove_last_capture ( )

Definition at line 3569 of file session.cc.

void Session::remove_monitor_section ( )

Definition at line 877 of file session.cc.

void Session::remove_pending_capture_state ( )

Definition at line 593 of file session_state.cc.

void Session::remove_playlist ( boost::weak_ptr< Playlist weak_playlist)
private

Definition at line 4109 of file session.cc.

void Session::remove_route ( boost::shared_ptr< Route route)

Definition at line 2870 of file session.cc.

void Session::remove_route_group ( RouteGroup rg)

Definition at line 2376 of file session_state.cc.

void Session::remove_source ( boost::weak_ptr< Source src)

Definition at line 3638 of file session.cc.

void Session::remove_state ( std::string  snapshot_name)

Remove a state file.

Parameters
snapshot_nameSnapshot name.

Definition at line 635 of file session_state.cc.

int Session::rename ( const std::string &  new_name)

Definition at line 3648 of file session_state.cc.

void Session::rename_state ( std::string  old_name,
std::string  new_name 
)

Rename a state file.

Parameters
old_nameOld snapshot name.
new_nameNew snapshot name.

Definition at line 612 of file session_state.cc.

void Session::reorder_route_groups ( std::list< RouteGroup * >  groups)

Set a new order for our route groups, without adding or removing any.

Parameters
groupsRoute group list in the new order.

Definition at line 2392 of file session_state.cc.

void Session::request_bounded_roll ( framepos_t  start,
framepos_t  end 
)

Definition at line 1756 of file session_transport.cc.

void Session::request_cancel_play_range ( )

Definition at line 231 of file session_transport.cc.

void Session::request_input_change_handling ( )

Definition at line 76 of file session_transport.cc.

void Session::request_locate ( framepos_t  frame,
bool  with_roll = false 
)

Definition at line 148 of file session_transport.cc.

void Session::request_overwrite_buffer ( Track t)

Definition at line 79 of file session_butler.cc.

void Session::request_play_loop ( bool  yn,
bool  leave_rolling = false 
)

Definition at line 164 of file session_transport.cc.

void Session::request_play_range ( std::list< AudioRange > *  range,
bool  leave_rolling = false 
)

Definition at line 218 of file session_transport.cc.

void Session::request_resume_timecode_transmission ( )

Definition at line 1892 of file session_transport.cc.

void Session::request_roll_at_and_return ( framepos_t  start,
framepos_t  return_to 
)

Definition at line 1772 of file session_transport.cc.

void Session::request_stop ( bool  abort = false,
bool  clear_state = false 
)

Definition at line 140 of file session_transport.cc.

void Session::request_suspend_timecode_transmission ( )

Ask the transport to not send timecode until further notice. The suspension will come into effect some finite time after this call, and timecode_transmission_suspended() should be checked by the caller to find out when.

Definition at line 1885 of file session_transport.cc.

void Session::request_sync_source ( Slave new_slave)

Definition at line 85 of file session_transport.cc.

void Session::request_track_speed ( Track tr,
double  speed 
)

Definition at line 132 of file session_transport.cc.

void Session::request_transport_speed ( double  speed,
bool  as_default = false 
)

Definition at line 109 of file session_transport.cc.

void Session::request_transport_speed_nonzero ( double  speed,
bool  as_default = false 
)

Request a new transport speed, but if the speed parameter is exactly zero then use a very small +ve value to prevent the transport actually stopping. This method should be used by callers who are varying transport speed but don't ever want to stop it.

Definition at line 122 of file session_transport.cc.

framepos_t ARDOUR::Session::requested_return_frame ( ) const
inline

Definition at line 554 of file session.h.

void Session::reset_monitor_section ( )

Definition at line 1077 of file session.cc.

void Session::reset_native_file_format ( )
private

Definition at line 4521 of file session.cc.

void ARDOUR::Session::reset_record_status ( )
private
void Session::reset_rf_scale ( framecnt_t  frames_moved)
private

Definition at line 1526 of file session_transport.cc.

void Session::reset_slave_state ( )
private

Definition at line 489 of file session_process.cc.

void Session::reset_write_sources ( bool  mark_write_complete,
bool  force = false 
)
private

Definition at line 1857 of file session_state.cc.

void ARDOUR::Session::reset_xrun_count ( )
inline

Definition at line 600 of file session.h.

void Session::resort_routes ( )

Definition at line 1927 of file session.cc.

void Session::resort_routes_using ( boost::shared_ptr< RouteList r)

This is called whenever we need to rebuild the graph of how we will process routes.

Parameters
rList of routes, in any order.

Definition at line 1969 of file session.cc.

int Session::restore_history ( std::string  snapshot_name)

Definition at line 3263 of file session_state.cc.

int Session::restore_state ( std::string  snapshot_name)

Definition at line 777 of file session_state.cc.

void Session::route_added_to_route_group ( RouteGroup rg,
boost::weak_ptr< Route r 
)
private

Called when a route is added to one of our route groups

Definition at line 4968 of file session.cc.

boost::shared_ptr< Route > Session::route_by_id ( PBD::ID  id)

Definition at line 3338 of file session.cc.

boost::shared_ptr< Route > Session::route_by_name ( std::string  )

Definition at line 3324 of file session.cc.

boost::shared_ptr< Route > Session::route_by_remote_id ( uint32_t  id)

Definition at line 3367 of file session.cc.

RouteGroup * Session::route_group_by_name ( std::string  )

Definition at line 2402 of file session_state.cc.

void Session::route_group_property_changed ( RouteGroup rg)
private

Called when a property of one of our route groups changes

Definition at line 4961 of file session.cc.

std::list<RouteGroup*> const& ARDOUR::Session::route_groups ( ) const
inline

Definition at line 516 of file session.h.

void Session::route_listen_changed ( void *  src,
boost::weak_ptr< Route wpr 
)
private

Definition at line 2972 of file session.cc.

void Session::route_mute_changed ( void *  src)
private

Definition at line 2966 of file session.cc.

bool Session::route_name_internal ( std::string  ) const

Definition at line 4552 of file session.cc.

bool Session::route_name_unique ( std::string  ) const

Definition at line 4538 of file session.cc.

void Session::route_processors_changed ( RouteProcessorChange  c)
private

Definition at line 1824 of file session_transport.cc.

void Session::route_removed_from_route_group ( RouteGroup rg,
boost::weak_ptr< Route r 
)
private

Called when a route is removed from one of our route groups

Definition at line 4975 of file session.cc.

void Session::route_solo_changed ( bool  self_solo_change,
void *  src,
boost::weak_ptr< Route wpr 
)
private

Definition at line 3033 of file session.cc.

void Session::route_solo_isolated_changed ( void *  src,
boost::weak_ptr< Route wpr 
)
private

Definition at line 3003 of file session.cc.

void Session::routes_using_input_from ( const std::string &  str,
RouteList rl 
)

Definition at line 3312 of file session.cc.

void Session::rt_cancel_solo_after_disconnect ( boost::shared_ptr< RouteList rl,
bool  upstream,
bool   
)
private

Definition at line 84 of file session_rtevents.cc.

void Session::rt_set_just_one_solo ( boost::shared_ptr< RouteList just_one,
bool  yn,
bool   
)
private

Definition at line 109 of file session_rtevents.cc.

void Session::rt_set_listen ( boost::shared_ptr< RouteList rl,
bool  yn,
bool  group_override 
)
private

Definition at line 132 of file session_rtevents.cc.

void Session::rt_set_monitoring ( boost::shared_ptr< RouteList rl,
MonitorChoice  mc,
bool  group_override 
)
private

Definition at line 42 of file session_rtevents.cc.

void Session::rt_set_mute ( boost::shared_ptr< RouteList rl,
bool  yn,
bool  group_override 
)
private

Definition at line 156 of file session_rtevents.cc.

void Session::rt_set_record_enabled ( boost::shared_ptr< RouteList rl,
bool  yn,
bool  group_override 
)
private

Definition at line 215 of file session_rtevents.cc.

void Session::rt_set_solo ( boost::shared_ptr< RouteList rl,
bool  yn,
bool  group_override 
)
private

Definition at line 63 of file session_rtevents.cc.

void Session::rt_set_solo_isolated ( boost::shared_ptr< RouteList rl,
bool  yn,
bool  group_override 
)
private

Definition at line 174 of file session_rtevents.cc.

bool ARDOUR::Session::sample_rate_convert ( ImportStatus ,
std::string  infile,
std::string &  outfile 
)
void Session::sample_to_timecode ( framepos_t  sample,
Timecode::Time &  timecode,
bool  use_offset,
bool  use_subframes 
) const

Definition at line 116 of file session_time.cc.

int Session::save_as ( SaveAs saveas)

Definition at line 4038 of file session_state.cc.

void Session::save_as_bring_callback ( uint32_t  ,
uint32_t  ,
std::string   
)
private

Definition at line 4015 of file session_state.cc.

bool Session::save_default_options ( )

Definition at line 891 of file session_state.cc.

int Session::save_history ( std::string  snapshot_name = "")

Definition at line 3212 of file session_state.cc.

int Session::save_state ( std::string  snapshot_name,
bool  pending = false,
bool  switch_to_snapshot = false,
bool  template_only = false 
)
Parameters
snapshot_nameName to save under, without .ardour / .pending prefix

Definition at line 661 of file session_state.cc.

int Session::save_template ( std::string  template_name)

Definition at line 1986 of file session_state.cc.

SceneChanger* ARDOUR::Session::scene_changer ( ) const
inline

Definition at line 955 of file session.h.

boost::shared_ptr< MidiPort > Session::scene_in ( ) const

Definition at line 673 of file session_midi.cc.

MIDI::Port * Session::scene_input_port ( ) const

Definition at line 667 of file session_midi.cc.

boost::shared_ptr< MidiPort > Session::scene_out ( ) const

Definition at line 679 of file session_midi.cc.

MIDI::Port * Session::scene_output_port ( ) const

Definition at line 661 of file session_midi.cc.

void Session::schedule_capture_buffering_adjustment ( )
private

Definition at line 65 of file session_butler.cc.

void Session::schedule_curve_reallocation ( )
protected

Definition at line 72 of file session_butler.cc.

void Session::schedule_playback_buffering_adjustment ( )
private

Definition at line 58 of file session_butler.cc.

int Session::send_full_time_code ( framepos_t  ,
pframes_t  nframes 
)
private

Send MTC Full Frame message (complete Timecode time) for the start of this cycle. This resets the MTC code, the next quarter frame message that is sent will be the first one with the beginning of this cycle as the new start point.

Parameters
ttime to send.

Definition at line 352 of file session_midi.cc.

gain_t * Session::send_gain_automation_buffer ( ) const

Definition at line 4833 of file session.cc.

void Session::send_immediate_mmc ( MIDI::MachineControlCommand  )
private

Definition at line 556 of file session_midi.cc.

int Session::send_midi_time_code_for_cycle ( framepos_t  start_frame,
framepos_t  end_frame,
ARDOUR::pframes_t  nframes 
)
private

Send MTC (quarter-frame) messages for this cycle. Must be called exactly once per cycle from the process thread. Realtime safe. This function assumes the state of full Timecode is sane, eg. the slave is expecting quarter frame messages and has the right frame of reference (any full MTC Timecode time messages that needed to be sent should have been sent earlier already this cycle by send_full_time_code)

Definition at line 443 of file session_midi.cc.

void Session::send_mmc_locate ( framepos_t  t)

Definition at line 1867 of file session_transport.cc.

void Session::send_song_position_pointer ( framepos_t  )
private

Definition at line 601 of file session_midi.cc.

const SessionDirectory& ARDOUR::Session::session_directory ( ) const
inline

Definition at line 182 of file session.h.

static void* ARDOUR::Session::session_loader_thread ( void *  arg)
staticprivate
char Session::session_name_is_legal ( const std::string &  )
static

Definition at line 5463 of file session.cc.

void Session::set_audition ( boost::shared_ptr< Region r)
private

Definition at line 4127 of file session.cc.

void Session::set_auto_loop_location ( Location location)

Definition at line 1438 of file session.cc.

void Session::set_auto_punch_location ( Location location)

Definition at line 1382 of file session.cc.

void Session::set_block_size ( pframes_t  nframes)
protected

Definition at line 1844 of file session.cc.

void Session::set_clean ( )

Definition at line 2991 of file session_state.cc.

void Session::set_deletion_in_progress ( )

Definition at line 3004 of file session_state.cc.

void Session::set_dirty ( )

Definition at line 2971 of file session_state.cc.

static void ARDOUR::Session::set_disable_all_loaded_plugins ( bool  yn)
inlinestatic

Definition at line 728 of file session.h.

void Session::set_exclusive_input_active ( boost::shared_ptr< RouteList rt,
bool  onoff,
bool  flip_others = false 
)

Definition at line 3244 of file session.cc.

void Session::set_frame_rate ( framecnt_t  nframes)
protected

the AudioEngine object that calls this guarantees that it will not be called while we are also in ::process(). Its fine to do things that block here.

Definition at line 1819 of file session.cc.

void Session::set_history_depth ( uint32_t  depth)
private

Definition at line 3570 of file session_state.cc.

void Session::set_just_one_solo ( boost::shared_ptr< Route r,
bool  yn,
SessionEvent::RTeventCallback  after = rt_cleanup 
)

Definition at line 95 of file session_rtevents.cc.

void Session::set_listen ( boost::shared_ptr< RouteList rl,
bool  yn,
SessionEvent::RTeventCallback  after = rt_cleanup,
bool  group_override = false 
)

Definition at line 126 of file session_rtevents.cc.

void Session::set_monitoring ( boost::shared_ptr< RouteList rl,
MonitorChoice  mc,
SessionEvent::RTeventCallback  after = rt_cleanup,
bool  group_override = false 
)

Definition at line 36 of file session_rtevents.cc.

void Session::set_mute ( boost::shared_ptr< RouteList rl,
bool  yn,
SessionEvent::RTeventCallback  after = rt_cleanup,
bool  group_override = false 
)

Definition at line 144 of file session_rtevents.cc.

void Session::set_next_event ( )
privatevirtual

Implements ARDOUR::SessionEventManager.

Definition at line 991 of file session_process.cc.

void ARDOUR::Session::set_nsm_state ( bool  state)
inline

Definition at line 438 of file session.h.

void ARDOUR::Session::set_order_hint ( int32_t  order_hint)
inline

Definition at line 249 of file session.h.

void Session::set_play_loop ( bool  yn,
double  speed 
)
private

Definition at line 820 of file session_transport.cc.

void Session::set_play_range ( std::list< AudioRange > &  range,
bool  leave_rolling 
)
private

Definition at line 1677 of file session_transport.cc.

void ARDOUR::Session::set_post_transport_work ( PostTransportWork  ptw)
inlineprivate

Definition at line 1211 of file session.h.

void Session::set_record_enabled ( boost::shared_ptr< RouteList rl,
bool  yn,
SessionEvent::RTeventCallback  after = rt_cleanup,
bool  group_override = false 
)

Definition at line 186 of file session_rtevents.cc.

void Session::set_requested_return_frame ( framepos_t  return_to)

Definition at line 1766 of file session_transport.cc.

void ARDOUR::Session::set_rf_speed ( float  speed)
private
void Session::set_session_extents ( framepos_t  start,
framepos_t  end 
)

Definition at line 1419 of file session.cc.

void ARDOUR::Session::set_snap_name ( )
void Session::set_solo ( boost::shared_ptr< RouteList rl,
bool  yn,
SessionEvent::RTeventCallback  after = rt_cleanup,
bool  group_override = false 
)

Definition at line 57 of file session_rtevents.cc.

void Session::set_solo_isolated ( boost::shared_ptr< RouteList rl,
bool  yn,
SessionEvent::RTeventCallback  after = rt_cleanup,
bool  group_override = false 
)

Definition at line 168 of file session_rtevents.cc.

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

Implements PBD::Stateful.

Definition at line 1139 of file session_state.cc.

void Session::set_track_loop ( bool  yn)
private

Definition at line 801 of file session_transport.cc.

void Session::set_track_monitor_input_status ( bool  yn)
private

Definition at line 1289 of file session.cc.

void Session::set_track_speed ( Track track,
double  speed 
)
private

Definition at line 1659 of file session_transport.cc.

void Session::set_transport_speed ( double  speed,
framepos_t  destination_frame,
bool  abort = false,
bool  clear_state = false,
bool  as_default = false 
)
private

Set the transport speed. Called from the process thread.

Parameters
speedNew speed

Definition at line 1170 of file session_transport.cc.

void Session::set_worst_capture_latency ( )
private

Definition at line 5397 of file session.cc.

void Session::set_worst_io_latencies ( )
private

Definition at line 5368 of file session.cc.

void ARDOUR::Session::set_worst_io_latencies_x ( IOChange  ,
void *   
)
inlineprivate

Definition at line 1056 of file session.h.

void Session::set_worst_playback_latency ( )
private

Definition at line 5375 of file session.cc.

void Session::setup_bundles ( )
private

Definition at line 707 of file session.cc.

void Session::setup_click ( )
private

Definition at line 639 of file session.cc.

void Session::setup_click_sounds ( int  which)
private

Definition at line 200 of file session_click.cc.

void ARDOUR::Session::setup_click_sounds ( Sample **  ,
Sample const *  ,
framecnt_t ,
framecnt_t  ,
std::string const &   
)
private
void Session::setup_click_state ( const XMLNode node)
private

Definition at line 653 of file session.cc.

void Session::setup_ltc ( )
private

Definition at line 603 of file session.cc.

void Session::setup_midi_control ( )
private

Definition at line 74 of file session_midi.cc.

void Session::setup_midi_machine_control ( )
private

Connect things to the MMC object

Definition at line 3606 of file session_state.cc.

void Session::setup_raid_path ( std::string  path)
private

Definition at line 370 of file session_state.cc.

bool ARDOUR::Session::silent ( )
inline

Definition at line 594 of file session.h.

int Session::silent_process_routes ( pframes_t  nframes,
bool &  need_butler 
)
private
Parameters
need_butlerto be set to true by this method if it needs the butler, otherwise it must be left alone.

Definition at line 221 of file session_process.cc.

Slave* ARDOUR::Session::slave ( ) const
inline

Definition at line 905 of file session.h.

SlaveState ARDOUR::Session::slave_state ( ) const
inline

Definition at line 904 of file session.h.

std::string ARDOUR::Session::snap_name ( ) const
inline

Definition at line 167 of file session.h.

void Session::solo_control_mode_changed ( )
private

Definition at line 4948 of file session.cc.

boost::shared_ptr< Controllable > Session::solo_cut_control ( ) const

Definition at line 3633 of file session_state.cc.

bool ARDOUR::Session::solo_isolated ( ) const
inline

Definition at line 693 of file session.h.

bool ARDOUR::Session::soloing ( ) const
inline

Definition at line 691 of file session.h.

boost::shared_ptr< Source > Session::source_by_id ( const PBD::ID id)

Definition at line 3670 of file session.cc.

std::vector< std::string > Session::source_search_path ( DataType  type) const

Definition at line 5125 of file session.cc.

void Session::spp_continue ( )
private

Definition at line 100 of file session_midi.cc.

void Session::spp_start ( )
private

Definition at line 92 of file session_midi.cc.

void Session::spp_stop ( )
private

Definition at line 106 of file session_midi.cc.

int Session::start_audio_export ( framepos_t  position)

Called for each range that is being exported

Definition at line 103 of file session_export.cc.

void Session::start_locate ( framepos_t  target_frame,
bool  with_roll,
bool  with_flush,
bool  with_loop = false,
bool  force = false 
)
private

Definition at line 912 of file session_transport.cc.

int Session::start_midi_thread ( )
private

Definition at line 609 of file session_midi.cc.

void Session::start_time_changed ( framepos_t  old)
private

Definition at line 5087 of file session.cc.

void Session::start_transport ( )
private

Called from the process thread

Definition at line 1433 of file session_transport.cc.

XMLNode & Session::state ( bool  full_state)
private

Definition at line 916 of file session_state.cc.

StateOfTheState ARDOUR::Session::state_of_the_state ( ) const
inline

Definition at line 480 of file session.h.

Command * Session::stateful_diff_command_factory ( XMLNode n)

Definition at line 154 of file session_command.cc.

void Session::step_back_from_record ( )

Definition at line 1718 of file session.cc.

void Session::step_edit_status_change ( bool  yn)
private

Definition at line 5061 of file session.cc.

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

Definition at line 913 of file session.h.

int Session::stop_audio_export ( )
private

Definition at line 210 of file session_export.cc.

void Session::stop_transport ( bool  abort = false,
bool  clear_state = false 
)
private

Stop the transport.

Definition at line 1352 of file session_transport.cc.

void Session::switch_to_sync_source ( SyncSource  src)
private

Definition at line 1588 of file session_transport.cc.

void Session::sync_locations_to_skips ( )
private

Definition at line 1555 of file session.cc.

void Session::sync_order_keys ( )

Definition at line 5510 of file session.cc.

void Session::sync_time_vars ( )

Definition at line 67 of file session_time.cc.

bool ARDOUR::Session::synced_to_engine ( ) const
inline

Definition at line 588 of file session.h.

TempoMap& ARDOUR::Session::tempo_map ( )
inline

Definition at line 596 of file session.h.

const TempoMap& ARDOUR::Session::tempo_map ( ) const
inline

Definition at line 597 of file session.h.

void Session::tempo_map_changed ( const PBD::PropertyChange )
private

Definition at line 4324 of file session.cc.

boost::shared_ptr<Auditioner> ARDOUR::Session::the_auditioner ( )
inline

Definition at line 673 of file session.h.

bool Session::timecode_drop_frames ( ) const

Definition at line 61 of file session_time.cc.

void Session::timecode_duration ( framecnt_t  when,
Timecode::Time &  timecode 
) const

Definition at line 161 of file session_time.cc.

void Session::timecode_duration_string ( char *  buf,
size_t  len,
framecnt_t  when 
) const

Definition at line 167 of file session_time.cc.

framecnt_t ARDOUR::Session::timecode_frames_per_hour ( ) const
inline

Definition at line 371 of file session.h.

double Session::timecode_frames_per_second ( ) const

Definition at line 55 of file session_time.cc.

void Session::timecode_time ( Timecode::Time &  t)

Definition at line 176 of file session_time.cc.

void Session::timecode_time ( framepos_t  when,
Timecode::Time &  timecode 
)

Definition at line 131 of file session_time.cc.

void Session::timecode_time_subframes ( framepos_t  when,
Timecode::Time &  timecode 
)

Definition at line 146 of file session_time.cc.

void Session::timecode_to_sample ( Timecode::Time &  timecode,
framepos_t sample,
bool  use_offset,
bool  use_subframes 
) const

Definition at line 102 of file session_time.cc.

bool Session::timecode_transmission_suspended ( ) const

Definition at line 1899 of file session_transport.cc.

boost::shared_ptr< Track > Session::track_by_diskstream_id ( PBD::ID  id)

Definition at line 3352 of file session.cc.

uint32_t ARDOUR::Session::track_number_decimals ( ) const
inline

Definition at line 268 of file session.h.

void Session::track_playlist_changed ( boost::weak_ptr< Track wp)
private

Definition at line 1258 of file session.cc.

void Session::track_slave_state ( float  slave_speed,
framepos_t  slave_transport_frame,
framecnt_t  this_delta 
)
private

Definition at line 671 of file session_process.cc.

framepos_t ARDOUR::Session::transport_frame ( ) const
inline

Definition at line 551 of file session.h.

bool Session::transport_locked ( ) const

Definition at line 498 of file session_process.cc.

bool ARDOUR::Session::transport_rolling ( ) const
inline

Definition at line 592 of file session.h.

double ARDOUR::Session::transport_speed ( ) const
inline

Definition at line 590 of file session.h.

bool ARDOUR::Session::transport_stopped ( ) const
inline

Definition at line 591 of file session.h.

gain_t * Session::trim_automation_buffer ( ) const

Definition at line 4827 of file session.cc.

void ARDOUR::Session::unblock_processing ( )
inlineprivate

Definition at line 1074 of file session.h.

void ARDOUR::Session::undo ( uint32_t  n)
inline

Undo some transactions.

Parameters
nNumber of transactions to undo.

Definition at line 767 of file session.h.

uint32_t ARDOUR::Session::undo_depth ( ) const
inline

Definition at line 777 of file session.h.

list< string > Session::unknown_processors ( ) const

Definition at line 5251 of file session.cc.

void Session::unmark_aux_send_id ( uint32_t  id)

Definition at line 4497 of file session.cc.

void Session::unmark_insert_id ( uint32_t  id)

Definition at line 4513 of file session.cc.

void Session::unmark_return_id ( uint32_t  id)

Definition at line 4505 of file session.cc.

void Session::unmark_send_id ( uint32_t  id)

Definition at line 4489 of file session.cc.

void Session::unset_play_loop ( )
private

Definition at line 783 of file session_transport.cc.

void Session::unset_play_range ( )
private

Definition at line 1669 of file session_transport.cc.

void Session::update_have_rec_enabled_track ( )
private

Update the state of our rec-enabled tracks flag

Definition at line 4914 of file session.cc.

void Session::update_latency ( bool  playback)
private

Definition at line 5268 of file session.cc.

void Session::update_latency_compensation ( bool  force = false)
protected

Definition at line 5419 of file session.cc.

void ARDOUR::Session::update_latency_compensation_proxy ( void *  ignored)
private
void Session::update_locations_after_tempo_map_change ( const Locations::LocationList loc)
private

Definition at line 4336 of file session.cc.

void Session::update_loop ( Location loc)
private

Definition at line 1484 of file session.cc.

void Session::update_marks ( Location loc)
private

Definition at line 1490 of file session.cc.

void Session::update_route_solo_state ( boost::shared_ptr< RouteList r = boost::shared_ptr<RouteList>())
private

Definition at line 3165 of file session.cc.

void Session::update_skips ( Location loc,
bool  consolidate 
)
private

Definition at line 1496 of file session.cc.

void ARDOUR::Session::use_rf_shuttle_speed ( )
void Session::use_sync_source ( Slave new_slave)
private

Definition at line 1546 of file session_transport.cc.

intptr_t Session::vst_callback ( AEffect effect,
int32_t  opcode,
int32_t  index,
intptr_t  value,
void *  ptr,
float  opt 
)
static

Definition at line 64 of file session_vst.cc.

int ARDOUR::Session::wipe ( )
framecnt_t ARDOUR::Session::worst_input_latency ( ) const
inline

Definition at line 395 of file session.h.

framecnt_t ARDOUR::Session::worst_output_latency ( ) const
inline

Definition at line 394 of file session.h.

framecnt_t ARDOUR::Session::worst_playback_latency ( ) const
inline

Definition at line 397 of file session.h.

framecnt_t ARDOUR::Session::worst_track_latency ( ) const
inline

Definition at line 396 of file session.h.

bool ARDOUR::Session::writable ( ) const
inline

Definition at line 173 of file session.h.

boost::shared_ptr< Region > Session::write_one_track ( Track track,
framepos_t  start,
framepos_t  end,
bool  overwrite,
std::vector< boost::shared_ptr< Source > > &  srcs,
InterThreadInfo wot,
boost::shared_ptr< Processor endpoint,
bool  include_endpoint,
bool  for_export,
bool  for_freeze 
)

Definition at line 4586 of file session.cc.

boost::shared_ptr< AudioRegion > Session::XMLAudioRegionFactory ( const XMLNode node,
bool  full 
)

Definition at line 1664 of file session_state.cc.

boost::shared_ptr< MidiRegion > Session::XMLMidiRegionFactory ( const XMLNode node,
bool  full 
)

Definition at line 1783 of file session_state.cc.

boost::shared_ptr< Region > Session::XMLRegionFactory ( const XMLNode node,
bool  full 
)

Definition at line 1635 of file session_state.cc.

boost::shared_ptr< Route > Session::XMLRouteFactory ( const XMLNode node,
int  version 
)
private

Definition at line 1394 of file session_state.cc.

boost::shared_ptr< Route > Session::XMLRouteFactory_2X ( const XMLNode node,
int  version 
)
private

Definition at line 1457 of file session_state.cc.

boost::shared_ptr< Source > Session::XMLSourceFactory ( const XMLNode node)
private

Definition at line 1968 of file session_state.cc.

void Session::xrun_recovery ( )
private

Definition at line 1807 of file session_transport.cc.

Friends And Related Function Documentation

friend class AudioEngine
friend

Definition at line 982 of file session.h.

friend class Route
friend

Definition at line 988 of file session.h.

friend class StateProtector
friend

Definition at line 1177 of file session.h.

Member Data Documentation

bool ARDOUR::Session::_adding_routes_in_progress
private

Definition at line 1441 of file session.h.

RouteGroup* ARDOUR::Session::_all_route_group
private

Definition at line 1431 of file session.h.

framecnt_t ARDOUR::Session::_base_frame_rate
private

Definition at line 1017 of file session.h.

bool ARDOUR::Session::_bounce_processing_active
private

Definition at line 1015 of file session.h.

XMLNode* ARDOUR::Session::_bundle_xml_node
private

Definition at line 1583 of file session.h.

SerializedRCUManager<BundleList> ARDOUR::Session::_bundles
private

Definition at line 1582 of file session.h.

Butler* ARDOUR::Session::_butler
private

Definition at line 1196 of file session.h.

gint ARDOUR::Session::_capture_load
mutableprivate

Definition at line 1578 of file session.h.

boost::shared_ptr<Amp> ARDOUR::Session::_click_gain
private

Definition at line 1608 of file session.h.

boost::shared_ptr<IO> ARDOUR::Session::_click_io
private

Definition at line 1607 of file session.h.

bool ARDOUR::Session::_clicking
private

Definition at line 1606 of file session.h.

framepos_t ARDOUR::Session::_clicks_cleared
private

Definition at line 1621 of file session.h.

framecnt_t ARDOUR::Session::_current_frame_rate
private

Definition at line 1018 of file session.h.

GraphEdges ARDOUR::Session::_current_route_graph
private

The directed graph of routes that is currently being used for audio processing and solo/mute computations.

Definition at line 1731 of file session.h.

std::string ARDOUR::Session::_current_snapshot_name
private

current snapshot name, without the .ardour suffix

Definition at line 1171 of file session.h.

UndoTransaction* ARDOUR::Session::_current_trans
private

current undo transaction, or 0

Definition at line 1588 of file session.h.

std::list<GQuark> ARDOUR::Session::_current_trans_quarks
private

GQuarks to describe the reversible commands that are currently in progress. These may be nested, in which case more recently-started commands are toward the front of the list.

Definition at line 1593 of file session.h.

double ARDOUR::Session::_default_transport_speed
private

Definition at line 1029 of file session.h.

bool Session::_disable_all_loaded_plugins = false
staticprivate

Definition at line 1674 of file session.h.

std::list<boost::shared_ptr<Diskstream> > ARDOUR::Session::_diskstreams_2X
private

temporary list of Diskstreams used only during load of 2.X sessions

Definition at line 1705 of file session.h.

AudioEngine& ARDOUR::Session::_engine
private

Definition at line 1011 of file session.h.

bool ARDOUR::Session::_export_rolling
private

Definition at line 1106 of file session.h.

bool ARDOUR::Session::_export_started
private

Definition at line 1105 of file session.h.

bool ARDOUR::Session::_exporting
private

Definition at line 1104 of file session.h.

framecnt_t ARDOUR::Session::_frames_per_hour
private

Definition at line 1339 of file session.h.

double ARDOUR::Session::_frames_per_timecode_frame
private

Definition at line 1338 of file session.h.

bool ARDOUR::Session::_have_captured
private

Definition at line 1043 of file session.h.

gint ARDOUR::Session::_have_rec_enabled_track
private

Definition at line 1679 of file session.h.

UndoHistory ARDOUR::Session::_history
private

Definition at line 1586 of file session.h.

bool ARDOUR::Session::_ignore_skips_updates
private

Definition at line 1237 of file session.h.

bool ARDOUR::Session::_is_new
private

Definition at line 1154 of file session.h.

framepos_t ARDOUR::Session::_last_record_location
private

Definition at line 1188 of file session.h.

framepos_t ARDOUR::Session::_last_roll_location
private

Definition at line 1185 of file session.h.

framepos_t ARDOUR::Session::_last_roll_or_reversal_location
private

the session frame time at which we last rolled, located, or changed transport direction

Definition at line 1187 of file session.h.

framepos_t ARDOUR::Session::_last_slave_transport_frame
private

Definition at line 1036 of file session.h.

double ARDOUR::Session::_last_transport_speed
private

Definition at line 1030 of file session.h.

uint32_t ARDOUR::Session::_listen_cnt
private

Definition at line 1045 of file session.h.

Locations* ARDOUR::Session::_locations
private

Definition at line 1223 of file session.h.

boost::shared_ptr<IO> ARDOUR::Session::_ltc_input
private

Definition at line 1739 of file session.h.

boost::shared_ptr<IO> ARDOUR::Session::_ltc_output
private

Definition at line 1740 of file session.h.

boost::shared_ptr<Route> ARDOUR::Session::_master_out
private

Definition at line 1639 of file session.h.

MidiPortManager* ARDOUR::Session::_midi_ports
private

Definition at line 1749 of file session.h.

MIDI::MachineControl* ARDOUR::Session::_mmc
private

Definition at line 1750 of file session.h.

boost::shared_ptr<Route> ARDOUR::Session::_monitor_out
private

Definition at line 1640 of file session.h.

std::string ARDOUR::Session::_name
private

Definition at line 1153 of file session.h.

framecnt_t ARDOUR::Session::_nominal_frame_rate
private

Definition at line 1019 of file session.h.

bool ARDOUR::Session::_non_soloed_outs_muted
private

Definition at line 1044 of file session.h.

int32_t ARDOUR::Session::_order_hint
private

Definition at line 1734 of file session.h.

std::string ARDOUR::Session::_path
private

Definition at line 1152 of file session.h.

pframes_t ARDOUR::Session::_pframes_since_last_mtc
private

Number of process frames since the last MTC output (when sending MTC); used to know when to send full MTC messages every so often.

Definition at line 1159 of file session.h.

bool ARDOUR::Session::_play_range
private

Definition at line 1632 of file session.h.

gint ARDOUR::Session::_playback_load
mutableprivate

Definition at line 1577 of file session.h.

gint ARDOUR::Session::_post_transport_work
private

Definition at line 1209 of file session.h.

bool ARDOUR::Session::_pre_export_mmc_enabled
private

Definition at line 1115 of file session.h.

boost::shared_ptr<Graph> ARDOUR::Session::_process_graph
private

Definition at line 1435 of file session.h.

gint ARDOUR::Session::_record_status
mutableprivate

Definition at line 1021 of file session.h.

framepos_t ARDOUR::Session::_requested_return_frame
private

Definition at line 1038 of file session.h.

std::list<RouteGroup *> ARDOUR::Session::_route_groups
private

Definition at line 1430 of file session.h.

pthread_cond_t ARDOUR::Session::_rt_emit_cond
private

Definition at line 1291 of file session.h.

pthread_mutex_t ARDOUR::Session::_rt_emit_mutex
private

Definition at line 1290 of file session.h.

bool ARDOUR::Session::_rt_emit_pending
private

Definition at line 1292 of file session.h.

pthread_t ARDOUR::Session::_rt_emit_thread
private

Definition at line 1287 of file session.h.

bool ARDOUR::Session::_rt_thread_active
private

Definition at line 1288 of file session.h.

volatile bool ARDOUR::Session::_save_queued
private

Definition at line 1179 of file session.h.

SceneChanger* ARDOUR::Session::_scene_changer
private

Definition at line 1746 of file session.h.

bool ARDOUR::Session::_send_qf_mtc
private

Definition at line 1155 of file session.h.

bool ARDOUR::Session::_send_timecode_update
private

Flag to send a full frame (Timecode) MTC message this cycle.

Definition at line 1348 of file session.h.

boost::scoped_ptr<SessionDirectory> ARDOUR::Session::_session_dir
private

Definition at line 1165 of file session.h.

Location* ARDOUR::Session::_session_range_location
private

session range, or 0 if there is nothing in the session yet

Definition at line 1023 of file session.h.

double ARDOUR::Session::_signalled_varispeed
private

Definition at line 1031 of file session.h.

bool ARDOUR::Session::_silent
private

Definition at line 1025 of file session.h.

Slave* ARDOUR::Session::_slave
private

Definition at line 1024 of file session.h.

SlaveState ARDOUR::Session::_slave_state
private

Definition at line 1088 of file session.h.

boost::shared_ptr<PBD::Controllable> ARDOUR::Session::_solo_cut_control
private

Definition at line 1662 of file session.h.

uint32_t ARDOUR::Session::_solo_isolated_cnt
private

Definition at line 1046 of file session.h.

boost::shared_ptr<Speakers> ARDOUR::Session::_speakers
private

Definition at line 1725 of file session.h.

StateOfTheState ARDOUR::Session::_state_of_the_state
private

Definition at line 1175 of file session.h.

uint32_t ARDOUR::Session::_step_editors
private

Definition at line 1712 of file session.h.

gint ARDOUR::Session::_suspend_save
private

Definition at line 1178 of file session.h.

gint ARDOUR::Session::_suspend_timecode_transmission
mutableprivate

true if timecode transmission by the transport is suspended, otherwise false

Definition at line 1715 of file session.h.

double ARDOUR::Session::_target_transport_speed
private

Definition at line 1032 of file session.h.

TempoMap* ARDOUR::Session::_tempo_map
private

Definition at line 1423 of file session.h.

framecnt_t ARDOUR::Session::_timecode_frames_per_hour
private

Definition at line 1340 of file session.h.

uint32_t ARDOUR::Session::_total_free_4k_blocks
private

Definition at line 1565 of file session.h.

bool ARDOUR::Session::_total_free_4k_blocks_uncertain
private

If this is true, _total_free_4k_blocks is not definite, as one or more of the session directories' filesystems could not report free space.

Definition at line 1570 of file session.h.

uint32_t ARDOUR::Session::_track_number_decimals
private

Definition at line 1459 of file session.h.

framepos_t ARDOUR::Session::_transport_frame
private

Definition at line 1022 of file session.h.

double ARDOUR::Session::_transport_speed
private

Definition at line 1028 of file session.h.

bool ARDOUR::Session::_under_nsm_control
private

Definition at line 1049 of file session.h.

bool ARDOUR::Session::_was_seamless
private

Definition at line 1048 of file session.h.

framecnt_t ARDOUR::Session::_worst_input_latency
private

Definition at line 1041 of file session.h.

framecnt_t ARDOUR::Session::_worst_output_latency
private

Definition at line 1040 of file session.h.

framecnt_t ARDOUR::Session::_worst_track_latency
private

Definition at line 1042 of file session.h.

bool ARDOUR::Session::_writable
private

Definition at line 1047 of file session.h.

unsigned int ARDOUR::Session::_xrun_count
private

Definition at line 1050 of file session.h.

PBD::Signal0< int > Session::AskAboutPendingState
static

handlers should return !0 for use pending state, 0 for ignore it.

Definition at line 653 of file session.h.

PBD::Signal1< int, boost::shared_ptr< Playlist > > Session::AskAboutPlaylistDeletion
static

handlers should return -1 for "stop cleanup", 0 for "yes, delete this playlist", 1 for "no, don't delete this playlist".

Definition at line 644 of file session.h.

PBD::Signal2< int, framecnt_t, framecnt_t > Session::AskAboutSampleRateMismatch
static

handlers should return 0 for "ignore the rate mismatch", !0 for "do not use this session"

Definition at line 649 of file session.h.

PBD::Signal1< int, uint32_t > Session::AudioEngineSetupRequired
static

handlers should return 0 for "everything OK", and any other value for "cannot setup audioengine".

Definition at line 638 of file session.h.

PBD::Signal1<void,bool> ARDOUR::Session::AuditionActive

Definition at line 679 of file session.h.

boost::shared_ptr<Auditioner> ARDOUR::Session::auditioner
private

Definition at line 1521 of file session.h.

PBD::Signal1<void,Location*> ARDOUR::Session::auto_loop_location_changed

Definition at line 384 of file session.h.

bool ARDOUR::Session::auto_play_legal
private

Definition at line 1035 of file session.h.

PBD::Signal1<void,Location*> ARDOUR::Session::auto_punch_location_changed

Definition at line 385 of file session.h.

std::map<PBD::ID, AutomationList*> ARDOUR::Session::automation_lists
private

Definition at line 1512 of file session.h.

boost::dynamic_bitset<uint32_t> ARDOUR::Session::aux_send_bitset
private

Definition at line 1535 of file session.h.

int ARDOUR::Session::average_dir
private

Definition at line 1085 of file session.h.

int32_t ARDOUR::Session::average_slave_delta
private

Definition at line 1084 of file session.h.

PBD::Signal0<void> ARDOUR::Session::BatchUpdateEnd

Definition at line 187 of file session.h.

PBD::Signal0<void> ARDOUR::Session::BatchUpdateStart

Definition at line 186 of file session.h.

const framecnt_t Session::bounce_chunk_size = 65536
staticprivate

Definition at line 1077 of file session.h.

PBD::Signal0<void> ARDOUR::Session::BundleAddedOrRemoved

Definition at line 758 of file session.h.

Sample* ARDOUR::Session::click_data
private

Definition at line 1609 of file session.h.

Sample* ARDOUR::Session::click_emphasis_data
private

Definition at line 1610 of file session.h.

framecnt_t ARDOUR::Session::click_emphasis_length
private

Definition at line 1612 of file session.h.

framecnt_t ARDOUR::Session::click_length
private

Definition at line 1611 of file session.h.

Glib::Threads::RWLock ARDOUR::Session::click_lock
mutableprivate

Definition at line 1613 of file session.h.

Clicks ARDOUR::Session::clicks
private

Definition at line 1605 of file session.h.

SessionConfiguration ARDOUR::Session::config

Definition at line 866 of file session.h.

Controllables ARDOUR::Session::controllables
private

Definition at line 1660 of file session.h.

Glib::Threads::Mutex ARDOUR::Session::controllables_lock
private

Definition at line 1659 of file session.h.

uint32_t ARDOUR::Session::cumulative_rf_motion
private

Definition at line 1217 of file session.h.

std::list<AudioRange> ARDOUR::Session::current_audio_range
private

Definition at line 1631 of file session.h.

pframes_t ARDOUR::Session::current_block_size
private

Definition at line 1039 of file session.h.

const Sample Session::default_click
staticprivate

Definition at line 1615 of file session.h.

const Sample Session::default_click_emphasis
staticprivate

Definition at line 1617 of file session.h.

const framecnt_t Session::default_click_emphasis_length = sizeof (default_click_emphasis) / sizeof (default_click_emphasis[0])
staticprivate

Definition at line 1618 of file session.h.

const framecnt_t Session::default_click_length = sizeof (default_click) / sizeof (default_click[0])
staticprivate

Definition at line 1616 of file session.h.

float ARDOUR::Session::default_fade_msecs
private

Definition at line 1517 of file session.h.

float ARDOUR::Session::default_fade_steepness
private

Definition at line 1516 of file session.h.

int32_t ARDOUR::Session::delta_accumulator[delta_accumulator_size]
private

Definition at line 1083 of file session.h.

int ARDOUR::Session::delta_accumulator_cnt
private

Definition at line 1082 of file session.h.

const int ARDOUR::Session::delta_accumulator_size = 25
staticprivate

Definition at line 1081 of file session.h.

uint32_t ARDOUR::Session::destructive_index
private

Definition at line 1442 of file session.h.

PBD::Signal1< void, std::string > Session::Dialog
static

Definition at line 184 of file session.h.

PBD::Signal0<void> ARDOUR::Session::DirtyChanged

Definition at line 180 of file session.h.

PBD::Signal1< void, framepos_t > Session::EndTimeChanged
static

Definition at line 585 of file session.h.

PBD::ScopedConnection ARDOUR::Session::export_freewheel_connection
private

Definition at line 1117 of file session.h.

boost::shared_ptr<ExportHandler> ARDOUR::Session::export_handler
private

Definition at line 1108 of file session.h.

boost::shared_ptr<ExportStatus> ARDOUR::Session::export_status
private

Definition at line 1109 of file session.h.

PBD::Signal2< void, std::string, std::string > Session::Exported
static

Definition at line 622 of file session.h.

PBD::Signal0< void > Session::FeedbackDetected
static

Emitted when a feedback cycle has been detected within Ardour's signal processing path. Until it is fixed (by the user) some (unspecified) routes will not be run.

Definition at line 929 of file session.h.

bool ARDOUR::Session::first_file_data_format_reset
private

Definition at line 1665 of file session.h.

bool ARDOUR::Session::first_file_header_format_reset
private

Definition at line 1666 of file session.h.

bool ARDOUR::Session::have_first_delta_accumulator
private

Definition at line 1086 of file session.h.

bool ARDOUR::Session::have_looped
mutableprivate

Used in ::audible_frame(*)

Definition at line 1676 of file session.h.

bool ARDOUR::Session::ignore_route_processor_changes
private

Definition at line 1735 of file session.h.

boost::dynamic_bitset<uint32_t> ARDOUR::Session::insert_bitset
private

Definition at line 1537 of file session.h.

CubicInterpolation ARDOUR::Session::interpolation
private

Definition at line 1033 of file session.h.

PBD::Signal0<void> ARDOUR::Session::IOConnectionsComplete

Definition at line 293 of file session.h.

PBD::Signal0<void> ARDOUR::Session::IsolatedChanged

Definition at line 709 of file session.h.

framepos_t ARDOUR::Session::last_loopend
private

Definition at line 1163 of file session.h.

struct timeval ARDOUR::Session::last_mmc_step
private

Definition at line 1321 of file session.h.

process_function_type ARDOUR::Session::last_process_function
private

Definition at line 1014 of file session.h.

std::vector<space_and_path>::iterator ARDOUR::Session::last_rr_session_dir
private

Definition at line 1564 of file session.h.

Timecode::Time ARDOUR::Session::last_timecode
private

Definition at line 1346 of file session.h.

bool ARDOUR::Session::last_timecode_valid
private

Definition at line 1344 of file session.h.

framepos_t ARDOUR::Session::last_timecode_when
private

Definition at line 1345 of file session.h.

PBD::Signal0<void> ARDOUR::Session::Located

emitted when a locate has occurred

Definition at line 315 of file session.h.

PBD::Signal0<void> ARDOUR::Session::locations_modified

Definition at line 386 of file session.h.

bool ARDOUR::Session::loop_changing
private

Definition at line 1162 of file session.h.

PBD::ScopedConnectionList ARDOUR::Session::loop_connections
private

Definition at line 1244 of file session.h.

int32_t ARDOUR::Session::ltc_buf_len
private

Definition at line 1357 of file session.h.

int32_t ARDOUR::Session::ltc_buf_off
private

Definition at line 1356 of file session.h.

ltcsnd_sample_t* ARDOUR::Session::ltc_enc_buf
private

Definition at line 1353 of file session.h.

int32_t ARDOUR::Session::ltc_enc_byte
private

Definition at line 1360 of file session.h.

double ARDOUR::Session::ltc_enc_cnt
private

Definition at line 1362 of file session.h.

framepos_t ARDOUR::Session::ltc_enc_off
private

Definition at line 1363 of file session.h.

framepos_t ARDOUR::Session::ltc_enc_pos
private

Definition at line 1361 of file session.h.

Timecode::TimecodeFormat ARDOUR::Session::ltc_enc_tcformat
private

Definition at line 1355 of file session.h.

LTCEncoder* ARDOUR::Session::ltc_encoder
private

Definition at line 1352 of file session.h.

LatencyRange ARDOUR::Session::ltc_out_latency
private

Definition at line 1370 of file session.h.

framepos_t ARDOUR::Session::ltc_prev_cycle
private

Definition at line 1365 of file session.h.

double ARDOUR::Session::ltc_speed
private

Definition at line 1359 of file session.h.

bool ARDOUR::Session::ltc_timecode_negative_offset
private

Definition at line 1368 of file session.h.

framepos_t ARDOUR::Session::ltc_timecode_offset
private

Definition at line 1367 of file session.h.

uint32_t ARDOUR::Session::main_outs
private

Definition at line 1637 of file session.h.

std::vector<Route*> ARDOUR::Session::master_outs
private

Definition at line 1627 of file session.h.

framecnt_t ARDOUR::Session::maximum_output_latency
private

Definition at line 1037 of file session.h.

MidiClockTicker* ARDOUR::Session::midi_clock
private

Definition at line 1737 of file session.h.

MidiControlUI* ARDOUR::Session::midi_control_ui
private

Definition at line 1388 of file session.h.

MIDI::byte ARDOUR::Session::midi_msg[16]
private

Definition at line 1333 of file session.h.

MidiTimeoutList ARDOUR::Session::midi_timeouts
private

Definition at line 1327 of file session.h.

PBD::Signal3< int, Session *, std::string, DataType > Session::MissingFile
static

Definition at line 945 of file session.h.

MIDI::byte ARDOUR::Session::mtc_msg[16]
private

Definition at line 1331 of file session.h.

MIDI::byte ARDOUR::Session::mtc_timecode_bits
private

Definition at line 1332 of file session.h.

int ARDOUR::Session::next_quarter_frame_to_send
private

Definition at line 1336 of file session.h.

bool ARDOUR::Session::no_questions_about_missing_files
private

Definition at line 1573 of file session.h.

double ARDOUR::Session::outbound_mtc_timecode_frame
private

Definition at line 1334 of file session.h.

bool ARDOUR::Session::pending_abort
private

Definition at line 1193 of file session.h.

boost::shared_ptr<Region> ARDOUR::Session::pending_audition_region
private

Definition at line 1524 of file session.h.

bool ARDOUR::Session::pending_auto_loop
private

Definition at line 1194 of file session.h.

bool ARDOUR::Session::pending_locate_flush
private

Definition at line 1192 of file session.h.

framepos_t ARDOUR::Session::pending_locate_frame
private

Definition at line 1191 of file session.h.

bool ARDOUR::Session::pending_locate_roll
private

Definition at line 1190 of file session.h.

bool ARDOUR::Session::play_loop
private

Definition at line 1161 of file session.h.

boost::shared_ptr<SessionPlaylists> ARDOUR::Session::playlists

Definition at line 907 of file session.h.

PBD::Signal1<void,framepos_t> ARDOUR::Session::PositionChanged

Definition at line 310 of file session.h.

framepos_t ARDOUR::Session::post_export_position
private

Definition at line 1102 of file session.h.

bool ARDOUR::Session::post_export_sync
private

Definition at line 1101 of file session.h.

process_function_type ARDOUR::Session::process_function
private

Definition at line 1013 of file session.h.

const PostTransportWork ARDOUR::Session::ProcessCannotProceedMask
staticprivate
PBD::Signal1<int, framecnt_t> ARDOUR::Session::ProcessExport

Definition at line 621 of file session.h.

gint ARDOUR::Session::processing_prohibited
mutableprivate

Definition at line 1012 of file session.h.

PBD::ScopedConnectionList ARDOUR::Session::punch_connections
private

Definition at line 1239 of file session.h.

PBD::Signal0< void > Session::Quit
static

Emitted when the session wants Ardour to quit

Definition at line 948 of file session.h.

PBD::Signal0<void> ARDOUR::Session::RecordStateChanged

Definition at line 297 of file session.h.

Glib::Threads::Mutex ARDOUR::Session::region_lock
mutableprivate

Definition at line 1476 of file session.h.

std::map<PBD::ID,PBD::StatefulDestructible*> ARDOUR::Session::registry

Definition at line 801 of file session.h.

bool ARDOUR::Session::restarting
private

Definition at line 1364 of file session.h.

boost::dynamic_bitset<uint32_t> ARDOUR::Session::return_bitset
private

Definition at line 1536 of file session.h.

uint32_t ARDOUR::Session::rf_scale
private

Definition at line 1218 of file session.h.

PBD::Signal1<void,RouteGroup*> ARDOUR::Session::route_group_added

Definition at line 506 of file session.h.

PBD::Signal0<void> ARDOUR::Session::route_group_removed

Definition at line 507 of file session.h.

PBD::Signal0<void> ARDOUR::Session::route_groups_reordered

Definition at line 508 of file session.h.

PBD::Signal1<void,RouteList&> ARDOUR::Session::RouteAdded

Definition at line 317 of file session.h.

PBD::Signal2<void, RouteGroup *, boost::weak_ptr<Route> > ARDOUR::Session::RouteAddedToRouteGroup

Emitted when a route is added to one of our route groups. First parameter is the RouteGroup, second is the route.

Definition at line 325 of file session.h.

PBD::Signal1<void, RouteGroup *> ARDOUR::Session::RouteGroupPropertyChanged

Emitted when a property of one of our route groups changes. The parameter is the RouteGroup that has changed.

Definition at line 321 of file session.h.

PBD::Signal2<void, RouteGroup *, boost::weak_ptr<Route> > ARDOUR::Session::RouteRemovedFromRouteGroup

Emitted when a route is removed from one of our route groups. First parameter is the RouteGroup, second is the route.

Definition at line 329 of file session.h.

SerializedRCUManager<RouteList> ARDOUR::Session::routes
private

Definition at line 1437 of file session.h.

const SessionEvent::RTeventCallback Session::rt_cleanup
static

Definition at line 695 of file session.h.

Glib::Threads::Mutex ARDOUR::Session::save_state_lock
private

Definition at line 1180 of file session.h.

PBD::Signal1<void,std::string> ARDOUR::Session::SaveSessionRequested

Definition at line 452 of file session.h.

boost::dynamic_bitset<uint32_t> ARDOUR::Session::send_bitset
private

Definition at line 1534 of file session.h.

PBD::Signal0< void > Session::SendFeedback
static

Definition at line 850 of file session.h.

std::vector<space_and_path> ARDOUR::Session::session_dirs
private

Definition at line 1563 of file session.h.

bool ARDOUR::Session::session_midi_feedback
private

Definition at line 1160 of file session.h.

PBD::Signal0<void> ARDOUR::Session::SessionSaveUnderway

Definition at line 457 of file session.h.

PBD::ScopedConnectionList ARDOUR::Session::skip_update_connections
private

Definition at line 1236 of file session.h.

framepos_t ARDOUR::Session::slave_wait_end
private

Definition at line 1089 of file session.h.

bool ARDOUR::Session::solo_update_disabled
private

Definition at line 1463 of file session.h.

PBD::Signal1<void,bool> ARDOUR::Session::SoloActive

Definition at line 707 of file session.h.

PBD::Signal0<void> ARDOUR::Session::SoloChanged

Definition at line 708 of file session.h.

Glib::Threads::Mutex ARDOUR::Session::source_lock
mutableprivate

Definition at line 1487 of file session.h.

SourceMap ARDOUR::Session::sources
private

Definition at line 1494 of file session.h.

Glib::Threads::Mutex ARDOUR::Session::space_lock
private

Definition at line 1571 of file session.h.

PBD::Signal1< void, framepos_t > Session::StartTimeChanged
static

Definition at line 584 of file session.h.

XMLTree* ARDOUR::Session::state_tree
private

Definition at line 1173 of file session.h.

bool ARDOUR::Session::state_was_pending
private

Definition at line 1174 of file session.h.

PBD::Signal0<void> ARDOUR::Session::StateReady

Definition at line 442 of file session.h.

PBD::Signal1<void,std::string> ARDOUR::Session::StateSaved

Definition at line 441 of file session.h.

double ARDOUR::Session::step_speed
private

Definition at line 1322 of file session.h.

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

Definition at line 332 of file session.h.

PBD::Signal0< void > Session::SuccessfulGraphSort
static

Emitted when a graph sort has successfully completed, which means that it has no feedback cycles.

Definition at line 934 of file session.h.

Timecode::Time ARDOUR::Session::transmitting_timecode_time
private

Definition at line 1335 of file session.h.

int ARDOUR::Session::transport_sub_state
private

Definition at line 1020 of file session.h.

PBD::Signal0<void> ARDOUR::Session::TransportLooped

Definition at line 312 of file session.h.

PBD::Signal0<void> ARDOUR::Session::TransportStateChange

Emitted on the following changes in transport state:

  • stop (from the butler thread)
  • change in whether or not we are looping (from the process thread)
  • change in the play range (from the process thread)
  • start (from the process thread)
  • engine halted

Definition at line 308 of file session.h.

PBD::Signal2< void, std::string, std::string > Session::VersionMismatch
static

Emitted when Ardour is asked to load a session in an older session format, and makes a backup copy.

Definition at line 953 of file session.h.

const int Session::vst_can_do_string_count = sizeof (vst_can_do_strings) / sizeof (char*)
static

Definition at line 839 of file session.h.

const char * Session::vst_can_do_strings
static
Initial value:
= {
X_("supplyIdle"),
X_("sendVstTimeInfo"),
X_("sendVstEvents"),
X_("sendVstMidiEvent"),
X_("receiveVstEvents"),
X_("receiveVstMidiEvent"),
X_("supportShell"),
X_("shellCategory"),
}

Definition at line 838 of file session.h.

int Session::vst_current_loading_id = 0
static

Definition at line 837 of file session.h.

bool ARDOUR::Session::waiting_for_sync_offset
private

Definition at line 1016 of file session.h.

PBD::Signal1<void,framepos_t> ARDOUR::Session::Xrun

Definition at line 311 of file session.h.


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