From d0d68f443fd1ef2bbe622a7fd84e76f34aed04c4 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 30 Aug 2014 23:43:44 +0100 Subject: [PATCH] Rework calf skin, use black bg on mono plugins --- resources/bitmaps/background_calf_black.png | Bin 0 -> 64567 bytes ...ound_calf.png => background_calf_blue.png} | Bin resources/bitmaps/logo_calf.png | Bin 1313 -> 1523 bytes resources/resources.qrc | 11 +- resources/ui/carla_plugin_calf.ui | 285 ++++++++++-------- source/carla_skin.py | 182 +++++++---- source/widgets/pixmapdial.py | 2 +- 7 files changed, 291 insertions(+), 189 deletions(-) create mode 100644 resources/bitmaps/background_calf_black.png rename resources/bitmaps/{background_calf.png => background_calf_blue.png} (100%) diff --git a/resources/bitmaps/background_calf_black.png b/resources/bitmaps/background_calf_black.png new file mode 100644 index 0000000000000000000000000000000000000000..ae2e42414b74c0b54cb5cf89dbc8dfd4ae49967e GIT binary patch literal 64567 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 y`#=rgKil~&2GXOS_rrrUtc+w) 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ȥ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 LNkvXXu0mjfZc18g diff --git a/resources/resources.qrc b/resources/resources.qrc index 2d19c9496..02d531573 100644 --- a/resources/resources.qrc +++ b/resources/resources.qrc @@ -49,7 +49,8 @@ bitmaps/carla_about.png bitmaps/background_3bandeq.png - bitmaps/background_calf.png + bitmaps/background_calf_black.png + bitmaps/background_calf_blue.png bitmaps/background_nekobi.png bitmaps/background_nekobi_left.png bitmaps/background_nekobi_right.png @@ -89,6 +90,14 @@ bitmaps/dial_05d.png bitmaps/dial_06.png bitmaps/dial_06d.png + bitmaps/dial_07.png + bitmaps/dial_07d.png + bitmaps/dial_08.png + bitmaps/dial_08d.png + bitmaps/dial_09.png + bitmaps/dial_09d.png + bitmaps/dial_10.png + bitmaps/dial_10d.png bitmaps/kbd_h_dark.png bitmaps/kbd_v_dark.png diff --git a/resources/ui/carla_plugin_calf.ui b/resources/ui/carla_plugin_calf.ui index ecc633d67..d9b51d540 100644 --- a/resources/ui/carla_plugin_calf.ui +++ b/resources/ui/carla_plugin_calf.ui @@ -6,8 +6,8 @@ 0 0 - 637 - 64 + 643 + 68 @@ -27,81 +27,23 @@ 8 - 0 + 3 8 - 8 + 3 - - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 71 - 30 - - - - - 71 - 30 - - - - - - - :/bitmaps/logo_calf.png - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - + 0 - + - audio out + AUDIO IN Qt::AlignBottom|Qt::AlignHCenter @@ -109,7 +51,7 @@ - + 150 @@ -120,33 +62,73 @@ - - - - 0 - + + - + + + + 75 + true + + - audio in + TextLabel - Qt::AlignBottom|Qt::AlignHCenter + Qt::AlignCenter - - - - 150 - 0 - + + + 3 - + + + + GUI + + + true + + + + + + + Edit + + + true + + + + + + + Remove + + + + + + + + Qt::Horizontal + + + + 1 + 20 + + + + @@ -197,7 +179,7 @@ - 20 + 1 40 @@ -205,59 +187,48 @@ - - + + + + 0 + - - - - 75 - true - - + - TextLabel + AUDIO OUT - Qt::AlignCenter + Qt::AlignBottom|Qt::AlignHCenter - - - - - GUI - - - true - - - - - - - Edit - - - true - - - - - - - Remove - - - - + + + + 150 + 0 + + + - - + + + + Qt::Horizontal + + + + 1 + 20 + + + + + + Qt::Horizontal @@ -269,6 +240,72 @@ + + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + + 71 + 30 + + + + + 71 + 30 + + + + + + + :/bitmaps/logo_calf.png + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + diff --git a/source/carla_skin.py b/source/carla_skin.py index 00fadfc81..713ee26b5 100644 --- a/source/carla_skin.py +++ b/source/carla_skin.py @@ -988,71 +988,25 @@ class PluginSlot_BasicFX(AbstractPluginSlot): # ------------------------------------------------------------------------------------------------------------ -class PluginSlot_Nekobi(AbstractPluginSlot): - def __init__(self, parent, pluginId): - AbstractPluginSlot.__init__(self, parent, pluginId) - #self.ui = ui_carla_plugin_basic_fx.Ui_PluginWidget() - #self.ui.setupUi(self) - - # ------------------------------------------------------------- - # Set-up GUI - - self.fPixmapCenter = QPixmap(":/bitmaps/background_nekobi.png") - - self.fPixmapLeft = QPixmap(":/bitmaps/background_nekobi_left.png") - self.fPixmapLeftRect = QRectF(0, 0, self.fPixmapLeft.width(), self.fPixmapLeft.height()) - - self.fPixmapRight = QPixmap(":/bitmaps/background_nekobi_right.png") - self.fPixmapRightRect = QRectF(0, 0, self.fPixmapRight.width(), self.fPixmapRight.height()) - - #self.setStyleSheet(""" - #PluginSlot_Nekobi#PluginWidget { - #background-image: url(:/bitmaps/background_nekobi.png); - #background-repeat: repeat-xy; - #} - #QLabel#label_name { - #color: #BBB; - #} - #""") - - #------------------------------------------------------------------ - - def getFixedHeight(self): - return 108 - - #------------------------------------------------------------------ - - def paintEvent(self, event): - painter = QPainter(self) - - # main bg (center) - painter.drawTiledPixmap(0, 0, self.width(), self.height(), self.fPixmapCenter) - - # left side - painter.drawPixmap(self.fPixmapLeftRect, self.fPixmapLeft, self.fPixmapLeftRect) - - # right side - rightTarget = QRectF(self.fPixmapRightRect) - rightTarget.moveLeft(self.width()-rightTarget.width()) - painter.drawPixmap(rightTarget, self.fPixmapRight, self.fPixmapRightRect) - - AbstractPluginSlot.paintEvent(self, event) - -# ------------------------------------------------------------------------------------------------------------ - class PluginSlot_Calf(AbstractPluginSlot): def __init__(self, parent, pluginId): AbstractPluginSlot.__init__(self, parent, pluginId) self.ui = ui_carla_plugin_calf.Ui_PluginWidget() self.ui.setupUi(self) + audioCount = gCarla.host.get_audio_port_count_info(self.fPluginId) if gCarla.host is not None else {'ins': 2, 'outs': 2 } + midiCount = gCarla.host.get_midi_port_count_info(self.fPluginId) if gCarla.host is not None else {'ins': 1, 'outs': 0 } + # ------------------------------------------------------------- # Internal stuff - self.fButtonFont = QFont() - #self.fButtonFont.setBold(False) + self.fButtonFont = self.ui.b_gui.font() + self.fButtonFont.setBold(False) self.fButtonFont.setPointSize(8) + # Use black for mono plugins + self.fBackgroundBlack = audioCount['ins'] == 1 + self.fButtonColorOn = QColor( 18, 41, 87) self.fButtonColorOff = QColor(150, 150, 150) @@ -1060,15 +1014,15 @@ class PluginSlot_Calf(AbstractPluginSlot): # Set-up GUI self.setStyleSheet(""" - QLabel#label_audio_in, QLabel#label_audio_out, QLabel#label_midi { - color: black; + QLabel#label_name, QLabel#label_audio_in, QLabel#label_audio_out, QLabel#label_midi { + color: #BBB; } PluginSlot_Calf#PluginWidget { - background-image: url(:/bitmaps/background_calf.png); + background-image: url(:/bitmaps/background_calf_%s.png); background-repeat: repeat-xy; border: 2px; } - """) + """ % ("black" if self.fBackgroundBlack else "blue")) self.ui.b_gui.setPixmaps(":/bitmaps/button_calf2.png", ":/bitmaps/button_calf2_down.png", ":/bitmaps/button_calf2_hover.png") self.ui.b_edit.setPixmaps(":/bitmaps/button_calf2.png", ":/bitmaps/button_calf2_down.png", ":/bitmaps/button_calf2_hover.png") @@ -1084,12 +1038,9 @@ class PluginSlot_Calf(AbstractPluginSlot): labelFont = self.ui.label_name.font() labelFont.setBold(True) - labelFont.setPointSize(labelFont.pointSize()+3) + labelFont.setPointSize(10) self.ui.label_name.setFont(labelFont) - audioCount = gCarla.host.get_audio_port_count_info(self.fPluginId) if gCarla.host is not None else {'ins': 2, 'outs': 2 } - midiCount = gCarla.host.get_midi_port_count_info(self.fPluginId) if gCarla.host is not None else {'ins': 1, 'outs': 0 } - if audioCount['ins'] == 0: self.ui.label_audio_in.hide() self.ui.peak_in.hide() @@ -1105,6 +1056,45 @@ class PluginSlot_Calf(AbstractPluginSlot): self.ui.label_midi.hide() self.ui.led_midi.hide() + # ------------------------------------------------------------- + # Set-up parameters + + parameterCount = gCarla.host.get_parameter_count(self.fPluginId) if gCarla.host is not None else 0 + + index = 0 + limit = 7 if midiCount['ins'] == 0 else 6 + for i in range(parameterCount): + if index >= limit: + break + + paramInfo = gCarla.host.get_parameter_info(self.fPluginId, i) + paramData = gCarla.host.get_parameter_data(self.fPluginId, i) + paramRanges = gCarla.host.get_parameter_ranges(self.fPluginId, i) + + if paramData['type'] != PARAMETER_INPUT: + continue + if paramData['hints'] & PARAMETER_IS_BOOLEAN: + continue + if (paramData['hints'] & PARAMETER_IS_ENABLED) == 0: + continue + + paramName = getParameterShortName(paramInfo['name']) + + widget = PixmapDial(self, i) + widget.setPixmap(7) + widget.setLabel(paramName) + widget.setCustomPaintMode(PixmapDial.CUSTOM_PAINT_MODE_NO_GRADIENT) + widget.setMinimum(paramRanges['min']) + widget.setMaximum(paramRanges['max']) + + if (paramData['hints'] & PARAMETER_IS_ENABLED) == 0: + widget.setEnabled(False) + + self.ui.w_knobs.layout().insertWidget(index, widget) + index += 1 + + self.fParameterList.append([i, widget]) + # ------------------------------------------------------------- self.b_gui = self.ui.b_gui @@ -1126,7 +1116,7 @@ class PluginSlot_Calf(AbstractPluginSlot): #------------------------------------------------------------------ def getFixedHeight(self): - return 70 + return 88 #------------------------------------------------------------------ @@ -1138,6 +1128,72 @@ class PluginSlot_Calf(AbstractPluginSlot): AbstractPluginSlot.pluginHintsChanged(self, hints) + #------------------------------------------------------------------ + + def paintEvent(self, event): + painter = QPainter(self) + painter.setBrush(Qt.transparent) + + painter.setPen(QPen(QColor(20, 20, 20) if self.fBackgroundBlack else QColor(75, 86, 99), 1)) + painter.drawRect(0, 1, self.width()-1, 88-3) + + painter.setPen(QPen(QColor(45, 45, 45) if self.fBackgroundBlack else QColor(86, 99, 114), 1)) + painter.drawLine(0, 0, self.width(), 0) + + AbstractPluginSlot.paintEvent(self, event) + +# ------------------------------------------------------------------------------------------------------------ + +class PluginSlot_Nekobi(AbstractPluginSlot): + def __init__(self, parent, pluginId): + AbstractPluginSlot.__init__(self, parent, pluginId) + #self.ui = ui_carla_plugin_basic_fx.Ui_PluginWidget() + #self.ui.setupUi(self) + + # ------------------------------------------------------------- + # Set-up GUI + + self.fPixmapCenter = QPixmap(":/bitmaps/background_nekobi.png") + + self.fPixmapLeft = QPixmap(":/bitmaps/background_nekobi_left.png") + self.fPixmapLeftRect = QRectF(0, 0, self.fPixmapLeft.width(), self.fPixmapLeft.height()) + + self.fPixmapRight = QPixmap(":/bitmaps/background_nekobi_right.png") + self.fPixmapRightRect = QRectF(0, 0, self.fPixmapRight.width(), self.fPixmapRight.height()) + + #self.setStyleSheet(""" + #PluginSlot_Nekobi#PluginWidget { + #background-image: url(:/bitmaps/background_nekobi.png); + #background-repeat: repeat-xy; + #} + #QLabel#label_name { + #color: #BBB; + #} + #""") + + #------------------------------------------------------------------ + + def getFixedHeight(self): + return 108 + + #------------------------------------------------------------------ + + def paintEvent(self, event): + painter = QPainter(self) + + # main bg (center) + painter.drawTiledPixmap(0, 0, self.width(), self.height(), self.fPixmapCenter) + + # left side + painter.drawPixmap(self.fPixmapLeftRect, self.fPixmapLeft, self.fPixmapLeftRect) + + # right side + rightTarget = QRectF(self.fPixmapRightRect) + rightTarget.moveLeft(self.width()-rightTarget.width()) + painter.drawPixmap(rightTarget, self.fPixmapRight, self.fPixmapRightRect) + + AbstractPluginSlot.paintEvent(self, event) + # ------------------------------------------------------------------------------------------------------------ class PluginSlot_ZitaRev(AbstractPluginSlot): diff --git a/source/widgets/pixmapdial.py b/source/widgets/pixmapdial.py index 2def7e493..5ad5fb13c 100644 --- a/source/widgets/pixmapdial.py +++ b/source/widgets/pixmapdial.py @@ -159,7 +159,7 @@ class PixmapDial(QDial): self.fLabelPos.setX(float(self.fPixmapBaseSize)/2.0 - float(self.fLabelWidth)/2.0) - if self.fPixmapNum in ("01", "02"): + if self.fPixmapNum in ("01", "02", "07", "08", "09", "10"): self.fLabelPos.setY(self.fPixmapBaseSize + self.fLabelHeight) else: self.fLabelPos.setY(self.fPixmapBaseSize + self.fLabelHeight/2)