diff options
Diffstat (limited to 'muse2/synti')
-rw-r--r-- | muse2/synti/fluidsynth/CMakeLists.txt | 9 | ||||
-rw-r--r-- | muse2/synti/fluidsynth/fluidsynth.qrc | 8 | ||||
-rw-r--r-- | muse2/synti/fluidsynth/fluidsynth0.png | bin | 0 -> 1195 bytes | |||
-rw-r--r-- | muse2/synti/fluidsynth/fluidsynth1.png | bin | 0 -> 7252 bytes | |||
-rw-r--r-- | muse2/synti/fluidsynth/fluidsynthgui.cpp | 141 | ||||
-rw-r--r-- | muse2/synti/fluidsynth/fluidsynthgui.h | 11 | ||||
-rw-r--r-- | muse2/synti/fluidsynth/fluidsynthguibase.ui | 1185 |
7 files changed, 655 insertions, 699 deletions
diff --git a/muse2/synti/fluidsynth/CMakeLists.txt b/muse2/synti/fluidsynth/CMakeLists.txt index 0c3e1b97..e33bf912 100644 --- a/muse2/synti/fluidsynth/CMakeLists.txt +++ b/muse2/synti/fluidsynth/CMakeLists.txt @@ -19,8 +19,12 @@ #============================================================================= QT4_WRAP_CPP ( fluidsynth_mocs fluidsynthgui.h ) -# QT4_WRAP_UI ( fluidsynth_uis fluidsynthgui.ui ) -QT4_WRAP_UI3 ( fluidsynth_uis fluidsynthguibase.ui ) + +QT4_WRAP_UI ( fluidsynth_uis fluidsynthguibase.ui ) + +QT4_ADD_RESOURCES (fluidsynth_qrc_files + fluidsynth.qrc + ) add_library ( fluidsynth SHARED fluidsynti.cpp @@ -28,6 +32,7 @@ add_library ( fluidsynth SHARED fluidsynthgui.h ${fluidsynth_mocs} ${fluidsynth_uis} + ${fluidsynth_qrc_files} ) # target_link_libraries( fluidsynth synti ) diff --git a/muse2/synti/fluidsynth/fluidsynth.qrc b/muse2/synti/fluidsynth/fluidsynth.qrc new file mode 100644 index 00000000..eda2c6ee --- /dev/null +++ b/muse2/synti/fluidsynth/fluidsynth.qrc @@ -0,0 +1,8 @@ +<!DOCTYPE RCC> +<RCC version="1.0"> + <qresource> + <file>fluidsynth0.png</file> + <file>fluidsynth1.png</file> + </qresource> +</RCC> + diff --git a/muse2/synti/fluidsynth/fluidsynth0.png b/muse2/synti/fluidsynth/fluidsynth0.png Binary files differnew file mode 100644 index 00000000..2cb25b54 --- /dev/null +++ b/muse2/synti/fluidsynth/fluidsynth0.png diff --git a/muse2/synti/fluidsynth/fluidsynth1.png b/muse2/synti/fluidsynth/fluidsynth1.png Binary files differnew file mode 100644 index 00000000..58ca0e61 --- /dev/null +++ b/muse2/synti/fluidsynth/fluidsynth1.png diff --git a/muse2/synti/fluidsynth/fluidsynthgui.cpp b/muse2/synti/fluidsynth/fluidsynthgui.cpp index bdb0719b..bb82fa92 100644 --- a/muse2/synti/fluidsynth/fluidsynthgui.cpp +++ b/muse2/synti/fluidsynth/fluidsynthgui.cpp @@ -9,24 +9,17 @@ #include "fluidsynthgui.h" #include "fluidsynti.h" -#include <qpushbutton.h> - -#include <iostream> -#include <qlineedit.h> -#include <q3filedialog.h> -#include <qsocketnotifier.h> -#include <qpixmap.h> -#include <q3listview.h> -#include <qslider.h> -#include <qmessagebox.h> -#include <q3popupmenu.h> -#include <q3header.h> -#include <qcheckbox.h> -#include <qspinbox.h> -#include <qcombobox.h> + +#include <QFileDialog> +#include <QIcon> +#include <QLabel> +#include <QMenu> +#include <QSocketNotifier> +#include <QTableWidgetItem> +#include <QTreeWidgetItem> #include "muse/midi.h" -#include "xpm/buttondown.xpm" +#include "icons.h" /* @@ -41,15 +34,24 @@ FluidSynthGui::FluidSynthGui() : MessGui() { + setWindowIcon(QIcon(":/fluidsynth0.png")); + setupUi(this); + channelListView->setRowCount(FS_MAX_NR_OF_CHANNELS); + channelListView->setSelectionMode(QAbstractItemView::SingleSelection); + QLabel *fluidLabel = new QLabel; + fluidLabel->setPixmap(QIcon(":/fluidsynth1.png").pixmap(124, 45)); + FluidGrid->addWidget(fluidLabel, 2, 1, Qt::AlignHCenter); + + ChorusType->setItemIcon(0, QIcon(*sineIcon)); + ChorusType->setItemIcon(1, QIcon(*sawIcon)); + //Connect socketnotifier to fifo QSocketNotifier* s = new QSocketNotifier(readFd, QSocketNotifier::Read); connect(s, SIGNAL(activated(int)), SLOT(readMessage(int))); connect (Push, SIGNAL (clicked()), SLOT(loadClicked())); lastdir = ""; - - channelListView->setColumnWidthMode(FS_CHANNEL_COL,Q3ListView::Maximum); - channelListView->setColumnWidthMode(FS_SF_ID_COL,Q3ListView::Maximum); + ReverbFrame->setEnabled(true); ChorusFrame->setEnabled(true); @@ -63,8 +65,8 @@ FluidSynthGui::FluidSynthGui() connect(Gain, SIGNAL(valueChanged(int)), SLOT(changeGain(int))); connect(dumpInfoButton , SIGNAL(clicked()), SLOT(dumpInfo())); - connect(channelListView, SIGNAL(pressed(Q3ListViewItem*,const QPoint&,int)), - this, SLOT(channelItemClicked(Q3ListViewItem*,const QPoint&,int))); + connect(channelListView, SIGNAL(itemClicked(QTableWidgetItem*)), + this, SLOT(channelItemClicked(QTableWidgetItem*))); connect(Reverb, SIGNAL (toggled(bool)), SLOT(toggleReverb(bool))); connect(ReverbLevel, SIGNAL (valueChanged (int)), SLOT(changeReverbLevel(int))); @@ -73,8 +75,8 @@ FluidSynthGui::FluidSynthGui() connect(ReverbWidth, SIGNAL (valueChanged (int)), SLOT(changeReverbWidth(int))); connect (Pop, SIGNAL (clicked()), SLOT(popClicked())); - connect(sfListView, SIGNAL(pressed(Q3ListViewItem*,const QPoint&,int)), - this, SLOT(sfItemClicked(Q3ListViewItem*,const QPoint&,int))); + connect(sfListView, SIGNAL(itemClicked(QTreeWidgetItem*, int)), + this, SLOT(sfItemClicked(QTreeWidgetItem*, int))); connect(Chorus, SIGNAL (toggled (bool)), SLOT(toggleChorus (bool))); connect(ChorusNumber, SIGNAL (valueChanged (int)), SLOT(changeChorusNumber (int))); connect(ChorusType, SIGNAL (activated (int)), SLOT(changeChorusType (int))); @@ -158,7 +160,7 @@ void FluidSynthGui::pushClicked() void FluidSynthGui::loadClicked() { - QString filename = Q3FileDialog::getOpenFileName(lastdir, QString("*.[Ss][Ff]2"), + QString filename = QFileDialog::getOpenFileName(lastdir, QString("*.[Ss][Ff]2"), this, "Load Soundfont dialog", "Choose soundfont"); @@ -381,7 +383,7 @@ void FluidSynthGui::updateChannelListView() { if (FS_DEBUG) printf("FluidSynthGui::updateChannelListView\n"); - channelListView->clear(); + channelListView->clearContents(); for (int i=0; i<FS_MAX_NR_OF_CHANNELS; i++) { QString chanstr, sfidstr, drumchanstr; @@ -400,14 +402,15 @@ void FluidSynthGui::updateChannelListView() drumchanstr = "Yes"; else drumchanstr = "No"; - Q3ListViewItem* qlvNewItem = new Q3ListViewItem(channelListView); - qlvNewItem->setText(FS_CHANNEL_COL, chanstr); - qlvNewItem->setPixmap(FS_SF_ID_COL, buttondown_xpm); - qlvNewItem->setText(FS_SF_ID_COL, sfidstr); - qlvNewItem->setPixmap(FS_DRUM_CHANNEL_COL, buttondown_xpm); - qlvNewItem->setText(FS_DRUM_CHANNEL_COL, drumchanstr); - channelListView->insertItem(qlvNewItem); + + QTableWidgetItem* chan_ = new QTableWidgetItem(chanstr); + channelListView->setItem(i, FS_CHANNEL_COL, chan_); + QTableWidgetItem* sfid_ = new QTableWidgetItem(QIcon(*buttondownIcon), sfidstr); + channelListView->setItem(i, FS_SF_ID_COL, sfid_); + QTableWidgetItem* drum_ = new QTableWidgetItem(QIcon(*buttondownIcon), drumchanstr); + channelListView->setItem(i, FS_DRUM_CHANNEL_COL, drum_); } + channelListView->resizeColumnsToContents(); } //--------------------------------------------------------- @@ -417,13 +420,13 @@ void FluidSynthGui::updateSoundfontListView() { sfListView->clear(); //Clear the listview for (std::list<FluidGuiSoundFont>::iterator it = stack.begin(); it != stack.end(); it++) { - Q3ListViewItem* qlvNewItem = new Q3ListViewItem(sfListView); + QTreeWidgetItem* qlvNewItem = new QTreeWidgetItem(sfListView); QString qsid = QString("%1").arg(it->id); qlvNewItem->setText(FS_ID_COL, qsid); qlvNewItem->setText(FS_SFNAME_COL, QString(it->name)); - sfListView->insertItem(qlvNewItem); + sfListView->addTopLevelItem(qlvNewItem); } - sfListView->sort(); + sfListView->sortItems(1, Qt::AscendingOrder); } //--------------------------------------------------------- @@ -466,14 +469,16 @@ QString FluidSynthGui::getSoundFontName(int id) // change channel parameters like soundfont / drumchannel on/off //--------------------------------------------------------- -void FluidSynthGui::channelItemClicked(Q3ListViewItem* item, const QPoint&, int col) +void FluidSynthGui::channelItemClicked(QTableWidgetItem* item) { + int col = item->column(); + if (col == FS_SF_ID_COL) { - Q3PopupMenu* popup = new Q3PopupMenu(this); - QPoint ppt = channelListView->itemRect(item).bottomLeft(); - Q3ListView* listView = item->listView(); - ppt += QPoint(listView->header()->sectionPos(col), listView->header()->height()); - ppt = listView->mapToGlobal(ppt); + QMenu* popup = new QMenu(this); + QPoint ppt = channelListView->visualItemRect(item).bottomLeft(); + QTableWidget* listView = item->tableWidget(); + ppt += QPoint(listView->horizontalHeader()->sectionPosition(col), listView->horizontalHeader()->height()); + ppt = listView->mapToGlobal(ppt); int i = 0; for (std::list<FluidGuiSoundFont>::reverse_iterator it = stack.rbegin(); it != stack.rend(); it++) { @@ -498,12 +503,15 @@ void FluidSynthGui::channelItemClicked(Q3ListViewItem* item, const QPoint&, int printf("\n"); } printf("\n\n");*/ - popup->insertItem(it->name,i); + QAction* act1 = popup->addAction(it->name); + act1->setData(i); } int lastindex = i+1; - popup->insertItem("unspecified",lastindex); - int index = popup->exec(ppt, 0); - if (index !=-1) { + QAction *lastaction = popup->addAction("unspecified"); + lastaction->setData(lastindex); + QAction * act = popup->exec(ppt, 0); + if (act) { + int index = act->data().toInt(); byte sfid; QString fontname; if (index == lastindex) { @@ -511,32 +519,37 @@ void FluidSynthGui::channelItemClicked(Q3ListViewItem* item, const QPoint&, int fontname = "unspecified"; //Actually, it's not possible to reset fluid-channels as for now, } //so this is just a dummy that makes the synth block any events for the channel else { - sfid = getSoundFontId(popup->text(index)); + sfid = getSoundFontId(act->text()); fontname = getSoundFontName(sfid); } - byte channel = atoi(item->text(FS_CHANNEL_COL).latin1()) - 1; + byte channel = atoi(item->text().latin1()) - 1; sendChannelChange(sfid, channel); - item->setText(FS_SF_ID_COL, fontname); + item->setText(fontname); } delete popup; } // Drumchannel column: else if (col == FS_DRUM_CHANNEL_COL) { - Q3PopupMenu* popup = new Q3PopupMenu(this); - QPoint ppt = channelListView->itemRect(item).bottomLeft(); - Q3ListView* listView = item->listView(); - ppt += QPoint(listView->header()->sectionPos(col), listView->header()->height()); - ppt = listView->mapToGlobal(ppt); - popup->insertItem("Yes", 1); - popup->insertItem("No", 0); - byte channel = atoi(item->text(FS_CHANNEL_COL).latin1()) - 1; - - int index = popup->exec(ppt, 0); - if (index != drumchannels[channel] && index !=-1) { - sendDrumChannelChange(index, channel); - drumchannels[channel] = index; - item->setText(FS_DRUM_CHANNEL_COL, index == 0 ? "No" : "Yes" ); - } + QMenu* popup = new QMenu(this); + QPoint ppt = channelListView->visualItemRect(item).bottomLeft(); + QTableWidget* listView = item->tableWidget(); + ppt += QPoint(listView->horizontalHeader()->sectionPosition(col), listView->horizontalHeader()->height()); + ppt = listView->mapToGlobal(ppt); + QAction * yes = popup->addAction("Yes"); + yes->setData(1); + QAction * no = popup->addAction("No"); + no->setData(0); + byte channel = atoi(item->text().latin1()) - 1; + + QAction * act2 = popup->exec(ppt, 0); + if (act2) { + int index = act2->data().toInt(); + if (index != drumchannels[channel]) { + sendDrumChannelChange(index, channel); + drumchannels[channel] = index; + item->setText(index == 0 ? "No" : "Yes" ); + } + } } } @@ -591,7 +604,7 @@ void FluidSynthGui::popClicked() sendSysex(data,2); } -void FluidSynthGui::sfItemClicked(Q3ListViewItem* item, const QPoint&, int /*col*/) +void FluidSynthGui::sfItemClicked(QTreeWidgetItem* item, int /*col*/) { if (item != 0) { currentlySelectedFont = atoi(item->text(FS_ID_COL)); diff --git a/muse2/synti/fluidsynth/fluidsynthgui.h b/muse2/synti/fluidsynth/fluidsynthgui.h index d464dee2..5b39723e 100644 --- a/muse2/synti/fluidsynth/fluidsynthgui.h +++ b/muse2/synti/fluidsynth/fluidsynthgui.h @@ -10,10 +10,13 @@ #ifndef __MUSE_FLUIDSYNTHGUI_H__ #define __MUSE_FLUIDSYNTHGUI_H__ -#include "fluidsynthguibase.h" +#include "ui_fluidsynthguibase.h" #include "libsynti/gui.h" #include <list> +class QDialog; +class QTreeWidgetItem; + struct FluidChannel; #define FS_DEBUG 0 //Turn on/off debug /* @@ -147,7 +150,7 @@ struct FluidGuiSoundFont // FluidSynthGui //--------------------------------------------------------- -class FluidSynthGui : public FLUIDSynthGuiBase, public MessGui +class FluidSynthGui : public QDialog, public Ui::FLUIDSynthGuiBase, public MessGui { Q_OBJECT private: @@ -190,7 +193,7 @@ class FluidSynthGui : public FLUIDSynthGuiBase, public MessGui void readMessage(int); void changeGain(int); void dumpInfo(); - void channelItemClicked(Q3ListViewItem* item, const QPoint&, int col); + void channelItemClicked(QTableWidgetItem* item); void toggleReverb(bool); void changeReverbLevel (int); void changeReverbRoomSize(int val); @@ -204,7 +207,7 @@ class FluidSynthGui : public FLUIDSynthGuiBase, public MessGui void changeChorusLevel(int); void popClicked(); - void sfItemClicked(Q3ListViewItem* item, const QPoint&, int col); + void sfItemClicked(QTreeWidgetItem* item, int); /* void readData(int); diff --git a/muse2/synti/fluidsynth/fluidsynthguibase.ui b/muse2/synti/fluidsynth/fluidsynthguibase.ui index 336ee9fa..d6488bab 100644 --- a/muse2/synti/fluidsynth/fluidsynthguibase.ui +++ b/muse2/synti/fluidsynth/fluidsynthguibase.ui @@ -1,632 +1,559 @@ -<!DOCTYPE UI><UI version="3.2" stdsetdef="1"> -<class>FLUIDSynthGuiBase</class> -<widget class="QDialog"> - <property name="name"> - <cstring>FLUIDSynthGuiBase</cstring> - </property> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>617</width> - <height>514</height> - </rect> - </property> - <property name="caption"> - <string>FLUID Synth</string> - </property> - <property name="icon"> - <pixmap>image0</pixmap> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>FLUIDSynthGuiBase</class> + <widget class="QDialog" name="FLUIDSynthGuiBase"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>617</width> + <height>514</height> + </rect> + </property> + <property name="windowTitle"> + <string>FLUID Synth</string> + </property> + <layout class="QHBoxLayout" name="_2"> + <property name="spacing"> + <number>1</number> + </property> + <item> + <layout class="QGridLayout" name="FluidGrid"> + <item row="2" column="0"> + <widget class="QFrame" name="DiskButtons"> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> + </property> + <layout class="QHBoxLayout"> + <item> + <widget class="QPushButton" name="Push"> + <property name="text"> + <string>Load</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="Pop"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Delete</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="dumpInfoButton"> + <property name="text"> + <string>Dump Info</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="1" column="0"> + <widget class="QTreeWidget" name="sfListView"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <column> + <property name="text"> + <string>ID</string> </property> - <property name="spacing"> - <number>1</number> + </column> + <column> + <property name="text"> + <string>Fontname</string> </property> - <property name="resizeMode"> - <enum>Minimum</enum> + </column> + </widget> + </item> + <item row="1" column="1"> + <widget class="QTableWidget" name="channelListView"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <attribute name="horizontalHeaderStretchLastSection"> + <bool>true</bool> + </attribute> + <column> + <property name="text"> + <string>Chnl</string> </property> - <widget class="QLayoutWidget"> - <property name="name"> - <cstring>layout3</cstring> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="QFrame" row="2" column="0"> - <property name="name"> - <cstring>DiskButtons</cstring> - </property> - <property name="frameShape"> - <enum>StyledPanel</enum> - </property> - <property name="frameShadow"> - <enum>Raised</enum> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="QPushButton"> - <property name="name"> - <cstring>Push</cstring> - </property> - <property name="text"> - <string>Load</string> - </property> - </widget> - <widget class="QPushButton"> - <property name="name"> - <cstring>Pop</cstring> - </property> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="text"> - <string>Delete</string> - </property> - </widget> - <widget class="QPushButton"> - <property name="name"> - <cstring>dumpInfoButton</cstring> - </property> - <property name="text"> - <string>Dump Info</string> - </property> - </widget> - </hbox> - </widget> - <widget class="QListView" row="1" column="0"> - <column> - <property name="text"> - <string>ID</string> - </property> - <property name="clickable"> - <bool>false</bool> - </property> - <property name="resizable"> - <bool>false</bool> - </property> - </column> - <column> - <property name="text"> - <string>Fontname</string> - </property> - <property name="clickable"> - <bool>false</bool> - </property> - <property name="resizable"> - <bool>false</bool> - </property> - </column> - <property name="name"> - <cstring>sfListView</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>3</hsizetype> - <vsizetype>7</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - <widget class="QListView" row="1" column="1"> - <column> - <property name="text"> - <string>Chnl</string> - </property> - <property name="clickable"> - <bool>false</bool> - </property> - <property name="resizable"> - <bool>false</bool> - </property> - </column> - <column> - <property name="text"> - <string>Soundfont</string> - </property> - <property name="clickable"> - <bool>false</bool> - </property> - <property name="resizable"> - <bool>false</bool> - </property> - </column> - <column> - <property name="text"> - <string>Drum Chnl</string> - </property> - <property name="clickable"> - <bool>false</bool> - </property> - <property name="resizable"> - <bool>false</bool> - </property> - </column> - <property name="name"> - <cstring>channelListView</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>3</hsizetype> - <vsizetype>7</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - <widget class="QFrame" row="3" column="0"> - <property name="name"> - <cstring>ReverbFrame</cstring> - </property> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="frameShape"> - <enum>StyledPanel</enum> - </property> - <property name="frameShadow"> - <enum>Raised</enum> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="QSlider" row="4" column="1"> - <property name="name"> - <cstring>ReverbLevel</cstring> - </property> - <property name="maxValue"> - <number>16383</number> - </property> - <property name="lineStep"> - <number>16</number> - </property> - <property name="pageStep"> - <number>1638</number> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="tickmarks"> - <enum>Both</enum> - </property> - <property name="tickInterval"> - <number>1638</number> - </property> - </widget> - <widget class="QSlider" row="3" column="1"> - <property name="name"> - <cstring>ReverbWidth</cstring> - </property> - <property name="maxValue"> - <number>16383</number> - </property> - <property name="lineStep"> - <number>16</number> - </property> - <property name="pageStep"> - <number>1638</number> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="tickmarks"> - <enum>Both</enum> - </property> - <property name="tickInterval"> - <number>1638</number> - </property> - </widget> - <widget class="QSlider" row="2" column="1"> - <property name="name"> - <cstring>ReverbDamping</cstring> - </property> - <property name="maxValue"> - <number>16383</number> - </property> - <property name="lineStep"> - <number>16</number> - </property> - <property name="pageStep"> - <number>1638</number> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="tickmarks"> - <enum>Both</enum> - </property> - <property name="tickInterval"> - <number>1638</number> - </property> - </widget> - <widget class="QSlider" row="1" column="1"> - <property name="name"> - <cstring>ReverbRoomSize</cstring> - </property> - <property name="maxValue"> - <number>16383</number> - </property> - <property name="lineStep"> - <number>16</number> - </property> - <property name="pageStep"> - <number>1638</number> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="tickmarks"> - <enum>Both</enum> - </property> - <property name="tickInterval"> - <number>1638</number> - </property> - </widget> - <widget class="QLabel" row="4" column="0"> - <property name="name"> - <cstring>ReverbLevelLabel</cstring> - </property> - <property name="text"> - <string>Level</string> - </property> - <property name="alignment"> - <set>AlignCenter</set> - </property> - </widget> - <widget class="QLabel" row="3" column="0"> - <property name="name"> - <cstring>ReverbWidthLabel</cstring> - </property> - <property name="text"> - <string>Width</string> - </property> - <property name="alignment"> - <set>AlignCenter</set> - </property> - </widget> - <widget class="QLabel" row="2" column="0"> - <property name="name"> - <cstring>ReverbDampingLabel</cstring> - </property> - <property name="text"> - <string>Damping</string> - </property> - <property name="alignment"> - <set>AlignCenter</set> - </property> - </widget> - <widget class="QLabel" row="1" column="0"> - <property name="name"> - <cstring>ReverbRoomSizeLabel</cstring> - </property> - <property name="text"> - <string>Room Size</string> - </property> - <property name="alignment"> - <set>AlignCenter</set> - </property> - </widget> - <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2"> - <property name="name"> - <cstring>Reverb</cstring> - </property> - <property name="text"> - <string>Reverb</string> - </property> - </widget> - </grid> - </widget> - <widget class="QLabel" row="0" column="1"> - <property name="name"> - <cstring>fontSetupLabel</cstring> - </property> - <property name="font"> - <font> - <bold>1</bold> - </font> - </property> - <property name="text"> - <string>CHANNEL SETUP</string> - </property> - <property name="scaledContents"> - <bool>false</bool> - </property> - <property name="alignment"> - <set>WordBreak|AlignCenter</set> - </property> - </widget> - <widget class="QFrame" row="3" column="1"> - <property name="name"> - <cstring>ChorusFrame</cstring> - </property> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="frameShape"> - <enum>StyledPanel</enum> - </property> - <property name="frameShadow"> - <enum>Raised</enum> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="QComboBox" row="1" column="4"> - <item> - <property name="text"> - <string>Sine</string> - </property> - <property name="pixmap"> - <pixmap>image1</pixmap> - </property> - </item> - <item> - <property name="text"> - <string>Triangle</string> - </property> - <property name="pixmap"> - <pixmap>image2</pixmap> - </property> - </item> - <property name="name"> - <cstring>ChorusType</cstring> - </property> - </widget> - <widget class="QLabel" row="1" column="3"> - <property name="name"> - <cstring>ChorusTypeLabel</cstring> - </property> - <property name="text"> - <string>Type</string> - </property> - <property name="alignment"> - <set>AlignCenter</set> - </property> - </widget> - <widget class="QSpinBox" row="1" column="1" rowspan="1" colspan="2"> - <property name="name"> - <cstring>ChorusNumber</cstring> - </property> - <property name="maxValue"> - <number>127</number> - </property> - </widget> - <widget class="QLabel" row="1" column="0"> - <property name="name"> - <cstring>ChorusNumberLabel</cstring> - </property> - <property name="text"> - <string>Number</string> - </property> - <property name="alignment"> - <set>AlignCenter</set> - </property> - </widget> - <widget class="QSlider" row="2" column="2" rowspan="1" colspan="3"> - <property name="name"> - <cstring>ChorusSpeed</cstring> - </property> - <property name="maxValue"> - <number>16383</number> - </property> - <property name="lineStep"> - <number>16</number> - </property> - <property name="pageStep"> - <number>1638</number> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="tickmarks"> - <enum>Both</enum> - </property> - <property name="tickInterval"> - <number>1638</number> - </property> - </widget> - <widget class="QLabel" row="2" column="0" rowspan="1" colspan="2"> - <property name="name"> - <cstring>ChorusSpeedLabel</cstring> - </property> - <property name="text"> - <string>Speed</string> - </property> - <property name="alignment"> - <set>AlignCenter</set> - </property> - </widget> - <widget class="QSlider" row="3" column="2" rowspan="1" colspan="3"> - <property name="name"> - <cstring>ChorusDepth</cstring> - </property> - <property name="maxValue"> - <number>16383</number> - </property> - <property name="lineStep"> - <number>16</number> - </property> - <property name="pageStep"> - <number>1638</number> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="tickmarks"> - <enum>Both</enum> - </property> - <property name="tickInterval"> - <number>1638</number> - </property> - </widget> - <widget class="QLabel" row="3" column="0" rowspan="1" colspan="2"> - <property name="name"> - <cstring>ChorusDepthLabel</cstring> - </property> - <property name="text"> - <string>Depth</string> - </property> - <property name="alignment"> - <set>AlignCenter</set> - </property> - </widget> - <widget class="QSlider" row="4" column="2" rowspan="1" colspan="3"> - <property name="name"> - <cstring>ChorusLevel</cstring> - </property> - <property name="maxValue"> - <number>16383</number> - </property> - <property name="lineStep"> - <number>16</number> - </property> - <property name="pageStep"> - <number>1638</number> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="tickmarks"> - <enum>Both</enum> - </property> - <property name="tickInterval"> - <number>1638</number> - </property> - </widget> - <widget class="QLabel" row="4" column="0" rowspan="1" colspan="2"> - <property name="name"> - <cstring>ChorusLevelLabel</cstring> - </property> - <property name="text"> - <string>Level</string> - </property> - <property name="alignment"> - <set>AlignCenter</set> - </property> - </widget> - <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="5"> - <property name="name"> - <cstring>Chorus</cstring> - </property> - <property name="text"> - <string>Chorus</string> - </property> - </widget> - </grid> - </widget> - <widget class="QGroupBox" row="4" column="0" rowspan="1" colspan="2"> - <property name="name"> - <cstring>GainBox</cstring> - </property> - <property name="title"> - <string></string> - </property> - <hbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="QLabel"> - <property name="name"> - <cstring>GainLabel</cstring> - </property> - <property name="text"> - <string>Gain</string> - </property> - <property name="alignment"> - <set>AlignCenter</set> - </property> - </widget> - <widget class="QSlider"> - <property name="name"> - <cstring>Gain</cstring> - </property> - <property name="minValue"> - <number>0</number> - </property> - <property name="maxValue"> - <number>127</number> - </property> - <property name="pageStep"> - <number>5</number> - </property> - <property name="value"> - <number>13</number> - </property> - <property name="tracking"> - <bool>true</bool> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="tickmarks"> - <enum>Both</enum> - </property> - <property name="tickInterval"> - <number>7</number> - </property> - </widget> - </hbox> - </widget> - <widget class="QLabel" row="0" column="0"> - <property name="name"> - <cstring>loadedFontsLabel</cstring> - </property> - <property name="font"> - <font> - <bold>1</bold> - </font> - </property> - <property name="text"> - <string>LOADED SOUNDFONTS</string> - </property> - <property name="alignment"> - <set>WordBreak|AlignCenter</set> - </property> - </widget> - <widget class="QLabel" row="2" column="1"> - <property name="name"> - <cstring>pixmapLabel</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>4</hsizetype> - <vsizetype>4</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="pixmap"> - <pixmap>image3</pixmap> - </property> - <property name="scaledContents"> - <bool>true</bool> - </property> - </widget> - </grid> - </widget> - </hbox> -</widget> -<images> - <image name="image0"> - <data format="PNG" length="1195">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af400000472494441545885c557cb6e1c45143db7a77b7a5ec699b1c71e3fb0239010f80ff807d6d9b065c12f20250a2862c10690901c93c40111136c1ca448880dec67c18e05444158b63103f22376e2b167babaaafb66d1efd780c2c225cda3abcebdf7dc5375abaaa9dbede2229bf67f8c7f3416f8a7f2225f0881efed0e379a33a8373bf8c1997b61127afce1eb3d83c7da1d58fd535c693fa35186f5e60c94f4f8d7c63bc0596f64a08dfd0657c79be81fede3ed793bf49d5060627109f5d61c5af3afe1dba37661561b87930c3621052005c05cc683934e217e7dbfc5ad975f47bd3587c9c5a5c4584860e3609635ad062508aea3a331b150984d656c0aca262801289f84596f17e2c7da97c1ae01250844556c1e2f8464430266bd0d290065fb59b9657cf3cf426e56a55223c42adb23415a2d37f8fdde5ca856e0bb5c9dc82a0054c28c824fb996cd6a6def323bb294c13ab686fbbd573384cdfa5406cbae992470e7b769766c2d03845bc6178fe7134ecbd5c90c2ef81895163eeb9642fceaa319663673c812ee3ef62a470700add480140c04a60410111880d9e8e0f6af1a2b5ba0d2b884ea4b065c051001cc9e01b38707e9189f59c2e7bf3c612a95506f4e43d914f9856f0780b43a4202400d52a4c563dfc040a5311bf64a2b1a4be38908546aa076c973ce0e41298053780201a84604d82d7b9287aed807e505f3dc913f42218672b1488c47fdae6b44041ca5c3f165050249bddf22074414e2029b64e0081f27cbe1782946c0a64cd024816c0bc7f3120fc213122403169e9dd7496fbdb7c56393af8099235fcce122cccf8863dfc162a418249a42cec107937cf66407baeb185e6dc663b8482a3eaa152850d81f4b8a5d03ba23c9dfcf933629d5121aa495cf1da7c8679e1f6640490dbab4140c334636cd209f7c3edb603898f73cd631901c4a50b7dbc5079b6f7242af3438a70a463db3bf8646e19919ef5ff999740050820b252e4a20dd97988ea0a246f8092a4c07006939007975995f7ee9d0c5cf9efdbfe3999d88803db4a1e95580a333205a95f1dd4c8bf5e568c3c1024c2d8e9c8a701d152760c128a7cff3a862953880eb9cc3a8cc82b46a6c9b8ee302c702caee41d3aad0cd6950c1b55379874a406000a0950fb44fb072759b00e09d6b43361b6f80fce94a3466b82c21fa8fb0fae19000e0dd1b25d6cda95cbf5e4cff3e70ebfa1e498b33e7b6b41cac5cfd3d4cf7ce8d3ed9e7cff2ef0336c11e9c86c10160e5da16c9a1cafa15c0adeb7f52a8000048cb0669d14d05001cf934c37cd8efc1ac37915713f6e03083178363948ca40acc32fc1f4e903d3849317560f577330ed73e3923391c66b31a0adcfbf86966fbfaf2a32d525652057b1025161258fb749ba425fd4ba60b717e88f56591bb1f8ac1912f7b74291583e33ca88f3f8012ae7f295510677b59020020ce77600f4f21067f637d79bb7033deb8d92329546c4e1d6cdcdc2dc4af2fef9238ffcbf37db68bcddb51628937a3efee1e1170549849bcd98343687a0700c1758ab30fda83d51e01d9b7a7177e377c786f87e4f014d23ac5c3affef8af8777a6d145bf9e3f076c35aaedab709f8e0000000049454e44ae426082</data> - </image> - <image name="image1"> - <data format="XPM.GZ" length="269">789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade652323452002220a1a4c3a5a4a790aca06c000620ae32886b649096666801964502e4f1959595c13c6565301fc481626c7c985a65b2ed43e2d75a73010022253132</data> - </image> - <image name="image2"> - <data format="XPM.GZ" length="269">789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade652323452002220a1a4c3a5a4a790aca06c000620ae32886b649096666801964502e4f29551f9ca500165085f590f86c17ca81c88063b07aa57991cfb6badb90035703153</data> - </image> - <image name="image3"> - <data format="PNG" length="7252">89504e470d0a1a0a0000000d494844520000007c0000002d08060000006ccc0fec00001c1b49444154789ced9c779ca55779dfbfe7bcedf6693bb333b35d5af506261059103b9490c40ec514f1010ca60a442008448bb1892146b11cba648a4237b215d1314522d8a0c4a08201f5bada5d6d9d3e73fb7dcb394ffe786f9d99d5162448849fcfe7eedeb9e7bee7fc9ee777cef33ca75df5939ffc847f96df1c717fdd007e9572cd4c227e2e87761c4061ad256935b9705ca95f37b65f95fc4610fe95e5408a1bc6993ab584e3fb28a54001229824e1fbb5aad4171728cfcdf08a9dc5c734f98f69c2af3ea864646a33635b87f1820cda7152b2fb443942decd11e446c80e4f70edec21b9703c7ccc927ec2847ff6be86f8d9028ee7910e17b0d660a290b05ee3b567977ead46bb76be201bb66e22532ca21d1750580322abbfa950ca41bb59b2251fc7cbf1b5f919795e69f1d74efa1776c5e20401da75514a03828913a2469d579d9639217cea7893b62fedf3253fba81205fc4f503b476daee11440463624c1811b51ab4aa2bd4571679cd192706ee44e5cb8ba3529a98c6cf76e2f57a440f4a67e08bb5c451486d719685bdbb78edd9f95f19f6ab6eaf497e740399e21041ae90dad7f5d05aa50005ac589230246ad668ac2cf392e9fa71e13b66c23f738f95e1e9ad644b235df7c87ab94edbb2622d2689899a0d1a2b8b94670f70d1398f3ef1d72e8c4b697c0a2f936d8f8a75c8eea090bef77d4522421285d496e759dcf720179d1d3caab83ffeb3b20c4f6da130328e972be07a3e5aebd4bedd9e2803efc55a9238a4592d539d3bc4cb7744c784f19808fffcae408627b7121487701cb71b07bb76ecbce96bb2f3d68ac5c43161bd4265fe307fb4e3f87ae4b1ca95b754647cdba914366cc40bb2eb635c4d74ffff7da0bba4c7318d950596f63fc845e7ba8f0aeecfddef4b69629a4c6918d70b505a0f405a83b10db0f3913586a859a33a7788976e59392ac6a312feb9fb72323cbd153f57eabac71311b196a8d5a0b134c7e2c10779d3bf2c3c6206bce2e69a8c6d3985c2d8465c3fb326313b5111041b2734ca8b2c1fdccdebce7b64a76f5fdc332cc5f169fc6c01e568d46a7773ac38c512b71a54e60ef1b26d0f9f7b3c2ce157dde1cbc8f44904853eb28f120b8fdc523bc6c711cdf222cb0776f386273abfb401afb8a925a39b77921f19c7f18394ec13c5b85afaa66eadca12cb87f7f2fac7d95f1ef38d0d19d97432f99109dc2083d269e83921dcdddc43885b75ca33fb78e5a9e523623c22e11fbb31920d5bcf203b34f6cb93dd074e009bc484d515ca33fb78fd6f1d5bec594f3efe532d4353dbc81447713cef9125bb236d743649086b652a73fbb9e8bce60963bef2662bc35327911d1ac5f1fc47067307a3b544f50acb071fe4f58f5fdfae4724fc33f74e4871c3e674d4c0609c5b2f06f657bf5e92b42a4e4a3bf6d4976628cf3ec4a54f3fbe058f4fdd5692e2d8347eae8876ddf5db5dafedf56279bfaca74b3fe6b0417d7186f2ec5e2e7ddaf185a54fdd5a94c28669825c09e5ba6b1df8c3e1399acddb1f4912d3589967e1a17b78eb53736b9a5897f02b6f0e64786a277eb688d27dcf1ccda0ab9a17e8a6c8695c550320452c268a08ebcb345616682ccff1b667ae05d92f57dc14487e6423d9c2084e90e966e25d7c5d3c82f4a5e7ddf6d7e05e950dada75fbf5622d838a455afd05899a3be7488b73ff3e13beb1537fa921f9920531cc5f5b33d17be2eee556df7656f47d5a78d2f099b54e6f7f1fac72d1f1be19fbe7b9be48626504ebb178a60ad41ac49696ccf10faa73b2a45d155c6c42149d4c49a04a5348e17e006391cd7efe9d8ae43acc1c41149ab4ed8ac10376b189320d62236c1442d945678d922417e984c6138ed8c8ed7af6b57ac8949c20649d442c4a2b5831be4dac67652e3598b3531d618446c5a8fd668eda0b48352ce1a627a8e42b056b07144dcaa12d62b44ad1ad624088242a19db4cd203744ba4015a0da6bf8eb6146a46b5b543fa1824d12e2a88169eba3b48337a0cf2a8cd6d2aa2db3b8ff6edef6f4c1d9c59a95b68ffe9fbc0c4d0e61add3f6112979adda12617591240e01dbabbd5b9dc2717dfcdc30ae9fa1b13243757e2f51b38ae3fae447a7199a3c954c712c5dace907a81c9493c5cb06b8c110b6942e89890851b342656e0fb5857d98782f6e90a5b0611b43933bc9e486413b03c6b3d610d6565899d9457de900260ef132054ae33b284e6cc70b72247148585f26ac2d11b76a98380495e277fd2c5eb644901fc6cf96d0ae3f10013abaa2143819bcac8f130c93ed5bc64bcda2504ea7f368ac0071f7e9dea016c1241149d448712068c7c70b72385e808810d65628cfeca2b6b81f9384784181d2c693294decc0cb14d64e41d168374fa6b011581ce0770de15e760c510126692713626955ab540fdfc3c9a30fe0fb4d10db06dc171c95423901771ddc82ce4d636a7b79fb85b36c9b8638862bafad31b73286eb0fa15d67c0883dcfa5db2f0f940086248c715afbb9eca2794687157152e77d5735689637e0baa5d4a87df84d92d058596254ddcfe56fa9e33ac262b9c27b3f1be3664688fd88dae27eea73f772c69645769e6a2966856628946b707016f63d54a09a3b8591e933090a831d74d0b0fd98dd81793c805845db791c317d30494ca33c4b65e6011a9539b096a030cad0e429e44736815234569628997bf8c0db5b08c2c25299f77d41087213289debe2ebe25220d6c70b4678ffdfed97773fab17260708bffc3a4f86274b8871b036adc15a216a3491e60caf7eae61f3547e751fe94a1c0baf7bef616a951c342b0c178489319f30b2903488a216712b41bbba0b4f298d529de54f9bbad7f6aa523abf8c499a7546861413631e512424610dd38a4822413b923e6753d76ce290b05e27676a8c8fbab8ae423044f50aad4a99249ea510dfca656f8dd93419acab47a365f8932bf7b2bc3285760a28edb6d30f95bad04ede20360d3b6d8f97cea3536a45a413e77a1ddaf64247c715c7ad16d5b9835cb0f37e5ef4ef52977ae3ad2b7ce9872e8e5bc2f102c27a8320aa313e9601c0241151bd42d868e078611753baccddc1a0d04e9e4c6e2350edea3640b8178c82ca6012d5cdccad85244e932b39da823420cac31a8518191809d6589230a25959c6442d4c12a2b4c6cb14f1b3c328a5895a65e266056b13b4e3e30679e230a6d110bef5bd59724184e053a94e901dd298d812870de26699b0b182895b884d685666c967ebc050bb238189135ab50a61793f7f7649c4a6c934fe4791e5a1032d40b171dca358704120095bb44c0591c35893eaee781982dc305ea684528a246c10369649a27a5aee0638ae8f3131364e47a3d62e4a3b589360e21628851714f073c3388e4fb3b640757e3fcef60a1363230064bd2a95d9dd68278f171468d596c8a910c8b4f5115ab532d5f903b4aa65001c3f4b901bc1cb0ee1b8417bc004b8c1c8fa84ff976b9a32baa984b50e12d3f53962041b0bd6d0f51922f0b1abf6f0bd1b62fcec50374eb941119bd986972d92583de0fbacb1848d3a716b17a3fe1eb4ada21d97e595cdc44367a1b44bb8722fc3de5eb021a2f32c2f6d4779251a0dcbf77fb880c465b49fa7ca387e6c69d56a34cb87682cdecfcea979a6a7131696626eb96799c6581da144c7899ac410d66b8ce69638657b4af6e252c4abdeb28ba5e6047e7608c4303ddee2b71fef530b4789a23a3a3cc0903f8b3531b114595a3a8da18da7a11d8fdae24338cd3b29788b80d04c4acc568b0c656b943265c41a2a7587b945d8b609ce3d196a0dcb7d0fe528eb1d640a638495036cf077335288bab62a64123666f71044153005660e4169acd9edc0885099db83af9b9c775e1e470bbb0ffacc1dde4c69e3196487a671bc0ca051bac0fbbe6ae53dcf4fa75b5dc2dd600454169bf422a202ac01938035423f83f586b052cb104811ed7828ede0eb118aa531d019c40e66b8d60871ab894a56b8f4ad754e3b39edadeffed001ee5b9844bb3e63de7e2ebf542815331c9c0979e787f6530bb752ca593ef6eeb3d838ee1146c26bdf1dd1acd7891a0ddce66dbcff0d4dce3ad5031c20e0e06197abafadf5b99d540fe2844ccef4ab4d2b04ad3378c1286e90672571b9fee71e7e7604ed0839672f1f7807e4b201cbe516af78d75dd4bd619c20c7cae1fb79f7abe679f2bf4843c3e59f9ce7bb372cf1dc671b5ef3e22200d7fffd1cd5bae5f9cf9aecee7d349a09977dfc0e6eb967845266850ffcd721c6467a79c2054f1ae18227a5a37d662ee1b9af3e4852ead95ec4f27bbfa3b8e4e22172b9f4396384af5cb787bffd8105952153dc988622021c6f04483d415773c71902f131f1e08441ba84f74d4b143ced29c36c9a8ed04e0ba52294d21c5e34fce3ddc33899098ce91bded271ab16a2b03b0d0230514812c568a3304e88d0898f4212862436c1edc4f54ee789635ae10a617d8ecbdedce0ac53d3a95e9208fb0eb6182eb9bced4da70faca98b2820c3c1b90c6164097cc5d8a8cf373e773a37fdbcce5d0f1ce4f6fb14bb0f16f00b9bf07301daf1393c5fe4c73f2df36f7e27cb5051f3dbe794f9c77bf6e1664ae4d421ce3ddd6b1313f3d3db144a0588edb9d067fceb71b4562cafc4948a694e91cb6afee3cb3c6ebe643f91d5345b2e71acf03cdd252f8a2c82a2150ae02136eed639b931cb1f5f7a06b57a42a361c8e51c1c47f1dc67f8fcf4f643ec59de82e38de2780e625d1ca7b09670a57318a3519226c89d2cd2da1ee1fd2efafc278e72fe1307fa06b7dc1a72c3cf2b881a41561d36100b36018c0c92d7f95cc076e6a1eda6ac4d43899581a6d378dc5862e7f42ce79d9103d284f15def9fe5a6dbb264fd0a7ffe8e3ce73fa1d07bc83a386e8928dacc67aeb99f37bc3c0b4036ab79ea938b3cf5c9e9d7169612aefefa2ebe7f4b037fe854943bce37fed7019efe14d01a9efd0c8feffe68176e50e499e737c9e75237fb939fc5ac3426707d0768749b8d13e1f22b66f9ce0f2ddba742fee693db715dc5d484c7f438ec9919e105172df2a2df8f78cbeb370370fd3f2cf29e0f54c90d6fc1cb0c931b2ea2ddfddd3a1d47f1f5ef2ef3c1ab1a783ae2caffb691b34ecb11048ad3b7b7b8f7276592a118c820a2416579e7a7eb72f96bf269baf98eff118948808d15261292184cdfcb26d0372801a8d513169622169762169662169712aaf5b472b14eda41fa446cda69ecaa7a8c114c92be06ca24cd1f4c2288194c166d62089b55ce3cc9e279e928bef3de2677ee1e6778fa7c54fe5cbe7e5d3cf88c4de359a674325fbf610797fc59931b6e6cd06c0d02da30eaf29f5e95e339bf3b4b636506ed16d97d688c5fdcd102e0f49d19b66d384879e66e9ef6db1aad53cf72dd8f345e760ae5e491be89e203bb237e70f328c3534f64b632cdfe4361b76c722243909f26377c32aed7eb9cdacd50183b9dd12dff8a914d17901d3a09ed64076cf6e9ff09d9d1276083d3b8e39e9eae13638a386c9144a6cd9d0209503a1d182ea42326890d6956dfb7d9aa52a24ccc008122f0914f1ce49b3fc8121426d318ae5cbccc30d9e16da01cac1ddc14b0168c016554dbbd760a246ddbc4e026dd291ab43b4802abd2018c154c1451c8f51a285784448a04fe184e028b2b1e564077366c8c601270fd8020bf95bb0fe4b8f5ca4554b2c4f6e9324f382be605cf2a32b9314843d6050edff8fb25c46ec1ea4d7ce3fa799e705e3aca9ff36f7d0eeddfcbb9676e07e0b6bb43f6cf8de196c649a218faf4db7fc8e0f81bf1b35324cd455aad956e99a315a8f66e99ea9f3069b453c4f136e0b839945a01e919617129a1190f932d4e610db4c2a5de935a30b12189413b2957496c3071027829e11f7c434efde9d54d711cbb7639b1edd2578f70c72f51d87026850d67b4416994e3a1b547d45a4456ef225ab046a3ad3330923d27a25599076078a24536d3ebc95daf30982f22a210f1a8f69da528e61524355ad525e2d632439331dd6d00019b58c27a99b07a98a8b988e0e37aa3e08fb17ba6cc9df73ec8fe0387b8ec4fb7e3388a5c06f281a1253e5e768a9befd8cb43fbeb6cdbe2f37bcf9c60e6708520486df5fd1b0cb19ac2774a889d1b0865710ce023e221d6c15819d0c31a8d883340a8584bd8acd2aa2de2fa3171d8c2eade737122201e223e222ea6df9bdade4031719ae045cd26fffd75a92becb612356a246142120dbaf38e5b905523532917ed0ee3fa13b8c1465c7f02ed8e02396ca2d3b9f8c00857202ec6665858ea153cfe4ca13a771ba67a3b17fe07bfeba23bcf58a3d6761e71d04e91bbefd7a9f2c0d96766d83935c3d2fe9b88566ee759cf1c5c44b489216a9429b90ff2f9bf98e3594fb99f02bfa0327b27f5e5bd28b3cc19a76670da5bf48da6a2dac800591c778c84cd7ce37ba9ebcc655d2e7eed6928958eb61fffac80174c2264db78fbb182350a93a4bab02aaf11a311f1a8d47a846f99d6d07c8085bd3f66e9c03fd15839848907439458854d54db65f725a7a403d4c469684e2243d4ece5145dab84f565dccc349e17f4ce4eb52b3609a8554617ab11a3b18933e08645da40cc2008442312801ee5f6bb67f9dd0bd2b2173d6f034f3ebf45a9e876173d7adb91e94953cb809d403c1c6f84db1f88b9ebde151e77b64fe06b3e7ad924f73ed060c368894dd39941c2adc2c60613b7d8b625e0d28b87b8f462a8d50cd59a6164781b994ccfe8fffb264b2b1ec757795019dccc26befbc30779d58b0dc5a2d3ed183ffc7144b5b999627114315e5bef7edd535bd884b5798d805817ed061c9c0968b5844c4671f619397ef4cd2d542a09dff9c1437cec330e66381c78b6d789069363042401132b944e77f6a27a2f8c7435fcc8254ac5cd1a496407477892ba6218ec084a7988789844adf508c601fc6ef50a052a40a902ae3fcdd7ae1fe3b6bb7a3d76f3748638163ef2577b58a9743e4f9f11eba35406d5838ad2591c6f0341fe34defbc12c0fec4e00c864348f3ba74026e3f0d18fef218e6db72ea5b22855a4158d72d7bd71d7488582c3d4a4df253b4e84af7e3be26fff6e123fbb0d911c625cb433422d9ce05bd7d50708fbd6f50ac79b060a58e322e2035e0f2b0e48801817a532a46b059dc2005416c71de7ce5dd37ce5db09619402f35cc5d8a8473e9b761445ff3270ca8758172400e5f595b9083e2681244a8f9585b5e55e93fddba3977c785832c51d2827689394c680245c26aadec5d6f107f0741d94cbecf2040d1e4f90df82d67eff8e01495426acdcc3960df7e3bb55048f03f39b31de39385e91a87188b072374f3a77816d9b2d8bcbf0e35b842882534e02d711129b63dfdc0ec49b42e2c36cdfb81b57b740f9ec3eb40d277736dacd10d60e20e1fd3cf19c45b64c19e6162d37fed412468ad34fd1a42be905761f3a0937b71513576955f790f36639fde490cd5342b1a0301666e714b7df9763b9be996c69277e6e12edf898a441d498a5be7c079b477ec157bfb815805bef68f1a6f78c110c3f85203f8dd88456ed214ade1d8c0fcd212294eba3ccd7cec4cb4e10d5f7b175fc5e02b78a522e07e6a7899d73703363c4ad459ae55d649c036c1c6b90cf5a509a956a89430b1b08bc063bb72e203622b17976cf9c4a503889245c6638b88bb1a10510a1dc1865be7636d9e2c928c725acede3c36f5e50eb127ef19fc7921d3a0bd71f193858606d8889ca24d10ad64628348e97c70dc670dc1c7d8ea2cd794c129749c265ac0d51cac1f14a78c1084afb581b92842b9868196b429476d14e065088c488085afb38fe108e93c5240d4c5cc6da18a55c5cbf9462d41ed684986825c5669aa09cb42ea5c126edf56c1fd71fc6f18a88586c52c7c4354c52c79a30f5814aa39d00c72be27843385e01ad5c4c52a7597d90e6cadde4bc3dbcf1d59a0b9fb701803f797f837ff8a7df223f7a2eae57020413d789a3656c5c0304ede670fd51b41360927a1b67ab7d46a0d82ecb209260e31a495cc59a162249ea1f9c0cdacd2136c62475444c5b9f111caf80b51149b48c8d1bedf6b2699d5e1e9bd46994efe5137f2ceb130ef0c6cb27c4cf6d46eba02f14497b17ab2f9a7677b9d63becd1f7fdceaed1c0f73be59dc3072a75d98a813604d5bd71d10b542add0357fa08753150d6794629dddbe5eac327fd3aa1fb0e3e681043d49a87d6cd7cfcb2839c795a2f11bcfdae888bde368c5fba003fbf09adbc74d74c2c22d29bd976f46eeffeb1ba3ddd674369efbc49ffb424c59e6e5cd94ea5e91982ce3e7867e5aa631fe5802444cdc35cf1f6430f7f0022accfa174e750a0ee5582c340fc795839daf757970b562c6223ac6922128124a9224aa170514e80d6d934dcd80ea1ebb775f43d3dc56aaf34f0ace9fd91ae0ea6c9519208e58ae1c65b123ef4c93c78a70379e26635f54c366ad7e0b637943cb49345e9a0ddd9d7b1c94022d7d95b3f5ef106fe4a0f55b408ebf36bbeb9ee11a78bde3b2e7e760b4afb9ce859e9a349efa896c1da26362993448b24e1029ffb8bec9a465ff1aeaab8de28ae3f81e38fa075b6bb58f1e8204c519aa44a58df4358db8549aa28ede378237899711c278fb54d4cbcb23ee677d6c40dc670bd311c6f18ede441ad7378f111450c6223e2d6213ef59ec3c776a6ede56f0f25533813c71b4b5d1cb41338569dcf59759243f515f59f77eb3bffd67b2f88c4987899383ccce72e3bf6a3bfaff8cf8e78c1261c6f14add3d8df7f45e0486dd387b3fbbd3e053a7b085ddd14883558dbc026f534ae8a416c8b245ee2f3971f3b77af7ca71637b309d71f43e980347cb471b07edbeb613c9acd05838d57086bf7f1f9bf5c7b71e288c794ffe81d39f13327a1dd7c1a7fe98563691ba7237dd1a3d731fa1be9fed347b66d9284b384adbd5cfde1e3bf73f69237af48903b19cf9f423939c01934525fdbab5d7c3f4eb5aa40d61854ba8614d3c4c4f3448d3d7ce9230f7fbaf648f2ca778d8aeb4fa576edc3dcc13dc06d3fc147b379bb026b9bc4cd87f8fce5eb5f3b7ad89b272f7fdbb878c1344a67dbb174b0a17e43f6ad62ae6da44f2130585327090ff2c50f1efd2ed4d1e4656fcd8a176c45bb25c01d1835ab71f6635c356806bebba64c6c8a393ac8173fb0f6e8eff163ce89176c413925941ac4bc1eae8e1cc9e690c66d9198249ae10b7f79f088188f7ab7ec656f9914c79b6a271e6beb7938d207ff9674ea91ac904407f89b8fb51eb150f69237f9e206db71dca18118b99ee1068cc49189efe2168bb53592e800577fe4c857788e575efc46c40bb6e3b8a3a0fcee805a0ff7ea46d7e06c936d9305a2c6fd5cf38923df763d2ae12f78cd8af899d3d0de647baeacd718add3f86a0376cbc52212629345a2700f5ffed4237f13f3c28b1df1fc1d6877241d35abf0f5635cfd7eb5f446b6c19a1a49bc9f6bfeaafa88637ee16b1be26576e0781328956d4f1bd5bad83bb8faa53b906c844de6895bbbb9f62aef61711ef3fdf00b5f372cae3785d29d4cb3afde553da003046c3a5d31554c32c7b59faa3c9a092a2f788d1237d8817646dba4abf5738a6eccebbdef026be3173188ad9244fbf8f2558fce15e78ebcf0a28c38de245a0f7513ba7ee28f6cdf348134c91c49b89baf7ef6e83f5e705cbf00f1bc57228e3b85764648d7c6dd145cb74bb6171e302011d6d611b38c4966f9fa17d64e5b1e0df983578ab8de0eb43386521eeb05f5fe9c42b587b3f47d98925d2689f7f1b5cf3e72a1e768f2fc57e745eb11945340a9205d8757edb979ef272a10312021d656b0c90c5ffd6c7ccc188ffb273f009ef38789286718ad5360698fb48844883411db426c9d6f7ee997bf0e7c22f2ec9786e2fa3bd0ce787bc342b32640ae7e0f6db223ac59c224fbf8e65ffff257834f449ef387a1285d48377c74b6cfc6a436b635ac2df3cdbf3efefbea2744f8ff2ff2ec978e887626513a9f7a23516b032190269426edac661e93ece1dbd79cd8b4ebff75794c130ef0fb2f44943385d223e9366b270c011da2a185d832d6ccf19d6b1fbb3fd905bf018477e4dfff8111a537802af4ae3661db216889ebbe661ed34477e43786f07f9654fe2fc2ee9042ad017b950000000049454e44ae426082</data> - </image> -</images> -<layoutdefaults spacing="3" margin="8"/> -</UI> + </column> + <column> + <property name="text"> + <string>Soundfont</string> + </property> + </column> + <column> + <property name="text"> + <string>Drum Chnl</string> + </property> + </column> + </widget> + </item> + <item row="3" column="0"> + <widget class="QFrame" name="ReverbFrame"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> + </property> + <layout class="QGridLayout"> + <item row="4" column="1"> + <widget class="QSlider" name="ReverbLevel"> + <property name="maximum"> + <number>16383</number> + </property> + <property name="singleStep"> + <number>16</number> + </property> + <property name="pageStep"> + <number>1638</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="tickPosition"> + <enum>QSlider::TicksBothSides</enum> + </property> + <property name="tickInterval"> + <number>1638</number> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QSlider" name="ReverbWidth"> + <property name="maximum"> + <number>16383</number> + </property> + <property name="singleStep"> + <number>16</number> + </property> + <property name="pageStep"> + <number>1638</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="tickPosition"> + <enum>QSlider::TicksBothSides</enum> + </property> + <property name="tickInterval"> + <number>1638</number> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QSlider" name="ReverbDamping"> + <property name="maximum"> + <number>16383</number> + </property> + <property name="singleStep"> + <number>16</number> + </property> + <property name="pageStep"> + <number>1638</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="tickPosition"> + <enum>QSlider::TicksBothSides</enum> + </property> + <property name="tickInterval"> + <number>1638</number> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QSlider" name="ReverbRoomSize"> + <property name="maximum"> + <number>16383</number> + </property> + <property name="singleStep"> + <number>16</number> + </property> + <property name="pageStep"> + <number>1638</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="tickPosition"> + <enum>QSlider::TicksBothSides</enum> + </property> + <property name="tickInterval"> + <number>1638</number> + </property> + </widget> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="ReverbLevelLabel"> + <property name="text"> + <string>Level</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="ReverbWidthLabel"> + <property name="text"> + <string>Width</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="ReverbDampingLabel"> + <property name="text"> + <string>Damping</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="ReverbRoomSizeLabel"> + <property name="text"> + <string>Room Size</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="0" column="0" colspan="2"> + <widget class="QCheckBox" name="Reverb"> + <property name="text"> + <string>Reverb</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLabel" name="fontSetupLabel"> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="text"> + <string>CHANNEL SETUP</string> + </property> + <property name="scaledContents"> + <bool>false</bool> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QFrame" name="ChorusFrame"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> + </property> + <layout class="QGridLayout"> + <item row="1" column="4"> + <widget class="QComboBox" name="ChorusType"> + <item> + <property name="text"> + <string>Sine</string> + </property> + </item> + <item> + <property name="text"> + <string>Triangle</string> + </property> + </item> + </widget> + </item> + <item row="1" column="3"> + <widget class="QLabel" name="ChorusTypeLabel"> + <property name="text"> + <string>Type</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="1" column="1" colspan="2"> + <widget class="QSpinBox" name="ChorusNumber"> + <property name="maximum"> + <number>127</number> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="ChorusNumberLabel"> + <property name="text"> + <string>Number</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="2" column="2" colspan="3"> + <widget class="QSlider" name="ChorusSpeed"> + <property name="maximum"> + <number>16383</number> + </property> + <property name="singleStep"> + <number>16</number> + </property> + <property name="pageStep"> + <number>1638</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="tickPosition"> + <enum>QSlider::TicksBothSides</enum> + </property> + <property name="tickInterval"> + <number>1638</number> + </property> + </widget> + </item> + <item row="2" column="0" colspan="2"> + <widget class="QLabel" name="ChorusSpeedLabel"> + <property name="text"> + <string>Speed</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="3" column="2" colspan="3"> + <widget class="QSlider" name="ChorusDepth"> + <property name="maximum"> + <number>16383</number> + </property> + <property name="singleStep"> + <number>16</number> + </property> + <property name="pageStep"> + <number>1638</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="tickPosition"> + <enum>QSlider::TicksBothSides</enum> + </property> + <property name="tickInterval"> + <number>1638</number> + </property> + </widget> + </item> + <item row="3" column="0" colspan="2"> + <widget class="QLabel" name="ChorusDepthLabel"> + <property name="text"> + <string>Depth</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="4" column="2" colspan="3"> + <widget class="QSlider" name="ChorusLevel"> + <property name="maximum"> + <number>16383</number> + </property> + <property name="singleStep"> + <number>16</number> + </property> + <property name="pageStep"> + <number>1638</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="tickPosition"> + <enum>QSlider::TicksBothSides</enum> + </property> + <property name="tickInterval"> + <number>1638</number> + </property> + </widget> + </item> + <item row="4" column="0" colspan="2"> + <widget class="QLabel" name="ChorusLevelLabel"> + <property name="text"> + <string>Level</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="0" column="0" colspan="5"> + <widget class="QCheckBox" name="Chorus"> + <property name="text"> + <string>Chorus</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="4" column="0" colspan="2"> + <widget class="QGroupBox" name="GainBox"> + <property name="title"> + <string/> + </property> + <layout class="QHBoxLayout"> + <item> + <widget class="QLabel" name="GainLabel"> + <property name="text"> + <string>Gain</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QSlider" name="Gain"> + <property name="minimum"> + <number>0</number> + </property> + <property name="maximum"> + <number>127</number> + </property> + <property name="pageStep"> + <number>5</number> + </property> + <property name="value"> + <number>13</number> + </property> + <property name="tracking"> + <bool>true</bool> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="tickPosition"> + <enum>QSlider::TicksBothSides</enum> + </property> + <property name="tickInterval"> + <number>7</number> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="loadedFontsLabel"> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="text"> + <string>LOADED SOUNDFONTS</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QLabel" name="pixmapLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="pixmap"> + <pixmap>image3</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + <property name="wordWrap"> + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <layoutdefault spacing="3" margin="8"/> + <resources/> + <connections/> +</ui> |