| @@ -221,7 +221,7 @@ class CarlaHostW(HostWindow): | |||||
| self.fInfoLabel.setText("Engine stopped") | self.fInfoLabel.setText("Engine stopped") | ||||
| def engineChanged(self): | def engineChanged(self): | ||||
| self.fInfoText = "Engine running | SampleRate: %g | BufferSize: %i" % (Carla.sampleRate, Carla.bufferSize) | |||||
| self.fInfoText = "Engine running | SampleRate: %g | BufferSize: %i" % (gCarla.sampleRate, gCarla.bufferSize) | |||||
| self.fInfoLabel.setText("%s | %s" % (self.fInfoText, self.fTextTransport)) | self.fInfoLabel.setText("%s | %s" % (self.fInfoText, self.fTextTransport)) | ||||
| # ----------------------------------------------------------------- | # ----------------------------------------------------------------- | ||||
| @@ -320,30 +320,30 @@ if __name__ == '__main__': | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Init host backend | # Init host backend | ||||
| Carla.isControl = False | |||||
| Carla.isLocal = True | |||||
| Carla.isPlugin = False | |||||
| gCarla.isControl = False | |||||
| gCarla.isLocal = True | |||||
| gCarla.isPlugin = False | |||||
| initHost(appName, libPrefix) | initHost(appName, libPrefix) | ||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Create GUI | # Create GUI | ||||
| Carla.gui = CarlaHostW() | |||||
| gCarla.gui = CarlaHostW() | |||||
| # set our gui as parent for all plugins UIs | # set our gui as parent for all plugins UIs | ||||
| Carla.host.set_engine_option(ENGINE_OPTION_FRONTEND_WIN_ID, 0, str(Carla.gui.winId())) | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_FRONTEND_WIN_ID, 0, str(gCarla.gui.winId())) | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Load project file if set | # Load project file if set | ||||
| if projectFilename is not None: | if projectFilename is not None: | ||||
| Carla.gui.loadProjectLater(projectFilename) | |||||
| gCarla.gui.loadProjectLater(projectFilename) | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Show GUI | # Show GUI | ||||
| Carla.gui.show() | |||||
| gCarla.gui.show() | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # App-Loop | # App-Loop | ||||
| @@ -75,31 +75,31 @@ if __name__ == '__main__': | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Init host backend | # Init host backend | ||||
| Carla.isControl = False | |||||
| Carla.isLocal = True | |||||
| Carla.isPlugin = False | |||||
| Carla.processMode = ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS | |||||
| gCarla.isControl = False | |||||
| gCarla.isLocal = True | |||||
| gCarla.isPlugin = False | |||||
| gCarla.processMode = ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS | |||||
| initHost(appName, libPrefix) | initHost(appName, libPrefix) | ||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Create GUI | # Create GUI | ||||
| Carla.gui = CarlaHostW() | |||||
| gCarla.gui = CarlaHostW() | |||||
| # set our gui as parent for all plugins UIs | # set our gui as parent for all plugins UIs | ||||
| Carla.host.set_engine_option(ENGINE_OPTION_FRONTEND_WIN_ID, 0, str(Carla.gui.winId())) | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_FRONTEND_WIN_ID, 0, str(gCarla.gui.winId())) | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Load project file if set | # Load project file if set | ||||
| if projectFilename is not None: | if projectFilename is not None: | ||||
| Carla.gui.loadProjectLater(projectFilename) | |||||
| gCarla.gui.loadProjectLater(projectFilename) | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Show GUI | # Show GUI | ||||
| Carla.gui.show() | |||||
| gCarla.gui.show() | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # App-Loop | # App-Loop | ||||
| @@ -2,7 +2,7 @@ | |||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||
| # Carla plugin host (plugin UI) | # Carla plugin host (plugin UI) | ||||
| # Copyright (C) 2013 Filipe Coelho <falktx@falktx.com> | |||||
| # Copyright (C) 2013-2014 Filipe Coelho <falktx@falktx.com> | |||||
| # | # | ||||
| # This program is free software; you can redistribute it and/or | # This program is free software; you can redistribute it and/or | ||||
| # modify it under the terms of the GNU General Public License as | # modify it under the terms of the GNU General Public License as | ||||
| @@ -221,11 +221,11 @@ class PluginHost(object): | |||||
| return True | return True | ||||
| def engine_idle(self): | def engine_idle(self): | ||||
| if Carla.gui.idleExternalUI(): | |||||
| if gCarla.gui.idleExternalUI(): | |||||
| return | return | ||||
| self.fIsRunning = False | self.fIsRunning = False | ||||
| Carla.gui.d_uiQuit() | |||||
| gCarla.gui.d_uiQuit() | |||||
| def is_engine_running(self): | def is_engine_running(self): | ||||
| return self.fIsRunning | return self.fIsRunning | ||||
| @@ -237,7 +237,7 @@ class PluginHost(object): | |||||
| pass | pass | ||||
| def set_engine_option(self, option, value, valueStr): | def set_engine_option(self, option, value, valueStr): | ||||
| Carla.gui.send(["set_engine_option", option, value, valueStr]) | |||||
| gCarla.gui.send(["set_engine_option", option, value, valueStr]) | |||||
| # ------------------------------------------------------------------- | # ------------------------------------------------------------------- | ||||
| @@ -245,41 +245,41 @@ class PluginHost(object): | |||||
| pass | pass | ||||
| def load_file(self, filename): | def load_file(self, filename): | ||||
| Carla.gui.send(["load_file", filename]) | |||||
| gCarla.gui.send(["load_file", filename]) | |||||
| return True | return True | ||||
| def load_project(self, filename): | def load_project(self, filename): | ||||
| Carla.gui.send(["load_project", filename]) | |||||
| gCarla.gui.send(["load_project", filename]) | |||||
| return True | return True | ||||
| def save_project(self, filename): | def save_project(self, filename): | ||||
| Carla.gui.send(["save_project", filename]) | |||||
| gCarla.gui.send(["save_project", filename]) | |||||
| return True | return True | ||||
| # ------------------------------------------------------------------- | # ------------------------------------------------------------------- | ||||
| def patchbay_connect(self, portIdA, portIdB): | def patchbay_connect(self, portIdA, portIdB): | ||||
| Carla.gui.send(["patchbay_connect", portIdA, portIdB]) | |||||
| gCarla.gui.send(["patchbay_connect", portIdA, portIdB]) | |||||
| return True | return True | ||||
| def patchbay_disconnect(self, connectionId): | def patchbay_disconnect(self, connectionId): | ||||
| Carla.gui.send(["patchbay_disconnect", connectionId]) | |||||
| gCarla.gui.send(["patchbay_disconnect", connectionId]) | |||||
| return True | return True | ||||
| def patchbay_refresh(self): | def patchbay_refresh(self): | ||||
| Carla.gui.send(["patchbay_refresh"]) | |||||
| gCarla.gui.send(["patchbay_refresh"]) | |||||
| return True | return True | ||||
| # ------------------------------------------------------------------- | # ------------------------------------------------------------------- | ||||
| def transport_play(self): | def transport_play(self): | ||||
| Carla.gui.send(["transport_play"]) | |||||
| gCarla.gui.send(["transport_play"]) | |||||
| def transport_pause(self): | def transport_pause(self): | ||||
| Carla.gui.send(["transport_pause"]) | |||||
| gCarla.gui.send(["transport_pause"]) | |||||
| def transport_relocate(self, frame): | def transport_relocate(self, frame): | ||||
| Carla.gui.send(["transport_relocate"]) | |||||
| gCarla.gui.send(["transport_relocate"]) | |||||
| def get_current_transport_frame(self): | def get_current_transport_frame(self): | ||||
| return 0 | return 0 | ||||
| @@ -290,41 +290,41 @@ class PluginHost(object): | |||||
| # ------------------------------------------------------------------- | # ------------------------------------------------------------------- | ||||
| def add_plugin(self, btype, ptype, filename, name, label, extraPtr): | def add_plugin(self, btype, ptype, filename, name, label, extraPtr): | ||||
| Carla.gui.send(["add_plugin", btype, ptype, filename, name, label]) | |||||
| gCarla.gui.send(["add_plugin", btype, ptype, filename, name, label]) | |||||
| return True | return True | ||||
| def remove_plugin(self, pluginId): | def remove_plugin(self, pluginId): | ||||
| Carla.gui.send(["remove_plugin", pluginId]) | |||||
| gCarla.gui.send(["remove_plugin", pluginId]) | |||||
| return True | return True | ||||
| def remove_all_plugins(self): | def remove_all_plugins(self): | ||||
| Carla.gui.send(["remove_all_plugins"]) | |||||
| gCarla.gui.send(["remove_all_plugins"]) | |||||
| return True | return True | ||||
| def rename_plugin(self, pluginId, newName): | def rename_plugin(self, pluginId, newName): | ||||
| Carla.gui.send(["rename_plugin", pluginId, newName]) | |||||
| gCarla.gui.send(["rename_plugin", pluginId, newName]) | |||||
| return newName | return newName | ||||
| def clone_plugin(self, pluginId): | def clone_plugin(self, pluginId): | ||||
| Carla.gui.send(["clone_plugin", pluginId]) | |||||
| gCarla.gui.send(["clone_plugin", pluginId]) | |||||
| return True | return True | ||||
| def replace_plugin(self, pluginId): | def replace_plugin(self, pluginId): | ||||
| Carla.gui.send(["replace_plugin", pluginId]) | |||||
| gCarla.gui.send(["replace_plugin", pluginId]) | |||||
| return True | return True | ||||
| def switch_plugins(self, pluginIdA, pluginIdB): | def switch_plugins(self, pluginIdA, pluginIdB): | ||||
| Carla.gui.send(["switch_plugins", pluginIdA, pluginIdB]) | |||||
| gCarla.gui.send(["switch_plugins", pluginIdA, pluginIdB]) | |||||
| return True | return True | ||||
| # ------------------------------------------------------------------- | # ------------------------------------------------------------------- | ||||
| def load_plugin_state(self, pluginId, filename): | def load_plugin_state(self, pluginId, filename): | ||||
| Carla.gui.send(["load_plugin_state", pluginId, filename]) | |||||
| gCarla.gui.send(["load_plugin_state", pluginId, filename]) | |||||
| return True | return True | ||||
| def save_plugin_state(self, pluginId, filename): | def save_plugin_state(self, pluginId, filename): | ||||
| Carla.gui.send(["save_plugin_state", pluginId, filename]) | |||||
| gCarla.gui.send(["save_plugin_state", pluginId, filename]) | |||||
| return True | return True | ||||
| # ------------------------------------------------------------------- | # ------------------------------------------------------------------- | ||||
| @@ -415,62 +415,62 @@ class PluginHost(object): | |||||
| # ------------------------------------------------------------------- | # ------------------------------------------------------------------- | ||||
| def set_option(self, pluginId, option, yesNo): | def set_option(self, pluginId, option, yesNo): | ||||
| Carla.gui.send(["set_option", pluginId, option, yesNo]) | |||||
| gCarla.gui.send(["set_option", pluginId, option, yesNo]) | |||||
| def set_active(self, pluginId, onOff): | def set_active(self, pluginId, onOff): | ||||
| Carla.gui.send(["set_active", pluginId, onOff]) | |||||
| gCarla.gui.send(["set_active", pluginId, onOff]) | |||||
| def set_drywet(self, pluginId, value): | def set_drywet(self, pluginId, value): | ||||
| Carla.gui.send(["set_drywet", pluginId, value]) | |||||
| gCarla.gui.send(["set_drywet", pluginId, value]) | |||||
| def set_volume(self, pluginId, value): | def set_volume(self, pluginId, value): | ||||
| Carla.gui.send(["set_volume", pluginId, value]) | |||||
| gCarla.gui.send(["set_volume", pluginId, value]) | |||||
| def set_balance_left(self, pluginId, value): | def set_balance_left(self, pluginId, value): | ||||
| Carla.gui.send(["set_balance_left", pluginId, value]) | |||||
| gCarla.gui.send(["set_balance_left", pluginId, value]) | |||||
| def set_balance_right(self, pluginId, value): | def set_balance_right(self, pluginId, value): | ||||
| Carla.gui.send(["set_balance_right", pluginId, value]) | |||||
| gCarla.gui.send(["set_balance_right", pluginId, value]) | |||||
| def set_panning(self, pluginId, value): | def set_panning(self, pluginId, value): | ||||
| Carla.gui.send(["set_panning", pluginId, value]) | |||||
| gCarla.gui.send(["set_panning", pluginId, value]) | |||||
| def set_ctrl_channel(self, pluginId, channel): | def set_ctrl_channel(self, pluginId, channel): | ||||
| Carla.gui.send(["set_ctrl_channel", pluginId, channel]) | |||||
| gCarla.gui.send(["set_ctrl_channel", pluginId, channel]) | |||||
| # ------------------------------------------------------------------- | # ------------------------------------------------------------------- | ||||
| def set_parameter_value(self, pluginId, parameterId, value): | def set_parameter_value(self, pluginId, parameterId, value): | ||||
| Carla.gui.send(["set_parameter_value", pluginId, parameterId, value]) | |||||
| gCarla.gui.send(["set_parameter_value", pluginId, parameterId, value]) | |||||
| def set_parameter_midi_channel(self, pluginId, parameterId, channel): | def set_parameter_midi_channel(self, pluginId, parameterId, channel): | ||||
| Carla.gui.send(["set_parameter_midi_channel", pluginId, parameterId, channel]) | |||||
| gCarla.gui.send(["set_parameter_midi_channel", pluginId, parameterId, channel]) | |||||
| def set_parameter_midi_cc(self, pluginId, parameterId, cc): | def set_parameter_midi_cc(self, pluginId, parameterId, cc): | ||||
| Carla.gui.send(["set_parameter_midi_cc", pluginId, parameterId, cc]) | |||||
| gCarla.gui.send(["set_parameter_midi_cc", pluginId, parameterId, cc]) | |||||
| def set_program(self, pluginId, programId): | def set_program(self, pluginId, programId): | ||||
| Carla.gui.send(["set_program", pluginId, programId]) | |||||
| gCarla.gui.send(["set_program", pluginId, programId]) | |||||
| def set_midi_program(self, pluginId, midiProgramId): | def set_midi_program(self, pluginId, midiProgramId): | ||||
| Carla.gui.send(["set_midi_program", pluginId, midiProgramId]) | |||||
| gCarla.gui.send(["set_midi_program", pluginId, midiProgramId]) | |||||
| def set_custom_data(self, pluginId, type_, key, value): | def set_custom_data(self, pluginId, type_, key, value): | ||||
| Carla.gui.send(["set_custom_data", pluginId, type_, key, value]) | |||||
| gCarla.gui.send(["set_custom_data", pluginId, type_, key, value]) | |||||
| def set_chunk_data(self, pluginId, chunkData): | def set_chunk_data(self, pluginId, chunkData): | ||||
| Carla.gui.send(["set_chunk_data", pluginId, chunkData]) | |||||
| gCarla.gui.send(["set_chunk_data", pluginId, chunkData]) | |||||
| # ------------------------------------------------------------------- | # ------------------------------------------------------------------- | ||||
| def prepare_for_save(self, pluginId): | def prepare_for_save(self, pluginId): | ||||
| Carla.gui.send(["prepare_for_save", pluginId]) | |||||
| gCarla.gui.send(["prepare_for_save", pluginId]) | |||||
| def send_midi_note(self, pluginId, channel, note, velocity): | def send_midi_note(self, pluginId, channel, note, velocity): | ||||
| Carla.gui.send(["send_midi_note", pluginId, channel, note, velocity]) | |||||
| gCarla.gui.send(["send_midi_note", pluginId, channel, note, velocity]) | |||||
| def show_custom_ui(self, pluginId, yesNo): | def show_custom_ui(self, pluginId, yesNo): | ||||
| Carla.gui.send(["show_custom_ui", pluginId, yesNo]) | |||||
| gCarla.gui.send(["show_custom_ui", pluginId, yesNo]) | |||||
| # ------------------------------------------------------------------- | # ------------------------------------------------------------------- | ||||
| @@ -551,12 +551,12 @@ class CarlaMiniW(HostWindow, ExternalUI): | |||||
| elif msg.startswith("PEAKS_"): | elif msg.startswith("PEAKS_"): | ||||
| pluginId = int(msg.replace("PEAKS_", "")) | pluginId = int(msg.replace("PEAKS_", "")) | ||||
| in1, in2, out1, out2 = [float(i) for i in self.fPipeRecv.readline().strip().split(":")] | in1, in2, out1, out2 = [float(i) for i in self.fPipeRecv.readline().strip().split(":")] | ||||
| Carla.host._set_peaks(pluginId, in1, in2, out1, out2) | |||||
| gCarla.host._set_peaks(pluginId, in1, in2, out1, out2) | |||||
| elif msg.startswith("PARAMVAL_"): | elif msg.startswith("PARAMVAL_"): | ||||
| pluginId, paramId = [int(i) for i in msg.replace("PARAMVAL_", "").split(":")] | pluginId, paramId = [int(i) for i in msg.replace("PARAMVAL_", "").split(":")] | ||||
| paramValue = float(self.fPipeRecv.readline().strip()) | paramValue = float(self.fPipeRecv.readline().strip()) | ||||
| Carla.host._set_parameterValueS(pluginId, paramId, paramValue) | |||||
| gCarla.host._set_parameterValueS(pluginId, paramId, paramValue) | |||||
| elif msg.startswith("ENGINE_CALLBACK_"): | elif msg.startswith("ENGINE_CALLBACK_"): | ||||
| action = int(msg.replace("ENGINE_CALLBACK_", "")) | action = int(msg.replace("ENGINE_CALLBACK_", "")) | ||||
| @@ -567,25 +567,25 @@ class CarlaMiniW(HostWindow, ExternalUI): | |||||
| valueStr = self.fPipeRecv.readline().strip().replace("\r", "\n") | valueStr = self.fPipeRecv.readline().strip().replace("\r", "\n") | ||||
| if action == ENGINE_CALLBACK_PLUGIN_RENAMED: | if action == ENGINE_CALLBACK_PLUGIN_RENAMED: | ||||
| Carla.host._set_pluginName(pluginId, valueStr) | |||||
| gCarla.host._set_pluginName(pluginId, valueStr) | |||||
| elif action == ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED: | elif action == ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED: | ||||
| Carla.host._set_parameterValueS(pluginId, value1, value3) | |||||
| gCarla.host._set_parameterValueS(pluginId, value1, value3) | |||||
| elif action == ENGINE_CALLBACK_PARAMETER_DEFAULT_CHANGED: | elif action == ENGINE_CALLBACK_PARAMETER_DEFAULT_CHANGED: | ||||
| Carla.host._set_parameterDefault(pluginId, value1, value3) | |||||
| gCarla.host._set_parameterDefault(pluginId, value1, value3) | |||||
| elif action == ENGINE_CALLBACK_PARAMETER_MIDI_CC_CHANGED: | elif action == ENGINE_CALLBACK_PARAMETER_MIDI_CC_CHANGED: | ||||
| Carla.host._set_parameterMidiCC(pluginId, value1, value2) | |||||
| gCarla.host._set_parameterMidiCC(pluginId, value1, value2) | |||||
| elif action == ENGINE_CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED: | elif action == ENGINE_CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED: | ||||
| Carla.host._set_parameterMidiChannel(pluginId, value1, value2) | |||||
| gCarla.host._set_parameterMidiChannel(pluginId, value1, value2) | |||||
| elif action == ENGINE_CALLBACK_PROGRAM_CHANGED: | elif action == ENGINE_CALLBACK_PROGRAM_CHANGED: | ||||
| Carla.host._set_currentProgram(pluginId, value1) | |||||
| gCarla.host._set_currentProgram(pluginId, value1) | |||||
| elif action == ENGINE_CALLBACK_MIDI_PROGRAM_CHANGED: | elif action == ENGINE_CALLBACK_MIDI_PROGRAM_CHANGED: | ||||
| Carla.host._set_currentMidiProgram(pluginId, value1) | |||||
| gCarla.host._set_currentMidiProgram(pluginId, value1) | |||||
| engineCallback(None, action, pluginId, value1, value2, value3, valueStr) | engineCallback(None, action, pluginId, value1, value2, value3, valueStr) | ||||
| elif msg.startswith("PLUGIN_INFO_"): | elif msg.startswith("PLUGIN_INFO_"): | ||||
| pluginId = int(msg.replace("PLUGIN_INFO_", "")) | pluginId = int(msg.replace("PLUGIN_INFO_", "")) | ||||
| Carla.host._add(pluginId) | |||||
| gCarla.host._add(pluginId) | |||||
| type_, category, hints, uniqueId, optsAvail, optsEnabled = [int(i) for i in self.fPipeRecv.readline().strip().split(":")] | type_, category, hints, uniqueId, optsAvail, optsEnabled = [int(i) for i in self.fPipeRecv.readline().strip().split(":")] | ||||
| filename = self.fPipeRecv.readline().strip().replace("\r", "\n") | filename = self.fPipeRecv.readline().strip().replace("\r", "\n") | ||||
| @@ -611,20 +611,20 @@ class CarlaMiniW(HostWindow, ExternalUI): | |||||
| 'patchbayClientId': 0, | 'patchbayClientId': 0, | ||||
| 'uniqueId': uniqueId | 'uniqueId': uniqueId | ||||
| } | } | ||||
| Carla.host._set_pluginInfo(pluginId, pinfo) | |||||
| Carla.host._set_pluginRealName(pluginId, realName) | |||||
| gCarla.host._set_pluginInfo(pluginId, pinfo) | |||||
| gCarla.host._set_pluginRealName(pluginId, realName) | |||||
| elif msg.startswith("AUDIO_COUNT_"): | elif msg.startswith("AUDIO_COUNT_"): | ||||
| pluginId, ins, outs = [int(i) for i in msg.replace("AUDIO_COUNT_", "").split(":")] | pluginId, ins, outs = [int(i) for i in msg.replace("AUDIO_COUNT_", "").split(":")] | ||||
| Carla.host._set_audioCountInfo(pluginId, {'ins': ins, 'outs': outs}) | |||||
| gCarla.host._set_audioCountInfo(pluginId, {'ins': ins, 'outs': outs}) | |||||
| elif msg.startswith("MIDI_COUNT_"): | elif msg.startswith("MIDI_COUNT_"): | ||||
| pluginId, ins, outs = [int(i) for i in msg.replace("MIDI_COUNT_", "").split(":")] | pluginId, ins, outs = [int(i) for i in msg.replace("MIDI_COUNT_", "").split(":")] | ||||
| Carla.host._set_midiCountInfo(pluginId, {'ins': ins, 'outs': outs}) | |||||
| gCarla.host._set_midiCountInfo(pluginId, {'ins': ins, 'outs': outs}) | |||||
| elif msg.startswith("PARAMETER_COUNT_"): | elif msg.startswith("PARAMETER_COUNT_"): | ||||
| pluginId, ins, outs, count = [int(i) for i in msg.replace("PARAMETER_COUNT_", "").split(":")] | pluginId, ins, outs, count = [int(i) for i in msg.replace("PARAMETER_COUNT_", "").split(":")] | ||||
| Carla.host._set_parameterCountInfo(pluginId, count, {'ins': ins, 'outs': outs}) | |||||
| gCarla.host._set_parameterCountInfo(pluginId, count, {'ins': ins, 'outs': outs}) | |||||
| elif msg.startswith("PARAMETER_DATA_"): | elif msg.startswith("PARAMETER_DATA_"): | ||||
| pluginId, paramId = [int(i) for i in msg.replace("PARAMETER_DATA_", "").split(":")] | pluginId, paramId = [int(i) for i in msg.replace("PARAMETER_DATA_", "").split(":")] | ||||
| @@ -638,7 +638,7 @@ class CarlaMiniW(HostWindow, ExternalUI): | |||||
| 'unit': paramUnit, | 'unit': paramUnit, | ||||
| 'scalePointCount': 0, | 'scalePointCount': 0, | ||||
| } | } | ||||
| Carla.host._set_parameterInfoS(pluginId, paramId, paramInfo) | |||||
| gCarla.host._set_parameterInfoS(pluginId, paramId, paramInfo) | |||||
| paramData = { | paramData = { | ||||
| 'type': paramType, | 'type': paramType, | ||||
| @@ -648,7 +648,7 @@ class CarlaMiniW(HostWindow, ExternalUI): | |||||
| 'midiCC': midiCC, | 'midiCC': midiCC, | ||||
| 'midiChannel': midiChannel | 'midiChannel': midiChannel | ||||
| } | } | ||||
| Carla.host._set_parameterDataS(pluginId, paramId, paramData) | |||||
| gCarla.host._set_parameterDataS(pluginId, paramId, paramData) | |||||
| elif msg.startswith("PARAMETER_RANGES_"): | elif msg.startswith("PARAMETER_RANGES_"): | ||||
| pluginId, paramId = [int(i) for i in msg.replace("PARAMETER_RANGES_", "").split(":")] | pluginId, paramId = [int(i) for i in msg.replace("PARAMETER_RANGES_", "").split(":")] | ||||
| @@ -662,28 +662,28 @@ class CarlaMiniW(HostWindow, ExternalUI): | |||||
| 'stepSmall': stepSmall, | 'stepSmall': stepSmall, | ||||
| 'stepLarge': stepLarge | 'stepLarge': stepLarge | ||||
| } | } | ||||
| Carla.host._set_parameterRangeS(pluginId, paramId, paramRanges) | |||||
| gCarla.host._set_parameterRangeS(pluginId, paramId, paramRanges) | |||||
| elif msg.startswith("PROGRAM_COUNT_"): | elif msg.startswith("PROGRAM_COUNT_"): | ||||
| pluginId, count, current = [int(i) for i in msg.replace("PROGRAM_COUNT_", "").split(":")] | pluginId, count, current = [int(i) for i in msg.replace("PROGRAM_COUNT_", "").split(":")] | ||||
| Carla.host._set_programCount(pluginId, count) | |||||
| Carla.host._set_currentProgram(pluginId, current) | |||||
| gCarla.host._set_programCount(pluginId, count) | |||||
| gCarla.host._set_currentProgram(pluginId, current) | |||||
| elif msg.startswith("PROGRAM_NAME_"): | elif msg.startswith("PROGRAM_NAME_"): | ||||
| pluginId, progId = [int(i) for i in msg.replace("PROGRAM_NAME_", "").split(":")] | pluginId, progId = [int(i) for i in msg.replace("PROGRAM_NAME_", "").split(":")] | ||||
| progName = self.fPipeRecv.readline().strip().replace("\r", "\n") | progName = self.fPipeRecv.readline().strip().replace("\r", "\n") | ||||
| Carla.host._set_programNameS(pluginId, progId, progName) | |||||
| gCarla.host._set_programNameS(pluginId, progId, progName) | |||||
| elif msg.startswith("MIDI_PROGRAM_COUNT_"): | elif msg.startswith("MIDI_PROGRAM_COUNT_"): | ||||
| pluginId, count, current = [int(i) for i in msg.replace("MIDI_PROGRAM_COUNT_", "").split(":")] | pluginId, count, current = [int(i) for i in msg.replace("MIDI_PROGRAM_COUNT_", "").split(":")] | ||||
| Carla.host._set_midiProgramCount(pluginId, count) | |||||
| Carla.host._set_currentMidiProgram(pluginId, current) | |||||
| gCarla.host._set_midiProgramCount(pluginId, count) | |||||
| gCarla.host._set_currentMidiProgram(pluginId, current) | |||||
| elif msg.startswith("MIDI_PROGRAM_DATA_"): | elif msg.startswith("MIDI_PROGRAM_DATA_"): | ||||
| pluginId, midiProgId = [int(i) for i in msg.replace("MIDI_PROGRAM_DATA_", "").split(":")] | pluginId, midiProgId = [int(i) for i in msg.replace("MIDI_PROGRAM_DATA_", "").split(":")] | ||||
| bank, program = [int(i) for i in self.fPipeRecv.readline().strip().split(":")] | bank, program = [int(i) for i in self.fPipeRecv.readline().strip().split(":")] | ||||
| name = self.fPipeRecv.readline().strip().replace("\r", "\n") | name = self.fPipeRecv.readline().strip().replace("\r", "\n") | ||||
| Carla.host._set_midiProgramDataS(pluginId, midiProgId, {'bank': bank, 'program': program, 'name': name}) | |||||
| gCarla.host._set_midiProgramDataS(pluginId, midiProgId, {'bank': bank, 'program': program, 'name': name}) | |||||
| elif msg == "error": | elif msg == "error": | ||||
| error = self.fPipeRecv.readline().strip().replace("\r", "\n") | error = self.fPipeRecv.readline().strip().replace("\r", "\n") | ||||
| @@ -725,24 +725,24 @@ if __name__ == '__main__': | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Init plugin host data | # Init plugin host data | ||||
| Carla.isControl = False | |||||
| Carla.isLocal = True | |||||
| Carla.isPlugin = True | |||||
| gCarla.isControl = False | |||||
| gCarla.isLocal = True | |||||
| gCarla.isPlugin = True | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Create GUI first | # Create GUI first | ||||
| Carla.gui = CarlaMiniW() | |||||
| gCarla.gui = CarlaMiniW() | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Init plugin host now | # Init plugin host now | ||||
| Carla.host = PluginHost(Carla.gui.d_getSampleRate()) | |||||
| gCarla.host = PluginHost(gCarla.gui.d_getSampleRate()) | |||||
| initHost("Carla-Plugin") | initHost("Carla-Plugin") | ||||
| # set our gui as parent for all plugins UIs | # set our gui as parent for all plugins UIs | ||||
| Carla.host.set_engine_option(ENGINE_OPTION_FRONTEND_WIN_ID, 0, str(Carla.gui.winId())) | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_FRONTEND_WIN_ID, 0, str(gCarla.gui.winId())) | |||||
| # simulate an engire started callback | # simulate an engire started callback | ||||
| engineCallback(None, ENGINE_CALLBACK_ENGINE_STARTED, 0, ENGINE_PROCESS_MODE_CONTINUOUS_RACK, ENGINE_TRANSPORT_MODE_PLUGIN, 0.0, "Plugin") | engineCallback(None, ENGINE_CALLBACK_ENGINE_STARTED, 0, ENGINE_PROCESS_MODE_CONTINUOUS_RACK, ENGINE_TRANSPORT_MODE_PLUGIN, 0.0, "Plugin") | ||||
| @@ -753,6 +753,6 @@ if __name__ == '__main__': | |||||
| ret = app.exec_() | ret = app.exec_() | ||||
| # disable parenting | # disable parenting | ||||
| Carla.host.set_engine_option(ENGINE_OPTION_FRONTEND_WIN_ID, 0, "0") | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_FRONTEND_WIN_ID, 0, "0") | |||||
| sys.exit(ret) | sys.exit(ret) | ||||
| @@ -2,7 +2,7 @@ | |||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||
| # Carla plugin host | # Carla plugin host | ||||
| # Copyright (C) 2011-2013 Filipe Coelho <falktx@falktx.com> | |||||
| # Copyright (C) 2011-2014 Filipe Coelho <falktx@falktx.com> | |||||
| # | # | ||||
| # This program is free software; you can redistribute it and/or | # This program is free software; you can redistribute it and/or | ||||
| # modify it under the terms of the GNU General Public License as | # modify it under the terms of the GNU General Public License as | ||||
| @@ -75,31 +75,31 @@ if __name__ == '__main__': | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Init host backend | # Init host backend | ||||
| Carla.isControl = False | |||||
| Carla.isLocal = True | |||||
| Carla.isPlugin = False | |||||
| Carla.processMode = ENGINE_PROCESS_MODE_CONTINUOUS_RACK | |||||
| gCarla.isControl = False | |||||
| gCarla.isLocal = True | |||||
| gCarla.isPlugin = False | |||||
| gCarla.processMode = ENGINE_PROCESS_MODE_CONTINUOUS_RACK | |||||
| initHost(appName, libPrefix) | initHost(appName, libPrefix) | ||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Create GUI | # Create GUI | ||||
| Carla.gui = CarlaHostW() | |||||
| gCarla.gui = CarlaHostW() | |||||
| # set our gui as parent for all plugins UIs | # set our gui as parent for all plugins UIs | ||||
| Carla.host.set_engine_option(ENGINE_OPTION_FRONTEND_WIN_ID, 0, str(Carla.gui.winId())) | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_FRONTEND_WIN_ID, 0, str(gCarla.gui.winId())) | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Load project file if set | # Load project file if set | ||||
| if projectFilename is not None: | if projectFilename is not None: | ||||
| Carla.gui.loadProjectLater(projectFilename) | |||||
| gCarla.gui.loadProjectLater(projectFilename) | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Show GUI | # Show GUI | ||||
| Carla.gui.show() | |||||
| gCarla.gui.show() | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # App-Loop | # App-Loop | ||||
| @@ -633,7 +633,7 @@ class CarlaControlW(QMainWindow): | |||||
| self.fPluginCount = 0 | self.fPluginCount = 0 | ||||
| self.fPluginList = [] | self.fPluginList = [] | ||||
| Carla.host.fPluginsInfo = [] | |||||
| gCarla.host.fPluginsInfo = [] | |||||
| self.fIdleTimerFast = self.startTimer(60) | self.fIdleTimerFast = self.startTimer(60) | ||||
| self.fIdleTimerSlow = self.startTimer(60*2) | self.fIdleTimerSlow = self.startTimer(60*2) | ||||
| @@ -676,7 +676,7 @@ class CarlaControlW(QMainWindow): | |||||
| @pyqtSlot(int, str) | @pyqtSlot(int, str) | ||||
| def slot_handleAddPluginStart(self, pluginId, pluginName): | def slot_handleAddPluginStart(self, pluginId, pluginName): | ||||
| self.fLastPluginName = pluginName | self.fLastPluginName = pluginName | ||||
| Carla.host._add(pluginId) | |||||
| gCarla.host._add(pluginId) | |||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_handleAddPluginEnd(self, pluginId): | def slot_handleAddPluginEnd(self, pluginId): | ||||
| @@ -712,7 +712,7 @@ class CarlaControlW(QMainWindow): | |||||
| for i in range(pluginId, self.fPluginCount): | for i in range(pluginId, self.fPluginCount): | ||||
| self.fPluginList[i].setId(i) | self.fPluginList[i].setId(i) | ||||
| Carla.host.fPluginsInfo.pop(pluginId) | |||||
| gCarla.host.fPluginsInfo.pop(pluginId) | |||||
| @pyqtSlot(int, int, int, int, str, str, str, str, int) | @pyqtSlot(int, int, int, int, str, str, str, str, int) | ||||
| def slot_handleSetPluginData(self, pluginId, type_, category, hints, realName, label, maker, copyright, uniqueId): | def slot_handleSetPluginData(self, pluginId, type_, category, hints, realName, label, maker, copyright, uniqueId): | ||||
| @@ -725,8 +725,8 @@ class CarlaControlW(QMainWindow): | |||||
| info['maker'] = maker | info['maker'] = maker | ||||
| info['copyright'] = copyright | info['copyright'] = copyright | ||||
| info['uniqueId'] = uniqueId | info['uniqueId'] = uniqueId | ||||
| Carla.host._set_pluginInfo(pluginId, info) | |||||
| Carla.host._set_pluginRealName(pluginId, realName) | |||||
| gCarla.host._set_pluginInfo(pluginId, info) | |||||
| gCarla.host._set_pluginRealName(pluginId, realName) | |||||
| @pyqtSlot(int, int, int, int, int, int, int, int) | @pyqtSlot(int, int, int, int, int, int, int, int) | ||||
| def slot_handleSetPluginPorts(self, pluginId, audioIns, audioOuts, midiIns, midiOuts, cIns, cOuts, cTotals): | def slot_handleSetPluginPorts(self, pluginId, audioIns, audioOuts, midiIns, midiOuts, cIns, cOuts, cTotals): | ||||
| @@ -746,9 +746,9 @@ class CarlaControlW(QMainWindow): | |||||
| paramInfo['outs'] = cOuts | paramInfo['outs'] = cOuts | ||||
| paramInfo['total'] = cTotals | paramInfo['total'] = cTotals | ||||
| Carla.host._set_audioCountInfo(pluginId, audioInfo) | |||||
| Carla.host._set_midiCountInfo(pluginId, midiInfo) | |||||
| Carla.host._set_parameterCountInfo(pluginId, paramInfo) | |||||
| gCarla.host._set_audioCountInfo(pluginId, audioInfo) | |||||
| gCarla.host._set_midiCountInfo(pluginId, midiInfo) | |||||
| gCarla.host._set_parameterCountInfo(pluginId, paramInfo) | |||||
| @pyqtSlot(int, int, int, int, str, str, float) | @pyqtSlot(int, int, int, int, str, str, float) | ||||
| def slot_handleSetParameterData(self, pluginId, index, type_, hints, name, label, current): | def slot_handleSetParameterData(self, pluginId, index, type_, hints, name, label, current): | ||||
| @@ -765,9 +765,9 @@ class CarlaControlW(QMainWindow): | |||||
| info['name'] = name | info['name'] = name | ||||
| info['label'] = label | info['label'] = label | ||||
| Carla.host._set_parameterDataS(pluginId, index, data) | |||||
| Carla.host._set_parameterInfoS(pluginId, index, info) | |||||
| Carla.host._set_parameterValueS(pluginId, index, current) | |||||
| gCarla.host._set_parameterDataS(pluginId, index, data) | |||||
| gCarla.host._set_parameterInfoS(pluginId, index, info) | |||||
| gCarla.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): | ||||
| @@ -779,12 +779,12 @@ class CarlaControlW(QMainWindow): | |||||
| ranges['stepSmall'] = stepSmall | ranges['stepSmall'] = stepSmall | ||||
| ranges['stepLarge'] = stepLarge | ranges['stepLarge'] = stepLarge | ||||
| Carla.host._set_parameterRangeS(pluginId, index, ranges) | |||||
| gCarla.host._set_parameterRangeS(pluginId, index, ranges) | |||||
| @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: | if parameterId >= 0: | ||||
| Carla.host._set_parameterValueS(pluginId, parameterId, value) | |||||
| gCarla.host._set_parameterValueS(pluginId, parameterId, value) | |||||
| if pluginId >= self.fPluginCount: | if pluginId >= self.fPluginCount: | ||||
| return | return | ||||
| @@ -797,7 +797,7 @@ class CarlaControlW(QMainWindow): | |||||
| @pyqtSlot(int, int, float) | @pyqtSlot(int, int, float) | ||||
| def slot_handleSetDefaultValue(self, pluginId, parameterId, value): | def slot_handleSetDefaultValue(self, pluginId, parameterId, value): | ||||
| Carla.host._set_parameterDefaultValue(pluginId, parameterId, value) | |||||
| gCarla.host._set_parameterDefaultValue(pluginId, parameterId, value) | |||||
| if pluginId >= self.fPluginCount: | if pluginId >= self.fPluginCount: | ||||
| return | return | ||||
| @@ -810,7 +810,7 @@ class CarlaControlW(QMainWindow): | |||||
| @pyqtSlot(int, int, int) | @pyqtSlot(int, int, int) | ||||
| def slot_handleSetParameterMidiCC(self, pluginId, index, cc): | def slot_handleSetParameterMidiCC(self, pluginId, index, cc): | ||||
| Carla.host._set_parameterMidiCC(pluginId, index, cc) | |||||
| gCarla.host._set_parameterMidiCC(pluginId, index, cc) | |||||
| if pluginId >= self.fPluginCount: | if pluginId >= self.fPluginCount: | ||||
| return | return | ||||
| @@ -823,7 +823,7 @@ class CarlaControlW(QMainWindow): | |||||
| @pyqtSlot(int, int, int) | @pyqtSlot(int, int, int) | ||||
| def slot_handleSetParameterMidiChannel(self, pluginId, index, channel): | def slot_handleSetParameterMidiChannel(self, pluginId, index, channel): | ||||
| Carla.host._set_parameterMidiChannel(pluginId, index, channel) | |||||
| gCarla.host._set_parameterMidiChannel(pluginId, index, channel) | |||||
| if pluginId >= self.fPluginCount: | if pluginId >= self.fPluginCount: | ||||
| return | return | ||||
| @@ -836,7 +836,7 @@ class CarlaControlW(QMainWindow): | |||||
| @pyqtSlot(int, int) | @pyqtSlot(int, int) | ||||
| def slot_handleSetProgram(self, pluginId, index): | def slot_handleSetProgram(self, pluginId, index): | ||||
| Carla.host._set_currentProgram(pluginId, index) | |||||
| gCarla.host._set_currentProgram(pluginId, index) | |||||
| if pluginId >= self.fPluginCount: | if pluginId >= self.fPluginCount: | ||||
| return | return | ||||
| @@ -849,15 +849,15 @@ class CarlaControlW(QMainWindow): | |||||
| @pyqtSlot(int, int) | @pyqtSlot(int, int) | ||||
| def slot_handleSetProgramCount(self, pluginId, count): | def slot_handleSetProgramCount(self, pluginId, count): | ||||
| Carla.host._set_programCount(pluginId, count) | |||||
| gCarla.host._set_programCount(pluginId, count) | |||||
| @pyqtSlot(int, int, str) | @pyqtSlot(int, int, str) | ||||
| def slot_handleSetProgramName(self, pluginId, index, name): | def slot_handleSetProgramName(self, pluginId, index, name): | ||||
| Carla.host._set_programNameS(pluginId, index, name) | |||||
| gCarla.host._set_programNameS(pluginId, index, name) | |||||
| @pyqtSlot(int, int) | @pyqtSlot(int, int) | ||||
| def slot_handleSetMidiProgram(self, pluginId, index): | def slot_handleSetMidiProgram(self, pluginId, index): | ||||
| Carla.host._set_currentMidiProgram(pluginId, index) | |||||
| gCarla.host._set_currentMidiProgram(pluginId, index) | |||||
| if pluginId >= self.fPluginCount: | if pluginId >= self.fPluginCount: | ||||
| return | return | ||||
| @@ -870,7 +870,7 @@ class CarlaControlW(QMainWindow): | |||||
| @pyqtSlot(int, int) | @pyqtSlot(int, int) | ||||
| def slot_handleSetMidiProgramCount(self, pluginId, count): | def slot_handleSetMidiProgramCount(self, pluginId, count): | ||||
| Carla.host._set_midiProgramCount(pluginId, count) | |||||
| gCarla.host._set_midiProgramCount(pluginId, count) | |||||
| @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): | ||||
| @@ -878,15 +878,15 @@ class CarlaControlW(QMainWindow): | |||||
| data['bank'] = bank | data['bank'] = bank | ||||
| data['program'] = program | data['program'] = program | ||||
| data['label'] = name | data['label'] = name | ||||
| Carla.host._set_midiProgramDataS(pluginId, index, data) | |||||
| gCarla.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): | ||||
| Carla.host._set_inPeak(pluginId, portId-1, value) | |||||
| gCarla.host._set_inPeak(pluginId, portId-1, value) | |||||
| @pyqtSlot(int, int, float) | @pyqtSlot(int, int, float) | ||||
| def slot_handleSetOutputPeakValue(self, pluginId, portId, value): | def slot_handleSetOutputPeakValue(self, pluginId, portId, value): | ||||
| Carla.host._set_outPeak(pluginId, portId-1, value) | |||||
| gCarla.host._set_outPeak(pluginId, portId-1, value) | |||||
| @pyqtSlot(int, int, int, int) | @pyqtSlot(int, int, int, int) | ||||
| def slot_handleNoteOn(self, pluginId, channel, note, velo): | def slot_handleNoteOn(self, pluginId, channel, note, velo): | ||||
| @@ -912,7 +912,7 @@ class CarlaControlW(QMainWindow): | |||||
| @pyqtSlot(int, float, float, float, float) | @pyqtSlot(int, float, float, float, float) | ||||
| def slot_handleSetPeaks(self, pluginId, in1, in2, out1, out2): | def slot_handleSetPeaks(self, pluginId, in1, in2, out1, out2): | ||||
| Carla.host._set_peaks(pluginId, in1, in2, out1, out2) | |||||
| gCarla.host._set_peaks(pluginId, in1, in2, out1, out2) | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_handleExit(self): | def slot_handleExit(self): | ||||
| @@ -997,16 +997,16 @@ if __name__ == '__main__': | |||||
| libName = carla_library_filename | libName = carla_library_filename | ||||
| # Init backend (OSC bridge version) | # Init backend (OSC bridge version) | ||||
| Carla.host = Host() | |||||
| gCarla.host = Host() | |||||
| # Create GUI | # Create GUI | ||||
| Carla.gui = CarlaControlW(oscAddr) | |||||
| gCarla.gui = CarlaControlW(oscAddr) | |||||
| # Set-up custom signal handling | # Set-up custom signal handling | ||||
| setUpSignals() | setUpSignals() | ||||
| # Show GUI | # Show GUI | ||||
| Carla.gui.show() | |||||
| gCarla.gui.show() | |||||
| # App-Loop | # App-Loop | ||||
| sys.exit(app.exec_()) | sys.exit(app.exec_()) | ||||
| @@ -354,7 +354,7 @@ class SearchPluginsThread(QThread): | |||||
| self.fCheckSF2 = False | self.fCheckSF2 = False | ||||
| self.fCheckSFZ = False | self.fCheckSFZ = False | ||||
| self.fToolNative = Carla.discovery_native | |||||
| self.fToolNative = gCarla.discovery_native | |||||
| self.fCurCount = 0 | self.fCurCount = 0 | ||||
| self.fCurPercentValue = 0 | self.fCurPercentValue = 0 | ||||
| @@ -369,7 +369,7 @@ class SearchPluginsThread(QThread): | |||||
| self.fCsdFiles = [] | self.fCsdFiles = [] | ||||
| self.fKitPlugins = [] | self.fKitPlugins = [] | ||||
| print(Carla.discovery_native) | |||||
| print(gCarla.discovery_native) | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| @@ -472,25 +472,25 @@ class SearchPluginsThread(QThread): | |||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckPosix32: | if self.fCheckPosix32: | ||||
| self._checkLADSPA(OS, Carla.discovery_posix32) | |||||
| self._checkLADSPA(OS, gCarla.discovery_posix32) | |||||
| settingsDB.setValue("Plugins/LADSPA_posix32", self.fLadspaPlugins) | settingsDB.setValue("Plugins/LADSPA_posix32", self.fLadspaPlugins) | ||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckPosix64: | if self.fCheckPosix64: | ||||
| self._checkLADSPA(OS, Carla.discovery_posix64) | |||||
| self._checkLADSPA(OS, gCarla.discovery_posix64) | |||||
| settingsDB.setValue("Plugins/LADSPA_posix64", self.fLadspaPlugins) | settingsDB.setValue("Plugins/LADSPA_posix64", self.fLadspaPlugins) | ||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckWin32: | if self.fCheckWin32: | ||||
| self._checkLADSPA("WINDOWS", Carla.discovery_win32, not WINDOWS) | |||||
| self._checkLADSPA("WINDOWS", gCarla.discovery_win32, not WINDOWS) | |||||
| settingsDB.setValue("Plugins/LADSPA_win32", self.fLadspaPlugins) | settingsDB.setValue("Plugins/LADSPA_win32", self.fLadspaPlugins) | ||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckWin64: | if self.fCheckWin64: | ||||
| self._checkLADSPA("WINDOWS", Carla.discovery_win64, not WINDOWS) | |||||
| self._checkLADSPA("WINDOWS", gCarla.discovery_win64, not WINDOWS) | |||||
| settingsDB.setValue("Plugins/LADSPA_win64", self.fLadspaPlugins) | settingsDB.setValue("Plugins/LADSPA_win64", self.fLadspaPlugins) | ||||
| settingsDB.sync() | settingsDB.sync() | ||||
| @@ -518,25 +518,25 @@ class SearchPluginsThread(QThread): | |||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckPosix32: | if self.fCheckPosix32: | ||||
| self._checkDSSI(OS, Carla.discovery_posix32) | |||||
| self._checkDSSI(OS, gCarla.discovery_posix32) | |||||
| settingsDB.setValue("Plugins/DSSI_posix32", self.fDssiPlugins) | settingsDB.setValue("Plugins/DSSI_posix32", self.fDssiPlugins) | ||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckPosix64: | if self.fCheckPosix64: | ||||
| self._checkDSSI(OS, Carla.discovery_posix64) | |||||
| self._checkDSSI(OS, gCarla.discovery_posix64) | |||||
| settingsDB.setValue("Plugins/DSSI_posix64", self.fDssiPlugins) | settingsDB.setValue("Plugins/DSSI_posix64", self.fDssiPlugins) | ||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckWin32: | if self.fCheckWin32: | ||||
| self._checkDSSI("WINDOWS", Carla.discovery_win32, not WINDOWS) | |||||
| self._checkDSSI("WINDOWS", gCarla.discovery_win32, not WINDOWS) | |||||
| settingsDB.setValue("Plugins/DSSI_win32", self.fDssiPlugins) | settingsDB.setValue("Plugins/DSSI_win32", self.fDssiPlugins) | ||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckWin64: | if self.fCheckWin64: | ||||
| self._checkDSSI("WINDOWS", Carla.discovery_win64, not WINDOWS) | |||||
| self._checkDSSI("WINDOWS", gCarla.discovery_win64, not WINDOWS) | |||||
| settingsDB.setValue("Plugins/DSSI_win64", self.fDssiPlugins) | settingsDB.setValue("Plugins/DSSI_win64", self.fDssiPlugins) | ||||
| settingsDB.sync() | settingsDB.sync() | ||||
| @@ -551,25 +551,25 @@ class SearchPluginsThread(QThread): | |||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckPosix32: | if self.fCheckPosix32: | ||||
| self._checkLV2(Carla.discovery_posix32) | |||||
| self._checkLV2(gCarla.discovery_posix32) | |||||
| settingsDB.setValue("Plugins/LV2_posix32", self.fLv2Plugins) | settingsDB.setValue("Plugins/LV2_posix32", self.fLv2Plugins) | ||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckPosix64: | if self.fCheckPosix64: | ||||
| self._checkLV2(Carla.discovery_posix64) | |||||
| self._checkLV2(gCarla.discovery_posix64) | |||||
| settingsDB.setValue("Plugins/LV2_posix64", self.fLv2Plugins) | settingsDB.setValue("Plugins/LV2_posix64", self.fLv2Plugins) | ||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckWin32: | if self.fCheckWin32: | ||||
| self._checkLV2(Carla.discovery_win32, not WINDOWS) | |||||
| self._checkLV2(gCarla.discovery_win32, not WINDOWS) | |||||
| settingsDB.setValue("Plugins/LV2_win32", self.fLv2Plugins) | settingsDB.setValue("Plugins/LV2_win32", self.fLv2Plugins) | ||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckWin64: | if self.fCheckWin64: | ||||
| self._checkLV2(Carla.discovery_win64, not WINDOWS) | |||||
| self._checkLV2(gCarla.discovery_win64, not WINDOWS) | |||||
| settingsDB.setValue("Plugins/LV2_win64", self.fLv2Plugins) | settingsDB.setValue("Plugins/LV2_win64", self.fLv2Plugins) | ||||
| settingsDB.sync() | settingsDB.sync() | ||||
| @@ -584,25 +584,25 @@ class SearchPluginsThread(QThread): | |||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckPosix32: | if self.fCheckPosix32: | ||||
| self._checkVST(OS, Carla.discovery_posix32) | |||||
| self._checkVST(OS, gCarla.discovery_posix32) | |||||
| settingsDB.setValue("Plugins/VST_posix32", self.fVstPlugins) | settingsDB.setValue("Plugins/VST_posix32", self.fVstPlugins) | ||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckPosix64: | if self.fCheckPosix64: | ||||
| self._checkVST(OS, Carla.discovery_posix64) | |||||
| self._checkVST(OS, gCarla.discovery_posix64) | |||||
| settingsDB.setValue("Plugins/VST_posix64", self.fVstPlugins) | settingsDB.setValue("Plugins/VST_posix64", self.fVstPlugins) | ||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckWin32: | if self.fCheckWin32: | ||||
| self._checkVST("WINDOWS", Carla.discovery_win32, not WINDOWS) | |||||
| self._checkVST("WINDOWS", gCarla.discovery_win32, not WINDOWS) | |||||
| settingsDB.setValue("Plugins/VST_win32", self.fVstPlugins) | settingsDB.setValue("Plugins/VST_win32", self.fVstPlugins) | ||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckWin64: | if self.fCheckWin64: | ||||
| self._checkVST("WINDOWS", Carla.discovery_win64, not WINDOWS) | |||||
| self._checkVST("WINDOWS", gCarla.discovery_win64, not WINDOWS) | |||||
| settingsDB.setValue("Plugins/VST_win64", self.fVstPlugins) | settingsDB.setValue("Plugins/VST_win64", self.fVstPlugins) | ||||
| settingsDB.sync() | settingsDB.sync() | ||||
| @@ -617,13 +617,13 @@ class SearchPluginsThread(QThread): | |||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckPosix32: | if self.fCheckPosix32: | ||||
| self._checkAU(Carla.discovery_posix32) | |||||
| self._checkAU(gCarla.discovery_posix32) | |||||
| settingsDB.setValue("Plugins/AU_posix32", self.fAuPlugins) | settingsDB.setValue("Plugins/AU_posix32", self.fAuPlugins) | ||||
| if not self.fContinueChecking: return | if not self.fContinueChecking: return | ||||
| if self.fCheckPosix64: | if self.fCheckPosix64: | ||||
| self._checkAU(Carla.discovery_posix64) | |||||
| self._checkAU(gCarla.discovery_posix64) | |||||
| settingsDB.setValue("Plugins/AU_posix64", self.fAuPlugins) | settingsDB.setValue("Plugins/AU_posix64", self.fAuPlugins) | ||||
| settingsDB.sync() | settingsDB.sync() | ||||
| @@ -638,7 +638,7 @@ class SearchPluginsThread(QThread): | |||||
| if self.fCheckGIG: | if self.fCheckGIG: | ||||
| settings = QSettings() | settings = QSettings() | ||||
| GIG_PATH = toList(settings.value("Paths/GIG", Carla.DEFAULT_GIG_PATH)) | |||||
| GIG_PATH = toList(settings.value("Paths/GIG", gCarla.DEFAULT_GIG_PATH)) | |||||
| del settings | del settings | ||||
| self._checkKIT(GIG_PATH, "gig") | self._checkKIT(GIG_PATH, "gig") | ||||
| @@ -648,7 +648,7 @@ class SearchPluginsThread(QThread): | |||||
| if self.fCheckSF2: | if self.fCheckSF2: | ||||
| settings = QSettings() | settings = QSettings() | ||||
| SF2_PATH = toList(settings.value("Paths/SF2", Carla.DEFAULT_SF2_PATH)) | |||||
| SF2_PATH = toList(settings.value("Paths/SF2", gCarla.DEFAULT_SF2_PATH)) | |||||
| del settings | del settings | ||||
| self._checkKIT(SF2_PATH, "sf2") | self._checkKIT(SF2_PATH, "sf2") | ||||
| @@ -658,7 +658,7 @@ class SearchPluginsThread(QThread): | |||||
| if self.fCheckSFZ: | if self.fCheckSFZ: | ||||
| settings = QSettings() | settings = QSettings() | ||||
| SFZ_PATH = toList(settings.value("Paths/SFZ", Carla.DEFAULT_SFZ_PATH)) | |||||
| SFZ_PATH = toList(settings.value("Paths/SFZ", gCarla.DEFAULT_SFZ_PATH)) | |||||
| del settings | del settings | ||||
| self._checkKIT(SFZ_PATH, "sfz") | self._checkKIT(SFZ_PATH, "sfz") | ||||
| @@ -673,7 +673,7 @@ class SearchPluginsThread(QThread): | |||||
| self._pluginLook(self.fLastCheckValue, "LADSPA plugins...") | self._pluginLook(self.fLastCheckValue, "LADSPA plugins...") | ||||
| settings = QSettings() | settings = QSettings() | ||||
| LADSPA_PATH = toList(settings.value("Paths/LADSPA", Carla.DEFAULT_LADSPA_PATH)) | |||||
| LADSPA_PATH = toList(settings.value("Paths/LADSPA", gCarla.DEFAULT_LADSPA_PATH)) | |||||
| for iPATH in LADSPA_PATH: | for iPATH in LADSPA_PATH: | ||||
| binaries = findBinaries(iPATH, OS) | binaries = findBinaries(iPATH, OS) | ||||
| @@ -706,7 +706,7 @@ class SearchPluginsThread(QThread): | |||||
| self._pluginLook(self.fLastCheckValue, "DSSI plugins...") | self._pluginLook(self.fLastCheckValue, "DSSI plugins...") | ||||
| settings = QSettings() | settings = QSettings() | ||||
| DSSI_PATH = toList(settings.value("Paths/DSSI", Carla.DEFAULT_DSSI_PATH)) | |||||
| DSSI_PATH = toList(settings.value("Paths/DSSI", gCarla.DEFAULT_DSSI_PATH)) | |||||
| for iPATH in DSSI_PATH: | for iPATH in DSSI_PATH: | ||||
| binaries = findBinaries(iPATH, OS) | binaries = findBinaries(iPATH, OS) | ||||
| @@ -739,7 +739,7 @@ class SearchPluginsThread(QThread): | |||||
| self._pluginLook(self.fLastCheckValue, "LV2 bundles...") | self._pluginLook(self.fLastCheckValue, "LV2 bundles...") | ||||
| settings = QSettings() | settings = QSettings() | ||||
| LV2_PATH = toList(settings.value("Paths/LV2", Carla.DEFAULT_LV2_PATH)) | |||||
| LV2_PATH = toList(settings.value("Paths/LV2", gCarla.DEFAULT_LV2_PATH)) | |||||
| for iPATH in LV2_PATH: | for iPATH in LV2_PATH: | ||||
| bundles = findLV2Bundles(iPATH) | bundles = findLV2Bundles(iPATH) | ||||
| @@ -775,7 +775,7 @@ class SearchPluginsThread(QThread): | |||||
| self._pluginLook(self.fLastCheckValue, "VST plugins...") | self._pluginLook(self.fLastCheckValue, "VST plugins...") | ||||
| settings = QSettings() | settings = QSettings() | ||||
| VST_PATH = toList(settings.value("Paths/VST", Carla.DEFAULT_VST_PATH)) | |||||
| VST_PATH = toList(settings.value("Paths/VST", gCarla.DEFAULT_VST_PATH)) | |||||
| for iPATH in VST_PATH: | for iPATH in VST_PATH: | ||||
| if MACOS and not isWine: | if MACOS and not isWine: | ||||
| @@ -812,7 +812,7 @@ class SearchPluginsThread(QThread): | |||||
| self._pluginLook(self.fLastCheckValue, "AU plugins...") | self._pluginLook(self.fLastCheckValue, "AU plugins...") | ||||
| settings = QSettings() | settings = QSettings() | ||||
| AU_PATH = toList(settings.value("Paths/AU", Carla.DEFAULT_AU_PATH)) | |||||
| AU_PATH = toList(settings.value("Paths/AU", gCarla.DEFAULT_AU_PATH)) | |||||
| for iPATH in AU_PATH: | for iPATH in AU_PATH: | ||||
| binaries = findBinaries(iPATH, "MACOS") | binaries = findBinaries(iPATH, "MACOS") | ||||
| @@ -843,7 +843,7 @@ class SearchPluginsThread(QThread): | |||||
| self.fCsdFiles = [] | self.fCsdFiles = [] | ||||
| settings = QSettings() | settings = QSettings() | ||||
| CSOUND_PATH = toList(settings.value("Paths/CSOUND", Carla.DEFAULT_CSOUND_PATH)) | |||||
| CSOUND_PATH = toList(settings.value("Paths/CSOUND", gCarla.DEFAULT_CSOUND_PATH)) | |||||
| for iPATH in CSOUND_PATH: | for iPATH in CSOUND_PATH: | ||||
| files = findFilenames(iPATH, "csd") | files = findFilenames(iPATH, "csd") | ||||
| @@ -945,28 +945,28 @@ class PluginRefreshW(QDialog): | |||||
| self.ui.ch_posix32.setText("MacOS 32bit") | self.ui.ch_posix32.setText("MacOS 32bit") | ||||
| self.ui.ch_posix64.setText("MacOS 64bit") | self.ui.ch_posix64.setText("MacOS 64bit") | ||||
| if Carla.discovery_posix32 and not WINDOWS: | |||||
| if gCarla.discovery_posix32 and not WINDOWS: | |||||
| self.ui.ico_posix32.setPixmap(self.fIconYes) | self.ui.ico_posix32.setPixmap(self.fIconYes) | ||||
| else: | else: | ||||
| self.ui.ico_posix32.setPixmap(self.fIconNo) | self.ui.ico_posix32.setPixmap(self.fIconNo) | ||||
| self.ui.ch_posix32.setChecked(False) | self.ui.ch_posix32.setChecked(False) | ||||
| self.ui.ch_posix32.setEnabled(False) | self.ui.ch_posix32.setEnabled(False) | ||||
| if Carla.discovery_posix64 and not WINDOWS: | |||||
| if gCarla.discovery_posix64 and not WINDOWS: | |||||
| self.ui.ico_posix64.setPixmap(self.fIconYes) | self.ui.ico_posix64.setPixmap(self.fIconYes) | ||||
| else: | else: | ||||
| self.ui.ico_posix64.setPixmap(self.fIconNo) | self.ui.ico_posix64.setPixmap(self.fIconNo) | ||||
| self.ui.ch_posix64.setChecked(False) | self.ui.ch_posix64.setChecked(False) | ||||
| self.ui.ch_posix64.setEnabled(False) | self.ui.ch_posix64.setEnabled(False) | ||||
| if Carla.discovery_win32: | |||||
| if gCarla.discovery_win32: | |||||
| self.ui.ico_win32.setPixmap(self.fIconYes) | self.ui.ico_win32.setPixmap(self.fIconYes) | ||||
| else: | else: | ||||
| self.ui.ico_win32.setPixmap(self.fIconNo) | self.ui.ico_win32.setPixmap(self.fIconNo) | ||||
| self.ui.ch_win32.setChecked(False) | self.ui.ch_win32.setChecked(False) | ||||
| self.ui.ch_win32.setEnabled(False) | self.ui.ch_win32.setEnabled(False) | ||||
| if Carla.discovery_win64: | |||||
| if gCarla.discovery_win64: | |||||
| self.ui.ico_win64.setPixmap(self.fIconYes) | self.ui.ico_win64.setPixmap(self.fIconYes) | ||||
| else: | else: | ||||
| self.ui.ico_win64.setPixmap(self.fIconNo) | self.ui.ico_win64.setPixmap(self.fIconNo) | ||||
| @@ -978,35 +978,35 @@ class PluginRefreshW(QDialog): | |||||
| else: | else: | ||||
| self.ui.ico_rdflib.setPixmap(self.fIconNo) | self.ui.ico_rdflib.setPixmap(self.fIconNo) | ||||
| hasNative = bool(Carla.discovery_native) | |||||
| hasNative = bool(gCarla.discovery_native) | |||||
| hasNonNative = False | hasNonNative = False | ||||
| if WINDOWS: | if WINDOWS: | ||||
| if kIs64bit: | if kIs64bit: | ||||
| hasNative = bool(Carla.discovery_win64) | |||||
| hasNonNative = bool(Carla.discovery_win32) | |||||
| self.fThread.setSearchToolNative(Carla.discovery_win64) | |||||
| hasNative = bool(gCarla.discovery_win64) | |||||
| hasNonNative = bool(gCarla.discovery_win32) | |||||
| self.fThread.setSearchToolNative(gCarla.discovery_win64) | |||||
| self.ui.ch_win64.setChecked(False) | self.ui.ch_win64.setChecked(False) | ||||
| self.ui.ch_win64.setVisible(False) | self.ui.ch_win64.setVisible(False) | ||||
| self.ui.ico_win64.setVisible(False) | self.ui.ico_win64.setVisible(False) | ||||
| self.ui.label_win64.setVisible(False) | self.ui.label_win64.setVisible(False) | ||||
| else: | else: | ||||
| hasNative = bool(Carla.discovery_win32) | |||||
| hasNonNative = bool(Carla.discovery_win64) | |||||
| self.fThread.setSearchToolNative(Carla.discovery_win32) | |||||
| hasNative = bool(gCarla.discovery_win32) | |||||
| hasNonNative = bool(gCarla.discovery_win64) | |||||
| self.fThread.setSearchToolNative(gCarla.discovery_win32) | |||||
| self.ui.ch_win32.setChecked(False) | self.ui.ch_win32.setChecked(False) | ||||
| self.ui.ch_win32.setVisible(False) | self.ui.ch_win32.setVisible(False) | ||||
| self.ui.ico_win32.setVisible(False) | self.ui.ico_win32.setVisible(False) | ||||
| self.ui.label_win32.setVisible(False) | self.ui.label_win32.setVisible(False) | ||||
| elif LINUX or MACOS: | elif LINUX or MACOS: | ||||
| if kIs64bit: | if kIs64bit: | ||||
| hasNonNative = bool(Carla.discovery_posix32 or Carla.discovery_win32 or Carla.discovery_win64) | |||||
| hasNonNative = bool(gCarla.discovery_posix32 or gCarla.discovery_win32 or gCarla.discovery_win64) | |||||
| self.ui.ch_posix64.setChecked(False) | self.ui.ch_posix64.setChecked(False) | ||||
| self.ui.ch_posix64.setVisible(False) | self.ui.ch_posix64.setVisible(False) | ||||
| self.ui.ico_posix64.setVisible(False) | self.ui.ico_posix64.setVisible(False) | ||||
| self.ui.label_posix64.setVisible(False) | self.ui.label_posix64.setVisible(False) | ||||
| else: | else: | ||||
| hasNonNative = bool(Carla.discovery_posix64 or Carla.discovery_win32 or Carla.discovery_win64) | |||||
| hasNonNative = bool(gCarla.discovery_posix64 or gCarla.discovery_win32 or gCarla.discovery_win64) | |||||
| self.ui.ch_posix32.setChecked(False) | self.ui.ch_posix32.setChecked(False) | ||||
| self.ui.ch_posix32.setVisible(False) | self.ui.ch_posix32.setVisible(False) | ||||
| self.ui.ico_posix32.setVisible(False) | self.ui.ico_posix32.setVisible(False) | ||||
| @@ -1445,14 +1445,14 @@ class PluginDatabaseW(QDialog): | |||||
| for plugins in internalPlugins: | for plugins in internalPlugins: | ||||
| internalCount += len(plugins) | internalCount += len(plugins) | ||||
| canRefreshInternals = not (Carla.isControl or Carla.isPlugin or Carla.host is None) | |||||
| canRefreshInternals = not (gCarla.isControl or gCarla.isPlugin or gCarla.host is None) | |||||
| if canRefreshInternals and internalCount != Carla.host.get_internal_plugin_count(): | |||||
| internalCount = Carla.host.get_internal_plugin_count() | |||||
| if canRefreshInternals and internalCount != gCarla.host.get_internal_plugin_count(): | |||||
| internalCount = gCarla.host.get_internal_plugin_count() | |||||
| internalPlugins = [] | internalPlugins = [] | ||||
| for i in range(Carla.host.get_internal_plugin_count()): | |||||
| descInfo = Carla.host.get_internal_plugin_info(i) | |||||
| for i in range(gCarla.host.get_internal_plugin_count()): | |||||
| descInfo = gCarla.host.get_internal_plugin_info(i) | |||||
| plugins = checkPluginInternal(descInfo) | plugins = checkPluginInternal(descInfo) | ||||
| if plugins: | if plugins: | ||||
| @@ -2,7 +2,7 @@ | |||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||
| # Carla host code | # Carla host code | ||||
| # Copyright (C) 2011-2013 Filipe Coelho <falktx@falktx.com> | |||||
| # Copyright (C) 2011-2014 Filipe Coelho <falktx@falktx.com> | |||||
| # | # | ||||
| # This program is free software; you can redistribute it and/or | # This program is free software; you can redistribute it and/or | ||||
| # modify it under the terms of the GNU General Public License as | # modify it under the terms of the GNU General Public License as | ||||
| @@ -154,16 +154,16 @@ class HostWindow(QMainWindow): | |||||
| self.ui.setupUi(self) | self.ui.setupUi(self) | ||||
| if False: | if False: | ||||
| Carla.gui = self | |||||
| gCarla.gui = self | |||||
| self.fContainer = CarlaDummyW(self) | self.fContainer = CarlaDummyW(self) | ||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Set callback, TODO put somewhere else | # Set callback, TODO put somewhere else | ||||
| if Carla.host is not None: | |||||
| Carla.host.set_engine_callback(engineCallback) | |||||
| if gCarla.host is not None: | |||||
| gCarla.host.set_engine_callback(engineCallback) | |||||
| Carla.host.set_file_callback(fileCallback) | |||||
| gCarla.host.set_file_callback(fileCallback) | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Internal stuff | # Internal stuff | ||||
| @@ -207,7 +207,7 @@ class HostWindow(QMainWindow): | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Set up GUI (engine stopped) | # Set up GUI (engine stopped) | ||||
| if Carla.isPlugin: | |||||
| if gCarla.isPlugin: | |||||
| self.ui.act_file_new.setEnabled(False) | self.ui.act_file_new.setEnabled(False) | ||||
| self.ui.act_file_open.setEnabled(False) | self.ui.act_file_open.setEnabled(False) | ||||
| self.ui.act_engine_start.setEnabled(False) | self.ui.act_engine_start.setEnabled(False) | ||||
| @@ -231,8 +231,8 @@ class HostWindow(QMainWindow): | |||||
| self.fDirModel = QFileSystemModel(self) | self.fDirModel = QFileSystemModel(self) | ||||
| self.fDirModel.setRootPath(HOME) | self.fDirModel.setRootPath(HOME) | ||||
| if Carla.host is not None: | |||||
| self.fDirModel.setNameFilters(Carla.host.get_supported_file_extensions().split(";")) | |||||
| if gCarla.host is not None: | |||||
| self.fDirModel.setNameFilters(gCarla.host.get_supported_file_extensions().split(";")) | |||||
| self.ui.fileTreeView.setModel(self.fDirModel) | self.ui.fileTreeView.setModel(self.fDirModel) | ||||
| self.ui.fileTreeView.setRootIndex(self.fDirModel.index(HOME)) | self.ui.fileTreeView.setRootIndex(self.fDirModel.index(HOME)) | ||||
| @@ -309,8 +309,8 @@ class HostWindow(QMainWindow): | |||||
| #@pyqtSlot() | #@pyqtSlot() | ||||
| #def slot_test(self): | #def slot_test(self): | ||||
| #print("test started") | #print("test started") | ||||
| #if not Carla.host.add_plugin(BINARY_NATIVE, PLUGIN_JACK, "/usr/bin/zita-rev1", "name of client", "label of client", None): | |||||
| #print(Carla.host.get_last_error()) | |||||
| #if not gCarla.host.add_plugin(BINARY_NATIVE, PLUGIN_JACK, "/usr/bin/zita-rev1", "name of client", "label of client", None): | |||||
| #print(gCarla.host.get_last_error()) | |||||
| #print("test ended") | #print("test ended") | ||||
| # ----------------------------------------------------------------- | # ----------------------------------------------------------------- | ||||
| @@ -343,7 +343,7 @@ class HostWindow(QMainWindow): | |||||
| return qCritical("ERROR: loading project without filename set") | return qCritical("ERROR: loading project without filename set") | ||||
| self.fIsProjectLoading = True | self.fIsProjectLoading = True | ||||
| Carla.host.load_project(self.fProjectFilename) | |||||
| gCarla.host.load_project(self.fProjectFilename) | |||||
| self.fIsProjectLoading = False | self.fIsProjectLoading = False | ||||
| self.fContainer.projectLoaded() | self.fContainer.projectLoaded() | ||||
| @@ -361,13 +361,13 @@ class HostWindow(QMainWindow): | |||||
| if not self.fProjectFilename: | if not self.fProjectFilename: | ||||
| return qCritical("ERROR: saving project without filename set") | return qCritical("ERROR: saving project without filename set") | ||||
| Carla.host.save_project(self.fProjectFilename) | |||||
| gCarla.host.save_project(self.fProjectFilename) | |||||
| # ----------------------------------------------------------------- | # ----------------------------------------------------------------- | ||||
| # Internal stuff (engine) | # Internal stuff (engine) | ||||
| def setEngineSettings(self, settings = None): | def setEngineSettings(self, settings = None): | ||||
| if Carla.isPlugin: | |||||
| if gCarla.isPlugin: | |||||
| return "Plugin" | return "Plugin" | ||||
| if settings is None: settings = QSettings() | if settings is None: settings = QSettings() | ||||
| @@ -460,26 +460,26 @@ class HostWindow(QMainWindow): | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # apply to engine | # apply to engine | ||||
| Carla.host.set_engine_option(ENGINE_OPTION_FORCE_STEREO, forceStereo, "") | |||||
| Carla.host.set_engine_option(ENGINE_OPTION_UIS_ALWAYS_ON_TOP, uisAlwaysOnTop, "") | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_FORCE_STEREO, forceStereo, "") | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_UIS_ALWAYS_ON_TOP, uisAlwaysOnTop, "") | |||||
| if not Carla.isPlugin: | |||||
| Carla.host.set_engine_option(ENGINE_OPTION_PREFER_PLUGIN_BRIDGES, preferPluginBridges, "") | |||||
| Carla.host.set_engine_option(ENGINE_OPTION_PREFER_UI_BRIDGES, preferUiBridges, "") | |||||
| if not gCarla.isPlugin: | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_PREFER_PLUGIN_BRIDGES, preferPluginBridges, "") | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_PREFER_UI_BRIDGES, preferUiBridges, "") | |||||
| Carla.host.set_engine_option(ENGINE_OPTION_MAX_PARAMETERS, maxParameters, "") | |||||
| Carla.host.set_engine_option(ENGINE_OPTION_UI_BRIDGES_TIMEOUT, uiBridgesTimeout, "") | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_MAX_PARAMETERS, maxParameters, "") | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_UI_BRIDGES_TIMEOUT, uiBridgesTimeout, "") | |||||
| Carla.host.set_engine_option(ENGINE_OPTION_PROCESS_MODE, processMode, "") | |||||
| Carla.host.set_engine_option(ENGINE_OPTION_TRANSPORT_MODE, transportMode, "") | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_PROCESS_MODE, processMode, "") | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_TRANSPORT_MODE, transportMode, "") | |||||
| Carla.host.set_engine_option(ENGINE_OPTION_AUDIO_NUM_PERIODS, audioNumPeriods, "") | |||||
| Carla.host.set_engine_option(ENGINE_OPTION_AUDIO_BUFFER_SIZE, audioBufferSize, "") | |||||
| Carla.host.set_engine_option(ENGINE_OPTION_AUDIO_SAMPLE_RATE, audioSampleRate, "") | |||||
| Carla.host.set_engine_option(ENGINE_OPTION_AUDIO_DEVICE, 0, audioDevice) | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_AUDIO_NUM_PERIODS, audioNumPeriods, "") | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_AUDIO_BUFFER_SIZE, audioBufferSize, "") | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_AUDIO_SAMPLE_RATE, audioSampleRate, "") | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_AUDIO_DEVICE, 0, audioDevice) | |||||
| # save this for later | # save this for later | ||||
| Carla.maxParameters = maxParameters | |||||
| gCarla.maxParameters = maxParameters | |||||
| # return selected driver name | # return selected driver name | ||||
| return audioDriver | return audioDriver | ||||
| @@ -487,12 +487,12 @@ class HostWindow(QMainWindow): | |||||
| def startEngine(self): | def startEngine(self): | ||||
| audioDriver = self.setEngineSettings() | audioDriver = self.setEngineSettings() | ||||
| if not Carla.host.engine_init(audioDriver, self.fClientName): | |||||
| if not gCarla.host.engine_init(audioDriver, self.fClientName): | |||||
| if self.fFirstEngineInit: | if self.fFirstEngineInit: | ||||
| self.fFirstEngineInit = False | self.fFirstEngineInit = False | ||||
| return | return | ||||
| audioError = Carla.host.get_last_error() | |||||
| audioError = gCarla.host.get_last_error() | |||||
| if audioError: | if audioError: | ||||
| QMessageBox.critical(self, self.tr("Error"), self.tr("Could not connect to Audio backend '%s', possible reasons:\n%s" % (audioDriver, audioError))) | QMessageBox.critical(self, self.tr("Error"), self.tr("Could not connect to Audio backend '%s', possible reasons:\n%s" % (audioDriver, audioError))) | ||||
| @@ -513,8 +513,8 @@ class HostWindow(QMainWindow): | |||||
| self.ui.act_plugin_remove_all.setEnabled(False) | self.ui.act_plugin_remove_all.setEnabled(False) | ||||
| self.fContainer.removeAllPlugins() | self.fContainer.removeAllPlugins() | ||||
| if Carla.host.is_engine_running() and not Carla.host.engine_close(): | |||||
| print(Carla.host.get_last_error()) | |||||
| if gCarla.host.is_engine_running() and not gCarla.host.engine_close(): | |||||
| print(gCarla.host.get_last_error()) | |||||
| # ----------------------------------------------------------------- | # ----------------------------------------------------------------- | ||||
| # Internal stuff (plugins) | # Internal stuff (plugins) | ||||
| @@ -567,10 +567,10 @@ class HostWindow(QMainWindow): | |||||
| # Internal stuff (transport) | # Internal stuff (transport) | ||||
| def refreshTransport(self, forced = False): | def refreshTransport(self, forced = False): | ||||
| if Carla.sampleRate == 0.0 or not Carla.host.is_engine_running(): | |||||
| if gCarla.sampleRate == 0.0 or not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| timeInfo = Carla.host.get_transport_info() | |||||
| timeInfo = gCarla.host.get_transport_info() | |||||
| playing = bool(timeInfo['playing']) | playing = bool(timeInfo['playing']) | ||||
| frame = int(timeInfo['frame']) | frame = int(timeInfo['frame']) | ||||
| @@ -589,7 +589,7 @@ class HostWindow(QMainWindow): | |||||
| self.fLastTransportState = playing | self.fLastTransportState = playing | ||||
| if frame != self.fLastTransportFrame or forced: | if frame != self.fLastTransportFrame or forced: | ||||
| time = frame / Carla.sampleRate | |||||
| time = frame / gCarla.sampleRate | |||||
| secs = time % 60 | secs = time % 60 | ||||
| mins = (time / 60) % 60 | mins = (time / 60) % 60 | ||||
| hrs = (time / 3600) % 60 | hrs = (time / 3600) % 60 | ||||
| @@ -645,20 +645,20 @@ class HostWindow(QMainWindow): | |||||
| # --------------------------------------------- | # --------------------------------------------- | ||||
| if not Carla.isPlugin: | |||||
| if not gCarla.isPlugin: | |||||
| # engine | # engine | ||||
| self.setEngineSettings(settings) | self.setEngineSettings(settings) | ||||
| # plugin paths | # plugin paths | ||||
| LADSPA_PATH = toList(settings.value("Paths/LADSPA", Carla.DEFAULT_LADSPA_PATH)) | |||||
| DSSI_PATH = toList(settings.value("Paths/DSSI", Carla.DEFAULT_DSSI_PATH)) | |||||
| LV2_PATH = toList(settings.value("Paths/LV2", Carla.DEFAULT_LV2_PATH)) | |||||
| VST_PATH = toList(settings.value("Paths/VST", Carla.DEFAULT_VST_PATH)) | |||||
| AU_PATH = toList(settings.value("Paths/AU", Carla.DEFAULT_AU_PATH)) | |||||
| CSOUND_PATH = toList(settings.value("Paths/CSOUND", Carla.DEFAULT_CSOUND_PATH)) | |||||
| GIG_PATH = toList(settings.value("Paths/GIG", Carla.DEFAULT_GIG_PATH)) | |||||
| SF2_PATH = toList(settings.value("Paths/SF2", Carla.DEFAULT_SF2_PATH)) | |||||
| SFZ_PATH = toList(settings.value("Paths/SFZ", Carla.DEFAULT_SFZ_PATH)) | |||||
| LADSPA_PATH = toList(settings.value("Paths/LADSPA", gCarla.DEFAULT_LADSPA_PATH)) | |||||
| DSSI_PATH = toList(settings.value("Paths/DSSI", gCarla.DEFAULT_DSSI_PATH)) | |||||
| LV2_PATH = toList(settings.value("Paths/LV2", gCarla.DEFAULT_LV2_PATH)) | |||||
| VST_PATH = toList(settings.value("Paths/VST", gCarla.DEFAULT_VST_PATH)) | |||||
| AU_PATH = toList(settings.value("Paths/AU", gCarla.DEFAULT_AU_PATH)) | |||||
| CSOUND_PATH = toList(settings.value("Paths/CSOUND", gCarla.DEFAULT_CSOUND_PATH)) | |||||
| GIG_PATH = toList(settings.value("Paths/GIG", gCarla.DEFAULT_GIG_PATH)) | |||||
| SF2_PATH = toList(settings.value("Paths/SF2", gCarla.DEFAULT_SF2_PATH)) | |||||
| SFZ_PATH = toList(settings.value("Paths/SFZ", gCarla.DEFAULT_SFZ_PATH)) | |||||
| os.environ["LADSPA_PATH"] = splitter.join(LADSPA_PATH) | os.environ["LADSPA_PATH"] = splitter.join(LADSPA_PATH) | ||||
| os.environ["DSSI_PATH"] = splitter.join(DSSI_PATH) | os.environ["DSSI_PATH"] = splitter.join(DSSI_PATH) | ||||
| @@ -803,11 +803,11 @@ class HostWindow(QMainWindow): | |||||
| def slot_engineStart(self, doStart = True): | def slot_engineStart(self, doStart = True): | ||||
| if doStart: self.startEngine() | if doStart: self.startEngine() | ||||
| check = Carla.host.is_engine_running() | |||||
| check = gCarla.host.is_engine_running() | |||||
| self.ui.menu_PluginMacros.setEnabled(check) | self.ui.menu_PluginMacros.setEnabled(check) | ||||
| self.ui.menu_Canvas.setEnabled(check) | self.ui.menu_Canvas.setEnabled(check) | ||||
| if not Carla.isPlugin: | |||||
| if not gCarla.isPlugin: | |||||
| self.ui.act_file_save.setEnabled(check) | self.ui.act_file_save.setEnabled(check) | ||||
| self.ui.act_engine_start.setEnabled(not check) | self.ui.act_engine_start.setEnabled(not check) | ||||
| self.ui.act_engine_stop.setEnabled(check) | self.ui.act_engine_stop.setEnabled(check) | ||||
| @@ -819,7 +819,7 @@ class HostWindow(QMainWindow): | |||||
| self.setTransportMenuEnabled(check) | self.setTransportMenuEnabled(check) | ||||
| if check: | if check: | ||||
| if not Carla.isPlugin: | |||||
| if not gCarla.isPlugin: | |||||
| self.refreshTransport(True) | self.refreshTransport(True) | ||||
| self.fContainer.engineStarted() | self.fContainer.engineStarted() | ||||
| @@ -833,11 +833,11 @@ class HostWindow(QMainWindow): | |||||
| self.ui.act_plugin_remove_all.setEnabled(False) | self.ui.act_plugin_remove_all.setEnabled(False) | ||||
| self.fContainer.removeAllPlugins() | self.fContainer.removeAllPlugins() | ||||
| check = Carla.host.is_engine_running() | |||||
| check = gCarla.host.is_engine_running() | |||||
| self.ui.menu_PluginMacros.setEnabled(check) | self.ui.menu_PluginMacros.setEnabled(check) | ||||
| self.ui.menu_Canvas.setEnabled(check) | self.ui.menu_Canvas.setEnabled(check) | ||||
| if not Carla.isPlugin: | |||||
| if not gCarla.isPlugin: | |||||
| self.ui.act_file_save.setEnabled(check) | self.ui.act_file_save.setEnabled(check) | ||||
| self.ui.act_engine_start.setEnabled(not check) | self.ui.act_engine_start.setEnabled(not check) | ||||
| self.ui.act_engine_stop.setEnabled(check) | self.ui.act_engine_stop.setEnabled(check) | ||||
| @@ -861,7 +861,7 @@ class HostWindow(QMainWindow): | |||||
| if not dialog.exec_(): | if not dialog.exec_(): | ||||
| return | return | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| QMessageBox.warning(self, self.tr("Warning"), self.tr("Cannot add new plugins while engine is stopped")) | QMessageBox.warning(self, self.tr("Warning"), self.tr("Cannot add new plugins while engine is stopped")) | ||||
| return | return | ||||
| @@ -872,59 +872,59 @@ class HostWindow(QMainWindow): | |||||
| uniqueId = dialog.fRetPlugin['uniqueId'] | uniqueId = dialog.fRetPlugin['uniqueId'] | ||||
| extraPtr = self.getExtraPtr(dialog.fRetPlugin) | extraPtr = self.getExtraPtr(dialog.fRetPlugin) | ||||
| if not Carla.host.add_plugin(btype, ptype, filename, None, label, uniqueId, extraPtr): | |||||
| CustomMessageBox(self, QMessageBox.Critical, self.tr("Error"), self.tr("Failed to load plugin"), charPtrToString(Carla.host.get_last_error()), QMessageBox.Ok, QMessageBox.Ok) | |||||
| if not gCarla.host.add_plugin(btype, ptype, filename, None, label, uniqueId, extraPtr): | |||||
| CustomMessageBox(self, QMessageBox.Critical, self.tr("Error"), self.tr("Failed to load plugin"), charPtrToString(gCarla.host.get_last_error()), QMessageBox.Ok, QMessageBox.Ok) | |||||
| return | return | ||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginRemoveAll(self): | def slot_pluginRemoveAll(self): | ||||
| self.ui.act_plugin_remove_all.setEnabled(False) | self.ui.act_plugin_remove_all.setEnabled(False) | ||||
| self.fContainer.removeAllPlugins() | self.fContainer.removeAllPlugins() | ||||
| Carla.host.remove_all_plugins() | |||||
| gCarla.host.remove_all_plugins() | |||||
| # ----------------------------------------------------------------- | # ----------------------------------------------------------------- | ||||
| @pyqtSlot(bool) | @pyqtSlot(bool) | ||||
| def slot_transportPlayPause(self, toggled): | def slot_transportPlayPause(self, toggled): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| if toggled: | if toggled: | ||||
| Carla.host.transport_play() | |||||
| gCarla.host.transport_play() | |||||
| else: | else: | ||||
| Carla.host.transport_pause() | |||||
| gCarla.host.transport_pause() | |||||
| self.refreshTransport() | self.refreshTransport() | ||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_transportStop(self): | def slot_transportStop(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| Carla.host.transport_pause() | |||||
| Carla.host.transport_relocate(0) | |||||
| gCarla.host.transport_pause() | |||||
| gCarla.host.transport_relocate(0) | |||||
| self.refreshTransport() | self.refreshTransport() | ||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_transportBackwards(self): | def slot_transportBackwards(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| newFrame = Carla.host.get_current_transport_frame() - 100000 | |||||
| newFrame = gCarla.host.get_current_transport_frame() - 100000 | |||||
| if newFrame < 0: | if newFrame < 0: | ||||
| newFrame = 0 | newFrame = 0 | ||||
| Carla.host.transport_relocate(newFrame) | |||||
| gCarla.host.transport_relocate(newFrame) | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_transportForwards(self): | def slot_transportForwards(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| newFrame = Carla.host.get_current_transport_frame() + 100000 | |||||
| Carla.host.transport_relocate(newFrame) | |||||
| newFrame = gCarla.host.get_current_transport_frame() + 100000 | |||||
| gCarla.host.transport_relocate(newFrame) | |||||
| # ----------------------------------------------------------------- | # ----------------------------------------------------------------- | ||||
| @@ -979,10 +979,10 @@ class HostWindow(QMainWindow): | |||||
| def slot_fileTreeDoubleClicked(self, modelIndex): | def slot_fileTreeDoubleClicked(self, modelIndex): | ||||
| filename = self.fDirModel.filePath(modelIndex) | filename = self.fDirModel.filePath(modelIndex) | ||||
| if not Carla.host.load_file(filename): | |||||
| if not gCarla.host.load_file(filename): | |||||
| CustomMessageBox(self, QMessageBox.Critical, self.tr("Error"), | CustomMessageBox(self, QMessageBox.Critical, self.tr("Error"), | ||||
| self.tr("Failed to load file"), | self.tr("Failed to load file"), | ||||
| Carla.host.get_last_error(), QMessageBox.Ok, QMessageBox.Ok) | |||||
| gCarla.host.get_last_error(), QMessageBox.Ok, QMessageBox.Ok) | |||||
| # ----------------------------------------------------------------- | # ----------------------------------------------------------------- | ||||
| @@ -1019,10 +1019,10 @@ class HostWindow(QMainWindow): | |||||
| @pyqtSlot(str) | @pyqtSlot(str) | ||||
| def slot_handleEngineStartedCallback(self, processMode, transportMode, driverName): | def slot_handleEngineStartedCallback(self, processMode, transportMode, driverName): | ||||
| Carla.processMode = processMode | |||||
| Carla.transportMode = transportMode | |||||
| Carla.bufferSize = Carla.host.get_buffer_size() | |||||
| Carla.sampleRate = Carla.host.get_sample_rate() | |||||
| gCarla.processMode = processMode | |||||
| gCarla.transportMode = transportMode | |||||
| gCarla.bufferSize = gCarla.host.get_buffer_size() | |||||
| gCarla.sampleRate = gCarla.host.get_sample_rate() | |||||
| self.slot_engineStart(False) | self.slot_engineStart(False) | ||||
| @@ -1036,8 +1036,8 @@ class HostWindow(QMainWindow): | |||||
| self.killTimers() | self.killTimers() | ||||
| self.slot_engineStop(False) | self.slot_engineStop(False) | ||||
| Carla.bufferSize = 0 | |||||
| Carla.sampleRate = 0.0 | |||||
| gCarla.bufferSize = 0 | |||||
| gCarla.sampleRate = 0.0 | |||||
| # ----------------------------------------------------------------- | # ----------------------------------------------------------------- | ||||
| @@ -1089,8 +1089,8 @@ class HostWindow(QMainWindow): | |||||
| def timerEvent(self, event): | def timerEvent(self, event): | ||||
| if event.timerId() == self.fIdleTimerFast: | if event.timerId() == self.fIdleTimerFast: | ||||
| #if not Carla.isPlugin: | |||||
| Carla.host.engine_idle() | |||||
| #if not gCarla.isPlugin: | |||||
| gCarla.host.engine_idle() | |||||
| self.refreshTransport() | self.refreshTransport() | ||||
| self.fContainer.idleFast() | self.fContainer.idleFast() | ||||
| @@ -1108,8 +1108,8 @@ class HostWindow(QMainWindow): | |||||
| self.killTimers() | self.killTimers() | ||||
| self.saveSettings() | self.saveSettings() | ||||
| if Carla.host.is_engine_running(): | |||||
| Carla.host.set_engine_about_to_close() | |||||
| if gCarla.host.is_engine_running(): | |||||
| gCarla.host.set_engine_about_to_close() | |||||
| self.ui.act_plugin_remove_all.setEnabled(False) | self.ui.act_plugin_remove_all.setEnabled(False) | ||||
| self.fContainer.removeAllPlugins() | self.fContainer.removeAllPlugins() | ||||
| self.stopEngine() | self.stopEngine() | ||||
| @@ -1121,108 +1121,108 @@ class HostWindow(QMainWindow): | |||||
| def engineCallback(ptr, action, pluginId, value1, value2, value3, valueStr): | def engineCallback(ptr, action, pluginId, value1, value2, value3, valueStr): | ||||
| if action == ENGINE_CALLBACK_PROCESS_MODE_CHANGED: | if action == ENGINE_CALLBACK_PROCESS_MODE_CHANGED: | ||||
| Carla.processMode = value1 | |||||
| if Carla.gui is not None: | |||||
| Carla.gui.ProcessModeChangedCallback.emit(value1) | |||||
| gCarla.processMode = value1 | |||||
| if gCarla.gui is not None: | |||||
| gCarla.gui.ProcessModeChangedCallback.emit(value1) | |||||
| return | return | ||||
| if action == ENGINE_CALLBACK_TRANSPORT_MODE_CHANGED: | if action == ENGINE_CALLBACK_TRANSPORT_MODE_CHANGED: | ||||
| Carla.transportMode = value1 | |||||
| if Carla.gui is not None: | |||||
| Carla.gui.TransportModeChangedCallback.emit(value1) | |||||
| gCarla.transportMode = value1 | |||||
| if gCarla.gui is not None: | |||||
| gCarla.gui.TransportModeChangedCallback.emit(value1) | |||||
| return | return | ||||
| if action == ENGINE_CALLBACK_BUFFER_SIZE_CHANGED: | if action == ENGINE_CALLBACK_BUFFER_SIZE_CHANGED: | ||||
| Carla.bufferSize = value1 | |||||
| if Carla.gui is not None: | |||||
| Carla.gui.BufferSizeChangedCallback.emit(value1) | |||||
| gCarla.bufferSize = value1 | |||||
| if gCarla.gui is not None: | |||||
| gCarla.gui.BufferSizeChangedCallback.emit(value1) | |||||
| return | return | ||||
| if action == ENGINE_CALLBACK_SAMPLE_RATE_CHANGED: | if action == ENGINE_CALLBACK_SAMPLE_RATE_CHANGED: | ||||
| Carla.sampleRate = value1 | |||||
| if Carla.gui is not None: | |||||
| Carla.gui.SampleRateChangedCallback.emit(value3) | |||||
| gCarla.sampleRate = value1 | |||||
| if gCarla.gui is not None: | |||||
| gCarla.gui.SampleRateChangedCallback.emit(value3) | |||||
| return | return | ||||
| if Carla.gui is None: | |||||
| if gCarla.gui is None: | |||||
| print("WARNING: Got engine callback but UI is not ready : ", pluginId, value1, value2, value3, valueStr) | print("WARNING: Got engine callback but UI is not ready : ", pluginId, value1, value2, value3, valueStr) | ||||
| return | return | ||||
| valueStr = charPtrToString(valueStr) | valueStr = charPtrToString(valueStr) | ||||
| if action == ENGINE_CALLBACK_DEBUG: | if action == ENGINE_CALLBACK_DEBUG: | ||||
| Carla.gui.DebugCallback.emit(pluginId, value1, value2, value3, valueStr) | |||||
| gCarla.gui.DebugCallback.emit(pluginId, value1, value2, value3, valueStr) | |||||
| elif action == ENGINE_CALLBACK_PLUGIN_ADDED: | elif action == ENGINE_CALLBACK_PLUGIN_ADDED: | ||||
| Carla.gui.PluginAddedCallback.emit(pluginId, valueStr) | |||||
| gCarla.gui.PluginAddedCallback.emit(pluginId, valueStr) | |||||
| elif action == ENGINE_CALLBACK_PLUGIN_REMOVED: | elif action == ENGINE_CALLBACK_PLUGIN_REMOVED: | ||||
| Carla.gui.PluginRemovedCallback.emit(pluginId) | |||||
| gCarla.gui.PluginRemovedCallback.emit(pluginId) | |||||
| elif action == ENGINE_CALLBACK_PLUGIN_RENAMED: | elif action == ENGINE_CALLBACK_PLUGIN_RENAMED: | ||||
| Carla.gui.PluginRenamedCallback.emit(pluginId, valueStr) | |||||
| gCarla.gui.PluginRenamedCallback.emit(pluginId, valueStr) | |||||
| elif action == ENGINE_CALLBACK_PLUGIN_UNAVAILABLE: | elif action == ENGINE_CALLBACK_PLUGIN_UNAVAILABLE: | ||||
| Carla.gui.PluginUnavailableCallback.emit(pluginId, valueStr) | |||||
| gCarla.gui.PluginUnavailableCallback.emit(pluginId, valueStr) | |||||
| elif action == ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED: | elif action == ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED: | ||||
| Carla.gui.ParameterValueChangedCallback.emit(pluginId, value1, value3) | |||||
| gCarla.gui.ParameterValueChangedCallback.emit(pluginId, value1, value3) | |||||
| elif action == ENGINE_CALLBACK_PARAMETER_DEFAULT_CHANGED: | elif action == ENGINE_CALLBACK_PARAMETER_DEFAULT_CHANGED: | ||||
| Carla.gui.ParameterDefaultChangedCallback.emit(pluginId, value1, value3) | |||||
| gCarla.gui.ParameterDefaultChangedCallback.emit(pluginId, value1, value3) | |||||
| elif action == ENGINE_CALLBACK_PARAMETER_MIDI_CC_CHANGED: | elif action == ENGINE_CALLBACK_PARAMETER_MIDI_CC_CHANGED: | ||||
| Carla.gui.ParameterMidiCcChangedCallback.emit(pluginId, value1, value2) | |||||
| gCarla.gui.ParameterMidiCcChangedCallback.emit(pluginId, value1, value2) | |||||
| elif action == ENGINE_CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED: | elif action == ENGINE_CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED: | ||||
| Carla.gui.ParameterMidiChannelChangedCallback.emit(pluginId, value1, value2) | |||||
| gCarla.gui.ParameterMidiChannelChangedCallback.emit(pluginId, value1, value2) | |||||
| elif action == ENGINE_CALLBACK_PROGRAM_CHANGED: | elif action == ENGINE_CALLBACK_PROGRAM_CHANGED: | ||||
| Carla.gui.ProgramChangedCallback.emit(pluginId, value1) | |||||
| gCarla.gui.ProgramChangedCallback.emit(pluginId, value1) | |||||
| elif action == ENGINE_CALLBACK_MIDI_PROGRAM_CHANGED: | elif action == ENGINE_CALLBACK_MIDI_PROGRAM_CHANGED: | ||||
| Carla.gui.MidiProgramChangedCallback.emit(pluginId, value1) | |||||
| gCarla.gui.MidiProgramChangedCallback.emit(pluginId, value1) | |||||
| elif action == ENGINE_CALLBACK_UI_STATE_CHANGED: | elif action == ENGINE_CALLBACK_UI_STATE_CHANGED: | ||||
| Carla.gui.UiStateChangedCallback.emit(pluginId, value1) | |||||
| gCarla.gui.UiStateChangedCallback.emit(pluginId, value1) | |||||
| elif action == ENGINE_CALLBACK_NOTE_ON: | elif action == ENGINE_CALLBACK_NOTE_ON: | ||||
| Carla.gui.NoteOnCallback.emit(pluginId, value1, value2, int(value3)) | |||||
| gCarla.gui.NoteOnCallback.emit(pluginId, value1, value2, int(value3)) | |||||
| elif action == ENGINE_CALLBACK_NOTE_OFF: | elif action == ENGINE_CALLBACK_NOTE_OFF: | ||||
| Carla.gui.NoteOffCallback.emit(pluginId, value1, value2) | |||||
| gCarla.gui.NoteOffCallback.emit(pluginId, value1, value2) | |||||
| elif action == ENGINE_CALLBACK_UPDATE: | elif action == ENGINE_CALLBACK_UPDATE: | ||||
| Carla.gui.UpdateCallback.emit(pluginId) | |||||
| gCarla.gui.UpdateCallback.emit(pluginId) | |||||
| elif action == ENGINE_CALLBACK_RELOAD_INFO: | elif action == ENGINE_CALLBACK_RELOAD_INFO: | ||||
| Carla.gui.ReloadInfoCallback.emit(pluginId) | |||||
| gCarla.gui.ReloadInfoCallback.emit(pluginId) | |||||
| elif action == ENGINE_CALLBACK_RELOAD_PARAMETERS: | elif action == ENGINE_CALLBACK_RELOAD_PARAMETERS: | ||||
| Carla.gui.ReloadParametersCallback.emit(pluginId) | |||||
| gCarla.gui.ReloadParametersCallback.emit(pluginId) | |||||
| elif action == ENGINE_CALLBACK_RELOAD_PROGRAMS: | elif action == ENGINE_CALLBACK_RELOAD_PROGRAMS: | ||||
| Carla.gui.ReloadProgramsCallback.emit(pluginId) | |||||
| gCarla.gui.ReloadProgramsCallback.emit(pluginId) | |||||
| elif action == ENGINE_CALLBACK_RELOAD_ALL: | elif action == ENGINE_CALLBACK_RELOAD_ALL: | ||||
| Carla.gui.ReloadAllCallback.emit(pluginId) | |||||
| gCarla.gui.ReloadAllCallback.emit(pluginId) | |||||
| elif action == ENGINE_CALLBACK_PATCHBAY_CLIENT_ADDED: | elif action == ENGINE_CALLBACK_PATCHBAY_CLIENT_ADDED: | ||||
| Carla.gui.PatchbayClientAddedCallback.emit(pluginId, value1, value2, valueStr) | |||||
| gCarla.gui.PatchbayClientAddedCallback.emit(pluginId, value1, value2, valueStr) | |||||
| elif action == ENGINE_CALLBACK_PATCHBAY_CLIENT_REMOVED: | elif action == ENGINE_CALLBACK_PATCHBAY_CLIENT_REMOVED: | ||||
| Carla.gui.PatchbayClientRemovedCallback.emit(pluginId) | |||||
| gCarla.gui.PatchbayClientRemovedCallback.emit(pluginId) | |||||
| elif action == ENGINE_CALLBACK_PATCHBAY_CLIENT_RENAMED: | elif action == ENGINE_CALLBACK_PATCHBAY_CLIENT_RENAMED: | ||||
| Carla.gui.PatchbayClientRenamedCallback.emit(pluginId, valueStr) | |||||
| gCarla.gui.PatchbayClientRenamedCallback.emit(pluginId, valueStr) | |||||
| elif action == ENGINE_CALLBACK_PATCHBAY_CLIENT_DATA_CHANGED: | elif action == ENGINE_CALLBACK_PATCHBAY_CLIENT_DATA_CHANGED: | ||||
| Carla.gui.PatchbayClientDataChangedCallback.emit(pluginId, value1, value2) | |||||
| gCarla.gui.PatchbayClientDataChangedCallback.emit(pluginId, value1, value2) | |||||
| elif action == ENGINE_CALLBACK_PATCHBAY_PORT_ADDED: | elif action == ENGINE_CALLBACK_PATCHBAY_PORT_ADDED: | ||||
| Carla.gui.PatchbayPortAddedCallback.emit(pluginId, value1, value2, valueStr) | |||||
| gCarla.gui.PatchbayPortAddedCallback.emit(pluginId, value1, value2, valueStr) | |||||
| elif action == ENGINE_CALLBACK_PATCHBAY_PORT_REMOVED: | elif action == ENGINE_CALLBACK_PATCHBAY_PORT_REMOVED: | ||||
| Carla.gui.PatchbayPortRemovedCallback.emit(pluginId, value1) | |||||
| gCarla.gui.PatchbayPortRemovedCallback.emit(pluginId, value1) | |||||
| elif action == ENGINE_CALLBACK_PATCHBAY_PORT_RENAMED: | elif action == ENGINE_CALLBACK_PATCHBAY_PORT_RENAMED: | ||||
| Carla.gui.PatchbayPortRenamedCallback.emit(pluginId, value1, valueStr) | |||||
| gCarla.gui.PatchbayPortRenamedCallback.emit(pluginId, value1, valueStr) | |||||
| elif action == ENGINE_CALLBACK_PATCHBAY_CONNECTION_ADDED: | elif action == ENGINE_CALLBACK_PATCHBAY_CONNECTION_ADDED: | ||||
| Carla.gui.PatchbayConnectionAddedCallback.emit(pluginId, value1, value2) | |||||
| gCarla.gui.PatchbayConnectionAddedCallback.emit(pluginId, value1, value2) | |||||
| elif action == ENGINE_CALLBACK_PATCHBAY_CONNECTION_REMOVED: | elif action == ENGINE_CALLBACK_PATCHBAY_CONNECTION_REMOVED: | ||||
| Carla.gui.PatchbayConnectionRemovedCallback.emit(pluginId, value1, value2) | |||||
| gCarla.gui.PatchbayConnectionRemovedCallback.emit(pluginId, value1, value2) | |||||
| elif action == ENGINE_CALLBACK_ENGINE_STARTED: | elif action == ENGINE_CALLBACK_ENGINE_STARTED: | ||||
| Carla.gui.EngineStartedCallback.emit(value1, value2, valueStr) | |||||
| gCarla.gui.EngineStartedCallback.emit(value1, value2, valueStr) | |||||
| elif action == ENGINE_CALLBACK_ENGINE_STOPPED: | elif action == ENGINE_CALLBACK_ENGINE_STOPPED: | ||||
| Carla.gui.killTimers() | |||||
| Carla.gui.EngineStoppedCallback.emit() | |||||
| gCarla.gui.killTimers() | |||||
| gCarla.gui.EngineStoppedCallback.emit() | |||||
| elif action == ENGINE_CALLBACK_INFO: | elif action == ENGINE_CALLBACK_INFO: | ||||
| Carla.gui.InfoCallback.emit(valueStr) | |||||
| gCarla.gui.InfoCallback.emit(valueStr) | |||||
| elif action == ENGINE_CALLBACK_ERROR: | elif action == ENGINE_CALLBACK_ERROR: | ||||
| Carla.gui.ErrorCallback.emit(valueStr) | |||||
| gCarla.gui.ErrorCallback.emit(valueStr) | |||||
| elif action == ENGINE_CALLBACK_QUIT: | elif action == ENGINE_CALLBACK_QUIT: | ||||
| Carla.gui.QuitCallback.emit() | |||||
| gCarla.gui.QuitCallback.emit() | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # File callback | # File callback | ||||
| def fileCallback(ptr, action, isDir, title, filter): | def fileCallback(ptr, action, isDir, title, filter): | ||||
| if Carla.gui is None: | |||||
| if gCarla.gui is None: | |||||
| return None | return None | ||||
| ret = "" | ret = "" | ||||
| @@ -1230,13 +1230,13 @@ def fileCallback(ptr, action, isDir, title, filter): | |||||
| if action == FILE_CALLBACK_DEBUG: | if action == FILE_CALLBACK_DEBUG: | ||||
| pass | pass | ||||
| elif action == FILE_CALLBACK_OPEN: | elif action == FILE_CALLBACK_OPEN: | ||||
| ret = QFileDialog.getOpenFileName(Carla.gui, charPtrToString(title), "", charPtrToString(filter) ) #, QFileDialog.ShowDirsOnly if isDir else 0x0) | |||||
| ret = QFileDialog.getOpenFileName(gCarla.gui, charPtrToString(title), "", charPtrToString(filter) ) #, QFileDialog.ShowDirsOnly if isDir else 0x0) | |||||
| elif action == FILE_CALLBACK_SAVE: | elif action == FILE_CALLBACK_SAVE: | ||||
| ret = QFileDialog.getSaveFileName(Carla.gui, charPtrToString(title), "", charPtrToString(filter), QFileDialog.ShowDirsOnly if isDir else 0x0) | |||||
| ret = QFileDialog.getSaveFileName(gCarla.gui, charPtrToString(title), "", charPtrToString(filter), QFileDialog.ShowDirsOnly if isDir else 0x0) | |||||
| if not ret: | if not ret: | ||||
| return None | return None | ||||
| Carla.gui._fileRet = c_char_p(ret.encode("utf-8")) | |||||
| retval = cast(byref(Carla.gui._fileRet), POINTER(c_uintptr)) | |||||
| gCarla.gui._fileRet = c_char_p(ret.encode("utf-8")) | |||||
| retval = cast(byref(gCarla.gui._fileRet), POINTER(c_uintptr)) | |||||
| return retval.contents.value | return retval.contents.value | ||||
| @@ -214,7 +214,7 @@ class CarlaPatchbayW(QFrame): | |||||
| self.fPluginCount += 1 | self.fPluginCount += 1 | ||||
| if not isProjectLoading: | if not isProjectLoading: | ||||
| Carla.host.set_active(pluginId, True) | |||||
| gCarla.host.set_active(pluginId, True) | |||||
| def removePlugin(self, pluginId): | def removePlugin(self, pluginId): | ||||
| if not self.fIsOnlyPatchbay: | if not self.fIsOnlyPatchbay: | ||||
| @@ -287,11 +287,11 @@ class CarlaPatchbayW(QFrame): | |||||
| for pluginId in self.fSelectedPlugins: | for pluginId in self.fSelectedPlugins: | ||||
| self.fPeaksCleared = False | self.fPeaksCleared = False | ||||
| if self.fPeaksIn.isVisible(): | if self.fPeaksIn.isVisible(): | ||||
| self.fPeaksIn.displayMeter(1, Carla.host.get_input_peak_value(pluginId, True)) | |||||
| self.fPeaksIn.displayMeter(2, Carla.host.get_input_peak_value(pluginId, False)) | |||||
| self.fPeaksIn.displayMeter(1, gCarla.host.get_input_peak_value(pluginId, True)) | |||||
| self.fPeaksIn.displayMeter(2, gCarla.host.get_input_peak_value(pluginId, False)) | |||||
| if self.fPeaksOut.isVisible(): | if self.fPeaksOut.isVisible(): | ||||
| self.fPeaksOut.displayMeter(1, Carla.host.get_output_peak_value(pluginId, True)) | |||||
| self.fPeaksOut.displayMeter(2, Carla.host.get_output_peak_value(pluginId, False)) | |||||
| self.fPeaksOut.displayMeter(1, gCarla.host.get_output_peak_value(pluginId, True)) | |||||
| self.fPeaksOut.displayMeter(2, gCarla.host.get_output_peak_value(pluginId, False)) | |||||
| return | return | ||||
| if self.fPeaksCleared: | if self.fPeaksCleared: | ||||
| return | return | ||||
| @@ -464,34 +464,34 @@ class CarlaPatchbayW(QFrame): | |||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_noteOn(self, note): | def slot_noteOn(self, note): | ||||
| for pluginId in self.fSelectedPlugins: | for pluginId in self.fSelectedPlugins: | ||||
| Carla.host.send_midi_note(pluginId, 0, note, 100) | |||||
| gCarla.host.send_midi_note(pluginId, 0, note, 100) | |||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_noteOff(self, note): | def slot_noteOff(self, note): | ||||
| for pluginId in self.fSelectedPlugins: | for pluginId in self.fSelectedPlugins: | ||||
| Carla.host.send_midi_note(pluginId, 0, note, 0) | |||||
| gCarla.host.send_midi_note(pluginId, 0, note, 0) | |||||
| # ----------------------------------------------------------------- | # ----------------------------------------------------------------- | ||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsEnable(self): | def slot_pluginsEnable(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| Carla.host.set_active(i, True) | |||||
| gCarla.host.set_active(i, True) | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsDisable(self): | def slot_pluginsDisable(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| Carla.host.set_active(i, False) | |||||
| gCarla.host.set_active(i, False) | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsVolume100(self): | def slot_pluginsVolume100(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| @@ -501,11 +501,11 @@ class CarlaPatchbayW(QFrame): | |||||
| if pitem.getHints() & PLUGIN_CAN_VOLUME: | if pitem.getHints() & PLUGIN_CAN_VOLUME: | ||||
| pitem.setParameterValue(PARAMETER_VOLUME, 1.0) | pitem.setParameterValue(PARAMETER_VOLUME, 1.0) | ||||
| Carla.host.set_volume(i, 1.0) | |||||
| gCarla.host.set_volume(i, 1.0) | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsMute(self): | def slot_pluginsMute(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| @@ -515,11 +515,11 @@ class CarlaPatchbayW(QFrame): | |||||
| if pitem.getHints() & PLUGIN_CAN_VOLUME: | if pitem.getHints() & PLUGIN_CAN_VOLUME: | ||||
| pitem.setParameterValue(PARAMETER_VOLUME, 0.0) | pitem.setParameterValue(PARAMETER_VOLUME, 0.0) | ||||
| Carla.host.set_volume(i, 0.0) | |||||
| gCarla.host.set_volume(i, 0.0) | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsWet100(self): | def slot_pluginsWet100(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| @@ -529,11 +529,11 @@ class CarlaPatchbayW(QFrame): | |||||
| if pitem.getHints() & PLUGIN_CAN_DRYWET: | if pitem.getHints() & PLUGIN_CAN_DRYWET: | ||||
| pitem.setParameterValue(PARAMETER_DRYWET, 1.0) | pitem.setParameterValue(PARAMETER_DRYWET, 1.0) | ||||
| Carla.host.set_drywet(i, 1.0) | |||||
| gCarla.host.set_drywet(i, 1.0) | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsBypass(self): | def slot_pluginsBypass(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| @@ -543,11 +543,11 @@ class CarlaPatchbayW(QFrame): | |||||
| if pitem.getHints() & PLUGIN_CAN_DRYWET: | if pitem.getHints() & PLUGIN_CAN_DRYWET: | ||||
| pitem.setParameterValue(PARAMETER_DRYWET, 0.0) | pitem.setParameterValue(PARAMETER_DRYWET, 0.0) | ||||
| Carla.host.set_drywet(i, 0.0) | |||||
| gCarla.host.set_drywet(i, 0.0) | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsCenter(self): | def slot_pluginsCenter(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| @@ -558,12 +558,12 @@ class CarlaPatchbayW(QFrame): | |||||
| if pitem.getHints() & PLUGIN_CAN_BALANCE: | if pitem.getHints() & PLUGIN_CAN_BALANCE: | ||||
| pitem.setParameterValue(PARAMETER_BALANCE_LEFT, -1.0) | pitem.setParameterValue(PARAMETER_BALANCE_LEFT, -1.0) | ||||
| pitem.setParameterValue(PARAMETER_BALANCE_RIGHT, 1.0) | pitem.setParameterValue(PARAMETER_BALANCE_RIGHT, 1.0) | ||||
| Carla.host.set_balance_left(i, -1.0) | |||||
| Carla.host.set_balance_right(i, 1.0) | |||||
| gCarla.host.set_balance_left(i, -1.0) | |||||
| gCarla.host.set_balance_right(i, 1.0) | |||||
| if pitem.getHints() & PLUGIN_CAN_PANNING: | if pitem.getHints() & PLUGIN_CAN_PANNING: | ||||
| pitem.setParameterValue(PARAMETER_PANNING, 0.0) | pitem.setParameterValue(PARAMETER_PANNING, 0.0) | ||||
| Carla.host.set_panning(i, 0.0) | |||||
| gCarla.host.set_panning(i, 0.0) | |||||
| # ----------------------------------------------------------------- | # ----------------------------------------------------------------- | ||||
| @@ -580,8 +580,8 @@ class CarlaPatchbayW(QFrame): | |||||
| self.fParent.updateContainer(self.themeData) | self.fParent.updateContainer(self.themeData) | ||||
| self.slot_miniCanvasCheckAll() | self.slot_miniCanvasCheckAll() | ||||
| if Carla.host.is_engine_running(): | |||||
| Carla.host.patchbay_refresh() | |||||
| if gCarla.host.is_engine_running(): | |||||
| gCarla.host.patchbay_refresh() | |||||
| # ----------------------------------------------------------------- | # ----------------------------------------------------------------- | ||||
| @@ -772,7 +772,7 @@ class CarlaPatchbayW(QFrame): | |||||
| print("sorry, can't map this plugin to canvas client", pluginId, self.fPluginCount) | print("sorry, can't map this plugin to canvas client", pluginId, self.fPluginCount) | ||||
| return | return | ||||
| patchcanvas.setGroupAsPlugin(clientId, pluginId, bool(Carla.host.get_plugin_info(pluginId)['hints'] & PLUGIN_HAS_CUSTOM_UI)) | |||||
| patchcanvas.setGroupAsPlugin(clientId, pluginId, bool(gCarla.host.get_plugin_info(pluginId)['hints'] & PLUGIN_HAS_CUSTOM_UI)) | |||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_handlePatchbayClientRemovedCallback(self, clientId): | def slot_handlePatchbayClientRemovedCallback(self, clientId): | ||||
| @@ -809,7 +809,7 @@ class CarlaPatchbayW(QFrame): | |||||
| print("sorry, can't map this plugin to canvas client", pluginId, self.getPluginCount()) | print("sorry, can't map this plugin to canvas client", pluginId, self.getPluginCount()) | ||||
| return | return | ||||
| patchcanvas.setGroupAsPlugin(clientId, pluginId, bool(Carla.host.get_plugin_info(pluginId)['hints'] & PLUGIN_HAS_CUSTOM_UI)) | |||||
| patchcanvas.setGroupAsPlugin(clientId, pluginId, bool(gCarla.host.get_plugin_info(pluginId)['hints'] & PLUGIN_HAS_CUSTOM_UI)) | |||||
| @pyqtSlot(int, int, int, str) | @pyqtSlot(int, int, int, str) | ||||
| def slot_handlePatchbayPortAddedCallback(self, clientId, portId, portFlags, portName): | def slot_handlePatchbayPortAddedCallback(self, clientId, portId, portFlags, portName): | ||||
| @@ -861,8 +861,8 @@ class CarlaPatchbayW(QFrame): | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_canvasRefresh(self): | def slot_canvasRefresh(self): | ||||
| patchcanvas.clear() | patchcanvas.clear() | ||||
| if Carla.host.is_engine_running(): | |||||
| Carla.host.patchbay_refresh() | |||||
| if gCarla.host.is_engine_running(): | |||||
| gCarla.host.patchbay_refresh() | |||||
| QTimer.singleShot(1000 if self.fParent.fSavedSettings[CARLA_KEY_CANVAS_EYE_CANDY] else 0, self.fMiniCanvasPreview.update) | QTimer.singleShot(1000 if self.fParent.fSavedSettings[CARLA_KEY_CANVAS_EYE_CANDY] else 0, self.fMiniCanvasPreview.update) | ||||
| @pyqtSlot() | @pyqtSlot() | ||||
| @@ -939,12 +939,12 @@ def canvasCallback(action, value1, value2, valueStr): | |||||
| elif action == patchcanvas.ACTION_GROUP_SPLIT: | elif action == patchcanvas.ACTION_GROUP_SPLIT: | ||||
| groupId = value1 | groupId = value1 | ||||
| patchcanvas.splitGroup(groupId) | patchcanvas.splitGroup(groupId) | ||||
| Carla.gui.ui.miniCanvasPreview.update() | |||||
| gCarla.gui.ui.miniCanvasPreview.update() | |||||
| elif action == patchcanvas.ACTION_GROUP_JOIN: | elif action == patchcanvas.ACTION_GROUP_JOIN: | ||||
| groupId = value1 | groupId = value1 | ||||
| patchcanvas.joinGroup(groupId) | patchcanvas.joinGroup(groupId) | ||||
| Carla.gui.ui.miniCanvasPreview.update() | |||||
| gCarla.gui.ui.miniCanvasPreview.update() | |||||
| elif action == patchcanvas.ACTION_PORT_INFO: | elif action == patchcanvas.ACTION_PORT_INFO: | ||||
| pass | pass | ||||
| @@ -956,37 +956,37 @@ def canvasCallback(action, value1, value2, valueStr): | |||||
| portIdA = value1 | portIdA = value1 | ||||
| portIdB = value2 | portIdB = value2 | ||||
| if not Carla.host.patchbay_connect(portIdA, portIdB): | |||||
| print("Connection failed:", Carla.host.get_last_error()) | |||||
| if not gCarla.host.patchbay_connect(portIdA, portIdB): | |||||
| print("Connection failed:", gCarla.host.get_last_error()) | |||||
| elif action == patchcanvas.ACTION_PORTS_DISCONNECT: | elif action == patchcanvas.ACTION_PORTS_DISCONNECT: | ||||
| connectionId = value1 | connectionId = value1 | ||||
| if not Carla.host.patchbay_disconnect(connectionId): | |||||
| print("Disconnect failed:", Carla.host.get_last_error()) | |||||
| if not gCarla.host.patchbay_disconnect(connectionId): | |||||
| print("Disconnect failed:", gCarla.host.get_last_error()) | |||||
| elif action == patchcanvas.ACTION_PLUGIN_CLONE: | elif action == patchcanvas.ACTION_PLUGIN_CLONE: | ||||
| pluginId = value1 | pluginId = value1 | ||||
| Carla.host.clone_plugin(pluginId) | |||||
| gCarla.host.clone_plugin(pluginId) | |||||
| elif action == patchcanvas.ACTION_PLUGIN_EDIT: | elif action == patchcanvas.ACTION_PLUGIN_EDIT: | ||||
| pluginId = value1 | pluginId = value1 | ||||
| Carla.gui.fContainer.showEditDialog(pluginId) | |||||
| gCarla.gui.fContainer.showEditDialog(pluginId) | |||||
| elif action == patchcanvas.ACTION_PLUGIN_RENAME: | elif action == patchcanvas.ACTION_PLUGIN_RENAME: | ||||
| pluginId = value1 | pluginId = value1 | ||||
| newName = valueStr | newName = valueStr | ||||
| Carla.host.rename_plugin(pluginId, newName) | |||||
| gCarla.host.rename_plugin(pluginId, newName) | |||||
| elif action == patchcanvas.ACTION_PLUGIN_REMOVE: | elif action == patchcanvas.ACTION_PLUGIN_REMOVE: | ||||
| pluginId = value1 | pluginId = value1 | ||||
| Carla.host.remove_plugin(pluginId) | |||||
| gCarla.host.remove_plugin(pluginId) | |||||
| elif action == patchcanvas.ACTION_PLUGIN_SHOW_UI: | elif action == patchcanvas.ACTION_PLUGIN_SHOW_UI: | ||||
| pluginId = value1 | pluginId = value1 | ||||
| Carla.host.show_custom_ui(pluginId, True) | |||||
| gCarla.host.show_custom_ui(pluginId, True) | |||||
| @@ -327,7 +327,7 @@ class CarlaRackW(QFrame): | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsEnable(self): | def slot_pluginsEnable(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| @@ -339,7 +339,7 @@ class CarlaRackW(QFrame): | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsDisable(self): | def slot_pluginsDisable(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| @@ -351,7 +351,7 @@ class CarlaRackW(QFrame): | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsVolume100(self): | def slot_pluginsVolume100(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| @@ -363,7 +363,7 @@ class CarlaRackW(QFrame): | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsMute(self): | def slot_pluginsMute(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| @@ -375,7 +375,7 @@ class CarlaRackW(QFrame): | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsWet100(self): | def slot_pluginsWet100(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| @@ -387,7 +387,7 @@ class CarlaRackW(QFrame): | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsBypass(self): | def slot_pluginsBypass(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| @@ -399,7 +399,7 @@ class CarlaRackW(QFrame): | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_pluginsCenter(self): | def slot_pluginsCenter(self): | ||||
| if not Carla.host.is_engine_running(): | |||||
| if not gCarla.host.is_engine_running(): | |||||
| return | return | ||||
| for i in range(self.fPluginCount): | for i in range(self.fPluginCount): | ||||
| @@ -19,7 +19,7 @@ | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Imports (Global) | # Imports (Global) | ||||
| from PyQt4.QtCore import pyqtSlot, QByteArray, QSettings | |||||
| from PyQt4.QtCore import pyqtSlot, QByteArray, QDir, QSettings | |||||
| from PyQt4.QtGui import QColor, QCursor, QFontMetrics, QPainter, QPainterPath | from PyQt4.QtGui import QColor, QCursor, QFontMetrics, QPainter, QPainterPath | ||||
| from PyQt4.QtGui import QDialog, QDialogButtonBox, QFrame, QInputDialog, QLineEdit, QMenu, QVBoxLayout, QWidget | from PyQt4.QtGui import QDialog, QDialogButtonBox, QFrame, QInputDialog, QLineEdit, QMenu, QVBoxLayout, QWidget | ||||
| @@ -42,7 +42,7 @@ CANVAS_EYECANDY_SMALL = 1 | |||||
| # Carla defaults | # Carla defaults | ||||
| # Main | # Main | ||||
| CARLA_DEFAULT_MAIN_PROJECT_FOLDER = HOME | |||||
| CARLA_DEFAULT_MAIN_PROJECT_FOLDER = QDir.homePath() | |||||
| CARLA_DEFAULT_MAIN_USE_PRO_THEME = True | CARLA_DEFAULT_MAIN_USE_PRO_THEME = True | ||||
| CARLA_DEFAULT_MAIN_PRO_THEME_COLOR = "Black" | CARLA_DEFAULT_MAIN_PRO_THEME_COLOR = "Black" | ||||
| CARLA_DEFAULT_MAIN_REFRESH_INTERVAL = 20 | CARLA_DEFAULT_MAIN_REFRESH_INTERVAL = 20 | ||||
| @@ -105,7 +105,7 @@ class DriverSettingsW(QDialog): | |||||
| self.fDriverIndex = driverIndex | self.fDriverIndex = driverIndex | ||||
| self.fDriverName = driverName | self.fDriverName = driverName | ||||
| self.fDeviceNames = Carla.host.get_engine_driver_device_names(driverIndex) if Carla.host is not None else [] | |||||
| self.fDeviceNames = gCarla.host.get_engine_driver_device_names(driverIndex) if gCarla.host is not None else [] | |||||
| self.fBufferSizes = BUFFER_SIZE_LIST | self.fBufferSizes = BUFFER_SIZE_LIST | ||||
| self.fSampleRates = SAMPLE_RATE_LIST | self.fSampleRates = SAMPLE_RATE_LIST | ||||
| @@ -180,8 +180,8 @@ class DriverSettingsW(QDialog): | |||||
| self.ui.cb_buffersize.clear() | self.ui.cb_buffersize.clear() | ||||
| self.ui.cb_samplerate.clear() | self.ui.cb_samplerate.clear() | ||||
| if deviceName and Carla.host is not None: | |||||
| driverDeviceInfo = Carla.host.get_engine_driver_device_info(self.fDriverIndex, deviceName) | |||||
| if deviceName and gCarla.host is not None: | |||||
| driverDeviceInfo = gCarla.host.get_engine_driver_device_info(self.fDriverIndex, deviceName) | |||||
| self.fBufferSizes = numPtrToList(driverDeviceInfo['bufferSizes']) | self.fBufferSizes = numPtrToList(driverDeviceInfo['bufferSizes']) | ||||
| self.fSampleRates = numPtrToList(driverDeviceInfo['sampleRates']) | self.fSampleRates = numPtrToList(driverDeviceInfo['sampleRates']) | ||||
| @@ -234,9 +234,9 @@ class CarlaSettingsW(QDialog): | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Set-up GUI | # Set-up GUI | ||||
| if Carla.host is not None: | |||||
| for i in range(Carla.host.get_engine_driver_count()): | |||||
| self.ui.cb_engine_audio_driver.addItem(Carla.host.get_engine_driver_name(i)) | |||||
| if gCarla.host is not None: | |||||
| for i in range(gCarla.host.get_engine_driver_count()): | |||||
| self.ui.cb_engine_audio_driver.addItem(gCarla.host.get_engine_driver_name(i)) | |||||
| else: | else: | ||||
| self.ui.tb_engine_driver_config.setEnabled(False) | self.ui.tb_engine_driver_config.setEnabled(False) | ||||
| @@ -262,7 +262,7 @@ class CarlaSettingsW(QDialog): | |||||
| if not MACOS: | if not MACOS: | ||||
| self.ui.cb_paths.removeItem(self.ui.cb_paths.findText("AU")) | self.ui.cb_paths.removeItem(self.ui.cb_paths.findText("AU")) | ||||
| if Carla.isPlugin: | |||||
| if gCarla.isPlugin: | |||||
| self.ui.lw_page.hideRow(self.TAB_INDEX_ENGINE) | self.ui.lw_page.hideRow(self.TAB_INDEX_ENGINE) | ||||
| self.ui.lw_page.hideRow(self.TAB_INDEX_PATHS) | self.ui.lw_page.hideRow(self.TAB_INDEX_PATHS) | ||||
| @@ -361,15 +361,15 @@ class CarlaSettingsW(QDialog): | |||||
| # -------------------------------------------- | # -------------------------------------------- | ||||
| # Paths | # Paths | ||||
| ladspas = toList(settings.value(CARLA_KEY_PATHS_LADSPA, Carla.DEFAULT_LADSPA_PATH)) | |||||
| dssis = toList(settings.value(CARLA_KEY_PATHS_DSSI, Carla.DEFAULT_DSSI_PATH)) | |||||
| lv2s = toList(settings.value(CARLA_KEY_PATHS_LV2, Carla.DEFAULT_LV2_PATH)) | |||||
| vsts = toList(settings.value(CARLA_KEY_PATHS_VST, Carla.DEFAULT_VST_PATH)) | |||||
| aus = toList(settings.value(CARLA_KEY_PATHS_AU, Carla.DEFAULT_AU_PATH)) | |||||
| csds = toList(settings.value(CARLA_KEY_PATHS_CSD, Carla.DEFAULT_CSOUND_PATH)) | |||||
| gigs = toList(settings.value(CARLA_KEY_PATHS_GIG, Carla.DEFAULT_GIG_PATH)) | |||||
| sf2s = toList(settings.value(CARLA_KEY_PATHS_SF2, Carla.DEFAULT_SF2_PATH)) | |||||
| sfzs = toList(settings.value(CARLA_KEY_PATHS_SFZ, Carla.DEFAULT_SFZ_PATH)) | |||||
| ladspas = toList(settings.value(CARLA_KEY_PATHS_LADSPA, gCarla.DEFAULT_LADSPA_PATH)) | |||||
| dssis = toList(settings.value(CARLA_KEY_PATHS_DSSI, gCarla.DEFAULT_DSSI_PATH)) | |||||
| lv2s = toList(settings.value(CARLA_KEY_PATHS_LV2, gCarla.DEFAULT_LV2_PATH)) | |||||
| vsts = toList(settings.value(CARLA_KEY_PATHS_VST, gCarla.DEFAULT_VST_PATH)) | |||||
| aus = toList(settings.value(CARLA_KEY_PATHS_AU, gCarla.DEFAULT_AU_PATH)) | |||||
| csds = toList(settings.value(CARLA_KEY_PATHS_CSD, gCarla.DEFAULT_CSOUND_PATH)) | |||||
| gigs = toList(settings.value(CARLA_KEY_PATHS_GIG, gCarla.DEFAULT_GIG_PATH)) | |||||
| sf2s = toList(settings.value(CARLA_KEY_PATHS_SF2, gCarla.DEFAULT_SF2_PATH)) | |||||
| sfzs = toList(settings.value(CARLA_KEY_PATHS_SFZ, gCarla.DEFAULT_SFZ_PATH)) | |||||
| ladspas.sort() | ladspas.sort() | ||||
| dssis.sort() | dssis.sort() | ||||
| @@ -2,7 +2,7 @@ | |||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||
| # Common Carla code | # Common Carla code | ||||
| # Copyright (C) 2011-2013 Filipe Coelho <falktx@falktx.com> | |||||
| # Copyright (C) 2011-2014 Filipe Coelho <falktx@falktx.com> | |||||
| # | # | ||||
| # This program is free software; you can redistribute it and/or | # This program is free software; you can redistribute it and/or | ||||
| # modify it under the terms of the GNU General Public License as | # modify it under the terms of the GNU General Public License as | ||||
| @@ -22,7 +22,7 @@ | |||||
| import os | import os | ||||
| import sys | import sys | ||||
| from PyQt4.QtCore import qFatal, qWarning | |||||
| from PyQt4.QtCore import qFatal, qWarning, QDir | |||||
| from PyQt4.QtGui import QIcon | from PyQt4.QtGui import QIcon | ||||
| from PyQt4.QtGui import QFileDialog, QMessageBox | from PyQt4.QtGui import QFileDialog, QMessageBox | ||||
| @@ -59,51 +59,56 @@ VERSION = "1.9.0" | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Set TMP | # Set TMP | ||||
| TMP = os.getenv("TMP") | |||||
| envTMP = os.getenv("TMP") | |||||
| if TMP is None: | |||||
| if envTMP is None: | |||||
| if WINDOWS: | if WINDOWS: | ||||
| qWarning("TMP variable not set") | qWarning("TMP variable not set") | ||||
| TMP = os.path.join(WINDIR, "temp") | |||||
| else: | |||||
| TMP = "/tmp" | |||||
| TMP = QDir.tempPath() | |||||
| else: | |||||
| TMP = envTMP | |||||
| elif not os.path.exists(TMP): | |||||
| if not os.path.exists(TMP): | |||||
| qWarning("TMP does not exist") | qWarning("TMP does not exist") | ||||
| TMP = "/tmp" | |||||
| TMP = "/" | |||||
| del envTMP | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Set HOME | # Set HOME | ||||
| HOME = os.getenv("HOME") | |||||
| if HOME is None: | |||||
| HOME = os.path.expanduser("~") | |||||
| envHOME = os.getenv("HOME") | |||||
| if envHOME is None: | |||||
| if LINUX or MACOS: | if LINUX or MACOS: | ||||
| qWarning("HOME variable not set") | qWarning("HOME variable not set") | ||||
| HOME = QDir.homePath() | |||||
| else: | |||||
| HOME = envHOME | |||||
| if not os.path.exists(HOME): | if not os.path.exists(HOME): | ||||
| qWarning("HOME does not exist") | qWarning("HOME does not exist") | ||||
| HOME = TMP | HOME = TMP | ||||
| del envHOME | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Set PATH | # Set PATH | ||||
| PATH = os.getenv("PATH") | |||||
| envPATH = os.getenv("PATH") | |||||
| if PATH is None: | |||||
| if envPATH is None: | |||||
| qWarning("PATH variable not set") | qWarning("PATH variable not set") | ||||
| if MACOS: | if MACOS: | ||||
| PATH = ("/opt/local/bin", "/usr/local/bin", "/usr/bin", "/bin") | PATH = ("/opt/local/bin", "/usr/local/bin", "/usr/bin", "/bin") | ||||
| elif WINDOWS: | elif WINDOWS: | ||||
| PATH = (os.path.join(WINDIR, "system32"), WINDIR) | PATH = (os.path.join(WINDIR, "system32"), WINDIR) | ||||
| else: | else: | ||||
| PATH = ("/usr/local/bin", "/usr/bin", "/bin") | PATH = ("/usr/local/bin", "/usr/bin", "/bin") | ||||
| else: | else: | ||||
| PATH = PATH.split(os.pathsep) | |||||
| PATH = envPATH.split(os.pathsep) | |||||
| del envPATH | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Static MIDI CC list | # Static MIDI CC list | ||||
| @@ -159,141 +164,7 @@ MIDI_CC_LIST = ( | |||||
| "0x5D FX 3 Depth [Chorus]", | "0x5D FX 3 Depth [Chorus]", | ||||
| "0x5E FX 4 Depth [Detune]", | "0x5E FX 4 Depth [Detune]", | ||||
| "0x5F FX 5 Depth [Phaser]" | "0x5F FX 5 Depth [Phaser]" | ||||
| ) | |||||
| # ------------------------------------------------------------------------------------------------------------ | |||||
| # Default Plugin Folders (get) | |||||
| if WINDOWS: | |||||
| splitter = ";" | |||||
| APPDATA = os.getenv("APPDATA") | |||||
| PROGRAMFILES = os.getenv("PROGRAMFILES") | |||||
| PROGRAMFILESx86 = os.getenv("PROGRAMFILES(x86)") | |||||
| COMMONPROGRAMFILES = os.getenv("COMMONPROGRAMFILES") | |||||
| # Small integrity tests | |||||
| if not APPDATA: | |||||
| qFatal("APPDATA variable not set, cannot continue") | |||||
| sys.exit(1) | |||||
| if not PROGRAMFILES: | |||||
| qFatal("PROGRAMFILES variable not set, cannot continue") | |||||
| sys.exit(1) | |||||
| if not COMMONPROGRAMFILES: | |||||
| qFatal("COMMONPROGRAMFILES variable not set, cannot continue") | |||||
| sys.exit(1) | |||||
| DEFAULT_LADSPA_PATH = ";".join((os.path.join(APPDATA, "LADSPA"), | |||||
| os.path.join(PROGRAMFILES, "LADSPA"))) | |||||
| DEFAULT_DSSI_PATH = ";".join((os.path.join(APPDATA, "DSSI"), | |||||
| os.path.join(PROGRAMFILES, "DSSI"))) | |||||
| DEFAULT_LV2_PATH = ";".join((os.path.join(APPDATA, "LV2"), | |||||
| os.path.join(COMMONPROGRAMFILES, "LV2"))) | |||||
| DEFAULT_VST_PATH = ";".join((os.path.join(PROGRAMFILES, "VstPlugins"), | |||||
| os.path.join(PROGRAMFILES, "Steinberg", "VstPlugins"))) | |||||
| DEFAULT_AU_PATH = "" | |||||
| # TODO | |||||
| DEFAULT_CSOUND_PATH = "" | |||||
| DEFAULT_GIG_PATH = ";".join((os.path.join(APPDATA, "GIG"),)) | |||||
| DEFAULT_SF2_PATH = ";".join((os.path.join(APPDATA, "SF2"),)) | |||||
| DEFAULT_SFZ_PATH = ";".join((os.path.join(APPDATA, "SFZ"),)) | |||||
| if PROGRAMFILESx86: | |||||
| DEFAULT_LADSPA_PATH += ";"+os.path.join(PROGRAMFILESx86, "LADSPA") | |||||
| DEFAULT_DSSI_PATH += ";"+os.path.join(PROGRAMFILESx86, "DSSI") | |||||
| DEFAULT_VST_PATH += ";"+os.path.join(PROGRAMFILESx86, "VstPlugins") | |||||
| DEFAULT_VST_PATH += ";"+os.path.join(PROGRAMFILESx86, "Steinberg", "VstPlugins") | |||||
| elif HAIKU: | |||||
| splitter = ":" | |||||
| DEFAULT_LADSPA_PATH = ":".join((os.path.join(HOME, ".ladspa"), | |||||
| os.path.join("/", "boot", "common", "add-ons", "ladspa"))) | |||||
| DEFAULT_DSSI_PATH = ":".join((os.path.join(HOME, ".dssi"), | |||||
| os.path.join("/", "boot", "common", "add-ons", "dssi"))) | |||||
| DEFAULT_LV2_PATH = ":".join((os.path.join(HOME, ".lv2"), | |||||
| os.path.join("/", "boot", "common", "add-ons", "lv2"))) | |||||
| DEFAULT_VST_PATH = ":".join((os.path.join(HOME, ".vst"), | |||||
| os.path.join("/", "boot", "common", "add-ons", "vst"))) | |||||
| DEFAULT_AU_PATH = "" | |||||
| # TODO | |||||
| DEFAULT_CSOUND_PATH = "" | |||||
| # TODO | |||||
| DEFAULT_GIG_PATH = "" | |||||
| DEFAULT_SF2_PATH = "" | |||||
| DEFAULT_SFZ_PATH = "" | |||||
| elif MACOS: | |||||
| splitter = ":" | |||||
| DEFAULT_LADSPA_PATH = ":".join((os.path.join(HOME, "Library", "Audio", "Plug-Ins", "LADSPA"), | |||||
| os.path.join("/", "Library", "Audio", "Plug-Ins", "LADSPA"))) | |||||
| DEFAULT_DSSI_PATH = ":".join((os.path.join(HOME, "Library", "Audio", "Plug-Ins", "DSSI"), | |||||
| os.path.join("/", "Library", "Audio", "Plug-Ins", "DSSI"))) | |||||
| DEFAULT_LV2_PATH = ":".join((os.path.join(HOME, "Library", "Audio", "Plug-Ins", "LV2"), | |||||
| os.path.join("/", "Library", "Audio", "Plug-Ins", "LV2"))) | |||||
| DEFAULT_VST_PATH = ":".join((os.path.join(HOME, "Library", "Audio", "Plug-Ins", "VST"), | |||||
| os.path.join("/", "Library", "Audio", "Plug-Ins", "VST"))) | |||||
| DEFAULT_AU_PATH = ":".join((os.path.join(HOME, "Library", "Audio", "Plug-Ins", "Components"), | |||||
| os.path.join("/", "Library", "Audio", "Plug-Ins", "Components"))) | |||||
| # TODO | |||||
| DEFAULT_CSOUND_PATH = "" | |||||
| # TODO | |||||
| DEFAULT_GIG_PATH = "" | |||||
| DEFAULT_SF2_PATH = "" | |||||
| DEFAULT_SFZ_PATH = "" | |||||
| else: | |||||
| splitter = ":" | |||||
| DEFAULT_LADSPA_PATH = ":".join((os.path.join(HOME, ".ladspa"), | |||||
| os.path.join("/", "usr", "lib", "ladspa"), | |||||
| os.path.join("/", "usr", "local", "lib", "ladspa"))) | |||||
| DEFAULT_DSSI_PATH = ":".join((os.path.join(HOME, ".dssi"), | |||||
| os.path.join("/", "usr", "lib", "dssi"), | |||||
| os.path.join("/", "usr", "local", "lib", "dssi"))) | |||||
| DEFAULT_LV2_PATH = ":".join((os.path.join(HOME, ".lv2"), | |||||
| os.path.join("/", "usr", "lib", "lv2"), | |||||
| os.path.join("/", "usr", "local", "lib", "lv2"))) | |||||
| DEFAULT_VST_PATH = ":".join((os.path.join(HOME, ".vst"), | |||||
| os.path.join("/", "usr", "lib", "vst"), | |||||
| os.path.join("/", "usr", "local", "lib", "vst"))) | |||||
| DEFAULT_AU_PATH = "" | |||||
| # TODO | |||||
| DEFAULT_CSOUND_PATH = "" | |||||
| DEFAULT_GIG_PATH = ":".join((os.path.join(HOME, ".sounds", "gig"), | |||||
| os.path.join("/", "usr", "share", "sounds", "gig"))) | |||||
| DEFAULT_SF2_PATH = ":".join((os.path.join(HOME, ".sounds", "sf2"), | |||||
| os.path.join("/", "usr", "share", "sounds", "sf2"))) | |||||
| DEFAULT_SFZ_PATH = ":".join((os.path.join(HOME, ".sounds", "sfz"), | |||||
| os.path.join("/", "usr", "share", "sounds", "sfz"))) | |||||
| ) | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Carla Settings keys | # Carla Settings keys | ||||
| @@ -328,6 +199,7 @@ CARLA_KEY_PATHS_LADSPA = "Paths/LADSPA" | |||||
| CARLA_KEY_PATHS_DSSI = "Paths/DSSI" | CARLA_KEY_PATHS_DSSI = "Paths/DSSI" | ||||
| CARLA_KEY_PATHS_LV2 = "Paths/LV2" | CARLA_KEY_PATHS_LV2 = "Paths/LV2" | ||||
| CARLA_KEY_PATHS_VST = "Paths/VST" | CARLA_KEY_PATHS_VST = "Paths/VST" | ||||
| CARLA_KEY_PATHS_VST3 = "Paths/VST3" | |||||
| CARLA_KEY_PATHS_AU = "Paths/AU" | CARLA_KEY_PATHS_AU = "Paths/AU" | ||||
| CARLA_KEY_PATHS_CSD = "Paths/CSD" | CARLA_KEY_PATHS_CSD = "Paths/CSD" | ||||
| CARLA_KEY_PATHS_GIG = "Paths/GIG" | CARLA_KEY_PATHS_GIG = "Paths/GIG" | ||||
| @@ -370,6 +242,7 @@ class CarlaObject(object): | |||||
| 'DEFAULT_DSSI_PATH', | 'DEFAULT_DSSI_PATH', | ||||
| 'DEFAULT_LV2_PATH', | 'DEFAULT_LV2_PATH', | ||||
| 'DEFAULT_VST_PATH', | 'DEFAULT_VST_PATH', | ||||
| 'DEFAULT_VST3_PATH', | |||||
| 'DEFAULT_AU_PATH', | 'DEFAULT_AU_PATH', | ||||
| 'DEFAULT_CSOUND_PATH', | 'DEFAULT_CSOUND_PATH', | ||||
| 'DEFAULT_GIG_PATH', | 'DEFAULT_GIG_PATH', | ||||
| @@ -377,22 +250,149 @@ class CarlaObject(object): | |||||
| 'DEFAULT_SFZ_PATH' | 'DEFAULT_SFZ_PATH' | ||||
| ] | ] | ||||
| Carla = CarlaObject() | |||||
| Carla.host = None | |||||
| Carla.gui = None | |||||
| Carla.isControl = False | |||||
| Carla.isLocal = True | |||||
| Carla.isPlugin = False | |||||
| Carla.bufferSize = 0 | |||||
| Carla.sampleRate = 0.0 | |||||
| Carla.processMode = ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS if LINUX else ENGINE_PROCESS_MODE_CONTINUOUS_RACK | |||||
| Carla.transportMode = ENGINE_TRANSPORT_MODE_JACK if LINUX else ENGINE_TRANSPORT_MODE_INTERNAL | |||||
| Carla.maxParameters = MAX_DEFAULT_PARAMETERS | |||||
| Carla.discovery_native = "" | |||||
| Carla.discovery_posix32 = "" | |||||
| Carla.discovery_posix64 = "" | |||||
| Carla.discovery_win32 = "" | |||||
| Carla.discovery_win64 = "" | |||||
| gCarla = CarlaObject() | |||||
| gCarla.host = None | |||||
| gCarla.gui = None | |||||
| gCarla.isControl = False | |||||
| gCarla.isLocal = True | |||||
| gCarla.isPlugin = False | |||||
| gCarla.bufferSize = 0 | |||||
| gCarla.sampleRate = 0.0 | |||||
| gCarla.processMode = ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS if LINUX else ENGINE_PROCESS_MODE_CONTINUOUS_RACK | |||||
| gCarla.transportMode = ENGINE_TRANSPORT_MODE_JACK if LINUX else ENGINE_TRANSPORT_MODE_INTERNAL | |||||
| gCarla.maxParameters = MAX_DEFAULT_PARAMETERS | |||||
| gCarla.discovery_native = "" | |||||
| gCarla.discovery_posix32 = "" | |||||
| gCarla.discovery_posix64 = "" | |||||
| gCarla.discovery_win32 = "" | |||||
| gCarla.discovery_win64 = "" | |||||
| # ------------------------------------------------------------------------------------------------------------ | |||||
| # Default Plugin Folders (get) | |||||
| DEFAULT_LADSPA_PATH = "" | |||||
| DEFAULT_DSSI_PATH = "" | |||||
| DEFAULT_LV2_PATH = "" | |||||
| DEFAULT_VST_PATH = "" | |||||
| DEFAULT_VST3_PATH = "" | |||||
| DEFAULT_AU_PATH = "" | |||||
| DEFAULT_CSOUND_PATH = "" | |||||
| DEFAULT_GIG_PATH = "" | |||||
| DEFAULT_SF2_PATH = "" | |||||
| DEFAULT_SFZ_PATH = "" | |||||
| if WINDOWS: | |||||
| splitter = ";" | |||||
| APPDATA = os.getenv("APPDATA") | |||||
| PROGRAMFILES = os.getenv("PROGRAMFILES") | |||||
| PROGRAMFILESx86 = os.getenv("PROGRAMFILES(x86)") | |||||
| COMMONPROGRAMFILES = os.getenv("COMMONPROGRAMFILES") | |||||
| # Small integrity tests | |||||
| if not APPDATA: | |||||
| qFatal("APPDATA variable not set, cannot continue") | |||||
| sys.exit(1) | |||||
| if not PROGRAMFILES: | |||||
| qFatal("PROGRAMFILES variable not set, cannot continue") | |||||
| sys.exit(1) | |||||
| if not COMMONPROGRAMFILES: | |||||
| qFatal("COMMONPROGRAMFILES variable not set, cannot continue") | |||||
| sys.exit(1) | |||||
| DEFAULT_LADSPA_PATH = APPDATA + "\\LADSPA" | |||||
| DEFAULT_LADSPA_PATH += ";" + PROGRAMFILES + "\\LADSPA" | |||||
| DEFAULT_DSSI_PATH = APPDATA + "\\DSSI" | |||||
| DEFAULT_DSSI_PATH += ";" + PROGRAMFILES + "\\DSSI" | |||||
| DEFAULT_LV2_PATH = APPDATA + "\\LV2" | |||||
| DEFAULT_LV2_PATH += ";" + COMMONPROGRAMFILES + "\\LV2" | |||||
| DEFAULT_VST_PATH = PROGRAMFILES + "\\VstPlugins" | |||||
| DEFAULT_VST_PATH += ";" + PROGRAMFILES + "\\Steinberg\\VstPlugins" | |||||
| DEFAULT_VST3_PATH = PROGRAMFILES + "\\Vst3" | |||||
| DEFAULT_GIG_PATH = APPDATA + "\\GIG" | |||||
| DEFAULT_SF2_PATH = APPDATA + "\\SF2" | |||||
| DEFAULT_SFZ_PATH = APPDATA + "\\SFZ" | |||||
| if PROGRAMFILESx86: | |||||
| DEFAULT_LADSPA_PATH += ";" + PROGRAMFILESx86 + "\\LADSPA" | |||||
| DEFAULT_DSSI_PATH += ";" + PROGRAMFILESx86 + "\\DSSI" | |||||
| DEFAULT_VST_PATH += ";" + PROGRAMFILESx86 + "\\VstPlugins" | |||||
| DEFAULT_VST_PATH += ";" + PROGRAMFILESx86 + "\\Steinberg\\VstPlugins" | |||||
| elif HAIKU: | |||||
| splitter = ":" | |||||
| DEFAULT_LADSPA_PATH = HOME + "/.ladspa" | |||||
| DEFAULT_LADSPA_PATH += ":/boot/common/add-ons/ladspa" | |||||
| DEFAULT_DSSI_PATH = HOME + "/.dssi" | |||||
| DEFAULT_DSSI_PATH += ":/boot/common/add-ons/dssi" | |||||
| DEFAULT_LV2_PATH = HOME + "/.lv2" | |||||
| DEFAULT_LV2_PATH += ":/boot/common/add-ons/lv2" | |||||
| DEFAULT_VST_PATH = HOME + "/.vst" | |||||
| DEFAULT_VST_PATH += ":/boot/common/add-ons/vst" | |||||
| DEFAULT_VST3_PATH = HOME + "/.vst3" | |||||
| DEFAULT_VST3_PATH += ":/boot/common/add-ons/vst3" | |||||
| elif MACOS: | |||||
| splitter = ":" | |||||
| DEFAULT_LADSPA_PATH = HOME + "/Library/Audio/Plug-Ins/LADSPA" | |||||
| DEFAULT_LADSPA_PATH += ":/Library/Audio/Plug-Ins/LADSPA" | |||||
| DEFAULT_DSSI_PATH = HOME + "/Library/Audio/Plug-Ins/DSSI" | |||||
| DEFAULT_DSSI_PATH += ":/Library/Audio/Plug-Ins/DSSI" | |||||
| DEFAULT_LV2_PATH = HOME + "/Library/Audio/Plug-Ins/LV2" | |||||
| DEFAULT_LV2_PATH += ":/Library/Audio/Plug-Ins/LV2" | |||||
| DEFAULT_VST_PATH = HOME + "/Library/Audio/Plug-Ins/VST" | |||||
| DEFAULT_VST_PATH += ":/Library/Audio/Plug-Ins/VST" | |||||
| DEFAULT_VST3_PATH = HOME + "/Library/Audio/Plug-Ins/VST3" | |||||
| DEFAULT_VST3_PATH += ":/Library/Audio/Plug-Ins/VST3" | |||||
| DEFAULT_AU_PATH = HOME + "/Library/Audio/Plug-Ins/Components" | |||||
| DEFAULT_AU_PATH += ":/Library/Audio/Plug-Ins/Components" | |||||
| else: | |||||
| splitter = ":" | |||||
| DEFAULT_LADSPA_PATH = HOME + "/.ladspa" | |||||
| DEFAULT_LADSPA_PATH += ":/usr/lib/ladspa" | |||||
| DEFAULT_LADSPA_PATH += ":/usr/local/lib/ladspa" | |||||
| DEFAULT_DSSI_PATH = HOME + "/.dssi" | |||||
| DEFAULT_DSSI_PATH += ":/usr/lib/dssi" | |||||
| DEFAULT_DSSI_PATH += ":/usr/local/lib/dssi" | |||||
| DEFAULT_LV2_PATH = HOME + "/.lv2" | |||||
| DEFAULT_LV2_PATH += ":/usr/lib/lv2" | |||||
| DEFAULT_LV2_PATH += ":/usr/local/lib/lv2" | |||||
| DEFAULT_VST_PATH = HOME + "/.vst" | |||||
| DEFAULT_VST_PATH += ":/usr/lib/vst" | |||||
| DEFAULT_VST_PATH += ":/usr/local/lib/vst" | |||||
| DEFAULT_VST3_PATH = HOME + "/.vst3" | |||||
| DEFAULT_VST3_PATH += ":/usr/lib/vst3" | |||||
| DEFAULT_VST3_PATH += ":/usr/local/lib/vst3" | |||||
| DEFAULT_GIG_PATH = HOME + "/.sounds/gig" | |||||
| DEFAULT_GIG_PATH += ":/usr/share/sounds/gig" | |||||
| DEFAULT_SF2_PATH = HOME + "/.sounds/sf2" | |||||
| DEFAULT_SF2_PATH += ":/usr/share/sounds/sf2" | |||||
| DEFAULT_SFZ_PATH = HOME + "/.sounds/sfz" | |||||
| DEFAULT_SFZ_PATH += ":/usr/share/sounds/sfz" | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Default Plugin Folders (set) | # Default Plugin Folders (set) | ||||
| @@ -415,26 +415,28 @@ if WINDOWS: | |||||
| del reg | del reg | ||||
| if readEnvVars: | if readEnvVars: | ||||
| Carla.DEFAULT_LADSPA_PATH = os.getenv("LADSPA_PATH", DEFAULT_LADSPA_PATH).split(splitter) | |||||
| Carla.DEFAULT_DSSI_PATH = os.getenv("DSSI_PATH", DEFAULT_DSSI_PATH).split(splitter) | |||||
| Carla.DEFAULT_LV2_PATH = os.getenv("LV2_PATH", DEFAULT_LV2_PATH).split(splitter) | |||||
| Carla.DEFAULT_VST_PATH = os.getenv("VST_PATH", DEFAULT_VST_PATH).split(splitter) | |||||
| Carla.DEFAULT_AU_PATH = os.getenv("AU_PATH", DEFAULT_AU_PATH).split(splitter) | |||||
| Carla.DEFAULT_CSOUND_PATH = os.getenv("CSOUND_PATH", DEFAULT_CSOUND_PATH).split(splitter) | |||||
| Carla.DEFAULT_GIG_PATH = os.getenv("GIG_PATH", DEFAULT_GIG_PATH).split(splitter) | |||||
| Carla.DEFAULT_SF2_PATH = os.getenv("SF2_PATH", DEFAULT_SF2_PATH).split(splitter) | |||||
| Carla.DEFAULT_SFZ_PATH = os.getenv("SFZ_PATH", DEFAULT_SFZ_PATH).split(splitter) | |||||
| gCarla.DEFAULT_LADSPA_PATH = os.getenv("LADSPA_PATH", DEFAULT_LADSPA_PATH).split(splitter) | |||||
| gCarla.DEFAULT_DSSI_PATH = os.getenv("DSSI_PATH", DEFAULT_DSSI_PATH).split(splitter) | |||||
| gCarla.DEFAULT_LV2_PATH = os.getenv("LV2_PATH", DEFAULT_LV2_PATH).split(splitter) | |||||
| gCarla.DEFAULT_VST_PATH = os.getenv("VST_PATH", DEFAULT_VST_PATH).split(splitter) | |||||
| gCarla.DEFAULT_VST3_PATH = os.getenv("VST3_PATH", DEFAULT_VST3_PATH).split(splitter) | |||||
| gCarla.DEFAULT_AU_PATH = os.getenv("AU_PATH", DEFAULT_AU_PATH).split(splitter) | |||||
| gCarla.DEFAULT_CSOUND_PATH = os.getenv("CSOUND_PATH", DEFAULT_CSOUND_PATH).split(splitter) | |||||
| gCarla.DEFAULT_GIG_PATH = os.getenv("GIG_PATH", DEFAULT_GIG_PATH).split(splitter) | |||||
| gCarla.DEFAULT_SF2_PATH = os.getenv("SF2_PATH", DEFAULT_SF2_PATH).split(splitter) | |||||
| gCarla.DEFAULT_SFZ_PATH = os.getenv("SFZ_PATH", DEFAULT_SFZ_PATH).split(splitter) | |||||
| else: | else: | ||||
| Carla.DEFAULT_LADSPA_PATH = DEFAULT_LADSPA_PATH.split(splitter) | |||||
| Carla.DEFAULT_DSSI_PATH = DEFAULT_DSSI_PATH.split(splitter) | |||||
| Carla.DEFAULT_LV2_PATH = DEFAULT_LV2_PATH.split(splitter) | |||||
| Carla.DEFAULT_VST_PATH = DEFAULT_VST_PATH.split(splitter) | |||||
| Carla.DEFAULT_AU_PATH = DEFAULT_AU_PATH.split(splitter) | |||||
| Carla.DEFAULT_CSOUND_PATH = DEFAULT_CSOUND_PATH.split(splitter) | |||||
| Carla.DEFAULT_GIG_PATH = DEFAULT_GIG_PATH.split(splitter) | |||||
| Carla.DEFAULT_SF2_PATH = DEFAULT_SF2_PATH.split(splitter) | |||||
| Carla.DEFAULT_SFZ_PATH = DEFAULT_SFZ_PATH.split(splitter) | |||||
| gCarla.DEFAULT_LADSPA_PATH = DEFAULT_LADSPA_PATH.split(splitter) | |||||
| gCarla.DEFAULT_DSSI_PATH = DEFAULT_DSSI_PATH.split(splitter) | |||||
| gCarla.DEFAULT_LV2_PATH = DEFAULT_LV2_PATH.split(splitter) | |||||
| gCarla.DEFAULT_VST_PATH = DEFAULT_VST_PATH.split(splitter) | |||||
| gCarla.DEFAULT_VST3_PATH = DEFAULT_VST3_PATH.split(splitter) | |||||
| gCarla.DEFAULT_AU_PATH = DEFAULT_AU_PATH.split(splitter) | |||||
| gCarla.DEFAULT_CSOUND_PATH = DEFAULT_CSOUND_PATH.split(splitter) | |||||
| gCarla.DEFAULT_GIG_PATH = DEFAULT_GIG_PATH.split(splitter) | |||||
| gCarla.DEFAULT_SF2_PATH = DEFAULT_SF2_PATH.split(splitter) | |||||
| gCarla.DEFAULT_SFZ_PATH = DEFAULT_SFZ_PATH.split(splitter) | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Search for Carla tools | # Search for Carla tools | ||||
| @@ -469,7 +471,7 @@ def initHost(appName, libPrefix = None, failError = True): | |||||
| libname = "libcarla_" | libname = "libcarla_" | ||||
| if Carla.isControl: | |||||
| if gCarla.isControl: | |||||
| libname += "control2" | libname += "control2" | ||||
| else: | else: | ||||
| libname += "standalone2" | libname += "standalone2" | ||||
| @@ -514,20 +516,20 @@ def initHost(appName, libPrefix = None, failError = True): | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # find windows tools | # find windows tools | ||||
| Carla.discovery_win32 = findTool("discovery", "carla-discovery-win32.exe") | |||||
| Carla.discovery_win64 = findTool("discovery", "carla-discovery-win64.exe") | |||||
| gCarla.discovery_win32 = findTool("discovery", "carla-discovery-win32.exe") | |||||
| gCarla.discovery_win64 = findTool("discovery", "carla-discovery-win64.exe") | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # find native and posix tools | # find native and posix tools | ||||
| if not WINDOWS: | if not WINDOWS: | ||||
| Carla.discovery_native = findTool("discovery", "carla-discovery-native") | |||||
| Carla.discovery_posix32 = findTool("discovery", "carla-discovery-posix32") | |||||
| Carla.discovery_posix64 = findTool("discovery", "carla-discovery-posix64") | |||||
| gCarla.discovery_native = findTool("discovery", "carla-discovery-native") | |||||
| gCarla.discovery_posix32 = findTool("discovery", "carla-discovery-posix32") | |||||
| gCarla.discovery_posix64 = findTool("discovery", "carla-discovery-posix64") | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| if not (libfilename or Carla.isPlugin): | |||||
| if not (libfilename or gCarla.isPlugin): | |||||
| if failError: | if failError: | ||||
| QMessageBox.critical(None, "Error", "Failed to find the carla library, cannot continue") | QMessageBox.critical(None, "Error", "Failed to find the carla library, cannot continue") | ||||
| sys.exit(1) | sys.exit(1) | ||||
| @@ -536,8 +538,8 @@ def initHost(appName, libPrefix = None, failError = True): | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Init host | # Init host | ||||
| if Carla.host is None: | |||||
| Carla.host = Host(libfilename) | |||||
| if gCarla.host is None: | |||||
| gCarla.host = Host(libfilename) | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Set binary path | # Set binary path | ||||
| @@ -547,11 +549,11 @@ def initHost(appName, libPrefix = None, failError = True): | |||||
| systemBinaries = os.path.join(libfolder, "bridges") | systemBinaries = os.path.join(libfolder, "bridges") | ||||
| if os.path.exists(libfolder): | if os.path.exists(libfolder): | ||||
| Carla.host.set_engine_option(ENGINE_OPTION_PATH_BINARIES, 0, libfolder) | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_PATH_BINARIES, 0, libfolder) | |||||
| elif os.path.exists(localBinaries): | elif os.path.exists(localBinaries): | ||||
| Carla.host.set_engine_option(ENGINE_OPTION_PATH_BINARIES, 0, localBinaries) | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_PATH_BINARIES, 0, localBinaries) | |||||
| elif os.path.exists(systemBinaries): | elif os.path.exists(systemBinaries): | ||||
| Carla.host.set_engine_option(ENGINE_OPTION_PATH_BINARIES, 0, systemBinaries) | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_PATH_BINARIES, 0, systemBinaries) | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Set resource path | # Set resource path | ||||
| @@ -560,9 +562,9 @@ def initHost(appName, libPrefix = None, failError = True): | |||||
| systemResources = os.path.join(libfolder, "resources") | systemResources = os.path.join(libfolder, "resources") | ||||
| if os.path.exists(localResources): | if os.path.exists(localResources): | ||||
| Carla.host.set_engine_option(ENGINE_OPTION_PATH_RESOURCES, 0, localResources) | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_PATH_RESOURCES, 0, localResources) | |||||
| elif os.path.exists(systemResources): | elif os.path.exists(systemResources): | ||||
| Carla.host.set_engine_option(ENGINE_OPTION_PATH_RESOURCES, 0, systemResources) | |||||
| gCarla.host.set_engine_option(ENGINE_OPTION_PATH_RESOURCES, 0, systemResources) | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Check if a value is a number (float support) | # Check if a value is a number (float support) | ||||
| @@ -595,13 +597,13 @@ def getIcon(icon, size=16): | |||||
| # Signal handler | # Signal handler | ||||
| def signalHandler(sig, frame): | def signalHandler(sig, frame): | ||||
| if Carla.gui is None: | |||||
| if gCarla.gui is None: | |||||
| return | return | ||||
| if sig in (SIGINT, SIGTERM): | if sig in (SIGINT, SIGTERM): | ||||
| Carla.gui.SIGTERM.emit() | |||||
| gCarla.gui.SIGTERM.emit() | |||||
| elif haveSIGUSR1 and sig == SIGUSR1: | elif haveSIGUSR1 and sig == SIGUSR1: | ||||
| Carla.gui.SIGUSR1.emit() | |||||
| gCarla.gui.SIGUSR1.emit() | |||||
| def setUpSignals(): | def setUpSignals(): | ||||
| signal(SIGINT, signalHandler) | signal(SIGINT, signalHandler) | ||||
| @@ -615,8 +617,8 @@ def setUpSignals(): | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # QLineEdit and QPushButton combo | # QLineEdit and QPushButton combo | ||||
| def getAndSetPath(self_, currentPath, lineEdit): | |||||
| newPath = QFileDialog.getExistingDirectory(self_, self_.tr("Set Path"), currentPath, QFileDialog.ShowDirsOnly) | |||||
| def getAndSetPath(parent, currentPath, lineEdit): | |||||
| newPath = QFileDialog.getExistingDirectory(parent, parent.tr("Set Path"), currentPath, QFileDialog.ShowDirsOnly) | |||||
| if newPath: | if newPath: | ||||
| lineEdit.setText(newPath) | lineEdit.setText(newPath) | ||||
| return newPath | return newPath | ||||
| @@ -656,8 +658,8 @@ def getPluginTypeAsString(ptype): | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Custom MessageBox | # Custom MessageBox | ||||
| def CustomMessageBox(self_, icon, title, text, extraText="", buttons=QMessageBox.Yes|QMessageBox.No, defButton=QMessageBox.No): | |||||
| msgBox = QMessageBox(self_) | |||||
| def CustomMessageBox(parent, icon, title, text, extraText="", buttons=QMessageBox.Yes|QMessageBox.No, defButton=QMessageBox.No): | |||||
| msgBox = QMessageBox(parent) | |||||
| msgBox.setIcon(icon) | msgBox.setIcon(icon) | ||||
| msgBox.setWindowTitle(title) | msgBox.setWindowTitle(title) | ||||
| msgBox.setText(text) | msgBox.setText(text) | ||||
| @@ -45,7 +45,7 @@ class AbstractPluginSlot(QFrame): | |||||
| # Get plugin info | # Get plugin info | ||||
| self.fPluginId = pluginId | self.fPluginId = pluginId | ||||
| self.fPluginInfo = Carla.host.get_plugin_info(self.fPluginId) if Carla.host is not None else gFakePluginInfo | |||||
| self.fPluginInfo = gCarla.host.get_plugin_info(self.fPluginId) if gCarla.host is not None else gFakePluginInfo | |||||
| self.fPluginInfo['filename'] = charPtrToString(self.fPluginInfo['filename']) | self.fPluginInfo['filename'] = charPtrToString(self.fPluginInfo['filename']) | ||||
| self.fPluginInfo['name'] = charPtrToString(self.fPluginInfo['name']) | self.fPluginInfo['name'] = charPtrToString(self.fPluginInfo['name']) | ||||
| @@ -54,7 +54,7 @@ class AbstractPluginSlot(QFrame): | |||||
| self.fPluginInfo['copyright'] = charPtrToString(self.fPluginInfo['copyright']) | self.fPluginInfo['copyright'] = charPtrToString(self.fPluginInfo['copyright']) | ||||
| self.fPluginInfo['iconName'] = charPtrToString(self.fPluginInfo['iconName']) | self.fPluginInfo['iconName'] = charPtrToString(self.fPluginInfo['iconName']) | ||||
| if not Carla.isLocal: | |||||
| if not gCarla.isLocal: | |||||
| self.fPluginInfo['hints'] &= ~PLUGIN_HAS_CUSTOM_UI | self.fPluginInfo['hints'] &= ~PLUGIN_HAS_CUSTOM_UI | ||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| @@ -69,11 +69,11 @@ class AbstractPluginSlot(QFrame): | |||||
| self.fParameterIconTimer = ICON_STATE_NULL | self.fParameterIconTimer = ICON_STATE_NULL | ||||
| self.fParameterList = [] # index, widget | self.fParameterList = [] # index, widget | ||||
| if Carla.processMode == ENGINE_PROCESS_MODE_CONTINUOUS_RACK or Carla.host is None: | |||||
| if gCarla.processMode == ENGINE_PROCESS_MODE_CONTINUOUS_RACK or gCarla.host is None: | |||||
| self.fPeaksInputCount = 2 | self.fPeaksInputCount = 2 | ||||
| self.fPeaksOutputCount = 2 | self.fPeaksOutputCount = 2 | ||||
| else: | else: | ||||
| audioCountInfo = Carla.host.get_audio_port_count_info(self.fPluginId) | |||||
| audioCountInfo = gCarla.host.get_audio_port_count_info(self.fPluginId) | |||||
| self.fPeaksInputCount = int(audioCountInfo['ins']) | self.fPeaksInputCount = int(audioCountInfo['ins']) | ||||
| self.fPeaksOutputCount = int(audioCountInfo['outs']) | self.fPeaksOutputCount = int(audioCountInfo['outs']) | ||||
| @@ -167,8 +167,8 @@ class AbstractPluginSlot(QFrame): | |||||
| for paramIndex, paramWidget in self.fParameterList: | for paramIndex, paramWidget in self.fParameterList: | ||||
| paramWidget.valueChanged.connect(self.slot_parameterValueChanged) | paramWidget.valueChanged.connect(self.slot_parameterValueChanged) | ||||
| if paramIndex >= 0 and Carla.host is not None: | |||||
| paramWidget.setValue(Carla.host.get_current_parameter_value(self.fPluginId, paramIndex) * 1000) | |||||
| if paramIndex >= 0 and gCarla.host is not None: | |||||
| paramWidget.setValue(gCarla.host.get_current_parameter_value(self.fPluginId, paramIndex) * 1000) | |||||
| #------------------------------------------------------------------ | #------------------------------------------------------------------ | ||||
| @@ -209,7 +209,7 @@ class AbstractPluginSlot(QFrame): | |||||
| self.fIsActive = active | self.fIsActive = active | ||||
| if sendGui: self.activeChanged(active) | if sendGui: self.activeChanged(active) | ||||
| if sendCallback: Carla.host.set_active(self.fPluginId, active) | |||||
| if sendCallback: gCarla.host.set_active(self.fPluginId, active) | |||||
| if active: | if active: | ||||
| self.fEditDialog.clearNotes() | self.fEditDialog.clearNotes() | ||||
| @@ -225,26 +225,26 @@ class AbstractPluginSlot(QFrame): | |||||
| elif parameterId == PARAMETER_DRYWET: | elif parameterId == PARAMETER_DRYWET: | ||||
| if (self.fPluginInfo['hints'] & PLUGIN_CAN_DRYWET) == 0: return | if (self.fPluginInfo['hints'] & PLUGIN_CAN_DRYWET) == 0: return | ||||
| Carla.host.set_drywet(self.fPluginId, value) | |||||
| gCarla.host.set_drywet(self.fPluginId, value) | |||||
| elif parameterId == PARAMETER_VOLUME: | elif parameterId == PARAMETER_VOLUME: | ||||
| if (self.fPluginInfo['hints'] & PLUGIN_CAN_VOLUME) == 0: return | if (self.fPluginInfo['hints'] & PLUGIN_CAN_VOLUME) == 0: return | ||||
| Carla.host.set_volume(self.fPluginId, value) | |||||
| gCarla.host.set_volume(self.fPluginId, value) | |||||
| elif parameterId == PARAMETER_BALANCE_LEFT: | elif parameterId == PARAMETER_BALANCE_LEFT: | ||||
| if (self.fPluginInfo['hints'] & PLUGIN_CAN_BALANCE) == 0: return | if (self.fPluginInfo['hints'] & PLUGIN_CAN_BALANCE) == 0: return | ||||
| Carla.host.set_balance_left(self.fPluginId, value) | |||||
| gCarla.host.set_balance_left(self.fPluginId, value) | |||||
| elif parameterId == PARAMETER_BALANCE_RIGHT: | elif parameterId == PARAMETER_BALANCE_RIGHT: | ||||
| if (self.fPluginInfo['hints'] & PLUGIN_CAN_BALANCE) == 0: return | if (self.fPluginInfo['hints'] & PLUGIN_CAN_BALANCE) == 0: return | ||||
| Carla.host.set_balance_right(self.fPluginId, value) | |||||
| gCarla.host.set_balance_right(self.fPluginId, value) | |||||
| elif parameterId == PARAMETER_PANNING: | elif parameterId == PARAMETER_PANNING: | ||||
| if (self.fPluginInfo['hints'] & PLUGIN_CAN_PANNING) == 0: return | if (self.fPluginInfo['hints'] & PLUGIN_CAN_PANNING) == 0: return | ||||
| Carla.host.set_panning(self.fPluginId, value) | |||||
| gCarla.host.set_panning(self.fPluginId, value) | |||||
| elif parameterId == PARAMETER_CTRL_CHANNEL: | elif parameterId == PARAMETER_CTRL_CHANNEL: | ||||
| Carla.host.set_ctrl_channel(self.fPluginId, value) | |||||
| gCarla.host.set_ctrl_channel(self.fPluginId, value) | |||||
| self.fEditDialog.setParameterValue(parameterId, value) | self.fEditDialog.setParameterValue(parameterId, value) | ||||
| @@ -382,8 +382,8 @@ class AbstractPluginSlot(QFrame): | |||||
| # Input peaks | # Input peaks | ||||
| if self.fPeaksInputCount > 0: | if self.fPeaksInputCount > 0: | ||||
| if self.fPeaksInputCount > 1: | if self.fPeaksInputCount > 1: | ||||
| peak1 = Carla.host.get_input_peak_value(self.fPluginId, True) | |||||
| peak2 = Carla.host.get_input_peak_value(self.fPluginId, False) | |||||
| peak1 = gCarla.host.get_input_peak_value(self.fPluginId, True) | |||||
| peak2 = gCarla.host.get_input_peak_value(self.fPluginId, False) | |||||
| ledState = bool(peak1 != 0.0 or peak2 != 0.0) | ledState = bool(peak1 != 0.0 or peak2 != 0.0) | ||||
| if self.peak_in is not None: | if self.peak_in is not None: | ||||
| @@ -391,7 +391,7 @@ class AbstractPluginSlot(QFrame): | |||||
| self.peak_in.displayMeter(2, peak2) | self.peak_in.displayMeter(2, peak2) | ||||
| else: | else: | ||||
| peak = Carla.host.get_input_peak_value(self.fPluginId, True) | |||||
| peak = gCarla.host.get_input_peak_value(self.fPluginId, True) | |||||
| ledState = bool(peak != 0.0) | ledState = bool(peak != 0.0) | ||||
| if self.peak_in is not None: | if self.peak_in is not None: | ||||
| @@ -404,8 +404,8 @@ class AbstractPluginSlot(QFrame): | |||||
| # Output peaks | # Output peaks | ||||
| if self.fPeaksOutputCount > 0: | if self.fPeaksOutputCount > 0: | ||||
| if self.fPeaksOutputCount > 1: | if self.fPeaksOutputCount > 1: | ||||
| peak1 = Carla.host.get_output_peak_value(self.fPluginId, True) | |||||
| peak2 = Carla.host.get_output_peak_value(self.fPluginId, False) | |||||
| peak1 = gCarla.host.get_output_peak_value(self.fPluginId, True) | |||||
| peak2 = gCarla.host.get_output_peak_value(self.fPluginId, False) | |||||
| ledState = bool(peak1 != 0.0 or peak2 != 0.0) | ledState = bool(peak1 != 0.0 or peak2 != 0.0) | ||||
| if self.peak_out is not None: | if self.peak_out is not None: | ||||
| @@ -413,7 +413,7 @@ class AbstractPluginSlot(QFrame): | |||||
| self.peak_out.displayMeter(2, peak2) | self.peak_out.displayMeter(2, peak2) | ||||
| else: | else: | ||||
| peak = Carla.host.get_output_peak_value(self.fPluginId, True) | |||||
| peak = gCarla.host.get_output_peak_value(self.fPluginId, True) | |||||
| ledState = bool(peak != 0.0) | ledState = bool(peak != 0.0) | ||||
| if self.peak_out is not None: | if self.peak_out is not None: | ||||
| @@ -487,9 +487,9 @@ class AbstractPluginSlot(QFrame): | |||||
| elif actSel == actEdit: | elif actSel == actEdit: | ||||
| bEdit.click() | bEdit.click() | ||||
| elif actSel == actClone: | elif actSel == actClone: | ||||
| if Carla.host is not None and not Carla.host.clone_plugin(self.fPluginId): | |||||
| if gCarla.host is not None and not gCarla.host.clone_plugin(self.fPluginId): | |||||
| CustomMessageBox(self, QMessageBox.Warning, self.tr("Error"), self.tr("Operation failed"), | CustomMessageBox(self, QMessageBox.Warning, self.tr("Error"), self.tr("Operation failed"), | ||||
| Carla.host.get_last_error(), QMessageBox.Ok, QMessageBox.Ok) | |||||
| gCarla.host.get_last_error(), QMessageBox.Ok, QMessageBox.Ok) | |||||
| elif actSel == actRename: | elif actSel == actRename: | ||||
| oldName = self.fPluginInfo['name'] | oldName = self.fPluginInfo['name'] | ||||
| @@ -500,16 +500,16 @@ class AbstractPluginSlot(QFrame): | |||||
| newName = newNameTry[0] | newName = newNameTry[0] | ||||
| if Carla.host is None or Carla.host.rename_plugin(self.fPluginId, newName): | |||||
| if gCarla.host is None or gCarla.host.rename_plugin(self.fPluginId, newName): | |||||
| self.setName(newName) | self.setName(newName) | ||||
| else: | else: | ||||
| CustomMessageBox(self, QMessageBox.Warning, self.tr("Error"), self.tr("Operation failed"), | CustomMessageBox(self, QMessageBox.Warning, self.tr("Error"), self.tr("Operation failed"), | ||||
| Carla.host.get_last_error(), QMessageBox.Ok, QMessageBox.Ok) | |||||
| gCarla.host.get_last_error(), QMessageBox.Ok, QMessageBox.Ok) | |||||
| elif actSel == actRemove: | elif actSel == actRemove: | ||||
| if Carla.host is not None and not Carla.host.remove_plugin(self.fPluginId): | |||||
| if gCarla.host is not None and not gCarla.host.remove_plugin(self.fPluginId): | |||||
| CustomMessageBox(self, QMessageBox.Warning, self.tr("Error"), self.tr("Operation failed"), | CustomMessageBox(self, QMessageBox.Warning, self.tr("Error"), self.tr("Operation failed"), | ||||
| Carla.host.get_last_error(), QMessageBox.Ok, QMessageBox.Ok) | |||||
| gCarla.host.get_last_error(), QMessageBox.Ok, QMessageBox.Ok) | |||||
| #------------------------------------------------------------------ | #------------------------------------------------------------------ | ||||
| @@ -525,7 +525,7 @@ class AbstractPluginSlot(QFrame): | |||||
| @pyqtSlot(bool) | @pyqtSlot(bool) | ||||
| def slot_showCustomUi(self, show): | def slot_showCustomUi(self, show): | ||||
| Carla.host.show_custom_ui(self.fPluginId, show) | |||||
| gCarla.host.show_custom_ui(self.fPluginId, show) | |||||
| @pyqtSlot(bool) | @pyqtSlot(bool) | ||||
| def slot_showEditDialog(self, show): | def slot_showEditDialog(self, show): | ||||
| @@ -533,7 +533,7 @@ class AbstractPluginSlot(QFrame): | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_removePlugin(self): | def slot_removePlugin(self): | ||||
| Carla.host.remove_plugin(self.fPluginId) | |||||
| gCarla.host.remove_plugin(self.fPluginId) | |||||
| #------------------------------------------------------------------ | #------------------------------------------------------------------ | ||||
| @@ -545,17 +545,17 @@ class AbstractPluginSlot(QFrame): | |||||
| if index < 0: | if index < 0: | ||||
| self.setInternalParameter(index, value) | self.setInternalParameter(index, value) | ||||
| else: | else: | ||||
| Carla.host.set_parameter_value(self.fPluginId, index, value) | |||||
| gCarla.host.set_parameter_value(self.fPluginId, index, value) | |||||
| self.setParameterValue(index, value, False) | self.setParameterValue(index, value, False) | ||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_programChanged(self, index): | def slot_programChanged(self, index): | ||||
| Carla.host.set_program(self.fPluginId, index) | |||||
| gCarla.host.set_program(self.fPluginId, index) | |||||
| self.setProgram(index, False) | self.setProgram(index, False) | ||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_midiProgramChanged(self, index): | def slot_midiProgramChanged(self, index): | ||||
| Carla.host.set_midi_program(self.fPluginId, index) | |||||
| gCarla.host.set_midi_program(self.fPluginId, index) | |||||
| self.setMidiProgram(index, False) | self.setMidiProgram(index, False) | ||||
| #------------------------------------------------------------------ | #------------------------------------------------------------------ | ||||
| @@ -757,13 +757,13 @@ class PluginSlot_BasicFX(AbstractPluginSlot): | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Set-up parameters | # Set-up parameters | ||||
| parameterCount = Carla.host.get_parameter_count(self.fPluginId) if Carla.host is not None else 0 | |||||
| parameterCount = gCarla.host.get_parameter_count(self.fPluginId) if gCarla.host is not None else 0 | |||||
| index = 0 | index = 0 | ||||
| for i in range(min(parameterCount, 8)): | for i in range(min(parameterCount, 8)): | ||||
| paramInfo = Carla.host.get_parameter_info(self.fPluginId, i) | |||||
| paramData = Carla.host.get_parameter_data(self.fPluginId, i) | |||||
| paramRanges = Carla.host.get_parameter_ranges(self.fPluginId, i) | |||||
| paramInfo = gCarla.host.get_parameter_info(self.fPluginId, i) | |||||
| paramData = gCarla.host.get_parameter_data(self.fPluginId, i) | |||||
| paramRanges = gCarla.host.get_parameter_ranges(self.fPluginId, i) | |||||
| if paramData['type'] != PARAMETER_INPUT: | if paramData['type'] != PARAMETER_INPUT: | ||||
| continue | continue | ||||
| @@ -926,8 +926,8 @@ class PluginSlot_Calf(AbstractPluginSlot): | |||||
| labelFont.setPointSize(labelFont.pointSize()+3) | labelFont.setPointSize(labelFont.pointSize()+3) | ||||
| self.ui.label_name.setFont(labelFont) | self.ui.label_name.setFont(labelFont) | ||||
| audioCount = Carla.host.get_audio_port_count_info(self.fPluginId) if Carla.host is not None else {'ins': 2, 'outs': 2 } | |||||
| midiCount = Carla.host.get_midi_port_count_info(self.fPluginId) if Carla.host is not None else {'ins': 1, 'outs': 0 } | |||||
| audioCount = gCarla.host.get_audio_port_count_info(self.fPluginId) if gCarla.host is not None else {'ins': 2, 'outs': 2 } | |||||
| midiCount = gCarla.host.get_midi_port_count_info(self.fPluginId) if gCarla.host is not None else {'ins': 1, 'outs': 0 } | |||||
| if audioCount['ins'] == 0: | if audioCount['ins'] == 0: | ||||
| self.ui.label_audio_in.hide() | self.ui.label_audio_in.hide() | ||||
| @@ -988,7 +988,7 @@ class PluginSlot_ZitaRev(AbstractPluginSlot): | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Internal stuff | # Internal stuff | ||||
| audioCount = Carla.host.get_audio_port_count_info(self.fPluginId) if Carla.host is not None else {'ins': 2, 'outs': 2 } | |||||
| audioCount = gCarla.host.get_audio_port_count_info(self.fPluginId) if gCarla.host is not None else {'ins': 2, 'outs': 2 } | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Set-up GUI | # Set-up GUI | ||||
| @@ -1146,13 +1146,13 @@ class PluginSlot_ZynFX(AbstractPluginSlot): | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Set-up parameters | # Set-up parameters | ||||
| parameterCount = Carla.host.get_parameter_count(self.fPluginId) if Carla.host is not None else 0 | |||||
| parameterCount = gCarla.host.get_parameter_count(self.fPluginId) if gCarla.host is not None else 0 | |||||
| index = 0 | index = 0 | ||||
| for i in range(parameterCount): | for i in range(parameterCount): | ||||
| paramInfo = Carla.host.get_parameter_info(self.fPluginId, i) | |||||
| paramData = Carla.host.get_parameter_data(self.fPluginId, i) | |||||
| paramRanges = Carla.host.get_parameter_ranges(self.fPluginId, i) | |||||
| paramInfo = gCarla.host.get_parameter_info(self.fPluginId, i) | |||||
| paramData = gCarla.host.get_parameter_data(self.fPluginId, i) | |||||
| paramRanges = gCarla.host.get_parameter_ranges(self.fPluginId, i) | |||||
| if paramData['type'] != PARAMETER_INPUT: | if paramData['type'] != PARAMETER_INPUT: | ||||
| continue | continue | ||||
| @@ -1252,19 +1252,19 @@ class PluginSlot_ZynFX(AbstractPluginSlot): | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Set-up MIDI programs | # Set-up MIDI programs | ||||
| midiProgramCount = Carla.host.get_midi_program_count(self.fPluginId) if Carla.host is not None else 0 | |||||
| midiProgramCount = gCarla.host.get_midi_program_count(self.fPluginId) if gCarla.host is not None else 0 | |||||
| if midiProgramCount > 0: | if midiProgramCount > 0: | ||||
| self.ui.cb_presets.setEnabled(True) | self.ui.cb_presets.setEnabled(True) | ||||
| self.ui.label_presets.setEnabled(True) | self.ui.label_presets.setEnabled(True) | ||||
| for i in range(midiProgramCount): | for i in range(midiProgramCount): | ||||
| mpData = Carla.host.get_midi_program_data(self.fPluginId, i) | |||||
| mpData = gCarla.host.get_midi_program_data(self.fPluginId, i) | |||||
| mpName = charPtrToString(mpData['name']) | mpName = charPtrToString(mpData['name']) | ||||
| self.ui.cb_presets.addItem(mpName) | self.ui.cb_presets.addItem(mpName) | ||||
| self.fCurrentMidiProgram = Carla.host.get_current_midi_program_index(self.fPluginId) | |||||
| self.fCurrentMidiProgram = gCarla.host.get_current_midi_program_index(self.fPluginId) | |||||
| self.ui.cb_presets.setCurrentIndex(self.fCurrentMidiProgram) | self.ui.cb_presets.setCurrentIndex(self.fCurrentMidiProgram) | ||||
| else: | else: | ||||
| @@ -1302,8 +1302,8 @@ class PluginSlot_ZynFX(AbstractPluginSlot): | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| def createPluginSlot(parent, pluginId): | def createPluginSlot(parent, pluginId): | ||||
| pluginInfo = Carla.host.get_plugin_info(pluginId) | |||||
| pluginName = Carla.host.get_real_plugin_name(pluginId) | |||||
| pluginInfo = gCarla.host.get_plugin_info(pluginId) | |||||
| pluginName = gCarla.host.get_real_plugin_name(pluginId) | |||||
| pluginLabel = charPtrToString(pluginInfo['label']) | pluginLabel = charPtrToString(pluginInfo['label']) | ||||
| uniqueId = int(pluginInfo['uniqueId']) | uniqueId = int(pluginInfo['uniqueId']) | ||||
| @@ -2,7 +2,7 @@ | |||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||
| # Carla style | # Carla style | ||||
| # Copyright (C) 2013 Filipe Coelho <falktx@falktx.com> | |||||
| # Copyright (C) 2013-2014 Filipe Coelho <falktx@falktx.com> | |||||
| # | # | ||||
| # This program is free software you can redistribute it and/or modify | # This program is free software you can redistribute it and/or modify | ||||
| # it under the terms of the GNU General Public License as published by | # it under the terms of the GNU General Public License as published by | ||||
| @@ -93,9 +93,9 @@ class CarlaAboutW(QDialog): | |||||
| self.ui = ui_carla_about.Ui_CarlaAboutW() | self.ui = ui_carla_about.Ui_CarlaAboutW() | ||||
| self.ui.setupUi(self) | self.ui.setupUi(self) | ||||
| if Carla.isControl: | |||||
| if gCarla.isControl: | |||||
| extraInfo = " - <b>%s</b>" % self.tr("OSC Bridge Version") | extraInfo = " - <b>%s</b>" % self.tr("OSC Bridge Version") | ||||
| elif Carla.isPlugin: | |||||
| elif gCarla.isPlugin: | |||||
| extraInfo = " - <b>%s</b>" % self.tr("Plugin Version") | extraInfo = " - <b>%s</b>" % self.tr("Plugin Version") | ||||
| else: | else: | ||||
| extraInfo = "" | extraInfo = "" | ||||
| @@ -106,18 +106,18 @@ class CarlaAboutW(QDialog): | |||||
| "<br>Copyright (C) 2011-2013 falkTX<br>" | "<br>Copyright (C) 2011-2013 falkTX<br>" | ||||
| "" % (VERSION, extraInfo))) | "" % (VERSION, extraInfo))) | ||||
| if Carla.isControl or Carla.isPlugin or Carla.host is None: | |||||
| if gCarla.isControl or gCarla.isPlugin or gCarla.host is None: | |||||
| self.ui.l_extended.hide() | self.ui.l_extended.hide() | ||||
| self.ui.tabWidget.removeTab(1) | self.ui.tabWidget.removeTab(1) | ||||
| self.ui.tabWidget.removeTab(1) | self.ui.tabWidget.removeTab(1) | ||||
| self.adjustSize() | self.adjustSize() | ||||
| else: | else: | ||||
| self.ui.l_extended.setText(Carla.host.get_complete_license_text()) | |||||
| self.ui.l_extended.setText(gCarla.host.get_complete_license_text()) | |||||
| if Carla.host.is_engine_running(): | |||||
| self.ui.le_osc_url_tcp.setText(Carla.host.get_host_osc_url_tcp()) | |||||
| self.ui.le_osc_url_udp.setText(Carla.host.get_host_osc_url_udp()) | |||||
| if gCarla.host.is_engine_running(): | |||||
| self.ui.le_osc_url_tcp.setText(gCarla.host.get_host_osc_url_tcp()) | |||||
| self.ui.le_osc_url_udp.setText(gCarla.host.get_host_osc_url_udp()) | |||||
| else: | else: | ||||
| self.ui.le_osc_url_tcp.setText(self.tr("(Engine not running)")) | self.ui.le_osc_url_tcp.setText(self.tr("(Engine not running)")) | ||||
| self.ui.le_osc_url_udp.setText(self.tr("(Engine not running)")) | self.ui.le_osc_url_udp.setText(self.tr("(Engine not running)")) | ||||
| @@ -363,7 +363,7 @@ class PluginParameter(QWidget): | |||||
| self.valueChanged.emit(self.fParameterId, value) | self.valueChanged.emit(self.fParameterId, value) | ||||
| def _textCallBack(self): | def _textCallBack(self): | ||||
| return Carla.host.get_parameter_text(self.fPluginId, self.fParameterId) | |||||
| return gCarla.host.get_parameter_text(self.fPluginId, self.fParameterId) | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Plugin Editor (Built-in) | # Plugin Editor (Built-in) | ||||
| @@ -372,7 +372,7 @@ class PluginEdit(QDialog): | |||||
| kParamsPerPage = 8 | kParamsPerPage = 8 | ||||
| def __init__(self, parent, pluginId): | def __init__(self, parent, pluginId): | ||||
| QDialog.__init__(self, Carla.gui) | |||||
| QDialog.__init__(self, gCarla.gui) | |||||
| self.ui = ui_carla_edit.Ui_PluginEdit() | self.ui = ui_carla_edit.Ui_PluginEdit() | ||||
| self.ui.setupUi(self) | self.ui.setupUi(self) | ||||
| @@ -471,7 +471,7 @@ class PluginEdit(QDialog): | |||||
| self.ui.cb_programs.currentIndexChanged.connect(self.slot_programIndexChanged) | self.ui.cb_programs.currentIndexChanged.connect(self.slot_programIndexChanged) | ||||
| self.ui.cb_midi_programs.currentIndexChanged.connect(self.slot_midiProgramIndexChanged) | self.ui.cb_midi_programs.currentIndexChanged.connect(self.slot_midiProgramIndexChanged) | ||||
| if Carla.isLocal: | |||||
| if gCarla.isLocal: | |||||
| self.ui.b_save_state.clicked.connect(self.slot_stateSave) | self.ui.b_save_state.clicked.connect(self.slot_stateSave) | ||||
| self.ui.b_load_state.clicked.connect(self.slot_stateLoad) | self.ui.b_load_state.clicked.connect(self.slot_stateLoad) | ||||
| else: | else: | ||||
| @@ -484,14 +484,14 @@ class PluginEdit(QDialog): | |||||
| # Update current program text | # Update current program text | ||||
| if self.ui.cb_programs.count() > 0: | if self.ui.cb_programs.count() > 0: | ||||
| pIndex = self.ui.cb_programs.currentIndex() | pIndex = self.ui.cb_programs.currentIndex() | ||||
| pName = charPtrToString(Carla.host.get_program_name(self.fPluginId, pIndex)) | |||||
| pName = charPtrToString(gCarla.host.get_program_name(self.fPluginId, pIndex)) | |||||
| #pName = pName[:40] + (pName[40:] and "...") | #pName = pName[:40] + (pName[40:] and "...") | ||||
| self.ui.cb_programs.setItemText(pIndex, pName) | self.ui.cb_programs.setItemText(pIndex, pName) | ||||
| # Update current midi program text | # Update current midi program text | ||||
| if self.ui.cb_midi_programs.count() > 0: | if self.ui.cb_midi_programs.count() > 0: | ||||
| mpIndex = self.ui.cb_midi_programs.currentIndex() | mpIndex = self.ui.cb_midi_programs.currentIndex() | ||||
| mpData = Carla.host.get_midi_program_data(self.fPluginId, mpIndex) | |||||
| mpData = gCarla.host.get_midi_program_data(self.fPluginId, mpIndex) | |||||
| mpBank = int(mpData['bank']) | mpBank = int(mpData['bank']) | ||||
| mpProg = int(mpData['program']) | mpProg = int(mpData['program']) | ||||
| mpName = charPtrToString(mpData['name']) | mpName = charPtrToString(mpData['name']) | ||||
| @@ -500,7 +500,7 @@ class PluginEdit(QDialog): | |||||
| # Update all parameter values | # Update all parameter values | ||||
| for paramType, paramId, paramWidget in self.fParameterList: | for paramType, paramId, paramWidget in self.fParameterList: | ||||
| paramWidget.setValue(Carla.host.get_current_parameter_value(self.fPluginId, paramId), False) | |||||
| paramWidget.setValue(gCarla.host.get_current_parameter_value(self.fPluginId, paramId), False) | |||||
| paramWidget.update() | paramWidget.update() | ||||
| self.fParametersToUpdate = [] | self.fParametersToUpdate = [] | ||||
| @@ -508,8 +508,8 @@ class PluginEdit(QDialog): | |||||
| #------------------------------------------------------------------ | #------------------------------------------------------------------ | ||||
| def reloadAll(self): | def reloadAll(self): | ||||
| if Carla.host is not None: | |||||
| self.fPluginInfo = Carla.host.get_plugin_info(self.fPluginId) | |||||
| if gCarla.host is not None: | |||||
| self.fPluginInfo = gCarla.host.get_plugin_info(self.fPluginId) | |||||
| self.fPluginInfo['filename'] = charPtrToString(self.fPluginInfo['filename']) | self.fPluginInfo['filename'] = charPtrToString(self.fPluginInfo['filename']) | ||||
| self.fPluginInfo['name'] = charPtrToString(self.fPluginInfo['name']) | self.fPluginInfo['name'] = charPtrToString(self.fPluginInfo['name']) | ||||
| self.fPluginInfo['label'] = charPtrToString(self.fPluginInfo['label']) | self.fPluginInfo['label'] = charPtrToString(self.fPluginInfo['label']) | ||||
| @@ -517,7 +517,7 @@ class PluginEdit(QDialog): | |||||
| self.fPluginInfo['copyright'] = charPtrToString(self.fPluginInfo['copyright']) | self.fPluginInfo['copyright'] = charPtrToString(self.fPluginInfo['copyright']) | ||||
| self.fPluginInfo['iconName'] = charPtrToString(self.fPluginInfo['iconName']) | self.fPluginInfo['iconName'] = charPtrToString(self.fPluginInfo['iconName']) | ||||
| if not Carla.isLocal: | |||||
| if not gCarla.isLocal: | |||||
| self.fPluginInfo['hints'] &= ~PLUGIN_HAS_CUSTOM_UI | self.fPluginInfo['hints'] &= ~PLUGIN_HAS_CUSTOM_UI | ||||
| else: | else: | ||||
| @@ -538,11 +538,11 @@ class PluginEdit(QDialog): | |||||
| #------------------------------------------------------------------ | #------------------------------------------------------------------ | ||||
| def reloadInfo(self): | def reloadInfo(self): | ||||
| if Carla.host is not None: | |||||
| pluginName = Carla.host.get_real_plugin_name(self.fPluginId) | |||||
| audioCountInfo = Carla.host.get_audio_port_count_info(self.fPluginId) | |||||
| midiCountInfo = Carla.host.get_midi_port_count_info(self.fPluginId) | |||||
| paramCountInfo = Carla.host.get_parameter_count_info(self.fPluginId) | |||||
| if gCarla.host is not None: | |||||
| pluginName = gCarla.host.get_real_plugin_name(self.fPluginId) | |||||
| audioCountInfo = gCarla.host.get_audio_port_count_info(self.fPluginId) | |||||
| midiCountInfo = gCarla.host.get_midi_port_count_info(self.fPluginId) | |||||
| paramCountInfo = gCarla.host.get_parameter_count_info(self.fPluginId) | |||||
| else: | else: | ||||
| pluginName = "" | pluginName = "" | ||||
| audioCountInfo = gFakePortCountInfo | audioCountInfo = gFakePortCountInfo | ||||
| @@ -661,7 +661,7 @@ class PluginEdit(QDialog): | |||||
| self.ui.tabWidget.widget(1).deleteLater() | self.ui.tabWidget.widget(1).deleteLater() | ||||
| self.ui.tabWidget.removeTab(1) | self.ui.tabWidget.removeTab(1) | ||||
| if Carla.host is None: | |||||
| if gCarla.host is None: | |||||
| paramFakeListFull = [] | paramFakeListFull = [] | ||||
| paramFakeList = [] | paramFakeList = [] | ||||
| paramFakeWidth = QFontMetrics(self.font()).width(gFakeParamInfo['name']) | paramFakeWidth = QFontMetrics(self.font()).width(gFakeParamInfo['name']) | ||||
| @@ -672,12 +672,12 @@ class PluginEdit(QDialog): | |||||
| self._createParameterWidgets(PARAMETER_INPUT, paramFakeListFull, self.tr("Parameters")) | self._createParameterWidgets(PARAMETER_INPUT, paramFakeListFull, self.tr("Parameters")) | ||||
| return | return | ||||
| parameterCount = Carla.host.get_parameter_count(self.fPluginId) | |||||
| parameterCount = gCarla.host.get_parameter_count(self.fPluginId) | |||||
| if parameterCount <= 0: | if parameterCount <= 0: | ||||
| pass | pass | ||||
| elif parameterCount <= Carla.maxParameters: | |||||
| elif parameterCount <= gCarla.maxParameters: | |||||
| paramInputListFull = [] | paramInputListFull = [] | ||||
| paramOutputListFull = [] | paramOutputListFull = [] | ||||
| @@ -687,10 +687,10 @@ class PluginEdit(QDialog): | |||||
| paramOutputWidth = 0 | paramOutputWidth = 0 | ||||
| for i in range(parameterCount): | for i in range(parameterCount): | ||||
| paramInfo = Carla.host.get_parameter_info(self.fPluginId, i) | |||||
| paramData = Carla.host.get_parameter_data(self.fPluginId, i) | |||||
| paramRanges = Carla.host.get_parameter_ranges(self.fPluginId, i) | |||||
| paramValue = Carla.host.get_current_parameter_value(self.fPluginId, i) | |||||
| paramInfo = gCarla.host.get_parameter_info(self.fPluginId, i) | |||||
| paramData = gCarla.host.get_parameter_data(self.fPluginId, i) | |||||
| paramRanges = gCarla.host.get_parameter_ranges(self.fPluginId, i) | |||||
| paramValue = gCarla.host.get_current_parameter_value(self.fPluginId, i) | |||||
| if paramData['type'] not in (PARAMETER_INPUT, PARAMETER_OUTPUT): | if paramData['type'] not in (PARAMETER_INPUT, PARAMETER_OUTPUT): | ||||
| continue | continue | ||||
| @@ -718,7 +718,7 @@ class PluginEdit(QDialog): | |||||
| } | } | ||||
| for j in range(paramInfo['scalePointCount']): | for j in range(paramInfo['scalePointCount']): | ||||
| scalePointInfo = Carla.host.get_parameter_scalepoint_info(self.fPluginId, i, j) | |||||
| scalePointInfo = gCarla.host.get_parameter_scalepoint_info(self.fPluginId, i, j) | |||||
| parameter['scalePoints'].append({ | parameter['scalePoints'].append({ | ||||
| 'value': scalePointInfo['value'], | 'value': scalePointInfo['value'], | ||||
| @@ -771,7 +771,7 @@ class PluginEdit(QDialog): | |||||
| self._createParameterWidgets(PARAMETER_INPUT, paramInputListFull, self.tr("Parameters")) | self._createParameterWidgets(PARAMETER_INPUT, paramInputListFull, self.tr("Parameters")) | ||||
| self._createParameterWidgets(PARAMETER_OUTPUT, paramOutputListFull, self.tr("Outputs")) | self._createParameterWidgets(PARAMETER_OUTPUT, paramOutputListFull, self.tr("Outputs")) | ||||
| else: # > Carla.maxParameters | |||||
| else: # > gCarla.maxParameters | |||||
| fakeName = self.tr("This plugin has too many parameters to display here!") | fakeName = self.tr("This plugin has too many parameters to display here!") | ||||
| paramFakeListFull = [] | paramFakeListFull = [] | ||||
| @@ -808,18 +808,18 @@ class PluginEdit(QDialog): | |||||
| self.ui.cb_programs.blockSignals(True) | self.ui.cb_programs.blockSignals(True) | ||||
| self.ui.cb_programs.clear() | self.ui.cb_programs.clear() | ||||
| programCount = Carla.host.get_program_count(self.fPluginId) if Carla.host is not None else 0 | |||||
| programCount = gCarla.host.get_program_count(self.fPluginId) if gCarla.host is not None else 0 | |||||
| if programCount > 0: | if programCount > 0: | ||||
| self.ui.cb_programs.setEnabled(True) | self.ui.cb_programs.setEnabled(True) | ||||
| self.ui.label_programs.setEnabled(True) | self.ui.label_programs.setEnabled(True) | ||||
| for i in range(programCount): | for i in range(programCount): | ||||
| pName = charPtrToString(Carla.host.get_program_name(self.fPluginId, i)) | |||||
| pName = charPtrToString(gCarla.host.get_program_name(self.fPluginId, i)) | |||||
| #pName = pName[:40] + (pName[40:] and "...") | #pName = pName[:40] + (pName[40:] and "...") | ||||
| self.ui.cb_programs.addItem(pName) | self.ui.cb_programs.addItem(pName) | ||||
| self.fCurrentProgram = Carla.host.get_current_program_index(self.fPluginId) | |||||
| self.fCurrentProgram = gCarla.host.get_current_program_index(self.fPluginId) | |||||
| self.ui.cb_programs.setCurrentIndex(self.fCurrentProgram) | self.ui.cb_programs.setCurrentIndex(self.fCurrentProgram) | ||||
| else: | else: | ||||
| @@ -833,14 +833,14 @@ class PluginEdit(QDialog): | |||||
| self.ui.cb_midi_programs.blockSignals(True) | self.ui.cb_midi_programs.blockSignals(True) | ||||
| self.ui.cb_midi_programs.clear() | self.ui.cb_midi_programs.clear() | ||||
| midiProgramCount = Carla.host.get_midi_program_count(self.fPluginId) if Carla.host is not None else 0 | |||||
| midiProgramCount = gCarla.host.get_midi_program_count(self.fPluginId) if gCarla.host is not None else 0 | |||||
| if midiProgramCount > 0: | if midiProgramCount > 0: | ||||
| self.ui.cb_midi_programs.setEnabled(True) | self.ui.cb_midi_programs.setEnabled(True) | ||||
| self.ui.label_midi_programs.setEnabled(True) | self.ui.label_midi_programs.setEnabled(True) | ||||
| for i in range(midiProgramCount): | for i in range(midiProgramCount): | ||||
| mpData = Carla.host.get_midi_program_data(self.fPluginId, i) | |||||
| mpData = gCarla.host.get_midi_program_data(self.fPluginId, i) | |||||
| mpBank = int(mpData['bank']) | mpBank = int(mpData['bank']) | ||||
| mpProg = int(mpData['program']) | mpProg = int(mpData['program']) | ||||
| mpName = charPtrToString(mpData['name']) | mpName = charPtrToString(mpData['name']) | ||||
| @@ -848,7 +848,7 @@ class PluginEdit(QDialog): | |||||
| self.ui.cb_midi_programs.addItem("%03i:%03i - %s" % (mpBank+1, mpProg+1, mpName)) | self.ui.cb_midi_programs.addItem("%03i:%03i - %s" % (mpBank+1, mpProg+1, mpName)) | ||||
| self.fCurrentMidiProgram = Carla.host.get_current_midi_program_index(self.fPluginId) | |||||
| self.fCurrentMidiProgram = gCarla.host.get_current_midi_program_index(self.fPluginId) | |||||
| self.ui.cb_midi_programs.setCurrentIndex(self.fCurrentMidiProgram) | self.ui.cb_midi_programs.setCurrentIndex(self.fCurrentMidiProgram) | ||||
| else: | else: | ||||
| @@ -1026,7 +1026,7 @@ class PluginEdit(QDialog): | |||||
| # Update parameter outputs | # Update parameter outputs | ||||
| for paramType, paramId, paramWidget in self.fParameterList: | for paramType, paramId, paramWidget in self.fParameterList: | ||||
| if paramType == PARAMETER_OUTPUT: | if paramType == PARAMETER_OUTPUT: | ||||
| value = Carla.host.get_current_parameter_value(self.fPluginId, paramId) | |||||
| value = gCarla.host.get_current_parameter_value(self.fPluginId, paramId) | |||||
| paramWidget.setValue(value, False) | paramWidget.setValue(value, False) | ||||
| #------------------------------------------------------------------ | #------------------------------------------------------------------ | ||||
| @@ -1041,7 +1041,7 @@ class PluginEdit(QDialog): | |||||
| askTry = QMessageBox.question(self, self.tr("Overwrite?"), self.tr("Overwrite previously created file?"), QMessageBox.Ok|QMessageBox.Cancel) | askTry = QMessageBox.question(self, self.tr("Overwrite?"), self.tr("Overwrite previously created file?"), QMessageBox.Ok|QMessageBox.Cancel) | ||||
| if askTry == QMessageBox.Ok: | if askTry == QMessageBox.Ok: | ||||
| Carla.host.save_plugin_state(self.fPluginId, self.fCurrentStateFilename) | |||||
| gCarla.host.save_plugin_state(self.fPluginId, self.fCurrentStateFilename) | |||||
| return | return | ||||
| self.fCurrentStateFilename = None | self.fCurrentStateFilename = None | ||||
| @@ -1054,22 +1054,22 @@ class PluginEdit(QDialog): | |||||
| filenameTry += ".carxs" | filenameTry += ".carxs" | ||||
| self.fCurrentStateFilename = filenameTry | self.fCurrentStateFilename = filenameTry | ||||
| Carla.host.save_plugin_state(self.fPluginId, self.fCurrentStateFilename) | |||||
| gCarla.host.save_plugin_state(self.fPluginId, self.fCurrentStateFilename) | |||||
| @pyqtSlot() | @pyqtSlot() | ||||
| def slot_stateLoad(self): | def slot_stateLoad(self): | ||||
| if self.fPluginInfo['type'] == PLUGIN_LV2: | if self.fPluginInfo['type'] == PLUGIN_LV2: | ||||
| presetList = [] | presetList = [] | ||||
| for i in range(Carla.host.get_program_count(self.fPluginId)): | |||||
| presetList.append("%03i - %s" % (i+1, charPtrToString(Carla.host.get_program_name(self.fPluginId, i)))) | |||||
| for i in range(gCarla.host.get_program_count(self.fPluginId)): | |||||
| presetList.append("%03i - %s" % (i+1, charPtrToString(gCarla.host.get_program_name(self.fPluginId, i)))) | |||||
| ret = QInputDialog.getItem(self, self.tr("Open LV2 Preset"), self.tr("Select an LV2 Preset:"), presetList, 0, False) | ret = QInputDialog.getItem(self, self.tr("Open LV2 Preset"), self.tr("Select an LV2 Preset:"), presetList, 0, False) | ||||
| if ret[1]: | if ret[1]: | ||||
| index = int(ret[0].split(" - ", 1)[0])-1 | index = int(ret[0].split(" - ", 1)[0])-1 | ||||
| Carla.host.set_midi_program(self.fPluginId, -1) | |||||
| Carla.host.set_program(self.fPluginId, index) | |||||
| gCarla.host.set_midi_program(self.fPluginId, -1) | |||||
| gCarla.host.set_program(self.fPluginId, index) | |||||
| self.setMidiProgram(-1) | self.setMidiProgram(-1) | ||||
| return | return | ||||
| @@ -1079,13 +1079,13 @@ class PluginEdit(QDialog): | |||||
| if filenameTry: | if filenameTry: | ||||
| self.fCurrentStateFilename = filenameTry | self.fCurrentStateFilename = filenameTry | ||||
| Carla.host.load_plugin_state(self.fPluginId, self.fCurrentStateFilename) | |||||
| gCarla.host.load_plugin_state(self.fPluginId, self.fCurrentStateFilename) | |||||
| #------------------------------------------------------------------ | #------------------------------------------------------------------ | ||||
| @pyqtSlot(bool) | @pyqtSlot(bool) | ||||
| def slot_optionChanged(self, clicked): | def slot_optionChanged(self, clicked): | ||||
| if Carla.host is None: | |||||
| if gCarla.host is None: | |||||
| return | return | ||||
| sender = self.sender() | sender = self.sender() | ||||
| @@ -1111,41 +1111,41 @@ class PluginEdit(QDialog): | |||||
| else: | else: | ||||
| return | return | ||||
| Carla.host.set_option(self.fPluginId, option, clicked) | |||||
| gCarla.host.set_option(self.fPluginId, option, clicked) | |||||
| #------------------------------------------------------------------ | #------------------------------------------------------------------ | ||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_dryWetChanged(self, value): | def slot_dryWetChanged(self, value): | ||||
| if Carla.host is not None: | |||||
| Carla.host.set_drywet(self.fPluginId, float(value)/1000) | |||||
| if gCarla.host is not None: | |||||
| gCarla.host.set_drywet(self.fPluginId, float(value)/1000) | |||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_volumeChanged(self, value): | def slot_volumeChanged(self, value): | ||||
| if Carla.host is not None: | |||||
| Carla.host.set_volume(self.fPluginId, float(value)/1000) | |||||
| if gCarla.host is not None: | |||||
| gCarla.host.set_volume(self.fPluginId, float(value)/1000) | |||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_balanceLeftChanged(self, value): | def slot_balanceLeftChanged(self, value): | ||||
| if Carla.host is not None: | |||||
| Carla.host.set_balance_left(self.fPluginId, float(value)/1000) | |||||
| if gCarla.host is not None: | |||||
| gCarla.host.set_balance_left(self.fPluginId, float(value)/1000) | |||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_balanceRightChanged(self, value): | def slot_balanceRightChanged(self, value): | ||||
| if Carla.host is not None: | |||||
| Carla.host.set_balance_right(self.fPluginId, float(value)/1000) | |||||
| if gCarla.host is not None: | |||||
| gCarla.host.set_balance_right(self.fPluginId, float(value)/1000) | |||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_panningChanged(self, value): | def slot_panningChanged(self, value): | ||||
| if Carla.host is not None: | |||||
| Carla.host.set_panning(self.fPluginId, float(value)/1000) | |||||
| if gCarla.host is not None: | |||||
| gCarla.host.set_panning(self.fPluginId, float(value)/1000) | |||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_ctrlChannelChanged(self, value): | def slot_ctrlChannelChanged(self, value): | ||||
| self.fControlChannel = value-1 | self.fControlChannel = value-1 | ||||
| if Carla.host is not None: | |||||
| Carla.host.set_ctrl_channel(self.fPluginId, self.fControlChannel) | |||||
| if gCarla.host is not None: | |||||
| gCarla.host.set_ctrl_channel(self.fPluginId, self.fControlChannel) | |||||
| self.ui.keyboard.allNotesOff() | self.ui.keyboard.allNotesOff() | ||||
| self._updateCtrlMidiProgram() | self._updateCtrlMidiProgram() | ||||
| @@ -1154,20 +1154,20 @@ class PluginEdit(QDialog): | |||||
| @pyqtSlot(int, float) | @pyqtSlot(int, float) | ||||
| def slot_parameterValueChanged(self, parameterId, value): | def slot_parameterValueChanged(self, parameterId, value): | ||||
| if Carla.host is not None: | |||||
| Carla.host.set_parameter_value(self.fPluginId, parameterId, value) | |||||
| if gCarla.host is not None: | |||||
| gCarla.host.set_parameter_value(self.fPluginId, parameterId, value) | |||||
| if self.fRealParent is not None: | if self.fRealParent is not None: | ||||
| self.fRealParent.parameterValueChanged(parameterId, value) | self.fRealParent.parameterValueChanged(parameterId, value) | ||||
| @pyqtSlot(int, int) | @pyqtSlot(int, int) | ||||
| def slot_parameterMidiControlChanged(self, parameterId, control): | def slot_parameterMidiControlChanged(self, parameterId, control): | ||||
| if Carla.host is not None: | |||||
| Carla.host.set_parameter_midi_cc(self.fPluginId, parameterId, control) | |||||
| if gCarla.host is not None: | |||||
| gCarla.host.set_parameter_midi_cc(self.fPluginId, parameterId, control) | |||||
| @pyqtSlot(int, int) | @pyqtSlot(int, int) | ||||
| def slot_parameterMidiChannelChanged(self, parameterId, channel): | def slot_parameterMidiChannelChanged(self, parameterId, channel): | ||||
| if Carla.host is not None: | |||||
| Carla.host.set_parameter_midi_channel(self.fPluginId, parameterId, channel-1) | |||||
| if gCarla.host is not None: | |||||
| gCarla.host.set_parameter_midi_channel(self.fPluginId, parameterId, channel-1) | |||||
| #------------------------------------------------------------------ | #------------------------------------------------------------------ | ||||
| @@ -1175,8 +1175,8 @@ class PluginEdit(QDialog): | |||||
| def slot_programIndexChanged(self, index): | def slot_programIndexChanged(self, index): | ||||
| self.fCurrentProgram = index | self.fCurrentProgram = index | ||||
| if Carla.host is not None: | |||||
| Carla.host.set_program(self.fPluginId, index) | |||||
| if gCarla.host is not None: | |||||
| gCarla.host.set_program(self.fPluginId, index) | |||||
| if self.fRealParent is not None: | if self.fRealParent is not None: | ||||
| self.fRealParent.programChanged(index) | self.fRealParent.programChanged(index) | ||||
| @@ -1184,8 +1184,8 @@ class PluginEdit(QDialog): | |||||
| def slot_midiProgramIndexChanged(self, index): | def slot_midiProgramIndexChanged(self, index): | ||||
| self.fCurrentMidiProgram = index | self.fCurrentMidiProgram = index | ||||
| if Carla.host is not None: | |||||
| Carla.host.set_midi_program(self.fPluginId, index) | |||||
| if gCarla.host is not None: | |||||
| gCarla.host.set_midi_program(self.fPluginId, index) | |||||
| if self.fRealParent is not None: | if self.fRealParent is not None: | ||||
| self.fRealParent.midiProgramChanged(index) | self.fRealParent.midiProgramChanged(index) | ||||
| @@ -1193,15 +1193,15 @@ class PluginEdit(QDialog): | |||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_noteOn(self, note): | def slot_noteOn(self, note): | ||||
| if self.fControlChannel >= 0 and Carla.host is not None: | |||||
| Carla.host.send_midi_note(self.fPluginId, self.fControlChannel, note, 100) | |||||
| if self.fControlChannel >= 0 and gCarla.host is not None: | |||||
| gCarla.host.send_midi_note(self.fPluginId, self.fControlChannel, note, 100) | |||||
| if self.fRealParent is not None: | if self.fRealParent is not None: | ||||
| self.fRealParent.notePressed(note) | self.fRealParent.notePressed(note) | ||||
| @pyqtSlot(int) | @pyqtSlot(int) | ||||
| def slot_noteOff(self, note): | def slot_noteOff(self, note): | ||||
| if self.fControlChannel >= 0 and Carla.host is not None: | |||||
| Carla.host.send_midi_note(self.fPluginId, self.fControlChannel, note, 0) | |||||
| if self.fControlChannel >= 0 and gCarla.host is not None: | |||||
| gCarla.host.send_midi_note(self.fPluginId, self.fControlChannel, note, 0) | |||||
| if self.fRealParent is not None: | if self.fRealParent is not None: | ||||
| self.fRealParent.noteReleased(note) | self.fRealParent.noteReleased(note) | ||||
| @@ -1370,7 +1370,7 @@ class PluginEdit(QDialog): | |||||
| self.ui.cb_midi_programs.setEnabled(True) | self.ui.cb_midi_programs.setEnabled(True) | ||||
| mpIndex = Carla.host.get_current_midi_program_index(self.fPluginId) | |||||
| mpIndex = gCarla.host.get_current_midi_program_index(self.fPluginId) | |||||
| if self.ui.cb_midi_programs.currentIndex() != mpIndex: | if self.ui.cb_midi_programs.currentIndex() != mpIndex: | ||||
| self.setMidiProgram(mpIndex) | self.setMidiProgram(mpIndex) | ||||