Browse Source

Carla-Control: Fix parameter&program sort issues (use indexes now)

tags/v0.9.0
falkTX 13 years ago
parent
commit
2118653bd3
1 changed files with 54 additions and 28 deletions
  1. +54
    -28
      src/carla_control.py

+ 54
- 28
src/carla_control.py View File

@@ -163,19 +163,49 @@ class Host(object):
def _set_parameterCountInfo(self, index, info):
self.pluginInfo[index].parameterCountInfo = info

# clear
self.pluginInfo[index].parameterInfoS = []
self.pluginInfo[index].parameterDataS = []
self.pluginInfo[index].parameterRangeS = []
self.pluginInfo[index].parameterValueS = []

# add placeholders
for x in range(info['total']):
self.pluginInfo[index].parameterInfoS.append(ParameterInfo)
self.pluginInfo[index].parameterDataS.append(ParameterData)
self.pluginInfo[index].parameterRangeS.append(ParameterRanges)
self.pluginInfo[index].parameterValueS.append(0.0)

def _set_programCount(self, index, count):
self.pluginInfo[index].programCount = count

# clear
self.pluginInfo[index].programNameS = []

# add placeholders
for x in range(count):
self.pluginInfo[index].programNameS.append(None)

def _set_midiProgramCount(self, index, count):
self.pluginInfo[index].midiProgramCount = count

def _set_inPeak(self, index, port, value):
self.pluginInfo[index].inPeak[port] = value
# clear
self.pluginInfo[index].midiProgramDataS = []

def _set_outPeak(self, index, port, value):
self.pluginInfo[index].outPeak[port] = value
# add placeholders
for x in range(count):
self.pluginInfo[index].midiProgramDataS.append(midi_program_t)

def _set_parameterInfoS(self, index, paramIndex, data):
self.pluginInfo[index].parameterInfoS[paramIndex] = data

def _set_parameterValue(self, index, paramIndex, value):
def _set_parameterDataS(self, index, paramIndex, data):
self.pluginInfo[index].parameterDataS[paramIndex] = data

def _set_parameterRangeS(self, index, paramIndex, data):
self.pluginInfo[index].parameterRangeS[paramIndex] = data

def _set_parameterValueS(self, index, paramIndex, value):
self.pluginInfo[index].parameterValueS[paramIndex] = value

def _set_parameterDefaultValue(self, index, paramIndex, value):
@@ -193,23 +223,17 @@ class Host(object):
def _set_currentMidiProgram(self, index, mpIndex):
self.pluginInfo[index].midiProgramCurrent = mpIndex

def _append_parameterInfoS(self, index, data):
self.pluginInfo[index].parameterInfoS.append(data)

def _append_parameterDataS(self, index, data):
self.pluginInfo[index].parameterDataS.append(data)
def _set_programNameS(self, index, pIndex, data):
self.pluginInfo[index].programNameS[pIndex] = data

def _append_parameterRangeS(self, index, data):
self.pluginInfo[index].parameterRangeS.append(data)
def _set_midiProgramDataS(self, index, mpIndex, data):
self.pluginInfo[index].midiProgramDataS[mpIndex] = data

def _append_parameterValueS(self, index, value):
self.pluginInfo[index].parameterValueS.append(value)

def _append_programNameS(self, index, data):
self.pluginInfo[index].programNameS.append(data)
def _set_inPeak(self, index, port, value):
self.pluginInfo[index].inPeak[port] = value

def _append_midiProgramDataS(self, index, data):
self.pluginInfo[index].midiProgramDataS.append(data)
def _set_outPeak(self, index, port, value):
self.pluginInfo[index].outPeak[port] = value

def get_plugin_info(self, plugin_id):
return self.pluginInfo[plugin_id].pluginInfo
@@ -685,9 +709,9 @@ class CarlaControlW(QMainWindow, ui_carla_control.Ui_CarlaControlW):
info['name'] = name
info['label'] = label

Carla.Host._append_parameterDataS(pluginId, data)
Carla.Host._append_parameterInfoS(pluginId, info)
Carla.Host._append_parameterValueS(pluginId, current)
Carla.Host._set_parameterDataS(pluginId, index, data)
Carla.Host._set_parameterInfoS(pluginId, index, info)
Carla.Host._set_parameterValueS(pluginId, index, current)

@pyqtSlot(int, int, float, float, float, float, float, float)
def slot_handleSetParameterRanges(self, pluginId, index, min_, max_, def_, step, stepSmall, stepLarge):
@@ -699,7 +723,7 @@ class CarlaControlW(QMainWindow, ui_carla_control.Ui_CarlaControlW):
ranges['stepSmall'] = stepSmall
ranges['stepLarge'] = stepLarge

Carla.Host._append_parameterRangeS(pluginId, ranges)
Carla.Host._set_parameterRangeS(pluginId, index, ranges)

@pyqtSlot(int, int, int)
def slot_handleSetParameterMidiCC(self, pluginId, index, cc):
@@ -720,6 +744,9 @@ class CarlaControlW(QMainWindow, ui_carla_control.Ui_CarlaControlW):

@pyqtSlot(int, int, float)
def slot_handleSetParameterValue(self, pluginId, parameterId, value):
if parameterId >= 0:
Carla.Host._set_parameterValueS(pluginId, parameterId, value)

pwidget = self.m_plugin_list[pluginId]
if pwidget:
if parameterId < PARAMETER_NULL:
@@ -742,7 +769,6 @@ class CarlaControlW(QMainWindow, ui_carla_control.Ui_CarlaControlW):
elif parameterId == PARAMETER_BALANCE_RIGHT:
pwidget.set_balance_right(value * 1000, True, False)
elif parameterId >= 0:
Carla.Host._set_parameterValue(pluginId, parameterId, value)
pwidget.edit_dialog.set_parameter_to_update(parameterId)

@pyqtSlot(int, int, float)
@@ -767,7 +793,7 @@ class CarlaControlW(QMainWindow, ui_carla_control.Ui_CarlaControlW):

@pyqtSlot(int, int, str)
def slot_handleSetProgramName(self, pluginId, index, name):
Carla.Host._append_programNameS(pluginId, name)
Carla.Host._set_programNameS(pluginId, index, name)

@pyqtSlot(int, int)
def slot_handleSetMidiProgram(self, pluginId, index):
@@ -784,10 +810,10 @@ class CarlaControlW(QMainWindow, ui_carla_control.Ui_CarlaControlW):
@pyqtSlot(int, int, int, int, str)
def slot_handleSetMidiProgramData(self, pluginId, index, bank, program, name):
data = deepcopy(midi_program_t)
data['bank'] = bank
data['bank'] = bank
data['program'] = program
data['label'] = name
Carla.Host._append_midiProgramDataS(pluginId, data)
data['label'] = name
Carla.Host._set_midiProgramDataS(pluginId, index, data)

@pyqtSlot(int, int, float)
def slot_handleSetInputPeakValue(self, pluginId, portId, value):


Loading…
Cancel
Save