|
- # data file for the Fltk User Interface Designer (fluid)
- version 1.0110
- header_name {.h}
- code_name {.cc}
- decl {//Copyright (c) 2002-2005 Nasca Octavian Paul} {}
-
- decl {//License: GNU GPL version 2 or later} {}
-
- decl {\#include "../Params/ADnoteParameters.h"} {public
- }
-
- decl {\#include "../Misc/Util.h"} {public
- }
-
- decl {\#include "../Misc/Master.h"} {public
- }
-
- decl {\#include "ResonanceUI.h"} {public
- }
-
- decl {\#include <FL/Fl_Box.H>} {public
- }
-
- decl {\#include <FL/Fl_Group.H>} {public
- }
-
- decl {\#include <math.h>} {}
-
- decl {\#include <stdio.h>} {}
-
- decl {\#include <stdlib.h>} {}
-
- decl {\#include <string.h>} {}
-
- decl {\#include "WidgetPDial.h"} {public
- }
-
- decl {\#include "EnvelopeUI.h"} {public
- }
-
- decl {\#include "LFOUI.h"} {public
- }
-
- decl {\#include "FilterUI.h"} {public
- }
-
- decl {\#include "OscilGenUI.h"} {public
- }
-
- decl {\#include "PresetsUI.h"} {public
- }
-
- class ADvoicelistitem {open : {public Fl_Group}
- } {
- Function {make_window()} {open private
- } {
- Fl_Window ADnoteVoiceListItem {open
- private xywh {262 736 615 100} type Double box UP_FRAME
- class Fl_Group visible
- } {
- Fl_Group voicelistitemgroup {
- private xywh {50 0 570 25}
- code0 {if (pars->VoicePar[nvoice].Enabled==0) o->deactivate();}
- } {
- Fl_Value_Slider voicevolume {
- callback {pars->VoicePar[nvoice].PVolume=(int)o->value();}
- tooltip Volume xywh {90 5 115 20} type {Horz Knob} box NO_BOX labelsize 8 align 5 maximum 127 step 1
- code0 {o->value(pars->VoicePar[nvoice].PVolume);}
- }
- Fl_Check_Button voiceresonanceenabled {
- callback {pars->VoicePar[nvoice].Presonance=(int)o->value();}
- tooltip {Resonance On/Off} xywh {245 7 15 17} down_box DOWN_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 11 align 4
- code0 {o->value(pars->VoicePar[nvoice].Presonance);}
- }
- Fl_Value_Slider voicelfofreq {
- callback {pars->VoicePar[nvoice].FreqLfo->Pintensity=(int)o->value();}
- tooltip {Frequency LFO amount} xywh {500 5 115 20} type {Horz Knob} box NO_BOX labelsize 8 align 5 maximum 127 step 1
- code0 {o->value(pars->VoicePar[nvoice].FreqLfo->Pintensity);}
- }
- Fl_Dial voicepanning {
- callback {pars->VoicePar[nvoice].PPanning=(int) o->value();}
- tooltip {Panning (leftmost is Random)} xywh {215 5 20 20} box ROUND_UP_BOX labelsize 10 align 4 maximum 127 step 1
- code0 {o->value(pars->VoicePar[nvoice].PPanning);}
- class WidgetPDial
- }
- Fl_Group voiceoscil {open
- xywh {60 5 30 20} box THIN_DOWN_BOX color 32 selection_color 71 labelcolor 179
- code0 {osc=new Oscilloscope(o->x(),o->y(),o->w(),o->h(),"");}
- code1 {osc->init(pars->VoicePar[nvoice].OscilSmp,0,pars->VoicePar[nvoice].Poscilphase,master);}
- code2 {if (pars->VoicePar[nvoice].Pextoscil != -1) {osc->init(pars->VoicePar[pars->VoicePar[nvoice].Pextoscil].OscilSmp,master);}}
- } {}
- Fl_Value_Output detunevalueoutput {
- callback {o->value(getdetune((pars->VoicePar[nvoice].PDetuneType==0)?(pars->GlobalPar.PDetuneType) : (pars->VoicePar[nvoice].PDetuneType),0,pars->VoicePar[nvoice].PDetune)*pars->getBandwidthDetuneMultiplier());}
- xywh {265 5 45 20} labelsize 10 align 5 minimum -5000 maximum 5000 step 0.01 textfont 1 textsize 10
- code0 {o->value(getdetune(pars->VoicePar[nvoice].PDetuneType,0,pars->VoicePar[nvoice].PDetune)*pars->getBandwidthDetuneMultiplier());}
- }
- Fl_Slider voicedetune {
- callback {pars->VoicePar[nvoice].PDetune=(int)o->value()+8192;
- detunevalueoutput->do_callback();}
- tooltip {Fine Detune (cents)} xywh {315 5 185 20} type {Horz Knob} box NO_BOX minimum -8192 maximum 8191 step 1
- code0 {o->value(pars->VoicePar[nvoice].PDetune-8192);}
- }
- Fl_Box noiselabel {
- label N
- callback {if (pars->VoicePar[nvoice].Type==0) {
- o->hide();
- voiceresonanceenabled->activate();
- detunevalueoutput->activate();
- voicedetune->activate();
- voicelfofreq->activate();
- voiceoscil->activate();
- } else {
- o->show();
- voiceresonanceenabled->deactivate();
- detunevalueoutput->deactivate();
- voicedetune->deactivate();
- voicelfofreq->deactivate();
- voiceoscil->deactivate();
- };}
- xywh {65 5 20 20} labelfont 1 labelsize 13 labelcolor 7
- code0 {if (pars->VoicePar[nvoice].Type==0) o->hide();}
- }
- }
- Fl_Check_Button voiceenabled {
- label 01
- callback {pars->VoicePar[nvoice].Enabled=(int)o->value();
- if (o->value()==0) voicelistitemgroup->deactivate();
- else voicelistitemgroup->activate();
- o->redraw();}
- private xywh {30 5 20 20} down_box DOWN_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 4
- code0 {char tmp[10];snprintf(tmp,10,"%d",nvoice+1);o->label(strdup(tmp));}
- code1 {o->value(pars->VoicePar[nvoice].Enabled);}
- }
- }
- }
- Function {ADvoicelistitem(int x,int y, int w, int h, const char *label=0):Fl_Group(x,y,w,h,label)} {} {
- code {nvoice=0;
- pars=NULL;} {}
- }
- Function {init(ADnoteParameters *parameters,int nvoice_,Master *master_)} {} {
- code {pars=parameters;
- nvoice=nvoice_;
- master=master_;
- make_window();
- ADnoteVoiceListItem->show();
- end();} {}
- }
- Function {refreshlist()} {} {
- code {voiceenabled->value(pars->VoicePar[nvoice].Enabled);
- voiceresonanceenabled->value(pars->VoicePar[nvoice].Presonance);
- voicevolume->value(pars->VoicePar[nvoice].PVolume);
- voicedetune->value(pars->VoicePar[nvoice].PDetune-8192);
- voicepanning->value(pars->VoicePar[nvoice].PPanning);
- voicelfofreq->value(pars->VoicePar[nvoice].FreqLfo->Pintensity);
- if (pars->VoicePar[nvoice].Pextoscil != -1) {
- osc->init(pars->VoicePar[pars->VoicePar[nvoice].Pextoscil].OscilSmp,0,pars->VoicePar[nvoice].Poscilphase,master);
- } else
- osc->init(pars->VoicePar[nvoice].OscilSmp,0,pars->VoicePar[nvoice].Poscilphase,master);
- if (pars->VoicePar[nvoice].Enabled==0) voicelistitemgroup->deactivate();
- else voicelistitemgroup->activate();
- detunevalueoutput->do_callback();
- noiselabel->do_callback();
- ADnoteVoiceListItem->redraw();} {}
- }
- Function {~ADvoicelistitem()} {} {
- code {ADnoteVoiceListItem->hide();
- //delete(ADnoteVoiceListItem);} {}
- }
- decl {ADnoteParameters *pars;} {}
- decl {int nvoice;} {}
- decl {Oscilloscope *osc;} {}
- decl {Master *master;} {}
- }
-
- class ADvoiceUI {open : {public Fl_Group}
- } {
- Function {make_window()} {open
- } {
- Fl_Window ADnoteVoiceParameters {
- label Voice open
- xywh {84 305 765 590} type Double box NO_BOX
- class Fl_Group visible
- } {
- Fl_Group voiceparametersgroup {open
- xywh {0 0 765 595} color 48
- code0 {if (pars->VoicePar[nvoice].Enabled==0) o->deactivate();}
- } {
- Fl_Group voicemodegroup {open
- xywh {0 5 765 590} color 64
- } {
- Fl_Group voiceFMparametersgroup {
- label MODULATOR open
- xywh {530 5 230 580} box UP_FRAME color 48 labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 17
- code0 {if (pars->VoicePar[nvoice].PFMEnabled==0) o->deactivate();}
- } {
- Fl_Group modfrequency {
- label {Mod.FREQUENCY}
- xywh {535 220 220 155} box UP_FRAME labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 17
- } {
- Fl_Group voiceFMfreqenvgroup {
- label {ADSynth Modulator - Frequency Envelope}
- xywh {540 300 210 70} box FLAT_BOX color 51 align 144
- code0 {o->init(pars->VoicePar[nvoice].FMFreqEnvelope);}
- code1 {if (pars->VoicePar[nvoice].PFMFreqEnvelopeEnabled==0) o->deactivate();}
- class EnvelopeUI
- } {}
- Fl_Check_Button {} {
- label On
- callback {pars->VoicePar[nvoice].PFMFreqEnvelopeEnabled=(int)o->value();
- if (o->value()==0) voiceFMfreqenvgroup->deactivate();
- else voiceFMfreqenvgroup->activate();
- o->redraw();}
- tooltip {Forced Relase} xywh {545 305 50 10} down_box DOWN_BOX labelfont 1 labelsize 11
- code0 {o->value(pars->VoicePar[nvoice].PFMFreqEnvelopeEnabled);}
- }
- Fl_Counter {} {
- label {Coarse Det.}
- callback {int k=(int) o->value();
- if (k<0) k+=1024;
- pars->VoicePar[nvoice].PFMCoarseDetune = k+
- (pars->VoicePar[nvoice].PFMCoarseDetune/1024)*1024;}
- tooltip {Coarse Detune} xywh {685 280 60 15} labelsize 10 align 1 minimum -64 maximum 63 step 1 textfont 1 textsize 11
- code0 {int k=pars->VoicePar[nvoice].PFMCoarseDetune%1024;}
- code1 {if (k>=512) k-=1024;}
- code2 {o->value(k);}
- code3 {o->lstep(10);}
- }
- Fl_Counter {} {
- label Octave
- callback {int k=(int) o->value();
- if (k<0) k+=16;
- pars->VoicePar[nvoice].PFMCoarseDetune = k*1024+
- pars->VoicePar[nvoice].PFMCoarseDetune%1024;}
- tooltip Octave xywh {625 280 45 15} type Simple labelsize 10 align 1 minimum -8 maximum 7 step 1 textfont 1 textsize 11
- code0 {int k=pars->VoicePar[nvoice].PFMCoarseDetune/1024;}
- code1 {if (k>=8) k-=16;}
- code2 {o->value(k);}
- }
- Fl_Slider {} {
- callback {pars->VoicePar[nvoice].PFMDetune=(int)o->value()+8192;
- fmdetunevalueoutput->do_callback();}
- tooltip {Fine Detune (cents)} xywh {590 245 155 15} type {Horz Knob} box NO_BOX minimum -8192 maximum 8191 step 1
- code0 {o->value(pars->VoicePar[nvoice].PFMDetune-8192);}
- }
- Fl_Value_Output fmdetunevalueoutput {
- label Detune
- callback {o->value(getdetune((pars->VoicePar[nvoice].PFMDetuneType==0)?(pars->GlobalPar.PDetuneType) : (pars->VoicePar[nvoice].PFMDetuneType),0,pars->VoicePar[nvoice].PFMDetune));}
- xywh {540 245 45 18} labelsize 8 align 5 minimum -5000 maximum 5000 step 0.01 textfont 1 textsize 8
- code0 {o->value(getdetune((pars->VoicePar[nvoice].PFMDetuneType==0)?(pars->GlobalPar.PDetuneType) : (pars->VoicePar[nvoice].PFMDetuneType),0,pars->VoicePar[nvoice].PFMDetune));}
- code1 {//o->value(getdetune(pars->VoicePar[nvoice].PFMDetuneType,0,pars->VoicePar[nvoice].PFMDetune));}
- }
- Fl_Choice {} {
- label {Detune Type}
- callback {pars->VoicePar[nvoice].PFMDetuneType=(int) o->value();
- fmdetunevalueoutput->do_callback();} open
- xywh {540 280 75 15} down_box BORDER_BOX labelsize 10 align 5 textfont 1 textsize 10
- code0 {o->add("Default");o->add("L35cents");o->add("L10cents");o->add("E100cents");o->add("E1200cents");}
- code1 {o->value(pars->VoicePar[nvoice].PFMDetuneType);}
- } {}
- }
- Fl_Group {} {
- label {Mod.AMPLITUDE}
- xywh {535 60 220 160} box UP_FRAME labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 17
- } {
- Fl_Value_Slider {} {
- label Vol
- callback {pars->VoicePar[nvoice].PFMVolume=(int)o->value();}
- tooltip Volume xywh {540 80 160 15} type {Horz Knob} box NO_BOX labelsize 11 align 8 maximum 127 step 1
- code0 {o->value(pars->VoicePar[nvoice].PFMVolume);}
- }
- Fl_Value_Slider {} {
- label {V.Sns}
- callback {pars->VoicePar[nvoice].PFMVelocityScaleFunction=(int) o->value();}
- tooltip {Velocity Sensing Function (rightmost to disable)} xywh {540 100 160 15} type {Horz Knob} box NO_BOX labelsize 11 align 8 maximum 127 step 1
- code0 {o->value(pars->VoicePar[nvoice].PFMVelocityScaleFunction);}
- }
- Fl_Group voiceFMampenvgroup {
- label {ADSynth Modulator - Amplitude Envelope} open
- xywh {540 145 205 70} box FLAT_BOX color 51 align 144
- code0 {o->init(pars->VoicePar[nvoice].FMAmpEnvelope);}
- code1 {if (pars->VoicePar[nvoice].PFMAmpEnvelopeEnabled==0) o->deactivate();}
- class EnvelopeUI
- } {}
- Fl_Check_Button {} {
- label On
- callback {pars->VoicePar[nvoice].PFMAmpEnvelopeEnabled=(int)o->value();
- if (o->value()==0) voiceFMampenvgroup->deactivate();
- else voiceFMampenvgroup->activate();
- o->redraw();}
- tooltip {Forced Relase} xywh {545 150 50 10} down_box DOWN_BOX labelfont 1 labelsize 11
- code0 {o->value(pars->VoicePar[nvoice].PFMAmpEnvelopeEnabled);}
- }
- Fl_Value_Slider {} {
- label {F.Damp}
- callback {pars->VoicePar[nvoice].PFMVolumeDamp=(int) o->value()+64;}
- tooltip {Modulator Damp at Higher frequency} xywh {540 120 160 15} type {Horz Knob} box NO_BOX labelsize 11 align 8 minimum -64 maximum 63 step 1
- code0 {o->value(pars->VoicePar[nvoice].PFMVolumeDamp-64);}
- }
- }
- Fl_Group modoscil {open
- xywh {535 365 220 220}
- } {
- Fl_Group fmoscil {open
- xywh {535 440 220 140} box THIN_DOWN_BOX color 32 selection_color 71 labelcolor 179
- code0 {oscFM=new Oscilloscope(o->x(),o->y(),o->w(),o->h(),"");}
- code1 {int nv=nvoice; if (pars->VoicePar[nvoice].PextFMoscil>=0) nv=pars->VoicePar[nvoice].PextFMoscil;}
- code2 {oscFM->init(pars->VoicePar[nv].FMSmp,0,pars->VoicePar[nvoice].PFMoscilphase,master);}
- } {}
- Fl_Box {} {
- label {Mod.Oscillator}
- xywh {535 375 155 20} labelfont 1 align 20
- }
- Fl_Button changeFMoscilbutton {
- label Change
- callback {if (oscedit!=NULL) delete(oscedit);
-
- int nv=nvoice;
- if (pars->VoicePar[nvoice].PextFMoscil>=0) nv=pars->VoicePar[nvoice].PextFMoscil;
-
- oscedit=new OscilEditor(pars->VoicePar[nv].FMSmp,fmoscil,NULL,NULL,master);}
- xywh {700 380 55 15} box THIN_UP_BOX labelfont 1 labelsize 11
- code0 {if (pars->VoicePar[nvoice].PextFMoscil>=0) o->labelcolor(FL_BLUE);}
- }
- Fl_Slider {} {
- label Phase
- callback {pars->VoicePar[nvoice].PFMoscilphase=64-(int)o->value();
- oscFM->phase=64-(int) o->value();
- fmoscil->redraw();}
- xywh {645 415 105 15} type {Horz Knob} box NO_BOX labelsize 10 align 5 minimum -64 maximum 63 step 1
- code0 {o->value(64-pars->VoicePar[nvoice].PFMoscilphase);}
- }
- Fl_Choice {} {
- label Use
- callback {pars->VoicePar[nvoice].PextFMoscil=(int)o->value()-1;
- if ((int) o->value() != 0) {
- oscFM->init(pars->VoicePar[(int) o->value()-1].FMSmp,master);
- changeFMoscilbutton->labelcolor(FL_BLUE);
- } else {
- oscFM->init(pars->VoicePar[nvoice].FMSmp,master);
- changeFMoscilbutton->labelcolor(FL_BLACK);
- };
- voiceFMparametersgroup->redraw();} open
- xywh {560 410 75 20} down_box BORDER_BOX labelsize 10 textfont 1 textsize 10
- code0 {o->add("Internal");}
- code1 {char tmp[50]; for (int i=0;i<nvoice;i++) {sprintf(tmp,"ExtM.%2d",i+1);o->add(tmp);};}
- code3 {o->value(pars->VoicePar[nvoice].PextFMoscil+1);}
- } {}
- }
- Fl_Choice {} {
- label {External Mod.}
- callback {pars->VoicePar[nvoice].PFMVoice=(int)o->value()-1;
- if ((int) o->value() != 0) {
- modoscil->deactivate();
- modfrequency->deactivate();
- } else {
- modoscil->activate();
- modfrequency->activate();
- };
- voiceFMparametersgroup->redraw();} open
- xywh {635 40 85 20} down_box BORDER_BOX labelsize 10 align 5 textfont 1 textsize 10
- code0 {o->add("OFF");}
- code1 {char tmp[50]; for (int i=0;i<nvoice;i++) {sprintf(tmp,"ExtMod.%2d",i+1);o->add(tmp);};}
- code2 {o->value(pars->VoicePar[nvoice].PFMVoice+1);}
- code3 {if ((int) o->value() != 0) {modoscil->deactivate();modfrequency->deactivate();}}
- } {}
- }
- Fl_Choice {} {
- label {Type:}
- callback {pars->VoicePar[nvoice].PFMEnabled=(int)o->value();
- if (o->value()==0) voiceFMparametersgroup->deactivate();
- else voiceFMparametersgroup->activate();
- o->redraw();}
- xywh {535 40 80 20} down_box BORDER_BOX align 5
- code0 {o->value(pars->VoicePar[nvoice].PFMEnabled);}
- } {
- MenuItem {} {
- label OFF
- xywh {40 40 100 20} labelfont 1
- }
- MenuItem {} {
- label MORPH
- xywh {50 50 100 20} labelfont 1
- }
- MenuItem {} {
- label RING
- xywh {60 60 100 20} labelfont 1
- }
- MenuItem {} {
- label PM
- xywh {70 70 100 20} labelfont 1
- }
- MenuItem {} {
- label FM
- xywh {80 80 100 20} labelfont 1
- }
- MenuItem {} {
- label PITCH
- xywh {90 90 100 20} labelfont 1 deactivate
- }
- }
- Fl_Group {} {
- label FREQUENCY
- xywh {5 265 525 120} box UP_FRAME labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 17
- } {
- Fl_Group voicefreqenvgroup {
- label {ADSynth Voice - Frequency Envelope} open
- xywh {10 305 205 70} box FLAT_BOX color 51 align 144
- code0 {o->init(pars->VoicePar[nvoice].FreqEnvelope);}
- code1 {if (pars->VoicePar[nvoice].PFreqEnvelopeEnabled==0) o->deactivate();}
- class EnvelopeUI
- } {}
- Fl_Check_Button {} {
- label On
- callback {pars->VoicePar[nvoice].PFreqEnvelopeEnabled=(int)o->value();
- if (o->value()==0) voicefreqenvgroup->deactivate();
- else voicefreqenvgroup->activate();
- o->redraw();}
- tooltip {Forced Relase} xywh {15 310 50 10} down_box DOWN_BOX labelfont 1 labelsize 11
- code0 {o->value(pars->VoicePar[nvoice].PFreqEnvelopeEnabled);}
- }
- Fl_Group voicefreqlfogroup {
- label {Frequency LFO } open
- xywh {220 305 230 70} box FLAT_BOX color 47 align 144
- code0 {o->init(pars->VoicePar[nvoice].FreqLfo);}
- code1 {if (pars->VoicePar[nvoice].PFreqLfoEnabled==0) o->deactivate();}
- class LFOUI
- } {}
- Fl_Check_Button {} {
- label On
- callback {pars->VoicePar[nvoice].PFreqLfoEnabled=(int)o->value();
- if (o->value()==0) voicefreqlfogroup->deactivate();
- else voicefreqlfogroup->activate();
- o->redraw();}
- tooltip {Forced Relase} xywh {225 311 55 10} down_box DOWN_BOX labelfont 1 labelsize 11
- code0 {o->value(pars->VoicePar[nvoice].PFreqLfoEnabled);}
- }
- Fl_Counter {} {
- label Octave
- callback {int k=(int) o->value();
- if (k<0) k+=16;
- pars->VoicePar[nvoice].PCoarseDetune = k*1024+
- pars->VoicePar[nvoice].PCoarseDetune%1024;}
- tooltip Octave xywh {470 285 45 15} type Simple labelsize 10 align 1 minimum -8 maximum 7 step 1 textfont 1 textsize 11
- code0 {int k=pars->VoicePar[nvoice].PCoarseDetune/1024;}
- code1 {if (k>=8) k-=16;}
- code2 {o->value(k);}
- }
- Fl_Counter {} {
- label {Coarse Det.}
- callback {int k=(int) o->value();
- if (k<0) k+=1024;
- pars->VoicePar[nvoice].PCoarseDetune = k+
- (pars->VoicePar[nvoice].PCoarseDetune/1024)*1024;}
- tooltip {Coarse Detune} xywh {455 355 60 20} labelsize 10 align 1 minimum -64 maximum 63 step 1 textfont 1 textsize 11
- code0 {int k=pars->VoicePar[nvoice].PCoarseDetune%1024;}
- code1 {if (k>=512) k-=1024;}
- code2 {o->value(k);}
- code3 {o->lstep(10);}
- }
- Fl_Slider {} {
- callback {pars->VoicePar[nvoice].PDetune=(int)o->value()+8192;
- detunevalueoutput->do_callback();}
- tooltip {Fine Detune (cents)} xywh {58 287 392 13} type {Horz Knob} box NO_BOX minimum -8192 maximum 8191 step 1
- code0 {o->value(pars->VoicePar[nvoice].PDetune-8192);}
- }
- Fl_Value_Output detunevalueoutput {
- label Detune
- callback {o->value(getdetune((pars->VoicePar[nvoice].PDetuneType==0)?(pars->GlobalPar.PDetuneType) : (pars->VoicePar[nvoice].PDetuneType),0,pars->VoicePar[nvoice].PDetune)*pars->getBandwidthDetuneMultiplier());}
- xywh {10 287 45 15} labelsize 10 align 5 minimum -5000 maximum 5000 step 0.01 textfont 1 textsize 10
- code0 {o->value(getdetune((pars->VoicePar[nvoice].PDetuneType==0)?(pars->GlobalPar.PDetuneType) : (pars->VoicePar[nvoice].PDetuneType),0,pars->VoicePar[nvoice].PDetune)*pars->getBandwidthDetuneMultiplier());}
- }
- Fl_Check_Button {} {
- label 440Hz
- callback {int x=(int) o->value();
- pars->VoicePar[nvoice].Pfixedfreq=x;
- if (x==0) fixedfreqetdial->deactivate();
- else fixedfreqetdial->activate();}
- tooltip {Set the voice base frequency to 440Hz} xywh {345 268 55 15} down_box DOWN_BOX labelfont 1 labelsize 11
- code0 {o->value(pars->VoicePar[nvoice].Pfixedfreq);}
- }
- Fl_Dial fixedfreqetdial {
- label {Eq.T.}
- callback {pars->VoicePar[nvoice].PfixedfreqET=(int) o->value();}
- tooltip {How the frequency varies acording to the keyboard (leftmost for fixed frequency)} xywh {405 270 15 15} box ROUND_UP_BOX labelsize 10 align 8 maximum 127 step 1
- code0 {o->value(pars->VoicePar[nvoice].PfixedfreqET);}
- code1 {if (pars->VoicePar[nvoice].Pfixedfreq==0) o->deactivate();}
- class WidgetPDial
- }
- Fl_Choice {} {
- label {Detune Type}
- callback {pars->VoicePar[nvoice].PDetuneType=(int) o->value();
- detunevalueoutput->do_callback();} open
- xywh {455 320 70 15} down_box BORDER_BOX labelsize 10 align 5 textfont 1 textsize 10
- code0 {o->add("Default");o->add("L35cents");o->add("L10cents");o->add("E100cents");o->add("E1200cents");}
- code1 {o->value(pars->VoicePar[nvoice].PDetuneType);}
- } {}
- }
- Fl_Group voiceoscil {
- xywh {80 390 445 145} box THIN_DOWN_BOX color 32 selection_color 71 labelcolor 179
- code0 {osc=new Oscilloscope(o->x(),o->y(),o->w(),o->h(),"");}
- code1 {int nv=nvoice; if (pars->VoicePar[nvoice].Pextoscil>=0) nv=pars->VoicePar[nvoice].Pextoscil;}
- code2 {osc->init(pars->VoicePar[nv].OscilSmp,0,pars->VoicePar[nvoice].Poscilphase,master);}
- } {}
- Fl_Button changevoiceoscilbutton {
- label Change
- callback {if (oscedit!=NULL) delete(oscedit);
-
- int nv=nvoice;
- if (pars->VoicePar[nvoice].Pextoscil>=0) nv=pars->VoicePar[nvoice].Pextoscil;
-
- oscedit=new OscilEditor(pars->VoicePar[nv].OscilSmp,voiceoscil,NULL,NULL,master);}
- xywh {5 490 65 20} box THIN_UP_BOX labelfont 1 labelsize 11
- code0 {if (pars->VoicePar[nvoice].Pextoscil>=0) o->labelcolor(FL_BLUE);}
- }
- Fl_Box {} {
- label {Voice Oscillator}
- xywh {5 390 75 35} labelfont 1 labelsize 12 align 128
- }
- Fl_Slider {} {
- label Phase
- callback {pars->VoicePar[nvoice].Poscilphase=64-(int)o->value();
- osc->phase=64-(int) o->value();
- voiceoscil->redraw();}
- xywh {10 435 65 10} type {Horz Knob} box NO_BOX labelsize 10 align 5 minimum -64 maximum 63 step 1
- code0 {o->value(64-pars->VoicePar[nvoice].Poscilphase);}
- }
- Fl_Check_Button {} {
- label {R.}
- callback {pars->VoicePar[nvoice].Presonance=(int) o->value();}
- tooltip {Resonance On/Off} xywh {210 5 35 35} box THIN_UP_BOX down_box DOWN_BOX labelfont 1 labelsize 11
- code0 {o->value(pars->VoicePar[nvoice].Presonance);}
- }
- Fl_Choice {} {
- label {Use Oscil.}
- callback {pars->VoicePar[nvoice].Pextoscil=(int)o->value()-1;
- if ((int) o->value() != 0) {
- osc->init(pars->VoicePar[(int) o->value()-1].OscilSmp,master);
- changevoiceoscilbutton->labelcolor(FL_BLUE);
- } else {
- osc->init(pars->VoicePar[nvoice].OscilSmp,master);
- changevoiceoscilbutton->labelcolor(FL_BLACK);
- };
-
- voiceparametersgroup->redraw();
- voiceonbutton->redraw();} open
- xywh {5 470 65 15} down_box BORDER_BOX labelsize 10 align 5 textfont 1 textsize 10
- code0 {o->add("Internal");}
- code1 {char tmp[50]; for (int i=0;i<nvoice;i++) {sprintf(tmp,"Ext.%2d",i+1);o->add(tmp);};}
- code3 {o->value(pars->VoicePar[nvoice].Pextoscil+1);}
- } {}
- Fl_Group {} {open
- xywh {5 540 515 45} box UP_FRAME
- } {
- Fl_Dial {} {
- label Stereo
- callback {pars->VoicePar[nvoice].Unison_stereo_spread=(int)o->value();}
- tooltip {Stereo Spread} xywh {285 555 25 30} box ROUND_UP_BOX labelsize 10 align 1 maximum 127 step 1
- code0 {o->value(pars->VoicePar[nvoice].Unison_stereo_spread);}
- class WidgetPDial
- }
- Fl_Choice {} {
- label Unison
- callback {pars->set_unison_size_index(nvoice,(int) o->value());} open
- tooltip {Unison size} xywh {10 560 75 20} down_box BORDER_BOX labelfont 1 align 5 textfont 1 textsize 10
- code0 {o->add("OFF");char tmp[100];for (int i=1;ADnote_unison_sizes[i];i++){snprintf(tmp,100,"size %d",ADnote_unison_sizes[i]);o->add(tmp);};}
- code1 {o->value(pars->get_unison_size_index(nvoice));}
- } {}
- Fl_Dial {} {
- label Vibrato
- callback {pars->VoicePar[nvoice].Unison_vibratto=(int)o->value();}
- tooltip Vibrato xywh {340 555 25 30} box ROUND_UP_BOX labelsize 10 align 1 maximum 127 step 1
- code0 {o->value(pars->VoicePar[nvoice].Unison_vibratto);}
- class WidgetPDial
- }
- Fl_Choice {} {
- label Invert
- callback {pars->VoicePar[nvoice].Unison_invert_phase=(int) o->value();} open
- tooltip {Phase Invert} xywh {445 560 65 15} down_box BORDER_BOX labelsize 11 align 5 textfont 1 textsize 10
- code0 {o->add("None");o->add("Random");char tmp[100];for (int i=2;i<=5;i++){snprintf(tmp,100,"%d %%",100/i);o->add(tmp);};}
- code1 {o->value(pars->VoicePar[nvoice].Unison_invert_phase);}
- } {}
- Fl_Slider {} {
- label {Frequency Spread}
- callback {pars->VoicePar[nvoice].Unison_frequency_spread=(int)o->value();
- unisonspreadoutput->do_callback();}
- tooltip {Frequency Spread of the Unison} xywh {95 562 125 13} type {Horz Knob} box NO_BOX labelsize 12 align 1 maximum 127 step 1 value 64
- code0 {o->value(pars->VoicePar[nvoice].Unison_frequency_spread);}
- }
- Fl_Value_Output unisonspreadoutput {
- label {(cents)}
- callback {o->value(pars->getUnisonFrequencySpreadCents(nvoice));}
- xywh {225 560 40 15} labelsize 10 align 5 maximum 1000 step 0.1 textfont 1 textsize 10
- code0 {o->value(pars->getUnisonFrequencySpreadCents(nvoice));}
- }
- Fl_Dial {} {
- label {Vib.speed}
- callback {pars->VoicePar[nvoice].Unison_vibratto_speed=(int)o->value();}
- tooltip {Vibrato Average Speed} xywh {390 555 25 30} box ROUND_UP_BOX labelsize 10 align 1 maximum 127 step 1
- code0 {o->value(pars->VoicePar[nvoice].Unison_vibratto_speed);}
- class WidgetPDial
- }
- }
- }
- Fl_Group {} {
- label AMPLITUDE open
- xywh {5 40 240 220} box UP_FRAME labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 17
- } {
- Fl_Value_Slider {} {
- label Vol
- callback {pars->VoicePar[nvoice].PVolume=(int)o->value();}
- tooltip Volume xywh {10 60 160 15} type {Horz Knob} box NO_BOX labelsize 11 align 8 maximum 127 step 1
- code0 {o->value(pars->VoicePar[nvoice].PVolume);}
- }
- Fl_Value_Slider {} {
- label {V.Sns}
- callback {pars->VoicePar[nvoice].PAmpVelocityScaleFunction=(int) o->value();}
- tooltip {Velocity Sensing Function (rightmost to disable)} xywh {10 80 160 15} type {Horz Knob} box NO_BOX labelsize 11 align 8 maximum 127 step 1
- code0 {o->value(pars->VoicePar[nvoice].PAmpVelocityScaleFunction);}
- }
- Fl_Group voiceampenvgroup {
- label {ADSynth Voice - Amplitude Envelope} open
- xywh {10 105 205 70} box FLAT_BOX color 51 align 144
- code0 {o->init(pars->VoicePar[nvoice].AmpEnvelope);}
- code1 {if (pars->VoicePar[nvoice].PAmpEnvelopeEnabled==0) o->deactivate();}
- class EnvelopeUI
- } {}
- Fl_Dial {} {
- label Pan
- callback {pars->VoicePar[nvoice].PPanning=(int) o->value();}
- tooltip {Panning (leftmost is Random)} xywh {210 60 30 30} box ROUND_UP_BOX labelsize 10 maximum 127 step 1
- code0 {o->value(pars->VoicePar[nvoice].PPanning);}
- class WidgetPDial
- }
- Fl_Check_Button {} {
- label On
- callback {pars->VoicePar[nvoice].PAmpEnvelopeEnabled=(int)o->value();
- if (o->value()==0) voiceampenvgroup->deactivate();
- else voiceampenvgroup->activate();
- o->redraw();}
- tooltip {Forced Relase} xywh {15 110 50 10} down_box DOWN_BOX labelfont 1 labelsize 11
- code0 {o->value(pars->VoicePar[nvoice].PAmpEnvelopeEnabled);}
- }
- Fl_Group voiceamplfogroup {
- label {Amplitude LFO } open
- xywh {10 180 230 75} box FLAT_BOX color 47 align 144
- code0 {o->init(pars->VoicePar[nvoice].AmpLfo);}
- code1 {if (pars->VoicePar[nvoice].PAmpLfoEnabled==0) o->deactivate();}
- class LFOUI
- } {}
- Fl_Check_Button {} {
- label On
- callback {pars->VoicePar[nvoice].PAmpLfoEnabled=(int)o->value();
- if (o->value()==0) voiceamplfogroup->deactivate();
- else voiceamplfogroup->activate();
- o->redraw();}
- tooltip {Forced Relase} xywh {15 185 55 10} down_box DOWN_BOX labelfont 1 labelsize 11
- code0 {o->value(pars->VoicePar[nvoice].PAmpLfoEnabled);}
- }
- Fl_Check_Button {} {
- label Minus
- callback {pars->VoicePar[nvoice].PVolumeminus=(int)o->value();}
- xywh {10 45 50 10} down_box DOWN_BOX labelfont 1 labelsize 10
- code0 {o->value(pars->VoicePar[nvoice].PVolumeminus);}
- }
- }
- Fl_Group voicefiltergroup {
- label FILTER open
- xywh {245 5 285 260} box UP_FRAME labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 17
- code0 {if (pars->VoicePar[nvoice].PFilterEnabled==0) o->deactivate();}
- } {
- Fl_Group {} {
- label {ADsynth Voice - Filter} open
- xywh {250 30 275 75} box FLAT_BOX color 50 align 144
- code0 {o->init(pars->VoicePar[nvoice].VoiceFilter,NULL,NULL);}
- class FilterUI
- } {}
- Fl_Group voicefilterenvgroup {
- label {ADSynth Voice - Filter Envelope} open
- xywh {250 115 275 70} box FLAT_BOX color 51 align 144
- code0 {o->init(pars->VoicePar[nvoice].FilterEnvelope);}
- code1 {if (pars->VoicePar[nvoice].PFilterEnvelopeEnabled==0) o->deactivate();}
- class EnvelopeUI
- } {}
- Fl_Check_Button {} {
- label On
- callback {pars->VoicePar[nvoice].PFilterEnvelopeEnabled=(int)o->value();
- if (o->value()==0) voicefilterenvgroup->deactivate();
- else voicefilterenvgroup->activate();
- o->redraw();}
- tooltip {Forced Relase} xywh {255 119 55 10} down_box DOWN_BOX labelfont 1 labelsize 11
- code0 {o->value(pars->VoicePar[nvoice].PFilterEnvelopeEnabled);}
- }
- Fl_Group voicefilterlfogroup {
- label {Filter LFO } open
- xywh {250 190 230 70} box FLAT_BOX color 47 align 144
- code0 {o->init(pars->VoicePar[nvoice].FilterLfo);}
- code1 {if (pars->VoicePar[nvoice].PFilterLfoEnabled==0) o->deactivate();}
- class LFOUI
- } {}
- Fl_Check_Button {} {
- label On
- callback {pars->VoicePar[nvoice].PFilterLfoEnabled=(int)o->value();
- if (o->value()==0) voicefilterlfogroup->deactivate();
- else voicefilterlfogroup->activate();
- o->redraw();}
- tooltip {Forced Relase} xywh {255 196 55 10} down_box DOWN_BOX labelfont 1 labelsize 11
- code0 {o->value(pars->VoicePar[nvoice].PFilterLfoEnabled);}
- }
- }
- Fl_Group {} {
- label 01
- xywh {5 5 55 35} box THIN_UP_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 22 align 16
- code0 {char tmp[10];snprintf(tmp,10,"%d",nvoice+1);o->label(strdup(tmp));}
- } {}
- Fl_Choice {} {
- callback {int x=(int) o->value();
- pars->VoicePar[nvoice].Type=x;
- if (x==0) voicemodegroup->activate();
- else voicemodegroup->deactivate();
- noiselabel->do_callback();}
- tooltip {Oscillator Type (sound/noise)} xywh {5 515 65 20} down_box BORDER_BOX labelsize 10 textfont 1 textsize 10
- code0 {o->value(pars->VoicePar[nvoice].Type);}
- code1 {if (pars->VoicePar[nvoice].Type!=0) voicemodegroup->deactivate();}
- } {
- MenuItem {} {
- label Sound
- xywh {5 5 100 20} labelfont 1 labelsize 11
- }
- MenuItem {} {
- label NOISE
- xywh {15 15 100 20} labelfont 1 labelsize 11 labelcolor 1
- }
- }
- Fl_Check_Button bypassfiltercheckbutton {
- label {Bypass Global F.}
- callback {pars->VoicePar[nvoice].Pfilterbypass=(int)o->value();}
- xywh {425 10 100 20} down_box DOWN_BOX labelfont 1 labelsize 10 align 148
- code0 {o->value(pars->VoicePar[nvoice].Pfilterbypass);}
- }
- Fl_Group {} {open
- xywh {115 5 95 35} box THIN_UP_BOX
- } {
- Fl_Value_Slider {} {
- label Delay
- callback {pars->VoicePar[nvoice].PDelay=(int)o->value();}
- tooltip Volume xywh {120 21 84 12} type {Horz Knob} box NO_BOX labelsize 11 align 5 maximum 127 step 1
- code0 {o->value(pars->VoicePar[nvoice].PDelay);}
- }
- }
- Fl_Check_Button {} {
- label On
- callback {pars->VoicePar[nvoice].PFilterEnabled=(int)o->value();
- if (o->value()==0) voicefiltergroup->deactivate();
- else voicefiltergroup->activate();
- o->redraw();
- bypassfiltercheckbutton->redraw();}
- tooltip {Enable Filter} xywh {250 15 60 15} down_box DOWN_BOX labelfont 1 labelsize 11
- code0 {o->value(pars->VoicePar[nvoice].PFilterEnabled);}
- }
- Fl_Box noiselabel {
- label {White Noise}
- callback {if (pars->VoicePar[nvoice].Type==0) o->hide(); else o->show();}
- xywh {150 430 300 65} labelfont 1 labelsize 50 labelcolor 7
- code0 {if (pars->VoicePar[nvoice].Type==0) o->hide(); else o->show();}
- }
- }
- Fl_Check_Button voiceonbutton {
- label On
- callback {pars->VoicePar[nvoice].Enabled=(int)o->value();
- if (o->value()==0) voiceparametersgroup->deactivate();
- else voiceparametersgroup->activate();
- o->redraw();}
- xywh {60 5 55 35} box THIN_UP_BOX down_box DOWN_BOX labelfont 1 labelsize 13
- code0 {o->value(pars->VoicePar[nvoice].Enabled);}
- }
- }
- }
- Function {ADvoiceUI(int x,int y, int w, int h, const char *label=0):Fl_Group(x,y,w,h,label)} {} {
- code {nvoice=0;
- pars=NULL;
- oscedit=NULL;} {}
- }
- Function {init(ADnoteParameters *parameters,int nvoice_,Master *master_)} {open
- } {
- code {pars=parameters;
- nvoice=nvoice_;
- master=master_;
- make_window();
- end();
- ADnoteVoiceParameters->show();} {}
- }
- Function {~ADvoiceUI()} {open
- } {
- code {ADnoteVoiceParameters->hide();
- hide();
- if (oscedit!=NULL) {
- delete(oscedit);
- };
- //delete (ADnoteVoiceParameters);} {}
- }
- decl {int nvoice;} {}
- decl {ADnoteParameters *pars;} {}
- decl {OscilEditor *oscedit;} {}
- decl {Oscilloscope *osc;} {}
- decl {Oscilloscope *oscFM;} {}
- decl {Master *master;} {}
- }
-
- class ADnoteUI {open : {public PresetsUI_}
- } {
- Function {make_window()} {open private
- } {
- Fl_Window ADnoteGlobalParameters {
- label {ADsynth Global Parameters of the Instrument} open
- xywh {457 319 540 430} type Double visible
- } {
- Fl_Group {} {
- label FREQUENCY open
- xywh {5 280 530 115} box UP_FRAME labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 17
- } {
- Fl_Group freqenv {
- label {ADSynth Global - Frequency Envelope} open
- xywh {10 320 205 70} box FLAT_BOX color 51 align 144
- code0 {o->init(pars->GlobalPar.FreqEnvelope);}
- class EnvelopeUI
- } {}
- Fl_Counter octave {
- label Octave
- callback {int k=(int) o->value();
- if (k<0) k+=16;
- pars->GlobalPar.PCoarseDetune = k*1024+
- pars->GlobalPar.PCoarseDetune%1024;}
- tooltip Octave xywh {455 300 45 15} type Simple labelsize 10 align 1 minimum -8 maximum 7 step 1 textfont 1 textsize 11
- code0 {int k=pars->GlobalPar.PCoarseDetune/1024;if (k>=8) k-=16;}
- code2 {o->value(k);}
- }
- Fl_Counter coarsedet {
- label {Coarse det.}
- callback {int k=(int) o->value();
- if (k<0) k+=1024;
- pars->GlobalPar.PCoarseDetune = k+
- (pars->GlobalPar.PCoarseDetune/1024)*1024;}
- tooltip {Coarse Detune} xywh {460 370 60 20} type Simple labelsize 10 align 5 minimum -64 maximum 63 step 1 textfont 1 textsize 11
- code0 {int k=pars->GlobalPar.PCoarseDetune%1024;if (k>=512) k-=1024;}
- code2 {o->value(k);}
- code3 {o->lstep(10);}
- }
- Fl_Group freqlfo {
- label {Frequency LFO } open
- xywh {220 320 230 70} box FLAT_BOX color 47 align 144
- code0 {o->init(pars->GlobalPar.FreqLfo);}
- class LFOUI
- } {}
- Fl_Slider freq {
- callback {pars->GlobalPar.PDetune=(int)o->value()+8192;
- detunevalueoutput->do_callback();}
- tooltip {Fine Detune (cents)} xywh {60 300 385 15} type {Horz Knob} box NO_BOX minimum -8192 maximum 8191 step 1
- code0 {o->value(pars->GlobalPar.PDetune-8192);}
- }
- Fl_Value_Output detunevalueoutput {
- label Detune
- callback {o->value(getdetune(pars->GlobalPar.PDetuneType,0,pars->GlobalPar.PDetune));}
- xywh {12 300 45 15} labelsize 10 align 5 minimum -5000 maximum 5000 step 0.01 textfont 1 textsize 10
- code0 {o->value(getdetune(pars->GlobalPar.PDetuneType,0,pars->GlobalPar.PDetune));}
- }
- Fl_Choice detunetype {
- label {Detune Type}
- callback {pars->GlobalPar.PDetuneType=(int) o->value()+1;
- detunevalueoutput->do_callback();} open
- xywh {455 340 75 15} down_box BORDER_BOX labelsize 10 align 5 textfont 1 textsize 10
- code0 {o->add("L35cents");o->add("L10cents");o->add("E100cents");o->add("E1200cents");}
- code1 {o->value(pars->GlobalPar.PDetuneType-1);}
- } {}
- Fl_Dial {} {
- label relBW
- callback {pars->GlobalPar.PBandwidth=(int) o->value();
-
- pars->getBandwidthDetuneMultiplier();
-
- for (int i=0;i<NUM_VOICES;i++){
- voicelistitem[i]->refreshlist();
- };}
- tooltip {Bandwidth - how the relative fine detune of the voice are changed} xywh {505 295 25 25} box ROUND_UP_BOX labelsize 10 align 1 maximum 127 step 1
- code0 {o->value(pars->GlobalPar.PBandwidth);}
- class WidgetPDial
- }
- }
- Fl_Group {} {
- label AMPLITUDE
- xywh {5 5 240 260} box UP_FRAME labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 17
- } {
- Fl_Value_Slider volume {
- label Vol
- callback {pars->GlobalPar.PVolume=(int)o->value();}
- tooltip Volume xywh {10 30 160 15} type {Horz Knob} box NO_BOX labelsize 11 align 8 maximum 127 step 1
- code0 {o->value(pars->GlobalPar.PVolume);}
- }
- Fl_Value_Slider vsns {
- label {V.Sns}
- callback {pars->GlobalPar.PAmpVelocityScaleFunction=(int) o->value();}
- tooltip {Velocity Sensing Function (rightmost to disable)} xywh {10 50 160 15} type {Horz Knob} box NO_BOX labelsize 11 align 8 maximum 127 step 1
- code0 {o->value(pars->GlobalPar.PAmpVelocityScaleFunction);}
- }
- Fl_Dial pan {
- label Pan
- callback {pars->GlobalPar.PPanning=(int) o->value();}
- tooltip {Panning (leftmost is Random)} xywh {210 25 30 30} box ROUND_UP_BOX labelsize 10 maximum 127 step 1
- code0 {o->value(pars->GlobalPar.PPanning);}
- class WidgetPDial
- }
- Fl_Dial pstr {
- label {P.Str.}
- callback {pars->GlobalPar.PPunchStrength=(int) o->value();}
- tooltip {Punch Strength} xywh {125 237 25 25} box ROUND_UP_BOX labelsize 10 align 1 maximum 127 step 1
- code0 {o->value(pars->GlobalPar.PPunchStrength);}
- class WidgetPDial
- }
- Fl_Dial pt {
- label {P.t.}
- callback {pars->GlobalPar.PPunchTime=(int) o->value();}
- tooltip {Punch Time (duration)} xywh {155 237 25 25} box ROUND_UP_BOX labelsize 10 align 1 maximum 127 step 1
- code0 {o->value(pars->GlobalPar.PPunchTime);}
- class WidgetPDial
- }
- Fl_Dial pstc {
- label {P.Stc.}
- callback {pars->GlobalPar.PPunchStretch=(int) o->value();}
- tooltip {Punch Stretch} xywh {185 237 25 25} box ROUND_UP_BOX labelsize 10 align 1 maximum 127 step 1
- code0 {o->value(pars->GlobalPar.PPunchStretch);}
- class WidgetPDial
- }
- Fl_Dial pvel {
- label {P.Vel.}
- callback {pars->GlobalPar.PPunchVelocitySensing=(int) o->value();}
- tooltip {Punch Velocity Sensing} xywh {215 237 25 25} box ROUND_UP_BOX labelsize 10 align 1 maximum 127 step 1
- code0 {o->value(pars->GlobalPar.PPunchVelocitySensing);}
- class WidgetPDial
- }
- Fl_Group ampenv {
- label {ADSynth Global - Amplitude Envelope} open
- xywh {10 75 205 70} box FLAT_BOX color 51 align 144
- code0 {o->init(pars->GlobalPar.AmpEnvelope);}
- class EnvelopeUI
- } {}
- Fl_Group amplfo {
- label {Amplitude LFO } open
- xywh {10 150 230 70} box FLAT_BOX color 47 align 144
- code0 {o->init(pars->GlobalPar.AmpLfo);}
- class LFOUI
- } {}
- Fl_Check_Button rndgrp {
- label {Rnd Grp}
- callback {pars->GlobalPar.Hrandgrouping=(int) o->value();}
- tooltip {How the Harmonic Amplitude is applied to voices that use the same oscillator} xywh {70 235 40 25} down_box DOWN_BOX labelsize 10 align 148
- code0 {o->value(pars->GlobalPar.Hrandgrouping);}
- }
- }
- Fl_Group {} {
- label FILTER open selected
- xywh {250 5 285 265} box UP_FRAME labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 17
- } {
- Fl_Group filterenv {
- label {ADSynth Global - Filter Envelope} open
- xywh {255 118 275 70} box FLAT_BOX color 51 align 144
- code0 {o->init(pars->GlobalPar.FilterEnvelope);}
- class EnvelopeUI
- } {}
- Fl_Group filterlfo {
- label {Filter LFO} open
- xywh {255 195 230 70} box FLAT_BOX color 47 align 144
- code0 {o->init(pars->GlobalPar.FilterLfo);}
- class LFOUI
- } {}
- Fl_Group filterui {
- label {ADsynth Global - Filter} open
- xywh {255 35 275 75} box FLAT_BOX color 50 align 144
- code0 {o->init(pars->GlobalPar.GlobalFilter,&pars->GlobalPar.PFilterVelocityScale,&pars->GlobalPar.PFilterVelocityScaleFunction);}
- class FilterUI
- } {}
- }
- Fl_Check_Button stereo {
- label Stereo
- callback {pars->GlobalPar.PStereo=(int) o->value();}
- xywh {5 230 65 35} down_box DOWN_BOX labelsize 11
- code0 {o->value(pars->GlobalPar.PStereo);}
- }
- Fl_Button {} {
- label {Show Voice List}
- callback {for (int i=0;i<NUM_VOICES;i++){
- voicelistitem[i]->refreshlist();
- }
- ADnoteVoiceList->show();}
- xywh {180 400 125 25} labelsize 12
- }
- Fl_Button {} {
- label {Show Voice Parameters}
- callback {ADnoteVoice->show();}
- xywh {5 400 170 25} labelsize 12
- }
- Fl_Button {} {
- label Close
- callback {ADnoteGlobalParameters->hide();}
- xywh {475 400 60 25} box THIN_UP_BOX
- }
- Fl_Button {} {
- label Resonance
- callback {resui->resonancewindow->redraw();
- resui->resonancewindow->show();}
- tooltip Resonance xywh {309 400 86 25} box THIN_UP_BOX labelsize 12
- }
- Fl_Button {} {
- label C
- callback {presetsui->copyArray(pars);}
- xywh {405 405 25 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 11 labelcolor 7
- }
- Fl_Button {} {
- label P
- callback {presetsui->pasteArray(pars,this);}
- xywh {435 405 25 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 11 labelcolor 7
- }
- }
- Fl_Window ADnoteVoice {
- label {ADsynth Voice Parameters} open
- xywh {512 361 765 620} type Double visible
- } {
- Fl_Group advoice {
- xywh {0 0 765 585}
- code0 {o->init(pars,nvoice,master);}
- code1 {o->show();}
- class ADvoiceUI
- } {}
- Fl_Button {} {
- label {Close Window}
- callback {ADnoteVoice->hide();}
- xywh {305 590 195 25} box THIN_UP_BOX labelfont 1
- }
- Fl_Counter currentvoicecounter {
- label {Current Voice}
- callback {nvoice=(int)o->value()-1;
- advoice->hide();
- ADnoteVoice->remove(advoice);
- delete advoice;
- advoice=new ADvoiceUI(0,0,765,585);
- ADnoteVoice->add(advoice);
- advoice->init(pars,nvoice,master);
- advoice->show();
- ADnoteVoice->redraw();}
- xywh {10 590 130 25} type Simple labelfont 1 align 8 minimum 0 maximum 2 step 1 value 1 textfont 1 textsize 13
- code0 {o->bounds(1,NUM_VOICES);}
- }
- Fl_Button {} {
- label C
- callback {presetsui->copy(pars,nvoice);}
- xywh {705 595 25 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 11 labelcolor 7
- }
- Fl_Button {} {
- label P
- callback {presetsui->paste(pars,this,nvoice);}
- xywh {735 595 25 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 11 labelcolor 7
- }
- }
- Fl_Window ADnoteVoiceList {
- label {ADsynth Voices list}
- xywh {32 266 650 260} type Double hide
- } {
- Fl_Text_Display {} {
- label {No.}
- xywh {10 15 30 10} box NO_BOX labelfont 1 labelsize 11
- }
- Fl_Text_Display {} {
- label Vol
- xywh {145 15 30 10} box NO_BOX labelfont 1 labelsize 11
- }
- Fl_Text_Display {} {
- label Detune
- xywh {384 15 25 10} box NO_BOX labelfont 1 labelsize 11
- }
- Fl_Text_Display {} {
- label Pan
- xywh {210 15 30 10} box NO_BOX labelfont 1 labelsize 11
- }
- Fl_Text_Display {} {
- label {Vib. Depth}
- xywh {560 15 30 10} box NO_BOX labelfont 1 labelsize 11
- }
- Fl_Text_Display {} {
- label {R.}
- xywh {245 15 25 10} box NO_BOX labelfont 1 labelsize 11
- }
- Fl_Button {} {
- label {Hide Voice List}
- callback {ADnoteVoiceList->hide();}
- xywh {255 237 125 20}
- }
- Fl_Scroll {} {open
- xywh {0 15 640 220} type VERTICAL box THIN_UP_BOX
- } {
- Fl_Pack {} {open
- xywh {0 20 620 210}
- code0 {for (int i=0;i<NUM_VOICES;i++){voicelistitem[i]=new ADvoicelistitem(0,0,620,25,"");voicelistitem[i]->init(pars,i,master);}}
- } {}
- }
- }
- }
- Function {ADnoteUI(ADnoteParameters *parameters,Master *master_)} {} {
- code {pars=parameters;
- master=master_;
- nvoice=0;
- resui=new ResonanceUI(pars->GlobalPar.Reson);
- make_window();} {}
- }
- Function {~ADnoteUI()} {} {
- code {ADnoteVoiceList->hide();
- ADnoteGlobalParameters->hide();
- ADnoteVoice->hide();
- delete(ADnoteVoiceList);
- delete(ADnoteGlobalParameters);
- delete(ADnoteVoice);
- delete(resui);} {}
- }
- Function {refresh()} {} {
- code {volume->value(pars->GlobalPar.PVolume);
- vsns->value(pars->GlobalPar.PAmpVelocityScaleFunction);
- pan->value(pars->GlobalPar.PPanning);
-
- stereo->value(pars->GlobalPar.PStereo);
- rndgrp->value(pars->GlobalPar.Hrandgrouping);
-
- pstr->value(pars->GlobalPar.PPunchStrength);
- pt->value(pars->GlobalPar.PPunchTime);
- pstc->value(pars->GlobalPar.PPunchStretch);
- pvel->value(pars->GlobalPar.PPunchVelocitySensing);
-
- detunevalueoutput->value(getdetune(pars->GlobalPar.PDetuneType,0,pars->GlobalPar.PDetune));
- freq->value(pars->GlobalPar.PDetune-8192);
-
- int k=pars->GlobalPar.PCoarseDetune/1024;if (k>=8) k-=16;
- octave->value(k);
-
- detunetype->value(pars->GlobalPar.PDetuneType-1);
- k=pars->GlobalPar.PCoarseDetune%1024;if (k>=512) k-=1024;
- coarsedet->value(k);
- amplfo->refresh();
- freqlfo->refresh();
- filterlfo->refresh();
-
- ampenv->refresh();
- freqenv->refresh();
- filterenv->refresh();
- filterui->refresh();
-
- for (int i=0;i<NUM_VOICES;i++) voicelistitem[i]->refreshlist();
-
- resui->refresh();
- currentvoicecounter->do_callback();} {}
- }
- decl {ADnoteParameters *pars;} {}
- decl {ResonanceUI *resui;} {}
- decl {Master *master;} {}
- decl {int nvoice;} {}
- decl {ADvoicelistitem *voicelistitem[NUM_VOICES];} {}
- }
|