| @@ -280,12 +280,11 @@ RES = \ | |||||
| bin/resources/ui_carla_host.py \ | bin/resources/ui_carla_host.py \ | ||||
| bin/resources/ui_carla_panel_time.py \ | bin/resources/ui_carla_panel_time.py \ | ||||
| bin/resources/ui_carla_parameter.py \ | bin/resources/ui_carla_parameter.py \ | ||||
| bin/resources/ui_carla_plugin_basic_fx.py \ | |||||
| bin/resources/ui_carla_plugin_calf.py \ | bin/resources/ui_carla_plugin_calf.py \ | ||||
| bin/resources/ui_carla_plugin_classic.py \ | |||||
| bin/resources/ui_carla_plugin_compact.py \ | bin/resources/ui_carla_plugin_compact.py \ | ||||
| bin/resources/ui_carla_plugin_default.py \ | bin/resources/ui_carla_plugin_default.py \ | ||||
| bin/resources/ui_carla_plugin_sf2.py \ | |||||
| bin/resources/ui_carla_plugin_zynfx.py \ | |||||
| bin/resources/ui_carla_plugin_presets.py \ | |||||
| bin/resources/ui_carla_refresh.py \ | bin/resources/ui_carla_refresh.py \ | ||||
| bin/resources/ui_carla_settings.py \ | bin/resources/ui_carla_settings.py \ | ||||
| bin/resources/ui_carla_settings_driver.py \ | bin/resources/ui_carla_settings_driver.py \ | ||||
| @@ -326,12 +325,11 @@ UIs = \ | |||||
| source/ui_carla_host.py \ | source/ui_carla_host.py \ | ||||
| source/ui_carla_panel_time.py \ | source/ui_carla_panel_time.py \ | ||||
| source/ui_carla_parameter.py \ | source/ui_carla_parameter.py \ | ||||
| source/ui_carla_plugin_basic_fx.py \ | |||||
| source/ui_carla_plugin_calf.py \ | source/ui_carla_plugin_calf.py \ | ||||
| source/ui_carla_plugin_classic.py \ | |||||
| source/ui_carla_plugin_compact.py \ | source/ui_carla_plugin_compact.py \ | ||||
| source/ui_carla_plugin_default.py \ | source/ui_carla_plugin_default.py \ | ||||
| source/ui_carla_plugin_sf2.py \ | |||||
| source/ui_carla_plugin_zynfx.py \ | |||||
| source/ui_carla_plugin_presets.py \ | |||||
| source/ui_carla_refresh.py \ | source/ui_carla_refresh.py \ | ||||
| source/ui_carla_settings.py \ | source/ui_carla_settings.py \ | ||||
| source/ui_carla_settings_driver.py \ | source/ui_carla_settings_driver.py \ | ||||
| @@ -573,12 +571,11 @@ endif | |||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_host.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | $(LINK) $(PREFIX)/share/carla/ui_carla_host.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | ||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_panel_time.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | $(LINK) $(PREFIX)/share/carla/ui_carla_panel_time.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | ||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_parameter.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | $(LINK) $(PREFIX)/share/carla/ui_carla_parameter.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | ||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_basic_fx.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | |||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_calf.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_calf.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | ||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_classic.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | |||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_compact.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_compact.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | ||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_default.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_default.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | ||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_sf2.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | |||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_zynfx.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | |||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_plugin_presets.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | |||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_refresh.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | $(LINK) $(PREFIX)/share/carla/ui_carla_refresh.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | ||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_settings.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | $(LINK) $(PREFIX)/share/carla/ui_carla_settings.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | ||||
| $(LINK) $(PREFIX)/share/carla/ui_carla_settings_driver.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | $(LINK) $(PREFIX)/share/carla/ui_carla_settings_driver.py $(DESTDIR)$(PREFIX)/share/carla/resources/ | ||||
| @@ -1,476 +0,0 @@ | |||||
| <?xml version="1.0" encoding="UTF-8"?> | |||||
| <ui version="4.0"> | |||||
| <class>PluginWidget</class> | |||||
| <widget class="QFrame" name="PluginWidget"> | |||||
| <property name="geometry"> | |||||
| <rect> | |||||
| <x>0</x> | |||||
| <y>0</y> | |||||
| <width>552</width> | |||||
| <height>60</height> | |||||
| </rect> | |||||
| </property> | |||||
| <property name="contextMenuPolicy"> | |||||
| <enum>Qt::CustomContextMenu</enum> | |||||
| </property> | |||||
| <property name="windowTitle"> | |||||
| <string>Frame</string> | |||||
| </property> | |||||
| <property name="lineWidth"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <layout class="QVBoxLayout" name="verticalLayout"> | |||||
| <property name="spacing"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <property name="leftMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="topMargin"> | |||||
| <number>3</number> | |||||
| </property> | |||||
| <property name="rightMargin"> | |||||
| <number>6</number> | |||||
| </property> | |||||
| <property name="bottomMargin"> | |||||
| <number>3</number> | |||||
| </property> | |||||
| <item> | |||||
| <layout class="QHBoxLayout" name="layout_top"> | |||||
| <property name="spacing"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="QWidget" name="w_buttons" native="true"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>72</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>72</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <layout class="QHBoxLayout" name="horizontalLayout"> | |||||
| <property name="spacing"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <property name="margin"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="PixmapButton" name="b_enable"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="icon"> | |||||
| <iconset resource="../resources.qrc"> | |||||
| <normaloff>:/bitmaps/button_off.png</normaloff>:/bitmaps/button_off.png</iconset> | |||||
| </property> | |||||
| <property name="iconSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| <property name="flat"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="PixmapButton" name="b_gui"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="icon"> | |||||
| <iconset resource="../resources.qrc"> | |||||
| <normaloff>:/bitmaps/button_gui.png</normaloff>:/bitmaps/button_gui.png</iconset> | |||||
| </property> | |||||
| <property name="iconSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| <property name="flat"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="PixmapButton" name="b_edit"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="icon"> | |||||
| <iconset resource="../resources.qrc"> | |||||
| <normaloff>:/bitmaps/button_edit.png</normaloff>:/bitmaps/button_edit.png</iconset> | |||||
| </property> | |||||
| <property name="iconSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| <property name="flat"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| </layout> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <spacer name="spacer_namesep1"> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Horizontal</enum> | |||||
| </property> | |||||
| <property name="sizeType"> | |||||
| <enum>QSizePolicy::Fixed</enum> | |||||
| </property> | |||||
| <property name="sizeHint" stdset="0"> | |||||
| <size> | |||||
| <width>6</width> | |||||
| <height>1</height> | |||||
| </size> | |||||
| </property> | |||||
| </spacer> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="Line" name="line_sep"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>0</width> | |||||
| <height>20</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>16777215</width> | |||||
| <height>20</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="lineWidth"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <property name="midLineWidth"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Vertical</enum> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <spacer name="spacer_namesep2"> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Horizontal</enum> | |||||
| </property> | |||||
| <property name="sizeType"> | |||||
| <enum>QSizePolicy::Fixed</enum> | |||||
| </property> | |||||
| <property name="sizeHint" stdset="0"> | |||||
| <size> | |||||
| <width>8</width> | |||||
| <height>1</height> | |||||
| </size> | |||||
| </property> | |||||
| </spacer> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="QLabel" name="label_name"> | |||||
| <property name="text"> | |||||
| <string>PluginName</string> | |||||
| </property> | |||||
| <property name="alignment"> | |||||
| <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <spacer name="spacer_namesep3"> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Horizontal</enum> | |||||
| </property> | |||||
| <property name="sizeHint" stdset="0"> | |||||
| <size> | |||||
| <width>20</width> | |||||
| <height>1</height> | |||||
| </size> | |||||
| </property> | |||||
| </spacer> | |||||
| </item> | |||||
| <item> | |||||
| <layout class="QHBoxLayout" name="layout_peaks"> | |||||
| <property name="spacing"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="leftMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="topMargin"> | |||||
| <number>2</number> | |||||
| </property> | |||||
| <property name="rightMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="bottomMargin"> | |||||
| <number>2</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="DigitalPeakMeter" name="peak_in" native="true"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>100</width> | |||||
| <height>0</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>100</width> | |||||
| <height>16777215</height> | |||||
| </size> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="DigitalPeakMeter" name="peak_out" native="true"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>100</width> | |||||
| <height>0</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>100</width> | |||||
| <height>16777215</height> | |||||
| </size> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| </layout> | |||||
| </item> | |||||
| <item> | |||||
| <layout class="QHBoxLayout" name="layout_leds"> | |||||
| <property name="spacing"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_control"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_midi"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_audio_in"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_audio_out"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| </layout> | |||||
| </item> | |||||
| </layout> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="Line" name="line"> | |||||
| <property name="lineWidth"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <property name="midLineWidth"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Horizontal</enum> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <layout class="QHBoxLayout" name="layout_bottom"> | |||||
| <property name="spacing"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <property name="leftMargin"> | |||||
| <number>12</number> | |||||
| </property> | |||||
| <property name="topMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="rightMargin"> | |||||
| <number>12</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="QWidget" name="w_knobs_left" native="true"> | |||||
| <layout class="QHBoxLayout" name="horizontalLayout_3"/> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <spacer name="spacer_knobs"> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Horizontal</enum> | |||||
| </property> | |||||
| <property name="sizeHint" stdset="0"> | |||||
| <size> | |||||
| <width>40</width> | |||||
| <height>20</height> | |||||
| </size> | |||||
| </property> | |||||
| </spacer> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="QWidget" name="w_knobs_right" native="true"> | |||||
| <layout class="QHBoxLayout" name="horizontalLayout_2"/> | |||||
| </widget> | |||||
| </item> | |||||
| </layout> | |||||
| </item> | |||||
| </layout> | |||||
| </widget> | |||||
| <customwidgets> | |||||
| <customwidget> | |||||
| <class>DigitalPeakMeter</class> | |||||
| <extends>QWidget</extends> | |||||
| <header>digitalpeakmeter.h</header> | |||||
| <container>1</container> | |||||
| </customwidget> | |||||
| <customwidget> | |||||
| <class>LEDButton</class> | |||||
| <extends>QPushButton</extends> | |||||
| <header>ledbutton.h</header> | |||||
| </customwidget> | |||||
| <customwidget> | |||||
| <class>PixmapButton</class> | |||||
| <extends>QPushButton</extends> | |||||
| <header>pixmapbutton.h</header> | |||||
| </customwidget> | |||||
| </customwidgets> | |||||
| <resources> | |||||
| <include location="../resources.qrc"/> | |||||
| </resources> | |||||
| <connections/> | |||||
| </ui> | |||||
| @@ -0,0 +1,361 @@ | |||||
| <?xml version="1.0" encoding="UTF-8"?> | |||||
| <ui version="4.0"> | |||||
| <class>PluginWidget</class> | |||||
| <widget class="QFrame" name="PluginWidget"> | |||||
| <property name="geometry"> | |||||
| <rect> | |||||
| <x>0</x> | |||||
| <y>0</y> | |||||
| <width>497</width> | |||||
| <height>37</height> | |||||
| </rect> | |||||
| </property> | |||||
| <property name="contextMenuPolicy"> | |||||
| <enum>Qt::CustomContextMenu</enum> | |||||
| </property> | |||||
| <property name="windowTitle"> | |||||
| <string>Frame</string> | |||||
| </property> | |||||
| <property name="lineWidth"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <layout class="QHBoxLayout" name="horizontalLayout"> | |||||
| <property name="spacing"> | |||||
| <number>2</number> | |||||
| </property> | |||||
| <property name="leftMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="topMargin"> | |||||
| <number>2</number> | |||||
| </property> | |||||
| <property name="rightMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="bottomMargin"> | |||||
| <number>2</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="QWidget" name="area_left" native="true"> | |||||
| <layout class="QHBoxLayout" name="horizontalLayout_3"> | |||||
| <property name="spacing"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <property name="leftMargin"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <property name="topMargin"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <property name="rightMargin"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <property name="bottomMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="PixmapButton" name="b_enable"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="icon"> | |||||
| <iconset resource="../resources.qrc"> | |||||
| <normaloff>:/bitmaps/button_off.png</normaloff>:/bitmaps/button_off.png</iconset> | |||||
| </property> | |||||
| <property name="iconSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| <property name="flat"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="PixmapButton" name="b_gui"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="icon"> | |||||
| <iconset resource="../resources.qrc"> | |||||
| <normaloff>:/bitmaps/button_gui.png</normaloff>:/bitmaps/button_gui.png</iconset> | |||||
| </property> | |||||
| <property name="iconSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| <property name="flat"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="PixmapButton" name="b_edit"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="icon"> | |||||
| <iconset resource="../resources.qrc"> | |||||
| <normaloff>:/bitmaps/button_edit.png</normaloff>:/bitmaps/button_edit.png</iconset> | |||||
| </property> | |||||
| <property name="iconSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| <property name="flat"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="QLabel" name="label_name"> | |||||
| <property name="font"> | |||||
| <font> | |||||
| <pointsize>8</pointsize> | |||||
| </font> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string>Plugin Name</string> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| </layout> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <spacer name="horizontalSpacer"> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Horizontal</enum> | |||||
| </property> | |||||
| <property name="sizeHint" stdset="0"> | |||||
| <size> | |||||
| <width>40</width> | |||||
| <height>20</height> | |||||
| </size> | |||||
| </property> | |||||
| </spacer> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="QWidget" name="area_right" native="true"> | |||||
| <layout class="QHBoxLayout" name="horizontalLayout_2"> | |||||
| <property name="spacing"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <property name="leftMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="topMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="rightMargin"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <property name="bottomMargin"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_control"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_midi"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_audio_in"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_audio_out"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <layout class="QVBoxLayout" name="verticalLayout_2"> | |||||
| <property name="leftMargin"> | |||||
| <number>6</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="DigitalPeakMeter" name="peak_in" native="true"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>150</width> | |||||
| <height>0</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>150</width> | |||||
| <height>16777215</height> | |||||
| </size> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="DigitalPeakMeter" name="peak_out" native="true"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>150</width> | |||||
| <height>0</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>150</width> | |||||
| <height>16777215</height> | |||||
| </size> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| </layout> | |||||
| </item> | |||||
| </layout> | |||||
| </widget> | |||||
| </item> | |||||
| </layout> | |||||
| </widget> | |||||
| <customwidgets> | |||||
| <customwidget> | |||||
| <class>DigitalPeakMeter</class> | |||||
| <extends>QWidget</extends> | |||||
| <header>digitalpeakmeter.h</header> | |||||
| <container>1</container> | |||||
| </customwidget> | |||||
| <customwidget> | |||||
| <class>LEDButton</class> | |||||
| <extends>QPushButton</extends> | |||||
| <header>ledbutton.h</header> | |||||
| </customwidget> | |||||
| <customwidget> | |||||
| <class>PixmapButton</class> | |||||
| <extends>QPushButton</extends> | |||||
| <header>pixmapbutton.h</header> | |||||
| </customwidget> | |||||
| </customwidgets> | |||||
| <resources> | |||||
| <include location="../resources.qrc"/> | |||||
| </resources> | |||||
| <connections/> | |||||
| </ui> | |||||
| @@ -6,8 +6,8 @@ | |||||
| <rect> | <rect> | ||||
| <x>0</x> | <x>0</x> | ||||
| <y>0</y> | <y>0</y> | ||||
| <width>497</width> | |||||
| <height>37</height> | |||||
| <width>552</width> | |||||
| <height>60</height> | |||||
| </rect> | </rect> | ||||
| </property> | </property> | ||||
| <property name="contextMenuPolicy"> | <property name="contextMenuPolicy"> | ||||
| @@ -19,321 +19,436 @@ | |||||
| <property name="lineWidth"> | <property name="lineWidth"> | ||||
| <number>0</number> | <number>0</number> | ||||
| </property> | </property> | ||||
| <layout class="QHBoxLayout" name="horizontalLayout"> | |||||
| <layout class="QVBoxLayout" name="verticalLayout"> | |||||
| <property name="spacing"> | <property name="spacing"> | ||||
| <number>2</number> | |||||
| <number>0</number> | |||||
| </property> | </property> | ||||
| <property name="leftMargin"> | <property name="leftMargin"> | ||||
| <number>4</number> | <number>4</number> | ||||
| </property> | </property> | ||||
| <property name="topMargin"> | <property name="topMargin"> | ||||
| <number>2</number> | |||||
| <number>3</number> | |||||
| </property> | </property> | ||||
| <property name="rightMargin"> | <property name="rightMargin"> | ||||
| <number>4</number> | |||||
| <number>6</number> | |||||
| </property> | </property> | ||||
| <property name="bottomMargin"> | <property name="bottomMargin"> | ||||
| <number>2</number> | |||||
| <number>3</number> | |||||
| </property> | </property> | ||||
| <item> | <item> | ||||
| <widget class="QWidget" name="area_left" native="true"> | |||||
| <layout class="QHBoxLayout" name="horizontalLayout_3"> | |||||
| <property name="spacing"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <property name="leftMargin"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <property name="topMargin"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <property name="rightMargin"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <property name="bottomMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="PixmapButton" name="b_enable"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="icon"> | |||||
| <iconset resource="../resources.qrc"> | |||||
| <normaloff>:/bitmaps/button_off.png</normaloff>:/bitmaps/button_off.png</iconset> | |||||
| </property> | |||||
| <property name="iconSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| <property name="flat"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="PixmapButton" name="b_gui"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="icon"> | |||||
| <iconset resource="../resources.qrc"> | |||||
| <normaloff>:/bitmaps/button_gui.png</normaloff>:/bitmaps/button_gui.png</iconset> | |||||
| </property> | |||||
| <property name="iconSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| <property name="flat"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="PixmapButton" name="b_edit"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="icon"> | |||||
| <iconset resource="../resources.qrc"> | |||||
| <normaloff>:/bitmaps/button_edit.png</normaloff>:/bitmaps/button_edit.png</iconset> | |||||
| </property> | |||||
| <property name="iconSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| <property name="flat"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="QLabel" name="label_name"> | |||||
| <property name="font"> | |||||
| <font> | |||||
| <pointsize>8</pointsize> | |||||
| </font> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string>Plugin Name</string> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| </layout> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <spacer name="horizontalSpacer"> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Horizontal</enum> | |||||
| </property> | |||||
| <property name="sizeHint" stdset="0"> | |||||
| <size> | |||||
| <width>40</width> | |||||
| <height>20</height> | |||||
| </size> | |||||
| <layout class="QHBoxLayout" name="layout_top"> | |||||
| <property name="spacing"> | |||||
| <number>1</number> | |||||
| </property> | </property> | ||||
| </spacer> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="QWidget" name="area_right" native="true"> | |||||
| <layout class="QHBoxLayout" name="horizontalLayout_2"> | |||||
| <property name="spacing"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <property name="leftMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="topMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="rightMargin"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <property name="bottomMargin"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_control"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_midi"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_audio_in"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_audio_out"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <layout class="QVBoxLayout" name="verticalLayout_2"> | |||||
| <property name="leftMargin"> | |||||
| <number>6</number> | |||||
| <item> | |||||
| <widget class="QWidget" name="w_buttons" native="true"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>72</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>72</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <layout class="QHBoxLayout" name="horizontalLayout"> | |||||
| <property name="spacing"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <property name="margin"> | |||||
| <number>0</number> | |||||
| </property> | </property> | ||||
| <item> | <item> | ||||
| <widget class="DigitalPeakMeter" name="peak_in" native="true"> | |||||
| <widget class="PixmapButton" name="b_enable"> | |||||
| <property name="minimumSize"> | <property name="minimumSize"> | ||||
| <size> | <size> | ||||
| <width>150</width> | |||||
| <height>0</height> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | </size> | ||||
| </property> | </property> | ||||
| <property name="maximumSize"> | <property name="maximumSize"> | ||||
| <size> | <size> | ||||
| <width>150</width> | |||||
| <height>16777215</height> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="icon"> | |||||
| <iconset resource="../resources.qrc"> | |||||
| <normaloff>:/bitmaps/button_off.png</normaloff>:/bitmaps/button_off.png</iconset> | |||||
| </property> | |||||
| <property name="iconSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| <property name="flat"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="PixmapButton" name="b_gui"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="icon"> | |||||
| <iconset resource="../resources.qrc"> | |||||
| <normaloff>:/bitmaps/button_gui.png</normaloff>:/bitmaps/button_gui.png</iconset> | |||||
| </property> | |||||
| <property name="iconSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | </size> | ||||
| </property> | </property> | ||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| <property name="flat"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | </widget> | ||||
| </item> | </item> | ||||
| <item> | <item> | ||||
| <widget class="DigitalPeakMeter" name="peak_out" native="true"> | |||||
| <widget class="PixmapButton" name="b_edit"> | |||||
| <property name="minimumSize"> | <property name="minimumSize"> | ||||
| <size> | <size> | ||||
| <width>150</width> | |||||
| <height>0</height> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | </size> | ||||
| </property> | </property> | ||||
| <property name="maximumSize"> | <property name="maximumSize"> | ||||
| <size> | <size> | ||||
| <width>150</width> | |||||
| <height>16777215</height> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="icon"> | |||||
| <iconset resource="../resources.qrc"> | |||||
| <normaloff>:/bitmaps/button_edit.png</normaloff>:/bitmaps/button_edit.png</iconset> | |||||
| </property> | |||||
| <property name="iconSize"> | |||||
| <size> | |||||
| <width>24</width> | |||||
| <height>24</height> | |||||
| </size> | </size> | ||||
| </property> | </property> | ||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| <property name="flat"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | </widget> | ||||
| </item> | </item> | ||||
| </layout> | </layout> | ||||
| </item> | |||||
| </layout> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <spacer name="spacer_namesep1"> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Horizontal</enum> | |||||
| </property> | |||||
| <property name="sizeType"> | |||||
| <enum>QSizePolicy::Fixed</enum> | |||||
| </property> | |||||
| <property name="sizeHint" stdset="0"> | |||||
| <size> | |||||
| <width>6</width> | |||||
| <height>1</height> | |||||
| </size> | |||||
| </property> | |||||
| </spacer> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="Line" name="line_sep"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>0</width> | |||||
| <height>20</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>16777215</width> | |||||
| <height>20</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="lineWidth"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <property name="midLineWidth"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Vertical</enum> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <spacer name="spacer_namesep2"> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Horizontal</enum> | |||||
| </property> | |||||
| <property name="sizeType"> | |||||
| <enum>QSizePolicy::Fixed</enum> | |||||
| </property> | |||||
| <property name="sizeHint" stdset="0"> | |||||
| <size> | |||||
| <width>8</width> | |||||
| <height>1</height> | |||||
| </size> | |||||
| </property> | |||||
| </spacer> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="QLabel" name="label_name"> | |||||
| <property name="text"> | |||||
| <string>PluginName</string> | |||||
| </property> | |||||
| <property name="alignment"> | |||||
| <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <spacer name="spacer_namesep3"> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Horizontal</enum> | |||||
| </property> | |||||
| <property name="sizeHint" stdset="0"> | |||||
| <size> | |||||
| <width>20</width> | |||||
| <height>1</height> | |||||
| </size> | |||||
| </property> | |||||
| </spacer> | |||||
| </item> | |||||
| <item> | |||||
| <layout class="QHBoxLayout" name="layout_peaks"> | |||||
| <property name="spacing"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="leftMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="topMargin"> | |||||
| <number>2</number> | |||||
| </property> | |||||
| <property name="rightMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="bottomMargin"> | |||||
| <number>2</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="DigitalPeakMeter" name="peak_in" native="true"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>100</width> | |||||
| <height>0</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>100</width> | |||||
| <height>16777215</height> | |||||
| </size> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="DigitalPeakMeter" name="peak_out" native="true"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>100</width> | |||||
| <height>0</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>100</width> | |||||
| <height>16777215</height> | |||||
| </size> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| </layout> | |||||
| </item> | |||||
| <item> | |||||
| <layout class="QHBoxLayout" name="layout_leds"> | |||||
| <property name="spacing"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_control"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_midi"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_audio_in"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="LEDButton" name="led_audio_out"> | |||||
| <property name="minimumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="maximumSize"> | |||||
| <size> | |||||
| <width>14</width> | |||||
| <height>14</height> | |||||
| </size> | |||||
| </property> | |||||
| <property name="text"> | |||||
| <string/> | |||||
| </property> | |||||
| <property name="checkable"> | |||||
| <bool>true</bool> | |||||
| </property> | |||||
| </widget> | |||||
| </item> | |||||
| </layout> | |||||
| </item> | |||||
| </layout> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="Line" name="line"> | |||||
| <property name="lineWidth"> | |||||
| <number>0</number> | |||||
| </property> | |||||
| <property name="midLineWidth"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Horizontal</enum> | |||||
| </property> | |||||
| </widget> | </widget> | ||||
| </item> | </item> | ||||
| <item> | |||||
| <layout class="QHBoxLayout" name="layout_bottom"> | |||||
| <property name="spacing"> | |||||
| <number>1</number> | |||||
| </property> | |||||
| <property name="leftMargin"> | |||||
| <number>12</number> | |||||
| </property> | |||||
| <property name="topMargin"> | |||||
| <number>4</number> | |||||
| </property> | |||||
| <property name="rightMargin"> | |||||
| <number>12</number> | |||||
| </property> | |||||
| <item> | |||||
| <widget class="QWidget" name="w_knobs_left" native="true"> | |||||
| <layout class="QHBoxLayout" name="horizontalLayout_3"/> | |||||
| </widget> | |||||
| </item> | |||||
| <item> | |||||
| <spacer name="spacer_knobs"> | |||||
| <property name="orientation"> | |||||
| <enum>Qt::Horizontal</enum> | |||||
| </property> | |||||
| <property name="sizeHint" stdset="0"> | |||||
| <size> | |||||
| <width>40</width> | |||||
| <height>20</height> | |||||
| </size> | |||||
| </property> | |||||
| </spacer> | |||||
| </item> | |||||
| <item> | |||||
| <widget class="QWidget" name="w_knobs_right" native="true"> | |||||
| <layout class="QHBoxLayout" name="horizontalLayout_2"/> | |||||
| </widget> | |||||
| </item> | |||||
| </layout> | |||||
| </item> | |||||
| </layout> | </layout> | ||||
| </widget> | </widget> | ||||
| <customwidgets> | <customwidgets> | ||||
| @@ -168,6 +168,12 @@ static const uint PLUGIN_NEEDS_FIXED_BUFFERS = 0x100; | |||||
| */ | */ | ||||
| static const uint PLUGIN_NEEDS_UI_MAIN_THREAD = 0x200; | static const uint PLUGIN_NEEDS_UI_MAIN_THREAD = 0x200; | ||||
| /*! | |||||
| * Plugin uses 1 program per MIDI channel. | |||||
| * @note: Only used in some internal plugins and gig+sf2 files. | |||||
| */ | |||||
| static const uint PLUGIN_USES_MULTI_PROGS = 0x400; | |||||
| /** @} */ | /** @} */ | ||||
| /* ------------------------------------------------------------------------------------------------------------ | /* ------------------------------------------------------------------------------------------------------------ | ||||
| @@ -286,6 +286,8 @@ const CarlaCachedPluginInfo* carla_get_cached_plugin_info(CB::PluginType ptype, | |||||
| info.hints |= CB::PLUGIN_NEEDS_FIXED_BUFFERS; | info.hints |= CB::PLUGIN_NEEDS_FIXED_BUFFERS; | ||||
| if (desc.hints & NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD) | if (desc.hints & NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD) | ||||
| info.hints |= CB::PLUGIN_NEEDS_UI_MAIN_THREAD; | info.hints |= CB::PLUGIN_NEEDS_UI_MAIN_THREAD; | ||||
| if (desc.hints & NATIVE_PLUGIN_USES_MULTI_PROGS) | |||||
| info.hints |= CB::PLUGIN_USES_MULTI_PROGS; | |||||
| info.audioIns = desc.audioIns; | info.audioIns = desc.audioIns; | ||||
| info.audioOuts = desc.audioOuts; | info.audioOuts = desc.audioOuts; | ||||
| @@ -621,7 +621,7 @@ const CarlaStateSave& CarlaPlugin::getStateSave(const bool callPrepareForSave) | |||||
| void CarlaPlugin::loadStateSave(const CarlaStateSave& stateSave) | void CarlaPlugin::loadStateSave(const CarlaStateSave& stateSave) | ||||
| { | { | ||||
| char strBuf[STR_MAX+1]; | char strBuf[STR_MAX+1]; | ||||
| const bool usesMultiProgs(pData->extraHints & PLUGIN_EXTRA_HINT_USES_MULTI_PROGS); | |||||
| const bool usesMultiProgs(pData->hints & PLUGIN_USES_MULTI_PROGS); | |||||
| const PluginType pluginType(getType()); | const PluginType pluginType(getType()); | ||||
| @@ -634,15 +634,18 @@ void CarlaPlugin::loadStateSave(const CarlaStateSave& stateSave) | |||||
| CARLA_SAFE_ASSERT_CONTINUE(stateCustomData != nullptr); | CARLA_SAFE_ASSERT_CONTINUE(stateCustomData != nullptr); | ||||
| CARLA_SAFE_ASSERT_CONTINUE(stateCustomData->isValid()); | CARLA_SAFE_ASSERT_CONTINUE(stateCustomData->isValid()); | ||||
| const char* const type(stateCustomData->type); | |||||
| const char* const key(stateCustomData->key); | const char* const key(stateCustomData->key); | ||||
| if (pluginType == PLUGIN_DSSI && (std::strcmp(key, "reloadprograms") == 0 || std::strcmp(key, "load") == 0 || std::strncmp(key, "patches", 7) == 0)) | |||||
| continue; | |||||
| if (usesMultiProgs && std::strcmp(key, "midiPrograms") == 0) | |||||
| /**/ if (pluginType == PLUGIN_DSSI && (std::strcmp (key, "reloadprograms") == 0 || | |||||
| std::strcmp (key, "load" ) == 0 || | |||||
| std::strncmp(key, "patches", 7) == 0 )) | |||||
| pass(); | |||||
| else if (usesMultiProgs && std::strcmp(key, "midiPrograms") == 0) | |||||
| pass(); | |||||
| else | |||||
| continue; | continue; | ||||
| setCustomData(type, key, stateCustomData->value, true); | |||||
| setCustomData(stateCustomData->type, key, stateCustomData->value, true); | |||||
| } | } | ||||
| // --------------------------------------------------------------- | // --------------------------------------------------------------- | ||||
| @@ -810,15 +813,16 @@ void CarlaPlugin::loadStateSave(const CarlaStateSave& stateSave) | |||||
| CARLA_SAFE_ASSERT_CONTINUE(stateCustomData != nullptr); | CARLA_SAFE_ASSERT_CONTINUE(stateCustomData != nullptr); | ||||
| CARLA_SAFE_ASSERT_CONTINUE(stateCustomData->isValid()); | CARLA_SAFE_ASSERT_CONTINUE(stateCustomData->isValid()); | ||||
| const char* const type(stateCustomData->type); | |||||
| const char* const key(stateCustomData->key); | const char* const key(stateCustomData->key); | ||||
| if (pluginType == PLUGIN_DSSI && (std::strcmp(key, "reloadprograms") == 0 || std::strcmp(key, "load") == 0 || std::strncmp(key, "patches", 7) == 0)) | |||||
| if (pluginType == PLUGIN_DSSI && (std::strcmp (key, "reloadprograms") == 0 || | |||||
| std::strcmp (key, "load" ) == 0 || | |||||
| std::strncmp(key, "patches", 7) == 0 )) | |||||
| continue; | continue; | ||||
| if (usesMultiProgs && std::strcmp(key, "midiPrograms") == 0) | if (usesMultiProgs && std::strcmp(key, "midiPrograms") == 0) | ||||
| continue; | continue; | ||||
| setCustomData(type, key, stateCustomData->value, true); | |||||
| setCustomData(stateCustomData->type, key, stateCustomData->value, true); | |||||
| } | } | ||||
| // --------------------------------------------------------------- | // --------------------------------------------------------------- | ||||
| @@ -865,6 +865,7 @@ public: | |||||
| pData->hints = 0x0; | pData->hints = 0x0; | ||||
| pData->hints |= PLUGIN_IS_SYNTH; | pData->hints |= PLUGIN_IS_SYNTH; | ||||
| pData->hints |= PLUGIN_CAN_VOLUME; | pData->hints |= PLUGIN_CAN_VOLUME; | ||||
| pData->hints |= PLUGIN_USES_MULTI_PROGS; | |||||
| if (! kUse16Outs) | if (! kUse16Outs) | ||||
| pData->hints |= PLUGIN_CAN_BALANCE; | pData->hints |= PLUGIN_CAN_BALANCE; | ||||
| @@ -872,7 +873,6 @@ public: | |||||
| // extra plugin hints | // extra plugin hints | ||||
| pData->extraHints = 0x0; | pData->extraHints = 0x0; | ||||
| pData->extraHints |= PLUGIN_EXTRA_HINT_HAS_MIDI_IN; | pData->extraHints |= PLUGIN_EXTRA_HINT_HAS_MIDI_IN; | ||||
| pData->extraHints |= PLUGIN_EXTRA_HINT_USES_MULTI_PROGS; | |||||
| if (kUse16Outs) | if (kUse16Outs) | ||||
| pData->extraHints |= PLUGIN_EXTRA_HINT_CAN_RUN_RACK; | pData->extraHints |= PLUGIN_EXTRA_HINT_CAN_RUN_RACK; | ||||
| @@ -54,7 +54,6 @@ const ushort kPluginMaxMidiEvents = 512; | |||||
| const uint PLUGIN_EXTRA_HINT_HAS_MIDI_IN = 0x01; | const uint PLUGIN_EXTRA_HINT_HAS_MIDI_IN = 0x01; | ||||
| const uint PLUGIN_EXTRA_HINT_HAS_MIDI_OUT = 0x02; | const uint PLUGIN_EXTRA_HINT_HAS_MIDI_OUT = 0x02; | ||||
| const uint PLUGIN_EXTRA_HINT_CAN_RUN_RACK = 0x04; | const uint PLUGIN_EXTRA_HINT_CAN_RUN_RACK = 0x04; | ||||
| const uint PLUGIN_EXTRA_HINT_USES_MULTI_PROGS = 0x08; | |||||
| // ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||
| // Special parameters | // Special parameters | ||||
| @@ -684,12 +684,12 @@ public: | |||||
| pData->extraHints = 0x0; | pData->extraHints = 0x0; | ||||
| pData->extraHints |= PLUGIN_EXTRA_HINT_HAS_MIDI_IN; | pData->extraHints |= PLUGIN_EXTRA_HINT_HAS_MIDI_IN; | ||||
| if (kMaxChannels > 1 && fInstrumentIds.size() > 1) | |||||
| pData->hints |= PLUGIN_USES_MULTI_PROGS; | |||||
| if (! kUses16Outs) | if (! kUses16Outs) | ||||
| pData->extraHints |= PLUGIN_EXTRA_HINT_CAN_RUN_RACK; | pData->extraHints |= PLUGIN_EXTRA_HINT_CAN_RUN_RACK; | ||||
| if (fInstrumentIds.size() > 1) | |||||
| pData->extraHints |= PLUGIN_EXTRA_HINT_USES_MULTI_PROGS; | |||||
| bufferSizeChanged(pData->engine->getBufferSize()); | bufferSizeChanged(pData->engine->getBufferSize()); | ||||
| reloadPrograms(true); | reloadPrograms(true); | ||||
| @@ -1169,6 +1169,8 @@ public: | |||||
| pData->hints |= PLUGIN_NEEDS_FIXED_BUFFERS; | pData->hints |= PLUGIN_NEEDS_FIXED_BUFFERS; | ||||
| if (fDescriptor->hints & NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD) | if (fDescriptor->hints & NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD) | ||||
| pData->hints |= PLUGIN_NEEDS_UI_MAIN_THREAD; | pData->hints |= PLUGIN_NEEDS_UI_MAIN_THREAD; | ||||
| if (fDescriptor->hints & NATIVE_PLUGIN_USES_MULTI_PROGS) | |||||
| pData->hints |= PLUGIN_USES_MULTI_PROGS; | |||||
| // extra plugin hints | // extra plugin hints | ||||
| pData->extraHints = 0x0; | pData->extraHints = 0x0; | ||||
| @@ -1176,9 +1178,6 @@ public: | |||||
| if (aIns <= 2 && aOuts <= 2 && (aIns == aOuts || aIns == 0 || aOuts == 0) && mIns <= 1 && mOuts <= 1) | if (aIns <= 2 && aOuts <= 2 && (aIns == aOuts || aIns == 0 || aOuts == 0) && mIns <= 1 && mOuts <= 1) | ||||
| pData->extraHints |= PLUGIN_EXTRA_HINT_CAN_RUN_RACK; | pData->extraHints |= PLUGIN_EXTRA_HINT_CAN_RUN_RACK; | ||||
| if (fDescriptor->hints & NATIVE_PLUGIN_USES_MULTI_PROGS) | |||||
| pData->extraHints |= PLUGIN_EXTRA_HINT_USES_MULTI_PROGS; | |||||
| bufferSizeChanged(pData->engine->getBufferSize()); | bufferSizeChanged(pData->engine->getBufferSize()); | ||||
| reloadPrograms(true); | reloadPrograms(true); | ||||
| @@ -211,6 +211,10 @@ PLUGIN_NEEDS_FIXED_BUFFERS = 0x100 | |||||
| # Plugin needs to receive all UI events in the main thread. | # Plugin needs to receive all UI events in the main thread. | ||||
| PLUGIN_NEEDS_UI_MAIN_THREAD = 0x200 | PLUGIN_NEEDS_UI_MAIN_THREAD = 0x200 | ||||
| # Plugin uses 1 program per MIDI channel. | |||||
| # @note: Only used in some internal plugins and gig+sf2 files. | |||||
| PLUGIN_USES_MULTI_PROGS = 0x400 | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Plugin Options | # Plugin Options | ||||
| # Various plugin options. | # Various plugin options. | ||||
| @@ -35,11 +35,11 @@ else: | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Imports (Custom) | # Imports (Custom) | ||||
| import ui_carla_plugin_default | |||||
| import ui_carla_plugin_basic_fx | |||||
| import ui_carla_plugin_calf | import ui_carla_plugin_calf | ||||
| import ui_carla_plugin_classic | |||||
| import ui_carla_plugin_compact | import ui_carla_plugin_compact | ||||
| import ui_carla_plugin_zynfx | |||||
| import ui_carla_plugin_default | |||||
| import ui_carla_plugin_presets | |||||
| from carla_widgets import * | from carla_widgets import * | ||||
| from digitalpeakmeter import DigitalPeakMeter | from digitalpeakmeter import DigitalPeakMeter | ||||
| @@ -467,7 +467,7 @@ class AbstractPluginSlot(QFrame, PluginEditParentMeta): | |||||
| elif self.fSkinStyle in ("mod", "openav", "zynfx"): | elif self.fSkinStyle in ("mod", "openav", "zynfx"): | ||||
| self.peak_in.setMeterStyle(DigitalPeakMeter.STYLE_OPENAV) | self.peak_in.setMeterStyle(DigitalPeakMeter.STYLE_OPENAV) | ||||
| if self.fPeaksInputCount == 0 and not isinstance(self, PluginSlot_Default): | |||||
| if self.fPeaksInputCount == 0 and not isinstance(self, PluginSlot_Classic): | |||||
| self.peak_in.hide() | self.peak_in.hide() | ||||
| if self.peak_out is not None: | if self.peak_out is not None: | ||||
| @@ -482,7 +482,7 @@ class AbstractPluginSlot(QFrame, PluginEditParentMeta): | |||||
| elif self.fSkinStyle in ("mod", "openav", "zynfx"): | elif self.fSkinStyle in ("mod", "openav", "zynfx"): | ||||
| self.peak_out.setMeterStyle(DigitalPeakMeter.STYLE_OPENAV) | self.peak_out.setMeterStyle(DigitalPeakMeter.STYLE_OPENAV) | ||||
| if self.fPeaksOutputCount == 0 and not isinstance(self, PluginSlot_Default): | |||||
| if self.fPeaksOutputCount == 0 and not isinstance(self, PluginSlot_Classic): | |||||
| self.peak_out.hide() | self.peak_out.hide() | ||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| @@ -556,6 +556,8 @@ class AbstractPluginSlot(QFrame, PluginEditParentMeta): | |||||
| continue | continue | ||||
| if (paramData['hints'] & PARAMETER_IS_ENABLED) == 0: | if (paramData['hints'] & PARAMETER_IS_ENABLED) == 0: | ||||
| continue | continue | ||||
| if paramInfo['name'].startswith("unused"): | |||||
| continue | |||||
| paramName = getParameterShortName(paramInfo['name']) | paramName = getParameterShortName(paramInfo['name']) | ||||
| @@ -1194,10 +1196,112 @@ class AbstractPluginSlot(QFrame, PluginEditParentMeta): | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| class PluginSlot_Default(AbstractPluginSlot): | |||||
| class PluginSlot_Calf(AbstractPluginSlot): | |||||
| def __init__(self, parent, host, pluginId, skinStyle): | |||||
| AbstractPluginSlot.__init__(self, parent, host, pluginId, skinStyle) | |||||
| self.ui = ui_carla_plugin_calf.Ui_PluginWidget() | |||||
| self.ui.setupUi(self) | |||||
| audioCount = self.host.get_audio_port_count_info(self.fPluginId) | |||||
| midiCount = self.host.get_midi_port_count_info(self.fPluginId) | |||||
| # ------------------------------------------------------------- | |||||
| # Internal stuff | |||||
| self.fButtonFont = self.ui.b_gui.font() | |||||
| self.fButtonFont.setBold(False) | |||||
| self.fButtonFont.setPointSize(8) | |||||
| self.fButtonColorOn = QColor( 18, 41, 87) | |||||
| self.fButtonColorOff = QColor(150, 150, 150) | |||||
| # ------------------------------------------------------------- | |||||
| # Set-up GUI | |||||
| self.ui.label_active.setFont(self.fButtonFont) | |||||
| self.ui.b_remove.setPixmaps(":/bitmaps/button_calf1.png", ":/bitmaps/button_calf1_down.png", ":/bitmaps/button_calf1_hover.png") | |||||
| self.ui.b_edit.setTopText(self.tr("Edit"), self.fButtonColorOn, self.fButtonFont) | |||||
| self.ui.b_remove.setTopText(self.tr("Remove"), self.fButtonColorOn, self.fButtonFont) | |||||
| if self.fPluginInfo['hints'] & PLUGIN_HAS_CUSTOM_UI: | |||||
| self.ui.b_gui.setTopText(self.tr("GUI"), self.fButtonColorOn, self.fButtonFont) | |||||
| else: | |||||
| self.ui.b_gui.setTopText(self.tr("GUI"), self.fButtonColorOff, self.fButtonFont) | |||||
| if audioCount['ins'] == 0: | |||||
| self.ui.label_audio_in.hide() | |||||
| if audioCount['outs'] == 0: | |||||
| self.ui.label_audio_out.hide() | |||||
| if midiCount['ins'] == 0: | |||||
| self.ui.label_midi.hide() | |||||
| self.ui.led_midi.hide() | |||||
| if self.fIdleTimerId != 0: | |||||
| self.ui.b_remove.setEnabled(False) | |||||
| self.ui.b_remove.setVisible(False) | |||||
| # ------------------------------------------------------------- | |||||
| self.b_enable = self.ui.b_enable | |||||
| self.b_gui = self.ui.b_gui | |||||
| self.b_edit = self.ui.b_edit | |||||
| self.b_remove = self.ui.b_remove | |||||
| self.label_name = self.ui.label_name | |||||
| self.led_midi = self.ui.led_midi | |||||
| self.peak_in = self.ui.peak_in | |||||
| self.peak_out = self.ui.peak_out | |||||
| self.w_knobs_left = self.ui.w_knobs | |||||
| self.ready() | |||||
| self.ui.led_midi.setColor(self.ui.led_midi.CALF) | |||||
| self.customContextMenuRequested.connect(self.slot_showDefaultCustomMenu) | |||||
| #------------------------------------------------------------------ | |||||
| def getFixedHeight(self): | |||||
| return 94 if max(self.peak_in.channelCount(), self.peak_out.channelCount()) < 2 else 106 | |||||
| #------------------------------------------------------------------ | |||||
| def editDialogPluginHintsChanged(self, pluginId, hints): | |||||
| if hints & PLUGIN_HAS_CUSTOM_UI: | |||||
| self.ui.b_gui.setTopText(self.tr("GUI"), self.fButtonColorOn, self.fButtonFont) | |||||
| else: | |||||
| self.ui.b_gui.setTopText(self.tr("GUI"), self.fButtonColorOff, self.fButtonFont) | |||||
| AbstractPluginSlot.editDialogPluginHintsChanged(self, pluginId, hints) | |||||
| #------------------------------------------------------------------ | |||||
| def paintEvent(self, event): | |||||
| isBlack = bool(self.fSkinStyle == "calf_black") | |||||
| painter = QPainter(self) | |||||
| painter.setBrush(Qt.transparent) | |||||
| painter.setPen(QPen(QColor(20, 20, 20) if isBlack else QColor(75, 86, 99), 1)) | |||||
| painter.drawRect(0, 1, self.width()-1, self.height()-3) | |||||
| painter.setPen(QPen(QColor(45, 45, 45) if isBlack else QColor(86, 99, 114), 1)) | |||||
| painter.drawLine(0, 0, self.width(), 0) | |||||
| AbstractPluginSlot.paintEvent(self, event) | |||||
| # ------------------------------------------------------------------------------------------------------------ | |||||
| class PluginSlot_Classic(AbstractPluginSlot): | |||||
| def __init__(self, parent, host, pluginId): | def __init__(self, parent, host, pluginId): | ||||
| AbstractPluginSlot.__init__(self, parent, host, pluginId, "default") | |||||
| self.ui = ui_carla_plugin_default.Ui_PluginWidget() | |||||
| AbstractPluginSlot.__init__(self, parent, host, pluginId, "classic") | |||||
| self.ui = ui_carla_plugin_classic.Ui_PluginWidget() | |||||
| self.ui.setupUi(self) | self.ui.setupUi(self) | ||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| @@ -1317,10 +1421,10 @@ class PluginSlot_Compact(AbstractPluginSlot): | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| class PluginSlot_BasicFX(AbstractPluginSlot): | |||||
| class PluginSlot_Default(AbstractPluginSlot): | |||||
| def __init__(self, parent, host, pluginId, skinStyle): | def __init__(self, parent, host, pluginId, skinStyle): | ||||
| AbstractPluginSlot.__init__(self, parent, host, pluginId, skinStyle) | AbstractPluginSlot.__init__(self, parent, host, pluginId, skinStyle) | ||||
| self.ui = ui_carla_plugin_basic_fx.Ui_PluginWidget() | |||||
| self.ui = ui_carla_plugin_default.Ui_PluginWidget() | |||||
| self.ui.setupUi(self) | self.ui.setupUi(self) | ||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| @@ -1370,163 +1474,91 @@ class PluginSlot_BasicFX(AbstractPluginSlot): | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| class PluginSlot_Calf(AbstractPluginSlot): | |||||
| class PluginSlot_Presets(AbstractPluginSlot): | |||||
| def __init__(self, parent, host, pluginId, skinStyle): | def __init__(self, parent, host, pluginId, skinStyle): | ||||
| AbstractPluginSlot.__init__(self, parent, host, pluginId, skinStyle) | AbstractPluginSlot.__init__(self, parent, host, pluginId, skinStyle) | ||||
| self.ui = ui_carla_plugin_calf.Ui_PluginWidget() | |||||
| self.ui = ui_carla_plugin_presets.Ui_PluginWidget() | |||||
| self.ui.setupUi(self) | self.ui.setupUi(self) | ||||
| audioCount = self.host.get_audio_port_count_info(self.fPluginId) | |||||
| midiCount = self.host.get_midi_port_count_info(self.fPluginId) | |||||
| usingMidiPrograms = bool(skinStyle != "presets") | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Internal stuff | |||||
| # Set-up programs | |||||
| self.fButtonFont = self.ui.b_gui.font() | |||||
| self.fButtonFont.setBold(False) | |||||
| self.fButtonFont.setPointSize(8) | |||||
| if usingMidiPrograms: | |||||
| programCount = self.host.get_midi_program_count(self.fPluginId) | |||||
| else: | |||||
| programCount = self.host.get_program_count(self.fPluginId) | |||||
| self.fButtonColorOn = QColor( 18, 41, 87) | |||||
| self.fButtonColorOff = QColor(150, 150, 150) | |||||
| if programCount > 0: | |||||
| self.ui.cb_presets.setEnabled(True) | |||||
| self.ui.label_presets.setEnabled(True) | |||||
| # ------------------------------------------------------------- | |||||
| # Set-up GUI | |||||
| for i in range(programCount): | |||||
| if usingMidiPrograms: | |||||
| progName = self.host.get_midi_program_data(self.fPluginId, i)['name'] | |||||
| else: | |||||
| progName = self.host.get_program_name(self.fPluginId, i) | |||||
| self.ui.label_active.setFont(self.fButtonFont) | |||||
| self.ui.cb_presets.addItem(progName) | |||||
| self.ui.b_remove.setPixmaps(":/bitmaps/button_calf1.png", ":/bitmaps/button_calf1_down.png", ":/bitmaps/button_calf1_hover.png") | |||||
| if usingMidiPrograms: | |||||
| curProg = self.host.get_current_midi_program_index(self.fPluginId) | |||||
| else: | |||||
| curProg = self.host.get_current_program_index(self.fPluginId) | |||||
| self.ui.b_edit.setTopText(self.tr("Edit"), self.fButtonColorOn, self.fButtonFont) | |||||
| self.ui.b_remove.setTopText(self.tr("Remove"), self.fButtonColorOn, self.fButtonFont) | |||||
| self.ui.cb_presets.setCurrentIndex(curProg) | |||||
| if self.fPluginInfo['hints'] & PLUGIN_HAS_CUSTOM_UI: | |||||
| self.ui.b_gui.setTopText(self.tr("GUI"), self.fButtonColorOn, self.fButtonFont) | |||||
| else: | else: | ||||
| self.ui.b_gui.setTopText(self.tr("GUI"), self.fButtonColorOff, self.fButtonFont) | |||||
| if audioCount['ins'] == 0: | |||||
| self.ui.label_audio_in.hide() | |||||
| if audioCount['outs'] == 0: | |||||
| self.ui.label_audio_out.hide() | |||||
| if midiCount['ins'] == 0: | |||||
| self.ui.label_midi.hide() | |||||
| self.ui.led_midi.hide() | |||||
| if self.fIdleTimerId != 0: | |||||
| self.ui.b_remove.setEnabled(False) | |||||
| self.ui.b_remove.setVisible(False) | |||||
| self.ui.cb_presets.setEnabled(False) | |||||
| self.ui.cb_presets.setVisible(False) | |||||
| self.ui.label_presets.setEnabled(False) | |||||
| self.ui.label_presets.setVisible(False) | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| self.b_enable = self.ui.b_enable | self.b_enable = self.ui.b_enable | ||||
| self.b_gui = self.ui.b_gui | self.b_gui = self.ui.b_gui | ||||
| self.b_edit = self.ui.b_edit | self.b_edit = self.ui.b_edit | ||||
| self.b_remove = self.ui.b_remove | |||||
| self.label_name = self.ui.label_name | |||||
| self.led_midi = self.ui.led_midi | |||||
| self.cb_presets = self.ui.cb_presets | |||||
| self.label_name = self.ui.label_name | |||||
| self.label_presets = self.ui.label_presets | |||||
| self.led_control = self.ui.led_control | |||||
| self.led_midi = self.ui.led_midi | |||||
| self.led_audio_in = self.ui.led_audio_in | |||||
| self.led_audio_out = self.ui.led_audio_out | |||||
| self.peak_in = self.ui.peak_in | self.peak_in = self.ui.peak_in | ||||
| self.peak_out = self.ui.peak_out | self.peak_out = self.ui.peak_out | ||||
| self.w_knobs_left = self.ui.w_knobs | |||||
| if skinStyle == "zynfx": | |||||
| self.setupZynFxParams() | |||||
| else: | |||||
| self.w_knobs_left = self.ui.w_knobs_left | |||||
| self.w_knobs_right = self.ui.w_knobs_right | |||||
| self.ready() | self.ready() | ||||
| self.ui.led_midi.setColor(self.ui.led_midi.CALF) | |||||
| self.customContextMenuRequested.connect(self.slot_showDefaultCustomMenu) | self.customContextMenuRequested.connect(self.slot_showDefaultCustomMenu) | ||||
| #------------------------------------------------------------------ | |||||
| def getFixedHeight(self): | |||||
| return 94 if max(self.peak_in.channelCount(), self.peak_out.channelCount()) < 2 else 106 | |||||
| #------------------------------------------------------------------ | |||||
| def editDialogPluginHintsChanged(self, pluginId, hints): | |||||
| if hints & PLUGIN_HAS_CUSTOM_UI: | |||||
| self.ui.b_gui.setTopText(self.tr("GUI"), self.fButtonColorOn, self.fButtonFont) | |||||
| if usingMidiPrograms: | |||||
| self.ui.cb_presets.currentIndexChanged.connect(self.slot_midiProgramChanged) | |||||
| else: | else: | ||||
| self.ui.b_gui.setTopText(self.tr("GUI"), self.fButtonColorOff, self.fButtonFont) | |||||
| AbstractPluginSlot.editDialogPluginHintsChanged(self, pluginId, hints) | |||||
| #------------------------------------------------------------------ | |||||
| def paintEvent(self, event): | |||||
| isBlack = bool(self.fSkinStyle == "calf_black") | |||||
| painter = QPainter(self) | |||||
| painter.setBrush(Qt.transparent) | |||||
| painter.setPen(QPen(QColor(20, 20, 20) if isBlack else QColor(75, 86, 99), 1)) | |||||
| painter.drawRect(0, 1, self.width()-1, self.height()-3) | |||||
| painter.setPen(QPen(QColor(45, 45, 45) if isBlack 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, host, pluginId, skinStyle): | |||||
| AbstractPluginSlot.__init__(self, parent, host, pluginId, skinStyle) | |||||
| #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()) | |||||
| #------------------------------------------------------------------ | |||||
| 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_ZynFX(AbstractPluginSlot): | |||||
| def __init__(self, parent, host, pluginId, skinStyle): | |||||
| AbstractPluginSlot.__init__(self, parent, host, pluginId, skinStyle) | |||||
| self.ui = ui_carla_plugin_zynfx.Ui_PluginWidget() | |||||
| self.ui.setupUi(self) | |||||
| self.ui.cb_presets.currentIndexChanged.connect(self.slot_programChanged) | |||||
| # ------------------------------------------------------------- | # ------------------------------------------------------------- | ||||
| # Set-up parameters | |||||
| def setupZynFxParams(self): | |||||
| parameterCount = self.host.get_parameter_count(self.fPluginId) | parameterCount = self.host.get_parameter_count(self.fPluginId) | ||||
| index = 0 | index = 0 | ||||
| for i in range(parameterCount): | for i in range(parameterCount): | ||||
| if index >= 8: | |||||
| break | |||||
| paramInfo = self.host.get_parameter_info(self.fPluginId, i) | paramInfo = self.host.get_parameter_info(self.fPluginId, i) | ||||
| paramData = self.host.get_parameter_data(self.fPluginId, i) | paramData = self.host.get_parameter_data(self.fPluginId, i) | ||||
| paramRanges = self.host.get_parameter_ranges(self.fPluginId, i) | paramRanges = self.host.get_parameter_ranges(self.fPluginId, i) | ||||
| @@ -1540,6 +1572,9 @@ class PluginSlot_ZynFX(AbstractPluginSlot): | |||||
| paramName = paramInfo['name'] | paramName = paramInfo['name'] | ||||
| if paramName.startswith("unused"): | |||||
| continue | |||||
| # real zyn fx plugins | # real zyn fx plugins | ||||
| if self.fPluginInfo['label'] == "zynalienwah": | if self.fPluginInfo['label'] == "zynalienwah": | ||||
| if i == 0: paramName = "Freq" | if i == 0: paramName = "Freq" | ||||
| @@ -1602,7 +1637,7 @@ class PluginSlot_ZynFX(AbstractPluginSlot): | |||||
| elif i == 10: paramName = "I.del" | elif i == 10: paramName = "I.del" | ||||
| else: | else: | ||||
| paramName = getParameterShortName(paramInfo['name']) | |||||
| paramName = getParameterShortName(paramName) | |||||
| widget = PixmapDial(self, i) | widget = PixmapDial(self, i) | ||||
| @@ -1644,55 +1679,6 @@ class PluginSlot_ZynFX(AbstractPluginSlot): | |||||
| self.fParameterList.append([PARAMETER_VOLUME, widget]) | self.fParameterList.append([PARAMETER_VOLUME, widget]) | ||||
| self.ui.w_knobs_right.layout().addWidget(widget) | self.ui.w_knobs_right.layout().addWidget(widget) | ||||
| # ------------------------------------------------------------- | |||||
| # Set-up MIDI programs | |||||
| midiProgramCount = self.host.get_midi_program_count(self.fPluginId) | |||||
| if midiProgramCount > 0: | |||||
| self.ui.cb_presets.setEnabled(True) | |||||
| self.ui.label_presets.setEnabled(True) | |||||
| for i in range(midiProgramCount): | |||||
| mpData = self.host.get_midi_program_data(self.fPluginId, i) | |||||
| mpName = mpData['name'] | |||||
| self.ui.cb_presets.addItem(mpName) | |||||
| self.fCurrentMidiProgram = self.host.get_current_midi_program_index(self.fPluginId) | |||||
| self.ui.cb_presets.setCurrentIndex(self.fCurrentMidiProgram) | |||||
| else: | |||||
| self.fCurrentMidiProgram = -1 | |||||
| self.ui.cb_presets.setEnabled(False) | |||||
| self.ui.cb_presets.setVisible(False) | |||||
| self.ui.label_presets.setEnabled(False) | |||||
| self.ui.label_presets.setVisible(False) | |||||
| # ------------------------------------------------------------- | |||||
| self.b_enable = self.ui.b_enable | |||||
| self.b_gui = self.ui.b_gui | |||||
| self.b_edit = self.ui.b_edit | |||||
| self.cb_presets = self.ui.cb_presets | |||||
| self.label_name = self.ui.label_name | |||||
| self.label_presets = self.ui.label_presets | |||||
| self.led_control = self.ui.led_control | |||||
| self.led_midi = self.ui.led_midi | |||||
| self.led_audio_in = self.ui.led_audio_in | |||||
| self.led_audio_out = self.ui.led_audio_out | |||||
| self.peak_in = self.ui.peak_in | |||||
| self.peak_out = self.ui.peak_out | |||||
| self.ready() | |||||
| self.customContextMenuRequested.connect(self.slot_showDefaultCustomMenu) | |||||
| self.ui.cb_presets.currentIndexChanged.connect(self.slot_midiProgramChanged) | |||||
| #------------------------------------------------------------------ | #------------------------------------------------------------------ | ||||
| def getFixedHeight(self): | def getFixedHeight(self): | ||||
| @@ -1715,12 +1701,24 @@ class PluginSlot_ZynFX(AbstractPluginSlot): | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| def getSkinStyle(host, pluginId): | def getSkinStyle(host, pluginId): | ||||
| if False: | |||||
| # kdevelop likes this :) | |||||
| host = CarlaHostNull() | |||||
| progCount = 0 | |||||
| pluginInfo = PyCarlaPluginInfo | |||||
| pluginName = "" | |||||
| pluginInfo = host.get_plugin_info(pluginId) | pluginInfo = host.get_plugin_info(pluginId) | ||||
| pluginName = host.get_real_plugin_name(pluginId) | pluginName = host.get_real_plugin_name(pluginId) | ||||
| pluginLabel = pluginInfo['label'].lower() | pluginLabel = pluginInfo['label'].lower() | ||||
| pluginMaker = pluginInfo['maker'] | pluginMaker = pluginInfo['maker'] | ||||
| uniqueId = pluginInfo['uniqueId'] | uniqueId = pluginInfo['uniqueId'] | ||||
| if pluginInfo['type'] in (PLUGIN_VST2, PLUGIN_VST3, PLUGIN_AU): | |||||
| progCount = host.get_program_count(pluginId) | |||||
| else: | |||||
| progCount = host.get_midi_program_count(pluginId) | |||||
| # Samplers | # Samplers | ||||
| if pluginInfo['type'] == PLUGIN_GIG: | if pluginInfo['type'] == PLUGIN_GIG: | ||||
| return "gig" | return "gig" | ||||
| @@ -1729,6 +1727,18 @@ def getSkinStyle(host, pluginId): | |||||
| if pluginInfo['type'] == PLUGIN_SFZ: | if pluginInfo['type'] == PLUGIN_SFZ: | ||||
| return "sfz" | return "sfz" | ||||
| # Calf | |||||
| if pluginName.split(" ", 1)[0].lower() == "calf": | |||||
| return "calf_black" if "mono" in pluginLabel else "calf_blue" | |||||
| # MOD | |||||
| if pluginLabel.startswith("http://portalmod.com/") or pluginLabel.startswith("http://plugin.org.uk/swh-plugins/"): | |||||
| return "mod" | |||||
| # OpenAV | |||||
| if pluginMaker == "OpenAV Productions": | |||||
| return "openav" | |||||
| # ZynFX | # ZynFX | ||||
| if pluginInfo['type'] == PLUGIN_INTERNAL: | if pluginInfo['type'] == PLUGIN_INTERNAL: | ||||
| if pluginLabel.startswith("zyn") and pluginInfo['category'] != PLUGIN_CATEGORY_SYNTH: | if pluginLabel.startswith("zyn") and pluginInfo['category'] != PLUGIN_CATEGORY_SYNTH: | ||||
| @@ -1738,15 +1748,17 @@ def getSkinStyle(host, pluginId): | |||||
| if pluginLabel.startswith("zyn") and pluginMaker.startswith("Josep Andreu"): | if pluginLabel.startswith("zyn") and pluginMaker.startswith("Josep Andreu"): | ||||
| return "zynfx" | return "zynfx" | ||||
| # Groups | |||||
| if pluginName.split(" ", 1)[0].lower() == "calf": | |||||
| return "calf_black" if "mono" in pluginLabel else "calf_blue" | |||||
| if pluginLabel.startswith("http://portalmod.com/") or pluginLabel.startswith("http://plugin.org.uk/swh-plugins/"): | |||||
| return "mod" | |||||
| if pluginMaker == "OpenAV Productions": | |||||
| return "openav" | |||||
| if pluginInfo['type'] == PLUGIN_LV2: | |||||
| if pluginLabel.startswith("http://kxstudio.sf.net/carla/plugins/zyn") and pluginName != "ZynAddSubFX": | |||||
| return "zynfx" | |||||
| # Presets | |||||
| if progCount > 1 and (pluginInfo['hints'] & PLUGIN_USES_MULTI_PROGS) == 0: | |||||
| if pluginInfo['type'] in (PLUGIN_VST2, PLUGIN_VST3, PLUGIN_AU): | |||||
| return "presets" | |||||
| return "mpresets" | |||||
| # DISTRHO Plugins | |||||
| # DISTRHO Plugins (needs to be last) | |||||
| if pluginMaker.startswith("falkTX, ") or pluginMaker == "DISTRHO" or pluginLabel.startswith("http://distrho.sf.net/plugins/"): | if pluginMaker.startswith("falkTX, ") or pluginMaker == "DISTRHO" or pluginLabel.startswith("http://distrho.sf.net/plugins/"): | ||||
| return pluginLabel.replace("http://distrho.sf.net/plugins/","") | return pluginLabel.replace("http://distrho.sf.net/plugins/","") | ||||
| @@ -1754,20 +1766,20 @@ def getSkinStyle(host, pluginId): | |||||
| def createPluginSlot(parent, host, pluginId, options): | def createPluginSlot(parent, host, pluginId, options): | ||||
| if not options['useSkins']: | if not options['useSkins']: | ||||
| return PluginSlot_Default(parent, host, pluginId) | |||||
| return PluginSlot_Classic(parent, host, pluginId) | |||||
| skinStyle = getSkinStyle(host, pluginId) | skinStyle = getSkinStyle(host, pluginId) | ||||
| if options['compact'] or "compact" in skinStyle: | |||||
| if "compact" in skinStyle or options['compact']: | |||||
| return PluginSlot_Compact(parent, host, pluginId, skinStyle) | return PluginSlot_Compact(parent, host, pluginId, skinStyle) | ||||
| if "calf" in skinStyle: | if "calf" in skinStyle: | ||||
| return PluginSlot_Calf(parent, host, pluginId, skinStyle) | return PluginSlot_Calf(parent, host, pluginId, skinStyle) | ||||
| if skinStyle == "zynfx": | |||||
| return PluginSlot_ZynFX(parent, host, pluginId, skinStyle) | |||||
| if skinStyle in ("mpresets", "presets", "zynfx"): | |||||
| return PluginSlot_Presets(parent, host, pluginId, skinStyle) | |||||
| return PluginSlot_BasicFX(parent, host, pluginId, skinStyle) | |||||
| return PluginSlot_Default(parent, host, pluginId, skinStyle) | |||||
| # ------------------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------------------ | ||||
| # Main Testing | # Main Testing | ||||
| @@ -59,7 +59,7 @@ typedef enum { | |||||
| NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS = 1 << 3, | NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS = 1 << 3, | ||||
| NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD = 1 << 4, | NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD = 1 << 4, | ||||
| NATIVE_PLUGIN_NEEDS_UI_OPEN_SAVE = 1 << 6, | NATIVE_PLUGIN_NEEDS_UI_OPEN_SAVE = 1 << 6, | ||||
| NATIVE_PLUGIN_USES_MULTI_PROGS = 1 << 7, /** has 1 patch per midi channel */ | |||||
| NATIVE_PLUGIN_USES_MULTI_PROGS = 1 << 7, /** has 1 program per midi channel */ | |||||
| NATIVE_PLUGIN_USES_PANNING = 1 << 8, /** uses stereo balance if unset (default) */ | NATIVE_PLUGIN_USES_PANNING = 1 << 8, /** uses stereo balance if unset (default) */ | ||||
| NATIVE_PLUGIN_USES_STATE = 1 << 9, | NATIVE_PLUGIN_USES_STATE = 1 << 9, | ||||
| NATIVE_PLUGIN_USES_TIME = 1 << 10, | NATIVE_PLUGIN_USES_TIME = 1 << 10, | ||||