diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/session.h | 7 | ||||
-rw-r--r-- | libs/ardour/session.cc | 3 | ||||
-rw-r--r-- | libs/ardour/session_state.cc | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 8d6dabd331..e774666ce5 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -148,6 +148,7 @@ class Source; class Speakers; class TempoMap; class Track; +class VCAManager; class WindowsVSTPlugin; extern void setup_enum_writer (); @@ -331,7 +332,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop void maybe_enable_record (); 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 (); @@ -1122,6 +1123,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop void reconnect_ltc_input (); void reconnect_ltc_output (); + VCAManager& vca_manager() { return *_vca_manager; } + protected: friend class AudioEngine; void set_block_size (pframes_t nframes); @@ -1984,6 +1987,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop static const uint32_t session_end_shift; std::string _template_state_dir; + + VCAManager* _vca_manager; }; diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index e751cfbe38..da370181ce 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -105,6 +105,7 @@ #include "ardour/track.h" #include "ardour/user_bundle.h" #include "ardour/utils.h" +#include "ardour/vca_manager.h" #include "midi++/port.h" #include "midi++/mmc.h" @@ -311,6 +312,7 @@ Session::Session (AudioEngine &eng, , _scene_changer (0) , _midi_ports (0) , _mmc (0) + , _vca_manager (0) { uint32_t sr = 0; @@ -746,6 +748,7 @@ Session::destroy () delete midi_clock; delete _tempo_map; + delete _vca_manager; /* clear event queue, the session is gone, nobody is interested in * those anymore, but they do leak memory if not removed diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 11b28a1e76..15ae5e08e1 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -119,6 +119,7 @@ #include "ardour/tempo.h" #include "ardour/ticker.h" #include "ardour/user_bundle.h" +#include "ardour/vca_manager.h" #include "control_protocol/control_protocol.h" @@ -171,6 +172,7 @@ Session::pre_engine_init (string fullpath) set_next_event (); _all_route_group->set_active (true, this); interpolation.add_channel_to (0, 0); + _vca_manager = new VCAManager (*this); if (config.get_use_video_sync()) { waiting_for_sync_offset = true; |