External plugins for Carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

248 lines
6.6KB

  1. // generated by Fast Light User Interface Designer (fluid) version 1.0300
  2. #ifndef PADnoteUI_h
  3. #define PADnoteUI_h
  4. #include <FL/Fl.H>
  5. #include "../Params/PADnoteParameters.h"
  6. #include "ResonanceUI.h"
  7. #include <FL/Fl_Box.H>
  8. #include <FL/Fl_Group.H>
  9. #include <FL/Fl_File_Chooser.H>
  10. #include <string>
  11. #include "Fl_Osc_TSlider.H"
  12. #include "Fl_Osc_VSlider.H"
  13. #include "EnvelopeUI.h"
  14. #include "LFOUI.h"
  15. #include "FilterUI.h"
  16. #include "OscilGenUI.h"
  17. #include "Fl_PADnoteOvertonePosition.h"
  18. #include "Fl_PADnoteHarmonicProfile.h"
  19. #include "PresetsUI.h"
  20. #include <FL/Fl_Box.H>
  21. #include <FL/Fl_Tabs.H>
  22. #include <FL/Fl_Group.H>
  23. #include <FL/Fl_Button.H>
  24. class PADnoteUI : public PresetsUI_ {
  25. public:
  26. PADnoteUI(std::string location_, Fl_Osc_Interface *osc_);
  27. Fl_Osc_Window* make_window();
  28. Fl_Osc_Window *padnotewindow;
  29. Fl_Box *dummy;
  30. private:
  31. void cb__i(Fl_Tabs*, void*);
  32. static void cb_(Fl_Tabs*, void*);
  33. public:
  34. Fl_Osc_Group *harmonicstructuregroup;
  35. Fl_Osc_Group *bwprofilegroup;
  36. Fl_Osc_Dial *hpbasepar1;
  37. private:
  38. void cb_hpbasepar1_i(Fl_Osc_Dial*, void*);
  39. static void cb_hpbasepar1(Fl_Osc_Dial*, void*);
  40. public:
  41. Fl_Osc_Choice *hpbasetype;
  42. private:
  43. void cb_hpbasetype_i(Fl_Osc_Choice*, void*);
  44. static void cb_hpbasetype(Fl_Osc_Choice*, void*);
  45. static Fl_Menu_Item menu_hpbasetype[];
  46. public:
  47. Fl_Osc_Dial *hpfreqmult;
  48. private:
  49. void cb_hpfreqmult_i(Fl_Osc_Dial*, void*);
  50. static void cb_hpfreqmult(Fl_Osc_Dial*, void*);
  51. public:
  52. Fl_Osc_Dial *hpmpar1;
  53. private:
  54. void cb_hpmpar1_i(Fl_Osc_Dial*, void*);
  55. static void cb_hpmpar1(Fl_Osc_Dial*, void*);
  56. public:
  57. Fl_Osc_Dial *hpmfreq;
  58. private:
  59. void cb_hpmfreq_i(Fl_Osc_Dial*, void*);
  60. static void cb_hpmfreq(Fl_Osc_Dial*, void*);
  61. public:
  62. Fl_Osc_Choice *hpamptype;
  63. private:
  64. void cb_hpamptype_i(Fl_Osc_Choice*, void*);
  65. static void cb_hpamptype(Fl_Osc_Choice*, void*);
  66. static Fl_Menu_Item menu_hpamptype[];
  67. public:
  68. Fl_Osc_Choice *hpampmode;
  69. private:
  70. void cb_hpampmode_i(Fl_Osc_Choice*, void*);
  71. static void cb_hpampmode(Fl_Osc_Choice*, void*);
  72. static Fl_Menu_Item menu_hpampmode[];
  73. public:
  74. Fl_Osc_Dial *hpamppar1;
  75. private:
  76. void cb_hpamppar1_i(Fl_Osc_Dial*, void*);
  77. static void cb_hpamppar1(Fl_Osc_Dial*, void*);
  78. public:
  79. Fl_Osc_Dial *hpamppar2;
  80. private:
  81. void cb_hpamppar2_i(Fl_Osc_Dial*, void*);
  82. static void cb_hpamppar2(Fl_Osc_Dial*, void*);
  83. public:
  84. Fl_Osc_Check *hpautoscale;
  85. private:
  86. void cb_hpautoscale_i(Fl_Osc_Check*, void*);
  87. static void cb_hpautoscale(Fl_Osc_Check*, void*);
  88. public:
  89. Fl_Osc_Choice *hponehalf;
  90. private:
  91. void cb_hponehalf_i(Fl_Osc_Choice*, void*);
  92. static void cb_hponehalf(Fl_Osc_Choice*, void*);
  93. static Fl_Menu_Item menu_hponehalf[];
  94. public:
  95. Fl_Osc_Dial *hpwidth;
  96. private:
  97. void cb_hpwidth_i(Fl_Osc_Dial*, void*);
  98. static void cb_hpwidth(Fl_Osc_Dial*, void*);
  99. public:
  100. Fl_Osc_Group *oscilgroup;
  101. private:
  102. void cb_Change_i(Fl_Button*, void*);
  103. static void cb_Change(Fl_Button*, void*);
  104. public:
  105. Fl_Box *cbwidget;
  106. private:
  107. void cb_cbwidget_i(Fl_Box*, void*);
  108. static void cb_cbwidget(Fl_Box*, void*);
  109. void cb_Resonance_i(Fl_Button*, void*);
  110. static void cb_Resonance(Fl_Button*, void*);
  111. public:
  112. Fl_Osc_Dial *bwdial;
  113. private:
  114. void cb_bwdial_i(Fl_Osc_Dial*, void*);
  115. static void cb_bwdial(Fl_Osc_Dial*, void*);
  116. public:
  117. Fl_Osc_Output *bwcents;
  118. Fl_Osc_Choice *hrpostype;
  119. private:
  120. void cb_hrpostype_i(Fl_Osc_Choice*, void*);
  121. static void cb_hrpostype(Fl_Osc_Choice*, void*);
  122. static Fl_Menu_Item menu_hrpostype[];
  123. public:
  124. Fl_Osc_Dial *hrpospar1;
  125. private:
  126. void cb_hrpospar1_i(Fl_Osc_Dial*, void*);
  127. static void cb_hrpospar1(Fl_Osc_Dial*, void*);
  128. public:
  129. Fl_Osc_Dial *hrpospar2;
  130. private:
  131. void cb_hrpospar2_i(Fl_Osc_Dial*, void*);
  132. static void cb_hrpospar2(Fl_Osc_Dial*, void*);
  133. public:
  134. Fl_Osc_Dial *hrpospar3;
  135. private:
  136. void cb_hrpospar3_i(Fl_Osc_Dial*, void*);
  137. static void cb_hrpospar3(Fl_Osc_Dial*, void*);
  138. public:
  139. Fl_Osc_Choice *bwscale;
  140. private:
  141. void cb_bwscale_i(Fl_Osc_Choice*, void*);
  142. static void cb_bwscale(Fl_Osc_Choice*, void*);
  143. static Fl_Menu_Item menu_bwscale[];
  144. public:
  145. Fl_Group *overtonepos;
  146. Fl_Osc_Choice *qsamplesize;
  147. private:
  148. void cb_qsamplesize_i(Fl_Osc_Choice*, void*);
  149. static void cb_qsamplesize(Fl_Osc_Choice*, void*);
  150. static Fl_Menu_Item menu_qsamplesize[];
  151. public:
  152. Fl_Osc_Choice *qsmpoct;
  153. private:
  154. void cb_qsmpoct_i(Fl_Osc_Choice*, void*);
  155. static void cb_qsmpoct(Fl_Osc_Choice*, void*);
  156. static Fl_Menu_Item menu_qsmpoct[];
  157. public:
  158. Fl_Osc_Choice *qoct;
  159. private:
  160. void cb_qoct_i(Fl_Osc_Choice*, void*);
  161. static void cb_qoct(Fl_Osc_Choice*, void*);
  162. static Fl_Menu_Item menu_qoct[];
  163. public:
  164. Fl_Osc_Choice *qbasenote;
  165. private:
  166. void cb_qbasenote_i(Fl_Osc_Choice*, void*);
  167. static void cb_qbasenote(Fl_Osc_Choice*, void*);
  168. static Fl_Menu_Item menu_qbasenote[];
  169. public:
  170. Fl_Group *hprofile;
  171. Fl_Osc_Choice *spectrummode;
  172. private:
  173. void cb_spectrummode_i(Fl_Osc_Choice*, void*);
  174. static void cb_spectrummode(Fl_Osc_Choice*, void*);
  175. static Fl_Menu_Item menu_spectrummode[];
  176. public:
  177. EnvelopeUI *freqenv;
  178. Fl_Osc_Counter *octave;
  179. Fl_Osc_Counter *coarsedet;
  180. LFOUI *freqlfo;
  181. Fl_Osc_Slider *detune;
  182. private:
  183. void cb_detune_i(Fl_Osc_Slider*, void*);
  184. static void cb_detune(Fl_Osc_Slider*, void*);
  185. public:
  186. Fl_Osc_Output *detunevalueoutput;
  187. Fl_Osc_Choice *detunetype;
  188. private:
  189. void cb_detunetype_i(Fl_Osc_Choice*, void*);
  190. static void cb_detunetype(Fl_Osc_Choice*, void*);
  191. public:
  192. Fl_Osc_Dial *bendadjustdial;
  193. Fl_Osc_Dial *offsethzdial;
  194. Fl_Osc_Check *hz440;
  195. private:
  196. void cb_hz440_i(Fl_Osc_Check*, void*);
  197. static void cb_hz440(Fl_Osc_Check*, void*);
  198. public:
  199. Fl_Osc_Dial *fixedfreqetdial;
  200. Fl_Osc_VSlider *volume;
  201. Fl_Osc_VSlider *vsns;
  202. Fl_Osc_Dial *pan;
  203. Fl_Osc_Dial *pstr;
  204. Fl_Osc_Dial *pt;
  205. Fl_Osc_Dial *pstc;
  206. Fl_Osc_Dial *pvel;
  207. EnvelopeUI *ampenv;
  208. LFOUI *amplfo;
  209. Fl_Osc_Check *stereo;
  210. private:
  211. void cb_stereo_i(Fl_Osc_Check*, void*);
  212. static void cb_stereo(Fl_Osc_Check*, void*);
  213. public:
  214. EnvelopeUI *filterenv;
  215. LFOUI *filterlfo;
  216. FilterUI *filterui;
  217. Fl_Button *applybutton;
  218. private:
  219. void cb_applybutton_i(Fl_Button*, void*);
  220. static void cb_applybutton(Fl_Button*, void*);
  221. void cb_Close_i(Fl_Button*, void*);
  222. static void cb_Close(Fl_Button*, void*);
  223. void cb_C_i(Fl_Button*, void*);
  224. static void cb_C(Fl_Button*, void*);
  225. void cb_P_i(Fl_Button*, void*);
  226. static void cb_P(Fl_Button*, void*);
  227. void cb_export_i(Fl_Osc_Button*, void*);
  228. static void cb_export(Fl_Osc_Button*, void*);
  229. public:
  230. void refresh();
  231. ~PADnoteUI();
  232. OscilEditor *oscui;
  233. private:
  234. bool initialized;
  235. public:
  236. Fl_Oscilloscope *osc;
  237. ResonanceUI *resui;
  238. private:
  239. std::string location;
  240. Fl_Osc_Interface *osc_i;
  241. PADnoteHarmonicProfile *hpui;
  242. PADnoteOvertonePosition *opui;
  243. class Osc_IntModel *apply_watcher;
  244. };
  245. #endif