Browse Source

Fix switching plugin positions in plugin mode

It expects fast response from backend, which is not what happens
with plugins (using pipes).
For now, just force the change manually
Fixes #671
tags/v1.9.11
falkTX 6 years ago
parent
commit
1af8a55b91
1 changed files with 9 additions and 1 deletions
  1. +9
    -1
      source/carla_backend.py

+ 9
- 1
source/carla_backend.py View File

@@ -2886,7 +2886,10 @@ class CarlaHostPlugin(CarlaHostMeta):
return self.sendMsgAndSetError(["replace_plugin", pluginId])

def switch_plugins(self, pluginIdA, pluginIdB):
return self.sendMsgAndSetError(["switch_plugins", pluginIdA, pluginIdB])
ret = self.sendMsgAndSetError(["switch_plugins", pluginIdA, pluginIdB])
if ret:
self._switchPlugins(pluginIdA, pluginIdB)
return ret

def load_plugin_state(self, pluginId, filename):
return self.sendMsgAndSetError(["load_plugin_state", pluginId, filename])
@@ -3244,4 +3247,9 @@ class CarlaHostPlugin(CarlaHostMeta):
def _set_peaks(self, pluginId, in1, in2, out1, out2):
self.fPluginsInfo[pluginId].peaks = [in1, in2, out1, out2]

def _switchPlugins(self, pluginIdA, pluginIdB):
tmp = self.fPluginsInfo[pluginIdA]
self.fPluginsInfo[pluginIdA] = self.fPluginsInfo[pluginIdB]
self.fPluginsInfo[pluginIdB] = tmp

# ------------------------------------------------------------------------------------------------------------

Loading…
Cancel
Save