Browse Source

Add option to run plugins in bridge mode

Signed-off-by: falkTX <falktx@falktx.com>
tags/v1.0
falkTX 3 years ago
parent
commit
dfd36d936f
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
2 changed files with 11 additions and 1 deletions
  1. +4
    -1
      plugins/Common/IldaeilPlugin.cpp
  2. +7
    -0
      plugins/Common/IldaeilUI.cpp

+ 4
- 1
plugins/Common/IldaeilPlugin.cpp View File

@@ -182,6 +182,10 @@ public:
{ {
switch (opcode) switch (opcode)
{ {
// cannnot be supported
case NATIVE_HOST_OPCODE_HOST_IDLE:
break;
// other stuff
case NATIVE_HOST_OPCODE_NULL: case NATIVE_HOST_OPCODE_NULL:
case NATIVE_HOST_OPCODE_UPDATE_PARAMETER: case NATIVE_HOST_OPCODE_UPDATE_PARAMETER:
case NATIVE_HOST_OPCODE_UPDATE_MIDI_PROGRAM: case NATIVE_HOST_OPCODE_UPDATE_MIDI_PROGRAM:
@@ -189,7 +193,6 @@ public:
case NATIVE_HOST_OPCODE_RELOAD_MIDI_PROGRAMS: case NATIVE_HOST_OPCODE_RELOAD_MIDI_PROGRAMS:
case NATIVE_HOST_OPCODE_RELOAD_ALL: case NATIVE_HOST_OPCODE_RELOAD_ALL:
case NATIVE_HOST_OPCODE_UI_UNAVAILABLE: case NATIVE_HOST_OPCODE_UI_UNAVAILABLE:
case NATIVE_HOST_OPCODE_HOST_IDLE:
case NATIVE_HOST_OPCODE_INTERNAL_PLUGIN: case NATIVE_HOST_OPCODE_INTERNAL_PLUGIN:
case NATIVE_HOST_OPCODE_QUEUE_INLINE_DISPLAY: case NATIVE_HOST_OPCODE_QUEUE_INLINE_DISPLAY:
case NATIVE_HOST_OPCODE_UI_TOUCH_PARAMETER: case NATIVE_HOST_OPCODE_UI_TOUCH_PARAMETER:


+ 7
- 0
plugins/Common/IldaeilUI.cpp View File

@@ -138,6 +138,7 @@ class IldaeilUI : public UI,
bool fPluginScanningFinished; bool fPluginScanningFinished;
bool fPluginHasCustomUI; bool fPluginHasCustomUI;
bool fPluginHasEmbedUI; bool fPluginHasEmbedUI;
bool fPluginWillRunInBridgeMode;
PluginInfoCache* fPlugins; PluginInfoCache* fPlugins;
ScopedPointer<PluginGenericUI> fPluginGenericUI; ScopedPointer<PluginGenericUI> fPluginGenericUI;


@@ -157,6 +158,7 @@ public:
fPluginScanningFinished(false), fPluginScanningFinished(false),
fPluginHasCustomUI(false), fPluginHasCustomUI(false),
fPluginHasEmbedUI(false), fPluginHasEmbedUI(false),
fPluginWillRunInBridgeMode(false),
fPlugins(nullptr), fPlugins(nullptr),
fPluginSearchActive(false) fPluginSearchActive(false)
{ {
@@ -375,6 +377,8 @@ public:
carla_replace_plugin(handle, 0); carla_replace_plugin(handle, 0);
} }


carla_set_engine_option(handle, ENGINE_OPTION_PREFER_PLUGIN_BRIDGES, fPluginWillRunInBridgeMode, nullptr);

if (carla_add_plugin(handle, BINARY_NATIVE, fPluginType, nullptr, nullptr, if (carla_add_plugin(handle, BINARY_NATIVE, fPluginType, nullptr, nullptr,
label, 0, 0x0, PLUGIN_OPTIONS_NULL)) label, 0, 0x0, PLUGIN_OPTIONS_NULL))
{ {
@@ -693,6 +697,9 @@ protected:
} while (false); } while (false);
} }


ImGui::SameLine();
ImGui::Checkbox("Run in bridge mode", &fPluginWillRunInBridgeMode);

if (carla_get_current_plugin_count(handle) != 0) if (carla_get_current_plugin_count(handle) != 0)
{ {
ImGui::SameLine(); ImGui::SameLine();


Loading…
Cancel
Save