aboutsummaryrefslogtreecommitdiff
path: root/qmidiplayer-desktop
diff options
context:
space:
mode:
authorGravatar Chris Xiong <chirs241097@gmail.com> 2016-04-20 23:29:39 +0800
committerGravatar Chris Xiong <chirs241097@gmail.com> 2016-04-20 23:29:39 +0800
commit32568af90e5c521c68432a7e77b6dd8bf524adde (patch)
treee2bed775bf9953f26ad94531da2a20ec9f967482 /qmidiplayer-desktop
parentb68f60e023175b144664de092c31416fa5b58880 (diff)
downloadQMidiPlayer-32568af90e5c521c68432a7e77b6dd8bf524adde.tar.xz
UI refinements and fix to two memory leaks.
Minor improvement in MIDI reading process.
Diffstat (limited to 'qmidiplayer-desktop')
-rw-r--r--qmidiplayer-desktop/qmidiplayer-desktop.pro3
-rw-r--r--qmidiplayer-desktop/qmpchanneleditor.ui1078
-rw-r--r--qmidiplayer-desktop/qmpmainwindow.cpp40
-rw-r--r--qmidiplayer-desktop/qmpmainwindow.hpp21
-rw-r--r--qmidiplayer-desktop/qmpmainwindow.ui860
-rw-r--r--qmidiplayer-desktop/qmpplistwindow.ui502
-rw-r--r--qmidiplayer-desktop/qmppresetselect.ui165
-rw-r--r--qmidiplayer-desktop/qmpsettingswindow.ui18
8 files changed, 1448 insertions, 1239 deletions
diff --git a/qmidiplayer-desktop/qmidiplayer-desktop.pro b/qmidiplayer-desktop/qmidiplayer-desktop.pro
index c7d2e99..4eaf3dd 100644
--- a/qmidiplayer-desktop/qmidiplayer-desktop.pro
+++ b/qmidiplayer-desktop/qmidiplayer-desktop.pro
@@ -83,7 +83,8 @@ unix{
win32{
#change these before building...
LIBS += e:/libs/fluidsynth/fluidsynth.lib winmm.lib
- LIBS += e:/libs/rtmidi/rtmidi.lib
+ Release:LIBS += e:/libs/rtmidi/rtmidi.lib
+ Debug:LIBS += e:/libs/rtmidi/rtmidid.lib
INCLUDEPATH += e:/libs/fluidsynth/include
INCLUDEPATH += e:/libs/rtmidi
RC_FILE = qmidiplayer.rc
diff --git a/qmidiplayer-desktop/qmpchanneleditor.ui b/qmidiplayer-desktop/qmpchanneleditor.ui
index 49e8c8e..ccd944b 100644
--- a/qmidiplayer-desktop/qmpchanneleditor.ui
+++ b/qmidiplayer-desktop/qmpchanneleditor.ui
@@ -25,577 +25,513 @@
<property name="windowTitle">
<string>Dialog</string>
</property>
- <widget class="QPushButton" name="pbChLeft">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>10</y>
- <width>21</width>
- <height>21</height>
- </rect>
- </property>
- <property name="text">
- <string>&lt;</string>
- </property>
- </widget>
- <widget class="QLabel" name="lbChannelNumber">
- <property name="geometry">
- <rect>
- <x>30</x>
- <y>10</y>
- <width>21</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>1</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- <widget class="QPushButton" name="pbChRight">
- <property name="geometry">
- <rect>
- <x>50</x>
- <y>10</y>
- <width>21</width>
- <height>21</height>
- </rect>
- </property>
- <property name="text">
- <string>&gt;</string>
- </property>
- </widget>
- <widget class="QLabel" name="lbPresetName">
- <property name="geometry">
- <rect>
- <x>90</x>
- <y>10</y>
- <width>261</width>
- <height>51</height>
- </rect>
- </property>
- <property name="font">
- <font>
- <pointsize>16</pointsize>
- </font>
- </property>
- <property name="text">
- <string>Yamaha Grand Piano</string>
- </property>
- </widget>
- <widget class="QLabel" name="lbBank">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>30</y>
- <width>81</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>BK: 0</string>
- </property>
- </widget>
- <widget class="QLabel" name="lbPreset">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>50</y>
- <width>81</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>PC: 0</string>
- </property>
- </widget>
- <widget class="QGroupBox" name="gFilters">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>70</y>
- <width>141</width>
- <height>101</height>
- </rect>
- </property>
- <property name="title">
- <string>Filters</string>
- </property>
- <widget class="QLabel" name="lbReso">
- <property name="geometry">
- <rect>
- <x>70</x>
- <y>80</y>
- <width>66</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Res. 64</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- <widget class="QDial" name="dReso">
- <property name="geometry">
- <rect>
- <x>80</x>
- <y>30</y>
- <width>50</width>
- <height>51</height>
- </rect>
- </property>
- <property name="maximum">
- <number>127</number>
- </property>
- <property name="value">
- <number>64</number>
- </property>
- <property name="notchesVisible">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QDial" name="dCut">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>30</y>
- <width>50</width>
- <height>51</height>
- </rect>
- </property>
- <property name="maximum">
- <number>127</number>
- </property>
- <property name="value">
- <number>64</number>
- </property>
- <property name="notchesVisible">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QLabel" name="lbCut">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>80</y>
- <width>71</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Cut. 64</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </widget>
- <widget class="QGroupBox" name="gEffects">
- <property name="geometry">
- <rect>
- <x>140</x>
- <y>70</y>
- <width>141</width>
- <height>101</height>
- </rect>
- </property>
- <property name="title">
- <string>Effects</string>
- </property>
- <widget class="QLabel" name="lbChorus">
- <property name="geometry">
- <rect>
- <x>70</x>
- <y>80</y>
- <width>66</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Chr. 64</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- <widget class="QDial" name="dChorus">
- <property name="geometry">
- <rect>
- <x>80</x>
- <y>30</y>
- <width>50</width>
- <height>51</height>
- </rect>
- </property>
- <property name="maximum">
- <number>127</number>
- </property>
- <property name="value">
- <number>64</number>
- </property>
- <property name="notchesVisible">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QDial" name="dReverb">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>30</y>
- <width>50</width>
- <height>51</height>
- </rect>
- </property>
- <property name="maximum">
- <number>127</number>
- </property>
- <property name="value">
- <number>64</number>
- </property>
- <property name="notchesVisible">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QLabel" name="lbReverb">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>80</y>
- <width>71</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Rev. 64</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </widget>
- <widget class="QGroupBox" name="gEnvelope">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>170</y>
- <width>211</width>
- <height>101</height>
- </rect>
- </property>
- <property name="title">
- <string>Envelope</string>
- </property>
- <widget class="QLabel" name="lbDecay">
- <property name="geometry">
- <rect>
- <x>70</x>
- <y>80</y>
- <width>66</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Dec. 64</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- <widget class="QDial" name="dDecay">
- <property name="geometry">
- <rect>
- <x>80</x>
- <y>30</y>
- <width>50</width>
- <height>51</height>
- </rect>
- </property>
- <property name="maximum">
- <number>127</number>
- </property>
- <property name="value">
- <number>64</number>
- </property>
- <property name="notchesVisible">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QDial" name="dAttack">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>30</y>
- <width>50</width>
- <height>51</height>
- </rect>
- </property>
- <property name="maximum">
- <number>127</number>
- </property>
- <property name="value">
- <number>64</number>
- </property>
- <property name="notchesVisible">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QLabel" name="lbAttack">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>80</y>
- <width>71</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Atk. 64</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- <widget class="QDial" name="dRelease">
- <property name="geometry">
- <rect>
- <x>150</x>
- <y>30</y>
- <width>50</width>
- <height>51</height>
- </rect>
- </property>
- <property name="maximum">
- <number>127</number>
- </property>
- <property name="value">
- <number>64</number>
- </property>
- <property name="notchesVisible">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QLabel" name="lbRelease">
- <property name="geometry">
- <rect>
- <x>140</x>
- <y>80</y>
- <width>66</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Rel. 64</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </widget>
- <widget class="QGroupBox" name="gVibrato">
- <property name="geometry">
- <rect>
- <x>210</x>
- <y>170</y>
- <width>211</width>
- <height>101</height>
- </rect>
- </property>
- <property name="title">
- <string>Vibrato</string>
- </property>
- <widget class="QLabel" name="lbDepth">
- <property name="geometry">
- <rect>
- <x>70</x>
- <y>80</y>
- <width>66</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Dep. 64</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- <widget class="QDial" name="dDepth">
- <property name="geometry">
- <rect>
- <x>80</x>
- <y>30</y>
- <width>50</width>
- <height>51</height>
- </rect>
- </property>
- <property name="maximum">
- <number>127</number>
- </property>
- <property name="value">
- <number>64</number>
- </property>
- <property name="notchesVisible">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QDial" name="dRate">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>30</y>
- <width>50</width>
- <height>51</height>
- </rect>
- </property>
- <property name="maximum">
- <number>127</number>
- </property>
- <property name="value">
- <number>64</number>
- </property>
- <property name="notchesVisible">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QLabel" name="lbRate">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>80</y>
- <width>71</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Rate 64</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- <widget class="QDial" name="dDelay">
- <property name="geometry">
- <rect>
- <x>150</x>
- <y>30</y>
- <width>50</width>
- <height>51</height>
- </rect>
- </property>
- <property name="maximum">
- <number>127</number>
- </property>
- <property name="value">
- <number>64</number>
- </property>
- <property name="notchesVisible">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QLabel" name="lbDelay">
- <property name="geometry">
- <rect>
- <x>140</x>
- <y>80</y>
- <width>66</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Del. 64</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </widget>
- <widget class="QGroupBox" name="gMixer">
- <property name="geometry">
- <rect>
- <x>280</x>
- <y>70</y>
- <width>141</width>
- <height>101</height>
- </rect>
- </property>
- <property name="title">
- <string>Mixer</string>
- </property>
- <widget class="QLabel" name="lbPan">
- <property name="geometry">
- <rect>
- <x>70</x>
- <y>80</y>
- <width>66</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Pan. C</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- <widget class="QDial" name="dPan">
- <property name="geometry">
- <rect>
- <x>80</x>
- <y>30</y>
- <width>50</width>
- <height>51</height>
- </rect>
- </property>
- <property name="maximum">
- <number>127</number>
- </property>
- <property name="value">
- <number>64</number>
- </property>
- <property name="notchesVisible">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QLabel" name="lbVol">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>80</y>
- <width>66</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Vol. 127</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- <widget class="QDial" name="dVol">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>30</y>
- <width>50</width>
- <height>51</height>
- </rect>
- </property>
- <property name="maximum">
- <number>127</number>
- </property>
- <property name="value">
- <number>127</number>
- </property>
- <property name="notchesVisible">
- <bool>true</bool>
- </property>
- </widget>
- </widget>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QPushButton" name="pbChLeft">
+ <property name="minimumSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>&lt;</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="lbChannelNumber">
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>1</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pbChRight">
+ <property name="minimumSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>&gt;</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QLabel" name="lbBank">
+ <property name="text">
+ <string>BK: 0</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="lbPreset">
+ <property name="text">
+ <string>PC: 0</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QLabel" name="lbPresetName">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>16</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string>Yamaha Grand Piano</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="QGroupBox" name="gFilters">
+ <property name="title">
+ <string>Filters</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>4</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QDial" name="dCut">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="value">
+ <number>64</number>
+ </property>
+ <property name="notchesVisible">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QDial" name="dReso">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="value">
+ <number>64</number>
+ </property>
+ <property name="notchesVisible">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="lbCut">
+ <property name="text">
+ <string>Cut. 64</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="lbReso">
+ <property name="text">
+ <string>Res. 64</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="gEffects">
+ <property name="title">
+ <string>Effects</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>4</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QDial" name="dReverb">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="value">
+ <number>64</number>
+ </property>
+ <property name="notchesVisible">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QDial" name="dChorus">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="value">
+ <number>64</number>
+ </property>
+ <property name="notchesVisible">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="lbReverb">
+ <property name="text">
+ <string>Rev. 64</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="lbChorus">
+ <property name="text">
+ <string>Chr. 64</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="gMixer">
+ <property name="title">
+ <string>Mixer</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>4</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QDial" name="dVol">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="value">
+ <number>127</number>
+ </property>
+ <property name="notchesVisible">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QDial" name="dPan">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="value">
+ <number>64</number>
+ </property>
+ <property name="notchesVisible">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="lbVol">
+ <property name="text">
+ <string>Vol. 127</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="lbPan">
+ <property name="text">
+ <string>Pan. C</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <item>
+ <widget class="QGroupBox" name="gEnvelope">
+ <property name="title">
+ <string>Envelope</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>4</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QDial" name="dAttack">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="value">
+ <number>64</number>
+ </property>
+ <property name="notchesVisible">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QDial" name="dDecay">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="value">
+ <number>64</number>
+ </property>
+ <property name="notchesVisible">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QDial" name="dRelease">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="value">
+ <number>64</number>
+ </property>
+ <property name="notchesVisible">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="lbAttack">
+ <property name="text">
+ <string>Atk. 64</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="lbDecay">
+ <property name="text">
+ <string>Dec. 64</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="lbRelease">
+ <property name="text">
+ <string>Rel. 64</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="gVibrato">
+ <property name="title">
+ <string>Vibrato</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_5">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>4</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QDial" name="dRate">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="value">
+ <number>64</number>
+ </property>
+ <property name="notchesVisible">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QDial" name="dDepth">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="value">
+ <number>64</number>
+ </property>
+ <property name="notchesVisible">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QDial" name="dDelay">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="value">
+ <number>64</number>
+ </property>
+ <property name="notchesVisible">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="lbRate">
+ <property name="text">
+ <string>Rate 64</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="lbDepth">
+ <property name="text">
+ <string>Dep. 64</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="lbDelay">
+ <property name="text">
+ <string>Del. 64</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
</widget>
<resources/>
<connections/>
diff --git a/qmidiplayer-desktop/qmpmainwindow.cpp b/qmidiplayer-desktop/qmpmainwindow.cpp
index e38ed2a..c04bc93 100644
--- a/qmidiplayer-desktop/qmpmainwindow.cpp
+++ b/qmidiplayer-desktop/qmpmainwindow.cpp
@@ -1,7 +1,9 @@
#include <cstdio>
+#include <cmath>
#include <QUrl>
#include <QFileInfo>
#include <QMimeData>
+#include <QFont>
#include <QDirIterator>
#include <QDesktopWidget>
#include "qmpmainwindow.hpp"
@@ -43,6 +45,7 @@ qmpMainWindow::qmpMainWindow(QWidget *parent) :
ui(new Ui::qmpMainWindow)
{
ui->setupUi(this);
+ ui->lnPolyphone->display("00000-00000");
ui->lbFileName->setText("");ref=this;
playing=false;stopped=true;dragging=false;
settingsw=new qmpSettingsWindow(this);
@@ -219,7 +222,7 @@ void qmpMainWindow::updateWidgets()
chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked();
ui->pbPlayPause->setIcon(QIcon(":/img/play.png"));
ui->hsTimer->setValue(0);
- ui->lbPolyphone->setText("Poly: 0/0");
+ ui->lnPolyphone->display("00000-00000");
ui->lbCurTime->setText("00:00");
}
else
@@ -230,7 +233,8 @@ void qmpMainWindow::updateWidgets()
if(singleFS)player->playerPanic(true);
chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked();
QString fns=plistw->getNextItem();
- ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName());
+ ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName().left(QUrl::fromLocalFile(fns).fileName().lastIndexOf('.')));
+ onfnChanged();
LOAD_FILE;
char ts[100];
sprintf(ts,"%02d:%02d",(int)player->getFtime()/60,(int)player->getFtime()%60);
@@ -276,8 +280,9 @@ void qmpMainWindow::updateWidgets()
char ts[100];
sprintf(ts,"%02d:%02d",(int)(elapsed.count()+offset)/60,(int)(elapsed.count()+offset)%60);
ui->lbCurTime->setText(ts);
- sprintf(ts,"Poly: %d/%d",player->getPolyphone(),player->getMaxPolyphone());
- ui->lbPolyphone->setText(ts);
+ //sprintf(ts,"Poly: %d/%d",player->getPolyphone(),player->getMaxPolyphone());
+ ui->lnPolyphone->display(QString("%1-%2").arg(player->getPolyphone(),5,10,QChar('0'))
+ .arg(player->getMaxPolyphone(),5,10,QChar('0')));
}
}
@@ -330,7 +335,8 @@ void qmpMainWindow::on_pbPlayPause_clicked()
fns=plistw->getFirstItem();
if(!fns.length())return(void)(playing=false);
}
- ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName());
+ ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName().left(QUrl::fromLocalFile(fns).fileName().lastIndexOf('.')));
+ onfnChanged();
LOAD_FILE;
char ts[100];
sprintf(ts,"%02d:%02d",(int)player->getFtime()/60,(int)player->getFtime()%60);
@@ -408,7 +414,7 @@ void qmpMainWindow::on_pbStop_clicked()
chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked();
ui->pbPlayPause->setIcon(QIcon(":/img/play.png"));
ui->hsTimer->setValue(0);
- ui->lbPolyphone->setText("Poly: 0/0");
+ ui->lnPolyphone->display("00000-00000");
ui->lbCurTime->setText("00:00");
}
}
@@ -454,7 +460,8 @@ void qmpMainWindow::on_pbPrev_clicked()
if(singleFS)player->playerPanic(true);
ui->hsTimer->setValue(0);chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked();
QString fns=plistw->getPrevItem();if(fns.length()==0)return on_pbStop_clicked();
- ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName());
+ ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName().left(QUrl::fromLocalFile(fns).fileName().lastIndexOf('.')));
+ onfnChanged();
LOAD_FILE;
char ts[100];
sprintf(ts,"%02d:%02d",(int)player->getFtime()/60,(int)player->getFtime()%60);
@@ -479,7 +486,8 @@ void qmpMainWindow::on_pbNext_clicked()
if(singleFS)player->playerPanic(true);
ui->hsTimer->setValue(0);chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked();
QString fns=plistw->getNextItem();if(fns.length()==0)return on_pbStop_clicked();
- ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName());
+ ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName().left(QUrl::fromLocalFile(fns).fileName().lastIndexOf('.')));
+ onfnChanged();
LOAD_FILE;
char ts[100];
sprintf(ts,"%02d:%02d",(int)player->getFtime()/60,(int)player->getFtime()%60);
@@ -507,7 +515,8 @@ void qmpMainWindow::selectionChanged()
ui->hsTimer->setValue(0);
chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked();
QString fns=plistw->getSelectedItem();
- ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName());
+ ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName().left(QUrl::fromLocalFile(fns).fileName().lastIndexOf('.')));
+ onfnChanged();
LOAD_FILE;
char ts[100];
sprintf(ts,"%02d:%02d",(int)player->getFtime()/60,(int)player->getFtime()%60);
@@ -546,6 +555,19 @@ void qmpMainWindow::on_lbFileName_customContextMenuRequested(const QPoint &pos)
menu.exec(this->pos()+ui->lbFileName->pos()+pos);
}
+void qmpMainWindow::onfnChanged()
+{
+ if(!ui->lbFileName->text().length())return;
+ QFont f=ui->lbFileName->font();f.setPointSize(18);
+ QFontMetrics fm(f);
+ QSize size=fm.size(0,ui->lbFileName->text());
+ double fw=ui->lbFileName->width()/(double)size.width();
+ double fh=ui->lbFileName->height()/(double)size.height();
+ double ps=floor(f.pointSizeF()*(fw<fh?fw:fh));if(ps<6)ps=6;
+ f.setPointSizeF(ps>18?18:ps);
+ ui->lbFileName->setFont(f);
+}
+
void qmpMainWindow::onfnA1()
{
infow->show();
diff --git a/qmidiplayer-desktop/qmpmainwindow.hpp b/qmidiplayer-desktop/qmpmainwindow.hpp
index 55e0b12..2f3876d 100644
--- a/qmidiplayer-desktop/qmpmainwindow.hpp
+++ b/qmidiplayer-desktop/qmpmainwindow.hpp
@@ -7,9 +7,11 @@
#include <QMoveEvent>
#include <QDropEvent>
#include <QDragEnterEvent>
+#include <QMouseEvent>
#include <QAction>
#include <QMenu>
#include <QApplication>
+#include <QSlider>
#include <thread>
#include <chrono>
#include "../core/qmpmidiplay.hpp"
@@ -24,6 +26,24 @@ namespace Ui {
class qmpMainWindow;
}
+class QClickableSlider:public QSlider
+{
+ Q_OBJECT
+ public:
+ explicit QClickableSlider(QWidget *parent=0):QSlider(parent){}
+ protected:
+ void mouseReleaseEvent(QMouseEvent *e)
+ {
+ QSlider::mouseReleaseEvent(e);
+ if(e->buttons()^Qt::LeftButton)
+ {
+ double p=e->pos().x()/(double)width();
+ setValue(p*(maximum()-minimum())+minimum());
+ emit sliderReleased();
+ }
+ }
+};
+
class qmpMainWindow:public QMainWindow
{
Q_OBJECT
@@ -83,6 +103,7 @@ class qmpMainWindow:public QMainWindow
qmpHelpWindow *helpw;
QAction *fnA1,*fnA2,*fnA3;
+ void onfnChanged();
void playerSetup();
private:
diff --git a/qmidiplayer-desktop/qmpmainwindow.ui b/qmidiplayer-desktop/qmpmainwindow.ui
index 0764e09..e61c3d4 100644
--- a/qmidiplayer-desktop/qmpmainwindow.ui
+++ b/qmidiplayer-desktop/qmpmainwindow.ui
@@ -6,19 +6,19 @@
<rect>
<x>0</x>
<y>0</y>
- <width>435</width>
+ <width>450</width>
<height>245</height>
</rect>
</property>
<property name="minimumSize">
<size>
- <width>435</width>
+ <width>450</width>
<height>245</height>
</size>
</property>
<property name="maximumSize">
<size>
- <width>435</width>
+ <width>450</width>
<height>245</height>
</size>
</property>
@@ -33,379 +33,521 @@
<normaloff>:/img/qmidiplyr.png</normaloff>:/img/qmidiplyr.png</iconset>
</property>
<widget class="QWidget" name="centralWidget">
- <widget class="QLabel" name="lbFileName">
- <property name="geometry">
- <rect>
- <x>30</x>
- <y>20</y>
- <width>311</width>
- <height>41</height>
- </rect>
- </property>
- <property name="font">
- <font>
- <pointsize>18</pointsize>
- </font>
- </property>
- <property name="contextMenuPolicy">
- <enum>Qt::CustomContextMenu</enum>
- </property>
- <property name="text">
- <string>somefile.mid</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- <widget class="QSlider" name="hsTimer">
- <property name="geometry">
- <rect>
- <x>20</x>
- <y>90</y>
- <width>321</width>
- <height>20</height>
- </rect>
- </property>
- <property name="maximum">
- <number>100</number>
- </property>
- <property name="pageStep">
- <number>0</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- <widget class="QPushButton" name="pbPlayPause">
- <property name="geometry">
- <rect>
- <x>20</x>
- <y>110</y>
- <width>61</width>
- <height>36</height>
- </rect>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/play.png</normaloff>:/img/play.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- <widget class="QPushButton" name="pbStop">
- <property name="geometry">
- <rect>
- <x>80</x>
- <y>110</y>
- <width>61</width>
- <height>36</height>
- </rect>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/stop.png</normaloff>:/img/stop.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- <widget class="QPushButton" name="pbPrev">
- <property name="geometry">
- <rect>
- <x>140</x>
- <y>110</y>
- <width>61</width>
- <height>36</height>
- </rect>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/prev.png</normaloff>:/img/prev.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- <widget class="QPushButton" name="pbNext">
- <property name="geometry">
- <rect>
- <x>200</x>
- <y>110</y>
- <width>61</width>
- <height>36</height>
- </rect>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/next.png</normaloff>:/img/next.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- <widget class="QPushButton" name="pbSettings">
- <property name="geometry">
- <rect>
- <x>280</x>
- <y>110</y>
- <width>61</width>
- <height>36</height>
- </rect>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/settings.png</normaloff>:/img/settings.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QPushButton" name="pbChannels">
- <property name="geometry">
- <rect>
- <x>20</x>
- <y>160</y>
- <width>151</width>
- <height>36</height>
- </rect>
- </property>
- <property name="styleSheet">
- <string notr="true">text-align:left</string>
- </property>
- <property name="text">
- <string>Channels</string>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/channel.png</normaloff>:/img/channel.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QPushButton" name="pbPList">
- <property name="geometry">
- <rect>
- <x>190</x>
- <y>160</y>
- <width>151</width>
- <height>36</height>
- </rect>
- </property>
- <property name="styleSheet">
- <string notr="true">text-align:left</string>
- </property>
- <property name="text">
- <string>Playlist</string>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/list.png</normaloff>:/img/list.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <property name="checked">
- <bool>false</bool>
- </property>
- <property name="flat">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="QPushButton" name="pbEfx">
- <property name="geometry">
- <rect>
- <x>20</x>
- <y>200</y>
- <width>151</width>
- <height>36</height>
- </rect>
- </property>
- <property name="styleSheet">
- <string notr="true">text-align:left</string>
- </property>
- <property name="text">
- <string>Effects</string>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/effects.png</normaloff>:/img/effects.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QPushButton" name="pbVisualization">
- <property name="geometry">
- <rect>
- <x>190</x>
- <y>200</y>
- <width>151</width>
- <height>36</height>
- </rect>
- </property>
- <property name="styleSheet">
- <string notr="true">text-align:left</string>
- </property>
- <property name="text">
- <string>Visualization</string>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/visualization.png</normaloff>:/img/visualization.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- <widget class="QLabel" name="lbPolyphone">
- <property name="geometry">
- <rect>
- <x>320</x>
- <y>20</y>
- <width>111</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Poly: 0/0&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- <widget class="QSlider" name="vsMasterVol">
- <property name="geometry">
- <rect>
- <x>370</x>
- <y>50</y>
- <width>20</width>
- <height>160</height>
- </rect>
- </property>
- <property name="maximum">
- <number>100</number>
- </property>
- <property name="value">
- <number>50</number>
- </property>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- </widget>
- <widget class="QLabel" name="lbMasterVol">
- <property name="geometry">
- <rect>
- <x>360</x>
- <y>210</y>
- <width>61</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Master</string>
- </property>
- </widget>
- <widget class="QLabel" name="lbCurTime">
- <property name="geometry">
- <rect>
- <x>20</x>
- <y>70</y>
- <width>66</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>00:00</string>
- </property>
- </widget>
- <widget class="QLabel" name="lbFinTime">
+ <widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
- <x>270</x>
- <y>70</y>
- <width>66</width>
- <height>20</height>
+ <x>0</x>
+ <y>0</y>
+ <width>21</width>
+ <height>21</height>
</rect>
</property>
<property name="text">
- <string>00:00</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ <string>?</string>
</property>
</widget>
- <widget class="QPushButton" name="pushButton">
+ <widget class="QWidget" name="horizontalLayoutWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
- <width>21</width>
- <height>21</height>
+ <width>451</width>
+ <height>241</height>
</rect>
</property>
- <property name="text">
- <string>?</string>
- </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="leftMargin">
+ <number>4</number>
+ </property>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QLabel" name="lbFileName">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>18</pointsize>
+ </font>
+ </property>
+ <property name="contextMenuPolicy">
+ <enum>Qt::CustomContextMenu</enum>
+ </property>
+ <property name="text">
+ <string>somefile.mid</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignHCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="lbCurTime">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>00:00</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="lbFinTime">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>00:00</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QClickableSlider" name="hsTimer">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ <property name="pageStep">
+ <number>0</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="pbPlayPause">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>34</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/play.png</normaloff>:/img/play.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pbStop">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>34</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>34</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/stop.png</normaloff>:/img/stop.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pbPrev">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>34</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>34</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/prev.png</normaloff>:/img/prev.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pbNext">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>34</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>34</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/next.png</normaloff>:/img/next.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pbSettings">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>34</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>34</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/settings.png</normaloff>:/img/settings.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QPushButton" name="pbChannels">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>36</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">text-align:left</string>
+ </property>
+ <property name="text">
+ <string>Channels</string>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/channel.png</normaloff>:/img/channel.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="pbPList">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>36</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">text-align:left</string>
+ </property>
+ <property name="text">
+ <string>Playlist</string>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/list.png</normaloff>:/img/list.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="flat">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QPushButton" name="pbEfx">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>36</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">text-align:left</string>
+ </property>
+ <property name="text">
+ <string>Effects</string>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/effects.png</normaloff>:/img/effects.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QPushButton" name="pbVisualization">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>36</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">text-align:left</string>
+ </property>
+ <property name="text">
+ <string>Visualization</string>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/visualization.png</normaloff>:/img/visualization.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>4</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="lbPolyphone">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Poly&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignHCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLCDNumber" name="lnPolyphone">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>84</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="digitCount">
+ <number>11</number>
+ </property>
+ <property name="segmentStyle">
+ <enum>QLCDNumber::Flat</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSlider" name="vsMasterVol">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ <property name="value">
+ <number>50</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="lbMasterVol">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Master</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
</widget>
+ <zorder>horizontalLayoutWidget</zorder>
+ <zorder>pushButton</zorder>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
+ <customwidgets>
+ <customwidget>
+ <class>QClickableSlider</class>
+ <extends>QSlider</extends>
+ <header>qmpmainwindow.hpp</header>
+ </customwidget>
+ </customwidgets>
<resources>
<include location="resources.qrc"/>
</resources>
diff --git a/qmidiplayer-desktop/qmpplistwindow.ui b/qmidiplayer-desktop/qmpplistwindow.ui
index 99124df..7b4eaa5 100644
--- a/qmidiplayer-desktop/qmpplistwindow.ui
+++ b/qmidiplayer-desktop/qmpplistwindow.ui
@@ -28,233 +28,281 @@
<property name="windowTitle">
<string>Playlist</string>
</property>
- <widget class="QPushButton" name="pbAdd">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>280</y>
- <width>121</width>
- <height>36</height>
- </rect>
- </property>
- <property name="styleSheet">
- <string notr="true">text-align:left</string>
- </property>
- <property name="text">
- <string>Add</string>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/add.png</normaloff>:/img/add.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- <widget class="QPushButton" name="pbAddFolder">
- <property name="geometry">
- <rect>
- <x>140</x>
- <y>280</y>
- <width>121</width>
- <height>36</height>
- </rect>
- </property>
- <property name="styleSheet">
- <string notr="true">text-align:left</string>
- </property>
- <property name="text">
- <string>Add Folder</string>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/addfolder.png</normaloff>:/img/addfolder.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- <widget class="QPushButton" name="pbRepeat">
- <property name="geometry">
- <rect>
- <x>270</x>
- <y>240</y>
- <width>121</width>
- <height>36</height>
- </rect>
- </property>
- <property name="styleSheet">
- <string notr="true">text-align:left</string>
- </property>
- <property name="text">
- <string>Repeat Off</string>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/repeat-non.png</normaloff>:/img/repeat-non.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- <widget class="QPushButton" name="pbShuffle">
- <property name="geometry">
- <rect>
- <x>400</x>
- <y>240</y>
- <width>121</width>
- <height>36</height>
- </rect>
- </property>
- <property name="styleSheet">
- <string notr="true">text-align:left</string>
- </property>
- <property name="text">
- <string>Shuffle Off</string>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/shuffle-off.png</normaloff>:/img/shuffle-off.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- <widget class="QPushButton" name="pbSave">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>240</y>
- <width>121</width>
- <height>36</height>
- </rect>
- </property>
- <property name="styleSheet">
- <string notr="true">text-align:left</string>
- </property>
- <property name="text">
- <string>Save</string>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/save.png</normaloff>:/img/save.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- <widget class="QPushButton" name="pbLoad">
- <property name="geometry">
- <rect>
- <x>140</x>
- <y>240</y>
- <width>121</width>
- <height>36</height>
- </rect>
- </property>
- <property name="styleSheet">
- <string notr="true">text-align:left</string>
- </property>
- <property name="text">
- <string>Load</string>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/load.png</normaloff>:/img/load.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- <widget class="QPushButton" name="pbRemove">
- <property name="geometry">
- <rect>
- <x>270</x>
- <y>280</y>
- <width>121</width>
- <height>36</height>
- </rect>
- </property>
- <property name="styleSheet">
- <string notr="true">text-align:left</string>
- </property>
- <property name="text">
- <string>Remove</string>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/remove.png</normaloff>:/img/remove.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- <widget class="QPushButton" name="pbClear">
- <property name="geometry">
- <rect>
- <x>400</x>
- <y>280</y>
- <width>121</width>
- <height>36</height>
- </rect>
- </property>
- <property name="styleSheet">
- <string notr="true">text-align:left</string>
- </property>
- <property name="text">
- <string>Clear</string>
- </property>
- <property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/img/clear.png</normaloff>:/img/clear.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- <widget class="QListWidget" name="lwFiles">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>10</y>
- <width>511</width>
- <height>221</height>
- </rect>
- </property>
- <property name="acceptDrops">
- <bool>false</bool>
- </property>
- <property name="dragEnabled">
- <bool>true</bool>
- </property>
- <property name="dragDropMode">
- <enum>QAbstractItemView::InternalMove</enum>
- </property>
- </widget>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QListWidget" name="lwFiles">
+ <property name="acceptDrops">
+ <bool>false</bool>
+ </property>
+ <property name="dragEnabled">
+ <bool>true</bool>
+ </property>
+ <property name="dragDropMode">
+ <enum>QAbstractItemView::InternalMove</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QPushButton" name="pbSave">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>36</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">text-align:left</string>
+ </property>
+ <property name="text">
+ <string>Save</string>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/save.png</normaloff>:/img/save.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QPushButton" name="pbAdd">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>36</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">text-align:left</string>
+ </property>
+ <property name="text">
+ <string>Add</string>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/add.png</normaloff>:/img/add.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="pbLoad">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>36</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">text-align:left</string>
+ </property>
+ <property name="text">
+ <string>Load</string>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/load.png</normaloff>:/img/load.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="pbRepeat">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>36</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">text-align:left</string>
+ </property>
+ <property name="text">
+ <string>Repeat Off</string>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/repeat-non.png</normaloff>:/img/repeat-non.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QPushButton" name="pbRemove">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>36</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">text-align:left</string>
+ </property>
+ <property name="text">
+ <string>Remove</string>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/remove.png</normaloff>:/img/remove.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QPushButton" name="pbAddFolder">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>36</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">text-align:left</string>
+ </property>
+ <property name="text">
+ <string>Add Folder</string>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/addfolder.png</normaloff>:/img/addfolder.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QPushButton" name="pbShuffle">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>36</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">text-align:left</string>
+ </property>
+ <property name="text">
+ <string>Shuffle Off</string>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/shuffle-off.png</normaloff>:/img/shuffle-off.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QPushButton" name="pbClear">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>36</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">text-align:left</string>
+ </property>
+ <property name="text">
+ <string>Clear</string>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/img/clear.png</normaloff>:/img/clear.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
</widget>
<resources>
<include location="resources.qrc"/>
diff --git a/qmidiplayer-desktop/qmppresetselect.ui b/qmidiplayer-desktop/qmppresetselect.ui
index f18600d..c9293d1 100644
--- a/qmidiplayer-desktop/qmppresetselect.ui
+++ b/qmidiplayer-desktop/qmppresetselect.ui
@@ -28,78 +28,99 @@
<property name="modal">
<bool>true</bool>
</property>
- <widget class="QListWidget" name="lwBankSelect">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>30</y>
- <width>71</width>
- <height>221</height>
- </rect>
- </property>
- </widget>
- <widget class="QListWidget" name="lwPresetSelect">
- <property name="geometry">
- <rect>
- <x>90</x>
- <y>30</y>
- <width>301</width>
- <height>221</height>
- </rect>
- </property>
- </widget>
- <widget class="QLabel" name="lbBnk">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>10</y>
- <width>66</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Bank</string>
- </property>
- </widget>
- <widget class="QLabel" name="lbPst">
- <property name="geometry">
- <rect>
- <x>90</x>
- <y>10</y>
- <width>66</width>
- <height>20</height>
- </rect>
- </property>
- <property name="text">
- <string>Preset</string>
- </property>
- </widget>
- <widget class="QPushButton" name="pbOk">
- <property name="geometry">
- <rect>
- <x>300</x>
- <y>260</y>
- <width>97</width>
- <height>36</height>
- </rect>
- </property>
- <property name="text">
- <string>OK</string>
- </property>
- </widget>
- <widget class="QPushButton" name="pbCancel">
- <property name="geometry">
- <rect>
- <x>190</x>
- <y>260</y>
- <width>97</width>
- <height>36</height>
- </rect>
- </property>
- <property name="text">
- <string>Cancel</string>
- </property>
- </widget>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="lbBnk">
+ <property name="text">
+ <string>Bank</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QListWidget" name="lwBankSelect">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>64</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QLabel" name="lbPst">
+ <property name="text">
+ <string>Preset</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QListWidget" name="lwPresetSelect"/>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <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="QPushButton" name="pbCancel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pbOk">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>OK</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ <zorder>horizontalLayoutWidget</zorder>
+ <zorder>horizontalLayoutWidget_2</zorder>
+ <zorder>verticalLayoutWidget</zorder>
</widget>
<resources/>
<connections/>
diff --git a/qmidiplayer-desktop/qmpsettingswindow.ui b/qmidiplayer-desktop/qmpsettingswindow.ui
index 330afa2..0baa694 100644
--- a/qmidiplayer-desktop/qmpsettingswindow.ui
+++ b/qmidiplayer-desktop/qmpsettingswindow.ui
@@ -609,6 +609,12 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
+ <property name="maximumSize">
+ <size>
+ <width>250</width>
+ <height>16777215</height>
+ </size>
+ </property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@@ -652,6 +658,12 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
+ <property name="maximumSize">
+ <size>
+ <width>250</width>
+ <height>16777215</height>
+ </size>
+ </property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@@ -695,6 +707,12 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
+ <property name="maximumSize">
+ <size>
+ <width>250</width>
+ <height>16777215</height>
+ </size>
+ </property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>