fix timing of Butler mapping config parameters to avoid crash.
Amazing that this didn't show up on Linux at all, or on the first run after build. Computers ... sigh. Conflicts: libs/ardour/butler.cc
This commit is contained in:
@@ -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; }
|
||||
|
||||
@@ -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()
|
||||
@@ -68,6 +63,14 @@ Butler::~Butler()
|
||||
terminate_thread ();
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
|
||||
@@ -271,6 +271,7 @@ Session::post_engine_init ()
|
||||
|
||||
Config->map_parameters (ff);
|
||||
config.map_parameters (ft);
|
||||
_butler->map_parameters ();
|
||||
|
||||
/* Reset all panners */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user