mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-25 07:57:43 +01:00
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:
parent
90399c80e6
commit
f808e772bc
3 changed files with 11 additions and 4 deletions
|
|
@ -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; }
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -277,6 +277,7 @@ Session::post_engine_init ()
|
|||
|
||||
Config->map_parameters (ff);
|
||||
config.map_parameters (ft);
|
||||
_butler->map_parameters ();
|
||||
|
||||
/* Reset all panners */
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue