diff --git a/resources/ui/carla_database.ui b/resources/ui/carla_database.ui
index c172d4bd4..89d337dac 100644
--- a/resources/ui/carla_database.ui
+++ b/resources/ui/carla_database.ui
@@ -61,94 +61,94 @@
QFrame::Sunken
- -
-
+
-
+
- Other/Misc
+ Effects
- -
-
+
-
+
- LV2
+ Bridged (Wine)
- -
-
+
-
+
- Instruments
+ Internal
- -
-
+
-
+
- Bridged
+ AudioUnits
- -
-
+
-
+
- Real-time safe only
+ LADSPA
- -
-
+
-
+
- DSSI
+ Stereo only
- -
-
+
-
+
- Native
+ Other/Misc
- -
-
+
-
+
- Effects
+ LV2
- -
-
+
-
+
- Bridged (Wine)
+ Instruments
- -
-
+
-
+
- Internal
+ Bridged
- -
-
+
-
+
- AudioUnits
+ Real-time safe only
- -
-
+
-
+
- LADSPA
+ DSSI
- -
-
+
-
+
- Stereo only
+ Native
@@ -166,20 +166,13 @@
- -
+
-
Sound Kits
- -
-
-
- CSound modules
-
-
-
-
diff --git a/resources/ui/carla_refresh.ui b/resources/ui/carla_refresh.ui
index 50b67d974..c09ea324a 100644
--- a/resources/ui/carla_refresh.ui
+++ b/resources/ui/carla_refresh.ui
@@ -98,13 +98,6 @@
- -
-
-
- CSD
-
-
-
-
diff --git a/resources/ui/carla_settings.ui b/resources/ui/carla_settings.ui
index de7f9947c..5bd2a6a5b 100644
--- a/resources/ui/carla_settings.ui
+++ b/resources/ui/carla_settings.ui
@@ -1111,11 +1111,6 @@ This mode is not available for VST plugins.
AU
- -
-
- CSound
-
-
-
GIG
diff --git a/source/carla_widgets.py b/source/carla_widgets.py
index e876fb838..dbc2a536b 100755
--- a/source/carla_widgets.py
+++ b/source/carla_widgets.py
@@ -810,7 +810,7 @@ class PluginEdit(QDialog):
'index': 0,
'default': 0.0,
'minimum': 0.0,
- 'maximum': 0.0,
+ 'maximum': 1.0,
'step': 0.0,
'stepSmall': 0.0,
'stepLarge': 0.0,
diff --git a/source/widgets/paramspinbox.py b/source/widgets/paramspinbox.py
index e30a8cb05..a92f01a7e 100644
--- a/source/widgets/paramspinbox.py
+++ b/source/widgets/paramspinbox.py
@@ -43,15 +43,15 @@ import ui_inputdialog_value
# ------------------------------------------------------------------------------------------------------------
# Get a fixed value within min/max bounds
-def geFixedValue(value, minimum, maximum):
+def geFixedValue(name, value, minimum, maximum):
if isnan(value):
- print("Parameter is NaN! - %f" % value)
+ print("Parameter '%s' is NaN! - %f" % (name, value))
return minimum
if value < minimum:
- print("Parameter too low! - %f/%f" % (value, minimum))
+ print("Parameter '%s' too low! - %f/%f" % (name, value, minimum))
return minimum
if value > maximum:
- print("Parameter too high! - %f/%f" % (value, maximum))
+ print("Parameter '%s' too high! - %f/%f" % (name, value, maximum))
return maximum
return value
@@ -114,6 +114,7 @@ class ParamProgressBar(QProgressBar):
self.fRealValue = 0.0
self.fLabel = ""
+ self.fName = ""
self.fPreLabel = " "
self.fTextCall = None
@@ -132,7 +133,14 @@ class ParamProgressBar(QProgressBar):
def setValue(self, value):
self.fRealValue = value
- vper = float(value - self.fMinimum) / float(self.fMaximum - self.fMinimum)
+ div = float(self.fMaximum - self.fMinimum)
+
+ if div == 0.0:
+ print("Parameter '%s' division by 0 prevented (value:%f, min:%f, max:%f)" % (self.fName, value, self.fMaximum, self.fMinimum))
+ vper = 1.0
+ else:
+ vper = float(value - self.fMinimum) / div
+
QProgressBar.setValue(self, int(vper * 10000))
def setLabel(self, label):
@@ -144,6 +152,9 @@ class ParamProgressBar(QProgressBar):
self.update()
+ def setName(self, name):
+ self.fName = name
+
def setTextCall(self, textCall):
self.fTextCall = textCall
@@ -224,7 +235,7 @@ class ParamSpinBox(QAbstractSpinBox):
QTimer.singleShot(0, self.slot_updateProgressBarGeometry)
def setDefault(self, value):
- value = geFixedValue(value, self.fMinimum, self.fMaximum)
+ value = geFixedValue(self.fName, value, self.fMinimum, self.fMaximum)
self.fDefault = value
def setMinimum(self, value):
@@ -236,7 +247,7 @@ class ParamSpinBox(QAbstractSpinBox):
self.fBar.setMaximum(value)
def setValue(self, value, send=True):
- value = geFixedValue(value, self.fMinimum, self.fMaximum)
+ value = geFixedValue(self.fName, value, self.fMinimum, self.fMaximum)
if self.fValue == value:
return False
@@ -290,6 +301,7 @@ class ParamSpinBox(QAbstractSpinBox):
def setName(self, name):
self.fName = name
+ self.fBar.setName(name)
def setTextCallback(self, textCall):
self.fBar.setTextCall(textCall)