diff options
author | Chris Xiong <chirs241097@gmail.com> | 2016-04-20 23:29:39 +0800 |
---|---|---|
committer | Chris Xiong <chirs241097@gmail.com> | 2016-04-20 23:29:39 +0800 |
commit | 32568af90e5c521c68432a7e77b6dd8bf524adde (patch) | |
tree | e2bed775bf9953f26ad94531da2a20ec9f967482 /qmidiplayer-desktop | |
parent | b68f60e023175b144664de092c31416fa5b58880 (diff) | |
download | QMidiPlayer-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.pro | 3 | ||||
-rw-r--r-- | qmidiplayer-desktop/qmpchanneleditor.ui | 1078 | ||||
-rw-r--r-- | qmidiplayer-desktop/qmpmainwindow.cpp | 40 | ||||
-rw-r--r-- | qmidiplayer-desktop/qmpmainwindow.hpp | 21 | ||||
-rw-r--r-- | qmidiplayer-desktop/qmpmainwindow.ui | 860 | ||||
-rw-r--r-- | qmidiplayer-desktop/qmpplistwindow.ui | 502 | ||||
-rw-r--r-- | qmidiplayer-desktop/qmppresetselect.ui | 165 | ||||
-rw-r--r-- | qmidiplayer-desktop/qmpsettingswindow.ui | 18 |
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><</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>></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><</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>></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><html><head/><body><p>Poly: 0/0</p></body></html></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><html><head/><body><p>Poly</p></body></html></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> |