From 35de5080a60fd648455557974f967f5e4090cbfb Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 15 Nov 2016 00:01:12 +0100 Subject: [PATCH] add signal for VST state load MacVST has no dedicated VST event-loop to directly handle this. --- libs/ardour/ardour/vst_plugin.h | 3 +++ libs/ardour/vst_plugin.cc | 2 ++ 2 files changed, 5 insertions(+) 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; } } -- 2.30.2