X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fsession_vst.cc;h=4beaa45141ca688dcf40a4cd0284d3eee9cbcfae;hb=84272b4e27e537bf2c38c9cd25675c61addea40a;hp=ffff11510bbf3aebf1903d7d279ab14d38768566;hpb=868eec264f1cfa546e889b0651d5238e7a3367ee;p=ardour.git diff --git a/libs/ardour/session_vst.cc b/libs/ardour/session_vst.cc index ffff11510b..4beaa45141 100644 --- a/libs/ardour/session_vst.cc +++ b/libs/ardour/session_vst.cc @@ -28,7 +28,7 @@ #include "ardour/tempo.h" #include "ardour/plugin_insert.h" #include "ardour/windows_vst_plugin.h" -#include "ardour/vestige/aeffectx.h" +#include "ardour/vestige/vestige.h" #include "ardour/vst_types.h" #ifdef WINDOWS_VST_SUPPORT #include @@ -50,7 +50,8 @@ const char* Session::vst_can_do_strings[] = { X_("receiveVstMidiEvent"), X_("supportShell"), X_("shellCategory"), - X_("shellCategorycurID") + X_("shellCategorycurID"), + X_("sizeWindow") }; const int Session::vst_can_do_string_count = sizeof (vst_can_do_strings) / sizeof (char*); @@ -76,6 +77,9 @@ intptr_t Session::vst_callback ( DEBUG_TRACE (PBD::DEBUG::VSTCallbacks, string_compose ("am callback 0x%1%2, opcode = %3%4, plugin = \"%5\"\n", std::hex, (void*) DEBUG_THREAD_SELF, std::dec, opcode, plug->name())); + if (plug->_for_impulse_analysis) { + plug = 0; + } } else { plug = 0; session = 0; @@ -298,6 +302,7 @@ intptr_t Session::vst_callback ( case audioMasterSetTime: SHOW_CALLBACK ("audioMasterSetTime"); // VstTimenfo* in , filter in , not supported + return 0; case audioMasterTempoAt: SHOW_CALLBACK ("audioMasterTempoAt"); @@ -346,7 +351,7 @@ intptr_t Session::vst_callback ( plug->VSTSizeWindow (); /* EMIT SIGNAL */ } } - return 0; + return 1; case audioMasterGetSampleRate: SHOW_CALLBACK ("audioMasterGetSampleRate"); @@ -378,6 +383,7 @@ intptr_t Session::vst_callback ( case audioMasterGetNextPlug: SHOW_CALLBACK ("audioMasterGetNextPlug"); // output pin in (-1: first to come), returns cEffect* + return 0; case audioMasterWillReplaceOrAccumulate: SHOW_CALLBACK ("audioMasterWillReplaceOrAccumulate"); @@ -436,7 +442,7 @@ intptr_t Session::vst_callback ( SHOW_CALLBACK ("audioMasterGetVendorString"); // fills with a string identifying the vendor (max 64 char) strcpy ((char*) ptr, "Linux Audio Systems"); - return 0; + return 1; case audioMasterGetProductString: SHOW_CALLBACK ("audioMasterGetProductString"); @@ -492,8 +498,9 @@ intptr_t Session::vst_callback ( case audioMasterUpdateDisplay: SHOW_CALLBACK ("audioMasterUpdateDisplay"); // something has changed, update 'multi-fx' display - if (effect) { - effect->dispatcher(effect, effEditIdle, 0, 0, NULL, 0.0f); + /* TODO: consider emitting ParameterChangedExternally() for each ctrl input */ + if (session) { + session->set_dirty (); } return 0;