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.
This commit is contained in:
Paul Davis 2015-01-26 15:54:29 -05:00
parent 90399c80e6
commit f808e772bc
3 changed files with 11 additions and 4 deletions

View file

@ -60,6 +60,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; }

View file

@ -54,10 +54,6 @@ Butler::Butler(Session& s)
/* 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);
}
Butler::~Butler()
@ -65,6 +61,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)
{

View file

@ -277,6 +277,7 @@ Session::post_engine_init ()
Config->map_parameters (ff);
config.map_parameters (ft);
_butler->map_parameters ();
/* Reset all panners */