Browse Source

carla-control: fix last used plugin data leftovers, all clear now

tags/1.9.7
falkTX 8 years ago
parent
commit
183b06cad0
2 changed files with 17 additions and 11 deletions
  1. +13
    -10
      source/carla_backend.py
  2. +4
    -1
      source/carla_control.py

+ 13
- 10
source/carla_backend.py View File

@@ -20,7 +20,6 @@
# Imports (Global) # Imports (Global)


from abc import ABCMeta, abstractmethod from abc import ABCMeta, abstractmethod
from copy import deepcopy
from ctypes import * from ctypes import *
from platform import architecture from platform import architecture
from sys import platform, maxsize from sys import platform, maxsize
@@ -2993,16 +2992,21 @@ class CarlaHostPlugin(CarlaHostMeta):


def _add(self, pluginId): def _add(self, pluginId):
if len(self.fPluginsInfo) != pluginId: if len(self.fPluginsInfo) != pluginId:
self._reset_info(self.fPluginsInfo[pluginId])
return return


info = PluginStoreInfo() info = PluginStoreInfo()
info.pluginInfo = deepcopy(PyCarlaPluginInfo)
self._reset_info(info)
self.fPluginsInfo.append(info)

def _reset_info(self, info):
info.pluginInfo = PyCarlaPluginInfo.copy()
info.pluginRealName = "" info.pluginRealName = ""
info.internalValues = [0.0, 1.0, 1.0, -1.0, 1.0, 0.0, -1.0] info.internalValues = [0.0, 1.0, 1.0, -1.0, 1.0, 0.0, -1.0]
info.audioCountInfo = deepcopy(PyCarlaPortCountInfo)
info.midiCountInfo = deepcopy(PyCarlaPortCountInfo)
info.audioCountInfo = PyCarlaPortCountInfo.copy()
info.midiCountInfo = PyCarlaPortCountInfo.copy()
info.parameterCount = 0 info.parameterCount = 0
info.parameterCountInfo = deepcopy(PyCarlaPortCountInfo)
info.parameterCountInfo = PyCarlaPortCountInfo.copy()
info.parameterInfo = [] info.parameterInfo = []
info.parameterData = [] info.parameterData = []
info.parameterRanges = [] info.parameterRanges = []
@@ -3016,7 +3020,6 @@ class CarlaHostPlugin(CarlaHostMeta):
info.customDataCount = 0 info.customDataCount = 0
info.customData = [] info.customData = []
info.peaks = [0.0, 0.0, 0.0, 0.0] info.peaks = [0.0, 0.0, 0.0, 0.0]
self.fPluginsInfo.append(info)


def _set_pluginInfo(self, pluginId, info): def _set_pluginInfo(self, pluginId, info):
self.fPluginsInfo[pluginId].pluginInfo = info self.fPluginsInfo[pluginId].pluginInfo = info
@@ -3052,9 +3055,9 @@ class CarlaHostPlugin(CarlaHostMeta):


# add placeholders # add placeholders
for x in range(count): for x in range(count):
self.fPluginsInfo[pluginId].parameterInfo.append(deepcopy(PyCarlaParameterInfo))
self.fPluginsInfo[pluginId].parameterData.append(deepcopy(PyParameterData))
self.fPluginsInfo[pluginId].parameterRanges.append(deepcopy(PyParameterRanges))
self.fPluginsInfo[pluginId].parameterInfo.append(PyCarlaParameterInfo.copy())
self.fPluginsInfo[pluginId].parameterData.append(PyParameterData.copy())
self.fPluginsInfo[pluginId].parameterRanges.append(PyParameterRanges.copy())
self.fPluginsInfo[pluginId].parameterValues.append(0.0) self.fPluginsInfo[pluginId].parameterValues.append(0.0)


def _set_programCount(self, pluginId, count): def _set_programCount(self, pluginId, count):
@@ -3075,7 +3078,7 @@ class CarlaHostPlugin(CarlaHostMeta):


# add placeholders # add placeholders
for x in range(count): for x in range(count):
self.fPluginsInfo[pluginId].midiProgramData.append(deepcopy(PyMidiProgramData))
self.fPluginsInfo[pluginId].midiProgramData.append(PyMidiProgramData.copy())


def _set_customDataCount(self, pluginId, count): def _set_customDataCount(self, pluginId, count):
self.fPluginsInfo[pluginId].customDataCount = count self.fPluginsInfo[pluginId].customDataCount = count


+ 4
- 1
source/carla_control.py View File

@@ -465,7 +465,10 @@ class HostWindowOSC(HostWindow):
self.ui.act_file_refresh.setEnabled(False) self.ui.act_file_refresh.setEnabled(False)


if lo_target is not None: if lo_target is not None:
lo_send(lo_target, "/unregister")
try:
lo_send(lo_target, "/unregister")
except:
pass


self.killTimer(self.fIdleTimer) self.killTimer(self.fIdleTimer)
self.fIdleTimer = 0 self.fIdleTimer = 0


Loading…
Cancel
Save