add signal for VST state load

MacVST has no dedicated VST event-loop to directly handle this.
This commit is contained in:
Robin Gareus 2016-11-15 00:01:12 +01:00
parent c16eb83fec
commit 35de5080a6
2 changed files with 5 additions and 0 deletions

View File

@ -20,6 +20,7 @@
#ifndef __ardour_vst_plugin_h__ #ifndef __ardour_vst_plugin_h__
#define __ardour_vst_plugin_h__ #define __ardour_vst_plugin_h__
#include <pbd/signals.h>
#include "ardour/plugin.h" #include "ardour/plugin.h"
struct _AEffect; struct _AEffect;
@ -59,6 +60,8 @@ public:
framecnt_t signal_latency() const; framecnt_t signal_latency() const;
std::set<Evoral::Parameter> automatable() const; std::set<Evoral::Parameter> automatable() const;
PBD::Signal0<void> LoadPresetProgram;
bool parameter_is_audio (uint32_t) const { return false; } bool parameter_is_audio (uint32_t) const { return false; }
bool parameter_is_control (uint32_t) const { return true; } bool parameter_is_control (uint32_t) const { return true; }
bool parameter_is_input (uint32_t) const { return true; } bool parameter_is_input (uint32_t) const { return true; }

View File

@ -387,6 +387,7 @@ VSTPlugin::load_plugin_preset (PresetRecord r)
sscanf (r.uri.c_str(), "VST:%d:%d", &id, &index); sscanf (r.uri.c_str(), "VST:%d:%d", &id, &index);
#endif #endif
_state->want_program = index; _state->want_program = index;
LoadPresetProgram (); /* EMIT SIGNAL */ /* used for macvst */
return true; return true;
} }
@ -429,6 +430,7 @@ VSTPlugin::load_user_preset (PresetRecord r)
_state->wanted_chunk = raw_data; _state->wanted_chunk = raw_data;
_state->wanted_chunk_size = size; _state->wanted_chunk_size = size;
_state->want_chunk = 1; _state->want_chunk = 1;
LoadPresetProgram (); /* EMIT SIGNAL */ /* used for macvst */
return true; return true;
} }
} }