X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fsession.h;h=0ade34a0e709e1a76d58ec14695299208a3983cb;hb=8229124078cef9fac0d4a20bc7958a3148eb092f;hp=562b8a94c2d986b092f7247e186004ed332fa079;hpb=bbe62da55a5fb06ba39e02c9671a94ab6e24bb08;p=ardour.git diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 562b8a94c2..0ade34a0e7 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -199,7 +199,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop virtual ~Session (); - static int get_info_from_path (const std::string& xmlpath, float& sample_rate, SampleFormat& data_format, std::string& created_version); + static int get_info_from_path (const std::string& xmlpath, float& sample_rate, SampleFormat& data_format, std::string& program_version); static std::string get_snapshot_from_instant (const std::string& session_dir); /** a monotonic counter used for naming user-visible things uniquely @@ -655,7 +655,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop ); std::list > new_midi_track ( - const ChanCount& input, const ChanCount& output, + const ChanCount& input, const ChanCount& output, bool strict_io, boost::shared_ptr instrument, Plugin::PresetRecord* pset, RouteGroup* route_group, uint32_t how_many, std::string name_template, @@ -664,7 +664,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop ); 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, boost::shared_ptr instrument, Plugin::PresetRecord*, PresentationInfo::Flag, PresentationInfo::order_t); + RouteList new_midi_route (RouteGroup* route_group, uint32_t how_many, std::string name_template, bool strict_io, boost::shared_ptr instrument, Plugin::PresetRecord*, PresentationInfo::Flag, PresentationInfo::order_t); void remove_routes (boost::shared_ptr); void remove_route (boost::shared_ptr); @@ -681,7 +681,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop framepos_t transport_frame () const {return _transport_frame; } framepos_t record_location () const {return _last_record_location; } - framepos_t audible_frame () const; + framepos_t audible_frame (bool* latent_locate = NULL) const; framepos_t requested_return_frame() const { return _requested_return_frame; } void set_requested_return_frame(framepos_t return_to); @@ -720,9 +720,9 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop bool synced_to_mtc () const { return config.get_external_sync() && Config->get_sync_source() == MTC && g_atomic_int_get (const_cast(&_mtc_active)); } bool synced_to_ltc () const { return config.get_external_sync() && Config->get_sync_source() == LTC && g_atomic_int_get (const_cast(&_ltc_active)); } - double transport_speed() const { return _transport_speed; } + double transport_speed() const { return _count_in_samples > 0 ? 0. : _transport_speed; } bool transport_stopped() const { return _transport_speed == 0.0; } - bool transport_rolling() const { return _transport_speed != 0.0; } + bool transport_rolling() const { return _transport_speed != 0.0 && _count_in_samples == 0; } bool silent () { return _silent; } @@ -823,6 +823,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop uint32_t registered_lua_function_count () const { return _n_lua_scripts; } void scripts_changed (); // called from lua, updates _n_lua_scripts + PBD::Signal0 LuaScriptsChanged; + /* flattening stuff */ boost::shared_ptr write_one_track (Track&, framepos_t start, framepos_t end, @@ -851,6 +853,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop PBD::Signal1 SoloActive; PBD::Signal0 SoloChanged; + PBD::Signal0 MuteChanged; PBD::Signal0 IsolatedChanged; PBD::Signal0 MonitorChanged; @@ -1003,6 +1006,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop void request_preroll_record_punch (framepos_t start, framecnt_t preroll); void request_preroll_record_trim (framepos_t start, framecnt_t preroll); + void request_count_in_record (); framepos_t preroll_record_punch_pos () const { return _preroll_record_punch_pos; } bool preroll_record_punch_enabled () const { return _preroll_record_punch_pos >= 0; } @@ -1142,6 +1146,10 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop */ static PBD::Signal3 MissingFile; + void set_missing_file_replacement (const std::string& mfr) { + _missing_file_replacement = mfr; + } + /** Emitted when the session wants Ardour to quit */ static PBD::Signal0 Quit; @@ -1257,6 +1265,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop bool _under_nsm_control; unsigned int _xrun_count; + std::string _missing_file_replacement; + void mtc_status_changed (bool); PBD::ScopedConnection mtc_status_connection; void ltc_status_changed (bool); @@ -1433,7 +1443,6 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop static const PostTransportWork ProcessCannotProceedMask = PostTransportWork ( PostTransportInputChange| - PostTransportSpeed| PostTransportReverse| PostTransportCurveRealloc| PostTransportAudition| @@ -1705,7 +1714,6 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop TempoMap *_tempo_map; void tempo_map_changed (const PBD::PropertyChange&); - void gui_tempo_map_changed (); /* edit/mix groups */ @@ -1888,6 +1896,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop typedef std::list Clicks; Clicks clicks; bool _clicking; + bool _click_rec_only; boost::shared_ptr _click_io; boost::shared_ptr _click_gain; Sample* click_data; @@ -1931,6 +1940,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop framepos_t _preroll_record_punch_pos; framecnt_t _preroll_record_trim_len; + bool _count_in_once; /* main outs */ uint32_t main_outs; @@ -1940,17 +1950,6 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop void auto_connect_master_bus (); - /* Windows VST support */ - - long _windows_vst_callback ( - WindowsVSTPlugin*, - long opcode, - long index, - long value, - void* ptr, - float opt - ); - int find_all_sources (std::string path, std::set& result); int find_all_sources_across_snapshots (std::set& result, bool exclude_this_snapshot);