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.

261 lines
7.0KB

  1. // generated by Fast Light User Interface Designer (fluid) version 1.0300
  2. #ifndef OscilGenUI_h
  3. #define OscilGenUI_h
  4. #include <FL/Fl.H>
  5. #include "../Synth/OscilGen.h"
  6. #include "../Misc/Util.h"
  7. #include "ResonanceUI.h"
  8. #include "Fl_Oscilloscope.h"
  9. #include "Fl_OscilSpectrum.h"
  10. #include "Fl_Osc_Interface.h"
  11. #include <FL/Fl_Box.H>
  12. #include <FL/Fl_Group.H>
  13. #include <FL/Fl_Slider.H>
  14. #include "Fl_Osc_Pane.H"
  15. #include "Fl_Osc_Dial.H"
  16. #include "Fl_Osc_Choice.H"
  17. #include "Fl_Osc_Counter.H"
  18. #include "Fl_Osc_TSlider.H"
  19. #include "Fl_Osc_VSlider.H"
  20. #include "PresetsUI.h"
  21. #include <FL/fl_draw.H>
  22. using namespace zyncarla;
  23. class OGSlider : public Fl_Osc_TSlider {
  24. public:
  25. OGSlider(int x,int y, int w, int h, const char *label=0)
  26. ;
  27. void OSC_value(char c);
  28. void cb(void);
  29. void update(void);
  30. bool phase;
  31. };
  32. class OGWaveChoice : public Fl_Osc_Choice {
  33. public:
  34. OGWaveChoice(int x,int y, int w, int h, const char *label=0)
  35. ;
  36. void OSC_value(int i);
  37. void cb(void);
  38. class OscilEditor *ogui;
  39. };
  40. #include <FL/Fl_Box.H>
  41. class Oscilharmonic : public Fl_Group {
  42. Fl_Osc_Group* make_window();
  43. Fl_Osc_Group *harmonic;
  44. public:
  45. OGSlider *mag;
  46. private:
  47. void cb_mag_i(OGSlider*, void*);
  48. static void cb_mag(OGSlider*, void*);
  49. public:
  50. OGSlider *phase;
  51. private:
  52. void cb_phase_i(OGSlider*, void*);
  53. static void cb_phase(OGSlider*, void*);
  54. public:
  55. Oscilharmonic(int x,int y, int w, int h, const char *label=0);
  56. void init(int n_,Fl_Group *display_, std::string loc_, Fl_Osc_Interface *osc_);
  57. void refresh();
  58. ~Oscilharmonic();
  59. private:
  60. Fl_Group *display;
  61. int n;
  62. Fl_Osc_Interface *osc;
  63. std::string loc;
  64. };
  65. #include <FL/Fl_Double_Window.H>
  66. #include <FL/Fl_Button.H>
  67. #include <FL/Fl_Group.H>
  68. #include <FL/Fl_Value_Output.H>
  69. #include <FL/Fl_Check_Button.H>
  70. #include <FL/Fl_Scroll.H>
  71. #include <FL/Fl_Pack.H>
  72. class OscilEditor : public PresetsUI_ {
  73. public:
  74. Fl_Double_Window* make_window();
  75. Fl_Double_Window *osceditUI;
  76. Fl_Osc_Group *dummy;
  77. Fl_Button *applybutton;
  78. private:
  79. void cb_applybutton_i(Fl_Button*, void*);
  80. static void cb_applybutton(Fl_Button*, void*);
  81. public:
  82. Fl_Group *oscildisplaygroup;
  83. Fl_Osc_VSlider *rndslider;
  84. Fl_Osc_Choice *hrndtype;
  85. static Fl_Menu_Item menu_hrndtype[];
  86. Fl_Osc_Dial *hrnddial;
  87. Fl_Osc_Choice *magtype;
  88. private:
  89. void cb_magtype_i(Fl_Osc_Choice*, void*);
  90. static void cb_magtype(Fl_Osc_Choice*, void*);
  91. static Fl_Menu_Item menu_magtype[];
  92. public:
  93. Fl_Osc_Group *basefuncdisplaygroup;
  94. Fl_Osc_Dial *bfpar;
  95. private:
  96. void cb_bfpar_i(Fl_Osc_Dial*, void*);
  97. static void cb_bfpar(Fl_Osc_Dial*, void*);
  98. public:
  99. OGWaveChoice *bftype;
  100. private:
  101. void cb_bftype_i(OGWaveChoice*, void*);
  102. static void cb_bftype(OGWaveChoice*, void*);
  103. static Fl_Menu_Item menu_bftype[];
  104. public:
  105. Fl_Value_Output *bfparval;
  106. Fl_Group *basefuncmodulation;
  107. Fl_Osc_Choice *bfmodtype;
  108. private:
  109. void cb_bfmodtype_i(Fl_Osc_Choice*, void*);
  110. static void cb_bfmodtype(Fl_Osc_Choice*, void*);
  111. static Fl_Menu_Item menu_bfmodtype[];
  112. public:
  113. Fl_Osc_Dial *bfmodpar1;
  114. private:
  115. void cb_bfmodpar1_i(Fl_Osc_Dial*, void*);
  116. static void cb_bfmodpar1(Fl_Osc_Dial*, void*);
  117. public:
  118. Fl_Osc_Dial *bfmodpar2;
  119. private:
  120. void cb_bfmodpar2_i(Fl_Osc_Dial*, void*);
  121. static void cb_bfmodpar2(Fl_Osc_Dial*, void*);
  122. public:
  123. Fl_Osc_Dial *bfmodpar3;
  124. private:
  125. void cb_bfmodpar3_i(Fl_Osc_Dial*, void*);
  126. static void cb_bfmodpar3(Fl_Osc_Dial*, void*);
  127. void cb_Use_i(Fl_Button*, void*);
  128. static void cb_Use(Fl_Button*, void*);
  129. void cb_Close_i(Fl_Button*, void*);
  130. static void cb_Close(Fl_Button*, void*);
  131. void cb_Clear_i(Fl_Button*, void*);
  132. static void cb_Clear(Fl_Button*, void*);
  133. public:
  134. Fl_Osc_Choice *wshbutton;
  135. private:
  136. void cb_wshbutton_i(Fl_Osc_Choice*, void*);
  137. static void cb_wshbutton(Fl_Osc_Choice*, void*);
  138. static Fl_Menu_Item menu_wshbutton[];
  139. public:
  140. Fl_Osc_Dial *wshpar;
  141. private:
  142. void cb_wshpar_i(Fl_Osc_Dial*, void*);
  143. static void cb_wshpar(Fl_Osc_Dial*, void*);
  144. public:
  145. Fl_Value_Output *wsparval;
  146. Fl_Check_Button *autoclearbutton;
  147. Fl_Osc_Choice *fltbutton;
  148. private:
  149. void cb_fltbutton_i(Fl_Osc_Choice*, void*);
  150. static void cb_fltbutton(Fl_Osc_Choice*, void*);
  151. static Fl_Menu_Item menu_fltbutton[];
  152. public:
  153. Fl_Osc_Dial *filtervalue1;
  154. private:
  155. void cb_filtervalue1_i(Fl_Osc_Dial*, void*);
  156. static void cb_filtervalue1(Fl_Osc_Dial*, void*);
  157. public:
  158. Fl_Check_Button *filterpref;
  159. private:
  160. void cb_filterpref_i(Fl_Check_Button*, void*);
  161. static void cb_filterpref(Fl_Check_Button*, void*);
  162. public:
  163. Fl_Osc_Dial *filtervalue2;
  164. private:
  165. void cb_filtervalue2_i(Fl_Osc_Dial*, void*);
  166. static void cb_filtervalue2(Fl_Osc_Dial*, void*);
  167. public:
  168. Fl_Osc_Choice *sabutton;
  169. private:
  170. void cb_sabutton_i(Fl_Osc_Choice*, void*);
  171. static void cb_sabutton(Fl_Osc_Choice*, void*);
  172. static Fl_Menu_Item menu_sabutton[];
  173. public:
  174. Fl_Osc_Dial *sadjpar;
  175. private:
  176. void cb_sadjpar_i(Fl_Osc_Dial*, void*);
  177. static void cb_sadjpar(Fl_Osc_Dial*, void*);
  178. public:
  179. Fl_Osc_Counter *harmonicshiftcounter;
  180. private:
  181. void cb_harmonicshiftcounter_i(Fl_Osc_Counter*, void*);
  182. static void cb_harmonicshiftcounter(Fl_Osc_Counter*, void*);
  183. public:
  184. Fl_Osc_Check *harmonicshiftpre;
  185. private:
  186. void cb_harmonicshiftpre_i(Fl_Osc_Check*, void*);
  187. static void cb_harmonicshiftpre(Fl_Osc_Check*, void*);
  188. void cb_R_i(Fl_Button*, void*);
  189. static void cb_R(Fl_Button*, void*);
  190. public:
  191. Fl_Osc_Choice *adhrtype;
  192. private:
  193. void cb_adhrtype_i(Fl_Osc_Choice*, void*);
  194. static void cb_adhrtype(Fl_Osc_Choice*, void*);
  195. static Fl_Menu_Item menu_adhrtype[];
  196. public:
  197. Fl_Osc_Dial *adhrpow;
  198. private:
  199. void cb_adhrpow_i(Fl_Osc_Dial*, void*);
  200. static void cb_adhrpow(Fl_Osc_Dial*, void*);
  201. public:
  202. Fl_Osc_Dial *adhrbf;
  203. private:
  204. void cb_adhrbf_i(Fl_Osc_Dial*, void*);
  205. static void cb_adhrbf(Fl_Osc_Dial*, void*);
  206. public:
  207. Fl_Osc_TSlider *adhrpar;
  208. private:
  209. void cb_adhrpar_i(Fl_Osc_TSlider*, void*);
  210. static void cb_adhrpar(Fl_Osc_TSlider*, void*);
  211. public:
  212. Fl_Osc_Choice *modtype;
  213. private:
  214. void cb_modtype_i(Fl_Osc_Choice*, void*);
  215. static void cb_modtype(Fl_Osc_Choice*, void*);
  216. static Fl_Menu_Item menu_modtype[];
  217. public:
  218. Fl_Osc_Dial *modpar1;
  219. private:
  220. void cb_modpar1_i(Fl_Osc_Dial*, void*);
  221. static void cb_modpar1(Fl_Osc_Dial*, void*);
  222. public:
  223. Fl_Osc_Dial *modpar2;
  224. private:
  225. void cb_modpar2_i(Fl_Osc_Dial*, void*);
  226. static void cb_modpar2(Fl_Osc_Dial*, void*);
  227. public:
  228. Fl_Osc_Dial *modpar3;
  229. private:
  230. void cb_modpar3_i(Fl_Osc_Dial*, void*);
  231. static void cb_modpar3(Fl_Osc_Dial*, void*);
  232. void cb_Sine_i(Fl_Button*, void*);
  233. static void cb_Sine(Fl_Button*, void*);
  234. void cb_C_i(Fl_Button*, void*);
  235. static void cb_C(Fl_Button*, void*);
  236. void cb_P_i(Fl_Button*, void*);
  237. static void cb_P(Fl_Button*, void*);
  238. public:
  239. Fl_Scroll *_this_has_to_be_the_last;
  240. Fl_Pack *harmonics;
  241. OscilEditor(bool adnotep_, std::string loc_, Fl_Osc_Interface *osc_);
  242. ~OscilEditor();
  243. void refresh();
  244. void redrawoscil();
  245. void setbfmodstatus(int menuentry);
  246. private:
  247. Oscilharmonic *h[(MAX_AD_HARMONICS - 1)];
  248. std::string loc;
  249. Fl_Osc_Interface *osc;
  250. Fl_Oscilloscope *oscilo, *oscilo_base;
  251. Fl_OscilSpectrum *oscils, *oscils_base;
  252. bool adnotep;
  253. bool initialized;
  254. };
  255. #endif