X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=libs%2Fardour%2Fardour%2Fsession.h;h=db80ddcae3543982d17e6eba3d2ef12c980c17d3;hb=faefc3ba9a42417b133235e0a9efeaba467aad5f;hp=61c575e0b22fa85b1533840a3decb837dcd95653;hpb=57ee61772b6c44e7731619c5c74e45bb860ac4aa;p=ardour.git diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 61c575e0b2..db80ddcae3 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -302,10 +302,6 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop }; void notify_presentation_info_change (); - void clear_stripable_selection (); - void toggle_stripable_selection (boost::shared_ptr); - void add_stripable_selection (boost::shared_ptr); - void set_stripable_selection (boost::shared_ptr); template void foreach_route (T *obj, void (T::*func)(Route&), bool sort = true); template void foreach_route (T *obj, void (T::*func)(boost::shared_ptr), bool sort = true); @@ -463,6 +459,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop void set_auto_punch_location (Location *); void set_auto_loop_location (Location *); void set_session_extents (framepos_t start, framepos_t end); + void set_end_is_free (bool); int location_name(std::string& result, std::string base = std::string("")); pframes_t get_block_size() const { return current_block_size; } @@ -707,7 +704,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop boost::shared_ptr get_export_handler (); boost::shared_ptr get_export_status (); - int start_audio_export (framepos_t position); + int start_audio_export (framepos_t position, bool realtime = false); PBD::Signal1 ProcessExport; static PBD::Signal2 Exported; @@ -794,6 +791,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop bool soloing() const { return _non_soloed_outs_muted; } bool listening() const { return _listen_cnt > 0; } bool solo_isolated() const { return _solo_isolated_cnt > 0; } + void cancel_all_solo (); static const SessionEvent::RTeventCallback rt_cleanup; @@ -822,8 +820,6 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop boost::shared_ptr monitor_out() const { return _monitor_out; } boost::shared_ptr master_out() const { return _master_out; } - boost::weak_ptr get_editor_mixer() const { return _editor_mixer; } - void set_editor_mixer (boost::weak_ptr r) { _editor_mixer = r; } void globally_add_internal_sends (boost::shared_ptr dest, Placement p, bool); void globally_set_send_gains_from_track (boost::shared_ptr dest); @@ -1181,6 +1177,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop mutable gint _record_status; framepos_t _transport_frame; Location* _session_range_location; ///< session range, or 0 if there is nothing in the session yet + bool _session_range_end_is_free; Slave* _slave; bool _silent; @@ -1233,8 +1230,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop void process_without_events (pframes_t); void process_with_events (pframes_t); void process_audition (pframes_t); - int process_export (pframes_t); - int process_export_fw (pframes_t); + void process_export (pframes_t); + void process_export_fw (pframes_t); void block_processing() { g_atomic_int_set (&processing_prohibited, 1); } void unblock_processing() { g_atomic_int_set (&processing_prohibited, 0); } @@ -1271,7 +1268,9 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop bool _exporting; bool _export_rolling; + bool _realtime_export; framepos_t _export_preroll; + framepos_t _export_latency; boost::shared_ptr export_handler; boost::shared_ptr export_status; @@ -1515,8 +1514,10 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop typedef std::queue AutoConnectQueue; Glib::Threads::Mutex _auto_connect_queue_lock; AutoConnectQueue _auto_connect_queue; + guint _latency_recompute_pending; void auto_connect (const AutoConnectRequest&); + void queue_latency_recompute (); /* SessionEventManager interface */ @@ -1873,7 +1874,6 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop boost::shared_ptr _master_out; boost::shared_ptr _monitor_out; - boost::weak_ptr _editor_mixer; void auto_connect_master_bus ();