diff options
author | Robin Gareus <robin@gareus.org> | 2016-04-13 00:52:47 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-04-13 00:52:47 +0200 |
commit | e77729125ec262b6a01e8fc22b236995cd37a7f6 (patch) | |
tree | 51f516129223e98cf64cd7d572472b39e7a2aa0b /libs/ardour/session_vst.cc | |
parent | e8366dbd830d0188ab78c3f095fd890ef160d7f6 (diff) |
VST report audioMasterPinConnected according to Pin Management
Diffstat (limited to 'libs/ardour/session_vst.cc')
-rw-r--r-- | libs/ardour/session_vst.cc | 15 |
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; } |