summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/plugin.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-09-09 03:07:01 +0200
committerRobin Gareus <robin@gareus.org>2017-09-09 03:08:46 +0200
commit7872e4033f236356f0b5a10d0a4eb889adca52d2 (patch)
tree4dfdca42959c925faa3f97d7544125a22b5c125a /libs/ardour/ardour/plugin.h
parentb43fd4ad0e3b45dd44e0d5d28c6b696cfd16583e (diff)
LV2/midnam tweaks - fix race conditions
* Emit signal once midnam was actually updated * only re-read midnam if was it changed. This allows idempotent calls to read_midnam() - from the same thread. At session-load a synth-plugin may load a soundfont in the background and emit midnam_update() after the synth was initialized but before the GUI thread connects to the signal. By making the call idempotent the GUI can call read_midnam() after connecting to the signal to catch up.
Diffstat (limited to 'libs/ardour/ardour/plugin.h')
-rw-r--r--libs/ardour/ardour/plugin.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h
index 52fbc71c68..f51f34b099 100644
--- a/libs/ardour/ardour/plugin.h
+++ b/libs/ardour/ardour/plugin.h
@@ -182,6 +182,7 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
virtual bool read_midnam () { return false; }
virtual std::string midnam_model () { return ""; }
PBD::Signal0<void> UpdateMidnam;
+ PBD::Signal0<void> UpdatedMidnam;
virtual bool knows_bank_patch () { return false; }
virtual uint32_t bank_patch (uint8_t chn) { return UINT32_MAX; }