diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/butler.h | 2 | ||||
-rw-r--r-- | libs/ardour/butler.cc | 17 | ||||
-rw-r--r-- | libs/ardour/session_state.cc | 1 |
3 files changed, 13 insertions, 7 deletions
diff --git a/libs/ardour/ardour/butler.h b/libs/ardour/ardour/butler.h index 94b6fb876b..7f0847498e 100644 --- a/libs/ardour/ardour/butler.h +++ b/libs/ardour/ardour/butler.h @@ -61,6 +61,8 @@ class LIBARDOUR_API Butler : public SessionHandleRef bool transport_work_requested() const; void drop_references (); + void map_parameters (); + framecnt_t audio_diskstream_capture_buffer_size() const { return audio_dstream_capture_buffer_size; } framecnt_t audio_diskstream_playback_buffer_size() const { return audio_dstream_playback_buffer_size; } uint32_t midi_diskstream_buffer_size() const { return midi_dstream_buffer_size; } diff --git a/libs/ardour/butler.cc b/libs/ardour/butler.cc index 2485bc399f..67d7dd1617 100644 --- a/libs/ardour/butler.cc +++ b/libs/ardour/butler.cc @@ -54,13 +54,8 @@ Butler::Butler(Session& s) g_atomic_int_set(&should_do_transport_work, 0); SessionEvent::pool->set_trash (&pool_trash); - /* catch future changes to parameters */ - Config->ParameterChanged.connect_same_thread (*this, boost::bind (&Butler::config_changed, this, _1)); - - /* use any current ones that we care about */ - boost::function<void (std::string)> ff (boost::bind (&Butler::config_changed, this, _1)); - Config->map_parameters (ff); - + /* catch future changes to parameters */ + Config->ParameterChanged.connect_same_thread (*this, boost::bind (&Butler::config_changed, this, _1)); } Butler::~Butler() @@ -69,6 +64,14 @@ Butler::~Butler() } void +Butler::map_parameters () +{ + /* use any current ones that we care about */ + boost::function<void (std::string)> ff (boost::bind (&Butler::config_changed, this, _1)); + Config->map_parameters (ff); +} + +void Butler::config_changed (std::string p) { if (p == "playback-buffer-seconds") { diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index ce0d006a9e..ba904d24c9 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -271,6 +271,7 @@ Session::post_engine_init () Config->map_parameters (ff); config.map_parameters (ft); + _butler->map_parameters (); /* Reset all panners */ |