summaryrefslogtreecommitdiff
path: root/libs/ardour/butler.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-01-26 15:54:29 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-06-29 14:18:13 -0400
commit5927fb49976aea12591fb9d72eee77d1deeb2e6d (patch)
treed8b5fa3b9a59d0735391f6f1da07c64d2a207029 /libs/ardour/butler.cc
parente71236794db6a1a73d8247b981897381d97d3308 (diff)
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
Diffstat (limited to 'libs/ardour/butler.cc')
-rw-r--r--libs/ardour/butler.cc17
1 files changed, 10 insertions, 7 deletions
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") {