diff options
author | Robin Gareus <robin@gareus.org> | 2016-09-17 13:46:30 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-09-17 13:46:30 +0200 |
commit | 6ad519ce8e8367f61187998dc8bb88dce60e7098 (patch) | |
tree | 8c88380ef1e70a8eda5f494b8c8b87c56e23092f /libs/ardour/ardour/vst_plugin.h | |
parent | a1fae47c1529f724ffa8678361ddc9addabdb7af (diff) |
VST threading: prevent concurrent effSetChunk and process()
This is a potential fix for unreliable preset load/restore.
(http://mixbus.harrisonconsoles.com/forum/thread-1970-post-21486.html#pid21486)
Since a Glib Mutex can't be copy-constructed an explicit copy c'tor
is needed.
Diffstat (limited to 'libs/ardour/ardour/vst_plugin.h')
-rw-r--r-- | libs/ardour/ardour/vst_plugin.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/ardour/ardour/vst_plugin.h b/libs/ardour/ardour/vst_plugin.h index e56b9c005c..182b432692 100644 --- a/libs/ardour/ardour/vst_plugin.h +++ b/libs/ardour/ardour/vst_plugin.h @@ -40,6 +40,7 @@ class LIBARDOUR_API VSTPlugin : public Plugin { public: VSTPlugin (AudioEngine &, Session &, VSTHandle *); + VSTPlugin (const VSTPlugin& other); virtual ~VSTPlugin (); void activate (); @@ -119,6 +120,8 @@ protected: framepos_t _transport_frame; float _transport_speed; mutable std::map <uint32_t, float> _parameter_defaults; + + Glib::Threads::Mutex _state_lock; }; } |