Browse Source

Drop support for PyQt4 in frontend

Signed-off-by: falkTX <falktx@gmail.com>
tags/v2.1-alpha1-winvst
falkTX 5 years ago
parent
commit
7f81fe0a0c
Signed by: falkTX <falktx@gmail.com> GPG Key ID: 2D3445A829213837
27 changed files with 144 additions and 473 deletions
  1. +4
    -2
      INSTALL.md
  2. +7
    -10
      Makefile
  3. +0
    -35
      source/Makefile.mk
  4. +1
    -13
      source/frontend/Makefile
  5. +7
    -22
      source/frontend/carla_app.py
  6. +2
    -10
      source/frontend/carla_backend_qt.py
  7. +5
    -14
      source/frontend/carla_database.py
  8. +19
    -65
      source/frontend/carla_host.py
  9. +5
    -15
      source/frontend/carla_settings.py
  10. +6
    -13
      source/frontend/carla_shared.py
  11. +4
    -14
      source/frontend/carla_skin.py
  12. +10
    -21
      source/frontend/carla_widgets.py
  13. +5
    -15
      source/frontend/widgets/canvaspreviewframe.py
  14. +6
    -19
      source/frontend/widgets/digitalpeakmeter.py
  15. +4
    -13
      source/frontend/widgets/draggablegraphicsview.py
  16. +5
    -14
      source/frontend/widgets/ledbutton.py
  17. +5
    -14
      source/frontend/widgets/paramspinbox.py
  18. +6
    -18
      source/frontend/widgets/pianoroll.py
  19. +5
    -14
      source/frontend/widgets/pixmapbutton.py
  20. +6
    -17
      source/frontend/widgets/pixmapdial.py
  21. +5
    -15
      source/frontend/widgets/pixmapkeyboard.py
  22. +5
    -14
      source/frontend/widgets/racklistwidget.py
  23. +2
    -10
      source/native-plugins/resources/bigmeter-ui
  24. +3
    -11
      source/native-plugins/resources/carla-plugin
  25. +4
    -13
      source/native-plugins/resources/midipattern-ui
  26. +3
    -12
      source/native-plugins/resources/notes-ui
  27. +10
    -40
      source/theme/Makefile

+ 4
- 2
INSTALL.md View File

@@ -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:



+ 7
- 10
Makefile View File

@@ -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


+ 0
- 35
source/Makefile.mk View File

@@ -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


+ 1
- 13
source/frontend/Makefile View File

@@ -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 $@



+ 7
- 22
source/frontend/carla_app.py View File

@@ -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
- 10
source/frontend/carla_backend_qt.py View File

@@ -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)


+ 5
- 14
source/frontend/carla_database.py View File

@@ -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:


+ 19
- 65
source/frontend/carla_host.py View File

@@ -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


+ 5
- 15
source/frontend/carla_settings.py View File

@@ -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)



+ 6
- 13
source/frontend/carla_shared.py View File

@@ -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


+ 4
- 14
source/frontend/carla_skin.py View File

@@ -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)


+ 10
- 21
source/frontend/carla_widgets.py View File

@@ -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



+ 5
- 15
source/frontend/widgets/canvaspreviewframe.py View File

@@ -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


+ 6
- 19
source/frontend/widgets/digitalpeakmeter.py View File

@@ -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)



+ 4
- 13
source/frontend/widgets/draggablegraphicsview.py View File

@@ -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


+ 5
- 14
source/frontend/widgets/ledbutton.py View File

@@ -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


+ 5
- 14
source/frontend/widgets/paramspinbox.py View File

@@ -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)


+ 6
- 18
source/frontend/widgets/pianoroll.py View File

@@ -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)


+ 5
- 14
source/frontend/widgets/pixmapbutton.py View File

@@ -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


+ 6
- 17
source/frontend/widgets/pixmapdial.py View File

@@ -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)


+ 5
- 15
source/frontend/widgets/pixmapkeyboard.py View File

@@ -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

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



+ 5
- 14
source/frontend/widgets/racklistwidget.py View File

@@ -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
- 10
source/native-plugins/resources/bigmeter-ui View File

@@ -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)


+ 3
- 11
source/native-plugins/resources/carla-plugin View File

@@ -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)


+ 4
- 13
source/native-plugins/resources/midipattern-ui View File

@@ -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)


+ 3
- 12
source/native-plugins/resources/notes-ui View File

@@ -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)


+ 10
- 40
source/theme/Makefile View File

@@ -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


Loading…
Cancel
Save