home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2004 November
/
CMCD1104.ISO
/
Software
/
Complet
/
ZynAddFX
/
Setup_ZynAddSubFX-2.1.1.exe
/
ADnoteUI.fl
< prev
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
NeXTSTEP
RISC OS/Acorn
UTF-8
Wrap
FLTK User Interface Designer
|
2004-09-27
|
45.1 KB
|
1,094 lines
# data file for the Fltk User Interface Designer (fluid)
version 1.0104
header_name {.h}
code_name {.cc}
decl {//Copyright (c) 2002-2004 Nasca Octavian Paul} {}
decl {//License: GNU GPL version 2} {}
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 {: {public Fl_Group}
} {
Function {make_window()} {private
} {
Fl_Window ADnoteVoiceListItem {
private xywh {335 489 615 30} type Double hide
class Fl_Group
} {
Fl_Group voicelistitemgroup {
private xywh {50 0 570 25} box FLAT_BOX
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 FLAT_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 12 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 FLAT_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 11 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));}
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));}
}
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 FLAT_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 16 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();} selected
private xywh {30 5 20 20} down_box DOWN_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 16 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 {: {public Fl_Group}
} {
Function {make_window()} {} {
Fl_Window ADnoteVoiceParameters {
label Voice
xywh {231 132 765 525} type Double hide
class Fl_Group
} {
Fl_Group voiceparametersgroup {
xywh {0 0 765 525} box THIN_UP_BOX color 48
code0 {if (pars->VoicePar[nvoice].Enabled==0) o->deactivate();}
} {
Fl_Group voicemodegroup {
xywh {0 5 760 515}
} {
Fl_Group voiceFMparametersgroup {
label MODULATOR
xywh {530 5 230 515} box THIN_UP_FRAME color 48 labeltype EMBOSSED_LABEL labelfont 1 labelsize 18 align 17
code0 {if (pars->VoicePar[nvoice].PFMEnabled==0) o->deactivate();}
} {
Fl_Group modfrequency {
label {Mod.FREQUENCY}
xywh {535 220 220 145} box THIN_UP_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 16 align 17
} {
Fl_Group voiceFMfreqenvgroup {
label {ADSynth Modulator - Frequency Envelope}
xywh {540 290 205 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 Enable
callback {pars->VoicePar[nvoice].PFMFreqEnvelopeEnabled=(int)o->value();
if (o->value()==0) voiceFMfreqenvgroup->deactivate();
else voiceFMfreqenvgroup->activate();
o->redraw();}
tooltip {Forced Relase} xywh {545 295 50 10} down_box DOWN_BOX labelfont 1 labelsize 10
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 270 60 15} labelsize 11 align 1 minimum -64 maximum 63 step 1 textfont 1 textsize 12
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 270 45 15} type Simple labelsize 10 align 1 minimum -8 maximum 7 step 1 textfont 1 textsize 12
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 160 10} type {Horz Knob} box FLAT_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 13} 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->VoicePar[nvoice].PFMDetune));}
}
Fl_Choice {} {
label {Detune Type}
callback {pars->VoicePar[nvoice].PFMDetuneType=(int) o->value();
fmdetunevalueoutput->do_callback();} open
xywh {540 270 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 THIN_UP_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 16 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 FLAT_BOX labelsize 12 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 FLAT_BOX labelsize 12 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 Enable
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 10
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 FLAT_BOX labelsize 12 align 8 minimum -64 maximum 63 step 1
code0 {o->value(pars->VoicePar[nvoice].PFMVolumeDamp-64);}
}
}
Fl_Group modoscil {
xywh {535 365 220 150}
} {
Fl_Group fmoscil {open
xywh {535 405 220 110} 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 365 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,master);}
xywh {700 370 55 15} box THIN_UP_BOX labelfont 1 labelsize 12
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 {665 395 65 10} type {Horz Knob} box FLAT_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 390 75 15} 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 250 525 120} box THIN_UP_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 16 align 17
} {
Fl_Group voicefreqenvgroup {
label {ADSynth Voice - Frequency Envelope} open
xywh {10 290 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 Enable
callback {pars->VoicePar[nvoice].PFreqEnvelopeEnabled=(int)o->value();
if (o->value()==0) voicefreqenvgroup->deactivate();
else voicefreqenvgroup->activate();
o->redraw();}
tooltip {Forced Relase} xywh {15 295 50 10} down_box DOWN_BOX labelfont 1 labelsize 10
code0 {o->value(pars->VoicePar[nvoice].PFreqEnvelopeEnabled);}
}
Fl_Group voicefreqlfogroup {
label {Frequency LFO } open
xywh {215 290 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 Enable
callback {pars->VoicePar[nvoice].PFreqLfoEnabled=(int)o->value();
if (o->value()==0) voicefreqlfogroup->deactivate();
else voicefreqlfogroup->activate();
o->redraw();}
tooltip {Forced Relase} xywh {220 295 55 10} down_box DOWN_BOX labelfont 1 labelsize 12 align 24
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 270 45 15} type Simple labelsize 10 align 1 minimum -8 maximum 7 step 1 textfont 1 textsize 12
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 340 60 20} labelsize 11 align 1 minimum -64 maximum 63 step 1 textfont 1 textsize 12
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 272 392 13} type {Horz Knob} box FLAT_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));}
xywh {10 272 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->VoicePar[nvoice].PDetune));}
}
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 253 55 15} down_box DOWN_BOX labelfont 1 labelsize 12
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 255 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 {450 305 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].PDetuneType);}
} {}
}
Fl_Group voiceoscil {
xywh {80 375 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,master);}
xywh {5 475 65 20} box THIN_UP_BOX labelfont 1 labelsize 12
code0 {if (pars->VoicePar[nvoice].Pextoscil>=0) o->labelcolor(FL_BLUE);}
}
Fl_Box {} {
label {Voice Oscillator}
xywh {5 375 75 35} labelfont 1 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 420 65 10} type {Horz Knob} box FLAT_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 12
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 455 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 {} {
label AMPLITUDE
xywh {5 40 240 210} box THIN_UP_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 16 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 FLAT_BOX labelsize 12 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 FLAT_BOX labelsize 12 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 11 maximum 127 step 1
code0 {o->value(pars->VoicePar[nvoice].PPanning);}
class WidgetPDial
}
Fl_Check_Button {} {
label Enable
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 10
code0 {o->value(pars->VoicePar[nvoice].PAmpEnvelopeEnabled);}
}
Fl_Group voiceamplfogroup {
label {Amplitude LFO } open
xywh {10 175 230 70} 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 Enable
callback {pars->VoicePar[nvoice].PAmpLfoEnabled=(int)o->value();
if (o->value()==0) voiceamplfogroup->deactivate();
else voiceamplfogroup->activate();
o->redraw();}
tooltip {Forced Relase} xywh {15 180 55 10} down_box DOWN_BOX labelfont 1 labelsize 12 align 24
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
xywh {245 5 285 245} box THIN_UP_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 16 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 105 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 Enable
callback {pars->VoicePar[nvoice].PFilterEnvelopeEnabled=(int)o->value();
if (o->value()==0) voicefilterenvgroup->deactivate();
else voicefilterenvgroup->activate();
o->redraw();}
tooltip {Forced Relase} xywh {255 110 55 10} down_box DOWN_BOX labelfont 1 labelsize 10
code0 {o->value(pars->VoicePar[nvoice].PFilterEnvelopeEnabled);}
}
Fl_Group voicefilterlfogroup {
label {Filter LFO } open
xywh {250 175 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 Enable
callback {pars->VoicePar[nvoice].PFilterLfoEnabled=(int)o->value();
if (o->value()==0) voicefilterlfogroup->deactivate();
else voicefilterlfogroup->activate();
o->redraw();}
tooltip {Forced Relase} xywh {255 180 55 10} down_box DOWN_BOX labelfont 1 labelsize 12 align 24
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 30 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 500 65 20} down_box BORDER_BOX labelsize 11 textfont 1 textsize 11
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 13
}
menuitem {} {
label NOISE
xywh {15 15 100 20} labelfont 1 labelsize 13 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 {} {
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 FLAT_BOX labelsize 12 align 5 maximum 127 step 1
code0 {o->value(pars->VoicePar[nvoice].PDelay);}
}
}
Fl_Check_Button {} {
label Enable
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 12
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 415 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 16
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_)} {} {
code {pars=parameters;
nvoice=nvoice_;
master=master_;
make_window();
end();
ADnoteVoiceParameters->show();} {}
}
Function {~ADvoiceUI()} {} {
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 {: {public PresetsUI_}
} {
Function {make_window()} {private
} {
Fl_Window ADnoteGlobalParameters {
label {ADsynth Global Parameters of the Instrument}
xywh {66 187 535 405} type Double hide
} {
Fl_Group {} {
label FREQUENCY
xywh {5 255 525 115} box THIN_UP_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 16 align 17
} {
Fl_Group freqenv {
label {ADSynth Global - Frequency Envelope} open
xywh {10 295 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 {470 275 45 15} type Simple labelsize 10 align 1 minimum -8 maximum 7 step 1 textfont 1 textsize 12
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 {455 345 60 20} labelsize 10 align 5 minimum -64 maximum 63 step 1 textfont 1 textsize 12
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 {215 295 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 275 390 15} type {Horz Knob} box FLAT_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 275 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 {450 315 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_Group {} {
label AMPLITUDE
xywh {5 5 240 250} box THIN_UP_FRAME labeltype EMBOSSED_LABEL labelfont 1 labelsize 16 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 FLAT_BOX labelsize 12 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 FLAT_BOX labelsize 12 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 11 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 227 25 25} box ROUND_UP_BOX labelsize 11 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 227 25 25} box ROUND_UP_BOX labelsize 11 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 227 25 25} box ROUND_UP_BOX labelsize 11 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 227 25 25} box ROUND_UP_BOX labelsize 11 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 145 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 225 40 25} down_box DOWN_BOX labelsize 10 align 148
code0 {o->value(pars->GlobalPar.Hrandgrouping);}
}
}
Fl_Group {} {
label FILTER
xywh {245 5 285 250} box THIN_UP_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 16 align 17
} {
Fl_Group filterenv {
label {ADSynth Global - Filter Envelope} open
xywh {250 110 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 {250 180 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 {250 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 220 65 35} box ENGRAVED_BOX down_box DOWN_BOX labelfont 1 labelsize 12
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 375 125 25}
}
Fl_Button {} {
label {Show Voice Parameters}
callback {ADnoteVoice->show();}
xywh {5 375 170 25} labelfont 1
}
Fl_Button {} {
label Close
callback {ADnoteGlobalParameters->hide();}
xywh {470 375 60 25} box THIN_UP_BOX
}
Fl_Button {} {
label Resonance
callback {resui->resonancewindow->redraw();
resui->resonancewindow->show();}
tooltip Resonance xywh {309 375 86 25} box THIN_UP_BOX
}
Fl_Button {} {
label C
callback {presetsui->copy(pars);}
xywh {405 380 25 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 12 labelcolor 7
}
Fl_Button {} {
label P
callback {presetsui->paste(pars,this);}
xywh {435 380 25 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 12 labelcolor 7
}
}
Fl_Window ADnoteVoice {
label {ADsynth Voice Parameters}
xywh {53 58 765 560} type Double hide
} {
Fl_Group advoice {
xywh {0 0 760 525} box BORDER_BOX
code0 {o->init(pars,nvoice,master);}
code1 {o->show();}
class ADvoiceUI
} {}
Fl_Button {} {
label {Close Window}
callback {ADnoteVoice->hide();}
xywh {300 530 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,525);
ADnoteVoice->add(advoice);
advoice->init(pars,nvoice,master);
advoice->show();
ADnoteVoice->redraw();}
xywh {5 530 130 25} type Simple labelfont 1 align 8 minimum 0 maximum 2 step 1 value 1 textfont 1 textsize 18
code0 {o->bounds(1,NUM_VOICES);}
}
Fl_Button {} {
label C
callback {presetsui->copy(pars,nvoice);}
xywh {700 535 25 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 12 labelcolor 7
}
Fl_Button {} {
label P
callback {presetsui->paste(pars,this,nvoice);}
xywh {730 535 25 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 12 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 13
}
Fl_Text_Display {} {
label Vol
xywh {145 15 30 10} box NO_BOX labelfont 1 labelsize 13
}
Fl_Text_Display {} {
label Detune
xywh {384 15 25 10} box NO_BOX labelfont 1 labelsize 13
}
Fl_Text_Display {} {
label Pan
xywh {210 15 30 10} box NO_BOX labelfont 1 labelsize 13
}
Fl_Text_Display {} {
label {Vib. Depth}
xywh {560 15 30 10} box NO_BOX labelfont 1 labelsize 13
}
Fl_Text_Display {} {
label {R.}
xywh {245 15 25 10} box NO_BOX labelfont 1 labelsize 13
}
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];} {}
}