Session HAS-A VCAManager

This commit is contained in:
Paul Davis 2016-01-26 00:18:03 -05:00
parent ab9bb49f39
commit c61a5cabc7
3 changed files with 11 additions and 1 deletions

View File

@ -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;
};

View File

@ -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

View File

@ -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;