@@ -249,6 +249,7 @@ wine64: | |||
RES = \ | |||
bin/resources/carla_app.py \ | |||
bin/resources/carla_backend.py \ | |||
bin/resources/carla_backend_qt.py \ | |||
bin/resources/carla_config.py \ | |||
bin/resources/carla_database.py \ | |||
bin/resources/carla_host.py \ | |||
@@ -516,6 +517,7 @@ endif | |||
# Install resources (re-use python files) | |||
$(LINK) $(PREFIX)/share/carla/carla_app.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | |||
$(LINK) $(PREFIX)/share/carla/carla_backend.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | |||
$(LINK) $(PREFIX)/share/carla/carla_backend_qt.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | |||
$(LINK) $(PREFIX)/share/carla/carla_config.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | |||
$(LINK) $(PREFIX)/share/carla/carla_database.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | |||
$(LINK) $(PREFIX)/share/carla/carla_host.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | |||
@@ -16,11 +16,6 @@ | |||
# | |||
# For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Imports (Config) | |||
from carla_config import * | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Imports (Global) | |||
@@ -30,11 +25,6 @@ from os import environ | |||
from platform import architecture | |||
from sys import platform, maxsize | |||
if config_UseQt5: | |||
from PyQt5.QtCore import pyqtSignal, pyqtWrapperType, QObject | |||
else: | |||
from PyQt4.QtCore import pyqtSignal, pyqtWrapperType, QObject | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# 64bit check | |||
@@ -1252,59 +1242,13 @@ elif WINDOWS: | |||
else: | |||
BINARY_NATIVE = BINARY_OTHER | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# An empty class used to resolve metaclass conflicts between ABC and PyQt modules | |||
class PyQtMetaClass(pyqtWrapperType, ABCMeta): | |||
pass | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Carla Host object (Meta) | |||
class CarlaHostMeta(QObject): | |||
#class CarlaHostMeta(QObject, metaclass=PyQtMetaClass): | |||
# signals | |||
DebugCallback = pyqtSignal(int, int, int, float, str) | |||
PluginAddedCallback = pyqtSignal(int, str) | |||
PluginRemovedCallback = pyqtSignal(int) | |||
PluginRenamedCallback = pyqtSignal(int, str) | |||
PluginUnavailableCallback = pyqtSignal(int, str) | |||
ParameterValueChangedCallback = pyqtSignal(int, int, float) | |||
ParameterDefaultChangedCallback = pyqtSignal(int, int, float) | |||
ParameterMidiCcChangedCallback = pyqtSignal(int, int, int) | |||
ParameterMidiChannelChangedCallback = pyqtSignal(int, int, int) | |||
ProgramChangedCallback = pyqtSignal(int, int) | |||
MidiProgramChangedCallback = pyqtSignal(int, int) | |||
OptionChangedCallback = pyqtSignal(int, int, bool) | |||
UiStateChangedCallback = pyqtSignal(int, int) | |||
NoteOnCallback = pyqtSignal(int, int, int, int) | |||
NoteOffCallback = pyqtSignal(int, int, int) | |||
UpdateCallback = pyqtSignal(int) | |||
ReloadInfoCallback = pyqtSignal(int) | |||
ReloadParametersCallback = pyqtSignal(int) | |||
ReloadProgramsCallback = pyqtSignal(int) | |||
ReloadAllCallback = pyqtSignal(int) | |||
PatchbayClientAddedCallback = pyqtSignal(int, int, int, str) | |||
PatchbayClientRemovedCallback = pyqtSignal(int) | |||
PatchbayClientRenamedCallback = pyqtSignal(int, str) | |||
PatchbayClientDataChangedCallback = pyqtSignal(int, int, int) | |||
PatchbayPortAddedCallback = pyqtSignal(int, int, int, str) | |||
PatchbayPortRemovedCallback = pyqtSignal(int, int) | |||
PatchbayPortRenamedCallback = pyqtSignal(int, int, str) | |||
PatchbayConnectionAddedCallback = pyqtSignal(int, int, int, int, int) | |||
PatchbayConnectionRemovedCallback = pyqtSignal(int, int, int) | |||
EngineStartedCallback = pyqtSignal(int, int, str) | |||
EngineStoppedCallback = pyqtSignal() | |||
ProcessModeChangedCallback = pyqtSignal(int) | |||
TransportModeChangedCallback = pyqtSignal(int) | |||
BufferSizeChangedCallback = pyqtSignal(int) | |||
SampleRateChangedCallback = pyqtSignal(float) | |||
InfoCallback = pyqtSignal(str) | |||
ErrorCallback = pyqtSignal(str) | |||
QuitCallback = pyqtSignal() | |||
class CarlaHostMeta(object): | |||
#class CarlaHostMeta(object, metaclass=ABCMeta): | |||
def __init__(self): | |||
QObject.__init__(self) | |||
object.__init__(self) | |||
# info about this host object | |||
self.isControl = False | |||
@@ -2883,7 +2827,7 @@ class PluginStoreInfo(object): | |||
# Carla Host object for plugins (using pipes) | |||
class CarlaHostPlugin(CarlaHostMeta): | |||
#class CarlaHostPlugin(CarlaHostMeta, metaclass=PyQtMetaClass): | |||
#class CarlaHostPlugin(CarlaHostMeta, metaclass=ABCMeta): | |||
def __init__(self): | |||
CarlaHostMeta.__init__(self) | |||
@@ -0,0 +1,105 @@ | |||
#!/usr/bin/env python3 | |||
# -*- coding: utf-8 -*- | |||
# Carla Backend code (Qt stuff) | |||
# Copyright (C) 2011-2014 Filipe Coelho <falktx@falktx.com> | |||
# | |||
# 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 the Free Software Foundation; either version 2 of | |||
# the License, or any later version. | |||
# | |||
# This program is distributed in the hope that it will be useful, | |||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
# GNU General Public License for more details. | |||
# | |||
# For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Imports (Config) | |||
from carla_config import * | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Imports (Global) | |||
if config_UseQt5: | |||
from PyQt5.QtCore import pyqtSignal, pyqtWrapperType, QObject | |||
else: | |||
from PyQt4.QtCore import pyqtSignal, pyqtWrapperType, QObject | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Imports (Custom) | |||
from carla_backend import * | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# An empty class used to resolve metaclass conflicts between ABC and PyQt modules | |||
class PyQtMetaClass(pyqtWrapperType, ABCMeta): | |||
pass | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Carla Host PyQt signals | |||
class CarlaHostSignals(QObject): | |||
# signals | |||
DebugCallback = pyqtSignal(int, int, int, float, str) | |||
PluginAddedCallback = pyqtSignal(int, str) | |||
PluginRemovedCallback = pyqtSignal(int) | |||
PluginRenamedCallback = pyqtSignal(int, str) | |||
PluginUnavailableCallback = pyqtSignal(int, str) | |||
ParameterValueChangedCallback = pyqtSignal(int, int, float) | |||
ParameterDefaultChangedCallback = pyqtSignal(int, int, float) | |||
ParameterMidiCcChangedCallback = pyqtSignal(int, int, int) | |||
ParameterMidiChannelChangedCallback = pyqtSignal(int, int, int) | |||
ProgramChangedCallback = pyqtSignal(int, int) | |||
MidiProgramChangedCallback = pyqtSignal(int, int) | |||
OptionChangedCallback = pyqtSignal(int, int, bool) | |||
UiStateChangedCallback = pyqtSignal(int, int) | |||
NoteOnCallback = pyqtSignal(int, int, int, int) | |||
NoteOffCallback = pyqtSignal(int, int, int) | |||
UpdateCallback = pyqtSignal(int) | |||
ReloadInfoCallback = pyqtSignal(int) | |||
ReloadParametersCallback = pyqtSignal(int) | |||
ReloadProgramsCallback = pyqtSignal(int) | |||
ReloadAllCallback = pyqtSignal(int) | |||
PatchbayClientAddedCallback = pyqtSignal(int, int, int, str) | |||
PatchbayClientRemovedCallback = pyqtSignal(int) | |||
PatchbayClientRenamedCallback = pyqtSignal(int, str) | |||
PatchbayClientDataChangedCallback = pyqtSignal(int, int, int) | |||
PatchbayPortAddedCallback = pyqtSignal(int, int, int, str) | |||
PatchbayPortRemovedCallback = pyqtSignal(int, int) | |||
PatchbayPortRenamedCallback = pyqtSignal(int, int, str) | |||
PatchbayConnectionAddedCallback = pyqtSignal(int, int, int, int, int) | |||
PatchbayConnectionRemovedCallback = pyqtSignal(int, int, int) | |||
EngineStartedCallback = pyqtSignal(int, int, str) | |||
EngineStoppedCallback = pyqtSignal() | |||
ProcessModeChangedCallback = pyqtSignal(int) | |||
TransportModeChangedCallback = pyqtSignal(int) | |||
BufferSizeChangedCallback = pyqtSignal(int) | |||
SampleRateChangedCallback = pyqtSignal(float) | |||
InfoCallback = pyqtSignal(str) | |||
ErrorCallback = pyqtSignal(str) | |||
QuitCallback = pyqtSignal() | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Carla Host object using a DLL | |||
class CarlaHostQtDLL(CarlaHostSignals, CarlaHostDLL): | |||
#class CarlaHostQtDLL(CarlaHostSignals, CarlaHostDLL, metaclass=PyQtMetaClass): | |||
def __init__(self, libName): | |||
CarlaHostSignals.__init__(self) | |||
CarlaHostDLL.__init__(self, libName) | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Carla Host object for plugins (using pipes) | |||
class CarlaHostQtPlugin(CarlaHostSignals, CarlaHostPlugin): | |||
#class CarlaHostQtPlugin(CarlaHostSignals, CarlaHostPlugin, metaclass=PyQtMetaClass): | |||
def __init__(self): | |||
CarlaHostSignals.__init__(self) | |||
CarlaHostPlugin.__init__(self) | |||
# ------------------------------------------------------------------------------------------------------------ |
@@ -2002,10 +2002,10 @@ def initHost(initName, libPrefixOrPluginClass, isControl, isPlugin, failError): | |||
if failError: | |||
# no try | |||
host = PluginClass() if isPlugin else CarlaHostDLL(os.path.join(pathBinaries, libname)) | |||
host = PluginClass() if isPlugin else CarlaHostQtDLL(os.path.join(pathBinaries, libname)) | |||
else: | |||
try: | |||
host = PluginClass() if isPlugin else CarlaHostDLL(os.path.join(pathBinaries, libname)) | |||
host = PluginClass() if isPlugin else CarlaHostQtDLL(os.path.join(pathBinaries, libname)) | |||
except: | |||
host = CarlaHostNull() | |||
@@ -51,7 +51,7 @@ except: | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Imports (Custom) | |||
from carla_backend import * | |||
from carla_backend_qt import * | |||
# ------------------------------------------------------------------------------------------------------------ | |||
# Platform specific stuff | |||