| @@ -163,19 +163,49 @@ class Host(object): | |||||
| def _set_parameterCountInfo(self, index, info): | def _set_parameterCountInfo(self, index, info): | ||||
| self.pluginInfo[index].parameterCountInfo = 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): | def _set_programCount(self, index, count): | ||||
| self.pluginInfo[index].programCount = 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): | def _set_midiProgramCount(self, index, count): | ||||
| self.pluginInfo[index].midiProgramCount = 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 | self.pluginInfo[index].parameterValueS[paramIndex] = value | ||||
| def _set_parameterDefaultValue(self, index, paramIndex, value): | def _set_parameterDefaultValue(self, index, paramIndex, value): | ||||
| @@ -193,23 +223,17 @@ class Host(object): | |||||
| def _set_currentMidiProgram(self, index, mpIndex): | def _set_currentMidiProgram(self, index, mpIndex): | ||||
| self.pluginInfo[index].midiProgramCurrent = 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): | def get_plugin_info(self, plugin_id): | ||||
| return self.pluginInfo[plugin_id].pluginInfo | return self.pluginInfo[plugin_id].pluginInfo | ||||
| @@ -685,9 +709,9 @@ class CarlaControlW(QMainWindow, ui_carla_control.Ui_CarlaControlW): | |||||
| info['name'] = name | info['name'] = name | ||||
| info['label'] = label | 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) | @pyqtSlot(int, int, float, float, float, float, float, float) | ||||
| def slot_handleSetParameterRanges(self, pluginId, index, min_, max_, def_, step, stepSmall, stepLarge): | 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['stepSmall'] = stepSmall | ||||
| ranges['stepLarge'] = stepLarge | ranges['stepLarge'] = stepLarge | ||||
| Carla.Host._append_parameterRangeS(pluginId, ranges) | |||||
| Carla.Host._set_parameterRangeS(pluginId, index, ranges) | |||||
| @pyqtSlot(int, int, int) | @pyqtSlot(int, int, int) | ||||
| def slot_handleSetParameterMidiCC(self, pluginId, index, cc): | def slot_handleSetParameterMidiCC(self, pluginId, index, cc): | ||||
| @@ -720,6 +744,9 @@ class CarlaControlW(QMainWindow, ui_carla_control.Ui_CarlaControlW): | |||||
| @pyqtSlot(int, int, float) | @pyqtSlot(int, int, float) | ||||
| def slot_handleSetParameterValue(self, pluginId, parameterId, value): | def slot_handleSetParameterValue(self, pluginId, parameterId, value): | ||||
| if parameterId >= 0: | |||||
| Carla.Host._set_parameterValueS(pluginId, parameterId, value) | |||||
| pwidget = self.m_plugin_list[pluginId] | pwidget = self.m_plugin_list[pluginId] | ||||
| if pwidget: | if pwidget: | ||||
| if parameterId < PARAMETER_NULL: | if parameterId < PARAMETER_NULL: | ||||
| @@ -742,7 +769,6 @@ class CarlaControlW(QMainWindow, ui_carla_control.Ui_CarlaControlW): | |||||
| elif parameterId == PARAMETER_BALANCE_RIGHT: | elif parameterId == PARAMETER_BALANCE_RIGHT: | ||||
| pwidget.set_balance_right(value * 1000, True, False) | pwidget.set_balance_right(value * 1000, True, False) | ||||
| elif parameterId >= 0: | elif parameterId >= 0: | ||||
| Carla.Host._set_parameterValue(pluginId, parameterId, value) | |||||
| pwidget.edit_dialog.set_parameter_to_update(parameterId) | pwidget.edit_dialog.set_parameter_to_update(parameterId) | ||||
| @pyqtSlot(int, int, float) | @pyqtSlot(int, int, float) | ||||
| @@ -767,7 +793,7 @@ class CarlaControlW(QMainWindow, ui_carla_control.Ui_CarlaControlW): | |||||
| @pyqtSlot(int, int, str) | @pyqtSlot(int, int, str) | ||||
| def slot_handleSetProgramName(self, pluginId, index, name): | def slot_handleSetProgramName(self, pluginId, index, name): | ||||
| Carla.Host._append_programNameS(pluginId, name) | |||||
| Carla.Host._set_programNameS(pluginId, index, name) | |||||
| @pyqtSlot(int, int) | @pyqtSlot(int, int) | ||||
| def slot_handleSetMidiProgram(self, pluginId, index): | def slot_handleSetMidiProgram(self, pluginId, index): | ||||
| @@ -784,10 +810,10 @@ class CarlaControlW(QMainWindow, ui_carla_control.Ui_CarlaControlW): | |||||
| @pyqtSlot(int, int, int, int, str) | @pyqtSlot(int, int, int, int, str) | ||||
| def slot_handleSetMidiProgramData(self, pluginId, index, bank, program, name): | def slot_handleSetMidiProgramData(self, pluginId, index, bank, program, name): | ||||
| data = deepcopy(midi_program_t) | data = deepcopy(midi_program_t) | ||||
| data['bank'] = bank | |||||
| data['bank'] = bank | |||||
| data['program'] = program | 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) | @pyqtSlot(int, int, float) | ||||
| def slot_handleSetInputPeakValue(self, pluginId, portId, value): | def slot_handleSetInputPeakValue(self, pluginId, portId, value): | ||||