diff --git a/libs/ardour/ardour/vst_plugin.h b/libs/ardour/ardour/vst_plugin.h index 2a8b4dc9a1..00bf680217 100644 --- a/libs/ardour/ardour/vst_plugin.h +++ b/libs/ardour/ardour/vst_plugin.h @@ -20,6 +20,7 @@ #ifndef __ardour_vst_plugin_h__ #define __ardour_vst_plugin_h__ +#include #include "ardour/plugin.h" struct _AEffect; @@ -59,6 +60,8 @@ public: framecnt_t signal_latency() const; std::set automatable() const; + PBD::Signal0 LoadPresetProgram; + bool parameter_is_audio (uint32_t) const { return false; } bool parameter_is_control (uint32_t) const { return true; } bool parameter_is_input (uint32_t) const { return true; } diff --git a/libs/ardour/vst_plugin.cc b/libs/ardour/vst_plugin.cc index 1fd8d8cd55..a3dca8b3fa 100644 --- a/libs/ardour/vst_plugin.cc +++ b/libs/ardour/vst_plugin.cc @@ -387,6 +387,7 @@ VSTPlugin::load_plugin_preset (PresetRecord r) sscanf (r.uri.c_str(), "VST:%d:%d", &id, &index); #endif _state->want_program = index; + LoadPresetProgram (); /* EMIT SIGNAL */ /* used for macvst */ return true; } @@ -429,6 +430,7 @@ VSTPlugin::load_user_preset (PresetRecord r) _state->wanted_chunk = raw_data; _state->wanted_chunk_size = size; _state->want_chunk = 1; + LoadPresetProgram (); /* EMIT SIGNAL */ /* used for macvst */ return true; } }