Browse Source

Use Qt4 in python code

tags/1.9.4
falkTX 11 years ago
parent
commit
f7710e7a5f
17 changed files with 202 additions and 184 deletions
  1. +2
    -2
      source/backend/engine/CarlaEngineJack.cpp
  2. +4
    -0
      source/backend/standalone/CarlaStandalone.cpp
  3. +1
    -1
      source/carla-patchbay
  4. +1
    -1
      source/carla-rack
  5. +77
    -77
      source/carla_host.py
  6. +4
    -4
      source/carla_patchbay.py
  7. +9
    -13
      source/carla_settings.py
  8. +29
    -11
      source/carla_widgets.py
  9. +18
    -18
      source/patchcanvas.py
  10. +6
    -6
      source/patchcanvas_theme.py
  11. +7
    -7
      source/widgets/canvaspreviewframe.py
  12. +7
    -7
      source/widgets/digitalpeakmeter.py
  13. +7
    -7
      source/widgets/ledbutton.py
  14. +7
    -7
      source/widgets/paramspinbox.py
  15. +7
    -7
      source/widgets/pixmapbutton.py
  16. +9
    -9
      source/widgets/pixmapdial.py
  17. +7
    -7
      source/widgets/pixmapkeyboard.py

+ 2
- 2
source/backend/engine/CarlaEngineJack.cpp View File

@@ -1854,7 +1854,7 @@ private:
if (thisPortId == -1)
continue;

if (const char** connections = jackbridge_port_get_connections(jackPort))
if (const char** connections = jackbridge_port_get_all_connections(jackPort))
{
for (int j=0; connections[j] != nullptr; ++j)
{
@@ -1869,7 +1869,7 @@ private:
jackbridge_free(connections);
}
else
carla_stderr("jack_port_get_connections failed for port %s", fullPortName);
carla_stderr("jack_port_get_all_connections failed for port %s", fullPortName);
}

jackbridge_free(ports);


+ 4
- 0
source/backend/standalone/CarlaStandalone.cpp View File

@@ -663,6 +663,10 @@ void carla_set_engine_option(EngineOption option, int value, const char* valueSt

case CB::ENGINE_OPTION_AUDIO_DEVICE:
CARLA_SAFE_ASSERT_RETURN(valueStr != nullptr && valueStr[0] != '\0',);

if (gStandalone.engineOptions.audioDevice != nullptr)
delete[] gStandalone.engineOptions.audioDevice;

gStandalone.engineOptions.audioDevice = valueStr;
break;



+ 1
- 1
source/carla-patchbay View File

@@ -75,7 +75,7 @@ if __name__ == '__main__':
Carla.isControl = False
Carla.isLocal = True
Carla.isPlugin = False
Carla.processMode = PROCESS_MODE_MULTIPLE_CLIENTS
Carla.processMode = ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS

initHost(appName, libPrefix)



+ 1
- 1
source/carla-rack View File

@@ -75,7 +75,7 @@ if __name__ == '__main__':
Carla.isControl = False
Carla.isLocal = True
Carla.isPlugin = False
Carla.processMode = PROCESS_MODE_CONTINUOUS_RACK
Carla.processMode = ENGINE_PROCESS_MODE_CONTINUOUS_RACK

initHost(appName, libPrefix)



+ 77
- 77
source/carla_host.py View File

@@ -24,7 +24,7 @@
#from PyQt5.QtGui import QPalette
#from PyQt5.QtWidgets import QApplication, QFileSystemModel, QMainWindow
#except:
from PyQt4.QtCore import QModelIndex, QTimer
from PyQt4.QtCore import qCritical, QModelIndex, QTimer
from PyQt4.QtGui import QApplication, QFileSystemModel, QMainWindow, QPalette

# ------------------------------------------------------------------------------------------------------------
@@ -220,7 +220,7 @@ class HostWindow(QMainWindow):
# Set up GUI (right panel)

self.fDirModel = QFileSystemModel(self)
self.fDirModel.setNameFilters(cString(Carla.host.get_supported_file_types()).split(";"))
self.fDirModel.setNameFilters(charPtrToString(Carla.host.get_supported_file_extensions()).split(";"))
self.fDirModel.setRootPath(HOME)

self.ui.fileTreeView.setModel(self.fDirModel)
@@ -357,33 +357,33 @@ class HostWindow(QMainWindow):

if audioDriver == "JACK":
#transportMode = settings.value("Engine/TransportMode", TRANSPORT_MODE_JACK, type=int)
transportMode = TRANSPORT_MODE_JACK
transportMode = ENGINE_TRANSPORT_MODE_JACK
else:
transportMode = TRANSPORT_MODE_INTERNAL
transportMode = ENGINE_TRANSPORT_MODE_INTERNAL
audioNumPeriods = settings.value("Engine/AudioBufferSize", CARLA_DEFAULT_AUDIO_NUM_PERIODS, type=int)
audioBufferSize = settings.value("Engine/AudioBufferSize", CARLA_DEFAULT_AUDIO_BUFFER_SIZE, type=int)
audioSampleRate = settings.value("Engine/AudioSampleRate", CARLA_DEFAULT_AUDIO_SAMPLE_RATE, type=int)
audioDevice = settings.value("Engine/AudioDevice", "", type=str)

Carla.host.set_engine_option(OPTION_AUDIO_NUM_PERIODS, audioNumPeriods, "")
Carla.host.set_engine_option(OPTION_AUDIO_BUFFER_SIZE, audioBufferSize, "")
Carla.host.set_engine_option(OPTION_AUDIO_SAMPLE_RATE, audioSampleRate, "")
Carla.host.set_engine_option(OPTION_AUDIO_DEVICE, 0, audioDevice)
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)

if Carla.processMode == PROCESS_MODE_CONTINUOUS_RACK:
if Carla.processMode == ENGINE_PROCESS_MODE_CONTINUOUS_RACK:
forceStereo = True
elif Carla.processMode == PROCESS_MODE_MULTIPLE_CLIENTS and LADISH_APP_NAME:
elif Carla.processMode == ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS and LADISH_APP_NAME:
print("LADISH detected but using multiple clients (not allowed), forcing single client now")
Carla.processMode = PROCESS_MODE_SINGLE_CLIENT
Carla.processMode = ENGINE_PROCESS_MODE_SINGLE_CLIENT

Carla.host.set_engine_option(OPTION_FORCE_STEREO, forceStereo, "")
Carla.host.set_engine_option(OPTION_PREFER_PLUGIN_BRIDGES, preferPluginBridges, "")
Carla.host.set_engine_option(OPTION_PREFER_UI_BRIDGES, preferUiBridges, "")
Carla.host.set_engine_option(OPTION_UIS_ALWAYS_ON_TOP, uisAlwaysOnTop, "")
Carla.host.set_engine_option(OPTION_UI_BRIDGES_TIMEOUT, uiBridgesTimeout, "")
Carla.host.set_engine_option(OPTION_PROCESS_MODE, Carla.processMode, "")
Carla.host.set_engine_option(OPTION_MAX_PARAMETERS, Carla.maxParameters, "")
Carla.host.set_engine_option(OPTION_TRANSPORT_MODE, transportMode, "")
Carla.host.set_engine_option(ENGINE_OPTION_FORCE_STEREO, forceStereo, "")
Carla.host.set_engine_option(ENGINE_OPTION_PREFER_PLUGIN_BRIDGES, preferPluginBridges, "")
Carla.host.set_engine_option(ENGINE_OPTION_PREFER_UI_BRIDGES, preferUiBridges, "")
Carla.host.set_engine_option(ENGINE_OPTION_UIS_ALWAYS_ON_TOP, uisAlwaysOnTop, "")
Carla.host.set_engine_option(ENGINE_OPTION_UI_BRIDGES_TIMEOUT, uiBridgesTimeout, "")
Carla.host.set_engine_option(ENGINE_OPTION_PROCESS_MODE, Carla.processMode, "")
Carla.host.set_engine_option(ENGINE_OPTION_MAX_PARAMETERS, Carla.maxParameters, "")
Carla.host.set_engine_option(ENGINE_OPTION_TRANSPORT_MODE, transportMode, "")

return audioDriver

@@ -395,7 +395,7 @@ class HostWindow(QMainWindow):
#self.fFirstEngineInit = False
#return

audioError = cString(Carla.host.get_last_error())
audioError = Carla.host.get_last_error()

if audioError:
QMessageBox.critical(self, self.tr("Error"), self.tr("Could not connect to Audio backend '%s', possible reasons:\n%s" % (audioDriver, audioError)))
@@ -425,7 +425,7 @@ class HostWindow(QMainWindow):
self.fContainer.removeAllPlugins()

if Carla.host.is_engine_running() and not Carla.host.engine_close():
print(cString(Carla.host.get_last_error()))
print(Carla.host.get_last_error())

self.fBufferSize = 0
self.fSampleRate = 0.0
@@ -441,7 +441,7 @@ class HostWindow(QMainWindow):
# -----------------------------------------------------------------
# Internal stuff (plugins)

def getExtraStuff(self, plugin):
def getExtraPtr(self, plugin):
ptype = plugin['type']

if ptype == PLUGIN_LADSPA:
@@ -461,7 +461,7 @@ class HostWindow(QMainWindow):
addr = addressof(int1)
return cast(addr, INTPOINTER)

return c_nullptr
return None

def maybeLoadRDFs(self):
if not self.fLadspaRdfNeedsUpdate:
@@ -783,10 +783,10 @@ class HostWindow(QMainWindow):
ptype = dialog.fRetPlugin['type']
filename = dialog.fRetPlugin['binary']
label = dialog.fRetPlugin['label']
extraStuff = self.getExtraStuff(dialog.fRetPlugin)
extraPtr = self.getExtraPtr(dialog.fRetPlugin)

if not Carla.host.add_plugin(btype, ptype, filename, None, label, c_nullptr):
CustomMessageBox(self, QMessageBox.Critical, self.tr("Error"), self.tr("Failed to load plugin"), cString(Carla.host.get_last_error()), QMessageBox.Ok, QMessageBox.Ok)
if not Carla.host.add_plugin(btype, ptype, filename, None, label, extraPtr):
CustomMessageBox(self, QMessageBox.Critical, self.tr("Error"), self.tr("Failed to load plugin"), charPtrToString(Carla.host.get_last_error()), QMessageBox.Ok, QMessageBox.Ok)
return

@pyqtSlot()
@@ -895,7 +895,7 @@ class HostWindow(QMainWindow):
if not Carla.host.load_filename(filename):
CustomMessageBox(self, QMessageBox.Critical, self.tr("Error"),
self.tr("Failed to load file"),
cString(Carla.host.get_last_error()), QMessageBox.Ok, QMessageBox.Ok)
Carla.host.get_last_error(), QMessageBox.Ok, QMessageBox.Ok)

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

@@ -1018,77 +1018,77 @@ def EngineCallback(ptr, action, pluginId, value1, value2, value3, valueStr):
if pluginId < 0 or not Carla.gui:
return

if action == CALLBACK_DEBUG:
Carla.gui.DebugCallback.emit(pluginId, value1, value2, value3, cString(valueStr))
elif action == CALLBACK_PLUGIN_ADDED:
if action == ENGINE_CALLBACK_DEBUG:
Carla.gui.DebugCallback.emit(pluginId, value1, value2, value3, charPtrToString(valueStr))
elif action == ENGINE_CALLBACK_PLUGIN_ADDED:
Carla.gui.PluginAddedCallback.emit(pluginId)
elif action == CALLBACK_PLUGIN_REMOVED:
elif action == ENGINE_CALLBACK_PLUGIN_REMOVED:
Carla.gui.PluginRemovedCallback.emit(pluginId)
elif action == CALLBACK_PLUGIN_RENAMED:
elif action == ENGINE_CALLBACK_PLUGIN_RENAMED:
Carla.gui.PluginRenamedCallback.emit(pluginId, valueStr)
elif action == CALLBACK_PARAMETER_VALUE_CHANGED:
elif action == ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED:
Carla.gui.ParameterValueChangedCallback.emit(pluginId, value1, value3)
elif action == CALLBACK_PARAMETER_DEFAULT_CHANGED:
elif action == ENGINE_CALLBACK_PARAMETER_DEFAULT_CHANGED:
Carla.gui.ParameterDefaultChangedCallback.emit(pluginId, value1, value3)
elif action == CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED:
elif action == ENGINE_CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED:
Carla.gui.ParameterMidiChannelChangedCallback.emit(pluginId, value1, value2)
elif action == CALLBACK_PARAMETER_MIDI_CC_CHANGED:
elif action == ENGINE_CALLBACK_PARAMETER_MIDI_CC_CHANGED:
Carla.gui.ParameterMidiCcChangedCallback.emit(pluginId, value1, value2)
elif action == CALLBACK_PROGRAM_CHANGED:
elif action == ENGINE_CALLBACK_PROGRAM_CHANGED:
Carla.gui.ProgramChangedCallback.emit(pluginId, value1)
elif action == CALLBACK_MIDI_PROGRAM_CHANGED:
elif action == ENGINE_CALLBACK_MIDI_PROGRAM_CHANGED:
Carla.gui.MidiProgramChangedCallback.emit(pluginId, value1)
elif action == CALLBACK_NOTE_ON:
elif action == ENGINE_CALLBACK_NOTE_ON:
Carla.gui.NoteOnCallback.emit(pluginId, value1, value2, value3)
elif action == CALLBACK_NOTE_OFF:
elif action == ENGINE_CALLBACK_NOTE_OFF:
Carla.gui.NoteOffCallback.emit(pluginId, value1, value2)
elif action == CALLBACK_SHOW_GUI:
elif action == ENGINE_CALLBACK_UI_STATE_CHANGED:
Carla.gui.ShowGuiCallback.emit(pluginId, value1)
elif action == CALLBACK_UPDATE:
elif action == ENGINE_CALLBACK_UPDATE:
Carla.gui.UpdateCallback.emit(pluginId)
elif action == CALLBACK_RELOAD_INFO:
elif action == ENGINE_CALLBACK_RELOAD_INFO:
Carla.gui.ReloadInfoCallback.emit(pluginId)
elif action == CALLBACK_RELOAD_PARAMETERS:
elif action == ENGINE_CALLBACK_RELOAD_PARAMETERS:
Carla.gui.ReloadParametersCallback.emit(pluginId)
elif action == CALLBACK_RELOAD_PROGRAMS:
elif action == ENGINE_CALLBACK_RELOAD_PROGRAMS:
Carla.gui.ReloadProgramsCallback.emit(pluginId)
elif action == CALLBACK_RELOAD_ALL:
elif action == ENGINE_CALLBACK_RELOAD_ALL:
Carla.gui.ReloadAllCallback.emit(pluginId)
elif action == CALLBACK_PATCHBAY_CLIENT_ADDED:
Carla.gui.PatchbayClientAddedCallback.emit(value1, cString(valueStr))
elif action == CALLBACK_PATCHBAY_CLIENT_REMOVED:
Carla.gui.PatchbayClientRemovedCallback.emit(value1, cString(valueStr))
elif action == CALLBACK_PATCHBAY_CLIENT_RENAMED:
Carla.gui.PatchbayClientRenamedCallback.emit(value1, cString(valueStr))
elif action == CALLBACK_PATCHBAY_PORT_ADDED:
Carla.gui.PatchbayPortAddedCallback.emit(value1, value2, int(value3), cString(valueStr))
elif action == CALLBACK_PATCHBAY_PORT_REMOVED:
Carla.gui.PatchbayPortRemovedCallback.emit(value1, value2, cString(valueStr))
elif action == CALLBACK_PATCHBAY_PORT_RENAMED:
Carla.gui.PatchbayPortRenamedCallback.emit(value1, value2, cString(valueStr))
elif action == CALLBACK_PATCHBAY_CONNECTION_ADDED:
elif action == ENGINE_CALLBACK_PATCHBAY_CLIENT_ADDED:
Carla.gui.PatchbayClientAddedCallback.emit(value1, charPtrToString(valueStr))
elif action == ENGINE_CALLBACK_PATCHBAY_CLIENT_REMOVED:
Carla.gui.PatchbayClientRemovedCallback.emit(value1, charPtrToString(valueStr))
elif action == ENGINE_CALLBACK_PATCHBAY_CLIENT_RENAMED:
Carla.gui.PatchbayClientRenamedCallback.emit(value1, charPtrToString(valueStr))
elif action == ENGINE_CALLBACK_PATCHBAY_PORT_ADDED:
Carla.gui.PatchbayPortAddedCallback.emit(value1, value2, int(value3), charPtrToString(valueStr))
elif action == ENGINE_CALLBACK_PATCHBAY_PORT_REMOVED:
Carla.gui.PatchbayPortRemovedCallback.emit(value1, value2, charPtrToString(valueStr))
elif action == ENGINE_CALLBACK_PATCHBAY_PORT_RENAMED:
Carla.gui.PatchbayPortRenamedCallback.emit(value1, value2, charPtrToString(valueStr))
elif action == ENGINE_CALLBACK_PATCHBAY_CONNECTION_ADDED:
Carla.gui.PatchbayConnectionAddedCallback.emit(value1, value2, value3)
elif action == CALLBACK_PATCHBAY_CONNECTION_REMOVED:
elif action == ENGINE_CALLBACK_PATCHBAY_CONNECTION_REMOVED:
Carla.gui.PatchbayConnectionRemovedCallback.emit(value1)
elif action == CALLBACK_PATCHBAY_ICON_CHANGED:
Carla.gui.PatchbayIconChangedCallback.emit(value1, cString(valueStr))
elif action == CALLBACK_BUFFER_SIZE_CHANGED:
#elif action == ENGINE_CALLBACK_PATCHBAY_ICON_CHANGED:
#Carla.gui.PatchbayIconChangedCallback.emit(value1, charPtrToString(valueStr))
elif action == ENGINE_CALLBACK_BUFFER_SIZE_CHANGED:
Carla.gui.BufferSizeChangedCallback.emit(value1)
elif action == CALLBACK_SAMPLE_RATE_CHANGED:
elif action == ENGINE_CALLBACK_SAMPLE_RATE_CHANGED:
Carla.gui.SampleRateChangedCallback.emit(value3)
elif action == CALLBACK_PROCESS_MODE_CHANGED:
elif action == ENGINE_CALLBACK_PROCESS_MODE_CHANGED:
Carla.gui.ProcessModeChangedCallback.emit(value1)
elif action == CALLBACK_ENGINE_STARTED:
Carla.gui.EngineStartedCallback.emit(cString(valueStr))
elif action == CALLBACK_ENGINE_STOPPED:
elif action == ENGINE_CALLBACK_ENGINE_STARTED:
Carla.gui.EngineStartedCallback.emit(charPtrToString(valueStr))
elif action == ENGINE_CALLBACK_ENGINE_STOPPED:
Carla.gui.EngineStoppedChangedCallback.emit()
elif action == CALLBACK_NSM_ANNOUNCE:
Carla.gui.NSM_AnnounceCallback.emit(cString(valueStr))
elif action == CALLBACK_NSM_OPEN:
Carla.gui.NSM_OpenCallback.emit(cString(valueStr))
elif action == CALLBACK_NSM_SAVE:
Carla.gui.NSM_SaveCallback.emit()
elif action == CALLBACK_ERROR:
Carla.gui.ErrorCallback.emit(cString(valueStr))
elif action == CALLBACK_QUIT:
#elif action == CALLBACK_NSM_ANNOUNCE:
#Carla.gui.NSM_AnnounceCallback.emit(charPtrToString(valueStr))
#elif action == CALLBACK_NSM_OPEN:
#Carla.gui.NSM_OpenCallback.emit(charPtrToString(valueStr))
#elif action == CALLBACK_NSM_SAVE:
#Carla.gui.NSM_SaveCallback.emit()
elif action == ENGINE_CALLBACK_ERROR:
Carla.gui.ErrorCallback.emit(charPtrToString(valueStr))
elif action == ENGINE_CALLBACK_QUIT:
Carla.gui.QuitCallback.emit()

+ 4
- 4
source/carla_patchbay.py View File

@@ -38,10 +38,10 @@ from carla_widgets import *
# Try Import OpenGL

try:
try:
from PyQt5.QtOpenGL import QGLWidget
except:
from PyQt4.QtOpenGL import QGLWidget
#try:
#from PyQt5.QtOpenGL import QGLWidget
#except:
from PyQt4.QtOpenGL import QGLWidget
hasGL = True
except:
hasGL = False


+ 9
- 13
source/carla_settings.py View File

@@ -84,11 +84,11 @@ else:
CARLA_DEFAULT_AUDIO_DRIVER = "JACK"

if LINUX:
CARLA_DEFAULT_PROCESS_MODE = PROCESS_MODE_MULTIPLE_CLIENTS
CARLA_DEFAULT_TRANSPORT_MODE = TRANSPORT_MODE_JACK
CARLA_DEFAULT_PROCESS_MODE = ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS
CARLA_DEFAULT_TRANSPORT_MODE = ENGINE_TRANSPORT_MODE_JACK
else:
CARLA_DEFAULT_PROCESS_MODE = PROCESS_MODE_CONTINUOUS_RACK
CARLA_DEFAULT_TRANSPORT_MODE = TRANSPORT_MODE_INTERNAL
CARLA_DEFAULT_PROCESS_MODE = ENGINE_PROCESS_MODE_CONTINUOUS_RACK
CARLA_DEFAULT_TRANSPORT_MODE = ENGINE_TRANSPORT_MODE_INTERNAL

# ------------------------------------------------------------------------------------------------------------
# ...
@@ -105,10 +105,6 @@ class DriverSettingsW(QDialog):
self.ui = ui_carla_settings_driver.Ui_DriverSettingsW()
self.ui.setupUi(self)

if driverName == "JACK":
print("This dialog is not compatible with JACK")
return

# -------------------------------------------------------------
# Internal stuff

@@ -218,7 +214,7 @@ class CarlaSettingsW(QDialog):

if Carla.host is not None:
for i in range(Carla.host.get_engine_driver_count()):
self.ui.cb_engine_audio_driver.addItem(cString(Carla.host.get_engine_driver_name(i)))
self.ui.cb_engine_audio_driver.addItem(Carla.host.get_engine_driver_name(i))
else:
self.ui.tb_engine_driver_config.setEnabled(False)

@@ -324,11 +320,11 @@ class CarlaSettingsW(QDialog):
self.ui.cb_engine_audio_driver.setCurrentIndex(-1)

if audioDriver == "JACK":
processModeIndex = settings.value(CARLA_KEY_ENGINE_PROCESS_MODE, PROCESS_MODE_MULTIPLE_CLIENTS, type=int)
processModeIndex = settings.value(CARLA_KEY_ENGINE_PROCESS_MODE, ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS, type=int)
self.ui.cb_engine_process_mode_jack.setCurrentIndex(processModeIndex)
self.ui.sw_engine_process_mode.setCurrentIndex(0)
else:
processModeIndex = settings.value(CARLA_KEY_ENGINE_PROCESS_MODE, PROCESS_MODE_CONTINUOUS_RACK, type=int)
processModeIndex = settings.value(CARLA_KEY_ENGINE_PROCESS_MODE, ENGINE_PROCESS_MODE_CONTINUOUS_RACK, type=int)
processModeIndex -= self.PROCESS_MODE_NON_JACK_PADDING
self.ui.cb_engine_process_mode_other.setCurrentIndex(processModeIndex)
self.ui.sw_engine_process_mode.setCurrentIndex(1)
@@ -517,10 +513,10 @@ class CarlaSettingsW(QDialog):
self.ui.ch_engine_prefer_plugin_bridges.setChecked(CARLA_DEFAULT_PREFER_PLUGIN_BRIDGES)

if self.ui.cb_engine_audio_driver.currentText() == "JACK":
self.ui.cb_engine_process_mode_jack.setCurrentIndex(PROCESS_MODE_MULTIPLE_CLIENTS)
self.ui.cb_engine_process_mode_jack.setCurrentIndex(ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS)
self.ui.sw_engine_process_mode.setCurrentIndex(0) # show all modes
else:
self.ui.cb_engine_process_mode_other.setCurrentIndex(PROCESS_MODE_CONTINUOUS_RACK-self.PROCESS_MODE_NON_JACK_PADDING)
self.ui.cb_engine_process_mode_other.setCurrentIndex(ENGINE_PROCESS_MODE_CONTINUOUS_RACK-self.PROCESS_MODE_NON_JACK_PADDING)
self.ui.sw_engine_process_mode.setCurrentIndex(1) # hide single+multi client modes

elif self.ui.lw_page.currentRow() == self.TAB_INDEX_PATHS:


+ 29
- 11
source/carla_widgets.py View File

@@ -1055,6 +1055,9 @@ class PluginEdit(QDialog):

@pyqtSlot(bool)
def slot_optionChanged(self, clicked):
if Carla.host is None:
return

sender = self.sender()

if sender == self.ui.ch_fixed_buffer:
@@ -1082,52 +1085,67 @@ class PluginEdit(QDialog):

@pyqtSlot(int)
def slot_dryWetChanged(self, value):
Carla.host.set_drywet(self.fPluginId, float(value)/1000)
if Carla.host is not None:
Carla.host.set_drywet(self.fPluginId, float(value)/1000)

@pyqtSlot(int)
def slot_volumeChanged(self, value):
Carla.host.set_volume(self.fPluginId, float(value)/1000)
if Carla.host is not None:
Carla.host.set_volume(self.fPluginId, float(value)/1000)

@pyqtSlot(int)
def slot_balanceLeftChanged(self, value):
Carla.host.set_balance_left(self.fPluginId, float(value)/1000)
if Carla.host is not None:
Carla.host.set_balance_left(self.fPluginId, float(value)/1000)

@pyqtSlot(int)
def slot_balanceRightChanged(self, value):
Carla.host.set_balance_right(self.fPluginId, float(value)/1000)
if Carla.host is not None:
Carla.host.set_balance_right(self.fPluginId, float(value)/1000)

@pyqtSlot(int)
def slot_panningChanged(self, value):
Carla.host.set_panning(self.fPluginId, float(value)/1000)
if Carla.host is not None:
Carla.host.set_panning(self.fPluginId, float(value)/1000)

@pyqtSlot(int)
def slot_ctrlChannelChanged(self, value):
self.fControlChannel = value-1
Carla.host.set_ctrl_channel(self.fPluginId, self.fControlChannel)

if Carla.host is not None:
Carla.host.set_ctrl_channel(self.fPluginId, self.fControlChannel)

self.ui.keyboard.allNotesOff()
self._updateCtrlMidiProgram()

@pyqtSlot(int, float)
def slot_parameterValueChanged(self, parameterId, value):
Carla.host.set_parameter_value(self.fPluginId, parameterId, value)
if Carla.host is not None:
Carla.host.set_parameter_value(self.fPluginId, parameterId, value)

@pyqtSlot(int, int)
def slot_parameterMidiControlChanged(self, parameterId, control):
Carla.host.set_parameter_midi_cc(self.fPluginId, parameterId, control)
if Carla.host is not None:
Carla.host.set_parameter_midi_cc(self.fPluginId, parameterId, control)

@pyqtSlot(int, int)
def slot_parameterMidiChannelChanged(self, parameterId, channel):
Carla.host.set_parameter_midi_channel(self.fPluginId, parameterId, channel-1)
if Carla.host is not None:
Carla.host.set_parameter_midi_channel(self.fPluginId, parameterId, channel-1)

@pyqtSlot(int)
def slot_programIndexChanged(self, index):
self.fCurrentProgram = index
Carla.host.set_program(self.fPluginId, index)

if Carla.host is not None:
Carla.host.set_program(self.fPluginId, index)

@pyqtSlot(int)
def slot_midiProgramIndexChanged(self, index):
self.fCurrentMidiProgram = index
Carla.host.set_midi_program(self.fPluginId, index)

if Carla.host is not None:
Carla.host.set_midi_program(self.fPluginId, index)

@pyqtSlot(int)
def slot_noteOn(self, note):


+ 18
- 18
source/patchcanvas.py View File

@@ -17,24 +17,24 @@
# For a full copy of the GNU General Public License see the GPL.txt file

# Imports (Global)
try:
from PyQt5.QtCore import pyqtSignal, pyqtSlot, qDebug, qCritical, qFatal, qWarning, Qt, QObject
from PyQt5.QtCore import QAbstractAnimation, QLineF, QPointF, QRectF, QSizeF, QSettings, QTimer
from PyQt5.QtGui import QColor, QLinearGradient, QPen, QPolygonF, QPainter, QPainterPath
from PyQt5.QtGui import QCursor, QFont, QFontMetrics
from PyQt5.QtSvg import QGraphicsSvgItem, QSvgRenderer
from PyQt5.QtWidgets import QGraphicsScene, QGraphicsItem, QGraphicsLineItem, QGraphicsPathItem
from PyQt5.QtWidgets import QGraphicsColorizeEffect, QGraphicsDropShadowEffect
from PyQt5.QtWidgets import QInputDialog, QLineEdit, QMenu
except:
from PyQt4.QtCore import pyqtSignal, pyqtSlot, qDebug, qCritical, qFatal, qWarning, Qt, QObject
from PyQt4.QtCore import QAbstractAnimation, QLineF, QPointF, QRectF, QSizeF, QSettings, QTimer
from PyQt4.QtGui import QColor, QLinearGradient, QPen, QPolygonF, QPainter, QPainterPath
from PyQt4.QtGui import QCursor, QFont, QFontMetrics
from PyQt4.QtGui import QGraphicsScene, QGraphicsItem, QGraphicsLineItem, QGraphicsPathItem
from PyQt4.QtGui import QGraphicsColorizeEffect, QGraphicsDropShadowEffect
from PyQt4.QtGui import QInputDialog, QLineEdit, QMenu
from PyQt4.QtSvg import QGraphicsSvgItem, QSvgRenderer
#try:
#from PyQt5.QtCore import pyqtSignal, pyqtSlot, qDebug, qCritical, qFatal, qWarning, Qt, QObject
#from PyQt5.QtCore import QAbstractAnimation, QLineF, QPointF, QRectF, QSizeF, QSettings, QTimer
#from PyQt5.QtGui import QColor, QLinearGradient, QPen, QPolygonF, QPainter, QPainterPath
#from PyQt5.QtGui import QCursor, QFont, QFontMetrics
#from PyQt5.QtSvg import QGraphicsSvgItem, QSvgRenderer
#from PyQt5.QtWidgets import QGraphicsScene, QGraphicsItem, QGraphicsLineItem, QGraphicsPathItem
#from PyQt5.QtWidgets import QGraphicsColorizeEffect, QGraphicsDropShadowEffect
#from PyQt5.QtWidgets import QInputDialog, QLineEdit, QMenu
#except:
from PyQt4.QtCore import pyqtSignal, pyqtSlot, qDebug, qCritical, qFatal, qWarning, Qt, QObject
from PyQt4.QtCore import QAbstractAnimation, QLineF, QPointF, QRectF, QSizeF, QSettings, QTimer
from PyQt4.QtGui import QColor, QLinearGradient, QPen, QPolygonF, QPainter, QPainterPath
from PyQt4.QtGui import QCursor, QFont, QFontMetrics
from PyQt4.QtGui import QGraphicsScene, QGraphicsItem, QGraphicsLineItem, QGraphicsPathItem
from PyQt4.QtGui import QGraphicsColorizeEffect, QGraphicsDropShadowEffect
from PyQt4.QtGui import QInputDialog, QLineEdit, QMenu
from PyQt4.QtSvg import QGraphicsSvgItem, QSvgRenderer

# Imports (Theme)
from patchcanvas_theme import *


+ 6
- 6
source/patchcanvas_theme.py View File

@@ -19,12 +19,12 @@
# ------------------------------------------------------------------------------------------------------------
# Imports (Global)

try:
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QColor, QFont, QPen, QPixmap
except:
from PyQt4.QtCore import Qt
from PyQt4.QtGui import QColor, QFont, QPen, QPixmap
#try:
#from PyQt5.QtCore import Qt
#from PyQt5.QtGui import QColor, QFont, QPen, QPixmap
#except:
from PyQt4.QtCore import Qt
from PyQt4.QtGui import QColor, QFont, QPen, QPixmap

# ------------------------------------------------------------------------------------------------------------
# patchcanvas-theme.cpp


+ 7
- 7
source/widgets/canvaspreviewframe.py View File

@@ -20,13 +20,13 @@
# Imports (Global)

# TODO - SIGNAL, SLOT
try:
from PyQt5.QtCore import Qt, QRectF, QTimer
from PyQt5.QtGui import QBrush, QColor, QCursor, QPainter, QPen
from PyQt5.QtWidgets import QFrame
except:
from PyQt4.QtCore import Qt, QRectF, QTimer
from PyQt4.QtGui import QBrush, QColor, QCursor, QFrame, QPainter, QPen
#try:
#from PyQt5.QtCore import Qt, QRectF, QTimer
#from PyQt5.QtGui import QBrush, QColor, QCursor, QPainter, QPen
#from PyQt5.QtWidgets import QFrame
#except:
from PyQt4.QtCore import Qt, QRectF, QTimer
from PyQt4.QtGui import QBrush, QColor, QCursor, QFrame, QPainter, QPen

# ------------------------------------------------------------------------------------------------------------
# Static Variables


+ 7
- 7
source/widgets/digitalpeakmeter.py View File

@@ -19,13 +19,13 @@
# ------------------------------------------------------------------------------------------------------------
# Imports (Global)

try:
from PyQt5.QtCore import qCritical, Qt, QTimer, QSize
from PyQt5.QtGui import QColor, QLinearGradient, QPainter
from PyQt5.QtWidgets import QWidget
except:
from PyQt4.QtCore import qCritical, Qt, QTimer, QSize
from PyQt4.QtGui import QColor, QLinearGradient, QPainter, QWidget
#try:
#from PyQt5.QtCore import qCritical, Qt, QTimer, QSize
#from PyQt5.QtGui import QColor, QLinearGradient, QPainter
#from PyQt5.QtWidgets import QWidget
#except:
from PyQt4.QtCore import qCritical, Qt, QTimer, QSize
from PyQt4.QtGui import QColor, QLinearGradient, QPainter, QWidget

# ------------------------------------------------------------------------------------------------------------
# Widget Class


+ 7
- 7
source/widgets/ledbutton.py View File

@@ -19,13 +19,13 @@
# ------------------------------------------------------------------------------------------------------------
# Imports (Global)

try:
from PyQt5.QtCore import qCritical, QRectF
from PyQt5.QtGui import QPainter, QPixmap
from PyQt5.QtWidgets import QPushButton
except:
from PyQt4.QtCore import qCritical, QRectF
from PyQt4.QtGui import QPainter, QPixmap, QPushButton
#try:
#from PyQt5.QtCore import qCritical, QRectF
#from PyQt5.QtGui import QPainter, QPixmap
#from PyQt5.QtWidgets import QPushButton
#except:
from PyQt4.QtCore import qCritical, QRectF
from PyQt4.QtGui import QPainter, QPixmap, QPushButton

# ------------------------------------------------------------------------------------------------------------
# Widget Class


+ 7
- 7
source/widgets/paramspinbox.py View File

@@ -19,13 +19,13 @@
# ------------------------------------------------------------------------------------------------------------
# Imports (Global)

try:
from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QTimer
from PyQt5.QtGui import QCursor
from PyQt5.QtWidgets import QAbstractSpinBox, QApplication, QComboBox, QDialog, QMenu, QProgressBar
except:
from PyQt4.QtCore import pyqtSignal, pyqtSlot, Qt, QTimer
from PyQt4.QtGui import QAbstractSpinBox, QApplication, QComboBox, QCursor, QDialog, QMenu, QProgressBar
#try:
#from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QTimer
#from PyQt5.QtGui import QCursor
#from PyQt5.QtWidgets import QAbstractSpinBox, QApplication, QComboBox, QDialog, QMenu, QProgressBar
#except:
from PyQt4.QtCore import pyqtSignal, pyqtSlot, Qt, QTimer
from PyQt4.QtGui import QAbstractSpinBox, QApplication, QComboBox, QCursor, QDialog, QMenu, QProgressBar

from math import isnan



+ 7
- 7
source/widgets/pixmapbutton.py View File

@@ -19,13 +19,13 @@
# ------------------------------------------------------------------------------------------------------------
# Imports (Global)

try:
from PyQt5.QtCore import QRectF
from PyQt5.QtGui import QPainter, QPixmap
from PyQt5.QtWidgets import QPushButton
except:
from PyQt4.QtCore import QRectF
from PyQt4.QtGui import QPainter, QPixmap, QPushButton
#try:
#from PyQt5.QtCore import QRectF
#from PyQt5.QtGui import QPainter, QPixmap
#from PyQt5.QtWidgets import QPushButton
#except:
from PyQt4.QtCore import QRectF
from PyQt4.QtGui import QPainter, QPixmap, QPushButton

# ------------------------------------------------------------------------------------------------------------
# Widget Class


+ 9
- 9
source/widgets/pixmapdial.py View File

@@ -21,15 +21,15 @@

from math import floor

try:
from PyQt5.QtCore import Qt, QPointF, QRectF, QTimer, QSize
from PyQt5.QtGui import QColor, QConicalGradient, QFont, QFontMetrics
from PyQt5.QtGui import QLinearGradient, QPainter, QPainterPath, QPen, QPixmap
from PyQt5.QtWidgets import QDial
except:
from PyQt4.QtCore import Qt, QPointF, QRectF, QTimer, QSize
from PyQt4.QtGui import QColor, QConicalGradient, QFont, QFontMetrics
from PyQt4.QtGui import QDial, QLinearGradient, QPainter, QPainterPath, QPen, QPixmap
#try:
#from PyQt5.QtCore import Qt, QPointF, QRectF, QTimer, QSize
#from PyQt5.QtGui import QColor, QConicalGradient, QFont, QFontMetrics
#from PyQt5.QtGui import QLinearGradient, QPainter, QPainterPath, QPen, QPixmap
#from PyQt5.QtWidgets import QDial
#except:
from PyQt4.QtCore import Qt, QPointF, QRectF, QTimer, QSize
from PyQt4.QtGui import QColor, QConicalGradient, QFont, QFontMetrics
from PyQt4.QtGui import QDial, QLinearGradient, QPainter, QPainterPath, QPen, QPixmap

# ------------------------------------------------------------------------------------------------------------
# Widget Class


+ 7
- 7
source/widgets/pixmapkeyboard.py View File

@@ -19,13 +19,13 @@
# ------------------------------------------------------------------------------------------------------------
# Imports (Global)

try:
from PyQt5.QtCore import pyqtSignal, qCritical, Qt, QPointF, QRectF, QSize
from PyQt5.QtGui import QFont, QPainter, QPixmap
from PyQt5.QtWidgets import QWidget
except:
from PyQt4.QtCore import pyqtSignal, qCritical, Qt, QPointF, QRectF, QSize
from PyQt4.QtGui import QFont, QPainter, QPixmap, QWidget
#try:
#from PyQt5.QtCore import pyqtSignal, qCritical, Qt, QPointF, QRectF, QSize
#from PyQt5.QtGui import QFont, QPainter, QPixmap
#from PyQt5.QtWidgets import QWidget
#except:
from PyQt4.QtCore import pyqtSignal, qCritical, Qt, QPointF, QRectF, QSize
from PyQt4.QtGui import QFont, QPainter, QPixmap, QWidget

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



Loading…
Cancel
Save