summaryrefslogtreecommitdiff
path: root/libs/ardour/session_vst.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-13 00:52:47 +0200
committerRobin Gareus <robin@gareus.org>2016-04-13 00:52:47 +0200
commite77729125ec262b6a01e8fc22b236995cd37a7f6 (patch)
tree51f516129223e98cf64cd7d572472b39e7a2aa0b /libs/ardour/session_vst.cc
parente8366dbd830d0188ab78c3f095fd890ef160d7f6 (diff)
VST report audioMasterPinConnected according to Pin Management
Diffstat (limited to 'libs/ardour/session_vst.cc')
-rw-r--r--libs/ardour/session_vst.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/libs/ardour/session_vst.cc b/libs/ardour/session_vst.cc
index c6978eddc7..0e16ac1ebe 100644
--- a/libs/ardour/session_vst.cc
+++ b/libs/ardour/session_vst.cc
@@ -26,6 +26,7 @@
#include "ardour/debug.h"
#include "ardour/session.h"
#include "ardour/tempo.h"
+#include "ardour/plugin_insert.h"
#include "ardour/windows_vst_plugin.h"
#include "ardour/vestige/aeffectx.h"
#include "ardour/vst_types.h"
@@ -124,11 +125,25 @@ intptr_t Session::vst_callback (
}
switch (value) {
case 0:
+ if (plug->plugin_insert ()) {
+ bool valid;
+ const ChanMapping& map (plug->plugin_insert ()->input_map (plug->plugin_number ()));
+ map.get (DataType::AUDIO, index, &valid);
+ return valid ? 0 : 1;
+ }
if (index < plug->plugin()->numInputs) {
return 0;
}
break;
case 1:
+#if 0 // investigate, the outputs *are* connected to scratch buffers
+ if (plug->plugin_insert ()) {
+ bool valid;
+ const ChanMapping& map (plug->plugin_insert ()->output_map (plug->plugin_number ()));
+ map.get (DataType::AUDIO, index, &valid);
+ return valid ? 0 : 1;
+ }
+#endif
if (index < plug->plugin()->numOutputs) {
return 0;
}