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

#include <session.h>

Inheritance diagram for ARDOUR::Session:
[legend]

Classes

struct  AutoConnectRequest
 
struct  CueEventTimeComparator
 
class  ProcessorChangeBlocker
 
struct  ptflookup
 
struct  SaveAs
 
struct  space_and_path
 
struct  space_and_path_ascending_cmp
 
class  StateProtector
 
struct  TransportMasterStrategy
 

Public Types

enum  ArchiveEncode { NO_ENCODE , FLAC_16BIT , FLAC_24BIT }
 
enum  StateOfTheState {
  Clean = 0x0 , Dirty = 0x1 , CannotSave = 0x2 , Deletion = 0x4 ,
  InitialConnecting = 0x8 , Loading = 0x10 , InCleanup = 0x20 , PeakCleanup = 0x40
}
 
enum  PullupFormat {
  pullup_Plus4Plus1 , pullup_Plus4 , pullup_Plus4Minus1 , pullup_Plus1 ,
  pullup_None , pullup_Minus1 , pullup_Minus4Plus1 , pullup_Minus4 ,
  pullup_Minus4Minus1
}
 
enum  PostTransportWork {
  PostTransportStop = 0x1 , PostTransportLocate = 0x2 , PostTransportAbort = 0x8 , PostTransportOverWrite = 0x10 ,
  PostTransportAudition = 0x20 , PostTransportReverse = 0x40 , PostTransportClearSubstate = 0x80 , PostTransportAdjustPlaybackBuffering = 0x100 ,
  PostTransportAdjustCaptureBuffering = 0x200 , PostTransportLoopChanged = 0x400
}
 
enum  TimingTypes {
  OverallProcess = 0 , ProcessFunction = 1 , NoRoll = 2 , Roll = 3 ,
  NTT = 4
}
 
typedef std::map< PBD::ID, std::shared_ptr< Source > > SourceMap
 

Public Member Functions

 Session (AudioEngine &, const std::string &fullpath, const std::string &snapshot_name, BusProfile const *bus_profile=0, std::string mix_template="", bool unnamed=false, samplecnt_t samplerate=0)
 
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 &)
 
bool writable () const
 
void set_clean ()
 
void set_dirty ()
 
void unset_dirty (bool emit_dirty_changed=false)
 
void set_deletion_in_progress ()
 
void clear_deletion_in_progress ()
 
bool reconnection_in_progress () const
 
bool routes_deletion_in_progress () const
 
bool dirty () const
 
bool deletion_in_progress () const
 
bool peaks_cleanup_in_progres () const
 
bool loading () const
 
bool cannot_save () const
 
bool in_cleanup () const
 
bool inital_connect_or_deletion_in_progress () const
 
bool have_external_connections_for_current_backend (bool tracks_only=true) const
 
bool unnamed () const
 
void end_unnamed_status () 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 construct_peak_filepath (const std::string &audio_path, const bool in_session=false, const bool old_peak_name=false) 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 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 take_required)
 
std::string new_midi_source_path (const std::string &, bool need_source_lock=true)
 
RouteList new_route_from_template (uint32_t how_many, PresentationInfo::order_t insert_at, const std::string &template_path, const std::string &name, PlaylistDisposition pd=NewPlaylist)
 
RouteList new_route_from_template (uint32_t how_many, PresentationInfo::order_t insert_at, XMLNode &, const std::string &name, PlaylistDisposition pd=NewPlaylist)
 
std::vector< std::string > get_paths_for_new_sources (bool allow_replacing, const std::string &import_file_path, uint32_t channels, std::vector< std::string > const &smf_track_names, bool use_smf_file_names)
 
int bring_all_sources_into_session (std::function< void(uint32_t, uint32_t, std::string)> callback)
 
void process (pframes_t nframes)
 
void send_ltc_for_cycle (samplepos_t, samplepos_t, pframes_t)
 
void send_mclk_for_cycle (samplepos_t, samplepos_t, pframes_t, samplecnt_t)
 
BufferSetget_silent_buffers (ChanCount count=ChanCount::ZERO)
 
BufferSetget_noinplace_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)
 
void ensure_buffers_unlocked (ChanCount howmany)
 
bool have_rec_enabled_track () const
 
bool have_rec_disabled_track () const
 
bool have_captured () const
 
samplecnt_t capture_duration () const
 
unsigned int capture_xruns () const
 
unsigned int export_xruns () const
 
void refill_all_track_buffers ()
 
Butlerbutler ()
 
void butler_transport_work (bool have_process_lock=false)
 
void refresh_disk_space ()
 
int load_routes (const XMLNode &, int)
 
std::shared_ptr< RouteList const > get_routes () const
 
std::shared_ptr< RTTaskListrt_tasklist ()
 
std::shared_ptr< IOTaskListio_tasklist ()
 
RouteList get_routelist (bool mixer_order=false, PresentationInfo::Flag fl=PresentationInfo::MixerRoutes) const
 
CoreSelectionselection () const
 
void get_stripables (StripableList &, PresentationInfo::Flag fl=PresentationInfo::MixerStripables) const
 
StripableList get_stripables () const
 
std::shared_ptr< RouteListget_tracks () const
 
std::shared_ptr< RouteListget_routes_with_internal_returns () const
 
std::shared_ptr< RouteListget_routes_with_regions_at (timepos_t const &) const
 
uint32_t nstripables (bool with_monitor=false) const
 
uint32_t nroutes () const
 
uint32_t ntracks () const
 
uint32_t naudiotracks () const
 
uint32_t nbusses () const
 
bool plot_process_graph (std::string const &file_name) const
 
std::shared_ptr< BundleList const > bundles ()
 
void notify_presentation_info_change (PBD::PropertyChange const &)
 
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)(std::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)
 
template<class A >
void foreach_track (void(Track::*method)(A), A arg)
 
template<class A1 , class A2 >
void foreach_track (void(Track::*method)(A1, A2), A1 arg1, A2 arg2)
 
void foreach_route (void(Route::*method)())
 
template<class A >
void foreach_route (void(Route::*method)(A), A arg)
 
template<class A1 , class A2 >
void foreach_route (void(Route::*method)(A1, A2), A1 arg1, A2 arg2)
 
bool io_name_is_legal (const std::string &) const
 
std::shared_ptr< Routeroute_by_name (std::string) const
 
std::shared_ptr< Routeroute_by_id (PBD::ID) const
 
std::shared_ptr< Stripablestripable_by_id (PBD::ID) const
 
std::shared_ptr< Stripableget_remote_nth_stripable (PresentationInfo::order_t n, PresentationInfo::Flag) const
 
std::shared_ptr< Routeget_remote_nth_route (PresentationInfo::order_t n) const
 
std::shared_ptr< Routeroute_by_selected_count (uint32_t cnt) const
 
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 (bool rt_context=false)
 
void disable_record (bool rt_context, bool force=false)
 
void step_back_from_record ()
 
void set_all_tracks_record_enabled (bool)
 
void maybe_write_autosave ()
 
void queue_event (SessionEvent *)
 
void request_roll_at_and_return (samplepos_t start, samplepos_t return_to)
 
void request_bounded_roll (samplepos_t start, samplepos_t end)
 
void request_roll (TransportRequestSource origin=TRS_UI)
 
void request_stop (bool abort=false, bool clear_state=false, TransportRequestSource origin=TRS_UI)
 
void request_locate (samplepos_t sample, bool force=false, LocateTransportDisposition ltd=RollIfAppropriate, TransportRequestSource origin=TRS_UI)
 
void request_play_loop (bool yn, bool leave_rolling=false)
 
bool get_play_loop () const
 
samplepos_t last_transport_start () const
 
void goto_end ()
 
void goto_start (bool and_roll=false)
 
void use_rf_shuttle_speed ()
 
void allow_auto_play (bool yn)
 
double default_play_speed ()
 
void reset_transport_speed (TransportRequestSource origin=TRS_UI)
 
void trigger_stop_all (bool now=true)
 
void request_transport_speed (double speed, TransportRequestSource origin=TRS_UI)
 
void request_default_play_speed (double speed, TransportRequestSource origin=TRS_UI)
 
void request_transport_speed_nonzero (double, TransportRequestSource origin=TRS_UI)
 
void request_overwrite_buffer (std::shared_ptr< Track >, OverwriteReason)
 
void adjust_playback_buffering ()
 
void adjust_capture_buffering ()
 
bool global_locate_pending () const
 
bool locate_pending () const
 
bool locate_initiated () const
 
bool declick_in_progress () const
 
bool transport_locked () const
 
bool had_destructive_tracks () const
 
void set_had_destructive_tracks (bool yn)
 
int wipe ()
 
timepos_t current_end () const
 
timepos_t current_start () const
 
samplepos_t current_end_sample () const
 
samplepos_t current_start_sample () const
 
samplecnt_t sample_rate () const
 
samplecnt_t nominal_sample_rate () const
 
samplecnt_t frames_per_hour () const
 
double samples_per_timecode_frame () const
 
samplecnt_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 (timepos_t const &start, timepos_t const &end)
 
bool session_range_is_free () const
 
void set_session_range_is_free (bool)
 
pframes_t get_block_size () const
 
samplecnt_t worst_output_latency () const
 
samplecnt_t worst_input_latency () const
 
samplecnt_t worst_route_latency () const
 
samplecnt_t io_latency () const
 
samplecnt_t worst_latency_preroll () const
 
samplecnt_t worst_latency_preroll_buffer_size_ceil () const
 
int save_as (SaveAs &)
 
int save_state (std::string snapshot_name="", bool pending=false, bool switch_to_snapshot=false, bool template_only=false, bool for_archive=false, bool only_used_assets=false)
 
int archive_session (const std::string &, const std::string &, ArchiveEncode compress_audio=FLAC_16BIT, PBD::FileArchive::CompressionLevel compression_level=PBD::FileArchive::CompressGood, bool only_used_sources=false, PBD::Progress *p=0)
 
int restore_state (std::string snapshot_name)
 
int save_template (const std::string &template_name, const std::string &description="", bool replace_existing=false)
 
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
 
bool export_track_state (std::shared_ptr< RouteList > rl, const std::string &path)
 
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)
 
RouteGroupnew_route_group (const std::string &)
 
void add_route_group (RouteGroup *)
 
void remove_route_group (RouteGroup *rg)
 
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 (std::function< void(RouteGroup *)> f)
 
std::list< RouteGroup * > const & route_groups () const
 
std::list< std::shared_ptr< AudioTrack > > new_audio_track (int input_channels, int output_channels, RouteGroup *route_group, uint32_t how_many, std::string name_template, PresentationInfo::order_t order, TrackMode mode=Normal, bool input_auto_connect=true, bool trigger_visibility=false)
 
std::list< std::shared_ptr< MidiTrack > > new_midi_track (const ChanCount &input, const ChanCount &output, bool strict_io, std::shared_ptr< PluginInfo > instrument, Plugin::PresetRecord *pset, RouteGroup *route_group, uint32_t how_many, std::string name_template, PresentationInfo::order_t, TrackMode mode, bool input_auto_connect, bool trigger_visibility=false)
 
RouteList new_audio_route (int input_channels, int output_channels, RouteGroup *route_group, uint32_t how_many, std::string name_template, PresentationInfo::Flag, PresentationInfo::order_t)
 
RouteList new_midi_route (RouteGroup *route_group, uint32_t how_many, std::string name_template, bool strict_io, std::shared_ptr< PluginInfo > instrument, Plugin::PresetRecord *, PresentationInfo::Flag, PresentationInfo::order_t)
 
void remove_routes (std::shared_ptr< RouteList >)
 
void remove_route (std::shared_ptr< Route >)
 
void resort_routes ()
 
AudioEngineengine ()
 
AudioEngine const & engine () const
 
samplepos_t transport_sample () const
 
samplepos_t record_location () const
 
samplepos_t audible_sample (bool *latent_locate=NULL) const
 
samplepos_t requested_return_sample () const
 
void set_requested_return_sample (samplepos_t return_to)
 
std::optional< samplepos_t > const & nominal_jack_transport_sample ()
 
bool compute_audible_delta (samplepos_t &pos_and_delta) const
 
samplecnt_t remaining_latency_preroll () const
 
void sync_time_vars ()
 
void timecode_to_sample (Timecode::Time &timecode, samplepos_t &sample, bool use_offset, bool use_subframes) const
 
void sample_to_timecode (samplepos_t sample, Timecode::Time &timecode, bool use_offset, bool use_subframes) const
 
void timecode_time (Timecode::Time &)
 
void timecode_time (samplepos_t when, Timecode::Time &)
 
void timecode_time_subframes (samplepos_t when, Timecode::Time &)
 
void timecode_duration (samplecnt_t, Timecode::Time &) const
 
void timecode_duration_string (char *, size_t len, samplecnt_t) const
 
samplecnt_t convert_to_samples (AnyTime const &position)
 
samplecnt_t any_duration_to_samples (samplepos_t position, AnyTime const &duration)
 
void request_sync_source (std::shared_ptr< TransportMaster >)
 
bool synced_to_engine () const
 
double engine_speed () const
 
double actual_speed () const
 
double transport_speed (bool incl_preroll=false) const
 
bool transport_stopped () const
 
bool transport_stopped_or_stopping () const
 
bool transport_state_rolling () const
 
bool transport_rolling () const
 
bool transport_will_roll_forwards () const
 
bool transport_locating () const
 
bool silent ()
 
bool punch_is_possible () const
 
bool loop_is_possible () const
 
void maybe_update_tempo_from_midiclock_tempo (float bpm)
 
unsigned int get_xrun_count () const
 
void reset_xrun_count ()
 
std::shared_ptr< Regionfind_whole_file_parent (std::shared_ptr< Region const >) const
 
std::shared_ptr< RegionXMLRegionFactory (const XMLNode &, bool full)
 
std::shared_ptr< AudioRegionXMLAudioRegionFactory (const XMLNode &, bool full)
 
std::shared_ptr< MidiRegionXMLMidiRegionFactory (const XMLNode &, bool full)
 
void deinterlace_midi_region (std::shared_ptr< MidiRegion > mr)
 
void import_files (ImportStatus &)
 
bool sample_rate_convert (ImportStatus &, std::string infile, std::string &outfile)
 
std::string build_tmp_convert_name (std::string file)
 
std::shared_ptr< ExportHandlerget_export_handler ()
 
std::shared_ptr< ExportStatusget_export_status ()
 
int start_audio_export (samplepos_t position, bool realtime=false, bool region_export=false)
 
void add_source (std::shared_ptr< Source >)
 
void remove_source (std::weak_ptr< Source >, bool drop_references=true)
 
void cleanup_regions ()
 
bool can_cleanup_peakfiles () const
 
int cleanup_peakfiles ()
 
int cleanup_sources (CleanupReport &)
 
int cleanup_trash_sources (CleanupReport &)
 
int destroy_sources (std::list< std::shared_ptr< Source > > const &)
 
int remove_last_capture ()
 
void get_last_capture_sources (std::list< std::shared_ptr< Source > > &)
 
std::shared_ptr< AudioFileSourcecreate_audio_source_for_session (size_t, std::string const &, uint32_t)
 
std::shared_ptr< MidiSourcecreate_midi_source_for_session (std::string const &)
 
std::shared_ptr< MidiSourcecreate_midi_source_by_stealing_name (std::shared_ptr< Track >)
 
std::shared_ptr< Sourcesource_by_id (const PBD::ID &)
 
std::shared_ptr< AudioFileSourceaudio_source_by_path_and_channel (const std::string &, uint16_t) const
 
std::shared_ptr< MidiSourcemidi_source_by_path (const std::string &, bool need_source_lock) const
 
uint32_t count_sources_by_origin (const std::string &)
 
void add_playlist (std::shared_ptr< Playlist >)
 
void add_automation_list (AutomationList *)
 
std::shared_ptr< Auditionerthe_auditioner ()
 
void audition_playlist ()
 
void audition_region (std::shared_ptr< Region >)
 
void cancel_audition ()
 
bool is_auditioning () const
 
void register_lua_function (const std::string &, const std::string &, const LuaScriptParamList &)
 
void unregister_lua_function (const std::string &name)
 
std::vector< std::string > registered_lua_functions ()
 
uint32_t registered_lua_function_count () const
 
void scripts_changed ()
 
void load_io_plugin (std::shared_ptr< IOPlug >)
 
bool unload_io_plugin (std::shared_ptr< IOPlug >)
 
std::shared_ptr< IOPlugnth_io_plug (uint32_t n)
 
std::shared_ptr< IOPlugList const > io_plugs () const
 
std::shared_ptr< Regionwrite_one_track (Track &, samplepos_t start, samplepos_t end, bool overwrite, std::vector< std::shared_ptr< Source > > &, InterThreadInfo &wot, std::shared_ptr< Processor > endpoint, bool include_endpoint, bool for_export, bool for_freeze, std::string const &source_name="", std::string const &region_name="")
 
int freeze_all (InterThreadInfo &)
 
bool muted () const
 
std::vector< std::weak_ptr< AutomationControl > > cancel_all_mute ()
 
bool soloing () const
 
bool listening () const
 
bool solo_isolated () const
 
void cancel_all_solo ()
 
bool solo_selection_active ()
 
void solo_selection (StripableList &, bool)
 
void clear_all_solo_state (std::shared_ptr< RouteList const >)
 
void prepare_momentary_solo (SoloMuteRelease *smr=NULL, bool exclusive=false, std::shared_ptr< Route > route=std::shared_ptr< Route >())
 
void set_controls (std::shared_ptr< AutomationControlList >, double val, PBD::Controllable::GroupControlDisposition)
 
void set_control (std::shared_ptr< AutomationControl >, double val, PBD::Controllable::GroupControlDisposition)
 
void set_exclusive_input_active (std::shared_ptr< RouteList > rt, bool onoff, bool flip_others=false)
 
int add_master_bus (ChanCount const &)
 
void reset_monitor_section ()
 
bool monitor_active () const
 
std::shared_ptr< Routemonitor_out () const
 
std::shared_ptr< Routemaster_out () const
 
std::shared_ptr< GainControlmaster_volume () const
 
std::shared_ptr< Routesurround_master () const
 
PresentationInfo::order_t master_order_key () const
 
bool ensure_stripable_sort_order ()
 
void globally_add_internal_sends (std::shared_ptr< Route > dest, Placement p, bool)
 
void globally_set_send_gains_from_track (std::shared_ptr< Route > dest)
 
void globally_set_send_gains_to_zero (std::shared_ptr< Route > dest)
 
void globally_set_send_gains_to_unity (std::shared_ptr< Route > dest)
 
void add_internal_sends (std::shared_ptr< Route > dest, Placement p, std::shared_ptr< RouteList > senders)
 
void add_internal_send (std::shared_ptr< Route >, int, std::shared_ptr< Route >)
 
void add_internal_send (std::shared_ptr< Route >, std::shared_ptr< Processor >, std::shared_ptr< Route >)
 
uint32_t next_send_id ()
 
uint32_t next_surround_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_surround_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_surround_send_id (uint32_t)
 
void unmark_aux_send_id (uint32_t)
 
void unmark_return_id (uint32_t)
 
void unmark_insert_id (uint32_t)
 
bool vapor_barrier ()
 
bool vapor_export_barrier ()
 
std::optional< samplecnt_tavailable_capture_duration ()
 
void add_bundle (std::shared_ptr< Bundle >, bool emit_signal=true)
 
void remove_bundle (std::shared_ptr< Bundle >)
 
std::shared_ptr< Bundlebundle_by_name (std::string) const
 
void midi_panic ()
 
void undo (uint32_t n)
 
void redo (uint32_t n)
 
PBD::UndoHistoryhistory ()
 
uint32_t undo_depth () const
 
uint32_t redo_depth () const
 
std::string next_undo () const
 
std::string next_redo () const
 
PBD::Commandmemento_command_factory (XMLNode *n)
 
PBD::Commandstateful_diff_command_factory (XMLNode *)
 
void register_with_memento_command_factory (PBD::ID, PBD::StatefulDestructible *)
 
std::shared_ptr< IOclick_io ()
 
std::shared_ptr< Ampclick_gain ()
 
uint32_t playback_load ()
 
uint32_t capture_load ()
 
void request_play_range (std::list< TimelineRange > *, bool leave_rolling=false)
 
void request_cancel_play_range ()
 
bool get_play_range () const
 
void maybe_update_session_range (timepos_t const &, timepos_t const &)
 
samplecnt_t preroll_samples (samplepos_t) const
 
void request_preroll_record_trim (samplepos_t start, samplecnt_t preroll)
 
void request_count_in_record ()
 
samplecnt_t preroll_record_trim_len () const
 
void set_range_selection (Temporal::timepos_t const &start, Temporal::timepos_t const &end)
 
void set_object_selection (Temporal::timepos_t const &start, Temporal::timepos_t const &end)
 
void clear_range_selection ()
 
void clear_object_selection ()
 
void cut_copy_section (Temporal::timepos_t const &start, Temporal::timepos_t const &end, Temporal::timepos_t const &to, SectionOperation const op)
 
gain_tgain_automation_buffer () const
 
gain_ttrim_automation_buffer () const
 
gain_tsend_gain_automation_buffer () const
 
gain_tscratch_automation_buffer () const
 
pan_t ** pan_automation_buffer () const
 
std::shared_ptr< Speakersget_speakers ()
 
std::shared_ptr< ARDOUR::Triggertrigger_by_id (PBD::ID) const
 
std::shared_ptr< Processorprocessor_by_id (PBD::ID) const
 
std::shared_ptr< PBD::Controllablecontrollable_by_id (const PBD::ID &)
 
std::shared_ptr< AutomationControlautomation_control_by_id (const PBD::ID &)
 
void add_controllable (std::shared_ptr< PBD::Controllable >)
 
std::shared_ptr< PBD::Controllablesolo_cut_control () const
 
std::shared_ptr< PBD::Controllablerecently_touched_controllable () const
 
bool apply_nth_mixer_scene (size_t)
 
bool apply_nth_mixer_scene (size_t, RouteList const &)
 
void store_nth_mixer_scene (size_t)
 
bool nth_mixer_scene_valid (size_t) const
 
size_t last_touched_mixer_scene_idx ()
 
std::shared_ptr< MixerScenenth_mixer_scene (size_t, bool create_if_missing=false)
 
std::vector< std::shared_ptr< MixerScene > > mixer_scenes () const
 
SessionConfigurationcfg ()
 
bool exporting () const
 
bool realtime_export () const
 
bool bounce_processing () const
 
std::shared_ptr< SessionPlaylistsplaylists () const
 
void send_mmc_locate (samplepos_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
 
std::list< std::string > missing_filesources (DataType) const
 
void set_missing_file_replacement (const std::string &mfr)
 
SceneChangerscene_changer () const
 
std::shared_ptr< Portmmc_output_port () const
 
std::shared_ptr< Portmmc_input_port () const
 
std::shared_ptr< Porttrigger_input_port () const
 
std::shared_ptr< Portscene_input_port () const
 
std::shared_ptr< Portscene_output_port () const
 
std::shared_ptr< AsyncMIDIPortvkbd_output_port () const
 
std::shared_ptr< MidiPortmidi_clock_output_port () const
 
std::shared_ptr< MidiPortmtc_output_port () const
 
std::shared_ptr< Portltc_output_port () const
 
MIDI::MachineControlmmc ()
 
void reconnect_midi_scene_ports (bool)
 
void reconnect_mmc_ports (bool)
 
void reconnect_ltc_output ()
 
VCAManagervca_manager ()
 
VCAManagervca_manager_ptr ()
 
void auto_connect_thread_wakeup ()
 
double compute_speed_from_master (pframes_t nframes)
 
bool transport_master_is_external () const
 
bool transport_master_no_external_or_using_engine () const
 
std::shared_ptr< TransportMastertransport_master () const
 
void import_pt_sources (PTFFormat &ptf, ImportStatus &status)
 
void import_pt_rest (PTFFormat &ptf)
 
bool import_sndfile_as_region (std::string path, SrcQuality quality, timepos_t &pos, SourceList &sources, ImportStatus &status, uint32_t current, uint32_t total)
 
int32_t first_cue_within (samplepos_t s, samplepos_t e, bool &was_recorded)
 
void trigger_cue_row (int32_t)
 
CueEvents const & cue_events () const
 
int num_triggerboxes () const
 
std::shared_ptr< TriggerBoxtriggerbox_at (int32_t route_index) const
 
TriggerPtr trigger_at (int32_t route_index, int32_t row_index) const
 
bool bang_trigger_at (int32_t route_index, int32_t row_index, float velocity=1.0)
 
bool unbang_trigger_at (int32_t route_index, int32_t row_index)
 
void clear_cue (int row_index)
 
void start_domain_bounce (Temporal::DomainBounceInfo &)
 
void finish_domain_bounce (Temporal::DomainBounceInfo &)
 
AnyTime global_quantization () const
 
void set_global_quantization (AnyTime const &)
 
void foreach_source (std::function< void(std::shared_ptr< Source >)> f)
 
bool playlist_is_active (std::shared_ptr< Playlist >)
 
- Public Member Functions inherited from PBD::HistoryOwner
 HistoryOwner (std::string const &name)
 
virtual ~HistoryOwner ()
 
void begin_reversible_command (const std::string &cmd_name)
 
void begin_reversible_command (GQuark)
 
void abort_reversible_command ()
 
void commit_reversible_command (PBD::Command *cmd=0)
 
void add_command (PBD::Command *const cmd)
 
PBD::StatefulDiffCommandadd_stateful_diff_command (std::shared_ptr< PBD::StatefulDestructible > sfd)
 
std::list< GQuark > const & current_operations ()
 
bool operation_in_progress (GQuark) const
 
bool collected_undo_commands () const
 
PBD::UndoTransactioncurrent_reversible_command ()
 
bool abort_empty_reversible_command ()
 
void add_commands (std::vector< PBD::Command * > const &cmds)
 
PBD::UndoHistoryundo_redo ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_change (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (PBD::Command *) const
 
virtual void rdiff (std::vector< PBD::Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::Destructible
virtual ~Destructible ()
 
virtual void drop_references ()
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from ARDOUR::SessionEventManager
 SessionEventManager ()
 
virtual ~SessionEventManager ()
 
void clear_events (SessionEvent::Type type)
 
void clear_events (SessionEvent::Type type, std::function< void(void)> after)
 
- Public Member Functions inherited from ARDOUR::TransportAPI
 TransportAPI ()
 
virtual ~TransportAPI ()
 
- Public Member Functions inherited from Temporal::TimeDomainProvider
 TimeDomainProvider ()
 
 TimeDomainProvider (TimeDomain td)
 
 TimeDomainProvider (TimeDomain td, TimeDomainProvider const &p)
 
 TimeDomainProvider (TimeDomainProvider const &other)
 
 TimeDomainProvider (TimeDomainProvider const &parnt, bool)
 
virtual ~TimeDomainProvider ()
 
XMLNodeget_state () const
 
int set_state (const XMLNode &, int version)
 
TimeDomainProvideroperator= (TimeDomainProvider const &other)
 
TimeDomain time_domain () const
 
bool has_own_time_domain () const
 
void clear_time_domain ()
 
void set_time_domain (TimeDomain td)
 
TimeDomainProvider const * time_domain_parent () const
 
bool has_time_domain_parent () const
 
void clear_time_domain_parent ()
 
void set_time_domain_parent (TimeDomainProvider const &p)
 

Static Public Member Functions

static int get_info_from_path (const std::string &xmlpath, float &sample_rate, SampleFormat &data_format, std::string &program_version, XMLNode *engine_hints=0)
 
static std::string get_snapshot_from_instant (const std::string &session_dir)
 
static unsigned int next_name_id ()
 
static const std::string session_name_is_legal (const std::string &)
 
static std::vector< std::string > possible_states (std::string path)
 
static std::string default_track_name_pattern (DataType)
 
static void set_disable_all_loaded_plugins (bool yn)
 
static bool get_disable_all_loaded_plugins ()
 
static void set_bypass_all_loaded_plugins (bool yn)
 
static bool get_bypass_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::Signal< void()> DirtyChanged
 
PBD::Signal< void()> BatchUpdateStart
 
PBD::Signal< void()> BatchUpdateEnd
 
PBD::Signal< void(int)> SurroundObjectCountChanged
 
PBD::Signal< void()> IOConnectionsComplete
 
PBD::Signal< void()> RecordStateChanged
 
PBD::Signal< void()> RecordArmStateChanged
 
PBD::Signal< void()> UpdateRouteRecordState
 
PBD::Signal< void()> SessionLoaded
 
PBD::Signal< void()> TransportStateChange
 
PBD::Signal< void(samplepos_t)> PositionChanged
 
PBD::Signal< void(samplepos_t)> Xrun
 
PBD::Signal< void()> TransportLooped
 
PBD::Signal< void()> Located
 
PBD::Signal< void(RouteList &)> RouteAdded
 
PBD::Signal< void(RouteGroup *)> RouteGroupPropertyChanged
 
PBD::Signal< void(RouteGroup *, std::weak_ptr< Route >)> RouteAddedToRouteGroup
 
PBD::Signal< void(RouteGroup *, std::weak_ptr< Route >)> RouteRemovedFromRouteGroup
 
PBD::Signal< void()> FBSendsChanged
 
PBD::Signal< void(bool)> StepEditStatusChange
 
PBD::Signal< void()> MtcOrLtcInputPortChanged
 
PBD::Signal< void(Location *)> auto_loop_location_changed
 
PBD::Signal< void(Location *)> auto_punch_location_changed
 
PBD::Signal< void()> locations_modified
 
PBD::Signal< void(bool)> LatencyUpdated
 
PBD::Signal< void(std::string)> StateSaved
 
PBD::Signal< void()> StateReady
 
PBD::Signal< void(std::string)> SaveSessionRequested
 
PBD::Signal< void()> SessionSaveUnderway
 
PBD::Signal< void(RouteGroup *)> route_group_added
 
PBD::Signal< void()> route_group_removed
 
PBD::Signal< void()> route_groups_reordered
 
PBD::Signal< void()> PunchLoopConstraintChange
 
PBD::Signal< int(samplecnt_t)> ProcessExport
 
PBD::Signal< void(bool)> AuditionActive
 
PBD::Signal< void()> LuaScriptsChanged
 
PBD::Signal< void()> IOPluginsChanged
 
PBD::Signal< void(bool)> SoloActive
 
PBD::Signal< void()> SoloChanged
 
PBD::Signal< void()> MuteChanged
 
PBD::Signal< void()> IsolatedChanged
 
PBD::Signal< void()> MonitorChanged
 
PBD::Signal< void()> MonitorBusAddedOrRemoved
 
PBD::Signal< void()> SurroundMasterAddedOrRemoved
 
PBD::Signal< void()> session_routes_reconnected
 
PBD::Signal< void()> BundleAddedOrRemoved
 
std::map< PBD::ID, PBD::StatefulDestructible * > registry
 
SessionConfiguration config
 
std::vector< struct ptflookupptfwavpair
 
SourceList pt_imported_sources
 
PBD::TimingStats dsp_stats [NTT]
 
PBD::Signal< void()> QuantizationChanged
 
PBD::Signal< void(std::weak_ptr< Source >)> SourceAdded
 
PBD::Signal< void(std::weak_ptr< Source >)> SourceRemoved
 
ARDOUR::CueMarkers pending_source_markers
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal< void(const PropertyChange &)> PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal< void()> Destroyed
 
PBD::Signal< void()> DropReferences
 
- Public Attributes inherited from Temporal::TimeDomainProvider
PBD::Signal< void()> TimeDomainChanged
 

Static Public Attributes

static PBD::Signal< void(std::string)> Dialog
 
static PBD::Signal< void(samplepos_t)> StartTimeChanged
 
static PBD::Signal< void(samplepos_t)> EndTimeChanged
 
static PBD::Signal< void(std::string, std::string, bool, samplepos_t)> Exported
 
static PBD::Signal< int(std::shared_ptr< Playlist >)> AskAboutPlaylistDeletion
 
static PBD::Signal< int(samplecnt_t, samplecnt_t)> AskAboutSampleRateMismatch
 
static PBD::Signal< void(samplecnt_t, samplecnt_t)> NotifyAboutSampleRateMismatch
 
static PBD::Signal< int()> AskAboutPendingState
 
static PBD::Signal< void()> AfterConnect
 
static const SessionEvent::RTeventCallback rt_cleanup
 
static int vst_current_loading_id
 
static const char * vst_can_do_strings []
 
static const int vst_can_do_string_count
 
static PBD::Signal< void()> SendFeedback
 
static PBD::Signal< void()> FeedbackDetected
 
static PBD::Signal< void()> SuccessfulGraphSort
 
static PBD::Signal< int(Session *, std::string, DataType)> MissingFile
 
static PBD::Signal< void()> Quit
 
static PBD::Signal< void(std::string, std::string)> VersionMismatch
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 

Protected Member Functions

void set_block_size (pframes_t nframes)
 
void set_sample_rate (samplecnt_t nframes)
 
void update_latency_compensation (bool force, bool called_from_backend)
 
void locate (samplepos_t, bool for_loop_end=false, bool force=false, bool with_mmc=true)
 
void stop_transport (bool abort=false, bool clear_state=false)
 
void start_transport (bool after_loop)
 
void butler_completed_transport_work ()
 
void post_locate ()
 
void schedule_butler_for_transport_work ()
 
bool should_roll_after_locate () const
 
bool user_roll_after_locate () const
 
bool should_stop_before_locate () const
 
samplepos_t position () const
 
void set_transport_speed (double speed)
 
void set_default_play_speed (double spd)
 
bool need_declick_before_locate () const
 
void tempo_map_changed ()
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &) const
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
bool regenerate_xml_or_string_ids () const
 
- Protected Member Functions inherited from ARDOUR::SessionEventManager
void dump_events () const
 
void merge_event (SessionEvent *)
 
void replace_event (SessionEvent::Type, samplepos_t action_sample, samplepos_t target=0)
 
bool _replace_event (SessionEvent *)
 
bool _remove_event (SessionEvent *)
 
void _clear_event_type (SessionEvent::Type)
 
void add_event (samplepos_t action_sample, SessionEvent::Type type, samplepos_t target_sample=0)
 
void remove_event (samplepos_t sample, SessionEvent::Type type)
 
- Protected Member Functions inherited from Temporal::TimeDomainProvider
void listen ()
 

Private Types

enum  TransportMasterState { Stopped , Waiting , Running }
 
enum  TransportMasterAction {
  TransportMasterRelax , TransportMasterNoRoll , TransportMasterLocate , TransportMasterStart ,
  TransportMasterStop , TransportMasterWait
}
 
enum  PunchLoopLock { NoConstraint , OnlyPunch , OnlyLoop }
 
enum  snapshot_t { NormalSave , SnapshotKeep , SwitchToSnapshot }
 
typedef void(Session::* process_function_type) (pframes_t)
 
typedef std::queue< AutoConnectRequestAutoConnectQueue
 
typedef std::function< bool()> MidiTimeoutCallback
 
typedef std::list< MidiTimeoutCallbackMidiTimeoutList
 
typedef std::list< Click * > Clicks
 
typedef std::set< std::shared_ptr< PBD::Controllable > > Controllables
 

Private Member Functions

int create (const std::string &mix_template, BusProfile const *, bool unnamed)
 
void destroy ()
 
void add_monitor_section ()
 
void remove_monitor_section ()
 
void add_surround_master ()
 
void remove_surround_master ()
 
void update_latency (bool playback)
 
void set_owned_port_public_latency (bool playback)
 
bool update_route_latency (bool reverse, bool apply_to_delayline, bool *delayline_update_needed)
 
void initialize_latencies ()
 
void set_worst_output_latency ()
 
void set_worst_input_latency ()
 
void send_latency_compensation_change ()
 
void update_send_delaylines ()
 
void setup_engine_resampling ()
 
void ensure_buffers (ChanCount howmany=ChanCount::ZERO)
 
void process_without_events (pframes_t)
 
void process_with_events (pframes_t)
 
void process_audition (pframes_t)
 
void process_export (pframes_t)
 
void process_export_fw (pframes_t)
 
samplecnt_t calc_preroll_subcycle (samplecnt_t) const
 
void block_processing ()
 
void unblock_processing ()
 
bool processing_blocked () const
 
double plan_master_strategy (pframes_t nframes, double master_speed, samplepos_t master_transport_sample, double catch_speed)
 
double plan_master_strategy_engine (pframes_t nframes, double master_speed, samplepos_t master_transport_sample, double catch_speed)
 
bool implement_master_strategy ()
 
bool follow_transport_master (pframes_t nframes)
 
void sync_source_changed (SyncSource, samplepos_t pos, pframes_t cycle_nframes)
 
int pre_export ()
 
int stop_audio_export ()
 
void finalize_audio_export (TransportRequestSource trs)
 
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)
 
bool maybe_stop (samplepos_t limit)
 
bool maybe_sync_start (pframes_t &)
 
void hookup_io ()
 
void graph_reordered (bool called_from_backend)
 
void set_snapshot_name (const std::string &)
 
void save_snapshot_name (const std::string &)
 
int load_options (const XMLNode &)
 
int load_state (std::string snapshot_name, bool from_template=false)
 
void setup_lua ()
 
void luabindings_session_rt (lua_State *)
 
void try_run_lua (pframes_t)
 
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 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 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 pre_engine_init (std::string path)
 
int post_engine_init ()
 
int immediately_post_engine ()
 
void remove_empty_sounds ()
 
void session_loaded ()
 
void setup_midi_control ()
 
int midi_read (MIDI::Port *)
 
void enable_record ()
 
void increment_transport_position (samplecnt_t val)
 
void decrement_transport_position (samplecnt_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 auto_connect_thread_run ()
 
void auto_connect_thread_start ()
 
void auto_connect_thread_terminate ()
 
void get_physical_ports (std::vector< std::string > &inputs, std::vector< std::string > &outputs, DataType type, MidiPortFlags include=MidiPortFlags(0), MidiPortFlags exclude=MidiPortFlags(0))
 
void auto_connect (const AutoConnectRequest &)
 
void queue_latency_recompute ()
 
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 (samplepos_t, samplepos_t, pframes_t nframes)
 
void ltc_tx_initialize ()
 
void ltc_tx_cleanup ()
 
void ltc_tx_reset ()
 
void ltc_tx_resync_latency (bool)
 
void ltc_tx_recalculate_position ()
 
void ltc_tx_parse_offset ()
 
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 ()
 
bool should_ignore_transport_request (TransportRequestSource, TransportRequestType)
 
void set_play_loop (bool yn, bool change_transport_state)
 
void unset_play_loop (bool change_transport_state=false)
 
void overwrite_some_buffers (std::shared_ptr< Route >, OverwriteReason)
 
void flush_all_inserts ()
 
int micro_locate (samplecnt_t distance)
 
bool punch_active () const
 
void unset_punch ()
 
void reset_punch_loop_constraint ()
 
bool maybe_allow_only_loop (bool play_loop=false)
 
bool maybe_allow_only_punch ()
 
void force_locate (samplepos_t sample, LocateTransportDisposition)
 
void realtime_stop (bool abort, bool clear_state)
 
void realtime_locate (bool)
 
void non_realtime_set_speed ()
 
void non_realtime_locate ()
 
void non_realtime_stop (bool abort, int entry_request_count, bool &finished, bool will_locate)
 
void non_realtime_overwrite (int entry_request_count, bool &finished, bool reset_loop_declicks)
 
void engine_halted ()
 
void engine_running ()
 
void xrun_recovery ()
 
void set_track_loop (bool)
 
bool select_playhead_priority_target (samplepos_t &)
 
void follow_playhead_priority ()
 
void flush_cue_recording ()
 
void mtc_tx_resync_latency (bool)
 
int send_full_time_code (samplepos_t, pframes_t nframes)
 
void send_song_position_pointer (samplepos_t)
 
int load_route_groups (const XMLNode &, int)
 
void add_routes (RouteList &, bool input_auto_connect, bool output_auto_connect, PresentationInfo::order_t)
 
void add_routes_inner (RouteList &, bool input_auto_connect, bool output_auto_connect, PresentationInfo::order_t)
 
void load_and_connect_instruments (RouteList &, bool strict_io, std::shared_ptr< PluginInfo > instrument, Plugin::PresetRecord *pset, ChanCount &existing_outputs)
 
std::shared_ptr< RouteXMLRouteFactory (const XMLNode &, int)
 
std::shared_ptr< RouteXMLRouteFactory_2X (const XMLNode &, int)
 
std::shared_ptr< RouteXMLRouteFactory_3X (const XMLNode &, int)
 
void route_processors_changed (RouteProcessorChange)
 
bool find_route_name (std::string const &, uint32_t &id, std::string &name, bool)
 
void count_existing_track_channels (ChanCount &in, ChanCount &out)
 
void auto_connect_route (std::shared_ptr< Route >, bool, bool, const ChanCount &, const ChanCount &, const ChanCount &io=ChanCount(), const ChanCount &oo=ChanCount())
 
void midi_output_change_handler (IOChange change, void *, std::weak_ptr< Route > midi_track)
 
void reassign_track_numbers ()
 
void route_listen_changed (PBD::Controllable::GroupControlDisposition, std::weak_ptr< Route >)
 
void route_mute_changed ()
 
void route_solo_changed (bool self_solo_change, PBD::Controllable::GroupControlDisposition group_override, std::weak_ptr< Route >)
 
void route_solo_isolated_changed (std::weak_ptr< Route >)
 
void update_route_solo_state (std::shared_ptr< RouteList const > r=std::shared_ptr< RouteList const >())
 
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 *, std::weak_ptr< Route >)
 
void route_removed_from_route_group (RouteGroup *, std::weak_ptr< Route >)
 
void route_group_property_changed (RouteGroup *)
 
void reset_write_sources (bool mark_write_complete)
 
int load_sources (const XMLNode &node)
 
XMLNodeget_sources_as_xml ()
 
std::shared_ptr< SourceXMLSourceFactory (const XMLNode &)
 
void remove_playlist (std::weak_ptr< Playlist >)
 
void track_playlist_changed (std::weak_ptr< Track >)
 
void playlist_region_added (std::weak_ptr< Region >)
 
void playlist_ranges_moved (std::list< Temporal::RangeMove > const &)
 
void playlist_regions_extended (std::list< Temporal::Range > const &)
 
void set_audition (std::shared_ptr< Region >)
 
void non_realtime_set_audition ()
 
int flatten_one_track (AudioTrack &, samplepos_t start, samplecnt_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, samplepos_t)
 
void process_rtop (SessionEvent *)
 
XMLNodestate (bool save_template, snapshot_t snapshot_type=NormalSave, bool for_archive=false, bool only_used_assets=false) const
 
XMLNodeget_state () const
 
int set_state (const XMLNode &node, int version)
 
XMLNodeget_template ()
 
bool maybe_copy_midifile (snapshot_t, std::shared_ptr< Source > src, XMLNode *)
 
void collect_sources_of_this_snapshot (std::set< std::shared_ptr< Source >> &, bool incl_unused=true) const
 
Clickget_click ()
 
void setup_click_sounds (int which)
 
void setup_click_sounds (Sample **, Sample const *, samplecnt_t *, samplecnt_t, std::string const &)
 
void clear_clicks ()
 
void click (samplepos_t start, samplecnt_t nframes)
 
void run_click (samplepos_t start, samplecnt_t nframes)
 
void add_click (samplepos_t pos, bool emphasis)
 
void click_io_resync_latency (bool)
 
void set_play_range (std::list< TimelineRange > &, bool leave_rolling)
 
void unset_play_range ()
 
void unset_preroll_record_trim ()
 
void auto_connect_master_bus ()
 
void auto_connect_monitor_bus ()
 
void auto_connect_surround_master ()
 
void auto_connect_io (std::shared_ptr< IO >)
 
void setup_route_monitor_sends (bool enable, bool need_process_lock)
 
void setup_route_surround_sends (bool enable, bool need_process_lock)
 
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 controllable_touched (std::weak_ptr< PBD::Controllable >)
 
void reset_native_file_format ()
 
void config_changed (std::string, bool)
 
XMLNodeget_control_protocol_state () const
 
void set_history_depth (uint32_t depth)
 
void update_route_record_state ()
 
template<typename T >
SessionEventget_rt_event (std::shared_ptr< RouteList const > rl, T targ, SessionEvent::RTeventCallback after, PBD::Controllable::GroupControlDisposition group_override, void(Session::*method)(std::shared_ptr< RouteList const >, T, PBD::Controllable::GroupControlDisposition))
 
template<typename T1 , typename T2 >
SessionEventget_rt_event (std::shared_ptr< RouteList const > rl, T1 t1arg, T2 t2arg, SessionEvent::RTeventCallback after, PBD::Controllable::GroupControlDisposition group_override, void(Session::*method)(std::shared_ptr< RouteList const >, T1, T2, PBD::Controllable::GroupControlDisposition))
 
SessionEventget_rt_event (std::shared_ptr< WeakAutomationControlList > cl, double arg, PBD::Controllable::GroupControlDisposition group_override)
 
void rt_set_controls (std::shared_ptr< WeakAutomationControlList >, double val, PBD::Controllable::GroupControlDisposition group_override)
 
void rt_clear_all_solo_state (std::shared_ptr< RouteList const >, bool yn, PBD::Controllable::GroupControlDisposition group_override)
 
void setup_midi_machine_control ()
 
void step_edit_status_change (bool)
 
void start_time_changed (samplepos_t)
 
void end_time_changed (samplepos_t)
 
void set_track_monitor_input_status (bool)
 
samplepos_t compute_stop_limit () const
 
void load_nested_sources (const XMLNode &node)
 
void resort_routes_using (std::shared_ptr< RouteList >)
 
void resort_io_plugs ()
 
bool rechain_process_graph (GraphNodeList &)
 
bool rechain_ioplug_graph (bool)
 
void ensure_route_presentation_info_gap (PresentationInfo::order_t, uint32_t gap_size)
 
void setup_ltc ()
 
void setup_click ()
 
void setup_click_state (const XMLNode *)
 
void setup_bundles ()
 
void port_registry_changed ()
 
void probe_ctrl_surfaces ()
 
void save_as_bring_callback (uint32_t, uint32_t, std::string)
 
std::shared_ptr< Routeget_midi_nth_route_by_id (PresentationInfo::order_t n) const
 
void midi_track_presentation_info_changed (PBD::PropertyChange const &, std::weak_ptr< MidiTrack >)
 
void rewire_selected_midi (std::shared_ptr< MidiTrack >)
 
void rewire_midi_selection_ports ()
 
void disconnect_port_for_rewire (std::string const &port) const
 
std::string unnamed_file_name () const
 
void setup_thread_local_variables ()
 
void cue_marker_change (Location *)
 
void sync_cues ()
 
void sync_cues_from_list (Locations::LocationList const &)
 
void maybe_find_pending_cue ()
 
void clear_active_cue ()
 
void handle_slots_empty_status (std::weak_ptr< Route > const &)
 
void time_domain_changed ()
 

Static Private Member Functions

static void init_name_id_counter (unsigned int n)
 
static unsigned int name_id_counter ()
 
static int parse_stateful_loading_version (const std::string &)
 
static void * session_loader_thread (void *arg)
 
static void * emit_thread (void *)
 
static void * auto_connect_thread (void *)
 
static int ask_about_playlist_deletion (std::shared_ptr< Playlist >)
 

Private Attributes

std::shared_ptr< SessionPlaylists_playlists
 
AudioEngine_engine
 
process_function_type process_function
 
process_function_type last_process_function
 
bool _bounce_processing_active
 
bool waiting_for_sync_offset
 
samplecnt_t _base_sample_rate
 
samplecnt_t _current_sample_rate
 
samplepos_t _transport_sample
 
std::atomic< int > _seek_counter
 
std::atomic< int > _butler_seek_counter
 
Location_session_range_location
 session range, or 0 if there is nothing in the session yet More...
 
bool _session_range_is_free
 
bool _silent
 
samplecnt_t _remaining_latency_preroll
 
size_t _last_touched_mixer_scene_idx
 
double _engine_speed
 
double _signalled_varispeed
 
bool auto_play_legal
 
samplepos_t _requested_return_sample
 
pframes_t current_block_size
 
samplecnt_t _worst_output_latency
 
samplecnt_t _worst_input_latency
 
samplecnt_t _worst_route_latency
 
samplecnt_t _io_latency
 
uint32_t _send_latency_changes
 
bool _update_send_delaylines
 
bool _have_captured
 
samplecnt_t _capture_duration
 
unsigned int _capture_xruns
 
unsigned int _export_xruns
 
bool _non_soloed_outs_muted
 
bool _listening
 
uint32_t _listen_cnt
 
uint32_t _solo_isolated_cnt
 
bool _writable
 
bool _was_seamless
 
bool _under_nsm_control
 
unsigned int _xrun_count
 
std::string _missing_file_replacement
 
std::atomic< int > _processing_prohibited
 
std::atomic< RecordState_record_status
 
std::optional< bool > _vapor_available
 
std::optional< bool > _vapor_exportable
 
ChanCount _required_thread_buffers
 
size_t _required_thread_buffersize
 
samplepos_t master_wait_end
 
TransportMasterStrategy transport_master_strategy
 
bool post_export_sync
 
samplepos_t post_export_position
 
bool _exporting
 
bool _export_rolling
 
bool _realtime_export
 
bool _region_export
 
samplepos_t _export_preroll
 
std::shared_ptr< ExportHandlerexport_handler
 
std::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 play_loop
 
bool loop_changing
 
samplepos_t last_loopend
 
const std::unique_ptr< SessionDirectory_session_dir
 
std::string _current_snapshot_name
 
XMLTreestate_tree
 
StateOfTheState _state_of_the_state
 
std::atomic< int > _suspend_save
 
volatile bool _save_queued
 
volatile bool _save_queued_pending
 
bool _no_save_signal
 
Glib::Threads::Mutex save_state_lock
 
Glib::Threads::Mutex save_source_lock
 
Glib::Threads::Mutex peak_cleanup_lock
 
samplepos_t _last_roll_location
 
samplepos_t _last_roll_or_reversal_location
 
samplepos_t _last_record_location
 
bool pending_abort
 
bool pending_auto_loop
 
PBD::ReallocPool _mempool
 
LuaState lua
 
Glib::Threads::Mutex lua_lock
 
luabridge::LuaRef * _lua_run
 
luabridge::LuaRef * _lua_add
 
luabridge::LuaRef * _lua_del
 
luabridge::LuaRef * _lua_list
 
luabridge::LuaRef * _lua_load
 
luabridge::LuaRef * _lua_save
 
luabridge::LuaRef * _lua_cleanup
 
uint32_t _n_lua_scripts
 
SerializedRCUManager< IOPlugList_io_plugins
 
std::vector< std::shared_ptr< MixerScene > > _mixer_scenes
 
Glib::Threads::RWLock _mixer_scenes_lock
 
Butler_butler
 
TransportFSM_transport_fsm
 
std::atomic< PostTransportWork_post_transport_work
 
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
 
pthread_t _auto_connect_thread
 
std::atomic< int > _ac_thread_active
 
pthread_mutex_t _auto_connect_mutex
 
pthread_cond_t _auto_connect_cond
 
Glib::Threads::Mutex _update_latency_lock
 
Glib::Threads::Mutex _auto_connect_queue_lock
 
AutoConnectQueue _auto_connect_queue
 
std::atomic< unsigned int > _latency_recompute_pending
 
int64_t _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 _samples_per_timecode_frame
 
samplecnt_t _frames_per_hour
 
samplecnt_t _timecode_frames_per_hour
 
bool last_timecode_valid
 
samplepos_t last_timecode_when
 
Timecode::Time last_timecode
 
bool _send_timecode_update
 Flag to send a full sample (Timecode) MTC message this cycle. More...
 
LTCEncoderltc_encoder
 
ltcsnd_sample_tltc_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
 
samplepos_t ltc_enc_pos
 
double ltc_enc_cnt
 
samplepos_t ltc_enc_off
 
bool restarting
 
samplepos_t ltc_prev_cycle
 
samplepos_t ltc_timecode_offset
 
bool ltc_timecode_negative_offset
 
LatencyRange ltc_out_latency
 
LatencyRange mtc_out_latency
 
PBD::ScopedConnectionList ltc_tx_connections
 
MidiControlUImidi_control_ui
 
std::atomic< PunchLoopLock_punch_or_loop
 
std::atomic< int > _current_usecs_per_track
 
std::list< RouteGroup * > _route_groups
 
RouteGroup_all_route_group
 
SerializedRCUManager< RouteListroutes
 
bool _adding_routes_in_progress
 
bool _reconnecting_routes_in_progress
 
bool _route_deletion_in_progress
 
bool _route_reorder_in_progress
 
uint32_t _track_number_decimals
 
Glib::Threads::Mutex region_lock
 
Glib::Threads::Mutex source_lock
 
SourceMap sources
 
std::map< PBD::ID, AutomationList * > automation_lists
 
std::map< PBD::ID, std::string > _diskstreams_2X
 
float default_fade_steepness
 
float default_fade_msecs
 
std::shared_ptr< Auditionerauditioner
 
std::shared_ptr< Regionpending_audition_region
 
boost::dynamic_bitset< uint32_t > send_bitset
 
boost::dynamic_bitset< uint32_t > surround_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
 
uint64_t _total_free_4k_blocks
 
bool _total_free_4k_blocks_uncertain
 
Glib::Threads::Mutex space_lock
 
bool no_questions_about_missing_files
 
std::atomic< int > _playback_load
 
std::atomic< int > _capture_load
 
SerializedRCUManager< BundleList_bundles
 
XMLNode_bundle_xml_node
 
Clicks clicks
 
bool _clicking
 
bool _click_rec_only
 
std::shared_ptr< IO_click_io
 
std::shared_ptr< Amp_click_gain
 
Sampleclick_data
 
Sampleclick_emphasis_data
 
samplecnt_t click_length
 
samplecnt_t click_emphasis_length
 
Glib::Threads::RWLock click_lock
 
samplecnt_t _click_io_latency
 
PBD::ScopedConnection _click_io_connection
 
Temporal::GridIterator _click_iterator
 
samplepos_t _clicks_cleared
 
samplecnt_t _count_in_samples
 
std::list< TimelineRangecurrent_audio_range
 
bool _play_range
 
Temporal::Range _range_selection
 
Temporal::Range _object_selection
 
samplecnt_t _preroll_record_trim_len
 
bool _count_in_once
 
uint32_t main_outs
 
std::shared_ptr< Route_master_out
 
std::shared_ptr< Route_monitor_out
 
std::shared_ptr< Route_surround_master
 
Glib::Threads::Mutex controllables_lock
 
Controllables controllables
 
std::shared_ptr< PBD::Controllable_solo_cut_control
 
std::weak_ptr< PBD::Controllable_recently_touched_controllable
 
bool first_file_data_format_reset
 
bool first_file_header_format_reset
 
bool have_looped
 Used in audible_sample. More...
 
std::atomic< int > _have_rec_enabled_track
 
std::atomic< int > _have_rec_disabled_track
 
uint32_t _step_editors
 
std::atomic< int > _suspend_timecode_transmission
 
std::shared_ptr< Speakers_speakers
 
GraphEdges _current_route_graph
 
std::shared_ptr< Graph_process_graph
 
std::shared_ptr< GraphChain_graph_chain
 
std::shared_ptr< GraphChain_io_graph_chain [2]
 
std::atomic< int > _ignore_route_processor_changes
 
std::atomic< int > _ignored_a_processor_change
 
MidiClockTickermidi_clock
 
std::shared_ptr< Port_ltc_output_port
 
std::shared_ptr< RTTaskList_rt_tasklist
 
std::shared_ptr< IOTaskList_io_tasklist
 
SceneChanger_scene_changer
 
MidiPortManager_midi_ports
 
MIDI::MachineControl_mmc
 
std::string _template_state_dir
 
VCAManager_vca_manager
 
std::string created_with
 
std::string modified_with
 
std::weak_ptr< MidiTrackcurrent_midi_target
 
StripableList _soloSelection
 
CoreSelection_selection
 
bool _global_locate_pending
 
std::optional< samplepos_t_nominal_jack_transport_sample
 
bool _had_destructive_tracks
 
std::atomic< int > _update_pretty_names
 
CueEvents _cue_events
 
std::atomic< int32_t > _pending_cue
 
std::atomic< int32_t > _active_cue
 
int tb_with_filled_slots
 
AnyTime _global_quantization
 

Static Private Attributes

static std::atomic< unsigned int > _name_id_counter
 
static const samplecnt_t bounce_chunk_size
 
static const PostTransportWork ProcessCannotProceedMask = PostTransportWork (PostTransportAudition)
 
static const Sample default_click []
 
static const samplecnt_t default_click_length
 
static const Sample default_click_emphasis []
 
static const samplecnt_t default_click_emphasis_length
 
static bool _disable_all_loaded_plugins
 
static bool _bypass_all_loaded_plugins
 
static const uint32_t session_end_shift
 

Friends

class AudioEngine
 
class Route
 
class StateProtector
 
class PortManager
 
class IOPlug
 
class ProcessorChangeBlocker
 

Additional Inherited Members

- Protected Types inherited from ARDOUR::SessionEventManager
typedef std::list< SessionEvent * > Events
 
- Protected Attributes inherited from PBD::HistoryOwner
std::string _name
 
PBD::UndoHistory _history
 
PBD::UndoTransaction_current_trans
 
std::list< GQuark > _current_trans_quarks
 
- 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
PBD::RingBuffer< SessionEvent * > pending_events
 
Events events
 
Events immediate_events
 
Events::iterator next_event
 
Glib::Threads::Mutex rb_write_lock
 
SessionEventauto_loop_event
 
SessionEventpunch_out_event
 
SessionEventpunch_in_event
 

Detailed Description

Ardour Session

Definition at line 205 of file session.h.

Member Typedef Documentation

◆ AutoConnectQueue

Definition at line 1742 of file session.h.

◆ Clicks

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

Definition at line 2104 of file session.h.

◆ Controllables

typedef std::set<std::shared_ptr<PBD::Controllable> > ARDOUR::Session::Controllables
private

Definition at line 2172 of file session.h.

◆ MidiTimeoutCallback

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

Definition at line 1783 of file session.h.

◆ MidiTimeoutList

Definition at line 1784 of file session.h.

◆ process_function_type

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

Definition at line 1387 of file session.h.

◆ SourceMap

typedef std::map<PBD::ID,std::shared_ptr<Source> > ARDOUR::Session::SourceMap

Definition at line 1972 of file session.h.

Member Enumeration Documentation

◆ ArchiveEncode

Enumerator
NO_ENCODE 
FLAC_16BIT 
FLAC_24BIT 

Definition at line 610 of file session.h.

◆ PostTransportWork

Enumerator
PostTransportStop 
PostTransportLocate 
PostTransportAbort 
PostTransportOverWrite 
PostTransportAudition 
PostTransportReverse 
PostTransportClearSubstate 
PostTransportAdjustPlaybackBuffering 
PostTransportAdjustCaptureBuffering 
PostTransportLoopChanged 

Definition at line 1201 of file session.h.

◆ PullupFormat

Enumerator
pullup_Plus4Plus1 
pullup_Plus4 
pullup_Plus4Minus1 
pullup_Plus1 
pullup_None 
pullup_Minus1 
pullup_Minus4Plus1 
pullup_Minus4 
pullup_Minus4Minus1 

Definition at line 776 of file session.h.

◆ PunchLoopLock

Enumerator
NoConstraint 
OnlyPunch 
OnlyLoop 

Definition at line 1860 of file session.h.

◆ snapshot_t

Enumerator
NormalSave 
SnapshotKeep 
SwitchToSnapshot 

Definition at line 2084 of file session.h.

◆ StateOfTheState

Enumerator
Clean 
Dirty 
CannotSave 
Deletion 
InitialConnecting 
Loading 
InCleanup 
PeakCleanup 

Definition at line 661 of file session.h.

◆ TimingTypes

Enumerator
OverallProcess 
ProcessFunction 
NoRoll 
Roll 
NTT 

Definition at line 1319 of file session.h.

◆ TransportMasterAction

Enumerator
TransportMasterRelax 
TransportMasterNoRoll 
TransportMasterLocate 
TransportMasterStart 
TransportMasterStop 
TransportMasterWait 

Definition at line 1485 of file session.h.

◆ TransportMasterState

Enumerator
Stopped 
Waiting 
Running 

Definition at line 1477 of file session.h.

Constructor & Destructor Documentation

◆ Session()

ARDOUR::Session::Session ( AudioEngine ,
const std::string &  fullpath,
const std::string &  snapshot_name,
BusProfile const *  bus_profile = 0,
std::string  mix_template = "",
bool  unnamed = false,
samplecnt_t  samplerate = 0 
)

◆ ~Session()

virtual ARDOUR::Session::~Session ( )
virtual

Member Function Documentation

◆ _locations_changed()

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

◆ _sync_locations_to_skips()

void ARDOUR::Session::_sync_locations_to_skips ( )
private

◆ actively_recording()

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

Definition at line 406 of file session.h.

◆ actual_speed()

double ARDOUR::Session::actual_speed ( ) const

◆ add_automation_list()

void ARDOUR::Session::add_automation_list ( AutomationList )

◆ add_bundle()

void ARDOUR::Session::add_bundle ( std::shared_ptr< Bundle ,
bool  emit_signal = true 
)

◆ add_click()

void ARDOUR::Session::add_click ( samplepos_t  pos,
bool  emphasis 
)
private

◆ add_controllable()

void ARDOUR::Session::add_controllable ( std::shared_ptr< PBD::Controllable )

◆ add_instant_xml()

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

The instant xml file is written to the session directory.

◆ add_internal_send() [1/2]

void ARDOUR::Session::add_internal_send ( std::shared_ptr< Route ,
int  ,
std::shared_ptr< Route  
)

◆ add_internal_send() [2/2]

void ARDOUR::Session::add_internal_send ( std::shared_ptr< Route ,
std::shared_ptr< Processor ,
std::shared_ptr< Route  
)

◆ add_internal_sends()

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

◆ add_master_bus()

int ARDOUR::Session::add_master_bus ( ChanCount const &  )

◆ add_monitor_section()

void ARDOUR::Session::add_monitor_section ( )
private

◆ add_playlist()

void ARDOUR::Session::add_playlist ( std::shared_ptr< Playlist )

◆ add_post_transport_work()

void ARDOUR::Session::add_post_transport_work ( PostTransportWork  ptw)
private

◆ add_route_group()

void ARDOUR::Session::add_route_group ( RouteGroup )

◆ add_routes()

void ARDOUR::Session::add_routes ( RouteList ,
bool  input_auto_connect,
bool  output_auto_connect,
PresentationInfo::order_t   
)
private

◆ add_routes_inner()

void ARDOUR::Session::add_routes_inner ( RouteList ,
bool  input_auto_connect,
bool  output_auto_connect,
PresentationInfo::order_t   
)
private

◆ add_source()

void ARDOUR::Session::add_source ( std::shared_ptr< Source )

◆ add_surround_master()

void ARDOUR::Session::add_surround_master ( )
private

◆ adjust_capture_buffering()

void ARDOUR::Session::adjust_capture_buffering ( )

◆ adjust_playback_buffering()

void ARDOUR::Session::adjust_playback_buffering ( )

◆ all_route_group()

RouteGroup& ARDOUR::Session::all_route_group ( ) const

◆ allow_auto_play()

void ARDOUR::Session::allow_auto_play ( bool  yn)

◆ analysis_dir()

std::string ARDOUR::Session::analysis_dir ( ) const

Analysis data.

◆ any_duration_to_samples()

samplecnt_t ARDOUR::Session::any_duration_to_samples ( samplepos_t  position,
AnyTime const &  duration 
)

◆ apply_nth_mixer_scene() [1/2]

bool ARDOUR::Session::apply_nth_mixer_scene ( size_t  )

◆ apply_nth_mixer_scene() [2/2]

bool ARDOUR::Session::apply_nth_mixer_scene ( size_t  ,
RouteList const &   
)

◆ archive_session()

int ARDOUR::Session::archive_session ( const std::string &  ,
const std::string &  ,
ArchiveEncode  compress_audio = FLAC_16BIT,
PBD::FileArchive::CompressionLevel  compression_level = PBD::FileArchive::CompressGood,
bool  only_used_sources = false,
PBD::Progress p = 0 
)

◆ ask_about_playlist_deletion()

static int ARDOUR::Session::ask_about_playlist_deletion ( std::shared_ptr< Playlist )
staticprivate

◆ audible_sample()

samplepos_t ARDOUR::Session::audible_sample ( bool *  latent_locate = NULL) const

◆ audio_source_by_path_and_channel()

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

◆ audio_source_name_is_unique()

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

◆ audition_playlist()

void ARDOUR::Session::audition_playlist ( )

◆ audition_region()

void ARDOUR::Session::audition_region ( std::shared_ptr< Region )

◆ auto_connect()

void ARDOUR::Session::auto_connect ( const AutoConnectRequest )
private

◆ auto_connect_io()

void ARDOUR::Session::auto_connect_io ( std::shared_ptr< IO )
private

◆ auto_connect_master_bus()

void ARDOUR::Session::auto_connect_master_bus ( )
private

◆ auto_connect_monitor_bus()

void ARDOUR::Session::auto_connect_monitor_bus ( )
private

◆ auto_connect_route()

void ARDOUR::Session::auto_connect_route ( std::shared_ptr< Route ,
bool  ,
bool  ,
const ChanCount ,
const ChanCount ,
const ChanCount io = ChanCount(),
const ChanCount oo = ChanCount() 
)
private

◆ auto_connect_surround_master()

void ARDOUR::Session::auto_connect_surround_master ( )
private

◆ auto_connect_thread()

static void* ARDOUR::Session::auto_connect_thread ( void *  )
staticprivate

◆ auto_connect_thread_run()

void ARDOUR::Session::auto_connect_thread_run ( )
private

◆ auto_connect_thread_start()

void ARDOUR::Session::auto_connect_thread_start ( )
private

◆ auto_connect_thread_terminate()

void ARDOUR::Session::auto_connect_thread_terminate ( )
private

◆ auto_connect_thread_wakeup()

void ARDOUR::Session::auto_connect_thread_wakeup ( )

◆ auto_loop_changed()

void ARDOUR::Session::auto_loop_changed ( Location )
private

◆ auto_punch_changed()

void ARDOUR::Session::auto_punch_changed ( Location )
private

◆ auto_punch_end_changed()

void ARDOUR::Session::auto_punch_end_changed ( Location )
private

◆ auto_punch_start_changed()

void ARDOUR::Session::auto_punch_start_changed ( Location )
private

◆ automation_control_by_id()

std::shared_ptr<AutomationControl> ARDOUR::Session::automation_control_by_id ( const PBD::ID )

◆ automation_dir()

std::string ARDOUR::Session::automation_dir ( ) const

Automation data.

◆ available_capture_duration()

std::optional<samplecnt_t> ARDOUR::Session::available_capture_duration ( )

◆ backend_sync_callback()

int ARDOUR::Session::backend_sync_callback ( TransportState  ,
samplepos_t   
)
private

◆ bang_trigger_at()

bool ARDOUR::Session::bang_trigger_at ( int32_t  route_index,
int32_t  row_index,
float  velocity = 1.0 
)

◆ block_processing()

void ARDOUR::Session::block_processing ( )
private

◆ bounce_processing()

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

Definition at line 1192 of file session.h.

◆ bring_all_sources_into_session()

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

◆ build_tmp_convert_name()

std::string ARDOUR::Session::build_tmp_convert_name ( std::string  file)

◆ bundle_by_name()

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

◆ bundles()

std::shared_ptr<BundleList const> ARDOUR::Session::bundles ( )
inline

Definition at line 363 of file session.h.

◆ butler()

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

Definition at line 325 of file session.h.

◆ butler_completed_transport_work()

void ARDOUR::Session::butler_completed_transport_work ( )
protectedvirtual

Implements ARDOUR::TransportAPI.

◆ butler_transport_work()

void ARDOUR::Session::butler_transport_work ( bool  have_process_lock = false)

◆ calc_preroll_subcycle()

samplecnt_t ARDOUR::Session::calc_preroll_subcycle ( samplecnt_t  ) const
private

◆ can_cleanup_peakfiles()

bool ARDOUR::Session::can_cleanup_peakfiles ( ) const

◆ cancel_all_mute()

std::vector<std::weak_ptr<AutomationControl> > ARDOUR::Session::cancel_all_mute ( )

◆ cancel_all_solo()

void ARDOUR::Session::cancel_all_solo ( )

◆ cancel_audition()

void ARDOUR::Session::cancel_audition ( )

◆ cannot_save()

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

Definition at line 255 of file session.h.

◆ capture_duration()

samplecnt_t ARDOUR::Session::capture_duration ( ) const
inline

Definition at line 320 of file session.h.

◆ capture_load()

uint32_t ARDOUR::Session::capture_load ( )

◆ capture_xruns()

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

Definition at line 321 of file session.h.

◆ cfg()

SessionConfiguration* ARDOUR::Session::cfg ( )
inline

Definition at line 1182 of file session.h.

◆ cleanup_event()

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

◆ cleanup_peakfiles()

int ARDOUR::Session::cleanup_peakfiles ( )

◆ cleanup_regions()

void ARDOUR::Session::cleanup_regions ( )

◆ cleanup_sources()

int ARDOUR::Session::cleanup_sources ( CleanupReport )

◆ cleanup_trash_sources()

int ARDOUR::Session::cleanup_trash_sources ( CleanupReport )

◆ clear_active_cue()

void ARDOUR::Session::clear_active_cue ( )
private

◆ clear_all_solo_state()

void ARDOUR::Session::clear_all_solo_state ( std::shared_ptr< RouteList const >  )

◆ clear_clicks()

void ARDOUR::Session::clear_clicks ( )
private

◆ clear_cue()

void ARDOUR::Session::clear_cue ( int  row_index)

◆ clear_deletion_in_progress()

void ARDOUR::Session::clear_deletion_in_progress ( )

◆ clear_object_selection()

void ARDOUR::Session::clear_object_selection ( )

◆ clear_range_selection()

void ARDOUR::Session::clear_range_selection ( )

◆ click()

void ARDOUR::Session::click ( samplepos_t  start,
samplecnt_t  nframes 
)
private

◆ click_gain()

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

Definition at line 1095 of file session.h.

◆ click_io()

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

Definition at line 1094 of file session.h.

◆ click_io_resync_latency()

void ARDOUR::Session::click_io_resync_latency ( bool  )
private

◆ collect_sources_of_this_snapshot()

void ARDOUR::Session::collect_sources_of_this_snapshot ( std::set< std::shared_ptr< Source >> &  ,
bool  incl_unused = true 
) const
private

◆ compute_audible_delta()

bool ARDOUR::Session::compute_audible_delta ( samplepos_t pos_and_delta) const

◆ compute_speed_from_master()

double ARDOUR::Session::compute_speed_from_master ( pframes_t  nframes)

◆ compute_stop_limit()

samplepos_t ARDOUR::Session::compute_stop_limit ( ) const
private

◆ config_changed()

void ARDOUR::Session::config_changed ( std::string  ,
bool   
)
private

◆ consolidate_skips()

void ARDOUR::Session::consolidate_skips ( Location )
private

◆ construct_peak_filepath()

std::string ARDOUR::Session::construct_peak_filepath ( const std::string &  audio_path,
const bool  in_session = false,
const bool  old_peak_name = false 
) const

◆ controllable_by_id()

std::shared_ptr<PBD::Controllable> ARDOUR::Session::controllable_by_id ( const PBD::ID )

◆ controllable_touched()

void ARDOUR::Session::controllable_touched ( std::weak_ptr< PBD::Controllable )
private

◆ convert_to_samples()

samplecnt_t ARDOUR::Session::convert_to_samples ( AnyTime const &  position)

◆ count_existing_track_channels()

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

◆ count_sources_by_origin()

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

◆ create()

int ARDOUR::Session::create ( const std::string &  mix_template,
BusProfile const *  ,
bool  unnamed 
)
private

◆ create_audio_source_for_session()

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

◆ create_midi_source_by_stealing_name()

std::shared_ptr<MidiSource> ARDOUR::Session::create_midi_source_by_stealing_name ( std::shared_ptr< Track )

◆ create_midi_source_for_session()

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

◆ cue_events()

CueEvents const& ARDOUR::Session::cue_events ( ) const
inline

Definition at line 1332 of file session.h.

◆ cue_marker_change()

void ARDOUR::Session::cue_marker_change ( Location )
private

◆ current_end()

timepos_t ARDOUR::Session::current_end ( ) const

◆ current_end_sample()

samplepos_t ARDOUR::Session::current_end_sample ( ) const

◆ current_start()

timepos_t ARDOUR::Session::current_start ( ) const

◆ current_start_sample()

samplepos_t ARDOUR::Session::current_start_sample ( ) const

◆ cut_copy_section()

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

◆ declick_in_progress()

bool ARDOUR::Session::declick_in_progress ( ) const

◆ decrement_transport_position()

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

Definition at line 1676 of file session.h.

◆ default_play_speed()

double ARDOUR::Session::default_play_speed ( )

◆ default_track_name_pattern()

static std::string ARDOUR::Session::default_track_name_pattern ( DataType  )
static

◆ deinterlace_midi_region()

void ARDOUR::Session::deinterlace_midi_region ( std::shared_ptr< MidiRegion mr)

◆ deletion_in_progress()

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

Definition at line 252 of file session.h.

◆ destroy()

void ARDOUR::Session::destroy ( )
private

◆ destroy_sources()

int ARDOUR::Session::destroy_sources ( std::list< std::shared_ptr< Source > > const &  )

◆ dirty()

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

Definition at line 251 of file session.h.

◆ disable_record()

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

◆ disconnect_port_for_rewire()

void ARDOUR::Session::disconnect_port_for_rewire ( std::string const &  port) const
private

◆ do_work()

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

◆ emit_route_signals()

void ARDOUR::Session::emit_route_signals ( )
private

◆ emit_thread()

static void* ARDOUR::Session::emit_thread ( void *  )
staticprivate

◆ emit_thread_run()

void ARDOUR::Session::emit_thread_run ( )
private

◆ emit_thread_start()

void ARDOUR::Session::emit_thread_start ( )
private

◆ emit_thread_terminate()

void ARDOUR::Session::emit_thread_terminate ( )
private

◆ enable_record()

void ARDOUR::Session::enable_record ( )
private

◆ end_time_changed()

void ARDOUR::Session::end_time_changed ( samplepos_t  )
private

◆ end_unnamed_status()

void ARDOUR::Session::end_unnamed_status ( ) const

◆ engine() [1/2]

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

Definition at line 759 of file session.h.

◆ engine() [2/2]

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

Definition at line 760 of file session.h.

◆ engine_halted()

void ARDOUR::Session::engine_halted ( )
private

◆ engine_running()

void ARDOUR::Session::engine_running ( )
private

◆ engine_speed()

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

Definition at line 808 of file session.h.

◆ ensure_buffers()

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

◆ ensure_buffers_unlocked()

void ARDOUR::Session::ensure_buffers_unlocked ( ChanCount  howmany)

◆ ensure_route_presentation_info_gap()

void ARDOUR::Session::ensure_route_presentation_info_gap ( PresentationInfo::order_t  ,
uint32_t  gap_size 
)
private

◆ ensure_search_path_includes()

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

◆ ensure_stripable_sort_order()

bool ARDOUR::Session::ensure_stripable_sort_order ( )

◆ ensure_subdirs()

int ARDOUR::Session::ensure_subdirs ( )

◆ export_track_state()

bool ARDOUR::Session::export_track_state ( std::shared_ptr< RouteList rl,
const std::string &  path 
)

◆ export_xruns()

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

Definition at line 322 of file session.h.

◆ exporting()

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

Definition at line 1184 of file session.h.

◆ externals_dir()

std::string ARDOUR::Session::externals_dir ( ) const

Links to external files.

◆ fail_roll()

int ARDOUR::Session::fail_roll ( pframes_t  nframes)
private

◆ finalize_audio_export()

void ARDOUR::Session::finalize_audio_export ( TransportRequestSource  trs)
private

◆ finalize_export_internal()

void ARDOUR::Session::finalize_export_internal ( bool  stop_freewheel)
private

◆ find_all_sources()

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

◆ find_all_sources_across_snapshots()

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

◆ find_route_name()

bool ARDOUR::Session::find_route_name ( std::string const &  ,
uint32_t &  id,
std::string &  name,
bool   
)
private

◆ find_whole_file_parent()

std::shared_ptr<Region> ARDOUR::Session::find_whole_file_parent ( std::shared_ptr< Region const >  ) const

◆ finish_domain_bounce()

void ARDOUR::Session::finish_domain_bounce ( Temporal::DomainBounceInfo )

◆ first_cue_within()

int32_t ARDOUR::Session::first_cue_within ( samplepos_t  s,
samplepos_t  e,
bool &  was_recorded 
)

◆ flatten_one_track()

int ARDOUR::Session::flatten_one_track ( AudioTrack ,
samplepos_t  start,
samplecnt_t  cnt 
)
private

◆ flush_all_inserts()

void ARDOUR::Session::flush_all_inserts ( )
private

◆ flush_cue_recording()

void ARDOUR::Session::flush_cue_recording ( )
private

◆ follow_playhead_priority()

void ARDOUR::Session::follow_playhead_priority ( )
private

◆ follow_transport_master()

bool ARDOUR::Session::follow_transport_master ( pframes_t  nframes)
private

◆ force_locate()

void ARDOUR::Session::force_locate ( samplepos_t  sample,
LocateTransportDisposition   
)
private

◆ foreach_route() [1/6]

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

Definition at line 34 of file session_route.h.

◆ foreach_route() [2/6]

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

Definition at line 64 of file session_route.h.

◆ foreach_route() [3/6]

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

Definition at line 49 of file session_route.h.

◆ foreach_route() [4/6]

void ARDOUR::Session::foreach_route ( void(Route::*)()  method)

◆ foreach_route() [5/6]

template<class A >
void ARDOUR::Session::foreach_route ( void(Route::*)(A)  method,
arg 
)

Definition at line 106 of file session_route.h.

◆ foreach_route() [6/6]

template<class A1 , class A2 >
void ARDOUR::Session::foreach_route ( void(Route::*)(A1, A2)  method,
A1  arg1,
A2  arg2 
)

Definition at line 115 of file session_route.h.

◆ foreach_route_group()

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

Definition at line 716 of file session.h.

◆ foreach_source()

void ARDOUR::Session::foreach_source ( std::function< void(std::shared_ptr< Source >)>  f)
inline

Definition at line 1974 of file session.h.

◆ foreach_track() [1/2]

template<class A >
void ARDOUR::Session::foreach_track ( void(Track::*)(A)  method,
arg 
)

Definition at line 80 of file session_route.h.

◆ foreach_track() [2/2]

template<class A1 , class A2 >
void ARDOUR::Session::foreach_track ( void(Track::*)(A1, A2)  method,
A1  arg1,
A2  arg2 
)

Definition at line 93 of file session_route.h.

◆ format_audio_source_name()

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

◆ frames_per_hour()

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

Definition at line 528 of file session.h.

◆ freeze_all()

int ARDOUR::Session::freeze_all ( InterThreadInfo )

◆ gain_automation_buffer()

gain_t* ARDOUR::Session::gain_automation_buffer ( ) const

◆ get_best_session_directory_for_new_audio()

std::string ARDOUR::Session::get_best_session_directory_for_new_audio ( )
private

◆ get_block_size()

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

Definition at line 554 of file session.h.

◆ get_bypass_all_loaded_plugins()

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

Definition at line 1029 of file session.h.

◆ get_click()

Click* ARDOUR::Session::get_click ( )
private

◆ get_control_protocol_state()

XMLNode& ARDOUR::Session::get_control_protocol_state ( ) const
private

◆ get_disable_all_loaded_plugins()

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

Definition at line 1023 of file session.h.

◆ get_export_handler()

std::shared_ptr<ExportHandler> ARDOUR::Session::get_export_handler ( )

◆ get_export_status()

std::shared_ptr<ExportStatus> ARDOUR::Session::get_export_status ( )

◆ get_info_from_path()

static int ARDOUR::Session::get_info_from_path ( const std::string &  xmlpath,
float &  sample_rate,
SampleFormat data_format,
std::string &  program_version,
XMLNode engine_hints = 0 
)
static

◆ get_last_capture_sources()

void ARDOUR::Session::get_last_capture_sources ( std::list< std::shared_ptr< Source > > &  )

◆ get_midi_nth_route_by_id()

std::shared_ptr<Route> ARDOUR::Session::get_midi_nth_route_by_id ( PresentationInfo::order_t  n) const
private

◆ get_mix_buffers()

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

◆ get_mtc_timecode_bits()

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

Definition at line 533 of file session.h.

◆ get_noinplace_buffers()

BufferSet& ARDOUR::Session::get_noinplace_buffers ( ChanCount  count = ChanCount::ZERO)

◆ get_nsm_state()

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

Definition at line 630 of file session.h.

◆ get_paths_for_new_sources()

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

◆ get_physical_ports()

void ARDOUR::Session::get_physical_ports ( std::vector< std::string > &  inputs,
std::vector< std::string > &  outputs,
DataType  type,
MidiPortFlags  include = MidiPortFlags(0),
MidiPortFlags  exclude = MidiPortFlags(0) 
)
private

◆ get_play_loop()

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

Definition at line 489 of file session.h.

◆ get_play_range()

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

Definition at line 1106 of file session.h.

◆ get_record_enabled()

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

Definition at line 398 of file session.h.

◆ get_remote_nth_route()

std::shared_ptr<Route> ARDOUR::Session::get_remote_nth_route ( PresentationInfo::order_t  n) const

◆ get_remote_nth_stripable()

std::shared_ptr<Stripable> ARDOUR::Session::get_remote_nth_stripable ( PresentationInfo::order_t  n,
PresentationInfo::Flag   
) const

◆ get_route_buffers()

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

◆ get_routelist()

RouteList ARDOUR::Session::get_routelist ( bool  mixer_order = false,
PresentationInfo::Flag  fl = PresentationInfo::MixerRoutes 
) const

◆ get_routes()

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

Definition at line 331 of file session.h.

◆ get_routes_with_internal_returns()

std::shared_ptr<RouteList> ARDOUR::Session::get_routes_with_internal_returns ( ) const

◆ get_routes_with_regions_at()

std::shared_ptr<RouteList> ARDOUR::Session::get_routes_with_regions_at ( timepos_t const &  ) const

◆ get_rt_event() [1/3]

template<typename T >
SessionEvent* ARDOUR::Session::get_rt_event ( std::shared_ptr< RouteList const >  rl,
targ,
SessionEvent::RTeventCallback  after,
PBD::Controllable::GroupControlDisposition  group_override,
void(Session::*)(std::shared_ptr< RouteList const >, T, PBD::Controllable::GroupControlDisposition method 
)
inlineprivate

Definition at line 2204 of file session.h.

◆ get_rt_event() [2/3]

template<typename T1 , typename T2 >
SessionEvent* ARDOUR::Session::get_rt_event ( std::shared_ptr< RouteList const >  rl,
T1  t1arg,
T2  t2arg,
SessionEvent::RTeventCallback  after,
PBD::Controllable::GroupControlDisposition  group_override,
void(Session::*)(std::shared_ptr< RouteList const >, T1, T2, PBD::Controllable::GroupControlDisposition method 
)
inlineprivate

Definition at line 2216 of file session.h.

◆ get_rt_event() [3/3]

SessionEvent* ARDOUR::Session::get_rt_event ( std::shared_ptr< WeakAutomationControlList cl,
double  arg,
PBD::Controllable::GroupControlDisposition  group_override 
)
inlineprivate

Definition at line 2227 of file session.h.

◆ get_scratch_buffers()

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

◆ get_silent_buffers()

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

◆ get_snapshot_from_instant()

static std::string ARDOUR::Session::get_snapshot_from_instant ( const std::string &  session_dir)
static

◆ get_sources_as_xml()

XMLNode& ARDOUR::Session::get_sources_as_xml ( )
private

◆ get_speakers()

std::shared_ptr<Speakers> ARDOUR::Session::get_speakers ( )

◆ get_state()

XMLNode& ARDOUR::Session::get_state ( ) const
privatevirtual

Implements PBD::Stateful.

◆ get_stripables() [1/2]

StripableList ARDOUR::Session::get_stripables ( ) const

◆ get_stripables() [2/2]

void ARDOUR::Session::get_stripables ( StripableList ,
PresentationInfo::Flag  fl = PresentationInfo::MixerStripables 
) const

◆ get_template()

XMLNode& ARDOUR::Session::get_template ( )
private

◆ get_track_statistics()

void ARDOUR::Session::get_track_statistics ( )
private

◆ get_tracks()

std::shared_ptr<RouteList> ARDOUR::Session::get_tracks ( ) const

◆ get_xrun_count()

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

Definition at line 835 of file session.h.

◆ global_locate_pending()

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

Definition at line 509 of file session.h.

◆ global_quantization()

AnyTime ARDOUR::Session::global_quantization ( ) const
inline

Definition at line 1344 of file session.h.

◆ globally_add_internal_sends()

void ARDOUR::Session::globally_add_internal_sends ( std::shared_ptr< Route dest,
Placement  p,
bool   
)

◆ globally_set_send_gains_from_track()

void ARDOUR::Session::globally_set_send_gains_from_track ( std::shared_ptr< Route dest)

◆ globally_set_send_gains_to_unity()

void ARDOUR::Session::globally_set_send_gains_to_unity ( std::shared_ptr< Route dest)

◆ globally_set_send_gains_to_zero()

void ARDOUR::Session::globally_set_send_gains_to_zero ( std::shared_ptr< Route dest)

◆ goto_end()

void ARDOUR::Session::goto_end ( )

◆ goto_start()

void ARDOUR::Session::goto_start ( bool  and_roll = false)

◆ graph_reordered()

void ARDOUR::Session::graph_reordered ( bool  called_from_backend)
private

◆ had_destructive_tracks()

bool ARDOUR::Session::had_destructive_tracks ( ) const

◆ handle_slots_empty_status()

void ARDOUR::Session::handle_slots_empty_status ( std::weak_ptr< Route > const &  )
private

◆ have_captured()

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

Definition at line 318 of file session.h.

◆ have_external_connections_for_current_backend()

bool ARDOUR::Session::have_external_connections_for_current_backend ( bool  tracks_only = true) const

◆ have_rec_disabled_track()

bool ARDOUR::Session::have_rec_disabled_track ( ) const

◆ have_rec_enabled_track()

bool ARDOUR::Session::have_rec_enabled_track ( ) const

◆ history()

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

Definition at line 1077 of file session.h.

◆ hookup_io()

void ARDOUR::Session::hookup_io ( )
private

◆ immediately_post_engine()

int ARDOUR::Session::immediately_post_engine ( )
private

◆ implement_master_strategy()

bool ARDOUR::Session::implement_master_strategy ( )
private

◆ import_files()

void ARDOUR::Session::import_files ( ImportStatus )

◆ import_pt_rest()

void ARDOUR::Session::import_pt_rest ( PTFFormat ptf)

◆ import_pt_sources()

void ARDOUR::Session::import_pt_sources ( PTFFormat ptf,
ImportStatus status 
)

◆ import_sndfile_as_region()

bool ARDOUR::Session::import_sndfile_as_region ( std::string  path,
SrcQuality  quality,
timepos_t pos,
SourceList sources,
ImportStatus status,
uint32_t  current,
uint32_t  total 
)

◆ in_cleanup()

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

Definition at line 256 of file session.h.

◆ increment_transport_position()

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

Definition at line 1668 of file session.h.

◆ init_name_id_counter()

static void ARDOUR::Session::init_name_id_counter ( unsigned int  n)
staticprivate

◆ inital_connect_or_deletion_in_progress()

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

Definition at line 257 of file session.h.

◆ initialize_latencies()

void ARDOUR::Session::initialize_latencies ( )
private

◆ instant_xml()

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

◆ io_latency()

samplecnt_t ARDOUR::Session::io_latency ( ) const
inline

Definition at line 558 of file session.h.

◆ io_name_is_legal()

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

◆ io_plugs()

std::shared_ptr<IOPlugList const> ARDOUR::Session::io_plugs ( ) const
inline

Definition at line 950 of file session.h.

◆ io_tasklist()

std::shared_ptr<IOTaskList> ARDOUR::Session::io_tasklist ( )
inline

Definition at line 336 of file session.h.

◆ is_auditioning()

bool ARDOUR::Session::is_auditioning ( ) const

◆ last_touched_mixer_scene_idx()

size_t ARDOUR::Session::last_touched_mixer_scene_idx ( )
inline

Definition at line 1175 of file session.h.

◆ last_transport_start()

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

Definition at line 491 of file session.h.

◆ listen_position_changed()

void ARDOUR::Session::listen_position_changed ( )
private

◆ listening()

bool ARDOUR::Session::listening ( ) const

◆ load_and_connect_instruments()

void ARDOUR::Session::load_and_connect_instruments ( RouteList ,
bool  strict_io,
std::shared_ptr< PluginInfo instrument,
Plugin::PresetRecord pset,
ChanCount existing_outputs 
)
private

◆ load_bundles()

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

◆ load_compounds()

int ARDOUR::Session::load_compounds ( const XMLNode node)
private

◆ load_io_plugin()

void ARDOUR::Session::load_io_plugin ( std::shared_ptr< IOPlug )

◆ load_nested_sources()

void ARDOUR::Session::load_nested_sources ( const XMLNode node)
private

◆ load_options()

int ARDOUR::Session::load_options ( const XMLNode )
private

◆ load_regions()

int ARDOUR::Session::load_regions ( const XMLNode node)
private

◆ load_route_groups()

int ARDOUR::Session::load_route_groups ( const XMLNode ,
int   
)
private

◆ load_routes()

int ARDOUR::Session::load_routes ( const XMLNode ,
int   
)

◆ load_sources()

int ARDOUR::Session::load_sources ( const XMLNode node)
private

◆ load_state()

int ARDOUR::Session::load_state ( std::string  snapshot_name,
bool  from_template = false 
)
private

◆ loading()

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

Definition at line 254 of file session.h.

◆ locate()

void ARDOUR::Session::locate ( samplepos_t  ,
bool  for_loop_end = false,
bool  force = false,
bool  with_mmc = true 
)
protectedvirtual

Implements ARDOUR::TransportAPI.

◆ locate_initiated()

bool ARDOUR::Session::locate_initiated ( ) const

◆ locate_pending()

bool ARDOUR::Session::locate_pending ( ) const

◆ location_added()

void ARDOUR::Session::location_added ( Location )
private

◆ location_removed()

void ARDOUR::Session::location_removed ( Location )
private

◆ locations()

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

Definition at line 542 of file session.h.

◆ locations_changed()

void ARDOUR::Session::locations_changed ( )
private

◆ loop_is_possible()

bool ARDOUR::Session::loop_is_possible ( ) const

◆ ltc_output_port()

std::shared_ptr<Port> ARDOUR::Session::ltc_output_port ( ) const
inline

Definition at line 1284 of file session.h.

◆ ltc_tx_cleanup()

void ARDOUR::Session::ltc_tx_cleanup ( )
private

◆ ltc_tx_initialize()

void ARDOUR::Session::ltc_tx_initialize ( )
private

◆ ltc_tx_parse_offset()

void ARDOUR::Session::ltc_tx_parse_offset ( )
private

◆ ltc_tx_recalculate_position()

void ARDOUR::Session::ltc_tx_recalculate_position ( )
private

◆ ltc_tx_reset()

void ARDOUR::Session::ltc_tx_reset ( )
private

◆ ltc_tx_resync_latency()

void ARDOUR::Session::ltc_tx_resync_latency ( bool  )
private

◆ luabindings_session_rt()

void ARDOUR::Session::luabindings_session_rt ( lua_State )
private

◆ mark_aux_send_id()

void ARDOUR::Session::mark_aux_send_id ( uint32_t  )

◆ mark_insert_id()

void ARDOUR::Session::mark_insert_id ( uint32_t  )

◆ mark_return_id()

void ARDOUR::Session::mark_return_id ( uint32_t  )

◆ mark_send_id()

void ARDOUR::Session::mark_send_id ( uint32_t  )

◆ mark_surround_send_id()

void ARDOUR::Session::mark_surround_send_id ( uint32_t  )

◆ master_order_key()

PresentationInfo::order_t ARDOUR::Session::master_order_key ( ) const
inline

Definition at line 1009 of file session.h.

◆ master_out()

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

Definition at line 1005 of file session.h.

◆ master_volume()

std::shared_ptr<GainControl> ARDOUR::Session::master_volume ( ) const

◆ maybe_allow_only_loop()

bool ARDOUR::Session::maybe_allow_only_loop ( bool  play_loop = false)
private

◆ maybe_allow_only_punch()

bool ARDOUR::Session::maybe_allow_only_punch ( )
private

◆ maybe_copy_midifile()

bool ARDOUR::Session::maybe_copy_midifile ( snapshot_t  ,
std::shared_ptr< Source src,
XMLNode  
)
private

◆ maybe_enable_record()

void ARDOUR::Session::maybe_enable_record ( bool  rt_context = false)

◆ maybe_find_pending_cue()

void ARDOUR::Session::maybe_find_pending_cue ( )
private

◆ maybe_stop()

bool ARDOUR::Session::maybe_stop ( samplepos_t  limit)
private
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.

◆ maybe_sync_start()

bool ARDOUR::Session::maybe_sync_start ( pframes_t )
private

◆ maybe_update_session_range()

void ARDOUR::Session::maybe_update_session_range ( timepos_t const &  ,
timepos_t const &   
)

◆ maybe_update_tempo_from_midiclock_tempo()

void ARDOUR::Session::maybe_update_tempo_from_midiclock_tempo ( float  bpm)

◆ maybe_write_autosave()

void ARDOUR::Session::maybe_write_autosave ( )

◆ memento_command_factory()

PBD::Command* ARDOUR::Session::memento_command_factory ( XMLNode n)

◆ micro_locate()

int ARDOUR::Session::micro_locate ( samplecnt_t  distance)
private

◆ midi_clock_output_port()

std::shared_ptr<MidiPort> ARDOUR::Session::midi_clock_output_port ( ) const

◆ midi_output_change_handler()

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

◆ midi_panic()

void ARDOUR::Session::midi_panic ( )

◆ midi_read()

int ARDOUR::Session::midi_read ( MIDI::Port )
private

◆ midi_source_by_path()

std::shared_ptr<MidiSource> ARDOUR::Session::midi_source_by_path ( const std::string &  ,
bool  need_source_lock 
) const

◆ midi_track_presentation_info_changed()

void ARDOUR::Session::midi_track_presentation_info_changed ( PBD::PropertyChange const &  ,
std::weak_ptr< MidiTrack  
)
private

◆ missing_filesources()

std::list<std::string> ARDOUR::Session::missing_filesources ( DataType  ) const

◆ mixer_scenes()

std::vector<std::shared_ptr<MixerScene> > ARDOUR::Session::mixer_scenes ( ) const

◆ mmc()

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

Definition at line 1286 of file session.h.

◆ mmc_deferred_play()

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

◆ mmc_fast_forward()

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

◆ mmc_input_port()

std::shared_ptr<Port> ARDOUR::Session::mmc_input_port ( ) const

◆ mmc_locate()

void ARDOUR::Session::mmc_locate ( MIDI::MachineControl ,
const MIDI::byte  
)
private

◆ mmc_output_port()

std::shared_ptr<Port> ARDOUR::Session::mmc_output_port ( ) const

◆ mmc_pause()

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

◆ mmc_record_enable()

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

◆ mmc_record_exit()

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

◆ mmc_record_pause()

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

◆ mmc_record_strobe()

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

◆ mmc_rewind()

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

◆ mmc_shuttle()

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

◆ mmc_step()

void ARDOUR::Session::mmc_step ( MIDI::MachineControl ,
int   
)
private

◆ mmc_step_timeout()

bool ARDOUR::Session::mmc_step_timeout ( )
private

◆ mmc_stop()

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

◆ mmc_track_record_status()

void ARDOUR::Session::mmc_track_record_status ( MIDI::MachineControl ,
uint32_t  track,
bool  enabled 
)
private

◆ monitor_active()

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

Definition at line 1002 of file session.h.

◆ monitor_out()

std::shared_ptr<Route> ARDOUR::Session::monitor_out ( ) const
inline

Definition at line 1004 of file session.h.

◆ mtc_output_port()

std::shared_ptr<MidiPort> ARDOUR::Session::mtc_output_port ( ) const

◆ mtc_tx_resync_latency()

void ARDOUR::Session::mtc_tx_resync_latency ( bool  )
private

◆ muted()

bool ARDOUR::Session::muted ( ) const

◆ name()

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

Definition at line 237 of file session.h.

◆ name_id_counter()

static unsigned int ARDOUR::Session::name_id_counter ( )
staticprivate

◆ naudiotracks()

uint32_t ARDOUR::Session::naudiotracks ( ) const

◆ nbusses()

uint32_t ARDOUR::Session::nbusses ( ) const

◆ need_declick_before_locate()

bool ARDOUR::Session::need_declick_before_locate ( ) const
protectedvirtual

Implements ARDOUR::TransportAPI.

◆ new_audio_route()

RouteList ARDOUR::Session::new_audio_route ( int  input_channels,
int  output_channels,
RouteGroup route_group,
uint32_t  how_many,
std::string  name_template,
PresentationInfo::Flag  ,
PresentationInfo::order_t   
)

◆ new_audio_source_path()

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

◆ new_audio_source_path_for_embedded()

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

◆ new_audio_track()

std::list<std::shared_ptr<AudioTrack> > ARDOUR::Session::new_audio_track ( int  input_channels,
int  output_channels,
RouteGroup route_group,
uint32_t  how_many,
std::string  name_template,
PresentationInfo::order_t  order,
TrackMode  mode = Normal,
bool  input_auto_connect = true,
bool  trigger_visibility = false 
)

◆ new_midi_route()

RouteList ARDOUR::Session::new_midi_route ( RouteGroup route_group,
uint32_t  how_many,
std::string  name_template,
bool  strict_io,
std::shared_ptr< PluginInfo instrument,
Plugin::PresetRecord ,
PresentationInfo::Flag  ,
PresentationInfo::order_t   
)

◆ new_midi_source_path()

std::string ARDOUR::Session::new_midi_source_path ( const std::string &  ,
bool  need_source_lock = true 
)

◆ new_midi_track()

std::list<std::shared_ptr<MidiTrack> > ARDOUR::Session::new_midi_track ( const ChanCount input,
const ChanCount output,
bool  strict_io,
std::shared_ptr< PluginInfo instrument,
Plugin::PresetRecord pset,
RouteGroup route_group,
uint32_t  how_many,
std::string  name_template,
PresentationInfo::order_t  ,
TrackMode  mode,
bool  input_auto_connect,
bool  trigger_visibility = false 
)

◆ new_route_from_template() [1/2]

RouteList ARDOUR::Session::new_route_from_template ( uint32_t  how_many,
PresentationInfo::order_t  insert_at,
const std::string &  template_path,
const std::string &  name,
PlaylistDisposition  pd = NewPlaylist 
)

create a new track or bus from a template (XML path)

Parameters
how_manyhow many tracks or busses to create
template_pathpath to xml template file
insert_atposition where to add new track, use PresentationInfo::max_order to append at the end.
namename (prefix) of the route to create
pdPlaylist disposition
Returns
list of newly created routes

◆ new_route_from_template() [2/2]

RouteList ARDOUR::Session::new_route_from_template ( uint32_t  how_many,
PresentationInfo::order_t  insert_at,
XMLNode ,
const std::string &  name,
PlaylistDisposition  pd = NewPlaylist 
)

◆ new_route_group()

RouteGroup* ARDOUR::Session::new_route_group ( const std::string &  )

◆ next_aux_send_id()

uint32_t ARDOUR::Session::next_aux_send_id ( )

◆ next_insert_id()

uint32_t ARDOUR::Session::next_insert_id ( )

◆ next_name_id()

static unsigned int ARDOUR::Session::next_name_id ( )
static

a monotonic counter used for naming user-visible things uniquely (curently the sidechain port). Use sparingly to keep the numbers low, prefer PBD::ID for all internal, not user-visible IDs

◆ next_redo()

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

Definition at line 1082 of file session.h.

◆ next_return_id()

uint32_t ARDOUR::Session::next_return_id ( )

◆ next_send_id()

uint32_t ARDOUR::Session::next_send_id ( )

◆ next_surround_send_id()

uint32_t ARDOUR::Session::next_surround_send_id ( )

◆ next_undo()

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

Definition at line 1081 of file session.h.

◆ no_roll()

int ARDOUR::Session::no_roll ( pframes_t  nframes)
private

◆ nominal_jack_transport_sample()

std::optional<samplepos_t> const& ARDOUR::Session::nominal_jack_transport_sample ( )
inline

Definition at line 771 of file session.h.

◆ nominal_sample_rate()

samplecnt_t ARDOUR::Session::nominal_sample_rate ( ) const
inline

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

Definition at line 527 of file session.h.

◆ non_realtime_locate()

void ARDOUR::Session::non_realtime_locate ( )
private

◆ non_realtime_overwrite()

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

◆ non_realtime_set_audition()

void ARDOUR::Session::non_realtime_set_audition ( )
private

◆ non_realtime_set_speed()

void ARDOUR::Session::non_realtime_set_speed ( )
private

◆ non_realtime_stop()

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

◆ non_realtime_work_pending()

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

Definition at line 1845 of file session.h.

◆ notify_presentation_info_change()

void ARDOUR::Session::notify_presentation_info_change ( PBD::PropertyChange const &  )

◆ nroutes()

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

Definition at line 356 of file session.h.

◆ nstripables()

uint32_t ARDOUR::Session::nstripables ( bool  with_monitor = false) const

◆ nth_io_plug()

std::shared_ptr<IOPlug> ARDOUR::Session::nth_io_plug ( uint32_t  n)
inline

Definition at line 942 of file session.h.

◆ nth_mixer_scene()

std::shared_ptr<MixerScene> ARDOUR::Session::nth_mixer_scene ( size_t  ,
bool  create_if_missing = false 
)

◆ nth_mixer_scene_valid()

bool ARDOUR::Session::nth_mixer_scene_valid ( size_t  ) const

◆ ntracks()

uint32_t ARDOUR::Session::ntracks ( ) const

◆ num_triggerboxes()

int ARDOUR::Session::num_triggerboxes ( ) const

◆ overwrite_some_buffers()

void ARDOUR::Session::overwrite_some_buffers ( std::shared_ptr< Route ,
OverwriteReason   
)
private

◆ pan_automation_buffer()

pan_t** ARDOUR::Session::pan_automation_buffer ( ) const

◆ parse_stateful_loading_version()

static int ARDOUR::Session::parse_stateful_loading_version ( const std::string &  )
staticprivate

◆ path()

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

Definition at line 236 of file session.h.

◆ path_is_within_session()

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

◆ peaks_cleanup_in_progres()

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

Definition at line 253 of file session.h.

◆ plan_master_strategy()

double ARDOUR::Session::plan_master_strategy ( pframes_t  nframes,
double  master_speed,
samplepos_t  master_transport_sample,
double  catch_speed 
)
private

◆ plan_master_strategy_engine()

double ARDOUR::Session::plan_master_strategy_engine ( pframes_t  nframes,
double  master_speed,
samplepos_t  master_transport_sample,
double  catch_speed 
)
private

◆ playback_load()

uint32_t ARDOUR::Session::playback_load ( )

◆ playlist_is_active()

bool ARDOUR::Session::playlist_is_active ( std::shared_ptr< Playlist )

◆ playlist_ranges_moved()

void ARDOUR::Session::playlist_ranges_moved ( std::list< Temporal::RangeMove > const &  )
private

◆ playlist_region_added()

void ARDOUR::Session::playlist_region_added ( std::weak_ptr< Region )
private

◆ playlist_regions_extended()

void ARDOUR::Session::playlist_regions_extended ( std::list< Temporal::Range > const &  )
private

◆ playlists()

std::shared_ptr<SessionPlaylists> ARDOUR::Session::playlists ( ) const
inline

Definition at line 1214 of file session.h.

◆ plot_process_graph()

bool ARDOUR::Session::plot_process_graph ( std::string const &  file_name) const

◆ plugins_dir()

std::string ARDOUR::Session::plugins_dir ( ) const

Plugin state.

◆ port_registry_changed()

void ARDOUR::Session::port_registry_changed ( )
private

◆ position()

samplepos_t ARDOUR::Session::position ( ) const
inlineprotectedvirtual

Implements ARDOUR::TransportAPI.

Definition at line 1367 of file session.h.

◆ possible_states() [1/2]

std::vector<std::string> ARDOUR::Session::possible_states ( ) const

◆ possible_states() [2/2]

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

◆ post_engine_init()

int ARDOUR::Session::post_engine_init ( )
private

◆ post_locate()

void ARDOUR::Session::post_locate ( )
protected

◆ post_transport_motion()

void ARDOUR::Session::post_transport_motion ( )
private

◆ post_transport_work()

PostTransportWork ARDOUR::Session::post_transport_work ( ) const
inlineprivate

Definition at line 1626 of file session.h.

◆ pre_engine_init()

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

◆ pre_export()

int ARDOUR::Session::pre_export ( )
private

◆ prepare_momentary_solo()

void ARDOUR::Session::prepare_momentary_solo ( SoloMuteRelease smr = NULL,
bool  exclusive = false,
std::shared_ptr< Route route = std::shared_ptr< Route >() 
)

◆ preroll_record_trim_len()

samplecnt_t ARDOUR::Session::preroll_record_trim_len ( ) const
inline

Definition at line 1116 of file session.h.

◆ preroll_samples()

samplecnt_t ARDOUR::Session::preroll_samples ( samplepos_t  ) const

◆ probe_ctrl_surfaces()

void ARDOUR::Session::probe_ctrl_surfaces ( )
private

◆ process()

void ARDOUR::Session::process ( pframes_t  nframes)

◆ process_audition()

void ARDOUR::Session::process_audition ( pframes_t  )
private

◆ process_can_proceed()

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

Definition at line 1846 of file session.h.

◆ process_event()

void ARDOUR::Session::process_event ( SessionEvent )
privatevirtual

◆ process_export()

void ARDOUR::Session::process_export ( pframes_t  )
private

◆ process_export_fw()

void ARDOUR::Session::process_export_fw ( pframes_t  )
private

◆ process_routes()

int ARDOUR::Session::process_routes ( pframes_t  ,
bool &  need_butler 
)
private

◆ process_rtop()

void ARDOUR::Session::process_rtop ( SessionEvent )
private

◆ process_with_events()

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

◆ process_without_events()

void ARDOUR::Session::process_without_events ( pframes_t  )
private

◆ processing_blocked()

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

Definition at line 1471 of file session.h.

◆ processor_by_id()

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

◆ punch_active()

bool ARDOUR::Session::punch_active ( ) const
private

◆ punch_is_possible()

bool ARDOUR::Session::punch_is_possible ( ) const

◆ queue_event()

void ARDOUR::Session::queue_event ( SessionEvent )
virtual

◆ queue_full_time_code()

void ARDOUR::Session::queue_full_time_code ( )
inline

Definition at line 1217 of file session.h.

◆ queue_latency_recompute()

void ARDOUR::Session::queue_latency_recompute ( )
private

◆ queue_song_position_pointer()

void ARDOUR::Session::queue_song_position_pointer ( )
inline

Definition at line 1218 of file session.h.

◆ raid_path()

std::string ARDOUR::Session::raid_path ( ) const

◆ realtime_export()

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

Definition at line 1188 of file session.h.

◆ realtime_locate()

void ARDOUR::Session::realtime_locate ( bool  )
private

◆ realtime_stop()

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

◆ reassign_track_numbers()

void ARDOUR::Session::reassign_track_numbers ( )
private

◆ recently_touched_controllable()

std::shared_ptr<PBD::Controllable> ARDOUR::Session::recently_touched_controllable ( ) const

◆ rechain_ioplug_graph()

bool ARDOUR::Session::rechain_ioplug_graph ( bool  )
private

◆ rechain_process_graph()

bool ARDOUR::Session::rechain_process_graph ( GraphNodeList )
private

◆ reconnect_ltc_output()

void ARDOUR::Session::reconnect_ltc_output ( )

◆ reconnect_midi_scene_ports()

void ARDOUR::Session::reconnect_midi_scene_ports ( bool  )

◆ reconnect_mmc_ports()

void ARDOUR::Session::reconnect_mmc_ports ( bool  )

◆ reconnection_in_progress()

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

Definition at line 249 of file session.h.

◆ record_enabling_legal()

bool ARDOUR::Session::record_enabling_legal ( ) const

◆ record_location()

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

Definition at line 767 of file session.h.

◆ record_status()

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

Definition at line 402 of file session.h.

◆ redo()

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

Redo some transactions.

Parameters
nNumber of transactions to undo.

◆ redo_depth()

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

Definition at line 1080 of file session.h.

◆ refill_all_track_buffers()

void ARDOUR::Session::refill_all_track_buffers ( )

◆ refresh_disk_space()

void ARDOUR::Session::refresh_disk_space ( )

◆ register_lua_function()

void ARDOUR::Session::register_lua_function ( const std::string &  ,
const std::string &  ,
const LuaScriptParamList  
)

◆ register_with_memento_command_factory()

void ARDOUR::Session::register_with_memento_command_factory ( PBD::ID  ,
PBD::StatefulDestructible  
)

◆ registered_lua_function_count()

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

Definition at line 931 of file session.h.

◆ registered_lua_functions()

std::vector<std::string> ARDOUR::Session::registered_lua_functions ( )

◆ remaining_latency_preroll()

samplecnt_t ARDOUR::Session::remaining_latency_preroll ( ) const
inline

Definition at line 774 of file session.h.

◆ remove_bundle()

void ARDOUR::Session::remove_bundle ( std::shared_ptr< Bundle )

◆ remove_dir_from_search_path()

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

◆ remove_empty_sounds()

void ARDOUR::Session::remove_empty_sounds ( )
private

◆ remove_last_capture()

int ARDOUR::Session::remove_last_capture ( )

◆ remove_monitor_section()

void ARDOUR::Session::remove_monitor_section ( )
private

◆ remove_pending_capture_state()

void ARDOUR::Session::remove_pending_capture_state ( )

◆ remove_playlist()

void ARDOUR::Session::remove_playlist ( std::weak_ptr< Playlist )
private

◆ remove_route()

void ARDOUR::Session::remove_route ( std::shared_ptr< Route )

◆ remove_route_group() [1/2]

void ARDOUR::Session::remove_route_group ( RouteGroup )

◆ remove_route_group() [2/2]

void ARDOUR::Session::remove_route_group ( RouteGroup rg)
inline

Definition at line 705 of file session.h.

◆ remove_routes()

void ARDOUR::Session::remove_routes ( std::shared_ptr< RouteList )

◆ remove_source()

void ARDOUR::Session::remove_source ( std::weak_ptr< Source ,
bool  drop_references = true 
)

◆ remove_state()

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

◆ remove_surround_master()

void ARDOUR::Session::remove_surround_master ( )
private

◆ rename()

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

◆ rename_state()

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

◆ reorder_route_groups()

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

◆ request_bounded_roll()

void ARDOUR::Session::request_bounded_roll ( samplepos_t  start,
samplepos_t  end 
)

◆ request_cancel_play_range()

void ARDOUR::Session::request_cancel_play_range ( )

◆ request_count_in_record()

void ARDOUR::Session::request_count_in_record ( )

◆ request_default_play_speed()

void ARDOUR::Session::request_default_play_speed ( double  speed,
TransportRequestSource  origin = TRS_UI 
)

◆ request_locate()

void ARDOUR::Session::request_locate ( samplepos_t  sample,
bool  force = false,
LocateTransportDisposition  ltd = RollIfAppropriate,
TransportRequestSource  origin = TRS_UI 
)

◆ request_overwrite_buffer()

void ARDOUR::Session::request_overwrite_buffer ( std::shared_ptr< Track ,
OverwriteReason   
)

◆ request_play_loop()

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

◆ request_play_range()

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

◆ request_preroll_record_trim()

void ARDOUR::Session::request_preroll_record_trim ( samplepos_t  start,
samplecnt_t  preroll 
)

◆ request_resume_timecode_transmission()

void ARDOUR::Session::request_resume_timecode_transmission ( )

◆ request_roll()

void ARDOUR::Session::request_roll ( TransportRequestSource  origin = TRS_UI)

◆ request_roll_at_and_return()

void ARDOUR::Session::request_roll_at_and_return ( samplepos_t  start,
samplepos_t  return_to 
)

◆ request_stop()

void ARDOUR::Session::request_stop ( bool  abort = false,
bool  clear_state = false,
TransportRequestSource  origin = TRS_UI 
)

◆ request_suspend_timecode_transmission()

void ARDOUR::Session::request_suspend_timecode_transmission ( )

◆ request_sync_source()

void ARDOUR::Session::request_sync_source ( std::shared_ptr< TransportMaster )

◆ request_transport_speed()

void ARDOUR::Session::request_transport_speed ( double  speed,
TransportRequestSource  origin = TRS_UI 
)

◆ request_transport_speed_nonzero()

void ARDOUR::Session::request_transport_speed_nonzero ( double  ,
TransportRequestSource  origin = TRS_UI 
)

◆ requested_return_sample()

samplepos_t ARDOUR::Session::requested_return_sample ( ) const
inline

Definition at line 769 of file session.h.

◆ reset_monitor_section()

void ARDOUR::Session::reset_monitor_section ( )

◆ reset_native_file_format()

void ARDOUR::Session::reset_native_file_format ( )
private

◆ reset_punch_loop_constraint()

void ARDOUR::Session::reset_punch_loop_constraint ( )
private

◆ reset_record_status()

void ARDOUR::Session::reset_record_status ( )
private

◆ reset_transport_speed()

void ARDOUR::Session::reset_transport_speed ( TransportRequestSource  origin = TRS_UI)

◆ reset_write_sources()

void ARDOUR::Session::reset_write_sources ( bool  mark_write_complete)
private

◆ reset_xrun_count()

void ARDOUR::Session::reset_xrun_count ( )

◆ resort_io_plugs()

void ARDOUR::Session::resort_io_plugs ( )
private

◆ resort_routes()

void ARDOUR::Session::resort_routes ( )

◆ resort_routes_using()

void ARDOUR::Session::resort_routes_using ( std::shared_ptr< RouteList )
private

◆ restore_history()

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

◆ restore_state()

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

◆ rewire_midi_selection_ports()

void ARDOUR::Session::rewire_midi_selection_ports ( )
private

◆ rewire_selected_midi()

void ARDOUR::Session::rewire_selected_midi ( std::shared_ptr< MidiTrack )
private

◆ route_added_to_route_group()

void ARDOUR::Session::route_added_to_route_group ( RouteGroup ,
std::weak_ptr< Route  
)
private

◆ route_by_id()

std::shared_ptr<Route> ARDOUR::Session::route_by_id ( PBD::ID  ) const

◆ route_by_name()

std::shared_ptr<Route> ARDOUR::Session::route_by_name ( std::string  ) const

◆ route_by_selected_count()

std::shared_ptr<Route> ARDOUR::Session::route_by_selected_count ( uint32_t  cnt) const

◆ route_group_by_name()

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

◆ route_group_property_changed()

void ARDOUR::Session::route_group_property_changed ( RouteGroup )
private

◆ route_groups()

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

Definition at line 722 of file session.h.

◆ route_listen_changed()

void ARDOUR::Session::route_listen_changed ( PBD::Controllable::GroupControlDisposition  ,
std::weak_ptr< Route  
)
private

◆ route_mute_changed()

void ARDOUR::Session::route_mute_changed ( )
private

◆ route_name_internal()

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

◆ route_name_unique()

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

◆ route_processors_changed()

void ARDOUR::Session::route_processors_changed ( RouteProcessorChange  )
private

◆ route_removed_from_route_group()

void ARDOUR::Session::route_removed_from_route_group ( RouteGroup ,
std::weak_ptr< Route  
)
private

◆ route_solo_changed()

void ARDOUR::Session::route_solo_changed ( bool  self_solo_change,
PBD::Controllable::GroupControlDisposition  group_override,
std::weak_ptr< Route  
)
private

◆ route_solo_isolated_changed()

void ARDOUR::Session::route_solo_isolated_changed ( std::weak_ptr< Route )
private

◆ routes_deletion_in_progress()

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

Definition at line 250 of file session.h.

◆ routes_using_input_from()

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

◆ rt_clear_all_solo_state()

void ARDOUR::Session::rt_clear_all_solo_state ( std::shared_ptr< RouteList const >  ,
bool  yn,
PBD::Controllable::GroupControlDisposition  group_override 
)
private

◆ rt_set_controls()

void ARDOUR::Session::rt_set_controls ( std::shared_ptr< WeakAutomationControlList ,
double  val,
PBD::Controllable::GroupControlDisposition  group_override 
)
private

◆ rt_tasklist()

std::shared_ptr<RTTaskList> ARDOUR::Session::rt_tasklist ( )
inline

Definition at line 335 of file session.h.

◆ run_click()

void ARDOUR::Session::run_click ( samplepos_t  start,
samplecnt_t  nframes 
)
private

◆ sample_rate()

samplecnt_t ARDOUR::Session::sample_rate ( ) const
inline

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

Definition at line 525 of file session.h.

◆ sample_rate_convert()

bool ARDOUR::Session::sample_rate_convert ( ImportStatus ,
std::string  infile,
std::string &  outfile 
)

◆ sample_to_timecode()

void ARDOUR::Session::sample_to_timecode ( samplepos_t  sample,
Timecode::Time timecode,
bool  use_offset,
bool  use_subframes 
) const

◆ samples_per_timecode_frame()

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

Definition at line 530 of file session.h.

◆ save_as()

int ARDOUR::Session::save_as ( SaveAs )

◆ save_as_bring_callback()

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

◆ save_default_options()

bool ARDOUR::Session::save_default_options ( )

◆ save_history()

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

◆ save_snapshot_name()

void ARDOUR::Session::save_snapshot_name ( const std::string &  )
private

◆ save_state()

int ARDOUR::Session::save_state ( std::string  snapshot_name = "",
bool  pending = false,
bool  switch_to_snapshot = false,
bool  template_only = false,
bool  for_archive = false,
bool  only_used_assets = false 
)

save session

Parameters
snapshot_namename of the session (use an empty string for the current name)
pendingsave a 'recovery', not full state (default: false)
switch_to_snapshotswitch to given snapshot after saving (default: false)
template_onlysave a session template (default: false)
for_archivesave only data relevant for session-archive
only_used_assetsskip Sources that are not used, mainly useful with for_archive
Returns
zero on success

◆ save_template()

int ARDOUR::Session::save_template ( const std::string &  template_name,
const std::string &  description = "",
bool  replace_existing = false 
)

◆ scene_changer()

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

Definition at line 1268 of file session.h.

◆ scene_input_port()

std::shared_ptr<Port> ARDOUR::Session::scene_input_port ( ) const

◆ scene_output_port()

std::shared_ptr<Port> ARDOUR::Session::scene_output_port ( ) const

◆ schedule_butler_for_transport_work()

void ARDOUR::Session::schedule_butler_for_transport_work ( )
protectedvirtual

Implements ARDOUR::TransportAPI.

◆ schedule_capture_buffering_adjustment()

void ARDOUR::Session::schedule_capture_buffering_adjustment ( )
private

◆ schedule_playback_buffering_adjustment()

void ARDOUR::Session::schedule_playback_buffering_adjustment ( )
private

◆ scratch_automation_buffer()

gain_t* ARDOUR::Session::scratch_automation_buffer ( ) const

◆ scripts_changed()

void ARDOUR::Session::scripts_changed ( )

◆ select_playhead_priority_target()

bool ARDOUR::Session::select_playhead_priority_target ( samplepos_t )
private

◆ selection()

CoreSelection& ARDOUR::Session::selection ( ) const
inline

Definition at line 340 of file session.h.

◆ send_full_time_code()

int ARDOUR::Session::send_full_time_code ( samplepos_t  ,
pframes_t  nframes 
)
private

◆ send_gain_automation_buffer()

gain_t* ARDOUR::Session::send_gain_automation_buffer ( ) const

◆ send_immediate_mmc()

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

◆ send_latency_compensation_change()

void ARDOUR::Session::send_latency_compensation_change ( )
private

◆ send_ltc_for_cycle()

void ARDOUR::Session::send_ltc_for_cycle ( samplepos_t  ,
samplepos_t  ,
pframes_t   
)

◆ send_mclk_for_cycle()

void ARDOUR::Session::send_mclk_for_cycle ( samplepos_t  ,
samplepos_t  ,
pframes_t  ,
samplecnt_t   
)

◆ send_midi_time_code_for_cycle()

int ARDOUR::Session::send_midi_time_code_for_cycle ( samplepos_t  ,
samplepos_t  ,
pframes_t  nframes 
)
private

◆ send_mmc_locate()

void ARDOUR::Session::send_mmc_locate ( samplepos_t  )

◆ send_song_position_pointer()

void ARDOUR::Session::send_song_position_pointer ( samplepos_t  )
private

◆ session_directory()

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

Definition at line 265 of file session.h.

◆ session_loaded()

void ARDOUR::Session::session_loaded ( )
private

◆ session_loader_thread()

static void* ARDOUR::Session::session_loader_thread ( void *  arg)
staticprivate

◆ session_name_is_legal()

static const std::string ARDOUR::Session::session_name_is_legal ( const std::string &  )
static

◆ session_range_is_free()

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

Definition at line 551 of file session.h.

◆ set_all_tracks_record_enabled()

void ARDOUR::Session::set_all_tracks_record_enabled ( bool  )

◆ set_audition()

void ARDOUR::Session::set_audition ( std::shared_ptr< Region )
private

◆ set_auto_loop_location()

void ARDOUR::Session::set_auto_loop_location ( Location )

◆ set_auto_punch_location()

void ARDOUR::Session::set_auto_punch_location ( Location )

◆ set_block_size()

void ARDOUR::Session::set_block_size ( pframes_t  nframes)
protected

◆ set_bypass_all_loaded_plugins()

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

Definition at line 1026 of file session.h.

◆ set_clean()

void ARDOUR::Session::set_clean ( )

◆ set_control()

void ARDOUR::Session::set_control ( std::shared_ptr< AutomationControl ,
double  val,
PBD::Controllable::GroupControlDisposition   
)

◆ set_controls()

void ARDOUR::Session::set_controls ( std::shared_ptr< AutomationControlList ,
double  val,
PBD::Controllable::GroupControlDisposition   
)

◆ set_default_play_speed()

void ARDOUR::Session::set_default_play_speed ( double  spd)
protected

◆ set_deletion_in_progress()

void ARDOUR::Session::set_deletion_in_progress ( )

◆ set_dirty()

void ARDOUR::Session::set_dirty ( )

◆ set_disable_all_loaded_plugins()

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

Definition at line 1020 of file session.h.

◆ set_exclusive_input_active()

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

◆ set_global_quantization()

void ARDOUR::Session::set_global_quantization ( AnyTime const &  )

◆ set_had_destructive_tracks()

void ARDOUR::Session::set_had_destructive_tracks ( bool  yn)

◆ set_history_depth()

void ARDOUR::Session::set_history_depth ( uint32_t  depth)
private

◆ set_missing_file_replacement()

void ARDOUR::Session::set_missing_file_replacement ( const std::string &  mfr)
inline

Definition at line 1256 of file session.h.

◆ set_next_event()

void ARDOUR::Session::set_next_event ( )
privatevirtual

◆ set_nsm_state()

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

Definition at line 631 of file session.h.

◆ set_object_selection()

void ARDOUR::Session::set_object_selection ( Temporal::timepos_t const &  start,
Temporal::timepos_t const &  end 
)

◆ set_owned_port_public_latency()

void ARDOUR::Session::set_owned_port_public_latency ( bool  playback)
private

◆ set_play_loop()

void ARDOUR::Session::set_play_loop ( bool  yn,
bool  change_transport_state 
)
private

◆ set_play_range()

void ARDOUR::Session::set_play_range ( std::list< TimelineRange > &  ,
bool  leave_rolling 
)
private

◆ set_post_transport_work()

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

Definition at line 1627 of file session.h.

◆ set_range_selection()

void ARDOUR::Session::set_range_selection ( Temporal::timepos_t const &  start,
Temporal::timepos_t const &  end 
)

◆ set_requested_return_sample()

void ARDOUR::Session::set_requested_return_sample ( samplepos_t  return_to)

◆ set_sample_rate()

void ARDOUR::Session::set_sample_rate ( samplecnt_t  nframes)
protected

◆ set_session_extents()

void ARDOUR::Session::set_session_extents ( timepos_t const &  start,
timepos_t const &  end 
)

◆ set_session_range_is_free()

void ARDOUR::Session::set_session_range_is_free ( bool  )

◆ set_snapshot_name()

void ARDOUR::Session::set_snapshot_name ( const std::string &  )
private

current snapshot name, without the .ardour suffix

◆ set_state()

int ARDOUR::Session::set_state ( const XMLNode node,
int  version 
)
privatevirtual

Implements PBD::Stateful.

◆ set_track_loop()

void ARDOUR::Session::set_track_loop ( bool  )
private

◆ set_track_monitor_input_status()

void ARDOUR::Session::set_track_monitor_input_status ( bool  )
private

◆ set_transport_speed()

void ARDOUR::Session::set_transport_speed ( double  speed)
protectedvirtual

Implements ARDOUR::TransportAPI.

◆ set_worst_input_latency()

void ARDOUR::Session::set_worst_input_latency ( )
private

◆ set_worst_output_latency()

void ARDOUR::Session::set_worst_output_latency ( )
private

◆ setup_bundles()

void ARDOUR::Session::setup_bundles ( )
private

◆ setup_click()

void ARDOUR::Session::setup_click ( )
private

◆ setup_click_sounds() [1/2]

void ARDOUR::Session::setup_click_sounds ( int  which)
private

◆ setup_click_sounds() [2/2]

void ARDOUR::Session::setup_click_sounds ( Sample **  ,
Sample const *  ,
samplecnt_t ,
samplecnt_t  ,
std::string const &   
)
private

◆ setup_click_state()

void ARDOUR::Session::setup_click_state ( const XMLNode )
private

◆ setup_engine_resampling()

void ARDOUR::Session::setup_engine_resampling ( )
private

◆ setup_ltc()

void ARDOUR::Session::setup_ltc ( )
private

◆ setup_lua()

void ARDOUR::Session::setup_lua ( )
private

◆ setup_midi_control()

void ARDOUR::Session::setup_midi_control ( )
private

◆ setup_midi_machine_control()

void ARDOUR::Session::setup_midi_machine_control ( )
private

◆ setup_raid_path()

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

◆ setup_route_monitor_sends()

void ARDOUR::Session::setup_route_monitor_sends ( bool  enable,
bool  need_process_lock 
)
private

◆ setup_route_surround_sends()

void ARDOUR::Session::setup_route_surround_sends ( bool  enable,
bool  need_process_lock 
)
private

◆ setup_thread_local_variables()

void ARDOUR::Session::setup_thread_local_variables ( )
private

◆ should_ignore_transport_request()

bool ARDOUR::Session::should_ignore_transport_request ( TransportRequestSource  ,
TransportRequestType   
)
private

◆ should_roll_after_locate()

bool ARDOUR::Session::should_roll_after_locate ( ) const
protectedvirtual

Implements ARDOUR::TransportAPI.

◆ should_stop_before_locate()

bool ARDOUR::Session::should_stop_before_locate ( ) const
protectedvirtual

Implements ARDOUR::TransportAPI.

◆ silent()

bool ARDOUR::Session::silent ( )
inline

Definition at line 827 of file session.h.

◆ silent_process_routes()

int ARDOUR::Session::silent_process_routes ( pframes_t  ,
bool &  need_butler 
)
private

◆ snap_name()

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

Definition at line 238 of file session.h.

◆ solo_control_mode_changed()

void ARDOUR::Session::solo_control_mode_changed ( )
private

◆ solo_cut_control()

std::shared_ptr<PBD::Controllable> ARDOUR::Session::solo_cut_control ( ) const

◆ solo_isolated()

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

Definition at line 970 of file session.h.

◆ solo_selection()

void ARDOUR::Session::solo_selection ( StripableList ,
bool   
)

◆ solo_selection_active()

bool ARDOUR::Session::solo_selection_active ( )

◆ soloing()

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

Definition at line 968 of file session.h.

◆ source_by_id()

std::shared_ptr<Source> ARDOUR::Session::source_by_id ( const PBD::ID )

◆ source_search_path()

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

◆ spp_continue()

void ARDOUR::Session::spp_continue ( )
private

◆ spp_start()

void ARDOUR::Session::spp_start ( )
private

◆ spp_stop()

void ARDOUR::Session::spp_stop ( )
private

◆ start_audio_export()

int ARDOUR::Session::start_audio_export ( samplepos_t  position,
bool  realtime = false,
bool  region_export = false 
)

◆ start_domain_bounce()

void ARDOUR::Session::start_domain_bounce ( Temporal::DomainBounceInfo )

◆ start_midi_thread()

int ARDOUR::Session::start_midi_thread ( )
private

◆ start_time_changed()

void ARDOUR::Session::start_time_changed ( samplepos_t  )
private

◆ start_transport()

void ARDOUR::Session::start_transport ( bool  after_loop)
protectedvirtual

Implements ARDOUR::TransportAPI.

◆ state()

XMLNode& ARDOUR::Session::state ( bool  save_template,
snapshot_t  snapshot_type = NormalSave,
bool  for_archive = false,
bool  only_used_assets = false 
) const
private

◆ stateful_diff_command_factory()

PBD::Command* ARDOUR::Session::stateful_diff_command_factory ( XMLNode )

◆ step_back_from_record()

void ARDOUR::Session::step_back_from_record ( )

◆ step_edit_status_change()

void ARDOUR::Session::step_edit_status_change ( bool  )
private

◆ step_editing()

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

Definition at line 1220 of file session.h.

◆ stop_audio_export()

int ARDOUR::Session::stop_audio_export ( )
private

◆ stop_transport()

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

Implements ARDOUR::TransportAPI.

◆ store_nth_mixer_scene()

void ARDOUR::Session::store_nth_mixer_scene ( size_t  )

◆ stripable_by_id()

std::shared_ptr<Stripable> ARDOUR::Session::stripable_by_id ( PBD::ID  ) const

◆ surround_master()

std::shared_ptr<Route> ARDOUR::Session::surround_master ( ) const
inline

Definition at line 1007 of file session.h.

◆ sync_cues()

void ARDOUR::Session::sync_cues ( )
private

◆ sync_cues_from_list()

void ARDOUR::Session::sync_cues_from_list ( Locations::LocationList const &  )
private

◆ sync_locations_to_skips()

void ARDOUR::Session::sync_locations_to_skips ( )
private

◆ sync_source_changed()

void ARDOUR::Session::sync_source_changed ( SyncSource  ,
samplepos_t  pos,
pframes_t  cycle_nframes 
)
private

◆ sync_time_vars()

void ARDOUR::Session::sync_time_vars ( )

◆ synced_to_engine()

bool ARDOUR::Session::synced_to_engine ( ) const

◆ tempo_map_changed()

void ARDOUR::Session::tempo_map_changed ( )
protected

◆ the_auditioner()

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

Definition at line 919 of file session.h.

◆ time_domain_changed()

void ARDOUR::Session::time_domain_changed ( )
privatevirtual

Reimplemented from Temporal::TimeDomainProvider.

◆ timecode_drop_frames()

bool ARDOUR::Session::timecode_drop_frames ( ) const

◆ timecode_duration()

void ARDOUR::Session::timecode_duration ( samplecnt_t  ,
Timecode::Time  
) const

◆ timecode_duration_string()

void ARDOUR::Session::timecode_duration_string ( char *  ,
size_t  len,
samplecnt_t   
) const

◆ timecode_frames_per_hour()

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

Definition at line 531 of file session.h.

◆ timecode_frames_per_second()

double ARDOUR::Session::timecode_frames_per_second ( ) const

◆ timecode_time() [1/2]

void ARDOUR::Session::timecode_time ( samplepos_t  when,
Timecode::Time  
)

◆ timecode_time() [2/2]

void ARDOUR::Session::timecode_time ( Timecode::Time )

◆ timecode_time_subframes()

void ARDOUR::Session::timecode_time_subframes ( samplepos_t  when,
Timecode::Time  
)

◆ timecode_to_sample()

void ARDOUR::Session::timecode_to_sample ( Timecode::Time timecode,
samplepos_t sample,
bool  use_offset,
bool  use_subframes 
) const

◆ timecode_transmission_suspended()

bool ARDOUR::Session::timecode_transmission_suspended ( ) const

◆ track_number_decimals()

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

Definition at line 394 of file session.h.

◆ track_playlist_changed()

void ARDOUR::Session::track_playlist_changed ( std::weak_ptr< Track )
private

◆ transport_locating()

bool ARDOUR::Session::transport_locating ( ) const

◆ transport_locked()

bool ARDOUR::Session::transport_locked ( ) const

◆ transport_master()

std::shared_ptr<TransportMaster> ARDOUR::Session::transport_master ( ) const

◆ transport_master_is_external()

bool ARDOUR::Session::transport_master_is_external ( ) const

◆ transport_master_no_external_or_using_engine()

bool ARDOUR::Session::transport_master_no_external_or_using_engine ( ) const

◆ transport_rolling()

bool ARDOUR::Session::transport_rolling ( ) const
Returns
true if the the transport is actively (audible) rolling. playback speed is not zero, and count-in as well as latency-preroll is complete, and _transport_sample changes every process cycle.

◆ transport_sample()

samplepos_t ARDOUR::Session::transport_sample ( ) const
inline

Definition at line 766 of file session.h.

◆ transport_speed()

double ARDOUR::Session::transport_speed ( bool  incl_preroll = false) const

◆ transport_state_rolling()

bool ARDOUR::Session::transport_state_rolling ( ) const
Returns
true if the transport state (TFSM) is rolling. Note: the transport may not yet move if pre-roll or count-in in ongoing.

◆ transport_stopped()

bool ARDOUR::Session::transport_stopped ( ) const
Returns
true if the transport state (TFSM) is stopped

◆ transport_stopped_or_stopping()

bool ARDOUR::Session::transport_stopped_or_stopping ( ) const
Returns
true if the transport state (TFSM) is stopped or stopping

◆ transport_will_roll_forwards()

bool ARDOUR::Session::transport_will_roll_forwards ( ) const

◆ trigger_at()

TriggerPtr ARDOUR::Session::trigger_at ( int32_t  route_index,
int32_t  row_index 
) const

◆ trigger_by_id()

std::shared_ptr<ARDOUR::Trigger> ARDOUR::Session::trigger_by_id ( PBD::ID  ) const

◆ trigger_cue_row()

void ARDOUR::Session::trigger_cue_row ( int32_t  )

◆ trigger_input_port()

std::shared_ptr<Port> ARDOUR::Session::trigger_input_port ( ) const

◆ trigger_stop_all()

void ARDOUR::Session::trigger_stop_all ( bool  now = true)

◆ triggerbox_at()

std::shared_ptr<TriggerBox> ARDOUR::Session::triggerbox_at ( int32_t  route_index) const

◆ trim_automation_buffer()

gain_t* ARDOUR::Session::trim_automation_buffer ( ) const

◆ try_run_lua()

void ARDOUR::Session::try_run_lua ( pframes_t  )
private

◆ unbang_trigger_at()

bool ARDOUR::Session::unbang_trigger_at ( int32_t  route_index,
int32_t  row_index 
)

◆ unblock_processing()

void ARDOUR::Session::unblock_processing ( )
inlineprivate

Definition at line 1470 of file session.h.

◆ undo()

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

Undo some transactions.

Parameters
nNumber of transactions to undo.

◆ undo_depth()

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

Definition at line 1079 of file session.h.

◆ unknown_processors()

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

◆ unload_io_plugin()

bool ARDOUR::Session::unload_io_plugin ( std::shared_ptr< IOPlug )

◆ unmark_aux_send_id()

void ARDOUR::Session::unmark_aux_send_id ( uint32_t  )

◆ unmark_insert_id()

void ARDOUR::Session::unmark_insert_id ( uint32_t  )

◆ unmark_return_id()

void ARDOUR::Session::unmark_return_id ( uint32_t  )

◆ unmark_send_id()

void ARDOUR::Session::unmark_send_id ( uint32_t  )

◆ unmark_surround_send_id()

void ARDOUR::Session::unmark_surround_send_id ( uint32_t  )

◆ unnamed()

bool ARDOUR::Session::unnamed ( ) const

◆ unnamed_file_name()

std::string ARDOUR::Session::unnamed_file_name ( ) const
private

◆ unregister_lua_function()

void ARDOUR::Session::unregister_lua_function ( const std::string &  name)

◆ unset_dirty()

void ARDOUR::Session::unset_dirty ( bool  emit_dirty_changed = false)

◆ unset_play_loop()

void ARDOUR::Session::unset_play_loop ( bool  change_transport_state = false)
private

◆ unset_play_range()

void ARDOUR::Session::unset_play_range ( )
private

◆ unset_preroll_record_trim()

void ARDOUR::Session::unset_preroll_record_trim ( )
private

◆ unset_punch()

void ARDOUR::Session::unset_punch ( )
private

◆ update_latency()

void ARDOUR::Session::update_latency ( bool  playback)
private

◆ update_latency_compensation()

void ARDOUR::Session::update_latency_compensation ( bool  force,
bool  called_from_backend 
)
protected

◆ update_marks()

void ARDOUR::Session::update_marks ( Location loc)
private

◆ update_route_latency()

bool ARDOUR::Session::update_route_latency ( bool  reverse,
bool  apply_to_delayline,
bool *  delayline_update_needed 
)
private

◆ update_route_record_state()

void ARDOUR::Session::update_route_record_state ( )
private

◆ update_route_solo_state()

void ARDOUR::Session::update_route_solo_state ( std::shared_ptr< RouteList const >  r = std::shared_ptr< RouteList const >())
private

◆ update_send_delaylines()

void ARDOUR::Session::update_send_delaylines ( )
private

◆ update_skips()

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

◆ use_rf_shuttle_speed()

void ARDOUR::Session::use_rf_shuttle_speed ( )

◆ user_roll_after_locate()

bool ARDOUR::Session::user_roll_after_locate ( ) const
protectedvirtual

Implements ARDOUR::TransportAPI.

◆ vapor_barrier()

bool ARDOUR::Session::vapor_barrier ( )

◆ vapor_export_barrier()

bool ARDOUR::Session::vapor_export_barrier ( )

◆ vca_manager()

VCAManager& ARDOUR::Session::vca_manager ( )
inline

Definition at line 1293 of file session.h.

◆ vca_manager_ptr()

VCAManager* ARDOUR::Session::vca_manager_ptr ( )
inline

Definition at line 1294 of file session.h.

◆ vkbd_output_port()

std::shared_ptr<AsyncMIDIPort> ARDOUR::Session::vkbd_output_port ( ) const

◆ vst_callback()

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

◆ wipe()

int ARDOUR::Session::wipe ( )

◆ worst_input_latency()

samplecnt_t ARDOUR::Session::worst_input_latency ( ) const
inline

Definition at line 556 of file session.h.

◆ worst_latency_preroll()

samplecnt_t ARDOUR::Session::worst_latency_preroll ( ) const

◆ worst_latency_preroll_buffer_size_ceil()

samplecnt_t ARDOUR::Session::worst_latency_preroll_buffer_size_ceil ( ) const

◆ worst_output_latency()

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

Definition at line 555 of file session.h.

◆ worst_route_latency()

samplecnt_t ARDOUR::Session::worst_route_latency ( ) const
inline

Definition at line 557 of file session.h.

◆ writable()

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

Definition at line 242 of file session.h.

◆ write_one_track()

std::shared_ptr<Region> ARDOUR::Session::write_one_track ( Track ,
samplepos_t  start,
samplepos_t  end,
bool  overwrite,
std::vector< std::shared_ptr< Source > > &  ,
InterThreadInfo wot,
std::shared_ptr< Processor endpoint,
bool  include_endpoint,
bool  for_export,
bool  for_freeze,
std::string const &  source_name = "",
std::string const &  region_name = "" 
)

◆ XMLAudioRegionFactory()

std::shared_ptr<AudioRegion> ARDOUR::Session::XMLAudioRegionFactory ( const XMLNode ,
bool  full 
)

◆ XMLMidiRegionFactory()

std::shared_ptr<MidiRegion> ARDOUR::Session::XMLMidiRegionFactory ( const XMLNode ,
bool  full 
)

◆ XMLRegionFactory()

std::shared_ptr<Region> ARDOUR::Session::XMLRegionFactory ( const XMLNode ,
bool  full 
)

◆ XMLRouteFactory()

std::shared_ptr<Route> ARDOUR::Session::XMLRouteFactory ( const XMLNode ,
int   
)
private

◆ XMLRouteFactory_2X()

std::shared_ptr<Route> ARDOUR::Session::XMLRouteFactory_2X ( const XMLNode ,
int   
)
private

◆ XMLRouteFactory_3X()

std::shared_ptr<Route> ARDOUR::Session::XMLRouteFactory_3X ( const XMLNode ,
int   
)
private

◆ XMLSourceFactory()

std::shared_ptr<Source> ARDOUR::Session::XMLSourceFactory ( const XMLNode )
private

◆ xrun_recovery()

void ARDOUR::Session::xrun_recovery ( )
private

Friends And Related Function Documentation

◆ AudioEngine

friend class AudioEngine
friend

Definition at line 1349 of file session.h.

◆ IOPlug

friend class IOPlug
friend

Definition at line 2261 of file session.h.

◆ PortManager

friend class PortManager
friend

Definition at line 2160 of file session.h.

◆ ProcessorChangeBlocker

friend class ProcessorChangeBlocker
friend

Definition at line 2274 of file session.h.

◆ Route

friend class Route
friend

Definition at line 1353 of file session.h.

◆ StateProtector

friend class StateProtector
friend

Definition at line 1572 of file session.h.

Member Data Documentation

◆ _ac_thread_active

std::atomic<int> ARDOUR::Session::_ac_thread_active
private

Definition at line 1710 of file session.h.

◆ _active_cue

std::atomic<int32_t> ARDOUR::Session::_active_cue
private

Definition at line 2346 of file session.h.

◆ _adding_routes_in_progress

bool ARDOUR::Session::_adding_routes_in_progress
private

Definition at line 1911 of file session.h.

◆ _all_route_group

RouteGroup* ARDOUR::Session::_all_route_group
private

Definition at line 1903 of file session.h.

◆ _auto_connect_cond

pthread_cond_t ARDOUR::Session::_auto_connect_cond
private

Definition at line 1712 of file session.h.

◆ _auto_connect_mutex

pthread_mutex_t ARDOUR::Session::_auto_connect_mutex
private

Definition at line 1711 of file session.h.

◆ _auto_connect_queue

AutoConnectQueue ARDOUR::Session::_auto_connect_queue
private

Definition at line 1744 of file session.h.

◆ _auto_connect_queue_lock

Glib::Threads::Mutex ARDOUR::Session::_auto_connect_queue_lock
private

Definition at line 1743 of file session.h.

◆ _auto_connect_thread

pthread_t ARDOUR::Session::_auto_connect_thread
private

Definition at line 1709 of file session.h.

◆ _base_sample_rate

samplecnt_t ARDOUR::Session::_base_sample_rate
private

Definition at line 1394 of file session.h.

◆ _bounce_processing_active

bool ARDOUR::Session::_bounce_processing_active
private

Definition at line 1392 of file session.h.

◆ _bundle_xml_node

XMLNode* ARDOUR::Session::_bundle_xml_node
private

Definition at line 2077 of file session.h.

◆ _bundles

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

Definition at line 2076 of file session.h.

◆ _butler

Butler* ARDOUR::Session::_butler
private

Definition at line 1619 of file session.h.

◆ _butler_seek_counter

std::atomic<int> ARDOUR::Session::_butler_seek_counter
private

Definition at line 1398 of file session.h.

◆ _bypass_all_loaded_plugins

bool ARDOUR::Session::_bypass_all_loaded_plugins
staticprivate

Definition at line 2192 of file session.h.

◆ _capture_duration

samplecnt_t ARDOUR::Session::_capture_duration
private

Definition at line 1419 of file session.h.

◆ _capture_load

std::atomic<int> ARDOUR::Session::_capture_load
mutableprivate

Definition at line 2072 of file session.h.

◆ _capture_xruns

unsigned int ARDOUR::Session::_capture_xruns
private

Definition at line 1420 of file session.h.

◆ _click_gain

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

Definition at line 2109 of file session.h.

◆ _click_io

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

Definition at line 2108 of file session.h.

◆ _click_io_connection

PBD::ScopedConnection ARDOUR::Session::_click_io_connection
private

Definition at line 2116 of file session.h.

◆ _click_io_latency

samplecnt_t ARDOUR::Session::_click_io_latency
private

Definition at line 2115 of file session.h.

◆ _click_iterator

Temporal::GridIterator ARDOUR::Session::_click_iterator
private

Definition at line 2117 of file session.h.

◆ _click_rec_only

bool ARDOUR::Session::_click_rec_only
private

Definition at line 2107 of file session.h.

◆ _clicking

bool ARDOUR::Session::_clicking
private

Definition at line 2106 of file session.h.

◆ _clicks_cleared

samplepos_t ARDOUR::Session::_clicks_cleared
private

Definition at line 2125 of file session.h.

◆ _count_in_once

bool ARDOUR::Session::_count_in_once
private

Definition at line 2151 of file session.h.

◆ _count_in_samples

samplecnt_t ARDOUR::Session::_count_in_samples
private

Definition at line 2126 of file session.h.

◆ _cue_events

CueEvents ARDOUR::Session::_cue_events
private

Definition at line 2341 of file session.h.

◆ _current_route_graph

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 2259 of file session.h.

◆ _current_sample_rate

samplecnt_t ARDOUR::Session::_current_sample_rate
private

Definition at line 1395 of file session.h.

◆ _current_snapshot_name

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

Definition at line 1567 of file session.h.

◆ _current_usecs_per_track

std::atomic<int> ARDOUR::Session::_current_usecs_per_track
private

Definition at line 1867 of file session.h.

◆ _disable_all_loaded_plugins

bool ARDOUR::Session::_disable_all_loaded_plugins
staticprivate

Definition at line 2191 of file session.h.

◆ _diskstreams_2X

std::map<PBD::ID, std::string> ARDOUR::Session::_diskstreams_2X
private

load 2.X Sessions. Diskstream-ID to playlist-name mapping

Definition at line 2005 of file session.h.

◆ _engine

AudioEngine& ARDOUR::Session::_engine
private

Definition at line 1389 of file session.h.

◆ _engine_speed

double ARDOUR::Session::_engine_speed
private

Definition at line 1406 of file session.h.

◆ _export_preroll

samplepos_t ARDOUR::Session::_export_preroll
private

Definition at line 1523 of file session.h.

◆ _export_rolling

bool ARDOUR::Session::_export_rolling
private

Definition at line 1520 of file session.h.

◆ _export_xruns

unsigned int ARDOUR::Session::_export_xruns
private

Definition at line 1421 of file session.h.

◆ _exporting

bool ARDOUR::Session::_exporting
private

Definition at line 1519 of file session.h.

◆ _frames_per_hour

samplecnt_t ARDOUR::Session::_frames_per_hour
private

Definition at line 1798 of file session.h.

◆ _global_locate_pending

bool ARDOUR::Session::_global_locate_pending
private

Definition at line 2323 of file session.h.

◆ _global_quantization

AnyTime ARDOUR::Session::_global_quantization
private

Definition at line 2355 of file session.h.

◆ _graph_chain

std::shared_ptr<GraphChain> ARDOUR::Session::_graph_chain
private

Definition at line 2263 of file session.h.

◆ _had_destructive_tracks

bool ARDOUR::Session::_had_destructive_tracks
private

Definition at line 2326 of file session.h.

◆ _have_captured

bool ARDOUR::Session::_have_captured
private

Definition at line 1418 of file session.h.

◆ _have_rec_disabled_track

std::atomic<int> ARDOUR::Session::_have_rec_disabled_track
private

Definition at line 2198 of file session.h.

◆ _have_rec_enabled_track

std::atomic<int> ARDOUR::Session::_have_rec_enabled_track
private

Definition at line 2197 of file session.h.

◆ _ignore_route_processor_changes

std::atomic<int> ARDOUR::Session::_ignore_route_processor_changes
private

Definition at line 2275 of file session.h.

◆ _ignore_skips_updates

bool ARDOUR::Session::_ignore_skips_updates
private

Definition at line 1646 of file session.h.

◆ _ignored_a_processor_change

std::atomic<int> ARDOUR::Session::_ignored_a_processor_change
private

Definition at line 2276 of file session.h.

◆ _io_graph_chain

std::shared_ptr<GraphChain> ARDOUR::Session::_io_graph_chain[2]
private

Definition at line 2264 of file session.h.

◆ _io_latency

samplecnt_t ARDOUR::Session::_io_latency
private

Definition at line 1415 of file session.h.

◆ _io_plugins

SerializedRCUManager<IOPlugList> ARDOUR::Session::_io_plugins
private

Definition at line 1614 of file session.h.

◆ _io_tasklist

std::shared_ptr<IOTaskList> ARDOUR::Session::_io_tasklist
private

Definition at line 2283 of file session.h.

◆ _is_new

bool ARDOUR::Session::_is_new
private

Definition at line 1549 of file session.h.

◆ _last_mmc_step

int64_t ARDOUR::Session::_last_mmc_step
private

Definition at line 1780 of file session.h.

◆ _last_record_location

samplepos_t ARDOUR::Session::_last_record_location
private

Definition at line 1589 of file session.h.

◆ _last_roll_location

samplepos_t ARDOUR::Session::_last_roll_location
private

Definition at line 1586 of file session.h.

◆ _last_roll_or_reversal_location

samplepos_t ARDOUR::Session::_last_roll_or_reversal_location
private

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

Definition at line 1588 of file session.h.

◆ _last_touched_mixer_scene_idx

size_t ARDOUR::Session::_last_touched_mixer_scene_idx
private

Definition at line 1403 of file session.h.

◆ _latency_recompute_pending

std::atomic<unsigned int> ARDOUR::Session::_latency_recompute_pending
private

Definition at line 1745 of file session.h.

◆ _listen_cnt

uint32_t ARDOUR::Session::_listen_cnt
private

Definition at line 1424 of file session.h.

◆ _listening

bool ARDOUR::Session::_listening
private

Definition at line 1423 of file session.h.

◆ _locations

Locations* ARDOUR::Session::_locations
private

Definition at line 1633 of file session.h.

◆ _ltc_output_port

std::shared_ptr<Port> ARDOUR::Session::_ltc_output_port
private

Definition at line 2280 of file session.h.

◆ _lua_add

luabridge::LuaRef* ARDOUR::Session::_lua_add
private

Definition at line 1602 of file session.h.

◆ _lua_cleanup

luabridge::LuaRef* ARDOUR::Session::_lua_cleanup
private

Definition at line 1607 of file session.h.

◆ _lua_del

luabridge::LuaRef* ARDOUR::Session::_lua_del
private

Definition at line 1603 of file session.h.

◆ _lua_list

luabridge::LuaRef* ARDOUR::Session::_lua_list
private

Definition at line 1604 of file session.h.

◆ _lua_load

luabridge::LuaRef* ARDOUR::Session::_lua_load
private

Definition at line 1605 of file session.h.

◆ _lua_run

luabridge::LuaRef* ARDOUR::Session::_lua_run
private

Definition at line 1601 of file session.h.

◆ _lua_save

luabridge::LuaRef* ARDOUR::Session::_lua_save
private

Definition at line 1606 of file session.h.

◆ _master_out

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

Definition at line 2156 of file session.h.

◆ _mempool

PBD::ReallocPool ARDOUR::Session::_mempool
private

Definition at line 1597 of file session.h.

◆ _midi_ports

MidiPortManager* ARDOUR::Session::_midi_ports
private

Definition at line 2289 of file session.h.

◆ _missing_file_replacement

std::string ARDOUR::Session::_missing_file_replacement
private

Definition at line 1431 of file session.h.

◆ _mixer_scenes

std::vector<std::shared_ptr<MixerScene> > ARDOUR::Session::_mixer_scenes
private

Definition at line 1616 of file session.h.

◆ _mixer_scenes_lock

Glib::Threads::RWLock ARDOUR::Session::_mixer_scenes_lock
mutableprivate

Definition at line 1617 of file session.h.

◆ _mmc

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

Definition at line 2290 of file session.h.

◆ _monitor_out

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

Definition at line 2157 of file session.h.

◆ _n_lua_scripts

uint32_t ARDOUR::Session::_n_lua_scripts
private

Definition at line 1608 of file session.h.

◆ _name

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

Definition at line 1548 of file session.h.

◆ _name_id_counter

std::atomic<unsigned int> ARDOUR::Session::_name_id_counter
staticprivate

Definition at line 1377 of file session.h.

◆ _no_save_signal

bool ARDOUR::Session::_no_save_signal
private

Definition at line 1576 of file session.h.

◆ _nominal_jack_transport_sample

std::optional<samplepos_t> ARDOUR::Session::_nominal_jack_transport_sample
private

Definition at line 2324 of file session.h.

◆ _non_soloed_outs_muted

bool ARDOUR::Session::_non_soloed_outs_muted
private

Definition at line 1422 of file session.h.

◆ _object_selection

Temporal::Range ARDOUR::Session::_object_selection
private

Definition at line 2146 of file session.h.

◆ _path

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

Definition at line 1547 of file session.h.

◆ _pending_cue

std::atomic<int32_t> ARDOUR::Session::_pending_cue
private

Definition at line 2345 of file session.h.

◆ _pframes_since_last_mtc

pframes_t ARDOUR::Session::_pframes_since_last_mtc
private

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

Definition at line 1554 of file session.h.

◆ _play_range

bool ARDOUR::Session::_play_range
private

Definition at line 2138 of file session.h.

◆ _playback_load

std::atomic<int> ARDOUR::Session::_playback_load
mutableprivate

Definition at line 2071 of file session.h.

◆ _playlists

std::shared_ptr<SessionPlaylists> ARDOUR::Session::_playlists
private

Definition at line 1381 of file session.h.

◆ _post_transport_work

std::atomic<PostTransportWork> ARDOUR::Session::_post_transport_work
private

Definition at line 1625 of file session.h.

◆ _pre_export_mmc_enabled

bool ARDOUR::Session::_pre_export_mmc_enabled
private

Definition at line 1532 of file session.h.

◆ _preroll_record_trim_len

samplecnt_t ARDOUR::Session::_preroll_record_trim_len
private

Definition at line 2150 of file session.h.

◆ _process_graph

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

Definition at line 2262 of file session.h.

◆ _processing_prohibited

std::atomic<int> ARDOUR::Session::_processing_prohibited
mutableprivate

Definition at line 1433 of file session.h.

◆ _punch_or_loop

std::atomic<PunchLoopLock> ARDOUR::Session::_punch_or_loop
private

Definition at line 1866 of file session.h.

◆ _range_selection

Temporal::Range ARDOUR::Session::_range_selection
private

Definition at line 2145 of file session.h.

◆ _realtime_export

bool ARDOUR::Session::_realtime_export
private

Definition at line 1521 of file session.h.

◆ _recently_touched_controllable

std::weak_ptr<PBD::Controllable> ARDOUR::Session::_recently_touched_controllable
private

Definition at line 2179 of file session.h.

◆ _reconnecting_routes_in_progress

bool ARDOUR::Session::_reconnecting_routes_in_progress
private

Definition at line 1912 of file session.h.

◆ _record_status

std::atomic<RecordState> ARDOUR::Session::_record_status
mutableprivate

Definition at line 1434 of file session.h.

◆ _region_export

bool ARDOUR::Session::_region_export
private

Definition at line 1522 of file session.h.

◆ _remaining_latency_preroll

samplecnt_t ARDOUR::Session::_remaining_latency_preroll
private

Definition at line 1402 of file session.h.

◆ _requested_return_sample

samplepos_t ARDOUR::Session::_requested_return_sample
private

Definition at line 1410 of file session.h.

◆ _required_thread_buffers

ChanCount ARDOUR::Session::_required_thread_buffers
private

Definition at line 1458 of file session.h.

◆ _required_thread_buffersize

size_t ARDOUR::Session::_required_thread_buffersize
private

Definition at line 1459 of file session.h.

◆ _route_deletion_in_progress

bool ARDOUR::Session::_route_deletion_in_progress
private

Definition at line 1913 of file session.h.

◆ _route_groups

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

Definition at line 1902 of file session.h.

◆ _route_reorder_in_progress

bool ARDOUR::Session::_route_reorder_in_progress
private

Definition at line 1914 of file session.h.

◆ _rt_emit_cond

pthread_cond_t ARDOUR::Session::_rt_emit_cond
private

Definition at line 1700 of file session.h.

◆ _rt_emit_mutex

pthread_mutex_t ARDOUR::Session::_rt_emit_mutex
private

Definition at line 1699 of file session.h.

◆ _rt_emit_pending

bool ARDOUR::Session::_rt_emit_pending
private

Definition at line 1701 of file session.h.

◆ _rt_emit_thread

pthread_t ARDOUR::Session::_rt_emit_thread
private

Definition at line 1696 of file session.h.

◆ _rt_tasklist

std::shared_ptr<RTTaskList> ARDOUR::Session::_rt_tasklist
private

Definition at line 2282 of file session.h.

◆ _rt_thread_active

bool ARDOUR::Session::_rt_thread_active
private

Definition at line 1697 of file session.h.

◆ _samples_per_timecode_frame

double ARDOUR::Session::_samples_per_timecode_frame
private

Definition at line 1797 of file session.h.

◆ _save_queued

volatile bool ARDOUR::Session::_save_queued
private

Definition at line 1574 of file session.h.

◆ _save_queued_pending

volatile bool ARDOUR::Session::_save_queued_pending
private

Definition at line 1575 of file session.h.

◆ _scene_changer

SceneChanger* ARDOUR::Session::_scene_changer
private

Definition at line 2286 of file session.h.

◆ _seek_counter

std::atomic<int> ARDOUR::Session::_seek_counter
private

Definition at line 1397 of file session.h.

◆ _selection

CoreSelection* ARDOUR::Session::_selection
private

Definition at line 2321 of file session.h.

◆ _send_latency_changes

uint32_t ARDOUR::Session::_send_latency_changes
private

Definition at line 1416 of file session.h.

◆ _send_qf_mtc

bool ARDOUR::Session::_send_qf_mtc
private

Definition at line 1550 of file session.h.

◆ _send_timecode_update

bool ARDOUR::Session::_send_timecode_update
private

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

Definition at line 1807 of file session.h.

◆ _session_dir

const std::unique_ptr<SessionDirectory> ARDOUR::Session::_session_dir
private

Definition at line 1559 of file session.h.

◆ _session_range_is_free

bool ARDOUR::Session::_session_range_is_free
private

Definition at line 1400 of file session.h.

◆ _session_range_location

Location* ARDOUR::Session::_session_range_location
private

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

Definition at line 1399 of file session.h.

◆ _signalled_varispeed

double ARDOUR::Session::_signalled_varispeed
private

Definition at line 1407 of file session.h.

◆ _silent

bool ARDOUR::Session::_silent
private

Definition at line 1401 of file session.h.

◆ _solo_cut_control

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

Definition at line 2176 of file session.h.

◆ _solo_isolated_cnt

uint32_t ARDOUR::Session::_solo_isolated_cnt
private

Definition at line 1425 of file session.h.

◆ _soloSelection

StripableList ARDOUR::Session::_soloSelection
private

Definition at line 2319 of file session.h.

◆ _speakers

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

Definition at line 2253 of file session.h.

◆ _state_of_the_state

StateOfTheState ARDOUR::Session::_state_of_the_state
private

Definition at line 1570 of file session.h.

◆ _step_editors

uint32_t ARDOUR::Session::_step_editors
private

Definition at line 2242 of file session.h.

◆ _surround_master

std::shared_ptr<Route> ARDOUR::Session::_surround_master
private

Definition at line 2158 of file session.h.

◆ _suspend_save

std::atomic<int> ARDOUR::Session::_suspend_save
private

Definition at line 1573 of file session.h.

◆ _suspend_timecode_transmission

std::atomic<int> ARDOUR::Session::_suspend_timecode_transmission
mutableprivate

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

Definition at line 2245 of file session.h.

◆ _template_state_dir

std::string ARDOUR::Session::_template_state_dir
private

Definition at line 2304 of file session.h.

◆ _timecode_frames_per_hour

samplecnt_t ARDOUR::Session::_timecode_frames_per_hour
private

Definition at line 1799 of file session.h.

◆ _total_free_4k_blocks

uint64_t ARDOUR::Session::_total_free_4k_blocks
private

Definition at line 2059 of file session.h.

◆ _total_free_4k_blocks_uncertain

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 2064 of file session.h.

◆ _track_number_decimals

uint32_t ARDOUR::Session::_track_number_decimals
private

Definition at line 1937 of file session.h.

◆ _transport_fsm

TransportFSM* ARDOUR::Session::_transport_fsm
private

Definition at line 1621 of file session.h.

◆ _transport_sample

samplepos_t ARDOUR::Session::_transport_sample
private

Definition at line 1396 of file session.h.

◆ _under_nsm_control

bool ARDOUR::Session::_under_nsm_control
private

Definition at line 1428 of file session.h.

◆ _update_latency_lock

Glib::Threads::Mutex ARDOUR::Session::_update_latency_lock
private

Definition at line 1740 of file session.h.

◆ _update_pretty_names

std::atomic<int> ARDOUR::Session::_update_pretty_names
private

Definition at line 2330 of file session.h.

◆ _update_send_delaylines

bool ARDOUR::Session::_update_send_delaylines
private

Definition at line 1417 of file session.h.

◆ _vapor_available

std::optional<bool> ARDOUR::Session::_vapor_available
private

Definition at line 1442 of file session.h.

◆ _vapor_exportable

std::optional<bool> ARDOUR::Session::_vapor_exportable
private

Definition at line 1443 of file session.h.

◆ _vca_manager

VCAManager* ARDOUR::Session::_vca_manager
private

Definition at line 2306 of file session.h.

◆ _was_seamless

bool ARDOUR::Session::_was_seamless
private

Definition at line 1427 of file session.h.

◆ _worst_input_latency

samplecnt_t ARDOUR::Session::_worst_input_latency
private

Definition at line 1413 of file session.h.

◆ _worst_output_latency

samplecnt_t ARDOUR::Session::_worst_output_latency
private

Definition at line 1412 of file session.h.

◆ _worst_route_latency

samplecnt_t ARDOUR::Session::_worst_route_latency
private

Definition at line 1414 of file session.h.

◆ _writable

bool ARDOUR::Session::_writable
private

Definition at line 1426 of file session.h.

◆ _xrun_count

unsigned int ARDOUR::Session::_xrun_count
private

Definition at line 1429 of file session.h.

◆ AfterConnect

PBD::Signal<void()> ARDOUR::Session::AfterConnect
static

after loading a session, once all ports have been created and connected signal is emitted to let objects that need to do some housekeeping post-connect.

Definition at line 899 of file session.h.

◆ AskAboutPendingState

PBD::Signal<int()> ARDOUR::Session::AskAboutPendingState
static

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

Definition at line 892 of file session.h.

◆ AskAboutPlaylistDeletion

PBD::Signal<int(std::shared_ptr<Playlist> )> ARDOUR::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 880 of file session.h.

◆ AskAboutSampleRateMismatch

PBD::Signal<int(samplecnt_t, samplecnt_t)> ARDOUR::Session::AskAboutSampleRateMismatch
static

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

Definition at line 885 of file session.h.

◆ AuditionActive

PBD::Signal<void(bool)> ARDOUR::Session::AuditionActive

Definition at line 925 of file session.h.

◆ auditioner

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

Definition at line 2014 of file session.h.

◆ auto_loop_location_changed

PBD::Signal<void(Location*)> ARDOUR::Session::auto_loop_location_changed

Definition at line 544 of file session.h.

◆ auto_play_legal

bool ARDOUR::Session::auto_play_legal
private

Definition at line 1409 of file session.h.

◆ auto_punch_location_changed

PBD::Signal<void(Location*)> ARDOUR::Session::auto_punch_location_changed

Definition at line 545 of file session.h.

◆ automation_lists

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

Definition at line 2002 of file session.h.

◆ aux_send_bitset

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

Definition at line 2029 of file session.h.

◆ BatchUpdateEnd

PBD::Signal<void()> ARDOUR::Session::BatchUpdateEnd

Definition at line 270 of file session.h.

◆ BatchUpdateStart

PBD::Signal<void()> ARDOUR::Session::BatchUpdateStart

Definition at line 269 of file session.h.

◆ bounce_chunk_size

const samplecnt_t ARDOUR::Session::bounce_chunk_size
staticprivate

Definition at line 1473 of file session.h.

◆ BundleAddedOrRemoved

PBD::Signal<void()> ARDOUR::Session::BundleAddedOrRemoved

Definition at line 1062 of file session.h.

◆ click_data

Sample* ARDOUR::Session::click_data
private

Definition at line 2110 of file session.h.

◆ click_emphasis_data

Sample* ARDOUR::Session::click_emphasis_data
private

Definition at line 2111 of file session.h.

◆ click_emphasis_length

samplecnt_t ARDOUR::Session::click_emphasis_length
private

Definition at line 2113 of file session.h.

◆ click_length

samplecnt_t ARDOUR::Session::click_length
private

Definition at line 2112 of file session.h.

◆ click_lock

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

Definition at line 2114 of file session.h.

◆ clicks

Clicks ARDOUR::Session::clicks
private

Definition at line 2105 of file session.h.

◆ config

SessionConfiguration ARDOUR::Session::config

Definition at line 1180 of file session.h.

◆ controllables

Controllables ARDOUR::Session::controllables
private

Definition at line 2174 of file session.h.

◆ controllables_lock

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

Definition at line 2173 of file session.h.

◆ created_with

std::string ARDOUR::Session::created_with
private

Definition at line 2310 of file session.h.

◆ current_audio_range

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

Definition at line 2137 of file session.h.

◆ current_block_size

pframes_t ARDOUR::Session::current_block_size
private

Definition at line 1411 of file session.h.

◆ current_midi_target

std::weak_ptr<MidiTrack> ARDOUR::Session::current_midi_target
private

Definition at line 2317 of file session.h.

◆ default_click

const Sample ARDOUR::Session::default_click[]
staticprivate

Definition at line 2119 of file session.h.

◆ default_click_emphasis

const Sample ARDOUR::Session::default_click_emphasis[]
staticprivate

Definition at line 2121 of file session.h.

◆ default_click_emphasis_length

const samplecnt_t ARDOUR::Session::default_click_emphasis_length
staticprivate

Definition at line 2122 of file session.h.

◆ default_click_length

const samplecnt_t ARDOUR::Session::default_click_length
staticprivate

Definition at line 2120 of file session.h.

◆ default_fade_msecs

float ARDOUR::Session::default_fade_msecs
private

Definition at line 2010 of file session.h.

◆ default_fade_steepness

float ARDOUR::Session::default_fade_steepness
private

Definition at line 2009 of file session.h.

◆ Dialog

PBD::Signal<void(std::string)> ARDOUR::Session::Dialog
static

Definition at line 267 of file session.h.

◆ DirtyChanged

PBD::Signal<void()> ARDOUR::Session::DirtyChanged

Definition at line 263 of file session.h.

◆ dsp_stats

PBD::TimingStats ARDOUR::Session::dsp_stats[NTT]

Definition at line 1328 of file session.h.

◆ EndTimeChanged

PBD::Signal<void(samplepos_t)> ARDOUR::Session::EndTimeChanged
static

Definition at line 803 of file session.h.

◆ export_freewheel_connection

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

Definition at line 1534 of file session.h.

◆ export_handler

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

Definition at line 1525 of file session.h.

◆ export_status

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

Definition at line 1526 of file session.h.

◆ Exported

PBD::Signal<void(std::string, std::string, bool, samplepos_t)> ARDOUR::Session::Exported
static

Definition at line 860 of file session.h.

◆ FBSendsChanged

PBD::Signal<void()> ARDOUR::Session::FBSendsChanged

Emitted when a foldback send is created or deleted

Definition at line 472 of file session.h.

◆ FeedbackDetected

PBD::Signal<void()> ARDOUR::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 1238 of file session.h.

◆ first_file_data_format_reset

bool ARDOUR::Session::first_file_data_format_reset
private

Definition at line 2182 of file session.h.

◆ first_file_header_format_reset

bool ARDOUR::Session::first_file_header_format_reset
private

Definition at line 2183 of file session.h.

◆ have_looped

bool ARDOUR::Session::have_looped
mutableprivate

Used in audible_sample.

Definition at line 2194 of file session.h.

◆ insert_bitset

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

Definition at line 2031 of file session.h.

◆ IOConnectionsComplete

PBD::Signal<void()> ARDOUR::Session::IOConnectionsComplete

Definition at line 423 of file session.h.

◆ IOPluginsChanged

PBD::Signal<void()> ARDOUR::Session::IOPluginsChanged

Definition at line 937 of file session.h.

◆ IsolatedChanged

PBD::Signal<void()> ARDOUR::Session::IsolatedChanged

Definition at line 991 of file session.h.

◆ last_loopend

samplepos_t ARDOUR::Session::last_loopend
private

Definition at line 1557 of file session.h.

◆ last_process_function

process_function_type ARDOUR::Session::last_process_function
private

Definition at line 1391 of file session.h.

◆ last_rr_session_dir

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

Definition at line 2058 of file session.h.

◆ last_timecode

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

Definition at line 1805 of file session.h.

◆ last_timecode_valid

bool ARDOUR::Session::last_timecode_valid
private

Definition at line 1803 of file session.h.

◆ last_timecode_when

samplepos_t ARDOUR::Session::last_timecode_when
private

Definition at line 1804 of file session.h.

◆ LatencyUpdated

PBD::Signal<void(bool)> ARDOUR::Session::LatencyUpdated

Definition at line 562 of file session.h.

◆ Located

PBD::Signal<void()> ARDOUR::Session::Located

emitted when a locate has occurred

Definition at line 454 of file session.h.

◆ locations_modified

PBD::Signal<void()> ARDOUR::Session::locations_modified

Definition at line 546 of file session.h.

◆ loop_changing

bool ARDOUR::Session::loop_changing
private

Definition at line 1556 of file session.h.

◆ loop_connections

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

Definition at line 1653 of file session.h.

◆ ltc_buf_len

int32_t ARDOUR::Session::ltc_buf_len
private

Definition at line 1816 of file session.h.

◆ ltc_buf_off

int32_t ARDOUR::Session::ltc_buf_off
private

Definition at line 1815 of file session.h.

◆ ltc_enc_buf

ltcsnd_sample_t* ARDOUR::Session::ltc_enc_buf
private

Definition at line 1812 of file session.h.

◆ ltc_enc_byte

int32_t ARDOUR::Session::ltc_enc_byte
private

Definition at line 1819 of file session.h.

◆ ltc_enc_cnt

double ARDOUR::Session::ltc_enc_cnt
private

Definition at line 1821 of file session.h.

◆ ltc_enc_off

samplepos_t ARDOUR::Session::ltc_enc_off
private

Definition at line 1822 of file session.h.

◆ ltc_enc_pos

samplepos_t ARDOUR::Session::ltc_enc_pos
private

Definition at line 1820 of file session.h.

◆ ltc_enc_tcformat

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

Definition at line 1814 of file session.h.

◆ ltc_encoder

LTCEncoder* ARDOUR::Session::ltc_encoder
private

Definition at line 1811 of file session.h.

◆ ltc_out_latency

LatencyRange ARDOUR::Session::ltc_out_latency
private

Definition at line 1829 of file session.h.

◆ ltc_prev_cycle

samplepos_t ARDOUR::Session::ltc_prev_cycle
private

Definition at line 1824 of file session.h.

◆ ltc_speed

double ARDOUR::Session::ltc_speed
private

Definition at line 1818 of file session.h.

◆ ltc_timecode_negative_offset

bool ARDOUR::Session::ltc_timecode_negative_offset
private

Definition at line 1827 of file session.h.

◆ ltc_timecode_offset

samplepos_t ARDOUR::Session::ltc_timecode_offset
private

Definition at line 1826 of file session.h.

◆ ltc_tx_connections

PBD::ScopedConnectionList ARDOUR::Session::ltc_tx_connections
private

Definition at line 1838 of file session.h.

◆ lua

LuaState ARDOUR::Session::lua
private

Definition at line 1599 of file session.h.

◆ lua_lock

Glib::Threads::Mutex ARDOUR::Session::lua_lock
mutableprivate

Definition at line 1600 of file session.h.

◆ LuaScriptsChanged

PBD::Signal<void()> ARDOUR::Session::LuaScriptsChanged

Definition at line 934 of file session.h.

◆ main_outs

uint32_t ARDOUR::Session::main_outs
private

Definition at line 2154 of file session.h.

◆ master_wait_end

samplepos_t ARDOUR::Session::master_wait_end
private

Definition at line 1483 of file session.h.

◆ midi_clock

MidiClockTicker* ARDOUR::Session::midi_clock
private

Definition at line 2278 of file session.h.

◆ midi_control_ui

MidiControlUI* ARDOUR::Session::midi_control_ui
private

Definition at line 1848 of file session.h.

◆ midi_msg

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

Definition at line 1792 of file session.h.

◆ midi_timeouts

MidiTimeoutList ARDOUR::Session::midi_timeouts
private

Definition at line 1786 of file session.h.

◆ MissingFile

PBD::Signal<int(Session*,std::string,DataType)> ARDOUR::Session::MissingFile
static

Definition at line 1254 of file session.h.

◆ modified_with

std::string ARDOUR::Session::modified_with
mutableprivate

Definition at line 2311 of file session.h.

◆ MonitorBusAddedOrRemoved

PBD::Signal<void()> ARDOUR::Session::MonitorBusAddedOrRemoved

Definition at line 993 of file session.h.

◆ MonitorChanged

PBD::Signal<void()> ARDOUR::Session::MonitorChanged

Definition at line 992 of file session.h.

◆ mtc_msg

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

Definition at line 1790 of file session.h.

◆ mtc_out_latency

LatencyRange ARDOUR::Session::mtc_out_latency
private

Definition at line 1830 of file session.h.

◆ mtc_timecode_bits

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

Definition at line 1791 of file session.h.

◆ MtcOrLtcInputPortChanged

PBD::Signal<void()> ARDOUR::Session::MtcOrLtcInputPortChanged

Definition at line 478 of file session.h.

◆ MuteChanged

PBD::Signal<void()> ARDOUR::Session::MuteChanged

Definition at line 990 of file session.h.

◆ next_quarter_frame_to_send

int ARDOUR::Session::next_quarter_frame_to_send
private

Definition at line 1795 of file session.h.

◆ no_questions_about_missing_files

bool ARDOUR::Session::no_questions_about_missing_files
private

Definition at line 2067 of file session.h.

◆ NotifyAboutSampleRateMismatch

PBD::Signal<void(samplecnt_t, samplecnt_t)> ARDOUR::Session::NotifyAboutSampleRateMismatch
static

non interactive message

Definition at line 888 of file session.h.

◆ outbound_mtc_timecode_frame

double ARDOUR::Session::outbound_mtc_timecode_frame
private

Definition at line 1793 of file session.h.

◆ peak_cleanup_lock

Glib::Threads::Mutex ARDOUR::Session::peak_cleanup_lock
private

Definition at line 1580 of file session.h.

◆ pending_abort

bool ARDOUR::Session::pending_abort
private

Definition at line 1591 of file session.h.

◆ pending_audition_region

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

Definition at line 2017 of file session.h.

◆ pending_auto_loop

bool ARDOUR::Session::pending_auto_loop
private

Definition at line 1592 of file session.h.

◆ pending_source_markers

ARDOUR::CueMarkers ARDOUR::Session::pending_source_markers

Definition at line 1982 of file session.h.

◆ play_loop

bool ARDOUR::Session::play_loop
private

Definition at line 1555 of file session.h.

◆ PositionChanged

PBD::Signal<void(samplepos_t)> ARDOUR::Session::PositionChanged

Definition at line 449 of file session.h.

◆ post_export_position

samplepos_t ARDOUR::Session::post_export_position
private

Definition at line 1517 of file session.h.

◆ post_export_sync

bool ARDOUR::Session::post_export_sync
private

Definition at line 1516 of file session.h.

◆ process_function

process_function_type ARDOUR::Session::process_function
private

Definition at line 1390 of file session.h.

◆ ProcessCannotProceedMask

const PostTransportWork ARDOUR::Session::ProcessCannotProceedMask = PostTransportWork (PostTransportAudition)
staticprivate

Definition at line 1623 of file session.h.

◆ ProcessExport

PBD::Signal<int(samplecnt_t)> ARDOUR::Session::ProcessExport

Definition at line 859 of file session.h.

◆ pt_imported_sources

SourceList ARDOUR::Session::pt_imported_sources

Definition at line 1317 of file session.h.

◆ ptfwavpair

std::vector<struct ptflookup> ARDOUR::Session::ptfwavpair

Definition at line 1316 of file session.h.

◆ punch_connections

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

Definition at line 1648 of file session.h.

◆ PunchLoopConstraintChange

PBD::Signal<void()> ARDOUR::Session::PunchLoopConstraintChange

Definition at line 831 of file session.h.

◆ QuantizationChanged

PBD::Signal<void()> ARDOUR::Session::QuantizationChanged

Definition at line 1346 of file session.h.

◆ Quit

PBD::Signal<void()> ARDOUR::Session::Quit
static

Emitted when the session wants Ardour to quit

Definition at line 1261 of file session.h.

◆ RecordArmStateChanged

PBD::Signal<void()> ARDOUR::Session::RecordArmStateChanged

Definition at line 431 of file session.h.

◆ RecordStateChanged

PBD::Signal<void()> ARDOUR::Session::RecordStateChanged

Definition at line 427 of file session.h.

◆ region_lock

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

Definition at line 1953 of file session.h.

◆ registry

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

Definition at line 1085 of file session.h.

◆ restarting

bool ARDOUR::Session::restarting
private

Definition at line 1823 of file session.h.

◆ return_bitset

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

Definition at line 2030 of file session.h.

◆ route_group_added

PBD::Signal<void(RouteGroup*)> ARDOUR::Session::route_group_added

Definition at line 712 of file session.h.

◆ route_group_removed

PBD::Signal<void()> ARDOUR::Session::route_group_removed

Definition at line 713 of file session.h.

◆ route_groups_reordered

PBD::Signal<void()> ARDOUR::Session::route_groups_reordered

Definition at line 714 of file session.h.

◆ RouteAdded

PBD::Signal<void(RouteList&)> ARDOUR::Session::RouteAdded

Definition at line 456 of file session.h.

◆ RouteAddedToRouteGroup

PBD::Signal<void(RouteGroup *, std::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 464 of file session.h.

◆ RouteGroupPropertyChanged

PBD::Signal<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 460 of file session.h.

◆ RouteRemovedFromRouteGroup

PBD::Signal<void(RouteGroup *, std::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 468 of file session.h.

◆ routes

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

Definition at line 1907 of file session.h.

◆ rt_cleanup

const SessionEvent::RTeventCallback ARDOUR::Session::rt_cleanup
static

Definition at line 979 of file session.h.

◆ save_source_lock

Glib::Threads::Mutex ARDOUR::Session::save_source_lock
private

Definition at line 1579 of file session.h.

◆ save_state_lock

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

Definition at line 1578 of file session.h.

◆ SaveSessionRequested

PBD::Signal<void(std::string)> ARDOUR::Session::SaveSessionRequested

Definition at line 645 of file session.h.

◆ send_bitset

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

Definition at line 2027 of file session.h.

◆ SendFeedback

PBD::Signal<void()> ARDOUR::Session::SendFeedback
static

Definition at line 1151 of file session.h.

◆ session_dirs

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

Definition at line 2057 of file session.h.

◆ session_end_shift

const uint32_t ARDOUR::Session::session_end_shift
staticprivate

Definition at line 2302 of file session.h.

◆ session_routes_reconnected

PBD::Signal<void()> ARDOUR::Session::session_routes_reconnected

Definition at line 996 of file session.h.

◆ SessionLoaded

PBD::Signal<void()> ARDOUR::Session::SessionLoaded

Definition at line 436 of file session.h.

◆ SessionSaveUnderway

PBD::Signal<void()> ARDOUR::Session::SessionSaveUnderway

Definition at line 650 of file session.h.

◆ skip_update_connections

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

Definition at line 1645 of file session.h.

◆ SoloActive

PBD::Signal<void(bool)> ARDOUR::Session::SoloActive

Definition at line 988 of file session.h.

◆ SoloChanged

PBD::Signal<void()> ARDOUR::Session::SoloChanged

Definition at line 989 of file session.h.

◆ source_lock

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

Definition at line 1964 of file session.h.

◆ SourceAdded

PBD::Signal< void(std::weak_ptr<Source> )> ARDOUR::Session::SourceAdded

Definition at line 1969 of file session.h.

◆ SourceRemoved

PBD::Signal< void(std::weak_ptr<Source> )> ARDOUR::Session::SourceRemoved

Definition at line 1970 of file session.h.

◆ sources

SourceMap ARDOUR::Session::sources
private

Definition at line 1986 of file session.h.

◆ space_lock

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

Definition at line 2065 of file session.h.

◆ StartTimeChanged

PBD::Signal<void(samplepos_t)> ARDOUR::Session::StartTimeChanged
static

Definition at line 802 of file session.h.

◆ state_tree

XMLTree* ARDOUR::Session::state_tree
private

Definition at line 1569 of file session.h.

◆ StateReady

PBD::Signal<void()> ARDOUR::Session::StateReady

Definition at line 635 of file session.h.

◆ StateSaved

PBD::Signal<void(std::string)> ARDOUR::Session::StateSaved

Definition at line 634 of file session.h.

◆ step_speed

double ARDOUR::Session::step_speed
private

Definition at line 1781 of file session.h.

◆ StepEditStatusChange

PBD::Signal<void(bool)> ARDOUR::Session::StepEditStatusChange

Definition at line 475 of file session.h.

◆ SuccessfulGraphSort

PBD::Signal<void()> ARDOUR::Session::SuccessfulGraphSort
static

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

Definition at line 1243 of file session.h.

◆ surround_send_bitset

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

Definition at line 2028 of file session.h.

◆ SurroundMasterAddedOrRemoved

PBD::Signal<void()> ARDOUR::Session::SurroundMasterAddedOrRemoved

Definition at line 994 of file session.h.

◆ SurroundObjectCountChanged

PBD::Signal<void(int)> ARDOUR::Session::SurroundObjectCountChanged

Definition at line 419 of file session.h.

◆ tb_with_filled_slots

int ARDOUR::Session::tb_with_filled_slots
private

Definition at line 2350 of file session.h.

◆ transmitting_timecode_time

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

Definition at line 1794 of file session.h.

◆ transport_master_strategy

TransportMasterStrategy ARDOUR::Session::transport_master_strategy
private

Definition at line 1507 of file session.h.

◆ TransportLooped

PBD::Signal<void()> ARDOUR::Session::TransportLooped

Definition at line 451 of file session.h.

◆ TransportStateChange

PBD::Signal<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 447 of file session.h.

◆ UpdateRouteRecordState

PBD::Signal<void()> ARDOUR::Session::UpdateRouteRecordState

Definition at line 433 of file session.h.

◆ VersionMismatch

PBD::Signal<void(std::string,std::string)> ARDOUR::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 1266 of file session.h.

◆ vst_can_do_string_count

const int ARDOUR::Session::vst_can_do_string_count
static

Definition at line 1140 of file session.h.

◆ vst_can_do_strings

const char* ARDOUR::Session::vst_can_do_strings[]
static

Definition at line 1139 of file session.h.

◆ vst_current_loading_id

int ARDOUR::Session::vst_current_loading_id
static

Definition at line 1138 of file session.h.

◆ waiting_for_sync_offset

bool ARDOUR::Session::waiting_for_sync_offset
private

Definition at line 1393 of file session.h.

◆ Xrun

PBD::Signal<void(samplepos_t)> ARDOUR::Session::Xrun

Definition at line 450 of file session.h.


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