From 6600007cdeb74da42d0a4fa47aaaa14942f9edab Mon Sep 17 00:00:00 2001 From: Nil Geisweiller Date: Wed, 13 Dec 2006 13:44:24 +0000 Subject: see ChangeLog --- muse/ChangeLog | 2 + muse/synti/deicsonze/CMakeLists.txt | 1 + muse/synti/deicsonze/TODO | 1 - muse/synti/deicsonze/deicsonze.cpp | 120 +- muse/synti/deicsonze/deicsonze.h | 14 +- muse/synti/deicsonze/deicsonzegui.cpp | 21 +- muse/synti/deicsonze/deicsonzegui.h | 4 +- muse/synti/deicsonze/deicsonzegui.ui | 2336 +++++++++++++++--------------- muse/synti/deicsonze/deicsonzeplugin.cpp | 2 +- muse/synti/deicsonze/deicsonzeplugin.h | 2 +- muse/synti/deicsonze/deicsonzepreset.cpp | 2 +- muse/synti/deicsonze/deicsonzepreset.h | 4 +- 12 files changed, 1306 insertions(+), 1203 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,15 +1007,24 @@ 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 //----------------------------------------------------------------- @@ -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 @@ 0 0 - 741 + 740 590 @@ -26,500 +26,231 @@ 6 - - - + + + - 1000 - 20 + 96 + 16 - - - - - - - 0 - 0 - 0 - - - - - - - 207 - 207 - 207 - - - - - - - 237 - 237 - 237 - - - - - - - 231 - 231 - 231 - - - - - - - 121 - 125 - 121 - - - - - - - 166 - 166 - 166 - - - - - - - 0 - 0 - 0 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 0 - 0 - - - - - - - 255 - 255 - 255 - - - - - - - 207 - 207 - 207 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 255 - 255 - 255 - - - - - - - 0 - 0 - 255 - - - - - - - 255 - 0 - 255 - - - - - - - 231 - 231 - 231 - - - - - - - - - 0 - 0 - 0 - - - - - - - 207 - 207 - 207 - - - - - - - 237 - 237 - 237 - - - - - - - 231 - 231 - 231 - - - - - - - 121 - 125 - 121 - - - - - - - 166 - 166 - 166 - - - - - - - 0 - 0 - 0 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 0 - 0 - - - - - - - 255 - 255 - 255 - - - - - - - 207 - 207 - 207 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 255 - 255 - 255 - - - - - - - 0 - 0 - 255 - - - - - - - 255 - 0 - 255 - - - - - - - 231 - 231 - 231 - - - - - - - - - 121 - 125 - 121 - - - - - - - 207 - 207 - 207 - - - - - - - 237 - 237 - 237 - - - - - - - 231 - 231 - 231 - - - - - - - 121 - 125 - 121 - - - - - - - 166 - 166 - 166 - - - - - - - 121 - 125 - 121 - - - - - - - 255 - 255 - 255 - - - - - - - 121 - 125 - 121 - - - - - - - 207 - 207 - 207 - - - - - - - 207 - 207 - 207 - - - - - - - 0 - 0 - 0 - - - - - - - 121 - 125 - 121 - - - - - - - 207 - 207 - 207 - - - - - - - 0 - 0 - 255 - - - - - - - 255 - 0 - 255 - - - - - - - 231 - 231 - 231 - - - - - - - - - Sans Serif - 10 - 75 - false - true - false - false - - - - Set Brightness, Detune, Attack and Release of the current channel to default - - - Res. Ctrl + + Channel Ctrl + + + 9 + + + 6 + + + + + 13 + + + 0.000000000000000 + + + 1.000000000000000 + + + 0.100000000000000 + + + 0.200000000000000 + + + false + + + + + + + QFrame::StyledPanel + + + Release + + + Qt::AlignCenter + + + + + + + + 32 + 32 + + + + 13 + + + + + + + QFrame::StyledPanel + + + Attack + + + Qt::AlignCenter + + + + + + + + 32 + 32 + + + + 13 + + + + + + + QFrame::StyledPanel + + + Detune + + + Qt::AlignCenter + + + + + + + + 32 + 32 + + + + 13 + + + + + + + QFrame::StyledPanel + + + Brightness + + + Qt::AlignCenter + + + + + + + + 32 + 32 + + + + 13 + + + + + + + QFrame::StyledPanel + + + Modulation + + + Qt::AlignCenter + + + + + + + + 32 + 32 + + + + 13 + + + + + + + QFrame::StyledPanel + + + Pan + + + Qt::AlignCenter + + + + + + + QFrame::StyledPanel + + + Volume + + + Qt::AlignCenter + + + + + + + + 32 + 32 + + + + 13 + + + 1.000000000000000 + + + 0.100000000000000 + + + 0.200000000000000 + + + 270 + + + 6 + + + + @@ -749,7 +480,7 @@ QFrame::Plain - DeicsOnze v0.5 Copyright (c) 2004-2006 Nil Geisweiller. Published under GPL licence. + DeicsOnze v0.5.5 Copyright (c) 2004-2006 Nil Geisweiller. Published under GPL licence. @@ -5756,66 +5487,173 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin 6 - - + + + + Font Size + + + + 9 + + + 6 + + + + + 32 + + + 1 + + + 9 + + + + + + + + + + Quality + + + + 9 + + + 6 + + + + + true + + + + High + + + + + Middle + + + + + Low + + + + + Ultra low + + + + + + + + true + + + Filter + + + + + + + + - Set Path + Save Mode (into the song) - + - 9 + 10 6 - - + + + + 13 + - Image in the background : + Save only the used presets - false + true - - - - 128 + + + + 13 + + + Save the entire set - - - - false + + + + 13 - Browse... + Save the configuration + + + true + + + + + + + Configuration File + + + + 9 + + + 6 + - - - 128 + + + true + + + Save... - + + + true + - Browse... + Load... - + - Load the set at the initialization : - - - true + Save as default @@ -6011,10 +5849,10 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin - - + + - Configuration File + Set Path @@ -6023,151 +5861,54 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin 6 - - - - true - + + - Save... - - - - - - - true + Image in the background : - - Load... + + false - - - - Save as default + + + + 128 - - - - - - - Save Mode (into the song) - - - - 10 - - - 6 - - - - - 13 + + + + false - Save only the used presets - - - true + Browse... - - - - 13 - - - Save the entire set + + + + 128 - - - - 13 - + + - Save the configuration - - - true - - - - - - - - - - Quality - - - - 10 - - - 6 - - - - - true + Browse... - - - High - - - - - Middle - - - - - Low - - - - - Ultra low - - - - - - - - - Font Size - - - - 9 - - - 6 - - - - 32 - - - 1 + + + Load the set at the initialization : - - 9 + + true @@ -6178,6 +5919,127 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin + + + + + 40 + 40 + + + + -28.009242824902255 + + + 0.000000000000000 + + + 1.000000000000000 + + + 0.100000000000000 + + + 0.200000000000000 + + + false + + + + + + + QFrame::StyledPanel + + + Vol + + + Qt::AlignCenter + + + + + + + + + + + 9 + + + 6 + + + + + true + + + Number of Voices + + + 64 + + + 1 + + + 8 + + + + + + + QFrame::StyledPanel + + + Number of voices + + + Qt::AlignCenter + + + + + + + Enable + + + true + + + + + + + 16 + + + 1 + + + + + + + QFrame::StyledPanel + + + Channel + + + Qt::AlignCenter + + + + + + @@ -6465,163 +6327,8 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin 255 - 255 - 255 - - - - - - - 0 - 0 - 255 - - - - - - - 255 - 0 - 255 - - - - - - - 231 - 231 - 231 - - - - - - - - - 121 - 125 - 121 - - - - - - - 207 - 207 - 207 - - - - - - - 237 - 237 - 237 - - - - - - - 231 - 231 - 231 - - - - - - - 121 - 125 - 121 - - - - - - - 166 - 166 - 166 - - - - - - - 121 - 125 - 121 - - - - - - - 255 - 255 - 255 - - - - - - - 121 - 125 - 121 - - - - - - - 207 - 207 - 207 - - - - - - - 207 - 207 - 207 - - - - - - - 0 - 0 - 0 - - - - - - - 121 - 125 - 121 - - - - - - - 207 - 207 - 207 + 255 + 255 @@ -6652,373 +6359,676 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin - - - - - - Sans Serif - 10 - 75 - false - true - false - false - - - - Cut all notes off - - - Panic! - - - - - - - - 96 - 16 - - - - Channel Ctrl - - - - 9 - - - 6 - - - - - 13 - - - 0.000000000000000 - - - 1.000000000000000 - - - 0.100000000000000 - - - 0.200000000000000 - - - false - - - - - - - QFrame::StyledPanel - - - Release - - - Qt::AlignCenter - - - - - - - - 32 - 32 - - - - 13 - - - - - - - QFrame::StyledPanel - - - Attack - - - Qt::AlignCenter - - - - - - - - 32 - 32 - - - - 13 - - - - - - - QFrame::StyledPanel - - - Detune - - - Qt::AlignCenter - - - - - - - - 32 - 32 - - - - 13 - - - - - - - QFrame::StyledPanel - - - Brightness - - - Qt::AlignCenter - - - - - - - - 32 - 32 - - - - 13 - - - - - - - QFrame::StyledPanel - - - Modulation - - - Qt::AlignCenter - - - - - - - - 32 - 32 - - - - 13 - - - - - - - QFrame::StyledPanel - - - Pan - - - Qt::AlignCenter - - - - - - - QFrame::StyledPanel - - - Volume - - - Qt::AlignCenter - - - - - - - - 32 - 32 - - - - 13 - - - 1.000000000000000 - - - 0.100000000000000 - - - 0.200000000000000 - - - 270 - - - 6 - - - - - - - - - - + + + + + + 121 + 125 + 121 + + + + + + + 207 + 207 + 207 + + + + + + + 237 + 237 + 237 + + + + + + + 231 + 231 + 231 + + + + + + + 121 + 125 + 121 + + + + + + + 166 + 166 + 166 + + + + + + + 121 + 125 + 121 + + + + + + + 255 + 255 + 255 + + + + + + + 121 + 125 + 121 + + + + + + + 207 + 207 + 207 + + + + + + + 207 + 207 + 207 + + + + + + + 0 + 0 + 0 + + + + + + + 121 + 125 + 121 + + + + + + + 207 + 207 + 207 + + + + + + + 0 + 0 + 255 + + + + + + + 255 + 0 + 255 + + + + + + + 231 + 231 + 231 + + + + + - - - 9 - - - 6 - - - - - true - - - Number of Voices - - - 64 - - - 1 - - - 8 - - - - - - - QFrame::StyledPanel - - - Number of voices - - - Qt::AlignCenter - - - - - - - Enable - - - true - - - - - - - 16 - - - 1 - - - - - - - QFrame::StyledPanel - - - Channel - - - Qt::AlignCenter - - - - - - - - - - QFrame::StyledPanel + + + Sans Serif + 10 + 75 + false + true + false + false + - - Vol + + Cut all notes off - - Qt::AlignCenter + + Panic! - - - + + + - 40 - 40 + 1000 + 20 - - -8.748632009724199 - - - 0.000000000000000 - - - 1.000000000000000 + + + + + + + 0 + 0 + 0 + + + + + + + 207 + 207 + 207 + + + + + + + 237 + 237 + 237 + + + + + + + 231 + 231 + 231 + + + + + + + 121 + 125 + 121 + + + + + + + 166 + 166 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 207 + 207 + 207 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 255 + + + + + + + 255 + 0 + 255 + + + + + + + 231 + 231 + 231 + + + + + + + + + 0 + 0 + 0 + + + + + + + 207 + 207 + 207 + + + + + + + 237 + 237 + 237 + + + + + + + 231 + 231 + 231 + + + + + + + 121 + 125 + 121 + + + + + + + 166 + 166 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 207 + 207 + 207 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 255 + + + + + + + 255 + 0 + 255 + + + + + + + 231 + 231 + 231 + + + + + + + + + 121 + 125 + 121 + + + + + + + 207 + 207 + 207 + + + + + + + 237 + 237 + 237 + + + + + + + 231 + 231 + 231 + + + + + + + 121 + 125 + 121 + + + + + + + 166 + 166 + 166 + + + + + + + 121 + 125 + 121 + + + + + + + 255 + 255 + 255 + + + + + + + 121 + 125 + 121 + + + + + + + 207 + 207 + 207 + + + + + + + 207 + 207 + 207 + + + + + + + 0 + 0 + 0 + + + + + + + 121 + 125 + 121 + + + + + + + 207 + 207 + 207 + + + + + + + 0 + 0 + 255 + + + + + + + 255 + 0 + 255 + + + + + + + 231 + 231 + 231 + + + + + - - 0.100000000000000 + + + Sans Serif + 10 + 75 + false + true + false + false + - - 0.200000000000000 + + Set Brightness, Detune, Attack and Release of the current channel to default - - false + + Res. Ctrl @@ -7026,16 +7036,16 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin - - Awl::Knob - QWidget -
awl/knob.h
-
Awl::VolKnob Awl::Knob
awl/volknob.h
+ + Awl::Knob + QWidget +
awl/knob.h
+
deicsOnzeTabWidget 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 - #include #include "al/xml.h" -- cgit v1.2.3