// generated by Fast Light User Interface Designer (fluid) version 1.0300

#ifndef PartUI_h
#define PartUI_h
#include <FL/Fl.H>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "WidgetPDial.h"
#include "EffUI.h"
#include "BankUI.h"
#include "ADnoteUI.h"
#include "SUBnoteUI.h"
#include "PADnoteUI.h"
#include "../Misc/Config.h"
#include "../Misc/Master.h"
#include "../Misc/Part.h"

class PartSysEffSend : public Fl_Group {
  Fl_Group* make_window();
  Fl_Group *syseffsend;
  void cb_01_i(WidgetPDial*, void*);
  static void cb_01(WidgetPDial*, void*);
public:
  PartSysEffSend(int x,int y, int w, int h, const char *label=0);
  void init(Master *master_,int npart_,int neff_);
  ~PartSysEffSend();
private:
  Master *master; 
  int neff; 
  int npart; 
};

class PartUI_ {
public:
  virtual void showparameters(int kititem,int engine);
};
#include <FL/Fl_Group.H>
#include <FL/Fl_Counter.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Check_Button.H>
#include <FL/Fl_Choice.H>

class PartKitItem : public Fl_Group {
  Fl_Group* make_window();
  Fl_Group *partkititem;
  Fl_Group *partkititemgroup;
public:
  Fl_Counter *minkcounter;
private:
  void cb_minkcounter_i(Fl_Counter*, void*);
  static void cb_minkcounter(Fl_Counter*, void*);
  void cb_m_i(Fl_Button*, void*);
  static void cb_m(Fl_Button*, void*);
  void cb_M_i(Fl_Button*, void*);
  static void cb_M(Fl_Button*, void*);
  void cb_R_i(Fl_Button*, void*);
  static void cb_R(Fl_Button*, void*);
public:
  Fl_Button *adeditbutton;
private:
  void cb_adeditbutton_i(Fl_Button*, void*);
  static void cb_adeditbutton(Fl_Button*, void*);
public:
  Fl_Button *subeditbutton;
private:
  void cb_subeditbutton_i(Fl_Button*, void*);
  static void cb_subeditbutton(Fl_Button*, void*);
  Fl_Check_Button *mutedcheck;
  void cb_mutedcheck_i(Fl_Check_Button*, void*);
  static void cb_mutedcheck(Fl_Check_Button*, void*);
public:
  Fl_Counter *maxkcounter;
private:
  void cb_maxkcounter_i(Fl_Counter*, void*);
  static void cb_maxkcounter(Fl_Counter*, void*);
public:
  Fl_Button *labelbutton;
private:
  void cb_labelbutton_i(Fl_Button*, void*);
  static void cb_labelbutton(Fl_Button*, void*);
  Fl_Check_Button *adcheck;
  void cb_adcheck_i(Fl_Check_Button*, void*);
  static void cb_adcheck(Fl_Check_Button*, void*);
  Fl_Check_Button *subcheck;
  void cb_subcheck_i(Fl_Check_Button*, void*);
  static void cb_subcheck(Fl_Check_Button*, void*);
public:
  Fl_Choice *sendtoeffect;
private:
  void cb_sendtoeffect_i(Fl_Choice*, void*);
  static void cb_sendtoeffect(Fl_Choice*, void*);
public:
  Fl_Button *padeditbutton;
private:
  void cb_padeditbutton_i(Fl_Button*, void*);
  static void cb_padeditbutton(Fl_Button*, void*);
  Fl_Check_Button *padcheck;
  void cb_padcheck_i(Fl_Check_Button*, void*);
  static void cb_padcheck(Fl_Check_Button*, void*);
  Fl_Check_Button *enabledcheck;
  void cb_enabledcheck_i(Fl_Check_Button*, void*);
  static void cb_enabledcheck(Fl_Check_Button*, void*);
public:
  PartKitItem(int x,int y, int w, int h, const char *label=0);
  void refresh();
  void init(Part *part_,int n_,Master *master_,PartUI_ *partui_);
  ~PartKitItem();
private:
  Part *part; 
  int n; 
  Master *master; 
  char label[10]; 
  PartUI_ *partui; 
};
#include <FL/Fl_Scroll.H>
#include <FL/Fl_Pack.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Double_Window.H>
#include <FL/Fl_Input.H>

class PartUI : public Fl_Group,PartUI_ {
  Fl_Group* make_window();
  Fl_Group *partgroup;
public:
  Fl_Group *partgroupui;
private:
  void cb_Pan_i(WidgetPDial*, void*);
  static void cb_Pan(WidgetPDial*, void*);
  void cb_KeyShift_i(Fl_Counter*, void*);
  static void cb_KeyShift(Fl_Counter*, void*);
  void cb_Grand_i(Fl_Button*, void*);
  static void cb_Grand(Fl_Button*, void*);
  void cb_NoteOn_i(Fl_Check_Button*, void*);
  static void cb_NoteOn(Fl_Check_Button*, void*);
public:
  Fl_Counter *minkcounter;
private:
  void cb_minkcounter1_i(Fl_Counter*, void*);
  static void cb_minkcounter1(Fl_Counter*, void*);
public:
  Fl_Counter *maxkcounter;
private:
  void cb_maxkcounter1_i(Fl_Counter*, void*);
  static void cb_maxkcounter1(Fl_Counter*, void*);
  void cb_Volume_i(WidgetPDial*, void*);
  static void cb_Volume(WidgetPDial*, void*);
  void cb_Vel_i(WidgetPDial*, void*);
  static void cb_Vel(WidgetPDial*, void*);
  void cb_Vel1_i(WidgetPDial*, void*);
  static void cb_Vel1(WidgetPDial*, void*);
  void cb_Controllers_i(Fl_Button*, void*);
  static void cb_Controllers(Fl_Button*, void*);
  void cb_Portamento_i(Fl_Check_Button*, void*);
  static void cb_Portamento(Fl_Check_Button*, void*);
  void cb_Edit_i(Fl_Button*, void*);
  static void cb_Edit(Fl_Button*, void*);
  void cb_m1_i(Fl_Button*, void*);
  static void cb_m1(Fl_Button*, void*);
  void cb_M1_i(Fl_Button*, void*);
  static void cb_M1(Fl_Button*, void*);
  void cb_R1_i(Fl_Button*, void*);
  static void cb_R1(Fl_Button*, void*);
  void cb_MIDI_i(Fl_Choice*, void*);
  static void cb_MIDI(Fl_Choice*, void*);
public:
  Fl_Choice *keylimitlist;
private:
  void cb_keylimitlist_i(Fl_Choice*, void*);
  static void cb_keylimitlist(Fl_Choice*, void*);
  void cb_Mode_i(Fl_Choice*, void*);
  static void cb_Mode(Fl_Choice*, void*);
  void cb_Enabled_i(Fl_Check_Button*, void*);
  static void cb_Enabled(Fl_Check_Button*, void*);
  Fl_Double_Window *ctlwindow;
  void cb_Expr_i(Fl_Check_Button*, void*);
  static void cb_Expr(Fl_Check_Button*, void*);
  void cb_PanDpth_i(WidgetPDial*, void*);
  static void cb_PanDpth(WidgetPDial*, void*);
  void cb_FltCut_i(WidgetPDial*, void*);
  static void cb_FltCut(WidgetPDial*, void*);
  void cb_FltQ_i(WidgetPDial*, void*);
  static void cb_FltQ(WidgetPDial*, void*);
  void cb_BwDpth_i(WidgetPDial*, void*);
  static void cb_BwDpth(WidgetPDial*, void*);
  void cb_ModWh_i(WidgetPDial*, void*);
  static void cb_ModWh(WidgetPDial*, void*);
  void cb_PWheelB_i(Fl_Counter*, void*);
  static void cb_PWheelB(Fl_Counter*, void*);
  void cb_FMamp_i(Fl_Check_Button*, void*);
  static void cb_FMamp(Fl_Check_Button*, void*);
  void cb_Vol_i(Fl_Check_Button*, void*);
  static void cb_Vol(Fl_Check_Button*, void*);
  void cb_Sustain_i(Fl_Check_Button*, void*);
  static void cb_Sustain(Fl_Check_Button*, void*);
  void cb_Close_i(Fl_Button*, void*);
  static void cb_Close(Fl_Button*, void*);
  void cb_Reset_i(Fl_Button*, void*);
  static void cb_Reset(Fl_Button*, void*);
  void cb_Rcv_i(Fl_Check_Button*, void*);
  static void cb_Rcv(Fl_Check_Button*, void*);
  void cb_time_i(WidgetPDial*, void*);
  static void cb_time(WidgetPDial*, void*);
  void cb_thresh_i(Fl_Counter*, void*);
  static void cb_thresh(Fl_Counter*, void*);
  void cb_th_i(Fl_Check_Button*, void*);
  static void cb_th(Fl_Check_Button*, void*);
  void cb_t_i(WidgetPDial*, void*);
  static void cb_t(WidgetPDial*, void*);
public:
  WidgetPDial *propta;
private:
  void cb_propta_i(WidgetPDial*, void*);
  static void cb_propta(WidgetPDial*, void*);
public:
  WidgetPDial *proptb;
private:
  void cb_proptb_i(WidgetPDial*, void*);
  static void cb_proptb(WidgetPDial*, void*);
  void cb_Proprt_i(Fl_Check_Button*, void*);
  static void cb_Proprt(Fl_Check_Button*, void*);
  void cb_BWdpth_i(WidgetPDial*, void*);
  static void cb_BWdpth(WidgetPDial*, void*);
  void cb_CFdpth_i(WidgetPDial*, void*);
  static void cb_CFdpth(WidgetPDial*, void*);
  void cb_Exp_i(Fl_Check_Button*, void*);
  static void cb_Exp(Fl_Check_Button*, void*);
  void cb_Exp1_i(Fl_Check_Button*, void*);
  static void cb_Exp1(Fl_Check_Button*, void*);
  Fl_Double_Window *partfx;
public:
  Fl_Counter *inseffnocounter;
private:
  void cb_inseffnocounter_i(Fl_Counter*, void*);
  static void cb_inseffnocounter(Fl_Counter*, void*);
public:
  Fl_Choice *insefftype;
private:
  void cb_insefftype_i(Fl_Choice*, void*);
  static void cb_insefftype(Fl_Choice*, void*);
  static Fl_Menu_Item menu_insefftype[];
public:
  Fl_Group *inseffectuigroup;
  EffUI *inseffectui;
private:
  void cb_Close1_i(Fl_Button*, void*);
  static void cb_Close1(Fl_Button*, void*);
public:
  Fl_Choice *sendtochoice;
private:
  void cb_sendtochoice_i(Fl_Choice*, void*);
  static void cb_sendtochoice(Fl_Choice*, void*);
  static Fl_Menu_Item menu_sendtochoice[];
public:
  Fl_Check_Button *bypasseff;
private:
  void cb_bypasseff_i(Fl_Check_Button*, void*);
  static void cb_bypasseff(Fl_Check_Button*, void*);
  void cb_C_i(Fl_Button*, void*);
  static void cb_C(Fl_Button*, void*);
  void cb_P_i(Fl_Button*, void*);
  static void cb_P(Fl_Button*, void*);
public:
  Fl_Double_Window *instrumentkitlist;
private:
  void cb_Close2_i(Fl_Button*, void*);
  static void cb_Close2(Fl_Button*, void*);
public:
  Fl_Scroll *kitlist;
private:
  void cb_Mode1_i(Fl_Choice*, void*);
  static void cb_Mode1(Fl_Choice*, void*);
  static Fl_Menu_Item menu_Mode[];
  void cb_Drum_i(Fl_Check_Button*, void*);
  static void cb_Drum(Fl_Check_Button*, void*);
public:
  Fl_Double_Window *instrumenteditwindow;
  Fl_Button *padeditbutton;
private:
  void cb_padeditbutton1_i(Fl_Button*, void*);
  static void cb_padeditbutton1(Fl_Button*, void*);
public:
  Fl_Check_Button *padsynenabledcheck;
private:
  void cb_padsynenabledcheck_i(Fl_Check_Button*, void*);
  static void cb_padsynenabledcheck(Fl_Check_Button*, void*);
public:
  Fl_Check_Button *adsynenabledcheck;
private:
  void cb_adsynenabledcheck_i(Fl_Check_Button*, void*);
  static void cb_adsynenabledcheck(Fl_Check_Button*, void*);
public:
  Fl_Button *adeditbutton;
private:
  void cb_adeditbutton1_i(Fl_Button*, void*);
  static void cb_adeditbutton1(Fl_Button*, void*);
public:
  Fl_Check_Button *subsynenabledcheck;
private:
  void cb_subsynenabledcheck_i(Fl_Check_Button*, void*);
  static void cb_subsynenabledcheck(Fl_Check_Button*, void*);
public:
  Fl_Button *subeditbutton;
private:
  void cb_subeditbutton1_i(Fl_Button*, void*);
  static void cb_subeditbutton1(Fl_Button*, void*);
  void cb_Kit_i(Fl_Button*, void*);
  static void cb_Kit(Fl_Button*, void*);
  void cb_Effects_i(Fl_Button*, void*);
  static void cb_Effects(Fl_Button*, void*);
  void cb_Author_i(Fl_Input*, void*);
  static void cb_Author(Fl_Input*, void*);
  void cb_Comments_i(Fl_Input*, void*);
  static void cb_Comments(Fl_Input*, void*);
  void cb_Type_i(Fl_Choice*, void*);
  static void cb_Type(Fl_Choice*, void*);
  static Fl_Menu_Item menu_Type[];
  void cb_Close3_i(Fl_Button*, void*);
  static void cb_Close3(Fl_Button*, void*);
public:
  PartUI(int x,int y, int w, int h, const char *label=0);
  void init(Part *part_,Master *master_,int npart_,BankUI *bankui_);
  void showparameters(int kititem,int engine);
  ~PartUI();
private:
  Part *part; 
  Master *master; 
  BankUI *bankui; 
  ADnoteUI *adnoteui; 
  SUBnoteUI *subnoteui; 
  PADnoteUI *padnoteui; 
  PartSysEffSend *psyef[NUM_SYS_EFX]; 
  int npart; 
  int ninseff; 
  int lastkititem; 
  PartKitItem *partkititem[NUM_KIT_ITEMS]; 
};
#endif
