| 
							- # 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 "WidgetPDial.h"} {public
 - } 
 - 
 - decl {\#include "EffUI.h"} {public
 - } 
 - 
 - decl {\#include "BankUI.h"} {public
 - } 
 - 
 - decl {\#include "ADnoteUI.h"} {public
 - } 
 - 
 - decl {\#include "SUBnoteUI.h"} {public
 - } 
 - 
 - decl {\#include "PADnoteUI.h"} {public
 - } 
 - 
 - decl {\#include "../Misc/Config.h"} {public
 - } 
 - 
 - decl {\#include "../Misc/Master.h"} {public
 - } 
 - 
 - decl {\#include "../Misc/Part.h"} {public
 - } 
 - 
 - class PartSysEffSend {open : {public Fl_Group}
 - } {
 -   Function {make_window()} {open private
 -   } {
 -     Fl_Window syseffsend {
 -       private xywh {589 129 100 100} type Double box NO_BOX
 -       class Fl_Group visible
 -     } {
 -       Fl_Dial {} {
 -         label 01
 -         callback {master->setPsysefxvol(npart,neff,(int) o->value());}
 -         xywh {0 0 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 align 130 maximum 127 step 1
 -         code0 {o->size(25,25);}
 -         code1 {o->value(master->Psysefxvol[neff][npart]);}
 -         code2 {char tmp[10];snprintf(tmp,10,"%d",neff+1);o->copy_label(tmp);}
 -         class WidgetPDial
 -       }
 -     }
 -   }
 -   Function {PartSysEffSend(int x,int y, int w, int h, const char *label=0):Fl_Group(x,y,w,h,label)} {} {
 -     code {master=NULL;
 - neff=0;
 - npart=0;} {}
 -   }
 -   Function {init(Master *master_,int npart_,int neff_)} {} {
 -     code {npart=npart_;
 - neff=neff_;
 - master=master_;
 - make_window();
 - syseffsend->show();
 - end();} {}
 -   }
 -   Function {~PartSysEffSend()} {} {
 -     code {syseffsend->hide();
 - //delete(syseffsend);} {}
 -   }
 -   decl {Master *master;} {}
 -   decl {int neff;} {}
 -   decl {int npart;} {}
 - } 
 - 
 - class PartKitItem {open : {public Fl_Group}
 - } {
 -   Function {make_window()} {open private
 -   } {
 -     Fl_Window partkititem {
 -       private xywh {473 406 670 100} type Double box NO_BOX
 -       class Fl_Group visible
 -     } {
 -       Fl_Group partkititemgroup {
 -         private xywh {55 0 605 20}
 -         code0 {if (part->kit[n].Penabled==0) o->deactivate();}
 -       } {
 -         Fl_Counter minkcounter {
 -           callback {part->kit[n].Pminkey=(int)o->value();}
 -           xywh {225 0 55 15} type Simple minimum 0 maximum 128 step 1
 -           code0 {o->value(part->kit[n].Pminkey);}
 -         }
 -         Fl_Button {} {
 -           label m
 -           callback {if (part->lastnote>=0) minkcounter->value(part->lastnote);
 - minkcounter->do_callback();
 - maxkcounter->do_callback();}
 -           tooltip {set the minimum key to the last pressed key} xywh {285 3 15 12} box THIN_UP_BOX labelsize 10
 -         }
 -         Fl_Button {} {
 -           label M
 -           callback {if (part->lastnote>=0) maxkcounter->value(part->lastnote);
 - maxkcounter->do_callback();
 - minkcounter->do_callback();}
 -           tooltip {set the maximum key to the last pressed key} xywh {315 3 15 12} box THIN_UP_BOX labelsize 10
 -         }
 -         Fl_Button {} {
 -           label R
 -           callback {minkcounter->value(0);
 - minkcounter->do_callback();
 - maxkcounter->value(127);
 - maxkcounter->do_callback();}
 -           tooltip {reset the minimum key to 0 and maximum key to 127} xywh {300 3 15 12} box THIN_UP_BOX labelfont 1 labelsize 10
 -         }
 -         Fl_Button adeditbutton {
 -           label edit
 -           callback {partui->showparameters(n,0);}
 -           xywh {420 0 40 15} box THIN_UP_BOX labelsize 11
 -           code0 {if (part->kit[n].Padenabled==0) o->deactivate();}
 -           code1 {if (n==0) o->hide();}
 -         }
 -         Fl_Button subeditbutton {
 -           label edit
 -           callback {partui->showparameters(n,1);}
 -           xywh {490 0 40 15} box THIN_UP_BOX labelsize 11
 -           code0 {if (part->kit[n].Psubenabled==0) o->deactivate();}
 -           code1 {if (n==0) o->hide();}
 -         }
 -         Fl_Check_Button mutedcheck {
 -           callback {part->kit[n].Pmuted=(int)o->value();}
 -           private xywh {60 0 20 15} down_box DOWN_BOX labelfont 1 labelsize 11 align 4
 -           code0 {o->value(part->kit[n].Pmuted);}
 -         }
 -         Fl_Counter maxkcounter {
 -           callback {part->kit[n].Pmaxkey=(int)o->value();}
 -           xywh {335 0 55 15} type Simple minimum 0 maximum 128 step 1
 -           code0 {o->value(part->kit[n].Pmaxkey);}
 -         }
 -         Fl_Button labelbutton {
 -           label {Bass Drum}
 -           callback {const char *tmp=fl_input("Kit item name:",(const char *)part->kit[n].Pname);
 - if (tmp!=NULL) snprintf((char *)part->kit[n].Pname,PART_MAX_NAME_LEN,"%s",tmp);}
 -           xywh {90 0 130 15} box THIN_DOWN_BOX down_box FLAT_BOX labelfont 1 labelsize 10 align 20
 -           code0 {o->label((char *)part->kit[n].Pname);}
 -         }
 -         Fl_Check_Button adcheck {
 -           callback {part->kit[n].Padenabled=(int)o->value();
 - if (part->kit[n].Padenabled!=0) adeditbutton->activate();
 -        else  adeditbutton->deactivate();}
 -           private xywh {400 0 20 15} down_box DOWN_BOX labelfont 1 labelsize 11 align 4
 -           code0 {o->value(part->kit[n].Padenabled);}
 -           code1 {if (n==0) o->hide();}
 -         }
 -         Fl_Check_Button subcheck {
 -           callback {part->kit[n].Psubenabled=(int)o->value();
 - if (part->kit[n].Psubenabled!=0) subeditbutton->activate();
 -        else  subeditbutton->deactivate();}
 -           private xywh {470 0 20 15} down_box DOWN_BOX labelfont 1 labelsize 11 align 4
 -           code0 {o->value(part->kit[n].Psubenabled);}
 -           code1 {if (n==0) o->hide();}
 -         }
 -         Fl_Choice sendtoeffect {
 -           callback {if (o->value()!=0) part->kit[n].Psendtoparteffect=(int)o->value()-1;
 -     else part->kit[n].Psendtoparteffect=127;} open
 -           xywh {615 0 45 15} down_box BORDER_BOX labelsize 10 align 5 textfont 1 textsize 10
 -           code0 {o->add("OFF");char nrstr[10]; for(int i=0;i<NUM_PART_EFX;i++){sprintf(nrstr,"FX%d",i+1);o->add(nrstr);};}
 -           code1 {o->value(part->kit[n].Psendtoparteffect+1);if (part->kit[n].Psendtoparteffect==127) o->value(0);}
 -         } {}
 -         Fl_Button padeditbutton {
 -           label edit
 -           callback {partui->showparameters(n,2);}
 -           xywh {560 0 40 15} box THIN_UP_BOX labelsize 11
 -           code0 {if (part->kit[n].Ppadenabled==0) o->deactivate();}
 -           code1 {if (n==0) o->hide();}
 -         }
 -         Fl_Check_Button padcheck {
 -           callback {part->kit[n].Ppadenabled=(int)o->value();
 - if (part->kit[n].Ppadenabled!=0) padeditbutton->activate();
 -        else padeditbutton->deactivate();}
 -           private xywh {540 0 20 15} down_box DOWN_BOX labelfont 1 labelsize 11 align 4
 -           code0 {o->value(part->kit[n].Ppadenabled);}
 -           code1 {if (n==0) o->hide();}
 -         }
 -       }
 -       Fl_Check_Button enabledcheck {
 -         label 01
 -         callback {int answer=1;
 - if (o->value()==0) answer=fl_choice("Delete the item?","No","Yes",NULL);
 - if (answer!=0){
 - pthread_mutex_lock(&master->mutex);
 -  part->setkititemstatus(n,(int) o->value());
 - pthread_mutex_unlock(&master->mutex);
 - 
 - if (o->value()==0) partkititemgroup->deactivate();
 - else partkititemgroup->activate();
 - o->redraw();
 - partui->showparameters(n,-1);//use to delete the ui, if it is not to item 0
 - } else o->value(1);}
 -         private xywh {30 0 20 15} down_box DOWN_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 4
 -         code0 {snprintf(label,10,"%d",n+1);o->label(label);}
 -         code1 {o->value(part->kit[n].Penabled);}
 -         code2 {if (n==0) o->deactivate();}
 -       }
 -     }
 -   }
 -   Function {PartKitItem(int x,int y, int w, int h, const char *label=0):Fl_Group(x,y,w,h,label)} {} {
 -     code {n=0;
 - part=NULL;} {}
 -   }
 -   Function {refresh()} {} {
 -     code {enabledcheck->value(part->kit[n].Penabled);
 - if (part->kit[n].Penabled==0) partkititemgroup->deactivate();
 - else partkititemgroup->activate();
 - 
 - mutedcheck->value(part->kit[n].Pmuted);
 - labelbutton->label((char *)part->kit[n].Pname);
 - minkcounter->value(part->kit[n].Pminkey);
 - maxkcounter->value(part->kit[n].Pmaxkey);
 - adcheck->value(part->kit[n].Padenabled);
 - adcheck->do_callback();
 - subcheck->value(part->kit[n].Psubenabled);
 - subcheck->do_callback();
 - 
 - sendtoeffect->value(part->kit[n].Psendtoparteffect+1);
 - if (part->kit[n].Psendtoparteffect==127) sendtoeffect->value(0);
 - 
 - this->redraw();} {
 -       callback {int answer=1;
 - if (o->value()==0) answer=fl_choice("Delete the item?","No","Yes",NULL);
 - if (answer!=0){
 - pthread_mutex_lock(&master->mutex);
 -  part->setkititemstatus(n,(int) o->value());
 - pthread_mutex_unlock(&master->mutex);
 - 
 - if (o->value()==0) partkititemgroup->deactivate();
 - else partkititemgroup->activate();
 - o->redraw();
 - partui->showparameters(n,-1);//use to delete the ui, if it is not to item 0
 - } else o->value(1);}
 -     }
 -   }
 -   Function {init(Part *part_,int n_,Master *master_,class PartUI *partui_)} {} {
 -     code {part=part_;
 - n=n_;
 - partui=partui_;
 - master=master_;
 - make_window();
 - //partkititem->show();
 - end();} {}
 -   }
 -   Function {~PartKitItem()} {} {
 -     code {partkititem->hide();
 - //delete(partkititem);} {}
 -   }
 -   decl {Part *part;} {}
 -   decl {int n;} {}
 -   decl {Master *master;} {}
 -   decl {char label[10];} {}
 -   decl {class PartUI *partui;} {}
 - } 
 - 
 - class PartUI {open : {public Fl_Group}
 - } {
 -   Function {make_window()} {open private
 -   } {
 -     Fl_Window partgroup {open
 -       private xywh {688 264 385 180} type Double box NO_BOX
 -       class Fl_Group visible
 -     } {
 -       Fl_Group partgroupui {open
 -         xywh {0 0 385 180}
 -         code0 {if (part->Penabled==0) o->deactivate();}
 -       } {
 -         Fl_Dial {} {
 -           label Pan
 -           callback {part->setPpanning((int) o->value());}
 -           xywh {50 40 25 25} box ROUND_UP_BOX labelsize 11 maximum 127 step 1
 -           code0 {o->value(part->Ppanning);}
 -           class WidgetPDial
 -         }
 -         Fl_Counter {} {
 -           label KeyShift
 -           callback {part->Pkeyshift=(int) o->value()+64;}
 -           xywh {195 45 90 20} labelsize 11 align 1 minimum -64 maximum 64 step 1
 -           code0 {o->lstep(12);}
 -           code1 {o->value(part->Pkeyshift-64);}
 -         }
 -         Fl_Scroll {} {open
 -           xywh {166 91 125 49} box UP_BOX labelfont 1 labelsize 10 align 21
 -         } {
 -           Fl_Pack {} {open
 -             xywh {171 96 115 35} type HORIZONTAL
 -             code0 {o->spacing(5);}
 -             code1 {for (int i=0;i<NUM_SYS_EFX;i++){psyef[i]=new PartSysEffSend(0,0,25,35,"");psyef[i]->init(master,npart,i);}}
 -           } {}
 -         }
 -         Fl_Button {} {
 -           label {Grand Piano}
 -           callback {int event=Fl::event_button();
 - if (event==FL_RIGHT_MOUSE){
 -    const char *tmp=fl_input("Instrument name:",(const char *)part->Pname);
 -    if (tmp!=NULL) snprintf((char *)part->Pname,PART_MAX_NAME_LEN,"%s",tmp);
 - } else {
 -   if (event==FL_LEFT_MOUSE) bankui->show();
 -        else instrumenteditwindow->show();
 - };}
 -           tooltip {left mousebutton - to choose/save/.. from/to bank or right mousebutton to change the name or middle button to change the instrument information} xywh {195 5 185 20} box UP_FRAME down_box DOWN_FRAME labelfont 1 labelsize 11 align 84
 -           code0 {o->label((char *)part->Pname);}
 -         }
 -         Fl_Box {} {
 -           label {To Sys.Efx.}
 -           xywh {166 81 95 10} labelfont 1 labelsize 10
 -         }
 -         Fl_Check_Button {} {
 -           label NoteOn
 -           callback {part->Pnoteon=(int) o->value();}
 -           tooltip {set if the part receives NoteOn messages} xywh {10 155 65 20} down_box DOWN_BOX labelfont 1 labelsize 11
 -           code0 {o->value(part->Pnoteon);}
 -         }
 -         Fl_Counter minkcounter {
 -           label {Min.k}
 -           callback {part->Pminkey=(int) o->value();
 - if (part->Pminkey>part->Pmaxkey) o->textcolor(FL_RED);
 -  else o->textcolor(FL_BLACK);}
 -           tooltip {Minimum key (that the part receives NoteOn messages)} xywh {295 125 40 15} type Simple labelfont 1 labelsize 10 minimum 0 maximum 127 step 1 textsize 10
 -           code0 {o->value(part->Pminkey);}
 -         }
 -         Fl_Counter maxkcounter {
 -           label {Max.k}
 -           callback {part->Pmaxkey=(int) o->value();
 - 
 - if (part->Pminkey>part->Pmaxkey) o->textcolor(FL_RED);
 -  else o->textcolor(FL_BLACK);}
 -           tooltip {Maximum key (that the part receives NoteOn messages)} xywh {340 125 40 15} type Simple labelfont 1 labelsize 10 minimum 0 maximum 127 step 1 textsize 10
 -           code0 {o->value(part->Pmaxkey);}
 -         }
 -         Fl_Dial {} {
 -           label Volume
 -           callback {part->setPvolume((int) o->value());}
 -           tooltip {Part Volume} xywh {10 35 30 30} box ROUND_UP_BOX labelsize 11 maximum 127 step 1
 -           code0 {o->value(part->Pvolume);}
 -           class WidgetPDial
 -         }
 -         Fl_Dial {} {
 -           label {Vel.Ofs.}
 -           callback {part->Pveloffs=(int) o->value();}
 -           tooltip {Velocity Offset} xywh {135 40 25 25} box ROUND_UP_BOX labelsize 10 maximum 127 step 1
 -           code0 {o->value(part->Pveloffs);}
 -           class WidgetPDial
 -         }
 -         Fl_Dial {} {
 -           label {Vel.Sns.}
 -           callback {part->Pvelsns=(int) o->value();}
 -           tooltip {Velocity Sensing Function} xywh {95 40 25 25} box ROUND_UP_BOX labelsize 10 maximum 127 step 1
 -           code0 {o->value(part->Pvelsns);}
 -           class WidgetPDial
 -         }
 -         Fl_Button {} {
 -           label Controllers
 -           callback {ctlwindow->show();}
 -           xywh {295 90 85 30} labelfont 1 labelsize 11
 -         }
 -         Fl_Check_Button {} {
 -           label Portamento
 -           callback {part->ctl.portamento.portamento=(int) o->value();}
 -           tooltip {Enable/Disable the portamento} xywh {95 155 88 20} down_box DOWN_BOX labelfont 1 labelsize 11
 -           code0 {o->value(part->ctl.portamento.portamento);}
 -         }
 -         Fl_Button {} {
 -           label {Edit instrument}
 -           callback {instrumenteditwindow->show();}
 -           xywh {15 90 130 30} color 52 labelfont 1 labelsize 13
 -         }
 -         Fl_Button {} {
 -           label m
 -           callback {if (part->lastnote>=0) minkcounter->value(part->lastnote);
 - minkcounter->do_callback();
 - maxkcounter->do_callback();}
 -           tooltip {set the minimum key to the last pressed key} xywh {315 155 15 12} box THIN_UP_BOX labelsize 10
 -         }
 -         Fl_Button {} {
 -           label M
 -           callback {if (part->lastnote>=0) maxkcounter->value(part->lastnote);
 - maxkcounter->do_callback();
 - minkcounter->do_callback();}
 -           tooltip {set the maximum key to the last pressed key} xywh {345 155 15 12} box THIN_UP_BOX labelsize 10
 -         }
 -         Fl_Button {} {
 -           label R
 -           callback {minkcounter->value(0);
 - minkcounter->do_callback();
 - maxkcounter->value(127);
 - maxkcounter->do_callback();}
 -           tooltip {reset the minimum key to 0 and maximum key to 127} xywh {330 155 15 12} box THIN_UP_BOX labelfont 1 labelsize 10
 -         }
 -         Fl_Choice {} {
 -           label {MIDI Chn.Rcv.}
 -           callback {part->Prcvchn=(int) o->value();} open
 -           tooltip {receive from Midi channel} xywh {310 45 70 20} down_box BORDER_BOX labelsize 10 align 5 textfont 1 textsize 10
 -           code0 {char nrstr[10]; for(int i=0;i<NUM_MIDI_CHANNELS;i++){sprintf(nrstr,"Chn%d",i+1);if (i!=9) o->add(nrstr); else o->add("Drms10");};}
 -           code1 {o->value(part->Prcvchn);}
 -         } {}
 -         Fl_Choice keylimitlist {
 -           label KLmt
 -           callback {int val=0;
 - val=atoi(o->text());
 - part->setkeylimit(val);} open
 -           tooltip {Key Limit} xywh {215 155 50 20} down_box BORDER_BOX labelsize 10 align 8 textfont 1 textsize 10
 -         } {}
 -         Fl_Choice {} {
 -           label {Mode :}
 -           callback {if ((int) o->value()==0){ /* Poly (implies no legato) */
 -   part->Ppolymode=1;
 -   part->Plegatomode=0;
 - } else {
 -   if ((int) o->value()==1){ /* Mono (implies no legato) */
 -     part->Ppolymode=0;
 -     part->Plegatomode=0;
 -   } else {
 -     if ((int) o->value()==2){ /* Legato (implies mono) */
 -       part->Ppolymode=0;
 -       part->Plegatomode=1;
 -     };
 -   };
 - };} open
 -           tooltip {Poly, Mono or Legato mode} xywh {80 130 64 18} down_box BORDER_BOX labelfont 1 labelsize 11 textfont 1 textsize 10
 -           code0 {o->add("Poly"); o->add("Mono"); o->add("Legato");}
 -           code1 {if (part->Ppolymode!=0) o->value(0); else o->value(1);}
 -           code2 {if (part->Ppolymode==0 && part->Plegatomode!=0) o->value(2);}
 -         } {}
 -       }
 -       Fl_Check_Button {} {
 -         label Enabled
 -         callback {pthread_mutex_lock(&master->mutex);
 - master->partonoff(npart,(int) o->value());
 - pthread_mutex_unlock(&master->mutex);
 - if (part->Penabled==0) partgroupui->deactivate();
 -     else partgroupui->activate();}
 -         xywh {90 5 75 20} down_box DOWN_BOX labelfont 1 labelsize 11
 -         code0 {o->value(part->Penabled);}
 -       }
 -     }
 -     Fl_Window ctlwindow {
 -       label Controllers open
 -       private xywh {777 261 500 130} type Double box NO_BOX visible
 -     } {
 -       Fl_Check_Button {} {
 -         label Expr
 -         callback {part->ctl.expression.receive=(int) o->value();}
 -         tooltip {Expression enable} xywh {155 55 45 20} box THIN_UP_BOX down_box DOWN_BOX labelsize 10
 -         code0 {o->value(part->ctl.expression.receive);}
 -       }
 -       Fl_Dial {} {
 -         label PanDpth
 -         callback {part->ctl.panning.depth=(int) o->value();}
 -         tooltip {Panning Depth} xywh {10 55 30 30} labelsize 10 maximum 127 step 1
 -         code0 {o->value(part->ctl.panning.depth);}
 -         class WidgetPDial
 -       }
 -       Fl_Dial {} {
 -         label FltCut
 -         callback {part->ctl.filtercutoff.depth=(int) o->value();}
 -         tooltip {Filter Cutoff depth} xywh {90 55 30 30} labelsize 10 maximum 127 step 1
 -         code0 {o->value(part->ctl.filtercutoff.depth);}
 -         class WidgetPDial
 -       }
 -       Fl_Dial {} {
 -         label FltQ
 -         callback {part->ctl.filterq.depth=(int) o->value();}
 -         tooltip {Filter Q depth} xywh {50 55 30 30} labelsize 10 maximum 127 step 1
 -         code0 {o->value(part->ctl.filterq.depth);}
 -         class WidgetPDial
 -       }
 -       Fl_Dial {} {
 -         label BwDpth
 -         callback {part->ctl.bandwidth.depth=(int) o->value();}
 -         tooltip {BandWidth depth} xywh {125 10 30 30} labelsize 10 maximum 127 step 1
 -         code0 {o->value(part->ctl.bandwidth.depth);}
 -         class WidgetPDial
 -       }
 -       Fl_Dial {} {
 -         label ModWh
 -         callback {part->ctl.modwheel.depth=(int) o->value();}
 -         tooltip {Modulation Wheel depth} xywh {50 10 30 30} labelsize 10 maximum 127 step 1
 -         code0 {o->value(part->ctl.modwheel.depth);}
 -         class WidgetPDial
 -       }
 -       Fl_Counter {} {
 -         label {PWheelB.Rng (cents)}
 -         callback {part->ctl.pitchwheel.bendrange=(int) o->value();}
 -         tooltip {Pitch Wheel Bend Range (cents)} xywh {165 15 110 20} labelsize 10 align 1 minimum -6400 maximum 6400 step 1
 -         code0 {o->value(part->ctl.pitchwheel.bendrange);}
 -         code1 {o->lstep(100);}
 -       }
 -       Fl_Check_Button {} {
 -         label FMamp
 -         callback {part->ctl.fmamp.receive=(int) o->value();}
 -         tooltip {FM amplitude enable} xywh {205 55 60 20} box THIN_UP_BOX down_box DOWN_BOX labelsize 10
 -         code0 {o->value(part->ctl.fmamp.receive);}
 -       }
 -       Fl_Check_Button {} {
 -         label Vol
 -         callback {part->ctl.volume.receive=(int) o->value();}
 -         tooltip {Volume enable} xywh {155 80 45 20} box THIN_UP_BOX down_box DOWN_BOX labelsize 10
 -         code0 {o->value(part->ctl.volume.receive);}
 -       }
 -       Fl_Check_Button {} {
 -         label Sustain
 -         callback {part->ctl.sustain.receive=(int) o->value();
 - if (part->ctl.sustain.receive==0) {
 -   part->RelaseSustainedKeys();
 -   part->ctl.setsustain(0);
 - };}
 -         tooltip {Sustain pedal enable} xywh {205 80 60 20} box THIN_UP_BOX down_box DOWN_BOX labelsize 10
 -         code0 {o->value(part->ctl.sustain.receive);}
 -       }
 -       Fl_Button {} {
 -         label Close
 -         callback {ctlwindow->hide();}
 -         xywh {400 107 95 20} box THIN_UP_BOX
 -       }
 -       Fl_Button {} {
 -         label {Reset all controllers}
 -         callback {part->SetController(C_resetallcontrollers,0);}
 -         xywh {5 107 210 20} box THIN_UP_BOX
 -       }
 -       Fl_Group {} {
 -         label Portamento
 -         xywh {280 15 160 90} box UP_FRAME labelsize 10
 -       } {
 -         Fl_Check_Button {} {
 -           label Rcv
 -           callback {part->ctl.portamento.receive=(int) o->value();}
 -           tooltip {Receive Portamento Controllers} xywh {285 20 40 20} box THIN_UP_BOX down_box DOWN_BOX labelsize 10
 -           code0 {o->value(part->ctl.portamento.receive);}
 -         }
 -         Fl_Dial {} {
 -           label time
 -           callback {part->ctl.portamento.time=(int) o->value();}
 -           tooltip {Portamento time} xywh {285 60 25 25} labelsize 10 maximum 127 step 1
 -           code0 {o->value(part->ctl.portamento.time);}
 -           class WidgetPDial
 -         }
 -         Fl_Counter {} {
 -           label thresh
 -           callback {part->ctl.portamento.pitchthresh=(int) o->value();}
 -           tooltip {Minimum or max. difference of the notes in order to do the portamento (x 100 cents)} xywh {340 20 50 20} type Simple labelsize 10 minimum 0 maximum 127 step 1
 -           code0 {o->value(part->ctl.portamento.pitchthresh);}
 -         }
 -         Fl_Check_Button {} {
 -           label {th.type}
 -           callback {part->ctl.portamento.pitchthreshtype=(int) o->value();}
 -           tooltip {Threshold type (min/max)} xywh {365 70 15 15} down_box DOWN_BOX labelsize 10 align 2
 -           code0 {o->value(part->ctl.portamento.pitchthreshtype);}
 -         }
 -         Fl_Box {} {
 -           label {x100 cnt.}
 -           xywh {340 50 55 15} labelsize 10 align 16
 -         }
 -         Fl_Dial {} {
 -           label {t.dn/up}
 -           callback {int x=(int) o->value();
 - 
 - part->ctl.portamento.updowntimestretch=x;}
 -           tooltip {Portamento time stretch (up/down)} xywh {315 60 25 25} labelsize 10 maximum 127 step 1
 -           code0 {o->value(part->ctl.portamento.updowntimestretch);}
 -           class WidgetPDial
 -         }
 -         Fl_Dial propta {
 -           label {Prp.Rate}
 -           callback {part->ctl.portamento.propRate=(int) o->value();}
 -           tooltip {Distance required to double change from nonpropotinal portamento time} xywh {405 20 25 25} labelsize 9 maximum 127 step 1
 -           code0 {o->value(part->ctl.portamento.propRate);}
 -           class WidgetPDial
 -         }
 -         Fl_Dial proptb {
 -           label {Prp.Dpth}
 -           callback {part->ctl.portamento.propDepth=(int) o->value();}
 -           tooltip {The difference from nonproportinal portamento} xywh {405 60 25 25} labelsize 9 maximum 127 step 1
 -           code0 {o->value(part->ctl.portamento.propDepth);}
 -           class WidgetPDial
 -         }
 -         Fl_Check_Button {} {
 -           label {Proprt.}
 -           callback {part->ctl.portamento.proportional=(int) o->value();
 - if(o->value()){propta->activate();proptb->activate();}
 - else {propta->deactivate();proptb->deactivate();}}
 -           tooltip {Enable Proportinal Portamento (over fixed Portamento)} xywh {285 40 50 15} box THIN_UP_BOX down_box DOWN_BOX labelsize 9
 -           code0 {o->value(part->ctl.portamento.proportional);}
 -           code1 {if(o->value()){propta->activate();proptb->activate();}}
 -           code2 {else {propta->deactivate();proptb->deactivate();}}
 -         }
 -       }
 -       Fl_Group {} {
 -         label Resonance
 -         xywh {445 15 50 90} box UP_FRAME labelsize 10
 -       } {
 -         Fl_Dial {} {
 -           label BWdpth
 -           callback {part->ctl.resonancebandwidth.depth=(int) o->value();}
 -           tooltip {BandWidth controller depth} xywh {455 60 25 25} labelsize 10 maximum 127 step 1
 -           code0 {o->value(part->ctl.resonancebandwidth.depth);}
 -           class WidgetPDial
 -         }
 -         Fl_Dial {} {
 -           label CFdpth
 -           callback {part->ctl.resonancecenter.depth=(int) o->value();}
 -           tooltip {Center Frequency controller Depth} xywh {455 20 25 25} labelsize 10 maximum 127 step 1
 -           code0 {o->value(part->ctl.resonancecenter.depth);}
 -           class WidgetPDial
 -         }
 -       }
 -       Fl_Check_Button {} {
 -         label {Exp MWh}
 -         callback {part->ctl.modwheel.exponential=(int) o->value();}
 -         tooltip {Exponential modulation wheel} xywh {10 15 40 25} down_box DOWN_BOX labelsize 10 align 148
 -         code0 {o->value(part->ctl.modwheel.exponential);}
 -       }
 -       Fl_Check_Button {} {
 -         label {Exp BW}
 -         callback {part->ctl.bandwidth.exponential=(int) o->value();}
 -         tooltip {Exponential BandWidth Controller} xywh {85 15 35 25} down_box DOWN_BOX labelsize 10 align 148
 -         code0 {o->value(part->ctl.bandwidth.exponential);}
 -       }
 -     }
 -     Fl_Window partfx {
 -       label {Part's Insert Effects} selected
 -       private xywh {554 660 390 145} type Double box NO_BOX visible
 -     } {
 -       Fl_Counter inseffnocounter {
 -         label {FX No.}
 -         callback {ninseff=(int) o->value()-1;
 - insefftype->value(part->partefx[ninseff]->geteffect());
 - //insefftype->do_callback();
 - inseffectui->refresh(part->partefx[ninseff]);
 - int x=part->Pefxroute[ninseff];
 - if (x==127) x=1;
 - bypasseff->value(part->Pefxbypass[ninseff]);
 - 
 - sendtochoice->value(x);}
 -         xywh {5 110 80 20} type Simple labelfont 1 align 6 minimum 1 maximum 127 step 1 textfont 1
 -         code0 {o->bounds(1,NUM_PART_EFX);}
 -         code1 {o->value(ninseff+1);}
 -       }
 -       Fl_Choice insefftype {
 -         label EffType
 -         callback {pthread_mutex_lock(part->mutex);
 - part->partefx[ninseff]->changeeffect((int) o->value());
 - pthread_mutex_unlock(part->mutex);
 - inseffectui->refresh(part->partefx[ninseff]);}
 -         xywh {155 110 70 15} down_box BORDER_BOX labelsize 10 align 6
 -         code0 {o->value(part->partefx[ninseff]->geteffect());}
 -       } {
 -         MenuItem {} {
 -           label {No Effect}
 -           xywh {35 35 100 20} labelfont 1 labelsize 10
 -         }
 -         MenuItem {} {
 -           label Reverb
 -           xywh {45 45 100 20} labelfont 1 labelsize 10
 -         }
 -         MenuItem {} {
 -           label Echo
 -           xywh {55 55 100 20} labelfont 1 labelsize 10
 -         }
 -         MenuItem {} {
 -           label Chorus
 -           xywh {65 65 100 20} labelfont 1 labelsize 10
 -         }
 -         MenuItem {} {
 -           label Phaser
 -           xywh {70 70 100 20} labelfont 1 labelsize 10
 -         }
 -         MenuItem {} {
 -           label AlienWah
 -           xywh {80 80 100 20} labelfont 1 labelsize 10
 -         }
 -         MenuItem {} {
 -           label Distortion
 -           xywh {90 90 100 20} labelfont 1 labelsize 10
 -         }
 -         MenuItem {} {
 -           label EQ
 -           xywh {100 100 100 20} labelfont 1 labelsize 10
 -         }
 -         MenuItem {} {
 -           label DynFilter
 -           xywh {110 110 100 20} labelfont 1 labelsize 10
 -         }
 -       }
 -       Fl_Group inseffectuigroup {
 -         xywh {5 5 380 100} box FLAT_BOX color 48
 -       } {
 -         Fl_Group inseffectui {
 -           xywh {5 5 380 95}
 -           code0 {o->init(part->partefx[ninseff]);}
 -           class EffUI
 -         } {}
 -       }
 -       Fl_Button {} {
 -         label Close
 -         callback {partfx->hide();}
 -         xywh {325 115 60 20} box THIN_UP_BOX
 -       }
 -       Fl_Choice sendtochoice {
 -         label {Send To.}
 -         callback {int x=(int) o->value();
 - part->Pefxroute[ninseff]=x;
 - if (x==2) part->partefx[ninseff]->setdryonly(true);
 - 	else part->partefx[ninseff]->setdryonly(false);}
 -         xywh {235 110 80 15} down_box BORDER_BOX labelsize 10 align 6
 -         code0 {int x=part->Pefxroute[ninseff]; if (x==127) x=1;}
 -         code1 {o->value(x);}
 -       } {
 -         MenuItem {} {
 -           label {Next Effect}
 -           xywh {45 45 100 20} labelfont 1 labelsize 10
 -         }
 -         MenuItem {} {
 -           label {Part Out}
 -           xywh {55 55 100 20} labelfont 1 labelsize 10
 -         }
 -         MenuItem {} {
 -           label {Dry Out}
 -           xywh {65 65 100 20} labelfont 1 labelsize 10
 -         }
 -       }
 -       Fl_Check_Button bypasseff {
 -         label bypass
 -         callback {part->Pefxbypass[ninseff]=(((int)o->value())!=0);}
 -         tooltip {if the effect is not used (is bypassed)} xywh {90 110 60 15} down_box DOWN_BOX labelsize 11
 -         code0 {int x=part->Pefxbypass[ninseff];o->value(x);}
 -       }
 -       Fl_Button {} {
 -         label C
 -         callback {presetsui->copy(part->partefx[ninseff]);}
 -         xywh {90 127 25 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 11 labelcolor 7
 -       }
 -       Fl_Button {} {
 -         label P
 -         callback {pthread_mutex_lock(&master->mutex);
 - presetsui->paste(part->partefx[ninseff],inseffectui);
 - pthread_mutex_unlock(&master->mutex);}
 -         xywh {120 127 25 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 11 labelcolor 7
 -       }
 -     }
 -     Fl_Window instrumentkitlist {
 -       label {Instrument Kit} open
 -       xywh {586 566 670 370} type Double box NO_BOX visible
 -     } {
 -       Fl_Button {} {
 -         label {Close Window}
 -         callback {instrumentkitlist->hide();}
 -         xywh {375 350 160 20} box THIN_UP_BOX
 -       }
 -       Fl_Scroll kitlist {open
 -         xywh {0 15 670 330} type VERTICAL box UP_FRAME
 -         code0 {if (part->Pkitmode==0) o->deactivate();}
 -       } {
 -         Fl_Pack {} {
 -           xywh {0 20 670 320}
 -           code0 {for (int i=0;i<NUM_KIT_ITEMS;i++){partkititem[i]=new PartKitItem(0,0,670,20,"");partkititem[i]->init(part,i,master,this);}}
 -         } {}
 -       }
 -       Fl_Box {} {
 -         label {No.}
 -         xywh {5 0 25 15} labelfont 1 labelsize 11 align 18
 -       }
 -       Fl_Box {} {
 -         label {M.}
 -         xywh {55 0 25 15} labelfont 1 labelsize 11 align 18
 -       }
 -       Fl_Box {} {
 -         label {Min.k}
 -         xywh {235 0 40 15} labelfont 1 labelsize 11 align 18
 -       }
 -       Fl_Box {} {
 -         label {Max.k}
 -         xywh {345 0 40 15} labelfont 1 labelsize 11 align 18
 -       }
 -       Fl_Box {} {
 -         label ADsynth
 -         xywh {405 0 50 15} labelfont 1 labelsize 11 align 18
 -       }
 -       Fl_Box {} {
 -         label SUBsynth
 -         xywh {470 0 60 15} labelfont 1 labelsize 11 align 18
 -       }
 -       Fl_Choice {} {
 -         label Mode
 -         callback {part->Pkitmode=(int) o->value();
 - if (part->Pkitmode==0) {
 -      kitlist->deactivate();
 -  } else {
 -  kitlist->activate();
 - };}
 -         xywh {35 350 70 15} down_box BORDER_BOX labelsize 11 textfont 1 textsize 11
 -         code0 {o->value(part->Pkitmode);}
 -       } {
 -         MenuItem {} {
 -           label OFF
 -           xywh {0 0 100 20} labelfont 1 labelsize 11
 -         }
 -         MenuItem {} {
 -           label MULTI
 -           xywh {10 10 100 20} labelfont 1 labelsize 11
 -         }
 -         MenuItem {} {
 -           label SINGLE
 -           xywh {20 20 100 20} labelfont 1 labelsize 11
 -         }
 -       }
 -       Fl_Check_Button {} {
 -         label {Drum mode}
 -         callback {part->Pdrummode=(int) o->value();}
 -         xywh {285 350 70 15} down_box DOWN_BOX labelsize 10
 -         code0 {o->value(part->Pdrummode);}
 -       }
 -       Fl_Box {} {
 -         label {FX.r.}
 -         xywh {620 0 30 15} labelfont 1 labelsize 11 align 18
 -       }
 -       Fl_Box {} {
 -         label PADsynth
 -         xywh {540 0 60 15} labelfont 1 labelsize 11 align 18
 -       }
 -     }
 -     Fl_Window instrumenteditwindow {
 -       label {Instrument Edit} open
 -       xywh {247 621 395 360} type Double box NO_BOX visible
 -     } {
 -       Fl_Group {} {
 -         xywh {0 220 395 110} box UP_FRAME
 -       } {
 -         Fl_Group {} {
 -           label PADsynth
 -           xywh {205 245 100 80} box ENGRAVED_FRAME labelfont 1
 -         } {
 -           Fl_Button padeditbutton {
 -             label Edit
 -             callback {showparameters(0,2);}
 -             xywh {215 280 80 35} color 51 selection_color 51 labelfont 1 labelsize 13 align 128
 -             code0 {if (part->kit[0].Ppadenabled==0) o->deactivate();}
 -           }
 -           Fl_Check_Button padsynenabledcheck {
 -             label Enabled
 -             callback {int x=(int) o->value();
 - part->kit[0].Ppadenabled=x;
 - if (x==0) padeditbutton->deactivate();
 -      else padeditbutton->activate();}
 -             tooltip {enable/disable PADsynth} xywh {215 255 80 20} box UP_BOX down_box DOWN_BOX color 51 selection_color 51 labelfont 1 labelsize 11
 -             code1 {o->value(part->kit[0].Ppadenabled);}
 -           }
 -         }
 -         Fl_Group {} {
 -           label ADDsynth
 -           xywh {5 245 100 80} box ENGRAVED_FRAME labelfont 1
 -         } {
 -           Fl_Check_Button adsynenabledcheck {
 -             label Enabled
 -             callback {int x=(int) o->value();
 - part->kit[0].Padenabled=x;
 - if (x==0) adeditbutton->deactivate();
 -      else adeditbutton->activate();}
 -             tooltip {enable/disable ADsynth} xywh {15 255 80 20} box UP_BOX down_box DOWN_BOX color 51 selection_color 51 labelfont 1 labelsize 11
 -             code1 {o->value(part->kit[0].Padenabled);}
 -           }
 -           Fl_Button adeditbutton {
 -             label Edit
 -             callback {showparameters(0,0);}
 -             xywh {15 281 80 34} color 51 selection_color 51 labelfont 1 labelsize 13 align 128
 -             code0 {if (part->kit[0].Padenabled==0) o->deactivate();}
 -           }
 -         }
 -         Fl_Group {} {
 -           label SUBsynth
 -           xywh {105 245 100 80} box ENGRAVED_FRAME labelfont 1
 -         } {
 -           Fl_Check_Button subsynenabledcheck {
 -             label Enabled
 -             callback {int x=(int) o->value();
 - part->kit[0].Psubenabled=x;
 - if (x==0) subeditbutton->deactivate();
 -      else subeditbutton->activate();}
 -             tooltip {enable/disable SUBsynth} xywh {115 255 80 20} box UP_BOX down_box DOWN_BOX color 51 selection_color 51 labelfont 1 labelsize 11
 -             code1 {o->value(part->kit[0].Psubenabled);}
 -           }
 -           Fl_Button subeditbutton {
 -             label Edit
 -             callback {showparameters(0,1);}
 -             xywh {115 280 80 35} color 51 selection_color 51 labelfont 1 labelsize 13 align 128
 -             code0 {if (part->kit[0].Psubenabled==0) o->deactivate();}
 -           }
 -         }
 -         Fl_Button {} {
 -           label {Kit Edit}
 -           callback {instrumentkitlist->show();}
 -           xywh {310 245 80 35} color 51 selection_color 51 labelfont 1 align 128
 -         }
 -         Fl_Button {} {
 -           label Effects
 -           callback {partfx->show();}
 -           xywh {310 290 80 35} color 51 selection_color 51 labelfont 1 labelsize 13
 -         }
 -       }
 -       Fl_Group {} {
 -         xywh {0 5 395 215} box UP_FRAME
 -       } {
 -         Fl_Input {} {
 -           label {Author and Copyright}
 -           callback {snprintf((char *)part->info.Pauthor,MAX_INFO_TEXT_SIZE,"%s",o->value());}
 -           xywh {5 60 385 50} type Multiline color 26 labelsize 10 align 5
 -           code0 {o->maximum_size(MAX_INFO_TEXT_SIZE);}
 -           code1 {o->value((char *) &part->info.Pauthor);}
 -         }
 -         Fl_Input {} {
 -           label Comments
 -           callback {snprintf((char *)part->info.Pcomments,MAX_INFO_TEXT_SIZE,"%s",o->value());}
 -           xywh {5 125 385 90} type Multiline color 26 labelsize 11 align 5
 -           code0 {o->maximum_size(MAX_INFO_TEXT_SIZE);}
 -           code1 {o->value((char *) &part->info.Pcomments);}
 -         }
 -         Fl_Choice {} {
 -           label {Type:}
 -           callback {part->info.Ptype=o->value();}
 -           xywh {5 25 155 20} down_box BORDER_BOX labelfont 1 labelsize 11 align 5 textsize 10
 -           code0 {o->value(part->info.Ptype);}
 -         } {
 -           MenuItem {} {
 -             label {--------------------------}
 -             xywh {20 20 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label Piano
 -             xywh {10 10 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label {Chromatic Percussion}
 -             xywh {20 20 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label Organ
 -             xywh {30 30 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label Guitar
 -             xywh {40 40 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label Bass
 -             xywh {50 50 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label {Solo Strings}
 -             xywh {60 60 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label Ensemble
 -             xywh {70 70 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label Brass
 -             xywh {80 80 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label Reed
 -             xywh {90 90 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label Pipe
 -             xywh {100 100 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label {Synth Lead}
 -             xywh {110 110 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label {Synth Pad}
 -             xywh {120 120 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label {Synth Effects}
 -             xywh {130 130 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label Ethnic
 -             xywh {140 140 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label Percussive
 -             xywh {150 150 100 20} labelfont 1 labelsize 11
 -           }
 -           MenuItem {} {
 -             label {Sound Effects}
 -             xywh {160 160 100 20} labelfont 1 labelsize 11
 -           }
 -         }
 -       }
 -       Fl_Button {} {
 -         label Close
 -         callback {instrumenteditwindow->hide();}
 -         xywh {150 335 95 25} box THIN_UP_BOX
 -       }
 -     }
 -   }
 -   Function {PartUI(int x,int y, int w, int h, const char *label=0):Fl_Group(x,y,w,h,label)} {} {
 -     code {part=NULL;
 - adnoteui=NULL;
 - subnoteui=NULL;
 - padnoteui=NULL;
 - lastkititem=-1;} {}
 -   }
 -   Function {init(Part *part_,Master *master_,int npart_,BankUI *bankui_)} {} {
 -     code {bankui=bankui_;
 - part=part_;
 - npart=npart_;
 - master=master_;
 - ninseff=0;
 - 
 - make_window();
 - partgroup->position(this->parent()->x()+2,this->parent()->y()+2);
 - partgroup->show();
 - end();
 - 
 - 
 - //if (config.ui.showinstrumentinfo!=0) instrumenteditwindow->show();
 - 
 - int klimits[]={1,2,3,4,5,6,7,8,9,10,15,20,30,50,100,0};
 - 
 - keylimitlist->add("OFF");
 - int k=0;
 - int val=-1;
 - char tmp[10];
 - while (klimits[k]!=0){
 - 	sprintf(tmp,"%d",klimits[k]);
 - 	keylimitlist->add(tmp);
 - 	if (val==-1){
 - 		if (klimits[k]>part->Pkeylimit) val=k;
 - 	};
 - 	k++;
 - };
 - 
 - if (val==-1) val=k;
 - keylimitlist->value(val);} {}
 -   }
 -   Function {showparameters(int kititem,int engine)} {} {
 -     code {if (engine==-1){//this is used if I want to clear the engine from the part
 -    if (kititem==lastkititem) kititem=-1;
 -          else kititem=lastkititem;
 - };
 - 
 - if (kititem!=lastkititem){
 -     if (adnoteui!=NULL) delete (adnoteui);
 -     if (subnoteui!=NULL) delete (subnoteui);   
 -     if (padnoteui!=NULL) delete (padnoteui);
 -     adnoteui=NULL;subnoteui=NULL;padnoteui=NULL;
 -     lastkititem=kititem;
 - 
 -     if (kititem>=NUM_KIT_ITEMS) return;//bad kit item
 -     if (kititem<0) return;
 - 
 -     if (part->kit[kititem].adpars!=NULL) 
 -       adnoteui=new ADnoteUI(part->kit[kititem].adpars,master);
 - 
 -     if (part->kit[kititem].subpars!=NULL) 
 -        subnoteui=new SUBnoteUI(part->kit[kititem].subpars);
 - 
 -     if (part->kit[kititem].padpars!=NULL) 
 -       padnoteui=new PADnoteUI(part->kit[kititem].padpars,master);
 - 
 - };
 - 
 - 
 - 
 - if ((engine==0)&&(adnoteui!=NULL)) adnoteui->ADnoteGlobalParameters->show();
 - if ((engine==1)&&(subnoteui!=NULL)) subnoteui->SUBparameters->show();
 - if ((engine==2)&&(adnoteui!=NULL)) padnoteui->padnotewindow->show();} {}
 -   }
 -   Function {~PartUI()} {} {
 -     code {if (adnoteui!=NULL) delete (adnoteui);
 - if (subnoteui!=NULL) delete (subnoteui);
 - if (padnoteui!=NULL) delete (padnoteui);
 - 
 - partgroup->hide();
 - //delete(partgroup);
 - 
 - ctlwindow->hide();
 - delete(ctlwindow);
 - 
 - partfx->hide();
 - delete(partfx);
 - 
 - instrumentkitlist->hide();
 - delete(instrumentkitlist);
 - 
 - instrumenteditwindow->hide();
 - delete(instrumenteditwindow);} {}
 -   }
 -   decl {Part *part;} {}
 -   decl {Master *master;} {}
 -   decl {BankUI *bankui;} {}
 -   decl {ADnoteUI *adnoteui;} {}
 -   decl {SUBnoteUI *subnoteui;} {}
 -   decl {PADnoteUI *padnoteui;} {}
 -   decl {PartSysEffSend *psyef[NUM_SYS_EFX];} {}
 -   decl {int npart;} {}
 -   decl {int ninseff;} {}
 -   decl {int lastkititem;} {}
 -   decl {PartKitItem *partkititem[NUM_KIT_ITEMS];} {}
 - } 
 
 
  |