From f18ea6388ed0d42807ecd5676264b0788e19fcaa Mon Sep 17 00:00:00 2001 From: Frank Steinborn Date: Sun, 9 Jan 2022 21:49:34 +0100 Subject: [PATCH] Carla: fix plugin execution with python 3.10. Adds a patch that fixes unexpected type errors when executing plugins. Patch is already upstream. --- .../patches/unexpected_type_errors.patch | 161 ++++++++++++++++++ srcpkgs/Carla/template | 2 +- 2 files changed, 162 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/Carla/patches/unexpected_type_errors.patch diff --git a/srcpkgs/Carla/patches/unexpected_type_errors.patch b/srcpkgs/Carla/patches/unexpected_type_errors.patch new file mode 100644 index 00000000000..edef00e53e5 --- /dev/null +++ b/srcpkgs/Carla/patches/unexpected_type_errors.patch @@ -0,0 +1,161 @@ +From 91720f6ddcfd00ebf9f0a6613099f53922426726 Mon Sep 17 00:00:00 2001 +From: Oliver Sahr +Date: Tue, 14 Dec 2021 20:29:56 +0100 +Subject: [PATCH] Fixed unexpected type errors + +--- + source/frontend/widgets/digitalpeakmeter.py | 46 ++++++++++----------- + source/frontend/widgets/scalabledial.py | 8 ++-- + 2 files changed, 27 insertions(+), 27 deletions(-) + +diff --git a/source/frontend/widgets/digitalpeakmeter.py b/source/frontend/widgets/digitalpeakmeter.py +index b5e27c4f91..4343739e8f 100644 +--- a/source/frontend/widgets/digitalpeakmeter.py ++++ b/source/frontend/widgets/digitalpeakmeter.py +@@ -21,7 +21,7 @@ + + from math import sqrt + +-from PyQt5.QtCore import qCritical, Qt, QTimer, QSize ++from PyQt5.QtCore import qCritical, Qt, QTimer, QSize, QLineF, QRectF + from PyQt5.QtGui import QColor, QLinearGradient, QPainter, QPen, QPixmap + from PyQt5.QtWidgets import QWidget + +@@ -362,9 +362,9 @@ def paintEvent(self, event): + if level == 0.0: + pass + elif self.fMeterOrientation == self.HORIZONTAL: +- painter.drawRect(0, meterPos, int(sqrt(level) * float(width)), meterSize) ++ painter.drawRect(QRectF(0, meterPos, sqrt(level) * float(width), meterSize)) + elif self.fMeterOrientation == self.VERTICAL: +- painter.drawRect(meterPos, height - int(sqrt(level) * float(height)), meterSize, height) ++ painter.drawRect(QRectF(meterPos, height - sqrt(level) * float(height), meterSize, height)) + + meterPos += meterSize+meterPad + +@@ -379,32 +379,32 @@ def paintEvent(self, event): + + if self.fMeterStyle == self.STYLE_OPENAV: + painter.setPen(QColor(37, 37, 37, 100)) +- painter.drawLine(lsmall * 0.25, 2, lsmall * 0.25, lfull-2.0) +- painter.drawLine(lsmall * 0.50, 2, lsmall * 0.50, lfull-2.0) +- painter.drawLine(lsmall * 0.75, 2, lsmall * 0.75, lfull-2.0) ++ painter.drawLine(QLineF(lsmall * 0.25, 2, lsmall * 0.25, lfull-2.0)) ++ painter.drawLine(QLineF(lsmall * 0.50, 2, lsmall * 0.50, lfull-2.0)) ++ painter.drawLine(QLineF(lsmall * 0.75, 2, lsmall * 0.75, lfull-2.0)) + + if self.fChannelCount > 1: +- painter.drawLine(1, lfull/2-1, lsmall-1, lfull/2-1) ++ painter.drawLine(QLineF(1, lfull/2-1, lsmall-1, lfull/2-1)) + + else: + # Base + painter.setBrush(Qt.black) + painter.setPen(QPen(self.fMeterColorBaseAlt, 1)) +- painter.drawLine(lsmall * 0.25, 2, lsmall * 0.25, lfull-2.0) +- painter.drawLine(lsmall * 0.50, 2, lsmall * 0.50, lfull-2.0) ++ painter.drawLine(QLineF(lsmall * 0.25, 2, lsmall * 0.25, lfull-2.0)) ++ painter.drawLine(QLineF(lsmall * 0.50, 2, lsmall * 0.50, lfull-2.0)) + + # Yellow + painter.setPen(QColor(110, 110, 15, 100)) +- painter.drawLine(lsmall * 0.70, 2, lsmall * 0.70, lfull-2.0) +- painter.drawLine(lsmall * 0.83, 2, lsmall * 0.83, lfull-2.0) ++ painter.drawLine(QLineF(lsmall * 0.70, 2, lsmall * 0.70, lfull-2.0)) ++ painter.drawLine(QLineF(lsmall * 0.83, 2, lsmall * 0.83, lfull-2.0)) + + # Orange + painter.setPen(QColor(180, 110, 15, 100)) +- painter.drawLine(lsmall * 0.90, 2, lsmall * 0.90, lfull-2.0) ++ painter.drawLine(QLineF(lsmall * 0.90, 2, lsmall * 0.90, lfull-2.0)) + + # Red + painter.setPen(QColor(110, 15, 15, 100)) +- painter.drawLine(lsmall * 0.96, 2, lsmall * 0.96, lfull-2.0) ++ painter.drawLine(QLineF(lsmall * 0.96, 2, lsmall * 0.96, lfull-2.0)) + + elif self.fMeterOrientation == self.VERTICAL: + # Variables +@@ -413,32 +413,32 @@ def paintEvent(self, event): + + if self.fMeterStyle == self.STYLE_OPENAV: + painter.setPen(QColor(37, 37, 37, 100)) +- painter.drawLine(2, lsmall - (lsmall * 0.25), lfull-2.0, lsmall - (lsmall * 0.25)) +- painter.drawLine(2, lsmall - (lsmall * 0.50), lfull-2.0, lsmall - (lsmall * 0.50)) +- painter.drawLine(2, lsmall - (lsmall * 0.75), lfull-2.0, lsmall - (lsmall * 0.75)) ++ painter.drawLine(QLineF(2, lsmall - (lsmall * 0.25), lfull-2.0, lsmall - (lsmall * 0.25))) ++ painter.drawLine(QLineF(2, lsmall - (lsmall * 0.50), lfull-2.0, lsmall - (lsmall * 0.50))) ++ painter.drawLine(QLineF(2, lsmall - (lsmall * 0.75), lfull-2.0, lsmall - (lsmall * 0.75))) + + if self.fChannelCount > 1: +- painter.drawLine(lfull/2-1, 1, lfull/2-1, lsmall-1) ++ painter.drawLine(QLineF(lfull/2-1, 1, lfull/2-1, lsmall-1)) + + else: + # Base + painter.setBrush(Qt.black) + painter.setPen(QPen(self.fMeterColorBaseAlt, 1)) +- painter.drawLine(2, lsmall - (lsmall * 0.25), lfull-2.0, lsmall - (lsmall * 0.25)) +- painter.drawLine(2, lsmall - (lsmall * 0.50), lfull-2.0, lsmall - (lsmall * 0.50)) ++ painter.drawLine(QLineF(2, lsmall - (lsmall * 0.25), lfull-2.0, lsmall - (lsmall * 0.25))) ++ painter.drawLine(QLineF(2, lsmall - (lsmall * 0.50), lfull-2.0, lsmall - (lsmall * 0.50))) + + # Yellow + painter.setPen(QColor(110, 110, 15, 100)) +- painter.drawLine(2, lsmall - (lsmall * 0.70), lfull-2.0, lsmall - (lsmall * 0.70)) +- painter.drawLine(2, lsmall - (lsmall * 0.82), lfull-2.0, lsmall - (lsmall * 0.82)) ++ painter.drawLine(QLineF(2, lsmall - (lsmall * 0.70), lfull-2.0, lsmall - (lsmall * 0.70))) ++ painter.drawLine(QLineF(2, lsmall - (lsmall * 0.82), lfull-2.0, lsmall - (lsmall * 0.82))) + + # Orange + painter.setPen(QColor(180, 110, 15, 100)) +- painter.drawLine(2, lsmall - (lsmall * 0.90), lfull-2.0, lsmall - (lsmall * 0.90)) ++ painter.drawLine(QLineF(2, lsmall - (lsmall * 0.90), lfull-2.0, lsmall - (lsmall * 0.90))) + + # Red + painter.setPen(QColor(110, 15, 15, 100)) +- painter.drawLine(2, lsmall - (lsmall * 0.96), lfull-2.0, lsmall - (lsmall * 0.96)) ++ painter.drawLine(QLineF(2, lsmall - (lsmall * 0.96), lfull-2.0, lsmall - (lsmall * 0.96))) + + # -------------------------------------------------------------------------------------------------------- + +diff --git a/source/frontend/widgets/scalabledial.py b/source/frontend/widgets/scalabledial.py +index 65a2f3c7fc..e06f5031cf 100644 +--- a/source/frontend/widgets/scalabledial.py ++++ b/source/frontend/widgets/scalabledial.py +@@ -250,7 +250,7 @@ def setImage(self, imageId): + def setPrecision(self, value, isInteger): + self.fPrecision = value + self.fIsInteger = isInteger +- QDial.setMaximum(self, value) ++ QDial.setMaximum(self, int(value)) + + def setMinimum(self, value): + self.fMinimum = value +@@ -437,7 +437,7 @@ def paintEvent(self, event): + painter.setBrush(colorBlue) + painter.setPen(QPen(colorBlue, 3)) + +- painter.drawArc(4.0, 4.0, 26.0, 26.0, startAngle, spanAngle) ++ painter.drawArc(QRectF(4.0, 4.0, 26.0, 26.0), int(startAngle), int(spanAngle)) + + # Custom knobs (L and R) + elif self.fCustomPaintMode in (self.CUSTOM_PAINT_MODE_CARLA_L, self.CUSTOM_PAINT_MODE_CARLA_R): +@@ -466,7 +466,7 @@ def paintEvent(self, event): + spanAngle = 255.0*16*(1.0-normValue) + + painter.setPen(QPen(color, 2.5)) +- painter.drawArc(3.5, 3.5, 22.0, 22.0, startAngle, spanAngle) ++ painter.drawArc(QRectF(3.5, 3.5, 22.0, 22.0), int(startAngle), int(spanAngle)) + + # Custom knobs (Color) + elif self.fCustomPaintMode == self.CUSTOM_PAINT_MODE_COLOR: +@@ -491,7 +491,7 @@ def paintEvent(self, event): + + painter.setBrush(color) + painter.setPen(QPen(color, 3)) +- painter.drawArc(4.0, 4.8, 26.0, 26.0, startAngle, spanAngle) ++ painter.drawArc(QRectF(4.0, 4.8, 26.0, 26.0), int(startAngle), int(spanAngle)) + + # Custom knobs (Zita) + elif self.fCustomPaintMode == self.CUSTOM_PAINT_MODE_ZITA: diff --git a/srcpkgs/Carla/template b/srcpkgs/Carla/template index 1562e0fb20e..e7874be7549 100644 --- a/srcpkgs/Carla/template +++ b/srcpkgs/Carla/template @@ -1,7 +1,7 @@ # Template file for 'Carla' pkgname=Carla version=2.4.1 -revision=1 +revision=2 archs="x86_64* i686* aarch64* arm*" build_style=gnu-makefile pycompile_dirs="usr/share/carla"