Carla: fix plugin execution with python 3.10.

Adds a patch that fixes unexpected type errors when executing plugins.
Patch is already upstream.
This commit is contained in:
Frank Steinborn 2022-01-09 21:49:34 +01:00 committed by Piraty
parent 58dec7775a
commit f18ea6388e
2 changed files with 162 additions and 1 deletions

View file

@ -0,0 +1,161 @@
From 91720f6ddcfd00ebf9f0a6613099f53922426726 Mon Sep 17 00:00:00 2001
From: Oliver Sahr <oli.sahr@gmail.com>
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:

View file

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