diff options
-rw-r--r-- | muse/synti/deicsonze/README | 10 | ||||
-rw-r--r-- | muse/synti/deicsonze/TODO | 2 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonze.cpp | 9 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonze.h | 4 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonzegui.cpp | 116 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonzegui.h | 10 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonzegui.ui | 1138 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonzepreset.h | 1 |
8 files changed, 818 insertions, 472 deletions
diff --git a/muse/synti/deicsonze/README b/muse/synti/deicsonze/README index 8f402e51..f17a64d7 100644 --- a/muse/synti/deicsonze/README +++ b/muse/synti/deicsonze/README @@ -3,16 +3,12 @@ FM synthesis of the YAMAHA DX11 synthesizer/TX81Z sound module. It contains over 2000 presets archived by Bryan Sutula belonging to the public domain. If by any chance you find some of them that are under copyright please -contact me to take it off as soon as possible. +contact me to take them off. -Not every function is implemented but it starts to sound like the original -(and even better). Pitch envelope, portamento, pitch bend, modulation and some +Not every function is implemented but it's already sounding like the original +(even better). Pitch envelope, portamento, pitch bend, modulation and some others are not implemented yet. -The vertical sliders are inverted because QTDesigner doesn't have the feature -of slider invertion, since I think that it will get it before I will finish -DeicsOnze I'm waiting for a QT improvement. - The files with the extention .fig in the directory pics have been made with xfig. diff --git a/muse/synti/deicsonze/TODO b/muse/synti/deicsonze/TODO index b4e6a9af..e7ab96c5 100644 --- a/muse/synti/deicsonze/TODO +++ b/muse/synti/deicsonze/TODO @@ -13,3 +13,5 @@ - getPatchInfo - Optimize the code, make 3 level of quality sound - Remember the last directory +- instance for each channel +- Create SutulaBank.dei diff --git a/muse/synti/deicsonze/deicsonze.cpp b/muse/synti/deicsonze/deicsonze.cpp index 75d25076..76b08b5a 100644 --- a/muse/synti/deicsonze/deicsonze.cpp +++ b/muse/synti/deicsonze/deicsonze.cpp @@ -426,6 +426,13 @@ void DeicsOnze::initGlobal() { } //--------------------------------------------------------- +// resetVoices +//--------------------------------------------------------- +void DeicsOnze::resetVoices() { + initVoices(); //take care of this if initVoices() changes +} + +//--------------------------------------------------------- // initVoice //--------------------------------------------------------- void DeicsOnze::initVoice(unsigned char v) { @@ -1812,6 +1819,8 @@ bool DeicsOnze::sysex(int length, const unsigned char* data, bool fromGui) { _gui->writeEvent(evSysex); } break; + case SYSEX_PANIC: + resetVoices(); default: break; } diff --git a/muse/synti/deicsonze/deicsonze.h b/muse/synti/deicsonze/deicsonze.h index 77bcd0c7..7d456d35 100644 --- a/muse/synti/deicsonze/deicsonze.h +++ b/muse/synti/deicsonze/deicsonze.h @@ -77,6 +77,8 @@ #define NBRWAVES 8 //number wave forms, do not change #define NBRBANKPRESETS 32 +#define MAXNBRVOICES 64 +#define NBRCHANNEL 16 #define SYSEX_INIT_DATA 1 #define SYSEX_INIT_DATA_VERSION 1 @@ -109,6 +111,7 @@ #define EDITBACKGROUNDCOLORSTR "EditBackgroundColor" #define COLORSYSEXLENGTH 12 #define SYSEX_UPDATESETGUI 25 +#define SYSEX_PANIC 30 #define NUMMASTERVOL SAVEINITLENGTH #define NUMCURRENTPROG SAVEINITLENGTH+1 @@ -291,6 +294,7 @@ class DeicsOnze : public Mess { Preset* findPreset(int hbank, int lbank, int prog); void initCtrls(); void initGlobal(); + void resetVoices(); //when panic is pressed void initVoice(unsigned char v); void initVoices(); void initPreset(); diff --git a/muse/synti/deicsonze/deicsonzegui.cpp b/muse/synti/deicsonze/deicsonzegui.cpp index cc3bb7aa..35e06194 100644 --- a/muse/synti/deicsonze/deicsonzegui.cpp +++ b/muse/synti/deicsonze/deicsonzegui.cpp @@ -53,9 +53,11 @@ DeicsOnzeGui::DeicsOnzeGui(DeicsOnze* deicsOnze) envelopeGraph[2] = new QFrameEnvelope(envelope3Frame, this, 2); envelopeGraph[3] = new QFrameEnvelope(envelope4Frame, this, 3); + //Panic + connect(panicButton, SIGNAL(pressed()), this, SLOT(setPanic())); //Quick edit - connect(volumeKnob, SIGNAL(valueChanged(float, int)), - this, SLOT(setVolKnob(float))); + connect(channelVolumeKnob, SIGNAL(valueChanged(float, int)), + this, SLOT(setChannelVolKnob(float))); connect(brightnessKnob, SIGNAL(valueChanged(float, int)), this, SLOT(setBrightnessKnob(float))); connect(modulationKnob, SIGNAL(valueChanged(float, int)), @@ -88,8 +90,8 @@ DeicsOnzeGui::DeicsOnzeGui(DeicsOnze* deicsOnze) this, SLOT(setBrowseInitSetPath())); //Midi in channel - connect(MidiInChComboBox, SIGNAL(activated(int)), - this, SLOT(setMidiInCh(int))); + //connect(MidiInChComboBox, SIGNAL(activated(int)), + // this, SLOT(setMidiInCh(int))); //Save mode ratio button connect(minSaveRadioButton, SIGNAL(toggled(bool)), this, SLOT(setSaveOnlyUsed(bool))); @@ -130,8 +132,8 @@ DeicsOnzeGui::DeicsOnzeGui(DeicsOnze* deicsOnze) this, SLOT(setLBank(int))); connect(progSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setProg(int))); //Global - connect(masterVolSlider, SIGNAL(valueChanged(int)), - this, SLOT(setMasterVol(int))); + connect(channelPanSlider, SIGNAL(valueChanged(int)), + this, SLOT(setPanVol(int))); connect(feedbackSlider, SIGNAL(valueChanged(int)), this, SLOT(setFeedback(int))); connect(LFOWaveComboBox, SIGNAL(activated(int)), @@ -328,6 +330,15 @@ DeicsOnzeGui::DeicsOnzeGui(DeicsOnze* deicsOnze) } //----------------------------------------------------------- +// setPanic +//----------------------------------------------------------- +void DeicsOnzeGui::setPanic() { + unsigned char* message = new unsigned char[1]; + message[0]=SYSEX_PANIC; + sendSysex(message, 1); +} + +//----------------------------------------------------------- // setNbrVoices //----------------------------------------------------------- void DeicsOnzeGui::setNbrVoices(int nv) { @@ -593,6 +604,49 @@ void DeicsOnzeGui::setTextColor(const QColor & c) { QPalette p = this->palette(); p.setColor(QPalette::WindowText, c); this->setPalette(p); + quickEditGroupBox->setPalette(p); + channelPanGroupBox->setPalette(p); + FeedbackGroupBox->setPalette(p); + LFOGroupBox->setPalette(p); + ModulationMatrixGroupBox->setPalette(p); + FeedbackGroupBox->setPalette(p); + pitchEnvGroupBox->setPalette(p); + Frequency1groupBox->setPalette(p); + OUT1groupBox->setPalette(p); + Env1GroupBox->setPalette(p); + Scaling1GroupBox->setPalette(p); + DetWaveEGS1GroupBox->setPalette(p); + sensitivity1groupBox->setPalette(p); + Frequency2groupBox->setPalette(p); + OUT2groupBox->setPalette(p); + Env2GroupBox->setPalette(p); + Scaling2GroupBox->setPalette(p); + DetWaveEGS2GroupBox->setPalette(p); + sensitivity2groupBox->setPalette(p); + Frequency3groupBox->setPalette(p); + OUT3groupBox->setPalette(p); + Env3GroupBox->setPalette(p); + Scaling3GroupBox->setPalette(p); + DetWaveEGS3GroupBox->setPalette(p); + sensitivity3groupBox->setPalette(p); + Frequency4groupBox->setPalette(p); + OUT4groupBox->setPalette(p); + Env4GroupBox->setPalette(p); + Scaling4GroupBox->setPalette(p); + DetWaveEGS4GroupBox->setPalette(p); + sensitivity4groupBox->setPalette(p); + transposeGroupBox->setPalette(p); + detuneGroupBox->setPalette(p); + footSWGroupBox->setPalette(p); + pitchBendRangeGroupBox->setPalette(p); + reverbGroupBox->setPalette(p); + modeGroupBox->setPalette(p); + portamentoGroupBox->setPalette(p); + colorGroupBox->setPalette(p); + pathGroupBox->setPalette(p); + qualityGroupBox->setPalette(p); + saveModeButtonGroup->setPalette(p); + fileGroupBox->setPalette(p); } void DeicsOnzeGui::setBackgroundColor(const QColor & c) { QPalette p = this->palette(); @@ -603,12 +657,15 @@ void DeicsOnzeGui::setEditTextColor(const QColor & c) { QPalette p = this->palette(); p.setColor(QPalette::Text, c); this->setPalette(p); - volumeKnob->setScaleValueColor(c); + masterVolKnob->setScaleValueColor(c); + channelVolumeKnob->setScaleValueColor(c); brightnessKnob->setScaleValueColor(c); modulationKnob->setScaleValueColor(c); detuneKnob->setScaleValueColor(c); attackKnob->setScaleValueColor(c); releaseKnob->setScaleValueColor(c); + p.setColor(QPalette::WindowText, c); + presetNameLabel->setPalette(p); } void DeicsOnzeGui::setEditBackgroundColor(const QColor & c) { QPalette p = this->palette(); @@ -629,7 +686,8 @@ void DeicsOnzeGui::setEditBackgroundColor(const QColor & c) { p = envelope4Frame->palette(); p.setColor(QPalette::Window, c); envelope4Frame->setPalette(p); - volumeKnob->setScaleColor(c); + masterVolKnob->setScaleColor(c); + channelVolumeKnob->setScaleColor(c); brightnessKnob->setScaleColor(c); modulationKnob->setScaleColor(c); detuneKnob->setScaleColor(c); @@ -2014,8 +2072,8 @@ void DeicsOnzeGui::setBrowseInitSetPath() { //----------------------------------------------------------- // Quick Edit //----------------------------------------------------------- -void DeicsOnzeGui::setVolKnob(float val) { - masterVolSlider->setValue((int)(val*MAXMASTERVOLUME)); +void DeicsOnzeGui::setChannelVolKnob(float val) { + channelVolumeKnob->setValue((int)(val*MAXMASTERVOLUME)); //TODO to change } void DeicsOnzeGui::setBrightnessKnob(float val) { sendController(0, CTRL_FINEBRIGHTNESS, (int)(val*(float)MAXFINEBRIGHTNESS)); @@ -2035,10 +2093,16 @@ void DeicsOnzeGui::setReleaseKnob(float val) { //----------------------------------------------------------- // Global control //----------------------------------------------------------- -void DeicsOnzeGui::setMasterVol(int mv) { - volumeKnob->blockSignals(true); - volumeKnob->setValue((float)mv/(float)MAXMASTERVOLUME); - volumeKnob->blockSignals(false); +void DeicsOnzeGui::setPanVol(int mv) { //TODO + //volumeKnob->blockSignals(true); + //volumeKnob->setValue((float)mv/(float)MAXMASTERVOLUME); + //volumeKnob->blockSignals(false); + //sendController(0, CTRL_MASTERVOLUME, mv); +} +void DeicsOnzeGui::setMasterVol(int mv) { //to change + //volumeKnob->blockSignals(true); + //volumeKnob->setValue((float)mv/(float)MAXMASTERVOLUME); + //volumeKnob->blockSignals(false); sendController(0, CTRL_MASTERVOLUME, mv); } @@ -2517,9 +2581,9 @@ void DeicsOnzeGui::updateNbrVoices(int val) { nbrVoicesSpinBox->blockSignals(false); } void DeicsOnzeGui::updateMidiInCh(int val) { - MidiInChComboBox->blockSignals(true); - MidiInChComboBox->setCurrentIndex(val); - MidiInChComboBox->blockSignals(false); + //MidiInChComboBox->blockSignals(true); + //MidiInChComboBox->setCurrentIndex(val); + //MidiInChComboBox->blockSignals(false); } void DeicsOnzeGui::updateQuality(int val) { qualityComboBox->blockSignals(true); @@ -3351,15 +3415,15 @@ void DeicsOnzeGui::updateGLOBALDETUNE(int val) { detuneKnob->blockSignals(false); } void DeicsOnzeGui::updateMASTERVOLUME(int val) { - masterVolSlider->blockSignals(true); - masterVolSlider->setValue(val); - masterVolSlider->blockSignals(false); - masterVolSpinBox->blockSignals(true); - masterVolSpinBox->setValue(val); - masterVolSpinBox->blockSignals(false); - volumeKnob->blockSignals(true); - volumeKnob->setValue(((float)val)/(float)MAXMASTERVOLUME); - volumeKnob->blockSignals(false); + //masterVolSlider->blockSignals(true); + //masterVolSlider->setValue(val); + //masterVolSlider->blockSignals(false); + //masterVolSpinBox->blockSignals(true); + //masterVolSpinBox->setValue(val); + //masterVolSpinBox->blockSignals(false); + channelVolumeKnob->blockSignals(true); + channelVolumeKnob->setValue(((float)val)/(float)MAXMASTERVOLUME); + channelVolumeKnob->blockSignals(false); } void DeicsOnzeGui::updateCategoryName(QString cn, bool enable) { categoryLineEdit->setEnabled(enable); diff --git a/muse/synti/deicsonze/deicsonzegui.h b/muse/synti/deicsonze/deicsonzegui.h index 09e463db..a8d28e93 100644 --- a/muse/synti/deicsonze/deicsonzegui.h +++ b/muse/synti/deicsonze/deicsonzegui.h @@ -118,11 +118,12 @@ class DeicsOnzeGui : public QDialog, public Ui::DeicsOnzeGuiBase, public MessGui QString lastDir; private slots: void readMessage(int); + void setPanic(); void setNbrVoices(int); void setSaveOnlyUsed(bool); void setSaveOnlyUsedComp(bool); void setSaveConfig(bool); - void setMidiInCh(int); + void setMidiInCh(int); //to change void setQuality(const QString&); void saveConfiguration(); void saveDefaultConfiguration(); @@ -133,7 +134,7 @@ class DeicsOnzeGui : public QDialog, public Ui::DeicsOnzeGuiBase, public MessGui void setInitSetPath(const QString&); void setBrowseInitSetPath(); //quick edit - void setVolKnob(float val); + void setChannelVolKnob(float val); void setBrightnessKnob(float val); void setModulationKnob(float val); void setDetuneKnob(float val); @@ -176,6 +177,7 @@ class DeicsOnzeGui : public QDialog, public Ui::DeicsOnzeGuiBase, public MessGui void setLBank(int); void setProg(int); //Global + void setPanVol(int); void setMasterVol(int); void setFeedback(int); void setLfoWave(int); @@ -299,7 +301,7 @@ class DeicsOnzeGui : public QDialog, public Ui::DeicsOnzeGuiBase, public MessGui //update the gui void setEnabledPreset(bool b); void updateNbrVoices(int val); - void updateMidiInCh(int val); + void updateMidiInCh(int val); //to change void updateQuality(int val); void updateSaveOnlyUsed(bool); void updateSaveConfig(bool); @@ -369,7 +371,7 @@ class DeicsOnzeGui : public QDialog, public Ui::DeicsOnzeGuiBase, public MessGui void updateOSW(int op, int val); void updateSHFT(int op, int val); void updateGLOBALDETUNE(int val); - void updateMASTERVOLUME(int val); + void updateMASTERVOLUME(int val); //to change void updateCategoryName(QString cn, bool enable); void updateSubcategoryName(QString sn, bool enable); void updatePresetName(QString pn, bool enable); diff --git a/muse/synti/deicsonze/deicsonzegui.ui b/muse/synti/deicsonze/deicsonzegui.ui index 3e8623e4..dd0ccc91 100644 --- a/muse/synti/deicsonze/deicsonzegui.ui +++ b/muse/synti/deicsonze/deicsonzegui.ui @@ -8,8 +8,8 @@ <rect> <x>0</x> <y>0</y> - <width>544</width> - <height>570</height> + <width>586</width> + <height>663</height> </rect> </property> <property name="font" > @@ -40,6 +40,395 @@ <number>6</number> </property> <item row="0" column="0" > + <widget class="QLabel" name="masterVolumeLabel" > + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="text" > + <string>Vol</string> + </property> + <property name="alignment" > + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="Awl::VolKnob" name="masterVolKnob" > + <property name="minimumSize" > + <size> + <width>40</width> + <height>40</height> + </size> + </property> + </widget> + </item> + <item row="0" column="2" > + <widget class="QGroupBox" name="generalBox" > + <property name="title" > + <string/> + </property> + <layout class="QGridLayout" > + <property name="margin" > + <number>9</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item row="0" column="4" > + <widget class="QSpinBox" name="nbrVoicesSpinBox" > + <property name="enabled" > + <bool>true</bool> + </property> + <property name="toolTip" > + <string>Number of Voices</string> + </property> + <property name="maximum" > + <number>64</number> + </property> + <property name="minimum" > + <number>1</number> + </property> + <property name="value" > + <number>8</number> + </property> + </widget> + </item> + <item row="0" column="3" > + <widget class="QLabel" name="numberVoicesLabel" > + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="text" > + <string>Number of voices</string> + </property> + <property name="alignment" > + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item row="0" column="2" > + <widget class="QCheckBox" name="ChannelCheckBox" > + <property name="text" > + <string>Enable</string> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QSpinBox" name="ChannelNumSpinBox" > + <property name="maximum" > + <number>16</number> + </property> + <property name="minimum" > + <number>1</number> + </property> + </widget> + </item> + <item row="0" column="0" > + <widget class="QLabel" name="channelNumLabel" > + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="text" > + <string>Channel</string> + </property> + <property name="alignment" > + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="0" column="3" > + <widget class="QPushButton" name="panicButton" > + <property name="maximumSize" > + <size> + <width>1000</width> + <height>1000</height> + </size> + </property> + <property name="palette" > + <palette> + <active> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + <color> + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + <color> + <red>237</red> + <green>237</green> + <blue>237</blue> + </color> + <color> + <red>231</red> + <green>231</green> + <blue>231</blue> + </color> + <color> + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + <color> + <red>166</red> + <green>166</green> + <blue>166</blue> + </color> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + <color> + <red>255</red> + <green>0</green> + <blue>0</blue> + </color> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + <color> + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + <color> + <red>0</red> + <green>0</green> + <blue>255</blue> + </color> + <color> + <red>255</red> + <green>0</green> + <blue>255</blue> + </color> + <color> + <red>231</red> + <green>231</green> + <blue>231</blue> + </color> + </active> + <inactive> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + <color> + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + <color> + <red>237</red> + <green>237</green> + <blue>237</blue> + </color> + <color> + <red>231</red> + <green>231</green> + <blue>231</blue> + </color> + <color> + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + <color> + <red>166</red> + <green>166</green> + <blue>166</blue> + </color> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + <color> + <red>255</red> + <green>0</green> + <blue>0</blue> + </color> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + <color> + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + <color> + <red>0</red> + <green>0</green> + <blue>255</blue> + </color> + <color> + <red>255</red> + <green>0</green> + <blue>255</blue> + </color> + <color> + <red>231</red> + <green>231</green> + <blue>231</blue> + </color> + </inactive> + <disabled> + <color> + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + <color> + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + <color> + <red>237</red> + <green>237</green> + <blue>237</blue> + </color> + <color> + <red>231</red> + <green>231</green> + <blue>231</blue> + </color> + <color> + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + <color> + <red>166</red> + <green>166</green> + <blue>166</blue> + </color> + <color> + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + <color> + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + <color> + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + <color> + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + <color> + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + <color> + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + <color> + <red>0</red> + <green>0</green> + <blue>255</blue> + </color> + <color> + <red>255</red> + <green>0</green> + <blue>255</blue> + </color> + <color> + <red>231</red> + <green>231</green> + <blue>231</blue> + </color> + </disabled> + </palette> + </property> + <property name="font" > + <font> + <family>Sans Serif</family> + <pointsize>10</pointsize> + <weight>75</weight> + <italic>false</italic> + <bold>true</bold> + <underline>false</underline> + <strikeout>false</strikeout> + </font> + </property> + <property name="text" > + <string>Panic!</string> + </property> + </widget> + </item> + <item row="1" column="0" colspan="4" > <widget class="QGroupBox" name="quickEditGroupBox" > <property name="minimumSize" > <size> @@ -48,7 +437,7 @@ </size> </property> <property name="title" > - <string>Quick Edit</string> + <string>Quick Edit (per channel)</string> </property> <layout class="QGridLayout" > <property name="margin" > @@ -135,7 +524,7 @@ </widget> </item> <item row="1" column="0" > - <widget class="QLabel" name="GlobalVolumeLabel" > + <widget class="QLabel" name="channelVolumeLabel" > <property name="frameShape" > <enum>QFrame::StyledPanel</enum> </property> @@ -148,7 +537,7 @@ </widget> </item> <item row="0" column="0" > - <widget class="Awl::Knob" name="volumeKnob" > + <widget class="Awl::Knob" name="channelVolumeKnob" > <property name="maxValue" > <double>1</double> </property> @@ -188,9 +577,9 @@ <font> <family>Sans Serif</family> <pointsize>9</pointsize> - <weight>75</weight> + <weight>50</weight> <italic>false</italic> - <bold>true</bold> + <bold>false</bold> <underline>false</underline> <strikeout>false</strikeout> </font> @@ -209,7 +598,7 @@ </layout> </widget> </item> - <item row="1" column="0" > + <item row="2" column="0" colspan="4" > <widget class="QTabWidget" name="deicsOnzeTabWidget" > <property name="sizePolicy" > <sizepolicy> @@ -231,6 +620,9 @@ <property name="tabShape" > <enum>QTabWidget::Rounded</enum> </property> + <property name="currentIndex" > + <number>0</number> + </property> <widget class="QWidget" name="PresetsTab" > <attribute name="title" > <string>&Presets</string> @@ -242,81 +634,78 @@ <property name="spacing" > <number>6</number> </property> - <item row="0" column="5" > - <widget class="QLineEdit" name="presetLineEdit" > + <item row="0" column="0" > + <widget class="QSpinBox" name="hbankSpinBox" > + <property name="enabled" > + <bool>false</bool> + </property> + <property name="toolTip" > + <string>Bank numerous</string> + </property> + <property name="maximum" > + <number>128</number> + </property> + <property name="minimum" > + <number>1</number> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QLineEdit" name="categoryLineEdit" > <property name="enabled" > <bool>false</bool> </property> <property name="text" > - <string>INITVOICE</string> + <string>NONE</string> </property> <property name="maxLength" > <number>12</number> </property> </widget> </item> - <item row="2" column="0" colspan="6" > - <widget class="QLabel" name="presentTextLAbel" > - <property name="font" > - <font> - <family>Sans Serif</family> - <pointsize>8</pointsize> - <weight>50</weight> - <italic>false</italic> - <bold>false</bold> - <underline>false</underline> - <strikeout>false</strikeout> - </font> + <item row="0" column="2" > + <widget class="QSpinBox" name="lbankSpinBox" > + <property name="enabled" > + <bool>false</bool> </property> - <property name="frameShape" > - <enum>QFrame::NoFrame</enum> + <property name="toolTip" > + <string>Bank numerous</string> </property> - <property name="frameShadow" > - <enum>QFrame::Plain</enum> + <property name="maximum" > + <number>128</number> </property> - <property name="text" > - <string>DeicsOnze v0.3 Copyright (c) 2004-2006 Nil Geisweiller. Published under GPL licence.</string> + <property name="minimum" > + <number>1</number> </property> </widget> </item> - <item row="1" column="2" colspan="2" > - <widget class="QTreeWidget" name="subcategoryListView" > - <property name="contextMenuPolicy" > - <enum>Qt::CustomContextMenu</enum> - </property> - <property name="rootIsDecorated" > + <item row="0" column="3" > + <widget class="QLineEdit" name="subcategoryLineEdit" > + <property name="enabled" > <bool>false</bool> </property> - <column> - <property name="text" > - <string>LBank</string> - </property> - </column> - <column> - <property name="text" > - <string>Subcategory</string> - </property> - </column> + <property name="text" > + <string>NONE</string> + </property> + <property name="maxLength" > + <number>12</number> + </property> </widget> </item> - <item row="1" column="4" colspan="2" > - <widget class="QTreeWidget" name="presetListView" > - <property name="contextMenuPolicy" > - <enum>Qt::CustomContextMenu</enum> - </property> - <property name="rootIsDecorated" > + <item row="0" column="4" > + <widget class="QSpinBox" name="progSpinBox" > + <property name="enabled" > <bool>false</bool> </property> - <column> - <property name="text" > - <string>Prog</string> - </property> - </column> - <column> - <property name="text" > - <string>Preset</string> - </property> - </column> + <property name="toolTip" > + <string>Program numerous</string> + </property> + <property name="maximum" > + <number>128</number> + </property> + <property name="minimum" > + <number>1</number> + </property> </widget> </item> <item row="1" column="0" colspan="2" > @@ -363,80 +752,83 @@ </column> </widget> </item> - <item row="0" column="4" > - <widget class="QSpinBox" name="progSpinBox" > - <property name="enabled" > - <bool>false</bool> - </property> - <property name="toolTip" > - <string>Program numerous</string> - </property> - <property name="maximum" > - <number>128</number> + <item row="1" column="4" colspan="2" > + <widget class="QTreeWidget" name="presetListView" > + <property name="contextMenuPolicy" > + <enum>Qt::CustomContextMenu</enum> </property> - <property name="minimum" > - <number>1</number> + <property name="rootIsDecorated" > + <bool>false</bool> </property> + <column> + <property name="text" > + <string>Prog</string> + </property> + </column> + <column> + <property name="text" > + <string>Preset</string> + </property> + </column> </widget> </item> - <item row="0" column="3" > - <widget class="QLineEdit" name="subcategoryLineEdit" > - <property name="enabled" > - <bool>false</bool> - </property> - <property name="text" > - <string>NONE</string> + <item row="1" column="2" colspan="2" > + <widget class="QTreeWidget" name="subcategoryListView" > + <property name="contextMenuPolicy" > + <enum>Qt::CustomContextMenu</enum> </property> - <property name="maxLength" > - <number>12</number> + <property name="rootIsDecorated" > + <bool>false</bool> </property> + <column> + <property name="text" > + <string>LBank</string> + </property> + </column> + <column> + <property name="text" > + <string>Subcategory</string> + </property> + </column> </widget> </item> - <item row="0" column="2" > - <widget class="QSpinBox" name="lbankSpinBox" > - <property name="enabled" > - <bool>false</bool> + <item row="2" column="0" colspan="6" > + <widget class="QLabel" name="presentTextLAbel" > + <property name="font" > + <font> + <family>Sans Serif</family> + <pointsize>8</pointsize> + <weight>50</weight> + <italic>false</italic> + <bold>false</bold> + <underline>false</underline> + <strikeout>false</strikeout> + </font> </property> - <property name="toolTip" > - <string>Bank numerous</string> + <property name="frameShape" > + <enum>QFrame::NoFrame</enum> </property> - <property name="maximum" > - <number>128</number> + <property name="frameShadow" > + <enum>QFrame::Plain</enum> </property> - <property name="minimum" > - <number>1</number> + <property name="text" > + <string>DeicsOnze v0.3 Copyright (c) 2004-2006 Nil Geisweiller. Published under GPL licence.</string> </property> </widget> </item> - <item row="0" column="1" > - <widget class="QLineEdit" name="categoryLineEdit" > + <item row="0" column="5" > + <widget class="QLineEdit" name="presetLineEdit" > <property name="enabled" > <bool>false</bool> </property> <property name="text" > - <string>NONE</string> + <string>INITVOICE</string> </property> <property name="maxLength" > <number>12</number> </property> </widget> </item> - <item row="0" column="0" > - <widget class="QSpinBox" name="hbankSpinBox" > - <property name="enabled" > - <bool>false</bool> - </property> - <property name="toolTip" > - <string>Bank numerous</string> - </property> - <property name="maximum" > - <number>128</number> - </property> - <property name="minimum" > - <number>1</number> - </property> - </widget> - </item> </layout> </widget> <widget class="QWidget" name="GlobalTab" > @@ -1095,9 +1487,9 @@ </widget> </item> <item row="0" column="0" > - <widget class="QGroupBox" name="masterVolGroupBox" > + <widget class="QGroupBox" name="channelPanGroupBox" > <property name="title" > - <string>Master Volume</string> + <string>Channel Panoramic</string> </property> <layout class="QHBoxLayout" > <property name="margin" > @@ -1107,18 +1499,24 @@ <number>6</number> </property> <item> - <widget class="QSlider" name="masterVolSlider" > + <widget class="QSlider" name="channelPanSlider" > <property name="cursor" > <cursor>13</cursor> </property> <property name="toolTip" > <string>Master Volume</string> </property> + <property name="minimum" > + <number>-127</number> + </property> <property name="maximum" > - <number>255</number> + <number>127</number> </property> <property name="value" > - <number>64</number> + <number>0</number> + </property> + <property name="sliderPosition" > + <number>0</number> </property> <property name="orientation" > <enum>Qt::Horizontal</enum> @@ -1131,10 +1529,13 @@ <string>Master volume</string> </property> <property name="maximum" > - <number>255</number> + <number>127</number> + </property> + <property name="minimum" > + <number>-127</number> </property> <property name="value" > - <number>64</number> + <number>0</number> </property> </widget> </item> @@ -4137,6 +4538,9 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin </property> <item row="0" column="0" colspan="4" > <widget class="QTabWidget" name="controlTabWidget" > + <property name="currentIndex" > + <number>0</number> + </property> <widget class="QWidget" name="FCTab" > <attribute name="title" > <string>Foot Control</string> @@ -5178,7 +5582,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin </widget> <widget class="QWidget" name="ConfigureTab" > <attribute name="title" > - <string>&Configure</string> + <string>&Configure (global)</string> </attribute> <layout class="QGridLayout" > <property name="margin" > @@ -5187,7 +5591,176 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin <property name="spacing" > <number>6</number> </property> - <item row="0" column="0" colspan="4" > + <item row="2" column="0" > + <widget class="QGroupBox" name="qualityGroupBox" > + <property name="title" > + <string>Quality</string> + </property> + <layout class="QHBoxLayout" > + <property name="margin" > + <number>10</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <widget class="QComboBox" name="qualityComboBox" > + <property name="enabled" > + <bool>false</bool> + </property> + <item> + <property name="text" > + <string>High</string> + </property> + </item> + <item> + <property name="text" > + <string>Middle</string> + </property> + </item> + <item> + <property name="text" > + <string>Low</string> + </property> + </item> + </widget> + </item> + </layout> + </widget> + </item> + <item row="1" column="0" colspan="2" > + <widget class="QGroupBox" name="pathGroupBox" > + <property name="title" > + <string>Set Path</string> + </property> + <layout class="QGridLayout" > + <property name="margin" > + <number>9</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item row="0" column="0" colspan="2" > + <widget class="QCheckBox" name="initSetCheckBox" > + <property name="text" > + <string>Load the following set at the initialization :</string> + </property> + <property name="checked" > + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="1" > + <widget class="QPushButton" name="browsePushButton" > + <property name="text" > + <string>Browse...</string> + </property> + </widget> + </item> + <item row="1" column="0" > + <widget class="QLineEdit" name="pathLineEdit" > + <property name="maxLength" > + <number>128</number> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="3" column="0" > + <widget class="QGroupBox" name="fileGroupBox" > + <property name="title" > + <string>Configuration File</string> + </property> + <layout class="QGridLayout" > + <property name="margin" > + <number>9</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item row="0" column="1" > + <widget class="QPushButton" name="saveConfPushButton" > + <property name="enabled" > + <bool>true</bool> + </property> + <property name="text" > + <string>Save...</string> + </property> + </widget> + </item> + <item row="0" column="2" > + <widget class="QPushButton" name="loadConfPushButton" > + <property name="enabled" > + <bool>true</bool> + </property> + <property name="text" > + <string>Load...</string> + </property> + </widget> + </item> + <item row="0" column="0" > + <widget class="QPushButton" name="saveDefaultPushButton" > + <property name="text" > + <string>Save as default</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item rowspan="2" row="2" column="1" > + <widget class="QGroupBox" name="saveModeButtonGroup" > + <property name="title" > + <string>Save Mode (into the song)</string> + </property> + <layout class="QVBoxLayout" > + <property name="margin" > + <number>10</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <widget class="QRadioButton" name="minSaveRadioButton" > + <property name="cursor" > + <cursor>13</cursor> + </property> + <property name="text" > + <string>Save only the used presets</string> + </property> + <property name="checked" > + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QRadioButton" name="hugeSaveRadioButton" > + <property name="cursor" > + <cursor>13</cursor> + </property> + <property name="text" > + <string>Save the entire set</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="saveConfigCheckBox" > + <property name="cursor" > + <cursor>13</cursor> + </property> + <property name="text" > + <string>Save the configuration</string> + </property> + <property name="checked" > + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="0" column="0" colspan="2" > <widget class="QGroupBox" name="colorGroupBox" > <property name="title" > <string>Colors</string> @@ -5376,316 +5949,6 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin </layout> </widget> </item> - <item rowspan="2" row="2" column="3" > - <widget class="QGroupBox" name="saveModeButtonGroup" > - <property name="title" > - <string>Save Mode (into the song)</string> - </property> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>10</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QRadioButton" name="minSaveRadioButton" > - <property name="cursor" > - <cursor>13</cursor> - </property> - <property name="text" > - <string>Save only the used presets</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="hugeSaveRadioButton" > - <property name="cursor" > - <cursor>13</cursor> - </property> - <property name="text" > - <string>Save the entire set</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="saveConfigCheckBox" > - <property name="cursor" > - <cursor>13</cursor> - </property> - <property name="text" > - <string>Save the configuration</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="3" column="0" colspan="3" > - <widget class="QGroupBox" name="fileGroupBox" > - <property name="title" > - <string>Configuration File</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="1" > - <widget class="QPushButton" name="saveConfPushButton" > - <property name="enabled" > - <bool>true</bool> - </property> - <property name="text" > - <string>Save...</string> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QPushButton" name="loadConfPushButton" > - <property name="enabled" > - <bool>true</bool> - </property> - <property name="text" > - <string>Load...</string> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QPushButton" name="saveDefaultPushButton" > - <property name="text" > - <string>Save as default</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="1" column="0" colspan="4" > - <widget class="QGroupBox" name="pathGroupBox" > - <property name="title" > - <string>Set Path</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="0" colspan="2" > - <widget class="QCheckBox" name="initSetCheckBox" > - <property name="text" > - <string>Load the following set at the initialization :</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QPushButton" name="browsePushButton" > - <property name="text" > - <string>Browse...</string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QLineEdit" name="pathLineEdit" > - <property name="maxLength" > - <number>128</number> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="2" column="1" > - <widget class="QGroupBox" name="nbrVoicesGroupBox" > - <property name="title" > - <string>Nbr Voices</string> - </property> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>10</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QSpinBox" name="nbrVoicesSpinBox" > - <property name="enabled" > - <bool>true</bool> - </property> - <property name="toolTip" > - <string>Number of Voices</string> - </property> - <property name="maximum" > - <number>64</number> - </property> - <property name="minimum" > - <number>1</number> - </property> - <property name="value" > - <number>8</number> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="2" column="0" > - <widget class="QGroupBox" name="qualityGroupBox" > - <property name="title" > - <string>Quality</string> - </property> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>10</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QComboBox" name="qualityComboBox" > - <property name="enabled" > - <bool>false</bool> - </property> - <item> - <property name="text" > - <string>High</string> - </property> - </item> - <item> - <property name="text" > - <string>Middle</string> - </property> - </item> - <item> - <property name="text" > - <string>Low</string> - </property> - </item> - </widget> - </item> - </layout> - </widget> - </item> - <item row="2" column="2" > - <widget class="QGroupBox" name="MidiChInGroupBox" > - <property name="title" > - <string>Midi Input Ch</string> - </property> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>10</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QComboBox" name="MidiInChComboBox" > - <property name="enabled" > - <bool>true</bool> - </property> - <item> - <property name="text" > - <string>All</string> - </property> - </item> - <item> - <property name="text" > - <string>1</string> - </property> - </item> - <item> - <property name="text" > - <string>2</string> - </property> - </item> - <item> - <property name="text" > - <string>3</string> - </property> - </item> - <item> - <property name="text" > - <string>4</string> - </property> - </item> - <item> - <property name="text" > - <string>5</string> - </property> - </item> - <item> - <property name="text" > - <string>6</string> - </property> - </item> - <item> - <property name="text" > - <string>7</string> - </property> - </item> - <item> - <property name="text" > - <string>8</string> - </property> - </item> - <item> - <property name="text" > - <string>9</string> - </property> - </item> - <item> - <property name="text" > - <string>10</string> - </property> - </item> - <item> - <property name="text" > - <string>11</string> - </property> - </item> - <item> - <property name="text" > - <string>12</string> - </property> - </item> - <item> - <property name="text" > - <string>13</string> - </property> - </item> - <item> - <property name="text" > - <string>14</string> - </property> - </item> - <item> - <property name="text" > - <string>15</string> - </property> - </item> - <item> - <property name="text" > - <string>16</string> - </property> - </item> - </widget> - </item> - </layout> - </widget> - </item> </layout> </widget> </widget> @@ -5696,8 +5959,15 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin <pixmapfunction></pixmapfunction> <customwidgets> <customwidget> + <class>Awl::VolKnob</class> + <extends>Awl::Knob</extends> + <header>awl/volknob.h</header> + <container>0</container> + <pixmap></pixmap> + </customwidget> + <customwidget> <class>Awl::Knob</class> - <extends></extends> + <extends>QWidget</extends> <header>awl/knob.h</header> <container>0</container> <pixmap></pixmap> @@ -5706,7 +5976,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin <tabstops> <tabstop>deicsOnzeTabWidget</tabstop> <tabstop>presetLineEdit</tabstop> - <tabstop>masterVolSlider</tabstop> + <tabstop>channelPanSlider</tabstop> <tabstop>feedbackSlider</tabstop> <tabstop>LFOSyncCheckBox</tabstop> <tabstop>PModSensSlider</tabstop> @@ -5829,7 +6099,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin <resources/> <connections> <connection> - <sender>masterVolSlider</sender> + <sender>channelPanSlider</sender> <signal>valueChanged(int)</signal> <receiver>masterVolSpinBox</receiver> <slot>setValue(int)</slot> @@ -5847,7 +6117,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin <connection> <sender>masterVolSpinBox</sender> <signal>valueChanged(int)</signal> - <receiver>masterVolSlider</receiver> + <receiver>channelPanSlider</receiver> <slot>setValue(int)</slot> <hints> <hint type="sourcelabel" > diff --git a/muse/synti/deicsonze/deicsonzepreset.h b/muse/synti/deicsonze/deicsonzepreset.h index c85d91a3..e9132380 100644 --- a/muse/synti/deicsonze/deicsonzepreset.h +++ b/muse/synti/deicsonze/deicsonzepreset.h @@ -269,7 +269,6 @@ #define MIDRELEASE 64 #define NBRVOICESSTR "NumberOfVoices" #define CTRL_NBRVOICES 127+CTRLOFFSET -#define MAXNBRVOICES 64 class Preset; class Subcategory; |