| 
							- # 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 <stdlib.h>} {public
 - } 
 - 
 - decl {\#include <stdio.h>} {public
 - } 
 - 
 - decl {\#include <string.h>} {public
 - } 
 - 
 - decl {\#include "../globals.h"} {public
 - } 
 - 
 - decl {\#include "WidgetPDial.h"} {public
 - } 
 - 
 - decl {\#include "EnvelopeUI.h"} {public
 - } 
 - 
 - decl {\#include "FilterUI.h"} {public
 - } 
 - 
 - decl {\#include "../Misc/Util.h"} {public
 - } 
 - 
 - decl {\#include "../Params/SUBnoteParameters.h"} {public
 - } 
 - 
 - decl {\#include "PresetsUI.h"} {public
 - } 
 - 
 - class SUBnoteharmonic {: {public Fl_Group}
 - } {
 -   Function {make_window()} {private
 -   } {
 -     Fl_Window harmonic {
 -       xywh {329 403 90 225} type Double hide
 -       class Fl_Group
 -     } {
 -       Fl_Slider mag {
 -         callback {int x=0;
 - if (Fl::event_button1()) x=127-(int)o->value();
 -    else o->value(127-x);
 - pars->Phmag[n]=x;
 - if (pars->Phmag[n]==0) o->selection_color(0);
 -     else o->selection_color(222);}
 -         tooltip {harmonic's magnitude} xywh {0 15 10 115} type {Vert Knob} box FLAT_BOX selection_color 222 maximum 127 step 1 value 127
 -         code0 {o->value(127-pars->Phmag[n]);}
 -         code1 {if (pars->Phmag[n]==0) o->selection_color(0);}
 -       }
 -       Fl_Slider bw {
 -         callback {int x=64;
 - if (Fl::event_button1()) x=127-(int)o->value();
 -    else o->value(x);
 - pars->Phrelbw[n]=x;}
 -         tooltip {harmonic's bandwidth} xywh {0 135 10 75} type {Vert Knob} box FLAT_BOX selection_color 222 maximum 127 step 1 value 64
 -         code0 {o->value(127-pars->Phrelbw[n]);}
 -       }
 -       Fl_Box {} {
 -         xywh {10 170 5 5} box FLAT_BOX color 45
 -         code0 {if (n+1==MAX_SUB_HARMONICS) o->hide();}
 -       }
 -       Fl_Box {} {
 -         label 01
 -         xywh {0 210 10 15} labelfont 1 labelsize 9 align 20
 -         code0 {char tmp[10];snprintf(tmp,10,"%d",n+1);o->label(strdup(tmp));}
 -       }
 -       Fl_Box {} {
 -         label 01
 -         xywh {0 0 10 15} labelfont 1 labelsize 9 align 20
 -         code0 {char tmp[10];snprintf(tmp,10,"%d",n+1);o->label(strdup(tmp));}
 -       }
 -     }
 -   }
 -   Function {SUBnoteharmonic(int x,int y, int w, int h, const char *label=0):Fl_Group(x,y,w,h,label)} {} {
 -     code {n=0;} {}
 -   }
 -   Function {init(SUBnoteParameters *pars_,int n_)} {} {
 -     code {pars=pars_;
 - n=n_;
 - make_window();
 - harmonic->show();
 - end();} {}
 -   }
 -   Function {refresh()} {} {
 -     code {mag->value(127-pars->Phmag[n]);
 - if (pars->Phmag[n]==0) mag->selection_color(0);
 - bw->value(127-pars->Phrelbw[n]);} {}
 -   }
 -   Function {~SUBnoteharmonic()} {} {
 -     code {harmonic->hide();
 - hide();
 - //delete(harmonic);} {}
 -   }
 -   decl {SUBnoteParameters *pars;} {}
 -   decl {int n;} {}
 - } 
 - 
 - class SUBnoteUI {open : {public PresetsUI_}
 - } {
 -   Function {make_window()} {open
 -   } {
 -     Fl_Window SUBparameters {
 -       label {SUBsynth Parameters} open
 -       xywh {542 489 735 390} type Double visible
 -     } {
 -       Fl_Scroll {} {
 -         label scroll open
 -         xywh {5 140 435 245} type HORIZONTAL box FLAT_BOX labeltype NO_LABEL
 -       } {
 -         Fl_Pack harmonics {open
 -           xywh {10 145 425 235} type HORIZONTAL
 -           code0 {for (int i=0;i<MAX_SUB_HARMONICS;i++){h[i]=new SUBnoteharmonic(0,0,15,o->h(),"");h[i]->init(pars,i);}}
 -         } {}
 -       }
 -       Fl_Button {} {
 -         label Close
 -         callback {SUBparameters->hide();}
 -         xywh {625 365 105 20} box THIN_UP_BOX labelfont 1 labelsize 11
 -       }
 -       Fl_Group {} {
 -         label AMPLITUDE
 -         xywh {5 5 215 135} box UP_FRAME labeltype EMBOSSED_LABEL labelfont 1 align 17
 -       } {
 -         Fl_Value_Slider vol {
 -           label Vol
 -           callback {pars->PVolume=(int)o->value();}
 -           tooltip Volume xywh {10 25 140 15} type {Horz Knob} box NO_BOX labelsize 11 align 8 maximum 127 step 1
 -           code0 {o->value(pars->PVolume);}
 -         }
 -         Fl_Value_Slider vsns {
 -           label {V.Sns}
 -           callback {pars->PAmpVelocityScaleFunction=(int) o->value();}
 -           tooltip {Velocity Sensing Function (rightmost to disable)} xywh {10 45 140 15} type {Horz Knob} box NO_BOX labelsize 11 align 8 maximum 127 step 1
 -           code0 {o->value(pars->PAmpVelocityScaleFunction);}
 -         }
 -         Fl_Dial pan {
 -           label Pan
 -           callback {pars->PPanning=(int) o->value();}
 -           tooltip {Panning (leftmost is Random)} xywh {185 20 30 30} box ROUND_UP_BOX labelsize 10 maximum 127 step 1
 -           code0 {o->value(pars->PPanning);}
 -           class WidgetPDial
 -         }
 -         Fl_Group ampenv {
 -           label {SUBsynth - Amplitude Envelope} open
 -           xywh {10 65 205 70} box FLAT_BOX color 51 align 144
 -           code0 {o->init(pars->AmpEnvelope);}
 -           class EnvelopeUI
 -         } {}
 -       }
 -       Fl_Group {} {
 -         xywh {495 325 235 35} box UP_FRAME
 -       } {
 -         Fl_Counter filterstages {
 -           label {Filter Stages}
 -           callback {pars->Pnumstages=(int) o->value();}
 -           tooltip {How many times the noise is filtered} xywh {515 340 45 15} type Simple labelfont 1 labelsize 10 align 1 minimum 1 maximum 5 step 1 textsize 10
 -           code0 {o->value(pars->Pnumstages);}
 -         }
 -         Fl_Choice magtype {
 -           label {Mag.Type}
 -           callback {pars->Phmagtype=(int) o->value();}
 -           xywh {585 340 65 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 1 textsize 11
 -           code0 {o->value(pars->Phmagtype);}
 -         } {
 -           MenuItem {} {
 -             label Linear
 -             xywh {20 20 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label {-40dB}
 -             xywh {30 30 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label {-60dB}
 -             xywh {40 40 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label {-80dB}
 -             xywh {50 50 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label {-100dB}
 -             xywh {60 60 100 20} labelfont 1 labelsize 11
 -           }
 -         }
 -         Fl_Choice start {
 -           label Start
 -           callback {pars->Pstart=(int) o->value();} open
 -           xywh {670 340 50 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 1 textsize 11
 -           code0 {o->value(pars->Pstart);}
 -         } {
 -           MenuItem {} {
 -             label Zero
 -             xywh {30 30 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label RND
 -             xywh {40 40 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label {Max.}
 -             xywh {50 50 100 20} labelfont 1 labelsize 11
 -           }
 -         }
 -       }
 -       Fl_Group freqsettingsui {
 -         label FREQUENCY
 -         xywh {440 5 290 135} box UP_FRAME labeltype EMBOSSED_LABEL labelfont 1 align 17
 -       } {
 -         Fl_Group freqenvelopegroup {
 -           label {SUBsynth - Frequency Envelope} open
 -           xywh {445 65 205 70} box FLAT_BOX color 51 align 144
 -           code0 {o->init(pars->FreqEnvelope);}
 -           code1 {if (pars->PFreqEnvelopeEnabled==0) o->deactivate();}
 -           class EnvelopeUI
 -         } {}
 -         Fl_Check_Button freqee {
 -           label Enabled
 -           callback {pars->PFreqEnvelopeEnabled=o->value();
 - if (o->value()==0) freqenvelopegroup->deactivate();
 -     else freqenvelopegroup->activate();
 - o->show();
 - freqsettingsui->redraw();}
 -           xywh {445 68 55 15} down_box DOWN_BOX labelfont 1 labelsize 10
 -           code0 {o->value(pars->PFreqEnvelopeEnabled);}
 -         }
 -         Fl_Counter octave {
 -           label Octave
 -           callback {int k=(int) o->value();
 - if (k<0) k+=16;
 - pars->PCoarseDetune = k*1024+
 -    pars->PCoarseDetune%1024;}
 -           tooltip Octave xywh {670 50 45 15} type Simple labelsize 10 align 1 minimum -8 maximum 7 step 1 textfont 1 textsize 11
 -           code0 {int k=pars->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->PCoarseDetune = k+
 -    (pars->PCoarseDetune/1024)*1024;}
 -           tooltip {Coarse Detune} xywh {655 115 60 20} labelsize 10 align 1 minimum -64 maximum 63 step 1 textfont 1 textsize 11
 -           code0 {int k=pars->PCoarseDetune%1024;if (k>=512) k-=1024;}
 -           code2 {o->value(k);}
 -           code3 {o->lstep(10);}
 -         }
 -         Fl_Slider detune {
 -           callback {pars->PDetune=(int)o->value()+8192;
 - detunevalueoutput->do_callback();}
 -           tooltip {Fine Detune (cents)} xywh {495 25 230 15} type {Horz Knob} box NO_BOX minimum -8192 maximum 8191 step 1
 -           code0 {o->value(pars->PDetune-8192);}
 -         }
 -         Fl_Value_Output detunevalueoutput {
 -           label Detune
 -           callback {o->value(getdetune(pars->PDetuneType,0,pars->PDetune));}
 -           xywh {448 25 45 15} labelsize 10 align 5 minimum -5000 maximum 5000 step 0.01 textfont 1 textsize 10
 -           code0 {o->value(getdetune(pars->PDetuneType,0,pars->PDetune));}
 -         }
 -         Fl_Check_Button hz440 {
 -           label 440Hz
 -           callback {int x=(int) o->value();
 - pars->Pfixedfreq=x;
 - if (x==0) fixedfreqetdial->deactivate();
 -    else fixedfreqetdial->activate();}
 -           tooltip {set the base frequency to 440Hz} xywh {555 45 50 15} down_box DOWN_BOX labelfont 1 labelsize 10
 -           code0 {o->value(pars->Pfixedfreq);}
 -         }
 -         Fl_Dial fixedfreqetdial {
 -           label {Eq.T.}
 -           callback {pars->PfixedfreqET=(int) o->value();}
 -           tooltip {How the frequency varies acording to the keyboard (leftmost for fixed frequency)} xywh {610 45 15 15} box ROUND_UP_BOX labelsize 10 align 8 maximum 127 step 1
 -           code0 {o->value(pars->PfixedfreqET);}
 -           code1 {if (pars->Pfixedfreq==0) o->deactivate();}
 -           class WidgetPDial
 -         }
 -         Fl_Choice detunetype {
 -           label {Detune Type}
 -           callback {pars->PDetuneType=(int) o->value()+1;
 - detunevalueoutput->do_callback();} open
 -           xywh {655 85 70 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->PDetuneType-1);}
 -         } {}
 -       }
 -       Fl_Check_Button stereo {
 -         label Stereo
 -         callback {pars->Pstereo=(int) o->value();} selected
 -         xywh {440 325 55 35} box THIN_UP_BOX down_box DOWN_BOX labelsize 10
 -         code0 {o->value(pars->Pstereo);}
 -       }
 -       Fl_Button {} {
 -         label Clear
 -         callback {for (int i=0;i<MAX_SUB_HARMONICS;i++){
 -     h[i]->mag->value(127);
 -     pars->Phmag[i]=0;
 -     h[i]->bw->value(64);
 -     pars->Phrelbw[i]=64;
 - };
 - pars->Phmag[0]=127;
 - h[0]->mag->value(0);
 - SUBparameters->redraw();}
 -         tooltip {Clear the harmonics} xywh {445 365 70 20} box THIN_UP_BOX labelfont 1 labelsize 11
 -       }
 -       Fl_Group bandwidthsettingsui {
 -         label BANDWIDTH
 -         xywh {220 5 220 135} box UP_FRAME labeltype EMBOSSED_LABEL labelfont 1 align 17
 -       } {
 -         Fl_Group bandwidthenvelopegroup {
 -           label {SUBsynth - BandWidth Envelope} open
 -           xywh {225 65 205 70} box FLAT_BOX color 51 align 144
 -           code0 {o->init(pars->BandWidthEnvelope);}
 -           code1 {if (pars->PBandWidthEnvelopeEnabled==0) o->deactivate();}
 -           class EnvelopeUI
 -         } {}
 -         Fl_Check_Button bwee {
 -           label Enabled
 -           callback {pars->PBandWidthEnvelopeEnabled=o->value();
 - if (o->value()==0) bandwidthenvelopegroup->deactivate();
 -     else bandwidthenvelopegroup->activate();
 - o->show();
 - bandwidthsettingsui->redraw();}
 -           xywh {225 67 55 15} down_box DOWN_BOX labelfont 1 labelsize 10
 -           code0 {o->value(pars->PBandWidthEnvelopeEnabled);}
 -         }
 -         Fl_Value_Slider bandwidth {
 -           label {Band Width}
 -           callback {pars->Pbandwidth=(int) o->value();}
 -           xywh {225 40 115 15} type {Horz Knob} box NO_BOX labelsize 10 align 1 maximum 127 step 1
 -           code0 {o->value(pars->Pbandwidth);}
 -         }
 -         Fl_Value_Slider bwidthscale {
 -           label {B.Width Scale}
 -           callback {pars->Pbwscale=(int) o->value()+64;}
 -           tooltip {How much I increase the BandWidth according to lower/higher harmonics} xywh {345 40 90 15} type {Horz Knob} box NO_BOX labelsize 10 align 1 minimum -64 maximum 63 step 1
 -           code0 {o->value(pars->Pbwscale-64);}
 -         }
 -       }
 -       Fl_Group globalfiltergroup {
 -         label FILTER
 -         xywh {440 140 290 185} box UP_FRAME labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 17
 -         code0 {if (pars->PGlobalFilterEnabled==0) o->deactivate();}
 -       } {
 -         Fl_Group filterenv {
 -           label {SUBsynth - Filter Envelope} open
 -           xywh {445 250 275 70} box FLAT_BOX color 51 align 144
 -           code0 {o->init(pars->GlobalFilterEnvelope);}
 -           class EnvelopeUI
 -         } {}
 -         Fl_Group filterui {
 -           label {SUBsynthl - Filter} open
 -           xywh {445 165 275 75} box FLAT_BOX color 50 align 144
 -           code0 {o->init(pars->GlobalFilter,&pars->PGlobalFilterVelocityScale,&pars->PGlobalFilterVelocityScaleFunction);}
 -           class FilterUI
 -         } {}
 -       }
 -       Fl_Check_Button filtere {
 -         label Enabled
 -         callback {pars->PGlobalFilterEnabled=o->value();
 - if (o->value()==0) globalfiltergroup->deactivate();
 -     else globalfiltergroup->activate();
 - o->show();
 - globalfiltergroup->redraw();}
 -         xywh {445 145 85 20} down_box DOWN_BOX labelfont 1 labelsize 11
 -         code0 {o->value(pars->PGlobalFilterEnabled);}
 -       }
 -       Fl_Button {} {
 -         label C
 -         callback {presetsui->copy(pars);}
 -         xywh {540 370 25 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 11 labelcolor 7
 -       }
 -       Fl_Button {} {
 -         label P
 -         callback {presetsui->paste(pars,this);}
 -         xywh {570 370 25 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 11 labelcolor 7
 -       }
 -     }
 -   }
 -   Function {refresh()} {} {
 -     code {for (int i=0;i<MAX_SUB_HARMONICS;i++) h[i]->refresh();
 - vol->value(pars->PVolume);
 - vsns->value(pars->PAmpVelocityScaleFunction);
 - pan->value(pars->PPanning);
 - 
 - 
 - bandwidth->value(pars->Pbandwidth);
 - bwidthscale->value(pars->Pbwscale-64);
 - bwee->value(pars->PBandWidthEnvelopeEnabled);
 - if (pars->PBandWidthEnvelopeEnabled==0) bandwidthenvelopegroup->deactivate();
 -     else bandwidthenvelopegroup->activate();
 - bwee->show();
 - bandwidthsettingsui->redraw();
 - 
 - detunevalueoutput->value(getdetune(pars->PDetuneType,0,pars->PDetune));
 - freqee->value(pars->PFreqEnvelopeEnabled);
 - if (pars->PFreqEnvelopeEnabled==0) freqenvelopegroup->deactivate();
 -     else freqenvelopegroup->activate();
 - freqee->show();
 - freqsettingsui->redraw();
 - 
 - detune->value(pars->PDetune-8192);
 - hz440->value(pars->Pfixedfreq);
 - 
 - fixedfreqetdial->value(pars->PfixedfreqET);
 - 
 - int k=pars->PCoarseDetune/1024;if (k>=8) k-=16;
 - octave->value(k);
 - 
 - detunetype->value(pars->PDetuneType-1);
 - 
 - k=pars->PCoarseDetune%1024;if (k>=512) k-=1024;
 - coarsedet->value(k);
 - 
 - filtere->value(pars->PGlobalFilterEnabled);
 - if (pars->PGlobalFilterEnabled==0) globalfiltergroup->deactivate();
 -     else globalfiltergroup->activate();
 - filtere->show();
 - globalfiltergroup->redraw();
 - 
 - stereo->value(pars->Pstereo);
 - filterstages->value(pars->Pnumstages);
 - magtype->value(pars->Phmagtype);
 - start->value(pars->Pstart);
 - 
 - ampenv->refresh();
 - bandwidthenvelopegroup->refresh();
 - freqenvelopegroup->refresh();
 - filterui->refresh();
 - filterenv->refresh();} {}
 -   }
 -   Function {SUBnoteUI(SUBnoteParameters *parameters)} {} {
 -     code {pars=parameters;
 - make_window();} {}
 -   }
 -   Function {~SUBnoteUI()} {} {
 -     code {//for (int i=0;i<MAX_SUB_HARMONICS;i++) delete (h[i]);
 - SUBparameters->hide();
 - delete(SUBparameters);} {}
 -   }
 -   decl {SUBnoteParameters *pars;} {}
 -   decl {SUBnoteharmonic *h[MAX_SUB_HARMONICS];} {}
 - } 
 
 
  |