Signed-off-by: falkTX <falktx@gmail.com>tags/v2.1-alpha1-winvst
| @@ -21,10 +21,12 @@ $ make install PREFIX=/usr DESTDIR=./test-dir | |||
| There are no required build dependencies. | |||
| But if you want the frontend (which is likely), you will need PyQt4/5 (python3 version) | |||
| But if you want the frontend (which is likely), you will need PyQt5 (python3 version). | |||
| You likely will also want: | |||
| - libmagic (for auto-detection of binary types, needed for plugin-bridges) | |||
| - liblo (for OSC support) | |||
| - liblo (for OSC support, also a requirement for DSSI UIs) | |||
| Optional for extra Linux-only engine features: | |||
| @@ -323,6 +323,7 @@ ifeq ($(HAVE_PYQT),true) | |||
| install -d $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps | |||
| install -d $(DESTDIR)$(DATADIR)/mime/packages | |||
| install -d $(DESTDIR)$(DATADIR)/carla/resources | |||
| install -d $(DESTDIR)$(DATADIR)/carla/patchcanvas | |||
| install -d $(DESTDIR)$(DATADIR)/carla/widgets | |||
| endif | |||
| @@ -437,6 +438,10 @@ endif | |||
| source/frontend/*.py \ | |||
| $(DESTDIR)$(DATADIR)/carla/ | |||
| install -m 644 \ | |||
| source/frontend/patchcanvas/*.py \ | |||
| $(DESTDIR)$(DATADIR)/carla/patchcanvas/ | |||
| install -m 644 \ | |||
| source/frontend/widgets/*.py \ | |||
| $(DESTDIR)$(DATADIR)/carla/widgets/ | |||
| @@ -492,11 +497,11 @@ endif | |||
| install -m 644 resources/scalable/carla-control.svg $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps | |||
| # Install resources (re-use python files) | |||
| $(LINK) ../patchcanvas $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../widgets $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../carla_app.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../carla_backend.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../carla_backend_qt.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../carla_config.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../carla_control.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../carla_database.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../carla_host.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| @@ -506,8 +511,6 @@ endif | |||
| $(LINK) ../carla_utils.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../carla_widgets.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../externalui.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../patchcanvas.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../patchcanvas_theme.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../resources_rc.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../ui_carla_about.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| $(LINK) ../ui_carla_add_jack.py $(DESTDIR)$(DATADIR)/carla/resources | |||
| @@ -636,16 +639,10 @@ mZ=[ | |||
| mE=] | |||
| endif | |||
| ifeq ($(DEFAULT_QT),4) | |||
| FEV="Qt4" | |||
| else | |||
| FEV="Qt5" | |||
| endif | |||
| features_print_main: | |||
| @printf -- "$(tS)---> Main features $(tE)\n" | |||
| ifeq ($(HAVE_PYQT),true) | |||
| @printf -- "Front-End: $(ANS_YES) (Using $(FEV))\n" | |||
| @printf -- "Front-End: $(ANS_YES)\n" | |||
| ifneq ($(WIN32),true) | |||
| @printf -- "LV2 plugin: $(ANS_YES)\n" | |||
| else | |||
| @@ -174,12 +174,8 @@ CXXFLAGS += -isystem /usr/include/glib-2.0 | |||
| CXXFLAGS += -isystem /usr/include/glib-2.0/glib | |||
| CXXFLAGS += -isystem /usr/include/gtk-2.0 | |||
| CXXFLAGS += -isystem /usr/include/gtk-2.0/gio | |||
| ifeq ($(DEFAULT_QT),4) | |||
| CXXFLAGS += -isystem /usr/include/qt4 | |||
| else | |||
| CXXFLAGS += -isystem /usr/include/qt5 | |||
| endif | |||
| endif | |||
| ifeq ($(MACOS),true) | |||
| BASE_FLAGS += -isystem /opt/kxstudio/include | |||
| CXXFLAGS += -isystem /System/Library/Frameworks | |||
| @@ -280,54 +276,23 @@ endif | |||
| # --------------------------------------------------------------------------------------------------------------------- | |||
| # Set PyQt tools | |||
| PYRCC4 ?= $(shell which pyrcc4 2>/dev/null) | |||
| PYUIC4 ?= $(shell which pyuic4 2>/dev/null) | |||
| PYRCC5 ?= $(shell which pyrcc5 2>/dev/null) | |||
| PYUIC5 ?= $(shell which pyuic5 2>/dev/null) | |||
| HAVE_PYQT4=false | |||
| HAVE_PYQT5=false | |||
| ifneq ($(PYUIC4),) | |||
| ifneq ($(PYRCC4),) | |||
| HAVE_PYQT=true | |||
| HAVE_PYQT4=true | |||
| endif | |||
| endif | |||
| ifneq ($(PYUIC5),) | |||
| ifneq ($(PYRCC5),) | |||
| HAVE_PYQT=true | |||
| HAVE_PYQT5=true | |||
| endif | |||
| endif | |||
| # --------------------------------------------------------------------------------------------------------------------- | |||
| # Set default Qt used in frontend | |||
| ifeq ($(HAVE_PYQT5),true) | |||
| DEFAULT_QT ?= 5 | |||
| else | |||
| DEFAULT_QT ?= 4 | |||
| endif | |||
| # --------------------------------------------------------------------------------------------------------------------- | |||
| # Set PyQt tools, part2 | |||
| ifeq ($(DEFAULT_QT),4) | |||
| PYUIC ?= pyuic4 -w | |||
| PYRCC ?= pyrcc4 -py3 | |||
| ifeq ($(HAVE_QT4),true) | |||
| HAVE_THEME = true | |||
| endif | |||
| else | |||
| PYUIC ?= pyuic5 | |||
| PYRCC ?= pyrcc5 | |||
| ifeq ($(HAVE_QT5),true) | |||
| HAVE_THEME = true | |||
| endif | |||
| endif | |||
| # --------------------------------------------------------------------------------------------------------------------- | |||
| # Set base defines | |||
| @@ -45,13 +45,12 @@ UIs = \ | |||
| # Resources | |||
| RES = \ | |||
| carla_config.py \ | |||
| resources_rc.py \ | |||
| $(BINDIR)/resources/patchcanvas \ | |||
| $(BINDIR)/resources/widgets \ | |||
| $(BINDIR)/resources/carla_app.py \ | |||
| $(BINDIR)/resources/carla_backend.py \ | |||
| $(BINDIR)/resources/carla_backend_qt.py \ | |||
| $(BINDIR)/resources/carla_config.py \ | |||
| $(BINDIR)/resources/carla_control.py \ | |||
| $(BINDIR)/resources/carla_database.py \ | |||
| $(BINDIR)/resources/carla_host.py \ | |||
| @@ -61,8 +60,6 @@ RES = \ | |||
| $(BINDIR)/resources/carla_utils.py \ | |||
| $(BINDIR)/resources/carla_widgets.py \ | |||
| $(BINDIR)/resources/externalui.py \ | |||
| $(BINDIR)/resources/patchcanvas.py \ | |||
| $(BINDIR)/resources/patchcanvas_theme.py \ | |||
| $(BINDIR)/resources/resources_rc.py \ | |||
| $(BINDIR)/resources/ui_carla_about.py \ | |||
| $(BINDIR)/resources/ui_carla_add_jack.py \ | |||
| @@ -90,15 +87,6 @@ all: $(UIs) $(RES) | |||
| ui_%.py: $(RESDIR)/ui/%.ui | |||
| $(PYUIC) $< -o $@ | |||
| carla_config.py: | |||
| @echo "#!/usr/bin/env python3" > $@ | |||
| @echo "# -*- coding: utf-8 -*-" >> $@ | |||
| ifeq ($(DEFAULT_QT),4) | |||
| @echo "config_UseQt5 = False" >> $@ | |||
| else | |||
| @echo "config_UseQt5 = True" >> $@ | |||
| endif | |||
| resources_rc.py: $(RESDIR)/resources.qrc $(RESDIR)/*/*.png $(RESDIR)/*/*.svg | |||
| $(PYRCC) $< -o $@ | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # Carla application | |||
| # Copyright (C) 2013-2014 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2013-2019 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 | |||
| @@ -16,21 +16,12 @@ | |||
| # | |||
| # 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 Qt, QCoreApplication, QSettings | |||
| from PyQt5.QtGui import QColor, QPalette | |||
| from PyQt5.QtWidgets import QApplication | |||
| else: | |||
| from PyQt4.QtCore import Qt, QCoreApplication, QSettings | |||
| from PyQt4.QtGui import QApplication, QColor, QPalette | |||
| from PyQt5.QtCore import Qt, QCoreApplication, QSettings | |||
| from PyQt5.QtGui import QColor, QPalette | |||
| from PyQt5.QtWidgets import QApplication | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Custom) | |||
| @@ -58,19 +49,13 @@ class CarlaApplication(object): | |||
| QApplication.addLibraryPath(pathBinaries) | |||
| stylesDir = pathBinaries | |||
| # If style is not available we can still fake it in Qt5 | |||
| elif config_UseQt5: | |||
| stylesDir = "" | |||
| # If style is not available we can still fake it | |||
| else: | |||
| self.createApp(appName) | |||
| return | |||
| forceTheme = MACOS or (WINDOWS and not config_UseQt5) | |||
| stylesDir = "" | |||
| # base settings | |||
| settings = QSettings("falkTX", appName) | |||
| useProTheme = forceTheme or settings.value(CARLA_KEY_MAIN_USE_PRO_THEME, CARLA_DEFAULT_MAIN_USE_PRO_THEME, type=bool) | |||
| useProTheme = MACOS or settings.value(CARLA_KEY_MAIN_USE_PRO_THEME, CARLA_DEFAULT_MAIN_USE_PRO_THEME, type=bool) | |||
| if not useProTheme: | |||
| self.createApp(appName) | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # Carla Backend code (Qt stuff) | |||
| # Copyright (C) 2011-2018 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2011-2019 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 | |||
| @@ -16,18 +16,10 @@ | |||
| # | |||
| # 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, QObject | |||
| else: | |||
| from PyQt4.QtCore import pyqtSignal, QObject | |||
| from PyQt5.QtCore import pyqtSignal, QObject | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Custom) | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # Carla plugin database code | |||
| # Copyright (C) 2011-2018 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2011-2019 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 | |||
| @@ -16,23 +16,14 @@ | |||
| # | |||
| # For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
| # ---------------------------------------------------------------------------------------------------------------------- | |||
| # Imports (Config) | |||
| from carla_config import * | |||
| # ---------------------------------------------------------------------------------------------------------------------- | |||
| # Imports (Global) | |||
| from copy import deepcopy | |||
| from subprocess import Popen, PIPE | |||
| if config_UseQt5: | |||
| from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QEventLoop, QThread, QSettings | |||
| from PyQt5.QtWidgets import QApplication, QDialog, QDialogButtonBox, QTableWidgetItem | |||
| else: | |||
| from PyQt4.QtCore import pyqtSignal, pyqtSlot, Qt, QEventLoop, QThread, QSettings | |||
| from PyQt4.QtGui import QApplication, QDialog, QDialogButtonBox, QTableWidgetItem | |||
| from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QEventLoop, QThread, QSettings | |||
| from PyQt5.QtWidgets import QApplication, QDialog, QDialogButtonBox, QTableWidgetItem | |||
| # ---------------------------------------------------------------------------------------------------------------------- | |||
| # Imports (Custom) | |||
| @@ -1338,7 +1329,7 @@ class PluginDatabaseW(QDialog): | |||
| def slot_saveSettings(self): | |||
| settings = QSettings("falkTX", "CarlaDatabase2") | |||
| settings.setValue("PluginDatabase/Geometry", self.saveGeometry()) | |||
| settings.setValue("PluginDatabase/TableGeometry%s" % ("_5" if config_UseQt5 else "_4"), self.ui.tableWidget.horizontalHeader().saveState()) | |||
| settings.setValue("PluginDatabase/TableGeometry_5", self.ui.tableWidget.horizontalHeader().saveState()) | |||
| settings.setValue("PluginDatabase/ShowFilters", (self.ui.tb_filters.arrowType() == Qt.UpArrow)) | |||
| settings.setValue("PluginDatabase/ShowEffects", self.ui.ch_effects.isChecked()) | |||
| settings.setValue("PluginDatabase/ShowInstruments", self.ui.ch_instruments.isChecked()) | |||
| @@ -1381,7 +1372,7 @@ class PluginDatabaseW(QDialog): | |||
| self.ui.ch_stereo.setChecked(settings.value("PluginDatabase/ShowStereoOnly", False, type=bool)) | |||
| self.ui.lineEdit.setText(settings.value("PluginDatabase/SearchText", "", type=str)) | |||
| tableGeometry = settings.value("PluginDatabase/TableGeometry%s" % ("_5" if config_UseQt5 else "_4")) | |||
| tableGeometry = settings.value("PluginDatabase/TableGeometry_5") | |||
| if tableGeometry: | |||
| self.ui.tableWidget.horizontalHeader().restoreState(tableGeometry) | |||
| else: | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # Carla host code | |||
| # Copyright (C) 2011-2018 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2011-2019 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 | |||
| @@ -16,24 +16,14 @@ | |||
| # | |||
| # For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Config) | |||
| from carla_config import * | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Global) | |||
| import json | |||
| if config_UseQt5: | |||
| from PyQt5.QtCore import qCritical, QEventLoop, QFileInfo, QModelIndex, QPointF, QTimer, QEvent | |||
| from PyQt5.QtGui import QImage, QPalette, QBrush | |||
| from PyQt5.QtWidgets import QAction, QApplication, QInputDialog, QFileSystemModel, QListWidgetItem, QMainWindow | |||
| else: | |||
| from PyQt4.QtCore import qCritical, QEventLoop, QFileInfo, QModelIndex, QPointF, QTimer, QEvent | |||
| from PyQt4.QtGui import QImage, QPalette, QBrush | |||
| from PyQt4.QtGui import QAction, QApplication, QInputDialog, QFileSystemModel, QListWidgetItem, QMainWindow | |||
| from PyQt5.QtCore import qCritical, QEventLoop, QFileInfo, QModelIndex, QPointF, QTimer, QEvent | |||
| from PyQt5.QtGui import QImage, QPalette, QBrush | |||
| from PyQt5.QtWidgets import QAction, QApplication, QInputDialog, QFileSystemModel, QListWidgetItem, QMainWindow | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Custom) | |||
| @@ -54,10 +44,7 @@ from widgets.pixmapkeyboard import PixmapKeyboardHArea | |||
| # Try Import OpenGL | |||
| try: | |||
| if config_UseQt5: | |||
| from PyQt5.QtOpenGL import QGLWidget | |||
| else: | |||
| from PyQt4.QtOpenGL import QGLWidget | |||
| from PyQt5.QtOpenGL import QGLWidget | |||
| hasGL = True | |||
| except: | |||
| hasGL = False | |||
| @@ -724,10 +711,9 @@ class HostWindow(QMainWindow): | |||
| @pyqtSlot() | |||
| def slot_fileOpen(self): | |||
| fileFilter = self.tr("Carla Project File (*.carxp);;Carla Preset File (*.carxs)") | |||
| filename = QFileDialog.getOpenFileName(self, self.tr("Open Carla Project File"), self.fSavedSettings[CARLA_KEY_MAIN_PROJECT_FOLDER], filter=fileFilter) | |||
| filename, ok = QFileDialog.getOpenFileName(self, self.tr("Open Carla Project File"), self.fSavedSettings[CARLA_KEY_MAIN_PROJECT_FOLDER], filter=fileFilter) | |||
| if config_UseQt5: | |||
| filename = filename[0] | |||
| # FIXME use ok value, test if it works as expected | |||
| if not filename: | |||
| return | |||
| @@ -755,10 +741,9 @@ class HostWindow(QMainWindow): | |||
| return self.saveProjectNow() | |||
| fileFilter = self.tr("Carla Project File (*.carxp)") | |||
| filename = QFileDialog.getSaveFileName(self, self.tr("Save Carla Project File"), self.fSavedSettings[CARLA_KEY_MAIN_PROJECT_FOLDER], filter=fileFilter) | |||
| filename, ok = QFileDialog.getSaveFileName(self, self.tr("Save Carla Project File"), self.fSavedSettings[CARLA_KEY_MAIN_PROJECT_FOLDER], filter=fileFilter) | |||
| if config_UseQt5: | |||
| filename = filename[0] | |||
| # FIXME use ok value, test if it works as expected | |||
| if not filename: | |||
| return | |||
| @@ -1010,38 +995,11 @@ class HostWindow(QMainWindow): | |||
| def showPluginActionsMenu(self): | |||
| menu = QMenu(self) | |||
| if config_UseQt5: | |||
| menu.addSection("Plugins") | |||
| else: | |||
| # fake section | |||
| act = menu.addAction(" Plugins") | |||
| font = act.font() | |||
| font.setBold(True) | |||
| act.setFont(font) | |||
| act.setEnabled(False) | |||
| menu.addSeparator() | |||
| menu.addSection("Plugins") | |||
| menu.addAction(self.ui.act_plugin_add) | |||
| menu.addAction(self.ui.act_plugin_remove_all) | |||
| if config_UseQt5: | |||
| menu.addSection("All plugins (macros)") | |||
| else: | |||
| # fake space | |||
| act = menu.addAction(" ") | |||
| font = act.font() | |||
| font.setBold(True) | |||
| font.setPointSize(font.pointSize()/2) | |||
| act.setEnabled(False) | |||
| # fake section | |||
| act = menu.addAction(" All plugins (macros)") | |||
| font = act.font() | |||
| font.setBold(True) | |||
| act.setFont(font) | |||
| act.setEnabled(False) | |||
| menu.addSeparator() | |||
| menu.addSection("All plugins (macros)") | |||
| menu.addAction(self.ui.act_plugins_enable) | |||
| menu.addAction(self.ui.act_plugins_disable) | |||
| menu.addSeparator() | |||
| @@ -1389,10 +1347,9 @@ class HostWindow(QMainWindow): | |||
| @pyqtSlot() | |||
| def slot_canvasSaveImage(self): | |||
| newPath = QFileDialog.getSaveFileName(self, self.tr("Save Image"), filter=self.tr("PNG Image (*.png);;JPEG Image (*.jpg)")) | |||
| newPath, ok = QFileDialog.getSaveFileName(self, self.tr("Save Image"), filter=self.tr("PNG Image (*.png);;JPEG Image (*.jpg)")) | |||
| if config_UseQt5: | |||
| newPath = newPath[0] | |||
| # FIXME use ok value, test if it works as expected | |||
| if not newPath: | |||
| return | |||
| @@ -2613,18 +2570,17 @@ def engineCallback(host, action, pluginId, value1, value2, value3, valueStr): | |||
| # File callback | |||
| def fileCallback(ptr, action, isDir, title, filter): | |||
| ret = ("", "") if config_UseQt5 else "" | |||
| title = charPtrToString(title) | |||
| filter = charPtrToString(filter) | |||
| if action == FILE_CALLBACK_OPEN: | |||
| ret = QFileDialog.getOpenFileName(gCarla.gui, title, "", filter) #, QFileDialog.ShowDirsOnly if isDir else 0x0) | |||
| ret, ok = QFileDialog.getOpenFileName(gCarla.gui, title, "", filter) #, QFileDialog.ShowDirsOnly if isDir else 0x0) | |||
| elif action == FILE_CALLBACK_SAVE: | |||
| ret = QFileDialog.getSaveFileName(gCarla.gui, title, "", filter, QFileDialog.ShowDirsOnly if isDir else 0x0) | |||
| ret, ok = QFileDialog.getSaveFileName(gCarla.gui, title, "", filter, QFileDialog.ShowDirsOnly if isDir else 0x0) | |||
| else: | |||
| ret, ok = ("", "") | |||
| if config_UseQt5: | |||
| ret = ret[0] | |||
| # FIXME use ok value, test if it works as expected | |||
| if not ret: | |||
| return None | |||
| @@ -2717,9 +2673,7 @@ def initHost(initName, libPrefix, isControl, isPlugin, failError, HostClass = No | |||
| sys.stdout = CarlaPrint(False) | |||
| sys.stderr = CarlaPrint(True) | |||
| if config_UseQt5: | |||
| sys.excepthook = sys_excepthook | |||
| sys.excepthook = sys_excepthook | |||
| # -------------------------------------------------------------------------------------------------------- | |||
| # Done | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # Carla settings code | |||
| # Copyright (C) 2011-2018 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2011-2019 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 | |||
| @@ -16,22 +16,12 @@ | |||
| # | |||
| # 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 pyqtSlot, QByteArray, QDir, QSettings | |||
| from PyQt5.QtGui import QColor, QCursor, QFontMetrics, QPainter, QPainterPath | |||
| from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QFrame, QInputDialog, QLineEdit, QMenu, QVBoxLayout, QWidget | |||
| else: | |||
| from PyQt4.QtCore import pyqtSlot, QByteArray, QDir, QSettings | |||
| from PyQt4.QtGui import QColor, QCursor, QFontMetrics, QPainter, QPainterPath | |||
| from PyQt4.QtGui import QDialog, QDialogButtonBox, QFrame, QInputDialog, QLineEdit, QMenu, QVBoxLayout, QWidget | |||
| from PyQt5.QtCore import pyqtSlot, QByteArray, QDir, QSettings | |||
| from PyQt5.QtGui import QColor, QCursor, QFontMetrics, QPainter, QPainterPath | |||
| from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QFrame, QInputDialog, QLineEdit, QMenu, QVBoxLayout, QWidget | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Custom) | |||
| @@ -249,7 +239,7 @@ class CarlaSettingsW(QDialog): | |||
| for i in range(Theme.THEME_MAX): | |||
| self.ui.cb_canvas_theme.addItem(getThemeName(i)) | |||
| if MACOS or (WINDOWS and not config_UseQt5): | |||
| if MACOS: | |||
| self.ui.group_main_theme.setEnabled(False) | |||
| self.ui.group_main_theme.setVisible(False) | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # Common Carla code | |||
| # Copyright (C) 2011-2018 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2011-2019 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 | |||
| @@ -17,9 +17,7 @@ | |||
| # For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Config) | |||
| from carla_config import * | |||
| # Config | |||
| # These will be modified during install | |||
| X_LIBDIR_X = None | |||
| @@ -31,15 +29,10 @@ X_DATADIR_X = None | |||
| import os | |||
| import sys | |||
| if config_UseQt5: | |||
| from PyQt5.Qt import PYQT_VERSION_STR | |||
| from PyQt5.QtCore import qFatal, qVersion, qWarning, QDir | |||
| from PyQt5.QtGui import QIcon | |||
| from PyQt5.QtWidgets import QFileDialog, QMessageBox | |||
| else: | |||
| from PyQt4.Qt import PYQT_VERSION_STR | |||
| from PyQt4.QtCore import qFatal, qVersion, qWarning, QDir | |||
| from PyQt4.QtGui import QFileDialog, QIcon, QMessageBox | |||
| from PyQt5.Qt import PYQT_VERSION_STR | |||
| from PyQt5.QtCore import qFatal, qVersion, qWarning, QDir | |||
| from PyQt5.QtGui import QIcon | |||
| from PyQt5.QtWidgets import QFileDialog, QMessageBox | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Import Signal | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # Carla plugin/slot skin code | |||
| # Copyright (C) 2013-2018 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2013-2019 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 | |||
| @@ -16,22 +16,12 @@ | |||
| # | |||
| # 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 Qt, QRectF, QLineF | |||
| from PyQt5.QtGui import QFont, QFontDatabase, QPen, QPixmap | |||
| from PyQt5.QtWidgets import QColorDialog, QFrame, QPushButton | |||
| else: | |||
| from PyQt4.QtCore import Qt, QRectF, QLineF | |||
| from PyQt4.QtGui import QFont, QFontDatabase, QPen, QPixmap | |||
| from PyQt4.QtGui import QColorDialog, QFrame, QPushButton | |||
| from PyQt5.QtCore import Qt, QRectF, QLineF | |||
| from PyQt5.QtGui import QFont, QFontDatabase, QPen, QPixmap | |||
| from PyQt5.QtWidgets import QColorDialog, QFrame, QPushButton | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Custom) | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # Carla widgets code | |||
| # Copyright (C) 2011-2018 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2011-2019 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 | |||
| @@ -16,22 +16,12 @@ | |||
| # | |||
| # 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, pyqtSlot, Qt, QByteArray, QSettings, QTimer | |||
| from PyQt5.QtGui import QColor, QCursor, QFontMetrics, QPainter, QPainterPath, QPalette, QPixmap | |||
| from PyQt5.QtWidgets import QDialog, QInputDialog, QLineEdit, QMenu, QVBoxLayout, QWidget | |||
| else: | |||
| from PyQt4.QtCore import pyqtSignal, pyqtSlot, Qt, QByteArray, QSettings, QTimer | |||
| from PyQt4.QtGui import QColor, QCursor, QFontMetrics, QPainter, QPainterPath, QPalette, QPixmap | |||
| from PyQt4.QtGui import QDialog, QInputDialog, QLineEdit, QMenu, QVBoxLayout, QWidget | |||
| from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QByteArray, QSettings, QTimer | |||
| from PyQt5.QtGui import QColor, QCursor, QFontMetrics, QPainter, QPainterPath, QPalette, QPixmap | |||
| from PyQt5.QtWidgets import QDialog, QInputDialog, QLineEdit, QMenu, QVBoxLayout, QWidget | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Custom) | |||
| @@ -76,7 +66,7 @@ class CarlaAboutW(QDialog): | |||
| self.ui.l_about.setText(self.tr("" | |||
| "<br>Version %s" | |||
| "<br>Carla is a fully-featured audio plugin host%s.<br>" | |||
| "<br>Copyright (C) 2011-2018 falkTX<br>" | |||
| "<br>Copyright (C) 2011-2019 falkTX<br>" | |||
| "" % (VERSION, extraInfo))) | |||
| if self.ui.about.palette().color(QPalette.Background).blackF() < 0.5: | |||
| @@ -686,6 +676,7 @@ class PluginEdit(QDialog): | |||
| if not self.ui.scrollArea.isEnabled(): | |||
| self.resize(self.width(), self.height()-self.ui.scrollArea.height()) | |||
| # FIXME: See if this is still needed | |||
| # Workaround for a Qt4 bug, see https://bugreports.qt-project.org/browse/QTBUG-7792 | |||
| if LINUX: QTimer.singleShot(0, self.slot_fixNameWordWrap) | |||
| @@ -1150,10 +1141,9 @@ class PluginEdit(QDialog): | |||
| self.fCurrentStateFilename = None | |||
| fileFilter = self.tr("Carla State File (*.carxs)") | |||
| filename = QFileDialog.getSaveFileName(self, self.tr("Save Plugin State File"), filter=fileFilter) | |||
| filename, ok = QFileDialog.getSaveFileName(self, self.tr("Save Plugin State File"), filter=fileFilter) | |||
| if config_UseQt5: | |||
| filename = filename[0] | |||
| # FIXME use ok value, test if it works as expected | |||
| if not filename: | |||
| return | |||
| @@ -1181,10 +1171,9 @@ class PluginEdit(QDialog): | |||
| return | |||
| fileFilter = self.tr("Carla State File (*.carxs)") | |||
| filename = QFileDialog.getOpenFileName(self, self.tr("Open Plugin State File"), filter=fileFilter) | |||
| filename, ok = QFileDialog.getOpenFileName(self, self.tr("Open Plugin State File"), filter=fileFilter) | |||
| if config_UseQt5: | |||
| filename = filename[0] | |||
| # FIXME use ok value, test if it works as expected | |||
| if not filename: | |||
| return | |||
| @@ -1,8 +1,8 @@ | |||
| #!/usr/bin/env python3 | |||
| # -*- coding: utf-8 -*- | |||
| # Custom Mini Canvas Preview, a custom Qt4 widget | |||
| # Copyright (C) 2011-2014 Filipe Coelho <falktx@falktx.com> | |||
| # Custom Mini Canvas Preview, a custom Qt widget | |||
| # Copyright (C) 2011-2019 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 | |||
| @@ -16,24 +16,14 @@ | |||
| # | |||
| # For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Config) | |||
| from carla_config import * | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Global) | |||
| from math import floor, ceil | |||
| if config_UseQt5: | |||
| from PyQt5.QtCore import pyqtSignal, Qt, QRectF, QTimer, QEvent, QPoint | |||
| from PyQt5.QtGui import QBrush, QColor, QCursor, QPainter, QPainterPath, QPen, QCursor, QPixmap | |||
| from PyQt5.QtWidgets import QFrame, QWidget | |||
| else: | |||
| from PyQt4.QtCore import pyqtSignal, Qt, QRectF, QTimer, QEvent, QPoint | |||
| from PyQt4.QtGui import QBrush, QColor, QCursor, QPainter, QPainterPath, QPen, QCursor, QPixmap | |||
| from PyQt5.QtGui import QFrame, QWidget | |||
| from PyQt5.QtCore import pyqtSignal, Qt, QRectF, QTimer, QEvent, QPoint | |||
| from PyQt5.QtGui import QBrush, QColor, QCursor, QPainter, QPainterPath, QPen, QCursor, QPixmap | |||
| from PyQt5.QtWidgets import QFrame, QWidget | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Antialiasing settings | |||
| @@ -1,8 +1,8 @@ | |||
| #!/usr/bin/env python3 | |||
| # -*- coding: utf-8 -*- | |||
| # Digital Peak Meter, a custom Qt4 widget | |||
| # Copyright (C) 2011-2015 Filipe Coelho <falktx@falktx.com> | |||
| # Digital Peak Meter, a custom Qt widget | |||
| # Copyright (C) 2011-2019 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 | |||
| @@ -16,23 +16,14 @@ | |||
| # | |||
| # For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Config) | |||
| from carla_config import * | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Global) | |||
| from math import sqrt | |||
| if config_UseQt5: | |||
| from PyQt5.QtCore import qCritical, Qt, QTimer, QSize | |||
| from PyQt5.QtGui import QColor, QLinearGradient, QPainter, QPen, QPixmap | |||
| from PyQt5.QtWidgets import QWidget | |||
| else: | |||
| from PyQt4.QtCore import qCritical, Qt, QTimer, QSize | |||
| from PyQt4.QtGui import QColor, QLinearGradient, QPainter, QPen, QPixmap, QWidget | |||
| from PyQt5.QtCore import qCritical, Qt, QTimer, QSize | |||
| from PyQt5.QtGui import QColor, QLinearGradient, QPainter, QPen, QPixmap | |||
| from PyQt5.QtWidgets import QWidget | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Widget Class | |||
| @@ -461,11 +452,7 @@ class DigitalPeakMeter(QWidget): | |||
| if __name__ == '__main__': | |||
| import sys | |||
| import resources_rc | |||
| if config_UseQt5: | |||
| from PyQt5.QtWidgets import QApplication | |||
| else: | |||
| from PyQt4.QtGui import QApplication | |||
| from PyQt5.QtWidgets import QApplication | |||
| app = QApplication(sys.argv) | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # Middle-click draggable QGraphicsView | |||
| # Copyright (C) 2016 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2016-2019 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 | |||
| @@ -16,21 +16,12 @@ | |||
| # | |||
| # 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 Qt | |||
| from PyQt5.QtGui import QCursor, QMouseEvent | |||
| from PyQt5.QtWidgets import QGraphicsView | |||
| else: | |||
| from PyQt4.QtCore import Qt | |||
| from PyQt4.QtGui import QCursor, QGraphicsView, QMouseEvent | |||
| from PyQt5.QtCore import Qt | |||
| from PyQt5.QtGui import QCursor, QMouseEvent | |||
| from PyQt5.QtWidgets import QGraphicsView | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Widget Class | |||
| @@ -1,8 +1,8 @@ | |||
| #!/usr/bin/env python3 | |||
| # -*- coding: utf-8 -*- | |||
| # LED Button, a custom Qt4 widget | |||
| # Copyright (C) 2011-2014 Filipe Coelho <falktx@falktx.com> | |||
| # LED Button, a custom Qt widget | |||
| # Copyright (C) 2011-2019 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 | |||
| @@ -16,21 +16,12 @@ | |||
| # | |||
| # 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 QRectF | |||
| from PyQt5.QtGui import QPainter, QPixmap | |||
| from PyQt5.QtWidgets import QPushButton | |||
| else: | |||
| from PyQt4.QtCore import QRectF | |||
| from PyQt4.QtGui import QPainter, QPixmap, QPushButton | |||
| from PyQt5.QtCore import QRectF | |||
| from PyQt5.QtGui import QPainter, QPixmap | |||
| from PyQt5.QtWidgets import QPushButton | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Widget Class | |||
| @@ -1,8 +1,8 @@ | |||
| #!/usr/bin/env python | |||
| # -*- coding: utf-8 -*- | |||
| # Parameter SpinBox, a custom Qt4 widget | |||
| # Copyright (C) 2011-2014 Filipe Coelho <falktx@falktx.com> | |||
| # Parameter SpinBox, a custom Qt widget | |||
| # Copyright (C) 2011-2019 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 | |||
| @@ -16,24 +16,15 @@ | |||
| # | |||
| # For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Config) | |||
| from carla_config import * | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Global) | |||
| from math import isnan, modf | |||
| from random import random | |||
| if config_UseQt5: | |||
| from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QTimer | |||
| from PyQt5.QtGui import QCursor, QPalette | |||
| from PyQt5.QtWidgets import QAbstractSpinBox, QApplication, QComboBox, QDialog, QMenu, QProgressBar | |||
| else: | |||
| from PyQt4.QtCore import pyqtSignal, pyqtSlot, Qt, QTimer | |||
| from PyQt4.QtGui import QAbstractSpinBox, QApplication, QComboBox, QCursor, QDialog, QMenu, QProgressBar, QPalette | |||
| from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QTimer | |||
| from PyQt5.QtGui import QCursor, QPalette | |||
| from PyQt5.QtWidgets import QAbstractSpinBox, QApplication, QComboBox, QDialog, QMenu, QProgressBar | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Custom) | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # A piano roll viewer/editor | |||
| # Copyright (C) 2012-2015 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2012-2019 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2014-2015 Perry Nguyen | |||
| # | |||
| # This program is free software; you can redistribute it and/or | |||
| @@ -17,26 +17,14 @@ | |||
| # | |||
| # 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 Qt, QRectF, QPointF, pyqtSignal | |||
| from PyQt5.QtGui import QColor, QFont, QPen, QPainter | |||
| from PyQt5.QtWidgets import QGraphicsItem, QGraphicsLineItem, QGraphicsOpacityEffect, QGraphicsRectItem, QGraphicsSimpleTextItem | |||
| from PyQt5.QtWidgets import QGraphicsScene, QGraphicsView | |||
| from PyQt5.QtWidgets import QWidget, QLabel, QComboBox, QHBoxLayout, QVBoxLayout, QStyle | |||
| else: | |||
| from PyQt4.QtCore import Qt, QRectF, QPointF, pyqtSignal | |||
| from PyQt4.QtGui import QColor, QFont, QPen, QPainter | |||
| from PyQt4.QtGui import QGraphicsItem, QGraphicsLineItem, QGraphicsOpacityEffect, QGraphicsRectItem, QGraphicsSimpleTextItem | |||
| from PyQt4.QtGui import QGraphicsScene, QGraphicsView | |||
| from PyQt4.QtGui import QWidget, QLabel, QComboBox, QSlider, QHBoxLayout, QVBoxLayout, QStyle | |||
| from PyQt5.QtCore import Qt, QRectF, QPointF, pyqtSignal | |||
| from PyQt5.QtGui import QColor, QFont, QPen, QPainter | |||
| from PyQt5.QtWidgets import QGraphicsItem, QGraphicsLineItem, QGraphicsOpacityEffect, QGraphicsRectItem, QGraphicsSimpleTextItem | |||
| from PyQt5.QtWidgets import QGraphicsScene, QGraphicsView | |||
| from PyQt5.QtWidgets import QWidget, QLabel, QComboBox, QHBoxLayout, QVBoxLayout, QStyle | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Custom) | |||
| @@ -1,8 +1,8 @@ | |||
| #!/usr/bin/env python3 | |||
| # -*- coding: utf-8 -*- | |||
| # Pixmap Button, a custom Qt4 widget | |||
| # Copyright (C) 2013-2014 Filipe Coelho <falktx@falktx.com> | |||
| # Pixmap Button, a custom Qt widget | |||
| # Copyright (C) 2013-2019 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 | |||
| @@ -16,21 +16,12 @@ | |||
| # | |||
| # 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 QPointF, QRectF | |||
| from PyQt5.QtGui import QColor, QFont, QPainter, QPixmap | |||
| from PyQt5.QtWidgets import QPushButton | |||
| else: | |||
| from PyQt4.QtCore import QPointF, QRectF | |||
| from PyQt4.QtGui import QColor, QFont, QPainter, QPixmap, QPushButton | |||
| from PyQt5.QtCore import QPointF, QRectF | |||
| from PyQt5.QtGui import QColor, QFont, QPainter, QPixmap | |||
| from PyQt5.QtWidgets import QPushButton | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Widget Class | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # Pixmap Dial, a custom Qt widget | |||
| # Copyright (C) 2011-2017 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2011-2019 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 | |||
| @@ -16,25 +16,15 @@ | |||
| # | |||
| # For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Config) | |||
| from carla_config import * | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Global) | |||
| from math import cos, floor, pi, sin | |||
| if config_UseQt5: | |||
| from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QEvent, 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 | |||
| else: | |||
| from PyQt4.QtCore import pyqtSignal, pyqtSlot, Qt, QEvent, QPointF, QRectF, QTimer, QSize | |||
| from PyQt4.QtGui import QColor, QConicalGradient, QFont, QFontMetrics | |||
| from PyQt4.QtGui import QDial, QLinearGradient, QPainter, QPainterPath, QPen, QPixmap | |||
| from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QEvent, 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 | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Widget Class | |||
| @@ -512,11 +502,10 @@ class PixmapDial(QDial): | |||
| if __name__ == '__main__': | |||
| import sys | |||
| from PyQt4.QtGui import QApplication | |||
| from PyQt5.QtWidgets import QApplication | |||
| import resources_rc | |||
| app = QApplication(sys.argv) | |||
| gui = PixmapDial(None) | |||
| #gui.setEnabled(True) | |||
| #gui.setEnabled(False) | |||
| @@ -1,8 +1,8 @@ | |||
| #!/usr/bin/env python3 | |||
| # -*- coding: utf-8 -*- | |||
| # Pixmap Keyboard, a custom Qt4 widget | |||
| # Copyright (C) 2011-2018 Filipe Coelho <falktx@falktx.com> | |||
| # Pixmap Keyboard, a custom Qt widget | |||
| # Copyright (C) 2011-2019 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 | |||
| @@ -16,22 +16,12 @@ | |||
| # | |||
| # 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, pyqtSlot, qCritical, Qt, QPointF, QRectF, QTimer, QSettings, QSize | |||
| from PyQt5.QtGui import QColor, QFont, QPainter, QPixmap | |||
| from PyQt5.QtWidgets import QMenu, QScrollArea, QWidget | |||
| else: | |||
| from PyQt4.QtCore import pyqtSignal, pyqtSlot, qCritical, Qt, QPointF, QRectF, QTimer, QSettings, QSize | |||
| from PyQt4.QtGui import QColor, QFont, QPainter, QPixmap | |||
| from PyQt4.QtGui import QMenu, QScrollArea, QWidget | |||
| from PyQt5.QtCore import pyqtSignal, pyqtSlot, qCritical, Qt, QPointF, QRectF, QTimer, QSettings, QSize | |||
| from PyQt5.QtGui import QColor, QFont, QPainter, QPixmap | |||
| from PyQt5.QtWidgets import QMenu, QScrollArea, QWidget | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| @@ -1,8 +1,8 @@ | |||
| #!/usr/bin/env python3 | |||
| # -*- coding: utf-8 -*- | |||
| # Rack List Widget, a custom Qt4 widget | |||
| # Copyright (C) 2011-2014 Filipe Coelho <falktx@falktx.com> | |||
| # Rack List Widget, a custom Qt widget | |||
| # Copyright (C) 2011-2019 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 | |||
| @@ -16,21 +16,12 @@ | |||
| # | |||
| # 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 Qt, QSize, QRect, QEvent | |||
| from PyQt5.QtGui import QPainter, QPixmap | |||
| from PyQt5.QtWidgets import QAbstractItemView, QFrame, QListWidget, QListWidgetItem | |||
| else: | |||
| from PyQt4.QtCore import Qt, QSize, QRect, QEvent | |||
| from PyQt4.QtGui import QAbstractItemView, QFrame, QListWidget, QListWidgetItem, QPainter, QPixmap | |||
| from PyQt5.QtCore import Qt, QSize, QRect, QEvent | |||
| from PyQt5.QtGui import QPainter, QPixmap | |||
| from PyQt5.QtWidgets import QAbstractItemView, QFrame, QListWidget, QListWidgetItem | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Custom Stuff) | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # Carla Native Plugins | |||
| # Copyright (C) 2012-2014 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2012-2019 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 | |||
| @@ -16,18 +16,10 @@ | |||
| # | |||
| # 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 Qt | |||
| else: | |||
| from PyQt4.QtCore import Qt | |||
| from PyQt5.QtCore import Qt | |||
| # ----------------------------------------------------------------------- | |||
| # Imports (Custom) | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # Carla plugin host (plugin UI) | |||
| # Copyright (C) 2013-2016 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2013-2019 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 | |||
| @@ -16,19 +16,11 @@ | |||
| # | |||
| # For a full copy of the GNU General Public License see the GPL.txt file | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Config) | |||
| from carla_config import * | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Global) | |||
| if config_UseQt5: | |||
| from PyQt5.QtGui import QKeySequence | |||
| from PyQt5.QtWidgets import QHBoxLayout | |||
| else: | |||
| from PyQt4.QtGui import QHBoxLayout, QKeySequence | |||
| from PyQt5.QtGui import QKeySequence | |||
| from PyQt5.QtWidgets import QHBoxLayout | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Custom Stuff) | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # A piano roll viewer/editor | |||
| # Copyright (C) 2012-2015 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2012-2019 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2014-2015 Perry Nguyen | |||
| # | |||
| # This program is free software; you can redistribute it and/or | |||
| @@ -17,21 +17,12 @@ | |||
| # | |||
| # 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 pyqtSlot, Qt, QEvent | |||
| from PyQt5.QtGui import QKeyEvent | |||
| from PyQt5.QtWidgets import QMainWindow | |||
| else: | |||
| from PyQt4.QtCore import pyqtSlot, Qt, QEvent | |||
| from PyQt4.QtGui import QKeyEvent, QMainWindow | |||
| from PyQt5.QtCore import pyqtSlot, Qt, QEvent | |||
| from PyQt5.QtGui import QKeyEvent | |||
| from PyQt5.QtWidgets import QMainWindow | |||
| # ------------------------------------------------------------------------------------------------------------ | |||
| # Imports (Custom) | |||
| @@ -2,7 +2,7 @@ | |||
| # -*- coding: utf-8 -*- | |||
| # Carla Native Plugins | |||
| # Copyright (C) 2012-2014 Filipe Coelho <falktx@falktx.com> | |||
| # Copyright (C) 2012-2019 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 | |||
| @@ -16,20 +16,11 @@ | |||
| # | |||
| # 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 pyqtSlot, Qt | |||
| from PyQt5.QtWidgets import QGridLayout, QLabel, QPushButton, QTextEdit, QWidget | |||
| else: | |||
| from PyQt4.QtCore import pyqtSlot, Qt | |||
| from PyQt4.QtGui import QGridLayout, QLabel, QPushButton, QTextEdit, QWidget | |||
| from PyQt5.QtCore import pyqtSlot, Qt | |||
| from PyQt5.QtWidgets import QGridLayout, QLabel, QPushButton, QTextEdit, QWidget | |||
| # ----------------------------------------------------------------------- | |||
| # Imports (Custom) | |||
| @@ -22,14 +22,6 @@ QT5_LINK_FLAGS = $(LINK_FLAGS) $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widge | |||
| QT5_STYLES_DIR = $(shell pkg-config --variable=libdir Qt5Core)/qt5/plugins/styles | |||
| endif | |||
| ifeq ($(DEFAULT_QT),4) | |||
| QT_STYLES_DIR = $(QT4_STYLES_DIR) | |||
| SHARED_LINK_FLAGS = $(QT4_LINK_FLAGS) | |||
| else | |||
| QT_STYLES_DIR = $(QT5_STYLES_DIR) | |||
| SHARED_LINK_FLAGS = $(QT5_LINK_FLAGS) | |||
| endif | |||
| # ---------------------------------------------------------------------------------------------------------------------------- | |||
| ifeq ($(HAVE_QT4),true) | |||
| @@ -50,12 +42,6 @@ FILES_qt5 = \ | |||
| $(OBJDIR)/resources.qt5.cpp | |||
| endif | |||
| ifeq ($(DEFAULT_QT),4) | |||
| FILES_shared = $(FILES_qt4) | |||
| else | |||
| FILES_shared = $(FILES_qt5) | |||
| endif | |||
| # ---------------------------------------------------------------------------------------------------------------------------- | |||
| ifeq ($(HAVE_QT4),true) | |||
| @@ -84,24 +70,12 @@ OBJS_qt5_shared = $(OBJS_qt5) \ | |||
| $(OBJDIR)/moc_CarlaStylePlugin.qt5.cpp.o | |||
| endif | |||
| ifeq ($(DEFAULT_QT),4) | |||
| OBJS_shared = $(OBJS_qt4_shared) | |||
| else | |||
| OBJS_shared = $(OBJS_qt5_shared) | |||
| endif | |||
| # ---------------------------------------------------------------------------------------------------------------------------- | |||
| all: | |||
| ifeq ($(DEFAULT_QT),4) | |||
| ifeq ($(HAVE_QT4),true) | |||
| all: $(BINDIR)/styles/carlastyle$(LIB_EXT) $(BINDIR)/styles/carlastyle.json | |||
| endif | |||
| else # DEFAULT_QT | |||
| ifeq ($(HAVE_QT5),true) | |||
| all: $(BINDIR)/styles/carlastyle$(LIB_EXT) $(BINDIR)/styles/carlastyle.json | |||
| endif | |||
| else | |||
| all: | |||
| endif | |||
| qt4: $(MODULEDIR)/$(MODULENAME).qt4.a | |||
| @@ -116,12 +90,8 @@ debug: | |||
| $(MAKE) DEBUG=true | |||
| install: $(BINDIR)/styles/carlastyle$(LIB_EXT) $(BINDIR)/styles/carlastyle.json | |||
| install -d $(QT_STYLES_DIR) | |||
| install -m 644 $^ $(QT_STYLES_DIR) | |||
| install-main: $(BINDIR)/styles/carlastyle$(LIB_EXT) $(BINDIR)/styles/carlastyle.json | |||
| install -d $(STYLES_DIR) | |||
| install -m 644 $^ $(STYLES_DIR) | |||
| install -d $(QT5_STYLES_DIR) | |||
| install -m 644 $^ $(QT5_STYLES_DIR) | |||
| # ---------------------------------------------------------------------------------------------------------------------------- | |||
| @@ -139,20 +109,20 @@ $(MODULEDIR)/$(MODULENAME).qt5.a: $(FILES_qt5) $(OBJS_qt5) | |||
| # ---------------------------------------------------------------------------------------------------------------------------- | |||
| $(BINDIR)/styles/carlastyle.dll: $(FILES_shared) $(OBJS_shared) | |||
| $(BINDIR)/styles/carlastyle.dll: $(FILES_qt5) $(OBJS_qt5_shared) | |||
| -@mkdir -p $(BINDIR)/styles | |||
| @echo "Linking carlastyle.dll" | |||
| @$(CXX) $(OBJS_shared) $(SHARED_LINK_FLAGS) -luuid -lwinspool -lgdi32 -limm32 -lole32 -lshell32 -lws2_32 -shared -o $@ | |||
| @$(CXX) $(OBJS_qt5_shared) $(QT5_LINK_FLAGS) -luuid -lwinspool -lgdi32 -limm32 -lole32 -lshell32 -lws2_32 -shared -o $@ | |||
| $(BINDIR)/styles/carlastyle.dylib: $(FILES_shared) $(OBJS_shared) | |||
| $(BINDIR)/styles/carlastyle.dylib: $(FILES_qt5) $(OBJS_qt5_shared) | |||
| -@mkdir -p $(BINDIR)/styles | |||
| @echo "Linking carlastyle.dylib" | |||
| @$(CXX) $(OBJS_shared) $(SHARED_LINK_FLAGS) -dynamiclib -o $@ | |||
| @$(CXX) $(OBJS_qt5_shared) $(QT5_LINK_FLAGS) -dynamiclib -o $@ | |||
| $(BINDIR)/styles/carlastyle.so: $(FILES_shared) $(OBJS_shared) | |||
| $(BINDIR)/styles/carlastyle.so: $(FILES_qt5) $(OBJS_qt5_shared) | |||
| -@mkdir -p $(BINDIR)/styles | |||
| @echo "Linking carlastyle.so" | |||
| @$(CXX) $(OBJS_shared) $(SHARED_LINK_FLAGS) -shared -o $@ | |||
| @$(CXX) $(OBJS_qt5_shared) $(QT5_LINK_FLAGS) -shared -o $@ | |||
| $(BINDIR)/styles/carlastyle.json: styles/carlastyle.json | |||
| -@mkdir -p $(BINDIR)/styles | |||