diff options
author | Robin Gareus <robin@gareus.org> | 2017-09-09 03:07:01 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-09-09 03:08:46 +0200 |
commit | 7872e4033f236356f0b5a10d0a4eb889adca52d2 (patch) | |
tree | 4dfdca42959c925faa3f97d7544125a22b5c125a /libs/ardour/ardour/plugin.h | |
parent | b43fd4ad0e3b45dd44e0d5d28c6b696cfd16583e (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.h | 1 |
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; } |