diff options
-rw-r--r-- | muse/ChangeLog | 2 | ||||
-rw-r--r-- | muse/synti/deicsonze/CMakeLists.txt | 1 | ||||
-rw-r--r-- | muse/synti/deicsonze/TODO | 1 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonze.cpp | 120 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonze.h | 14 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonzegui.cpp | 21 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonzegui.h | 4 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonzegui.ui | 1984 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonzeplugin.cpp | 2 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonzeplugin.h | 2 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonzepreset.cpp | 2 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonzepreset.h | 4 |
12 files changed, 1130 insertions, 1027 deletions
diff --git a/muse/ChangeLog b/muse/ChangeLog index 9247b2d1..eb68b20b 100644 --- a/muse/ChangeLog +++ b/muse/ChangeLog @@ -1,3 +1,5 @@ +13.12 (ns) DeicsOnze 0.5.5 + - added filter for low quality 12.12 (ws) - added possibility to define a new midicontroller (ng) diff --git a/muse/synti/deicsonze/CMakeLists.txt b/muse/synti/deicsonze/CMakeLists.txt index a738a812..63a88744 100644 --- a/muse/synti/deicsonze/CMakeLists.txt +++ b/muse/synti/deicsonze/CMakeLists.txt @@ -25,6 +25,7 @@ add_library ( deicsonze SHARED deicsonze.cpp deicsonzepreset.cpp deicsonzeplugin.cpp + deicsonzefilter.cpp deicsonzegui.cpp deicsonzegui.h ${deicsonze_mocs} diff --git a/muse/synti/deicsonze/TODO b/muse/synti/deicsonze/TODO index 8f7863ec..53c7e3fa 100644 --- a/muse/synti/deicsonze/TODO +++ b/muse/synti/deicsonze/TODO @@ -12,4 +12,3 @@ - calibrate portamento and pitch envelope to fit real DX11 - make deicsonze loadable as standalone by mus - add filter -- fix bug LFO adjute w.w.t. frequency and make delay better diff --git a/muse/synti/deicsonze/deicsonze.cpp b/muse/synti/deicsonze/deicsonze.cpp index 0aa23fcd..f6a72e0c 100644 --- a/muse/synti/deicsonze/deicsonze.cpp +++ b/muse/synti/deicsonze/deicsonze.cpp @@ -2,7 +2,7 @@ // // DeicsOnze an emulator of the YAMAHA DX11 synthesizer // -// Version 0.5 +// Version 0.5.5 // // // @@ -127,6 +127,11 @@ DeicsOnze::DeicsOnze() : Mess(2) { initPluginReverb(plugins.find("freeverb", "freeverb1")); initPluginChorus(plugins.find("doublechorus", "doublechorus1")); + //Filter + _dryFilter = new LowFilter(); + _chorusFilter = new LowFilter(); + _reverbFilter = new LowFilter(); + //Load configuration QString defaultConf = (QString(getenv("HOME")) + QString("/." DEICSONZESTR ".dco")); FILE* f; @@ -240,6 +245,9 @@ void DeicsOnze::getGeometry(int* x, int* y, int* w, int* h) const { void DeicsOnze::setSampleRate(int sr) { Mess::setSampleRate(sr); + _dryFilter->setSamplerate(sr); + _chorusFilter->setSamplerate(sr); + _reverbFilter->setSamplerate(sr); setQuality(_global.quality); } @@ -504,6 +512,7 @@ void DeicsOnze::initCtrls() { void DeicsOnze::initGlobal() { setMasterVol(INITMASTERVOL); _global.quality = high; + setFilter(false); _global.fontSize = 9; _global.isChorusActivated = false; _global.chorusReturn = level2amp(INITFXRETURN); @@ -634,13 +643,12 @@ inline double note2Amp(double note, int ls) // delay2Time // return the time in second corresponding to the LFO delay parameter //--------------------------------------------------------- -inline double delay2Time(int d) -{ - double t; - //fitting - t=0.07617*(double)d-0.002695*(double)(d*d)+4.214e-05*(double)(d*d*d); - //printf("delay2Time : %f\n", t); - return(t); +inline double delay2Time(int d) { + double t; + //fitting + t=0.07617*(double)d-0.002695*(double)(d*d)+4.214e-05*(double)(d*d*d); + //printf("delay2Time : %f\n", t); + return(t); } //---------------------------------------------------------------- @@ -666,6 +674,7 @@ void DeicsOnze::setMasterVol(int mv) { //---------------------------------------------------------------- void DeicsOnze::setChannelEnable(int c, bool e) { _global.channel[c].isEnable = e; + setLfo(c); } //---------------------------------------------------------------- @@ -762,6 +771,12 @@ int DeicsOnze::getMasterVol(void) const { return(amp2level(_global.masterVolume)); } //---------------------------------------------------------------- +// getFilter +//---------------------------------------------------------------- +bool DeicsOnze::getFilter(void) const { + return _global.filter; +} +//---------------------------------------------------------------- // getChannelEnable //---------------------------------------------------------------- bool DeicsOnze::getChannelEnable(int c) const { @@ -867,22 +882,21 @@ void DeicsOnze::setLfo(int c/*channel*/) )/(double)MAXAMODDEPTH; _global.channel[c].lfoMaxAmp = totalaDepth * (COEFALFO(_preset[c]->sensitivity.amplitude)); - //index is concidered on the frequency of the delay + //index is concidered on the half of the frequency of the LFO _global.channel[c].lfoDelayMaxIndex = - delay2Time(_preset[c]->lfo.delay)*_global.channel[c].lfoFreq; + delay2Time(_preset[c]->lfo.delay)*_global.channel[c].lfoFreq*2; _global.channel[c].lfoDelayInct = (double)(RESOLUTION/4)/_global.channel[c].lfoDelayMaxIndex; //update the actuall values controlling the modulation now if(_global.channel[c].lfoDelayIndex<(double)(RESOLUTION/4)) { double delayCoef = - (double)waveTable[0][(int)_global.channel[c].lfoDelayIndex]; + (double)waveTable[W2][(int)_global.channel[c].lfoDelayIndex]; _global.channel[c].lfoMaxCoefInct = exp((log(2.0)/12.0)*_global.channel[c].lfoPitch*delayCoef); _global.channel[c].lfoCoefInctInct = exp((log(2.0)/12.0)*((2*_global.channel[c].lfoPitch*delayCoef) /_global.channel[c].lfoMaxIndex)); - _global.channel[c].lfoDelayIndex += _global.channel[c].lfoDelayInct; _global.channel[c].lfoMaxDAmp = delayCoef*_global.channel[c].lfoMaxAmp; } else @@ -993,16 +1007,25 @@ void DeicsOnze::setQuality(Quality q) { default : printf("Error switch setQuality : out of value\n"); break; } + //calculate _global.deiSampleRate _global.deiSampleRate = (double)sampleRate() / (double)_global.qualityCounterTop; _global.qualityCounter = 0; - /* TODO - _chorus1->setSampleRate(_global.deiSampleRate); - _chorus2->setSampleRate(_global.deiSampleRate); - */ + //update lfo to consider the new samplerate + for(int c = 0; c < 16; c++) if(_global.channel[c].isEnable) setLfo(c); + //update the cutoffs of the filters + _dryFilter->setCutoff(_global.deiSampleRate/4.0); + _reverbFilter->setCutoff(_global.deiSampleRate/4.0); + _chorusFilter->setCutoff(_global.deiSampleRate/4.0); } //----------------------------------------------------------------- +// setFilter +//----------------------------------------------------------------- +void DeicsOnze::setFilter(bool f) { + _global.filter = f; +} +//----------------------------------------------------------------- // brightness2Amp //----------------------------------------------------------------- double DeicsOnze::brightness2Amp(int c, int k) { @@ -1482,25 +1505,26 @@ inline double pitch2freq(double p) { inline void lfoUpdate(Preset* p, Channel* p_c, float* wt) { double delayCoef; - if(p_c->lfoIndex==0 || p_c->lfoIndex==p_c->lfoMaxIndex/2) { - if(p_c->lfoDelayIndex<(double)(RESOLUTION/4)) { - delayCoef=(double)wt[(int)p_c->lfoDelayIndex]; - p_c->lfoMaxCoefInct=exp((log(2.0)/12.0)*p_c->lfoPitch*delayCoef); - p_c->lfoCoefInctInct= - exp((log(2.0)/12.0)*((2*p_c->lfoPitch*delayCoef)/p_c->lfoMaxIndex)); - p_c->lfoDelayIndex+=p_c->lfoDelayInct; - p_c->lfoMaxDAmp=delayCoef*p_c->lfoMaxAmp; - } - else - if(!p_c->delayPassed) { + //Manage LFO delay + if(!p_c->delayPassed) { + if(p_c->lfoIndex==0 || p_c->lfoIndex==p_c->lfoMaxIndex/2) { + if(p_c->lfoDelayIndex<(double)(RESOLUTION/4)) { + delayCoef=(double)wt[(int)p_c->lfoDelayIndex]; + p_c->lfoMaxCoefInct=exp((log(2.0)/12.0)*p_c->lfoPitch*delayCoef); + p_c->lfoCoefInctInct= + exp((log(2.0)/12.0)*((2*p_c->lfoPitch*delayCoef)/p_c->lfoMaxIndex)); + p_c->lfoDelayIndex+=p_c->lfoDelayInct; + p_c->lfoMaxDAmp=delayCoef*p_c->lfoMaxAmp; + } + else { p_c->lfoMaxCoefInct=exp((log(2.0)/12.0)*p_c->lfoPitch); p_c->lfoCoefInctInct= exp((log(2.0)/12.0)*((2*p_c->lfoPitch)/p_c->lfoMaxIndex)); p_c->delayPassed=true; p_c->lfoMaxDAmp=p_c->lfoMaxAmp; } + } } - switch(p->lfo.wave) { case SAWUP : if(p_c->lfoIndex==0) { @@ -1970,6 +1994,15 @@ void DeicsOnze::readConfiguration(QDomNode qdn) { MidiEvent evQuality(0, ME_SYSEX, (const unsigned char*)dataQuality, 2); _gui->writeEvent(evQuality); } + //filter + if(qdEl.tagName()==FILTERSTR) { + setFilter(qdEl.text()==YESSTRDEI?true:false); + unsigned char *dataFilter = new unsigned char[2]; + dataFilter[0]=SYSEX_FILTER; + dataFilter[1]=(unsigned char)getFilter(); + MidiEvent evFilter(0, ME_SYSEX, (const unsigned char*)dataFilter, 2); + _gui->writeEvent(evFilter); + } //font size if(qdEl.tagName()==FONTSIZESTR) { _global.fontSize = qdEl.text().toInt(); @@ -2131,6 +2164,7 @@ void DeicsOnze::writeConfiguration(AL::Xml* xml) { xml->tag(QUALITYSTR, QString((_global.quality==high?HIGHSTR: (_global.quality==middle?MIDDLESTR: (_global.quality==low?LOWSTR:ULTRALOWSTR))))); + xml->tag(FILTERSTR, QString(getFilter()==true?YESSTRDEI:NOSTRDEI)); xml->tag(FONTSIZESTR, _global.fontSize); xml->tag(SAVECONFIGSTR, QString((_saveConfig?YESSTRDEI:NOSTRDEI))); xml->tag(SAVEONLYUSEDSTR, QString((_saveOnlyUsed?YESSTRDEI:NOSTRDEI))); @@ -2211,6 +2245,7 @@ void DeicsOnze::getInitData(int* length, const unsigned char** data) { //save config data if(_saveConfig) { buffer[NUM_QUALITY]=(unsigned char)_global.quality; + buffer[NUM_FILTER]=(unsigned char)getFilter(); buffer[NUM_FONTSIZE]=(unsigned char)_global.fontSize; buffer[NUM_RED_TEXT]=(unsigned char)_gui->tColor->red(); buffer[NUM_GREEN_TEXT]=(unsigned char)_gui->tColor->green(); @@ -2395,6 +2430,13 @@ void DeicsOnze::parseInitData(int length, const unsigned char* data) { setQuality((Quality)data[NUM_QUALITY]); MidiEvent evQuality(0, ME_SYSEX, (const unsigned char*)dataQuality, 2); _gui->writeEvent(evQuality); + //filter + unsigned char dataFilter[2]; + dataFilter[0]=SYSEX_FILTER; + dataFilter[1]=data[NUM_FILTER]; + setFilter((bool)data[NUM_FILTER]); + MidiEvent evFilter(0, ME_SYSEX, (const unsigned char*)dataFilter, 2); + _gui->writeEvent(evFilter); //font size unsigned char dataFontSize[2]; dataFontSize[0]=SYSEX_FONTSIZE; @@ -2612,6 +2654,13 @@ bool DeicsOnze::sysex(int length, const unsigned char* data, bool fromGui) { _gui->writeEvent(evSysex); } break; + case SYSEX_FILTER: + setFilter((bool)data[1]); + if(!fromGui) { + MidiEvent evSysex(0, ME_SYSEX, data, length); + _gui->writeEvent(evSysex); + } + break; case SYSEX_FONTSIZE: _global.fontSize = (int)data[1]; if(!fromGui) { @@ -3482,7 +3531,8 @@ bool DeicsOnze::playNote(int ch, int pitch, int velo) { else _global.channel[ch].voices[newVoice].hasAttractor = false; /*if(_preset->lfo.sync)*/ _global.channel[ch].lfoIndex=0;//TODO - _global.channel[ch].lfoDelayIndex=0.0; + _global.channel[ch].lfoDelayIndex = + (_preset[ch]->lfo.delay==0?(double)(RESOLUTION/4):0.0); _global.channel[ch].delayPassed=false; //-------------- @@ -3944,8 +3994,14 @@ void DeicsOnze::process(float** buffer, int offset, int n) { _global.qualityCounter++; _global.qualityCounter %= _global.qualityCounterTop; } + //apply Filter + if(_global.filter) _dryFilter->process(leftOutput, rightOutput, n); //Chorus if(_global.isChorusActivated) { + //apply Filter + if(_global.filter) _chorusFilter->process(tempOutputChorus[0], + tempOutputChorus[1], n); + //apply Chorus _pluginIChorus->apply(n, 2, tempInputChorus, tempOutputChorus); for(int i = 0; i < n; i++) { leftOutput[i] += @@ -3956,6 +4012,10 @@ void DeicsOnze::process(float** buffer, int offset, int n) { } //Reverb if(_global.isReverbActivated) { + //apply Filter + if(_global.filter) _reverbFilter->process(tempOutputReverb[0], + tempOutputReverb[1], n); + //apply Chorus _pluginIReverb->apply(n, 2, tempInputReverb, tempOutputReverb); for(int i = 0; i < n; i++) { leftOutput[i] += @@ -3984,7 +4044,7 @@ extern "C" { static MESS descriptor = { "DeicsOnze", "DeicsOnze FM DX11/TX81Z emulator", - "0.5", // version string + "0.5.5", // version string MESS_MAJOR_VERSION, MESS_MINOR_VERSION, instantiate }; diff --git a/muse/synti/deicsonze/deicsonze.h b/muse/synti/deicsonze/deicsonze.h index 37a6d5af..ef3e671a 100644 --- a/muse/synti/deicsonze/deicsonze.h +++ b/muse/synti/deicsonze/deicsonze.h @@ -2,7 +2,7 @@ // // DeicsOnze an emulator of the YAMAHA DX11 synthesizer // -// Version 0.5 +// Version 0.5.5 // // // @@ -36,6 +36,7 @@ #include "deicsonzepreset.h" #include "deicsonzegui.h" #include "deicsonzeplugin.h" +#include "deicsonzefilter.h" #include "libsynti/mess.h" #include "plugin.h" @@ -146,6 +147,8 @@ #define SYSEX_SELECTCHORUS 83 #define SYSEX_BUILDGUIREVERB 84 #define SYSEX_BUILDGUICHORUS 85 +#define SYSEX_FILTER 90 +#define FILTERSTR "Filter" //REVERB PARAMETERS #define DEFAULTVOL 200 @@ -181,6 +184,7 @@ enum { NUM_GREEN_EDITBACKGROUND, NUM_BLUE_EDITBACKGROUND, NUM_QUALITY, + NUM_FILTER, NUM_FONTSIZE, NUM_ISINITSET, NUM_INITSETPATH, @@ -384,6 +388,7 @@ struct Global { int qualityCounter; //counter to skip some sample depending on quality int qualityCounterTop; //number of sample - 1 to skip double deiSampleRate; //depending on quality deicsOnze sample rate varies + bool filter; //low passe filter used when the sampling is low int fontSize; float lastLeftSample; float lastRightSample; @@ -445,6 +450,11 @@ class DeicsOnze : public Mess { double getReverbParam(int i); double getChorusParam(int i); + //Filter + LowFilter* _dryFilter; + LowFilter* _chorusFilter; + LowFilter* _reverbFilter; + mutable MidiPatch _patch; int _numPatch; //what is this? TODO @@ -473,6 +483,7 @@ class DeicsOnze : public Mess { void setEnvRelease(int c); //do the same for all voices all operators void setPitchEnvRelease(int c, int v); void setQuality(Quality q); + void setFilter(bool f); double brightness2Amp(int c, int k); //get the brightness of the operator k void loadSutulaPresets(); void loadSet(QString s); @@ -499,6 +510,7 @@ class DeicsOnze : public Mess { bool getChannelEnable(int c) const; int getNbrVoices(int c) const; int getMasterVol(void) const; + bool getFilter(void) const; int getChannelVol(int c) const; int getChannelPan(int c) const; int getChannelDetune(int c) const; diff --git a/muse/synti/deicsonze/deicsonzegui.cpp b/muse/synti/deicsonze/deicsonzegui.cpp index 14076fb4..915e7001 100644 --- a/muse/synti/deicsonze/deicsonzegui.cpp +++ b/muse/synti/deicsonze/deicsonzegui.cpp @@ -2,7 +2,7 @@ // // DeicsOnze an emulator of the YAMAHA DX11 synthesizer // -// Version 0.5 +// Version 0.5.5 // // deicsonzegui.cpp // @@ -126,6 +126,8 @@ DeicsOnzeGui::DeicsOnzeGui(DeicsOnze* deicsOnze) //quality connect(qualityComboBox, SIGNAL(activated(const QString&)), this, SLOT(setQuality(const QString&))); + connect(filterCheckBox, SIGNAL(toggled(bool)), + this, SLOT(setFilter(bool))); //change font size connect(fontSizeSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setFontSize(int))); @@ -590,6 +592,15 @@ void DeicsOnzeGui::setQuality(const QString& q) { sendSysex(message, 2); } //----------------------------------------------------------- +// setFilter +//----------------------------------------------------------- +void DeicsOnzeGui::setFilter(bool f) { + unsigned char* message = new unsigned char[2]; + message[0]=SYSEX_FILTER; + message[1]=(unsigned char)f; + sendSysex(message, 2); +} +//----------------------------------------------------------- // setFontSize //----------------------------------------------------------- void DeicsOnzeGui::setFontSize(int fs) { @@ -1465,6 +1476,9 @@ void DeicsOnzeGui::processEvent(const MidiEvent& ev) { case SYSEX_QUALITY : updateQuality((int)data[1]); break; + case SYSEX_FILTER : + updateFilter((bool)data[1]); + break; case SYSEX_FONTSIZE : updateFontSize((int)data[1]); applyFontSize((int)data[1]); @@ -3061,6 +3075,11 @@ void DeicsOnzeGui::updateQuality(int val) { qualityComboBox->setCurrentIndex(val); qualityComboBox->blockSignals(false); } +void DeicsOnzeGui::updateFilter(bool f) { + filterCheckBox->blockSignals(true); + filterCheckBox->setChecked(f); + filterCheckBox->blockSignals(false); +} void DeicsOnzeGui::updateFontSize(int val) { fontSizeSpinBox->blockSignals(true); fontSizeSpinBox->setValue(val); diff --git a/muse/synti/deicsonze/deicsonzegui.h b/muse/synti/deicsonze/deicsonzegui.h index b3f5eeb0..18a28929 100644 --- a/muse/synti/deicsonze/deicsonzegui.h +++ b/muse/synti/deicsonze/deicsonzegui.h @@ -2,7 +2,7 @@ // // DeicsOnze an emulator of the YAMAHA DX11 synthesizer // -// Version 0.5 +// Version 0.5.5 // // deicsonzegui.h // @@ -144,6 +144,7 @@ class DeicsOnzeGui : public QDialog, public Ui::DeicsOnzeGuiBase, public MessGui void setSaveConfig(bool); // void setMidiInCh(int); //to change void setQuality(const QString&); + void setFilter(bool); void setFontSize(int); void saveConfiguration(); void saveDefaultConfiguration(); @@ -350,6 +351,7 @@ class DeicsOnzeGui : public QDialog, public Ui::DeicsOnzeGuiBase, public MessGui void updateNbrVoices(int val); //void updateMidiInCh(int val); //to change void updateQuality(int val); + void updateFilter(bool f); void updateFontSize(int fs); void applyFontSize(int fs); void updateSaveOnlyUsed(bool); diff --git a/muse/synti/deicsonze/deicsonzegui.ui b/muse/synti/deicsonze/deicsonzegui.ui index 289aa057..0c9be940 100644 --- a/muse/synti/deicsonze/deicsonzegui.ui +++ b/muse/synti/deicsonze/deicsonzegui.ui @@ -6,7 +6,7 @@ <rect> <x>0</x> <y>0</y> - <width>741</width> + <width>740</width> <height>590</height> </rect> </property> @@ -26,500 +26,231 @@ <property name="spacing" > <number>6</number> </property> - <item row="1" column="3" > - <widget class="QPushButton" name="resCtrlButton" > - <property name="maximumSize" > + <item rowspan="3" row="0" column="4" > + <widget class="QGroupBox" name="channelCtrlGroupBox" > + <property name="minimumSize" > <size> - <width>1000</width> - <height>20</height> + <width>96</width> + <height>16</height> </size> </property> - <property name="palette" > - <palette> - <active> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>207</red> - <green>207</green> - <blue>207</blue> - </color> - </brush> - </colorrole> - <colorrole role="Light" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>237</red> - <green>237</green> - <blue>237</blue> - </color> - </brush> - </colorrole> - <colorrole role="Midlight" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>231</red> - <green>231</green> - <blue>231</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>121</red> - <green>125</green> - <blue>121</blue> - </color> - </brush> - </colorrole> - <colorrole role="Mid" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>166</red> - <green>166</green> - <blue>166</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="BrightText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Base" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="Window" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>207</red> - <green>207</green> - <blue>207</blue> - </color> - </brush> - </colorrole> - <colorrole role="Shadow" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Highlight" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="HighlightedText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="Link" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="LinkVisited" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>0</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="AlternateBase" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>231</red> - <green>231</green> - <blue>231</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>207</red> - <green>207</green> - <blue>207</blue> - </color> - </brush> - </colorrole> - <colorrole role="Light" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>237</red> - <green>237</green> - <blue>237</blue> - </color> - </brush> - </colorrole> - <colorrole role="Midlight" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>231</red> - <green>231</green> - <blue>231</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>121</red> - <green>125</green> - <blue>121</blue> - </color> - </brush> - </colorrole> - <colorrole role="Mid" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>166</red> - <green>166</green> - <blue>166</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="BrightText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Base" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="Window" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>207</red> - <green>207</green> - <blue>207</blue> - </color> - </brush> - </colorrole> - <colorrole role="Shadow" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Highlight" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="HighlightedText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="Link" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="LinkVisited" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>0</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="AlternateBase" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>231</red> - <green>231</green> - <blue>231</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>121</red> - <green>125</green> - <blue>121</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>207</red> - <green>207</green> - <blue>207</blue> - </color> - </brush> - </colorrole> - <colorrole role="Light" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>237</red> - <green>237</green> - <blue>237</blue> - </color> - </brush> - </colorrole> - <colorrole role="Midlight" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>231</red> - <green>231</green> - <blue>231</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>121</red> - <green>125</green> - <blue>121</blue> - </color> - </brush> - </colorrole> - <colorrole role="Mid" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>166</red> - <green>166</green> - <blue>166</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>121</red> - <green>125</green> - <blue>121</blue> - </color> - </brush> - </colorrole> - <colorrole role="BrightText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>121</red> - <green>125</green> - <blue>121</blue> - </color> - </brush> - </colorrole> - <colorrole role="Base" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>207</red> - <green>207</green> - <blue>207</blue> - </color> - </brush> - </colorrole> - <colorrole role="Window" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>207</red> - <green>207</green> - <blue>207</blue> - </color> - </brush> - </colorrole> - <colorrole role="Shadow" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Highlight" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>121</red> - <green>125</green> - <blue>121</blue> - </color> - </brush> - </colorrole> - <colorrole role="HighlightedText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>207</red> - <green>207</green> - <blue>207</blue> - </color> - </brush> - </colorrole> - <colorrole role="Link" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="LinkVisited" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>0</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="AlternateBase" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>231</red> - <green>231</green> - <blue>231</blue> - </color> - </brush> - </colorrole> - </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="toolTip" > - <string>Set Brightness, Detune, Attack and Release of the current channel to default</string> - </property> - <property name="text" > - <string>Res. Ctrl</string> + <property name="title" > + <string>Channel Ctrl</string> </property> + <layout class="QGridLayout" > + <property name="margin" > + <number>9</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item row="2" column="0" > + <widget class="Awl::VolKnob" name="channelPanKnob" > + <property name="cursor" > + <cursor>13</cursor> + </property> + <property name="minValue" > + <double>0.000000000000000</double> + </property> + <property name="maxValue" > + <double>1.000000000000000</double> + </property> + <property name="lineStep" > + <double>0.100000000000000</double> + </property> + <property name="pageStep" > + <double>0.200000000000000</double> + </property> + <property name="log" > + <bool>false</bool> + </property> + </widget> + </item> + <item row="13" column="0" > + <widget class="QLabel" name="releaseLabel" > + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="text" > + <string>Release</string> + </property> + <property name="alignment" > + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item row="12" column="0" > + <widget class="Awl::Knob" name="releaseKnob" > + <property name="minimumSize" > + <size> + <width>32</width> + <height>32</height> + </size> + </property> + <property name="cursor" > + <cursor>13</cursor> + </property> + </widget> + </item> + <item row="11" column="0" > + <widget class="QLabel" name="attackTimeLabel" > + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="text" > + <string>Attack</string> + </property> + <property name="alignment" > + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item row="10" column="0" > + <widget class="Awl::Knob" name="attackKnob" > + <property name="minimumSize" > + <size> + <width>32</width> + <height>32</height> + </size> + </property> + <property name="cursor" > + <cursor>13</cursor> + </property> + </widget> + </item> + <item row="9" column="0" > + <widget class="QLabel" name="detuneLabel" > + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="text" > + <string>Detune</string> + </property> + <property name="alignment" > + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item row="8" column="0" > + <widget class="Awl::Knob" name="detuneKnob" > + <property name="minimumSize" > + <size> + <width>32</width> + <height>32</height> + </size> + </property> + <property name="cursor" > + <cursor>13</cursor> + </property> + </widget> + </item> + <item row="7" column="0" > + <widget class="QLabel" name="brightnessLabel" > + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="text" > + <string>Brightness</string> + </property> + <property name="alignment" > + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item row="6" column="0" > + <widget class="Awl::Knob" name="brightnessKnob" > + <property name="minimumSize" > + <size> + <width>32</width> + <height>32</height> + </size> + </property> + <property name="cursor" > + <cursor>13</cursor> + </property> + </widget> + </item> + <item row="5" column="0" > + <widget class="QLabel" name="modulationLabel" > + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="text" > + <string>Modulation</string> + </property> + <property name="alignment" > + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item row="4" column="0" > + <widget class="Awl::Knob" name="modulationKnob" > + <property name="minimumSize" > + <size> + <width>32</width> + <height>32</height> + </size> + </property> + <property name="cursor" > + <cursor>13</cursor> + </property> + </widget> + </item> + <item row="3" column="0" > + <widget class="QLabel" name="channelPanLabel" > + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="text" > + <string>Pan</string> + </property> + <property name="alignment" > + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item row="1" column="0" > + <widget class="QLabel" name="channelVolumeLabel" > + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="text" > + <string>Volume</string> + </property> + <property name="alignment" > + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item row="0" column="0" > + <widget class="Awl::Knob" name="channelVolumeKnob" > + <property name="minimumSize" > + <size> + <width>32</width> + <height>32</height> + </size> + </property> + <property name="cursor" > + <cursor>13</cursor> + </property> + <property name="maxValue" > + <double>1.000000000000000</double> + </property> + <property name="lineStep" > + <double>0.100000000000000</double> + </property> + <property name="pageStep" > + <double>0.200000000000000</double> + </property> + <property name="scaleSize" > + <number>270</number> + </property> + <property name="markSize" > + <number>6</number> + </property> + </widget> + </item> + </layout> </widget> </item> <item row="2" column="0" colspan="4" > @@ -749,7 +480,7 @@ <enum>QFrame::Plain</enum> </property> <property name="text" > - <string>DeicsOnze v0.5 Copyright (c) 2004-2006 Nil Geisweiller. Published under GPL licence.</string> + <string>DeicsOnze v0.5.5 Copyright (c) 2004-2006 Nil Geisweiller. Published under GPL licence.</string> </property> </widget> </item> @@ -5756,10 +5487,10 @@ 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="1" column="0" colspan="3" > - <widget class="QGroupBox" name="pathGroupBox" > + <item row="2" column="1" > + <widget class="QGroupBox" name="fontSizeGroupBox" > <property name="title" > - <string>Set Path</string> + <string>Font Size</string> </property> <layout class="QGridLayout" > <property name="margin" > @@ -5768,54 +5499,161 @@ 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="1" column="0" > - <widget class="QCheckBox" name="imageCheckBox" > + <item row="0" column="0" > + <widget class="QSpinBox" name="fontSizeSpinBox" > + <property name="maximum" > + <number>32</number> + </property> + <property name="minimum" > + <number>1</number> + </property> + <property name="value" > + <number>9</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>9</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <widget class="QComboBox" name="qualityComboBox" > + <property name="enabled" > + <bool>true</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> + <item> + <property name="text" > + <string>Ultra low</string> + </property> + </item> + </widget> + </item> + <item> + <widget class="QCheckBox" name="filterCheckBox" > + <property name="enabled" > + <bool>true</bool> + </property> <property name="text" > - <string>Image in the background :</string> + <string>Filter</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item rowspan="2" row="2" column="2" > + <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>false</bool> + <bool>true</bool> </property> </widget> </item> - <item row="1" column="1" > - <widget class="QLineEdit" name="imagePathLineEdit" > - <property name="maxLength" > - <number>128</number> + <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 row="1" column="2" > - <widget class="QPushButton" name="imageBrowsePushButton" > - <property name="enabled" > - <bool>false</bool> + <item> + <widget class="QCheckBox" name="saveConfigCheckBox" > + <property name="cursor" > + <cursor>13</cursor> </property> <property name="text" > - <string>Browse...</string> + <string>Save the configuration</string> + </property> + <property name="checked" > + <bool>true</bool> </property> </widget> </item> + </layout> + </widget> + </item> + <item row="3" column="0" colspan="2" > + <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="QLineEdit" name="initSetPathLineEdit" > - <property name="maxLength" > - <number>128</number> + <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="initSetBrowsePushButton" > + <widget class="QPushButton" name="loadConfPushButton" > + <property name="enabled" > + <bool>true</bool> + </property> <property name="text" > - <string>Browse...</string> + <string>Load...</string> </property> </widget> </item> <item row="0" column="0" > - <widget class="QCheckBox" name="initSetCheckBox" > + <widget class="QPushButton" name="saveDefaultPushButton" > <property name="text" > - <string>Load the set at the initialization :</string> - </property> - <property name="checked" > - <bool>true</bool> + <string>Save as default</string> </property> </widget> </item> @@ -6011,10 +5849,10 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin </layout> </widget> </item> - <item row="3" column="0" colspan="2" > - <widget class="QGroupBox" name="fileGroupBox" > + <item row="1" column="0" colspan="3" > + <widget class="QGroupBox" name="pathGroupBox" > <property name="title" > - <string>Configuration File</string> + <string>Set Path</string> </property> <layout class="QGridLayout" > <property name="margin" > @@ -6023,151 +5861,54 @@ 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="1" > - <widget class="QPushButton" name="saveConfPushButton" > - <property name="enabled" > - <bool>true</bool> - </property> + <item row="1" column="0" > + <widget class="QCheckBox" name="imageCheckBox" > <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> + <string>Image in the background :</string> </property> - <property name="text" > - <string>Load...</string> + <property name="checked" > + <bool>false</bool> </property> </widget> </item> - <item row="0" column="0" > - <widget class="QPushButton" name="saveDefaultPushButton" > - <property name="text" > - <string>Save as default</string> + <item row="1" column="1" > + <widget class="QLineEdit" name="imagePathLineEdit" > + <property name="maxLength" > + <number>128</number> </property> </widget> </item> - </layout> - </widget> - </item> - <item rowspan="2" row="2" column="2" > - <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> + <item row="1" column="2" > + <widget class="QPushButton" name="imageBrowsePushButton" > + <property name="enabled" > + <bool>false</bool> </property> <property name="text" > - <string>Save only the used presets</string> - </property> - <property name="checked" > - <bool>true</bool> + <string>Browse...</string> </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> + <item row="0" column="1" > + <widget class="QLineEdit" name="initSetPathLineEdit" > + <property name="maxLength" > + <number>128</number> </property> </widget> </item> - <item> - <widget class="QCheckBox" name="saveConfigCheckBox" > - <property name="cursor" > - <cursor>13</cursor> - </property> + <item row="0" column="2" > + <widget class="QPushButton" name="initSetBrowsePushButton" > <property name="text" > - <string>Save the configuration</string> - </property> - <property name="checked" > - <bool>true</bool> - </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>true</bool> + <string>Browse...</string> </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> - <item> - <property name="text" > - <string>Ultra low</string> - </property> - </item> </widget> </item> - </layout> - </widget> - </item> - <item row="2" column="1" > - <widget class="QGroupBox" name="fontSizeGroupBox" > - <property name="title" > - <string>Font Size</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> <item row="0" column="0" > - <widget class="QSpinBox" name="fontSizeSpinBox" > - <property name="maximum" > - <number>32</number> - </property> - <property name="minimum" > - <number>1</number> + <widget class="QCheckBox" name="initSetCheckBox" > + <property name="text" > + <string>Load the set at the initialization :</string> </property> - <property name="value" > - <number>9</number> + <property name="checked" > + <bool>true</bool> </property> </widget> </item> @@ -6178,6 +5919,127 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin </widget> </widget> </item> + <item rowspan="2" row="0" column="1" > + <widget class="Awl::VolKnob" name="masterVolKnob" > + <property name="minimumSize" > + <size> + <width>40</width> + <height>40</height> + </size> + </property> + <property name="value" > + <double>-28.009242824902255</double> + </property> + <property name="minValue" > + <double>0.000000000000000</double> + </property> + <property name="maxValue" > + <double>1.000000000000000</double> + </property> + <property name="lineStep" > + <double>0.100000000000000</double> + </property> + <property name="pageStep" > + <double>0.200000000000000</double> + </property> + <property name="log" > + <bool>false</bool> + </property> + </widget> + </item> + <item rowspan="2" 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 rowspan="2" 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> + <property name="checked" > + <bool>true</bool> + </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" > @@ -6674,351 +6536,499 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin </property> </widget> </item> - <item rowspan="3" row="0" column="4" > - <widget class="QGroupBox" name="channelCtrlGroupBox" > - <property name="minimumSize" > + <item row="1" column="3" > + <widget class="QPushButton" name="resCtrlButton" > + <property name="maximumSize" > <size> - <width>96</width> - <height>16</height> + <width>1000</width> + <height>20</height> </size> </property> - <property name="title" > - <string>Channel Ctrl</string> + <property name="palette" > + <palette> + <active> + <colorrole role="WindowText" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </brush> + </colorrole> + <colorrole role="Button" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + </brush> + </colorrole> + <colorrole role="Light" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>237</red> + <green>237</green> + <blue>237</blue> + </color> + </brush> + </colorrole> + <colorrole role="Midlight" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>231</red> + <green>231</green> + <blue>231</blue> + </color> + </brush> + </colorrole> + <colorrole role="Dark" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + </brush> + </colorrole> + <colorrole role="Mid" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>166</red> + <green>166</green> + <blue>166</blue> + </color> + </brush> + </colorrole> + <colorrole role="Text" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </brush> + </colorrole> + <colorrole role="BrightText" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </brush> + </colorrole> + <colorrole role="ButtonText" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>255</red> + <green>0</green> + <blue>0</blue> + </color> + </brush> + </colorrole> + <colorrole role="Base" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </brush> + </colorrole> + <colorrole role="Window" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + </brush> + </colorrole> + <colorrole role="Shadow" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </brush> + </colorrole> + <colorrole role="Highlight" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </brush> + </colorrole> + <colorrole role="HighlightedText" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </brush> + </colorrole> + <colorrole role="Link" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>0</red> + <green>0</green> + <blue>255</blue> + </color> + </brush> + </colorrole> + <colorrole role="LinkVisited" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>255</red> + <green>0</green> + <blue>255</blue> + </color> + </brush> + </colorrole> + <colorrole role="AlternateBase" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>231</red> + <green>231</green> + <blue>231</blue> + </color> + </brush> + </colorrole> + </active> + <inactive> + <colorrole role="WindowText" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </brush> + </colorrole> + <colorrole role="Button" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + </brush> + </colorrole> + <colorrole role="Light" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>237</red> + <green>237</green> + <blue>237</blue> + </color> + </brush> + </colorrole> + <colorrole role="Midlight" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>231</red> + <green>231</green> + <blue>231</blue> + </color> + </brush> + </colorrole> + <colorrole role="Dark" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + </brush> + </colorrole> + <colorrole role="Mid" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>166</red> + <green>166</green> + <blue>166</blue> + </color> + </brush> + </colorrole> + <colorrole role="Text" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </brush> + </colorrole> + <colorrole role="BrightText" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </brush> + </colorrole> + <colorrole role="ButtonText" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>255</red> + <green>0</green> + <blue>0</blue> + </color> + </brush> + </colorrole> + <colorrole role="Base" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </brush> + </colorrole> + <colorrole role="Window" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + </brush> + </colorrole> + <colorrole role="Shadow" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </brush> + </colorrole> + <colorrole role="Highlight" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </brush> + </colorrole> + <colorrole role="HighlightedText" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </brush> + </colorrole> + <colorrole role="Link" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>0</red> + <green>0</green> + <blue>255</blue> + </color> + </brush> + </colorrole> + <colorrole role="LinkVisited" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>255</red> + <green>0</green> + <blue>255</blue> + </color> + </brush> + </colorrole> + <colorrole role="AlternateBase" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>231</red> + <green>231</green> + <blue>231</blue> + </color> + </brush> + </colorrole> + </inactive> + <disabled> + <colorrole role="WindowText" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + </brush> + </colorrole> + <colorrole role="Button" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + </brush> + </colorrole> + <colorrole role="Light" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>237</red> + <green>237</green> + <blue>237</blue> + </color> + </brush> + </colorrole> + <colorrole role="Midlight" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>231</red> + <green>231</green> + <blue>231</blue> + </color> + </brush> + </colorrole> + <colorrole role="Dark" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + </brush> + </colorrole> + <colorrole role="Mid" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>166</red> + <green>166</green> + <blue>166</blue> + </color> + </brush> + </colorrole> + <colorrole role="Text" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + </brush> + </colorrole> + <colorrole role="BrightText" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </brush> + </colorrole> + <colorrole role="ButtonText" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + </brush> + </colorrole> + <colorrole role="Base" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + </brush> + </colorrole> + <colorrole role="Window" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + </brush> + </colorrole> + <colorrole role="Shadow" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </brush> + </colorrole> + <colorrole role="Highlight" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>121</red> + <green>125</green> + <blue>121</blue> + </color> + </brush> + </colorrole> + <colorrole role="HighlightedText" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>207</red> + <green>207</green> + <blue>207</blue> + </color> + </brush> + </colorrole> + <colorrole role="Link" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>0</red> + <green>0</green> + <blue>255</blue> + </color> + </brush> + </colorrole> + <colorrole role="LinkVisited" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>255</red> + <green>0</green> + <blue>255</blue> + </color> + </brush> + </colorrole> + <colorrole role="AlternateBase" > + <brush brushstyle="SolidPattern" > + <color alpha="255" > + <red>231</red> + <green>231</green> + <blue>231</blue> + </color> + </brush> + </colorrole> + </disabled> + </palette> </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="2" column="0" > - <widget class="Awl::VolKnob" name="channelPanKnob" > - <property name="cursor" > - <cursor>13</cursor> - </property> - <property name="minValue" > - <double>0.000000000000000</double> - </property> - <property name="maxValue" > - <double>1.000000000000000</double> - </property> - <property name="lineStep" > - <double>0.100000000000000</double> - </property> - <property name="pageStep" > - <double>0.200000000000000</double> - </property> - <property name="log" > - <bool>false</bool> - </property> - </widget> - </item> - <item row="13" column="0" > - <widget class="QLabel" name="releaseLabel" > - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> - </property> - <property name="text" > - <string>Release</string> - </property> - <property name="alignment" > - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item row="12" column="0" > - <widget class="Awl::Knob" name="releaseKnob" > - <property name="minimumSize" > - <size> - <width>32</width> - <height>32</height> - </size> - </property> - <property name="cursor" > - <cursor>13</cursor> - </property> - </widget> - </item> - <item row="11" column="0" > - <widget class="QLabel" name="attackTimeLabel" > - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> - </property> - <property name="text" > - <string>Attack</string> - </property> - <property name="alignment" > - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item row="10" column="0" > - <widget class="Awl::Knob" name="attackKnob" > - <property name="minimumSize" > - <size> - <width>32</width> - <height>32</height> - </size> - </property> - <property name="cursor" > - <cursor>13</cursor> - </property> - </widget> - </item> - <item row="9" column="0" > - <widget class="QLabel" name="detuneLabel" > - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> - </property> - <property name="text" > - <string>Detune</string> - </property> - <property name="alignment" > - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item row="8" column="0" > - <widget class="Awl::Knob" name="detuneKnob" > - <property name="minimumSize" > - <size> - <width>32</width> - <height>32</height> - </size> - </property> - <property name="cursor" > - <cursor>13</cursor> - </property> - </widget> - </item> - <item row="7" column="0" > - <widget class="QLabel" name="brightnessLabel" > - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> - </property> - <property name="text" > - <string>Brightness</string> - </property> - <property name="alignment" > - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item row="6" column="0" > - <widget class="Awl::Knob" name="brightnessKnob" > - <property name="minimumSize" > - <size> - <width>32</width> - <height>32</height> - </size> - </property> - <property name="cursor" > - <cursor>13</cursor> - </property> - </widget> - </item> - <item row="5" column="0" > - <widget class="QLabel" name="modulationLabel" > - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> - </property> - <property name="text" > - <string>Modulation</string> - </property> - <property name="alignment" > - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item row="4" column="0" > - <widget class="Awl::Knob" name="modulationKnob" > - <property name="minimumSize" > - <size> - <width>32</width> - <height>32</height> - </size> - </property> - <property name="cursor" > - <cursor>13</cursor> - </property> - </widget> - </item> - <item row="3" column="0" > - <widget class="QLabel" name="channelPanLabel" > - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> - </property> - <property name="text" > - <string>Pan</string> - </property> - <property name="alignment" > - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QLabel" name="channelVolumeLabel" > - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> - </property> - <property name="text" > - <string>Volume</string> - </property> - <property name="alignment" > - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="Awl::Knob" name="channelVolumeKnob" > - <property name="minimumSize" > - <size> - <width>32</width> - <height>32</height> - </size> - </property> - <property name="cursor" > - <cursor>13</cursor> - </property> - <property name="maxValue" > - <double>1.000000000000000</double> - </property> - <property name="lineStep" > - <double>0.100000000000000</double> - </property> - <property name="pageStep" > - <double>0.200000000000000</double> - </property> - <property name="scaleSize" > - <number>270</number> - </property> - <property name="markSize" > - <number>6</number> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item rowspan="2" row="0" column="2" > - <widget class="QGroupBox" name="generalBox" > - <property name="title" > - <string/> + <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> - <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> - <property name="checked" > - <bool>true</bool> - </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 rowspan="2" row="0" column="0" > - <widget class="QLabel" name="masterVolumeLabel" > - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> + <property name="toolTip" > + <string>Set Brightness, Detune, Attack and Release of the current channel to default</string> </property> <property name="text" > - <string>Vol</string> - </property> - <property name="alignment" > - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item rowspan="2" row="0" column="1" > - <widget class="Awl::VolKnob" name="masterVolKnob" > - <property name="minimumSize" > - <size> - <width>40</width> - <height>40</height> - </size> - </property> - <property name="value" > - <double>-8.748632009724199</double> - </property> - <property name="minValue" > - <double>0.000000000000000</double> - </property> - <property name="maxValue" > - <double>1.000000000000000</double> - </property> - <property name="lineStep" > - <double>0.100000000000000</double> - </property> - <property name="pageStep" > - <double>0.200000000000000</double> - </property> - <property name="log" > - <bool>false</bool> + <string>Res. Ctrl</string> </property> </widget> </item> @@ -7027,15 +7037,15 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin <layoutdefault spacing="6" margin="11" /> <customwidgets> <customwidget> - <class>Awl::Knob</class> - <extends>QWidget</extends> - <header>awl/knob.h</header> - </customwidget> - <customwidget> <class>Awl::VolKnob</class> <extends>Awl::Knob</extends> <header>awl/volknob.h</header> </customwidget> + <customwidget> + <class>Awl::Knob</class> + <extends>QWidget</extends> + <header>awl/knob.h</header> + </customwidget> </customwidgets> <tabstops> <tabstop>deicsOnzeTabWidget</tabstop> diff --git a/muse/synti/deicsonze/deicsonzeplugin.cpp b/muse/synti/deicsonze/deicsonzeplugin.cpp index 05b922d3..8788d152 100644 --- a/muse/synti/deicsonze/deicsonzeplugin.cpp +++ b/muse/synti/deicsonze/deicsonzeplugin.cpp @@ -2,7 +2,7 @@ // // DeicsOnze an emulator of the YAMAHA DX11 synthesizer // -// Version 0.5 +// Version 0.5.5 // // // diff --git a/muse/synti/deicsonze/deicsonzeplugin.h b/muse/synti/deicsonze/deicsonzeplugin.h index 3fd76e70..a6b2aa45 100644 --- a/muse/synti/deicsonze/deicsonzeplugin.h +++ b/muse/synti/deicsonze/deicsonzeplugin.h @@ -2,7 +2,7 @@ // // DeicsOnze an emulator of the YAMAHA DX11 synthesizer // -// Version 0.5 +// Version 0.5.5 // // // diff --git a/muse/synti/deicsonze/deicsonzepreset.cpp b/muse/synti/deicsonze/deicsonzepreset.cpp index 7be54d78..2c0ba1e0 100644 --- a/muse/synti/deicsonze/deicsonzepreset.cpp +++ b/muse/synti/deicsonze/deicsonzepreset.cpp @@ -2,7 +2,7 @@ // // DeicsOnze an emulator of the YAMAHA DX11 synthesizer // -// Version 0.5 +// Version 0.5.5 // // deicsonzepreset.cpp // diff --git a/muse/synti/deicsonze/deicsonzepreset.h b/muse/synti/deicsonze/deicsonzepreset.h index a5391e33..c87ef03f 100644 --- a/muse/synti/deicsonze/deicsonzepreset.h +++ b/muse/synti/deicsonze/deicsonzepreset.h @@ -2,7 +2,7 @@ // // DeicsOnze an emulator of the YAMAHA DX11 synthesizer // -// Version 0.5 +// Version 0.5.5 // // deicsonzepreset.h // @@ -30,8 +30,6 @@ #ifndef __DEICSONZEPRESET_H #define __DEICSONZEPRESET_H -// #include <qdom.h> - #include <string> #include "al/xml.h" |