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.

3025 lines
113KB

  1. // generated by Fast Light User Interface Designer (fluid) version 1.0300
  2. #include "external/zynaddsubfx/UI/EffUI.h"
  3. //Copyright (c) 2002-2005 Nasca Octavian Paul
  4. //License: GNU GPL version 2 or later
  5. Fl_Menu_Item EffUI::menu_revp[] = {
  6. {"Cathedral 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  7. {"Cathedral 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  8. {"Cathedral 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  9. {"Hall 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  10. {"Hall 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  11. {"Room 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  12. {"Room 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  13. {"Basement", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  14. {"Tunnel", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  15. {"Echoed 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  16. {"Echoed 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  17. {"Very Long 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  18. {"Very Long 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  19. {0,0,0,0,0,0,0,0,0}
  20. };
  21. void EffUI::cb_revp10_i(Fl_Osc_Choice* o, void*) {
  22. if(o->value()==2) revp12->activate();
  23. else revp12->deactivate();
  24. }
  25. void EffUI::cb_revp10(Fl_Osc_Choice* o, void* v) {
  26. ((EffUI*)(o->parent()->user_data()))->cb_revp10_i(o,v);
  27. }
  28. Fl_Menu_Item EffUI::menu_revp10[] = {
  29. {"Random", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  30. {"Freeverb", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  31. {"Bandwidth", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  32. {0,0,0,0,0,0,0,0,0}
  33. };
  34. Fl_Menu_Item EffUI::menu_echop[] = {
  35. {"Echo 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  36. {"Echo 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  37. {"Echo 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  38. {"Simple Echo", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  39. {"Canyon", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  40. {"Panning Echo 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  41. {"Panning Echo 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  42. {"Panning Echo 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  43. {"Feedback Echo", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  44. {0,0,0,0,0,0,0,0,0}
  45. };
  46. Fl_Menu_Item EffUI::menu_chorusp[] = {
  47. {"Chorus 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  48. {"Chorus 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  49. {"Chorus 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  50. {"Celeste 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  51. {"Celeste 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  52. {"Flange 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  53. {"Flange 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  54. {"Flange 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  55. {"Flange 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  56. {"Flange 5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  57. {0,0,0,0,0,0,0,0,0}
  58. };
  59. Fl_Menu_Item EffUI::menu_chorusp4[] = {
  60. {"SINE", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  61. {"TRI", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  62. {0,0,0,0,0,0,0,0,0}
  63. };
  64. Fl_Menu_Item EffUI::menu_phaserp[] = {
  65. {"Phaser 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  66. {"Phaser 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  67. {"Phaser 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  68. {"Phaser 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  69. {"Phaser 5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  70. {"Phaser 6", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  71. {"APhaser 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  72. {"APhaser 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  73. {"APhaser 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  74. {"APhaser 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  75. {"APhaser 5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  76. {"APhaser 6", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  77. {0,0,0,0,0,0,0,0,0}
  78. };
  79. Fl_Menu_Item EffUI::menu_phaserp4[] = {
  80. {"SIN", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  81. {"TRI", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  82. {0,0,0,0,0,0,0,0,0}
  83. };
  84. Fl_Menu_Item EffUI::menu_awp[] = {
  85. {"Alienwah 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  86. {"Alienwah 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  87. {"Alienwah 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  88. {"Alienwah 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  89. {0,0,0,0,0,0,0,0,0}
  90. };
  91. Fl_Menu_Item EffUI::menu_awp4[] = {
  92. {"SINE", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  93. {"TRI", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  94. {0,0,0,0,0,0,0,0,0}
  95. };
  96. Fl_Menu_Item EffUI::menu_distp[] = {
  97. {"Overdrive 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  98. {"Overdrive 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  99. {"A. Exciter 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  100. {"A. Exciter 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  101. {"Guitar Amp", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  102. {"Quantisize", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  103. {0,0,0,0,0,0,0,0,0}
  104. };
  105. Fl_Menu_Item EffUI::menu_distp5[] = {
  106. {"Atan", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  107. {"Asym1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  108. {"Pow", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  109. {"Sine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  110. {"Qnts", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  111. {"Zigzg", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  112. {"Lmt", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  113. {"LmtU", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  114. {"LmtL", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  115. {"ILmt", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  116. {"Clip", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  117. {"Asym2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  118. {"Pow2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  119. {"Sgm", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  120. {0,0,0,0,0,0,0,0,0}
  121. };
  122. void EffUI::cb_eqp0_i(Fl_Osc_Dial*, void*) {
  123. eqgraph->redraw();
  124. }
  125. void EffUI::cb_eqp0(Fl_Osc_Dial* o, void* v) {
  126. ((EffUI*)(o->parent()->user_data()))->cb_eqp0_i(o,v);
  127. }
  128. void EffUI::cb_bandcounter_i(Fl_Counter* o, void*) {
  129. eqband=(int) o->value();
  130. int npb=eqband*5+10;
  131. typechoice->oscMove("parameter"+to_s(npb));
  132. freqdial->oscMove("parameter"+to_s(npb+1));
  133. gaindial->oscMove("parameter"+to_s(npb+2));
  134. qdial->oscMove("parameter"+to_s(npb+3));
  135. stagescounter->oscMove("parameter"+to_s(npb+4));
  136. }
  137. void EffUI::cb_bandcounter(Fl_Counter* o, void* v) {
  138. ((EffUI*)(o->parent()->user_data()))->cb_bandcounter_i(o,v);
  139. }
  140. void EffUI::cb_freqdial_i(Fl_Osc_Dial*, void*) {
  141. eqgraph->update();
  142. }
  143. void EffUI::cb_freqdial(Fl_Osc_Dial* o, void* v) {
  144. ((EffUI*)(o->parent()->parent()->user_data()))->cb_freqdial_i(o,v);
  145. }
  146. void EffUI::cb_gaindial_i(Fl_Osc_Dial*, void*) {
  147. eqgraph->update();
  148. }
  149. void EffUI::cb_gaindial(Fl_Osc_Dial* o, void* v) {
  150. ((EffUI*)(o->parent()->parent()->user_data()))->cb_gaindial_i(o,v);
  151. }
  152. void EffUI::cb_qdial_i(Fl_Osc_Dial*, void*) {
  153. eqgraph->update();
  154. }
  155. void EffUI::cb_qdial(Fl_Osc_Dial* o, void* v) {
  156. ((EffUI*)(o->parent()->parent()->user_data()))->cb_qdial_i(o,v);
  157. }
  158. void EffUI::cb_stagescounter_i(Fl_Osc_Counter*, void*) {
  159. eqgraph->update();
  160. }
  161. void EffUI::cb_stagescounter(Fl_Osc_Counter* o, void* v) {
  162. ((EffUI*)(o->parent()->parent()->user_data()))->cb_stagescounter_i(o,v);
  163. }
  164. void EffUI::cb_typechoice_i(Fl_Osc_Choice* o, void*) {
  165. int type = o->value();
  166. if (type>6) gaindial->activate();
  167. else gaindial->deactivate();
  168. if (type==0) bandgroup->deactivate();
  169. else bandgroup->activate();
  170. eqgraph->update();
  171. }
  172. void EffUI::cb_typechoice(Fl_Osc_Choice* o, void* v) {
  173. ((EffUI*)(o->parent()->user_data()))->cb_typechoice_i(o,v);
  174. }
  175. Fl_Menu_Item EffUI::menu_typechoice[] = {
  176. {"OFF", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  177. {"Lp1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  178. {"Hp1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  179. {"Lp2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  180. {"Hp2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  181. {"Bp2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  182. {"N2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  183. {"Pk", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  184. {"LSh", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  185. {"HSh", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  186. {0,0,0,0,0,0,0,0,0}
  187. };
  188. Fl_Menu_Item EffUI::menu_dfp[] = {
  189. {"WahWah", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  190. {"AutoWah", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  191. {"Sweep", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  192. {"VocalMorph1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  193. {"VocalMorph2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  194. {0,0,0,0,0,0,0,0,0}
  195. };
  196. Fl_Menu_Item EffUI::menu_dfp4[] = {
  197. {"SINE", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  198. {"TRI", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  199. {0,0,0,0,0,0,0,0,0}
  200. };
  201. void EffUI::cb_Filter_i(Fl_Button*, void*) {
  202. filterwindow->show();
  203. }
  204. void EffUI::cb_Filter(Fl_Button* o, void* v) {
  205. ((EffUI*)(o->parent()->user_data()))->cb_Filter_i(o,v);
  206. }
  207. void EffUI::cb_Close_i(Fl_Button*, void*) {
  208. filterwindow->hide();
  209. }
  210. void EffUI::cb_Close(Fl_Button* o, void* v) {
  211. ((EffUI*)(o->parent()->user_data()))->cb_Close_i(o,v);
  212. }
  213. EffUI::EffUI(int x,int y, int w, int h, const char *label):Fl_Osc_Group(x,y,w,h,label) {
  214. filterwindow=NULL;
  215. }
  216. EffUI::~EffUI() {
  217. effnullwindow->hide();//delete (effnullwindow);
  218. effreverbwindow->hide();//delete (effreverbwindow);
  219. effechowindow->hide();//delete (effechowindow);
  220. effchoruswindow->hide();//delete (effchoruswindow);
  221. effphaserwindow->hide();//delete (effphaserwindow);
  222. effalienwahwindow->hide();//delete (effalienwahwindow);
  223. effdistorsionwindow->hide();//delete (effdistorsionwindow);
  224. effeqwindow->hide();//delete (effeqwindow);
  225. effdynamicfilterwindow->hide();//delete (effdynamicfilterwindow);
  226. if (filterwindow!=NULL){
  227. filterwindow->hide();
  228. delete(filterwindow);
  229. };
  230. }
  231. Fl_Group* EffUI::make_null_window() {
  232. { Fl_Group* o = effnullwindow = new Fl_Group(0, 0, 380, 100);
  233. effnullwindow->box(FL_UP_BOX);
  234. effnullwindow->color((Fl_Color)221);
  235. effnullwindow->selection_color(FL_BACKGROUND_COLOR);
  236. effnullwindow->labeltype(FL_NO_LABEL);
  237. effnullwindow->labelfont(1);
  238. effnullwindow->labelsize(19);
  239. effnullwindow->labelcolor(FL_FOREGROUND_COLOR);
  240. effnullwindow->user_data((void*)(this));
  241. effnullwindow->align(Fl_Align(FL_ALIGN_TOP));
  242. effnullwindow->when(FL_WHEN_RELEASE);
  243. set_module_parameters(o);
  244. effnullwindow->end();
  245. } // Fl_Group* effnullwindow
  246. return effnullwindow;
  247. }
  248. Fl_Group* EffUI::make_reverb_window() {
  249. { Fl_Group* o = effreverbwindow = new Fl_Group(0, 0, 380, 100);
  250. effreverbwindow->box(FL_UP_BOX);
  251. effreverbwindow->color((Fl_Color)221);
  252. effreverbwindow->selection_color(FL_BACKGROUND_COLOR);
  253. effreverbwindow->labeltype(FL_NO_LABEL);
  254. effreverbwindow->labelfont(1);
  255. effreverbwindow->labelsize(19);
  256. effreverbwindow->labelcolor(FL_FOREGROUND_COLOR);
  257. effreverbwindow->user_data((void*)(this));
  258. effreverbwindow->align(Fl_Align(FL_ALIGN_TOP));
  259. effreverbwindow->when(FL_WHEN_RELEASE);
  260. { Fl_Osc_Choice* o = revp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset");
  261. revp->box(FL_UP_BOX);
  262. revp->down_box(FL_BORDER_BOX);
  263. revp->color((Fl_Color)14);
  264. revp->selection_color(FL_BACKGROUND2_COLOR);
  265. revp->labeltype(FL_NORMAL_LABEL);
  266. revp->labelfont(1);
  267. revp->labelsize(10);
  268. revp->labelcolor(FL_FOREGROUND_COLOR);
  269. revp->textfont(1);
  270. revp->textsize(10);
  271. revp->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  272. revp->when(FL_WHEN_RELEASE);
  273. revp->menu(menu_revp);
  274. o->init("preset");
  275. } // Fl_Osc_Choice* revp
  276. { Fl_Osc_Choice* o = revp10 = new Fl_Osc_Choice(110, 15, 85, 15, "Type");
  277. revp10->box(FL_UP_BOX);
  278. revp10->down_box(FL_BORDER_BOX);
  279. revp10->color((Fl_Color)14);
  280. revp10->selection_color(FL_BACKGROUND2_COLOR);
  281. revp10->labeltype(FL_NORMAL_LABEL);
  282. revp10->labelfont(1);
  283. revp10->labelsize(10);
  284. revp10->labelcolor(FL_FOREGROUND_COLOR);
  285. revp10->textfont(1);
  286. revp10->textsize(10);
  287. revp10->callback((Fl_Callback*)cb_revp10);
  288. revp10->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  289. revp10->when(FL_WHEN_RELEASE);
  290. revp10->menu(menu_revp10);
  291. o->init("parameter10");
  292. } // Fl_Osc_Choice* revp10
  293. { Fl_Osc_Dial* o = revp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  294. revp0->tooltip("Effect Volume");
  295. revp0->box(FL_ROUND_UP_BOX);
  296. revp0->color(FL_BACKGROUND_COLOR);
  297. revp0->selection_color(FL_INACTIVE_COLOR);
  298. revp0->labeltype(FL_NORMAL_LABEL);
  299. revp0->labelfont(1);
  300. revp0->labelsize(11);
  301. revp0->labelcolor(FL_FOREGROUND_COLOR);
  302. revp0->maximum(127);
  303. revp0->align(Fl_Align(FL_ALIGN_BOTTOM));
  304. revp0->when(FL_WHEN_CHANGED);
  305. o->init("parameter0");
  306. } // Fl_Osc_Dial* revp0
  307. { Fl_Osc_Dial* o = revp1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan");
  308. revp1->box(FL_ROUND_UP_BOX);
  309. revp1->color(FL_BACKGROUND_COLOR);
  310. revp1->selection_color(FL_INACTIVE_COLOR);
  311. revp1->labeltype(FL_NORMAL_LABEL);
  312. revp1->labelfont(1);
  313. revp1->labelsize(11);
  314. revp1->labelcolor(FL_FOREGROUND_COLOR);
  315. revp1->maximum(127);
  316. revp1->align(Fl_Align(FL_ALIGN_BOTTOM));
  317. revp1->when(FL_WHEN_CHANGED);
  318. o->init("parameter1");
  319. } // Fl_Osc_Dial* revp1
  320. { Fl_Osc_Dial* o = revp2 = new Fl_Osc_Dial(80, 40, 30, 30, "Time");
  321. revp2->tooltip("Duration of Effect");
  322. revp2->box(FL_ROUND_UP_BOX);
  323. revp2->color(FL_BACKGROUND_COLOR);
  324. revp2->selection_color(FL_INACTIVE_COLOR);
  325. revp2->labeltype(FL_NORMAL_LABEL);
  326. revp2->labelfont(1);
  327. revp2->labelsize(11);
  328. revp2->labelcolor(FL_FOREGROUND_COLOR);
  329. revp2->maximum(127);
  330. revp2->align(Fl_Align(FL_ALIGN_BOTTOM));
  331. revp2->when(FL_WHEN_CHANGED);
  332. o->init("parameter2");
  333. } // Fl_Osc_Dial* revp2
  334. { Fl_Osc_Dial* o = revp3 = new Fl_Osc_Dial(120, 40, 30, 30, "I.del");
  335. revp3->tooltip("Initial Delay");
  336. revp3->box(FL_ROUND_UP_BOX);
  337. revp3->color(FL_BACKGROUND_COLOR);
  338. revp3->selection_color(FL_INACTIVE_COLOR);
  339. revp3->labeltype(FL_NORMAL_LABEL);
  340. revp3->labelfont(1);
  341. revp3->labelsize(11);
  342. revp3->labelcolor(FL_FOREGROUND_COLOR);
  343. revp3->maximum(127);
  344. revp3->align(Fl_Align(FL_ALIGN_BOTTOM));
  345. revp3->when(FL_WHEN_RELEASE);
  346. o->init("parameter3");
  347. } // Fl_Osc_Dial* revp3
  348. { Fl_Osc_Dial* o = revp4 = new Fl_Osc_Dial(155, 40, 30, 30, "I.delfb");
  349. revp4->tooltip("Initial Delay Feedback");
  350. revp4->box(FL_ROUND_UP_BOX);
  351. revp4->color(FL_BACKGROUND_COLOR);
  352. revp4->selection_color(FL_INACTIVE_COLOR);
  353. revp4->labeltype(FL_NORMAL_LABEL);
  354. revp4->labelfont(1);
  355. revp4->labelsize(11);
  356. revp4->labelcolor(FL_FOREGROUND_COLOR);
  357. revp4->maximum(127);
  358. revp4->align(Fl_Align(FL_ALIGN_BOTTOM));
  359. revp4->when(FL_WHEN_CHANGED);
  360. o->init("parameter4");
  361. } // Fl_Osc_Dial* revp4
  362. { Fl_Osc_Dial* o = revp12 = new Fl_Osc_Dial(200, 40, 30, 30, "bw");
  363. revp12->box(FL_ROUND_UP_BOX);
  364. revp12->color(FL_BACKGROUND_COLOR);
  365. revp12->selection_color(FL_INACTIVE_COLOR);
  366. revp12->labeltype(FL_NORMAL_LABEL);
  367. revp12->labelfont(1);
  368. revp12->labelsize(11);
  369. revp12->labelcolor(FL_FOREGROUND_COLOR);
  370. revp12->maximum(127);
  371. revp12->align(Fl_Align(FL_ALIGN_BOTTOM));
  372. revp12->when(FL_WHEN_RELEASE);
  373. revp12->deactivate();
  374. o->init("parameter12");
  375. } // Fl_Osc_Dial* revp12
  376. { Fl_Osc_Dial* o = revp6 = new Fl_Osc_Dial(235, 40, 30, 30, "E/R");
  377. revp6->box(FL_ROUND_UP_BOX);
  378. revp6->color(FL_BACKGROUND_COLOR);
  379. revp6->selection_color(FL_INACTIVE_COLOR);
  380. revp6->labeltype(FL_NORMAL_LABEL);
  381. revp6->labelfont(1);
  382. revp6->labelsize(11);
  383. revp6->labelcolor(FL_FOREGROUND_COLOR);
  384. revp6->maximum(127);
  385. revp6->align(Fl_Align(FL_ALIGN_BOTTOM));
  386. revp6->when(FL_WHEN_CHANGED);
  387. revp6->deactivate();
  388. o->init("parameter6");
  389. } // Fl_Osc_Dial* revp6
  390. { Fl_Osc_Dial* o = revp7 = new Fl_Osc_Dial(270, 40, 30, 30, "LPF");
  391. revp7->tooltip("Low Pass Filter");
  392. revp7->box(FL_ROUND_UP_BOX);
  393. revp7->color(FL_BACKGROUND_COLOR);
  394. revp7->selection_color(FL_INACTIVE_COLOR);
  395. revp7->labeltype(FL_NORMAL_LABEL);
  396. revp7->labelfont(1);
  397. revp7->labelsize(11);
  398. revp7->labelcolor(FL_FOREGROUND_COLOR);
  399. revp7->maximum(127);
  400. revp7->align(Fl_Align(FL_ALIGN_BOTTOM));
  401. revp7->when(FL_WHEN_CHANGED);
  402. o->init("parameter7");
  403. } // Fl_Osc_Dial* revp7
  404. { Fl_Osc_Dial* o = revp8 = new Fl_Osc_Dial(305, 40, 30, 30, "HPF");
  405. revp8->tooltip("High Pass Filter");
  406. revp8->box(FL_ROUND_UP_BOX);
  407. revp8->color(FL_BACKGROUND_COLOR);
  408. revp8->selection_color(FL_INACTIVE_COLOR);
  409. revp8->labeltype(FL_NORMAL_LABEL);
  410. revp8->labelfont(1);
  411. revp8->labelsize(11);
  412. revp8->labelcolor(FL_FOREGROUND_COLOR);
  413. revp8->maximum(127);
  414. revp8->align(Fl_Align(FL_ALIGN_BOTTOM));
  415. revp8->when(FL_WHEN_CHANGED);
  416. o->init("parameter8");
  417. } // Fl_Osc_Dial* revp8
  418. { Fl_Osc_Dial* o = revp9 = new Fl_Osc_Dial(340, 40, 30, 30, "Damp");
  419. revp9->tooltip("Dampening");
  420. revp9->box(FL_ROUND_UP_BOX);
  421. revp9->color(FL_BACKGROUND_COLOR);
  422. revp9->selection_color(FL_INACTIVE_COLOR);
  423. revp9->labeltype(FL_NORMAL_LABEL);
  424. revp9->labelfont(1);
  425. revp9->labelsize(11);
  426. revp9->labelcolor(FL_FOREGROUND_COLOR);
  427. revp9->minimum(64);
  428. revp9->maximum(127);
  429. revp9->step(1);
  430. revp9->align(Fl_Align(FL_ALIGN_BOTTOM));
  431. revp9->when(FL_WHEN_CHANGED);
  432. o->init("parameter9");
  433. } // Fl_Osc_Dial* revp9
  434. { Fl_Osc_Dial* o = revp11 = new Fl_Osc_Dial(200, 10, 25, 25, "R.S.");
  435. revp11->tooltip("RoomSize");
  436. revp11->box(FL_ROUND_UP_BOX);
  437. revp11->color(FL_BACKGROUND_COLOR);
  438. revp11->selection_color(FL_INACTIVE_COLOR);
  439. revp11->labeltype(FL_NORMAL_LABEL);
  440. revp11->labelfont(1);
  441. revp11->labelsize(8);
  442. revp11->labelcolor(FL_FOREGROUND_COLOR);
  443. revp11->minimum(1);
  444. revp11->maximum(127);
  445. revp11->step(1);
  446. revp11->align(Fl_Align(FL_ALIGN_RIGHT));
  447. revp11->when(FL_WHEN_CHANGED);
  448. o->init("parameter11");
  449. } // Fl_Osc_Dial* revp11
  450. set_module_parameters(o);
  451. effreverbwindow->end();
  452. } // Fl_Group* effreverbwindow
  453. return effreverbwindow;
  454. }
  455. Fl_Group* EffUI::make_echo_window() {
  456. { Fl_Group* o = effechowindow = new Fl_Group(0, 0, 380, 100);
  457. effechowindow->box(FL_UP_BOX);
  458. effechowindow->color((Fl_Color)221);
  459. effechowindow->selection_color(FL_BACKGROUND_COLOR);
  460. effechowindow->labeltype(FL_NO_LABEL);
  461. effechowindow->labelfont(1);
  462. effechowindow->labelsize(19);
  463. effechowindow->labelcolor(FL_FOREGROUND_COLOR);
  464. effechowindow->user_data((void*)(this));
  465. effechowindow->align(Fl_Align(FL_ALIGN_TOP));
  466. effechowindow->when(FL_WHEN_RELEASE);
  467. { Fl_Osc_Choice* o = echop = new Fl_Osc_Choice(11, 15, 95, 15, "Preset");
  468. echop->box(FL_UP_BOX);
  469. echop->down_box(FL_BORDER_BOX);
  470. echop->color((Fl_Color)14);
  471. echop->selection_color(FL_BACKGROUND2_COLOR);
  472. echop->labeltype(FL_NORMAL_LABEL);
  473. echop->labelfont(1);
  474. echop->labelsize(10);
  475. echop->labelcolor(FL_FOREGROUND_COLOR);
  476. echop->textfont(1);
  477. echop->textsize(10);
  478. echop->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  479. echop->when(FL_WHEN_RELEASE);
  480. echop->menu(menu_echop);
  481. o->init("preset");
  482. } // Fl_Osc_Choice* echop
  483. { Fl_Osc_Dial* o = echop0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  484. echop0->tooltip("Effect Volume");
  485. echop0->box(FL_ROUND_UP_BOX);
  486. echop0->color(FL_BACKGROUND_COLOR);
  487. echop0->selection_color(FL_INACTIVE_COLOR);
  488. echop0->labeltype(FL_NORMAL_LABEL);
  489. echop0->labelfont(1);
  490. echop0->labelsize(11);
  491. echop0->labelcolor(FL_FOREGROUND_COLOR);
  492. echop0->maximum(127);
  493. echop0->align(Fl_Align(FL_ALIGN_BOTTOM));
  494. echop0->when(FL_WHEN_CHANGED);
  495. o->init("parameter0");
  496. } // Fl_Osc_Dial* echop0
  497. { Fl_Osc_Dial* o = echop1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan");
  498. echop1->box(FL_ROUND_UP_BOX);
  499. echop1->color(FL_BACKGROUND_COLOR);
  500. echop1->selection_color(FL_INACTIVE_COLOR);
  501. echop1->labeltype(FL_NORMAL_LABEL);
  502. echop1->labelfont(1);
  503. echop1->labelsize(11);
  504. echop1->labelcolor(FL_FOREGROUND_COLOR);
  505. echop1->maximum(127);
  506. echop1->align(Fl_Align(FL_ALIGN_BOTTOM));
  507. echop1->when(FL_WHEN_CHANGED);
  508. o->init("parameter1");
  509. } // Fl_Osc_Dial* echop1
  510. { Fl_Osc_Dial* o = echop2 = new Fl_Osc_Dial(80, 40, 30, 30, "Delay");
  511. echop2->box(FL_ROUND_UP_BOX);
  512. echop2->color(FL_BACKGROUND_COLOR);
  513. echop2->selection_color(FL_INACTIVE_COLOR);
  514. echop2->labeltype(FL_NORMAL_LABEL);
  515. echop2->labelfont(1);
  516. echop2->labelsize(11);
  517. echop2->labelcolor(FL_FOREGROUND_COLOR);
  518. echop2->maximum(127);
  519. echop2->align(Fl_Align(FL_ALIGN_BOTTOM));
  520. echop2->when(FL_WHEN_RELEASE);
  521. o->init("parameter2");
  522. } // Fl_Osc_Dial* echop2
  523. { Fl_Osc_Dial* o = echop3 = new Fl_Osc_Dial(120, 40, 30, 30, "LRdl.");
  524. echop3->tooltip("Delay Between L/R");
  525. echop3->box(FL_ROUND_UP_BOX);
  526. echop3->color(FL_BACKGROUND_COLOR);
  527. echop3->selection_color(FL_INACTIVE_COLOR);
  528. echop3->labeltype(FL_NORMAL_LABEL);
  529. echop3->labelfont(1);
  530. echop3->labelsize(11);
  531. echop3->labelcolor(FL_FOREGROUND_COLOR);
  532. echop3->maximum(127);
  533. echop3->align(Fl_Align(FL_ALIGN_BOTTOM));
  534. echop3->when(FL_WHEN_RELEASE);
  535. o->init("parameter3");
  536. } // Fl_Osc_Dial* echop3
  537. { Fl_Osc_Dial* o = echop4 = new Fl_Osc_Dial(155, 40, 30, 30, "LRc.");
  538. echop4->tooltip("L/R Crossover");
  539. echop4->box(FL_ROUND_UP_BOX);
  540. echop4->color(FL_BACKGROUND_COLOR);
  541. echop4->selection_color(FL_INACTIVE_COLOR);
  542. echop4->labeltype(FL_NORMAL_LABEL);
  543. echop4->labelfont(1);
  544. echop4->labelsize(11);
  545. echop4->labelcolor(FL_FOREGROUND_COLOR);
  546. echop4->maximum(127);
  547. echop4->align(Fl_Align(FL_ALIGN_BOTTOM));
  548. echop4->when(FL_WHEN_CHANGED);
  549. o->init("parameter4");
  550. } // Fl_Osc_Dial* echop4
  551. { Fl_Osc_Dial* o = echop5 = new Fl_Osc_Dial(195, 40, 30, 30, "Fb.");
  552. echop5->tooltip("Feedback");
  553. echop5->box(FL_ROUND_UP_BOX);
  554. echop5->color(FL_BACKGROUND_COLOR);
  555. echop5->selection_color(FL_INACTIVE_COLOR);
  556. echop5->labeltype(FL_NORMAL_LABEL);
  557. echop5->labelfont(1);
  558. echop5->labelsize(11);
  559. echop5->labelcolor(FL_FOREGROUND_COLOR);
  560. echop5->maximum(127);
  561. echop5->align(Fl_Align(FL_ALIGN_BOTTOM));
  562. echop5->when(FL_WHEN_CHANGED);
  563. o->init("parameter5");
  564. } // Fl_Osc_Dial* echop5
  565. { Fl_Osc_Dial* o = echop6 = new Fl_Osc_Dial(235, 40, 30, 30, "Damp");
  566. echop6->tooltip("Dampening");
  567. echop6->box(FL_ROUND_UP_BOX);
  568. echop6->color(FL_BACKGROUND_COLOR);
  569. echop6->selection_color(FL_INACTIVE_COLOR);
  570. echop6->labeltype(FL_NORMAL_LABEL);
  571. echop6->labelfont(1);
  572. echop6->labelsize(11);
  573. echop6->labelcolor(FL_FOREGROUND_COLOR);
  574. echop6->maximum(127);
  575. echop6->align(Fl_Align(FL_ALIGN_BOTTOM));
  576. echop6->when(FL_WHEN_CHANGED);
  577. o->init("parameter6");
  578. } // Fl_Osc_Dial* echop6
  579. set_module_parameters(o);
  580. effechowindow->end();
  581. } // Fl_Group* effechowindow
  582. return effechowindow;
  583. }
  584. Fl_Group* EffUI::make_chorus_window() {
  585. { Fl_Group* o = effchoruswindow = new Fl_Group(0, 0, 380, 100);
  586. effchoruswindow->box(FL_UP_BOX);
  587. effchoruswindow->color((Fl_Color)221);
  588. effchoruswindow->selection_color(FL_BACKGROUND_COLOR);
  589. effchoruswindow->labeltype(FL_NO_LABEL);
  590. effchoruswindow->labelfont(1);
  591. effchoruswindow->labelsize(19);
  592. effchoruswindow->labelcolor(FL_FOREGROUND_COLOR);
  593. effchoruswindow->user_data((void*)(this));
  594. effchoruswindow->align(Fl_Align(FL_ALIGN_TOP));
  595. effchoruswindow->when(FL_WHEN_RELEASE);
  596. { Fl_Osc_Choice* o = chorusp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset");
  597. chorusp->box(FL_UP_BOX);
  598. chorusp->down_box(FL_BORDER_BOX);
  599. chorusp->color((Fl_Color)14);
  600. chorusp->selection_color(FL_BACKGROUND2_COLOR);
  601. chorusp->labeltype(FL_NORMAL_LABEL);
  602. chorusp->labelfont(1);
  603. chorusp->labelsize(10);
  604. chorusp->labelcolor(FL_FOREGROUND_COLOR);
  605. chorusp->textfont(1);
  606. chorusp->textsize(10);
  607. chorusp->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  608. chorusp->when(FL_WHEN_RELEASE);
  609. chorusp->menu(menu_chorusp);
  610. o->init("preset");
  611. } // Fl_Osc_Choice* chorusp
  612. { Fl_Osc_Dial* o = chorusp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  613. chorusp0->box(FL_ROUND_UP_BOX);
  614. chorusp0->color(FL_BACKGROUND_COLOR);
  615. chorusp0->selection_color(FL_INACTIVE_COLOR);
  616. chorusp0->labeltype(FL_NORMAL_LABEL);
  617. chorusp0->labelfont(1);
  618. chorusp0->labelsize(11);
  619. chorusp0->labelcolor(FL_FOREGROUND_COLOR);
  620. chorusp0->maximum(127);
  621. chorusp0->align(Fl_Align(FL_ALIGN_BOTTOM));
  622. chorusp0->when(FL_WHEN_CHANGED);
  623. o->init("parameter0");
  624. } // Fl_Osc_Dial* chorusp0
  625. { Fl_Osc_Dial* o = chorusp1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan");
  626. chorusp1->box(FL_ROUND_UP_BOX);
  627. chorusp1->color(FL_BACKGROUND_COLOR);
  628. chorusp1->selection_color(FL_INACTIVE_COLOR);
  629. chorusp1->labeltype(FL_NORMAL_LABEL);
  630. chorusp1->labelfont(1);
  631. chorusp1->labelsize(11);
  632. chorusp1->labelcolor(FL_FOREGROUND_COLOR);
  633. chorusp1->maximum(127);
  634. chorusp1->align(Fl_Align(FL_ALIGN_BOTTOM));
  635. chorusp1->when(FL_WHEN_CHANGED);
  636. o->init("parameter1");
  637. } // Fl_Osc_Dial* chorusp1
  638. { Fl_Osc_Dial* o = chorusp2 = new Fl_Osc_Dial(85, 40, 30, 30, "Freq");
  639. chorusp2->tooltip("LFO Frequency");
  640. chorusp2->box(FL_ROUND_UP_BOX);
  641. chorusp2->color(FL_BACKGROUND_COLOR);
  642. chorusp2->selection_color(FL_INACTIVE_COLOR);
  643. chorusp2->labeltype(FL_NORMAL_LABEL);
  644. chorusp2->labelfont(1);
  645. chorusp2->labelsize(11);
  646. chorusp2->labelcolor(FL_FOREGROUND_COLOR);
  647. chorusp2->maximum(127);
  648. chorusp2->align(Fl_Align(FL_ALIGN_BOTTOM));
  649. chorusp2->when(FL_WHEN_CHANGED);
  650. o->init("parameter2");
  651. } // Fl_Osc_Dial* chorusp2
  652. { Fl_Osc_Dial* o = chorusp3 = new Fl_Osc_Dial(120, 40, 30, 30, "Rnd");
  653. chorusp3->tooltip("LFO Randomness");
  654. chorusp3->box(FL_ROUND_UP_BOX);
  655. chorusp3->color(FL_BACKGROUND_COLOR);
  656. chorusp3->selection_color(FL_INACTIVE_COLOR);
  657. chorusp3->labeltype(FL_NORMAL_LABEL);
  658. chorusp3->labelfont(1);
  659. chorusp3->labelsize(11);
  660. chorusp3->labelcolor(FL_FOREGROUND_COLOR);
  661. chorusp3->maximum(127);
  662. chorusp3->align(Fl_Align(FL_ALIGN_BOTTOM));
  663. chorusp3->when(FL_WHEN_RELEASE);
  664. o->init("parameter3");
  665. } // Fl_Osc_Dial* chorusp3
  666. { Fl_Osc_Dial* o = chorusp5 = new Fl_Osc_Dial(200, 40, 30, 30, "St.df");
  667. chorusp5->tooltip("L/R Phase Shift");
  668. chorusp5->box(FL_ROUND_UP_BOX);
  669. chorusp5->color(FL_BACKGROUND_COLOR);
  670. chorusp5->selection_color(FL_INACTIVE_COLOR);
  671. chorusp5->labeltype(FL_NORMAL_LABEL);
  672. chorusp5->labelfont(1);
  673. chorusp5->labelsize(11);
  674. chorusp5->labelcolor(FL_FOREGROUND_COLOR);
  675. chorusp5->maximum(127);
  676. chorusp5->align(Fl_Align(FL_ALIGN_BOTTOM));
  677. chorusp5->when(FL_WHEN_CHANGED);
  678. o->init("parameter5");
  679. } // Fl_Osc_Dial* chorusp5
  680. { Fl_Osc_Dial* o = chorusp6 = new Fl_Osc_Dial(235, 40, 30, 30, "Dpth");
  681. chorusp6->tooltip("LFO Depth");
  682. chorusp6->box(FL_ROUND_UP_BOX);
  683. chorusp6->color(FL_BACKGROUND_COLOR);
  684. chorusp6->selection_color(FL_INACTIVE_COLOR);
  685. chorusp6->labeltype(FL_NORMAL_LABEL);
  686. chorusp6->labelfont(1);
  687. chorusp6->labelsize(11);
  688. chorusp6->labelcolor(FL_FOREGROUND_COLOR);
  689. chorusp6->maximum(127);
  690. chorusp6->align(Fl_Align(FL_ALIGN_BOTTOM));
  691. chorusp6->when(FL_WHEN_CHANGED);
  692. o->init("parameter6");
  693. } // Fl_Osc_Dial* chorusp6
  694. { Fl_Osc_Dial* o = chorusp7 = new Fl_Osc_Dial(270, 40, 30, 30, "Delay");
  695. chorusp7->box(FL_ROUND_UP_BOX);
  696. chorusp7->color(FL_BACKGROUND_COLOR);
  697. chorusp7->selection_color(FL_INACTIVE_COLOR);
  698. chorusp7->labeltype(FL_NORMAL_LABEL);
  699. chorusp7->labelfont(1);
  700. chorusp7->labelsize(11);
  701. chorusp7->labelcolor(FL_FOREGROUND_COLOR);
  702. chorusp7->maximum(127);
  703. chorusp7->align(Fl_Align(FL_ALIGN_BOTTOM));
  704. chorusp7->when(FL_WHEN_CHANGED);
  705. o->init("parameter7");
  706. } // Fl_Osc_Dial* chorusp7
  707. { Fl_Osc_Dial* o = chorusp8 = new Fl_Osc_Dial(305, 40, 30, 30, "Fb");
  708. chorusp8->tooltip("Feedback");
  709. chorusp8->box(FL_ROUND_UP_BOX);
  710. chorusp8->color(FL_BACKGROUND_COLOR);
  711. chorusp8->selection_color(FL_INACTIVE_COLOR);
  712. chorusp8->labeltype(FL_NORMAL_LABEL);
  713. chorusp8->labelfont(1);
  714. chorusp8->labelsize(11);
  715. chorusp8->labelcolor(FL_FOREGROUND_COLOR);
  716. chorusp8->maximum(127);
  717. chorusp8->align(Fl_Align(FL_ALIGN_BOTTOM));
  718. chorusp8->when(FL_WHEN_CHANGED);
  719. o->init("parameter8");
  720. } // Fl_Osc_Dial* chorusp8
  721. { Fl_Osc_Dial* o = chorusp9 = new Fl_Osc_Dial(340, 40, 30, 30, "L/R");
  722. chorusp9->tooltip("Channel Routing");
  723. chorusp9->box(FL_ROUND_UP_BOX);
  724. chorusp9->color(FL_BACKGROUND_COLOR);
  725. chorusp9->selection_color(FL_INACTIVE_COLOR);
  726. chorusp9->labeltype(FL_NORMAL_LABEL);
  727. chorusp9->labelfont(1);
  728. chorusp9->labelsize(11);
  729. chorusp9->labelcolor(FL_FOREGROUND_COLOR);
  730. chorusp9->maximum(127);
  731. chorusp9->align(Fl_Align(FL_ALIGN_BOTTOM));
  732. chorusp9->when(FL_WHEN_CHANGED);
  733. o->init("parameter9");
  734. } // Fl_Osc_Dial* chorusp9
  735. { Fl_Osc_Check* o = new Fl_Osc_Check(120, 10, 55, 20, "Flange");
  736. o->box(FL_THIN_UP_BOX);
  737. o->down_box(FL_DOWN_BOX);
  738. o->color((Fl_Color)230);
  739. o->selection_color(FL_FOREGROUND_COLOR);
  740. o->labeltype(FL_NORMAL_LABEL);
  741. o->labelfont(1);
  742. o->labelsize(10);
  743. o->labelcolor(FL_FOREGROUND_COLOR);
  744. o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
  745. o->when(FL_WHEN_RELEASE);
  746. o->hide();
  747. o->deactivate();
  748. o->init("parameter10");
  749. } // Fl_Osc_Check* o
  750. { Fl_Osc_Check* o = chorusp11 = new Fl_Osc_Check(185, 10, 70, 20, "Subtract");
  751. chorusp11->tooltip("inverts the output");
  752. chorusp11->box(FL_THIN_UP_BOX);
  753. chorusp11->down_box(FL_DOWN_BOX);
  754. chorusp11->color((Fl_Color)51);
  755. chorusp11->selection_color(FL_FOREGROUND_COLOR);
  756. chorusp11->labeltype(FL_NORMAL_LABEL);
  757. chorusp11->labelfont(0);
  758. chorusp11->labelsize(10);
  759. chorusp11->labelcolor(FL_FOREGROUND_COLOR);
  760. chorusp11->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
  761. chorusp11->when(FL_WHEN_RELEASE);
  762. o->init("parameter11");
  763. } // Fl_Osc_Check* chorusp11
  764. { Fl_Osc_Choice* o = chorusp4 = new Fl_Osc_Choice(155, 50, 40, 15, "LFO type");
  765. chorusp4->tooltip("LFO function");
  766. chorusp4->box(FL_UP_BOX);
  767. chorusp4->down_box(FL_BORDER_BOX);
  768. chorusp4->color(FL_BACKGROUND_COLOR);
  769. chorusp4->selection_color(FL_SELECTION_COLOR);
  770. chorusp4->labeltype(FL_NORMAL_LABEL);
  771. chorusp4->labelfont(1);
  772. chorusp4->labelsize(10);
  773. chorusp4->labelcolor(FL_FOREGROUND_COLOR);
  774. chorusp4->textsize(8);
  775. chorusp4->align(Fl_Align(130));
  776. chorusp4->when(FL_WHEN_RELEASE);
  777. chorusp4->menu(menu_chorusp4);
  778. o->init("parameter4");
  779. } // Fl_Osc_Choice* chorusp4
  780. set_module_parameters(o);
  781. effchoruswindow->end();
  782. } // Fl_Group* effchoruswindow
  783. return effchoruswindow;
  784. }
  785. Fl_Group* EffUI::make_phaser_window() {
  786. { Fl_Group* o = effphaserwindow = new Fl_Group(0, 0, 380, 95);
  787. effphaserwindow->box(FL_UP_BOX);
  788. effphaserwindow->color((Fl_Color)221);
  789. effphaserwindow->selection_color(FL_BACKGROUND_COLOR);
  790. effphaserwindow->labeltype(FL_NO_LABEL);
  791. effphaserwindow->labelfont(1);
  792. effphaserwindow->labelsize(19);
  793. effphaserwindow->labelcolor(FL_FOREGROUND_COLOR);
  794. effphaserwindow->user_data((void*)(this));
  795. effphaserwindow->align(Fl_Align(FL_ALIGN_TOP));
  796. effphaserwindow->when(FL_WHEN_RELEASE);
  797. { Fl_Osc_Choice* o = phaserp = new Fl_Osc_Choice(10, 15, 100, 15, "Preset");
  798. phaserp->box(FL_UP_BOX);
  799. phaserp->down_box(FL_BORDER_BOX);
  800. phaserp->color((Fl_Color)14);
  801. phaserp->selection_color(FL_BACKGROUND2_COLOR);
  802. phaserp->labeltype(FL_NORMAL_LABEL);
  803. phaserp->labelfont(1);
  804. phaserp->labelsize(10);
  805. phaserp->labelcolor(FL_FOREGROUND_COLOR);
  806. phaserp->textfont(1);
  807. phaserp->textsize(10);
  808. phaserp->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  809. phaserp->when(FL_WHEN_RELEASE);
  810. phaserp->menu(menu_phaserp);
  811. o->init("preset");
  812. } // Fl_Osc_Choice* phaserp
  813. { Fl_Osc_Dial* o = phaserp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  814. phaserp0->tooltip("Effect Volume");
  815. phaserp0->box(FL_ROUND_UP_BOX);
  816. phaserp0->color(FL_BACKGROUND_COLOR);
  817. phaserp0->selection_color(FL_INACTIVE_COLOR);
  818. phaserp0->labeltype(FL_NORMAL_LABEL);
  819. phaserp0->labelfont(1);
  820. phaserp0->labelsize(11);
  821. phaserp0->labelcolor(FL_FOREGROUND_COLOR);
  822. phaserp0->maximum(127);
  823. phaserp0->align(Fl_Align(FL_ALIGN_BOTTOM));
  824. phaserp0->when(FL_WHEN_CHANGED);
  825. o->init("parameter0");
  826. } // Fl_Osc_Dial* phaserp0
  827. { Fl_Osc_Dial* o = phaserp1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan");
  828. phaserp1->box(FL_ROUND_UP_BOX);
  829. phaserp1->color(FL_BACKGROUND_COLOR);
  830. phaserp1->selection_color(FL_INACTIVE_COLOR);
  831. phaserp1->labeltype(FL_NORMAL_LABEL);
  832. phaserp1->labelfont(1);
  833. phaserp1->labelsize(11);
  834. phaserp1->labelcolor(FL_FOREGROUND_COLOR);
  835. phaserp1->maximum(127);
  836. phaserp1->align(Fl_Align(FL_ALIGN_BOTTOM));
  837. phaserp1->when(FL_WHEN_CHANGED);
  838. o->init("parameter1");
  839. } // Fl_Osc_Dial* phaserp1
  840. { Fl_Osc_Dial* o = phaserp2 = new Fl_Osc_Dial(85, 45, 25, 25, "Freq");
  841. phaserp2->tooltip("LFO frequency");
  842. phaserp2->box(FL_ROUND_UP_BOX);
  843. phaserp2->color(FL_BACKGROUND_COLOR);
  844. phaserp2->selection_color(FL_INACTIVE_COLOR);
  845. phaserp2->labeltype(FL_NORMAL_LABEL);
  846. phaserp2->labelfont(1);
  847. phaserp2->labelsize(11);
  848. phaserp2->labelcolor(FL_FOREGROUND_COLOR);
  849. phaserp2->maximum(127);
  850. phaserp2->align(Fl_Align(FL_ALIGN_BOTTOM));
  851. phaserp2->when(FL_WHEN_CHANGED);
  852. o->init("parameter2");
  853. } // Fl_Osc_Dial* phaserp2
  854. { Fl_Osc_Dial* o = phaserp3 = new Fl_Osc_Dial(120, 45, 25, 25, "Rnd");
  855. phaserp3->tooltip("LFO randomness");
  856. phaserp3->box(FL_ROUND_UP_BOX);
  857. phaserp3->color(FL_BACKGROUND_COLOR);
  858. phaserp3->selection_color(FL_INACTIVE_COLOR);
  859. phaserp3->labeltype(FL_NORMAL_LABEL);
  860. phaserp3->labelfont(1);
  861. phaserp3->labelsize(11);
  862. phaserp3->labelcolor(FL_FOREGROUND_COLOR);
  863. phaserp3->maximum(127);
  864. phaserp3->align(Fl_Align(FL_ALIGN_BOTTOM));
  865. phaserp3->when(FL_WHEN_RELEASE);
  866. o->init("parameter3");
  867. } // Fl_Osc_Dial* phaserp3
  868. { Fl_Osc_Choice* o = phaserp4 = new Fl_Osc_Choice(245, 55, 40, 15, "LFO");
  869. phaserp4->tooltip("LFO function");
  870. phaserp4->box(FL_UP_BOX);
  871. phaserp4->down_box(FL_BORDER_BOX);
  872. phaserp4->color(FL_BACKGROUND_COLOR);
  873. phaserp4->selection_color(FL_SELECTION_COLOR);
  874. phaserp4->labeltype(FL_NORMAL_LABEL);
  875. phaserp4->labelfont(1);
  876. phaserp4->labelsize(10);
  877. phaserp4->labelcolor(FL_FOREGROUND_COLOR);
  878. phaserp4->textsize(8);
  879. phaserp4->align(Fl_Align(130));
  880. phaserp4->when(FL_WHEN_RELEASE);
  881. phaserp4->menu(menu_phaserp4);
  882. o->init("parameter4");
  883. } // Fl_Osc_Choice* phaserp4
  884. { Fl_Osc_Dial* o = phaserp5 = new Fl_Osc_Dial(155, 45, 25, 25, "St.df");
  885. phaserp5->tooltip("Left/Right Channel Phase Shift");
  886. phaserp5->box(FL_ROUND_UP_BOX);
  887. phaserp5->color(FL_BACKGROUND_COLOR);
  888. phaserp5->selection_color(FL_INACTIVE_COLOR);
  889. phaserp5->labeltype(FL_NORMAL_LABEL);
  890. phaserp5->labelfont(1);
  891. phaserp5->labelsize(11);
  892. phaserp5->labelcolor(FL_FOREGROUND_COLOR);
  893. phaserp5->maximum(127);
  894. phaserp5->align(Fl_Align(FL_ALIGN_BOTTOM));
  895. phaserp5->when(FL_WHEN_CHANGED);
  896. o->init("parameter5");
  897. } // Fl_Osc_Dial* phaserp5
  898. { Fl_Osc_Dial* o = phaserp6 = new Fl_Osc_Dial(120, 5, 25, 25, "Dpth");
  899. phaserp6->tooltip("LFO Depth");
  900. phaserp6->box(FL_ROUND_UP_BOX);
  901. phaserp6->color(FL_BACKGROUND_COLOR);
  902. phaserp6->selection_color(FL_INACTIVE_COLOR);
  903. phaserp6->labeltype(FL_NORMAL_LABEL);
  904. phaserp6->labelfont(1);
  905. phaserp6->labelsize(10);
  906. phaserp6->labelcolor(FL_FOREGROUND_COLOR);
  907. phaserp6->maximum(127);
  908. phaserp6->align(Fl_Align(FL_ALIGN_BOTTOM));
  909. phaserp6->when(FL_WHEN_CHANGED);
  910. o->init("parameter6");
  911. } // Fl_Osc_Dial* phaserp6
  912. { Fl_Osc_Dial* o = phaserp7 = new Fl_Osc_Dial(185, 45, 25, 25, "Fb");
  913. phaserp7->tooltip("Feedback");
  914. phaserp7->box(FL_ROUND_UP_BOX);
  915. phaserp7->color(FL_BACKGROUND_COLOR);
  916. phaserp7->selection_color(FL_INACTIVE_COLOR);
  917. phaserp7->labeltype(FL_NORMAL_LABEL);
  918. phaserp7->labelfont(1);
  919. phaserp7->labelsize(11);
  920. phaserp7->labelcolor(FL_FOREGROUND_COLOR);
  921. phaserp7->maximum(127);
  922. phaserp7->align(Fl_Align(FL_ALIGN_BOTTOM));
  923. phaserp7->when(FL_WHEN_CHANGED);
  924. o->init("parameter7");
  925. } // Fl_Osc_Dial* phaserp7
  926. { Fl_Osc_Counter* o = phaserp8 = new Fl_Osc_Counter(290, 55, 35, 15, "Stages");
  927. phaserp8->type(1);
  928. phaserp8->box(FL_UP_BOX);
  929. phaserp8->color(FL_BACKGROUND_COLOR);
  930. phaserp8->selection_color(FL_INACTIVE_COLOR);
  931. phaserp8->labeltype(FL_NORMAL_LABEL);
  932. phaserp8->labelfont(1);
  933. phaserp8->labelsize(11);
  934. phaserp8->labelcolor(FL_FOREGROUND_COLOR);
  935. phaserp8->minimum(0);
  936. phaserp8->maximum(127);
  937. phaserp8->step(1);
  938. phaserp8->align(Fl_Align(FL_ALIGN_BOTTOM));
  939. phaserp8->when(FL_WHEN_CHANGED);
  940. o->range(1,MAX_PHASER_STAGES);
  941. o->init("parameter8");
  942. } // Fl_Osc_Counter* phaserp8
  943. { Fl_Osc_Dial* o = phaserp9 = new Fl_Osc_Dial(215, 45, 25, 25, "L/R");
  944. phaserp9->tooltip("Channel Routing");
  945. phaserp9->box(FL_ROUND_UP_BOX);
  946. phaserp9->color(FL_BACKGROUND_COLOR);
  947. phaserp9->selection_color(FL_INACTIVE_COLOR);
  948. phaserp9->labeltype(FL_NORMAL_LABEL);
  949. phaserp9->labelfont(1);
  950. phaserp9->labelsize(11);
  951. phaserp9->labelcolor(FL_FOREGROUND_COLOR);
  952. phaserp9->maximum(127);
  953. phaserp9->align(Fl_Align(FL_ALIGN_BOTTOM));
  954. phaserp9->when(FL_WHEN_CHANGED);
  955. o->init("parameter9");
  956. } // Fl_Osc_Dial* phaserp9
  957. { Fl_Osc_Check* o = phaserp10 = new Fl_Osc_Check(200, 10, 74, 20, "Subtract");
  958. phaserp10->tooltip("inverts output");
  959. phaserp10->box(FL_THIN_UP_BOX);
  960. phaserp10->down_box(FL_DOWN_BOX);
  961. phaserp10->color((Fl_Color)51);
  962. phaserp10->selection_color(FL_FOREGROUND_COLOR);
  963. phaserp10->labeltype(FL_NORMAL_LABEL);
  964. phaserp10->labelfont(1);
  965. phaserp10->labelsize(10);
  966. phaserp10->labelcolor(FL_FOREGROUND_COLOR);
  967. phaserp10->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
  968. phaserp10->when(FL_WHEN_RELEASE);
  969. o->init("parameter10");
  970. } // Fl_Osc_Check* phaserp10
  971. { Fl_Osc_Dial* o = phaserp11 = new Fl_Osc_Dial(155, 5, 25, 25, "Phase");
  972. phaserp11->box(FL_ROUND_UP_BOX);
  973. phaserp11->color(FL_BACKGROUND_COLOR);
  974. phaserp11->selection_color(FL_INACTIVE_COLOR);
  975. phaserp11->labeltype(FL_NORMAL_LABEL);
  976. phaserp11->labelfont(1);
  977. phaserp11->labelsize(10);
  978. phaserp11->labelcolor(FL_FOREGROUND_COLOR);
  979. phaserp11->maximum(127);
  980. phaserp11->align(Fl_Align(FL_ALIGN_BOTTOM));
  981. phaserp11->when(FL_WHEN_CHANGED);
  982. o->init("parameter11");
  983. } // Fl_Osc_Dial* phaserp11
  984. { Fl_Osc_Check* o = phaserp12 = new Fl_Osc_Check(245, 35, 55, 15, "hyp.");
  985. phaserp12->tooltip("hyper");
  986. phaserp12->box(FL_NO_BOX);
  987. phaserp12->down_box(FL_DOWN_BOX);
  988. phaserp12->color(FL_BACKGROUND_COLOR);
  989. phaserp12->selection_color(FL_FOREGROUND_COLOR);
  990. phaserp12->labeltype(FL_NORMAL_LABEL);
  991. phaserp12->labelfont(0);
  992. phaserp12->labelsize(14);
  993. phaserp12->labelcolor(FL_FOREGROUND_COLOR);
  994. phaserp12->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
  995. phaserp12->when(FL_WHEN_RELEASE);
  996. o->init("parameter12");
  997. } // Fl_Osc_Check* phaserp12
  998. { Fl_Osc_Dial* o = phaserp13 = new Fl_Osc_Dial(340, 50, 25, 25, "dist");
  999. phaserp13->tooltip("Distortion");
  1000. phaserp13->box(FL_ROUND_UP_BOX);
  1001. phaserp13->color(FL_BACKGROUND_COLOR);
  1002. phaserp13->selection_color(FL_INACTIVE_COLOR);
  1003. phaserp13->labeltype(FL_NORMAL_LABEL);
  1004. phaserp13->labelfont(1);
  1005. phaserp13->labelsize(11);
  1006. phaserp13->labelcolor(FL_FOREGROUND_COLOR);
  1007. phaserp13->maximum(127);
  1008. phaserp13->align(Fl_Align(FL_ALIGN_BOTTOM));
  1009. phaserp13->when(FL_WHEN_CHANGED);
  1010. o->init("parameter13");
  1011. } // Fl_Osc_Dial* phaserp13
  1012. { Fl_Osc_Check* o = phaserp14 = new Fl_Osc_Check(305, 35, 70, 15, "Analog");
  1013. phaserp14->box(FL_NO_BOX);
  1014. phaserp14->down_box(FL_DOWN_BOX);
  1015. phaserp14->color(FL_BACKGROUND_COLOR);
  1016. phaserp14->selection_color(FL_FOREGROUND_COLOR);
  1017. phaserp14->labeltype(FL_NORMAL_LABEL);
  1018. phaserp14->labelfont(0);
  1019. phaserp14->labelsize(14);
  1020. phaserp14->labelcolor(FL_FOREGROUND_COLOR);
  1021. phaserp14->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
  1022. phaserp14->when(FL_WHEN_RELEASE);
  1023. o->init("parameter14");
  1024. } // Fl_Osc_Check* phaserp14
  1025. set_module_parameters(o);
  1026. effphaserwindow->end();
  1027. } // Fl_Group* effphaserwindow
  1028. return effphaserwindow;
  1029. }
  1030. Fl_Group* EffUI::make_alienwah_window() {
  1031. { Fl_Group* o = effalienwahwindow = new Fl_Group(0, 0, 380, 100);
  1032. effalienwahwindow->box(FL_UP_BOX);
  1033. effalienwahwindow->color((Fl_Color)221);
  1034. effalienwahwindow->selection_color(FL_BACKGROUND_COLOR);
  1035. effalienwahwindow->labeltype(FL_NO_LABEL);
  1036. effalienwahwindow->labelfont(1);
  1037. effalienwahwindow->labelsize(19);
  1038. effalienwahwindow->labelcolor(FL_FOREGROUND_COLOR);
  1039. effalienwahwindow->user_data((void*)(this));
  1040. effalienwahwindow->align(Fl_Align(FL_ALIGN_TOP));
  1041. effalienwahwindow->when(FL_WHEN_RELEASE);
  1042. { Fl_Osc_Choice* o = awp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset");
  1043. awp->box(FL_UP_BOX);
  1044. awp->down_box(FL_BORDER_BOX);
  1045. awp->color((Fl_Color)14);
  1046. awp->selection_color(FL_BACKGROUND2_COLOR);
  1047. awp->labeltype(FL_NORMAL_LABEL);
  1048. awp->labelfont(1);
  1049. awp->labelsize(10);
  1050. awp->labelcolor(FL_FOREGROUND_COLOR);
  1051. awp->textfont(1);
  1052. awp->textsize(10);
  1053. awp->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  1054. awp->when(FL_WHEN_RELEASE);
  1055. awp->menu(menu_awp);
  1056. o->init("preset");
  1057. } // Fl_Osc_Choice* awp
  1058. { Fl_Osc_Dial* o = awp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  1059. awp0->tooltip("Effect Volume");
  1060. awp0->box(FL_ROUND_UP_BOX);
  1061. awp0->color(FL_BACKGROUND_COLOR);
  1062. awp0->selection_color(FL_INACTIVE_COLOR);
  1063. awp0->labeltype(FL_NORMAL_LABEL);
  1064. awp0->labelfont(1);
  1065. awp0->labelsize(11);
  1066. awp0->labelcolor(FL_FOREGROUND_COLOR);
  1067. awp0->maximum(127);
  1068. awp0->align(Fl_Align(FL_ALIGN_BOTTOM));
  1069. awp0->when(FL_WHEN_CHANGED);
  1070. o->init("parameter0");
  1071. } // Fl_Osc_Dial* awp0
  1072. { Fl_Osc_Dial* o = awp1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan");
  1073. awp1->box(FL_ROUND_UP_BOX);
  1074. awp1->color(FL_BACKGROUND_COLOR);
  1075. awp1->selection_color(FL_INACTIVE_COLOR);
  1076. awp1->labeltype(FL_NORMAL_LABEL);
  1077. awp1->labelfont(1);
  1078. awp1->labelsize(11);
  1079. awp1->labelcolor(FL_FOREGROUND_COLOR);
  1080. awp1->maximum(127);
  1081. awp1->align(Fl_Align(FL_ALIGN_BOTTOM));
  1082. awp1->when(FL_WHEN_CHANGED);
  1083. o->init("parameter1");
  1084. } // Fl_Osc_Dial* awp1
  1085. { Fl_Osc_Dial* o = awp2 = new Fl_Osc_Dial(85, 40, 30, 30, "Freq");
  1086. awp2->tooltip("LFO Frequency");
  1087. awp2->box(FL_ROUND_UP_BOX);
  1088. awp2->color(FL_BACKGROUND_COLOR);
  1089. awp2->selection_color(FL_INACTIVE_COLOR);
  1090. awp2->labeltype(FL_NORMAL_LABEL);
  1091. awp2->labelfont(1);
  1092. awp2->labelsize(11);
  1093. awp2->labelcolor(FL_FOREGROUND_COLOR);
  1094. awp2->maximum(127);
  1095. awp2->align(Fl_Align(FL_ALIGN_BOTTOM));
  1096. awp2->when(FL_WHEN_CHANGED);
  1097. o->init("parameter2");
  1098. } // Fl_Osc_Dial* awp2
  1099. { Fl_Osc_Dial* o = awp3 = new Fl_Osc_Dial(120, 40, 30, 30, "Rnd");
  1100. awp3->tooltip("LFO Randomness");
  1101. awp3->box(FL_ROUND_UP_BOX);
  1102. awp3->color(FL_BACKGROUND_COLOR);
  1103. awp3->selection_color(FL_INACTIVE_COLOR);
  1104. awp3->labeltype(FL_NORMAL_LABEL);
  1105. awp3->labelfont(1);
  1106. awp3->labelsize(11);
  1107. awp3->labelcolor(FL_FOREGROUND_COLOR);
  1108. awp3->maximum(127);
  1109. awp3->align(Fl_Align(FL_ALIGN_BOTTOM));
  1110. awp3->when(FL_WHEN_RELEASE);
  1111. o->init("parameter3");
  1112. } // Fl_Osc_Dial* awp3
  1113. { Fl_Osc_Dial* o = awp5 = new Fl_Osc_Dial(200, 40, 30, 30, "St.df");
  1114. awp5->tooltip("Left/Right Channel Phase Shift");
  1115. awp5->box(FL_ROUND_UP_BOX);
  1116. awp5->color(FL_BACKGROUND_COLOR);
  1117. awp5->selection_color(FL_INACTIVE_COLOR);
  1118. awp5->labeltype(FL_NORMAL_LABEL);
  1119. awp5->labelfont(1);
  1120. awp5->labelsize(11);
  1121. awp5->labelcolor(FL_FOREGROUND_COLOR);
  1122. awp5->maximum(127);
  1123. awp5->align(Fl_Align(FL_ALIGN_BOTTOM));
  1124. awp5->when(FL_WHEN_CHANGED);
  1125. o->init("parameter5");
  1126. } // Fl_Osc_Dial* awp5
  1127. { Fl_Osc_Dial* o = awp6 = new Fl_Osc_Dial(235, 40, 30, 30, "Dpth");
  1128. awp6->tooltip("Depth");
  1129. awp6->box(FL_ROUND_UP_BOX);
  1130. awp6->color(FL_BACKGROUND_COLOR);
  1131. awp6->selection_color(FL_INACTIVE_COLOR);
  1132. awp6->labeltype(FL_NORMAL_LABEL);
  1133. awp6->labelfont(1);
  1134. awp6->labelsize(11);
  1135. awp6->labelcolor(FL_FOREGROUND_COLOR);
  1136. awp6->maximum(127);
  1137. awp6->align(Fl_Align(FL_ALIGN_BOTTOM));
  1138. awp6->when(FL_WHEN_CHANGED);
  1139. o->init("parameter6");
  1140. } // Fl_Osc_Dial* awp6
  1141. { Fl_Osc_Dial* o = awp7 = new Fl_Osc_Dial(270, 40, 30, 30, "Fb");
  1142. awp7->tooltip("Feedback");
  1143. awp7->box(FL_ROUND_UP_BOX);
  1144. awp7->color(FL_BACKGROUND_COLOR);
  1145. awp7->selection_color(FL_INACTIVE_COLOR);
  1146. awp7->labeltype(FL_NORMAL_LABEL);
  1147. awp7->labelfont(1);
  1148. awp7->labelsize(11);
  1149. awp7->labelcolor(FL_FOREGROUND_COLOR);
  1150. awp7->maximum(127);
  1151. awp7->align(Fl_Align(FL_ALIGN_BOTTOM));
  1152. awp7->when(FL_WHEN_CHANGED);
  1153. o->init("parameter7");
  1154. } // Fl_Osc_Dial* awp7
  1155. { Fl_Osc_Dial* o = awp9 = new Fl_Osc_Dial(345, 40, 30, 30, "L/R");
  1156. awp9->box(FL_ROUND_UP_BOX);
  1157. awp9->color(FL_BACKGROUND_COLOR);
  1158. awp9->selection_color(FL_INACTIVE_COLOR);
  1159. awp9->labeltype(FL_NORMAL_LABEL);
  1160. awp9->labelfont(1);
  1161. awp9->labelsize(11);
  1162. awp9->labelcolor(FL_FOREGROUND_COLOR);
  1163. awp9->maximum(127);
  1164. awp9->align(Fl_Align(FL_ALIGN_BOTTOM));
  1165. awp9->when(FL_WHEN_CHANGED);
  1166. o->init("parameter9");
  1167. } // Fl_Osc_Dial* awp9
  1168. { Fl_Osc_Choice* o = awp4 = new Fl_Osc_Choice(155, 50, 40, 15, "LFO type");
  1169. awp4->tooltip("LFO function");
  1170. awp4->box(FL_UP_BOX);
  1171. awp4->down_box(FL_BORDER_BOX);
  1172. awp4->color(FL_BACKGROUND_COLOR);
  1173. awp4->selection_color(FL_SELECTION_COLOR);
  1174. awp4->labeltype(FL_NORMAL_LABEL);
  1175. awp4->labelfont(1);
  1176. awp4->labelsize(10);
  1177. awp4->labelcolor(FL_FOREGROUND_COLOR);
  1178. awp4->textsize(8);
  1179. awp4->align(Fl_Align(130));
  1180. awp4->when(FL_WHEN_RELEASE);
  1181. awp4->menu(menu_awp4);
  1182. o->init("parameter4");
  1183. } // Fl_Osc_Choice* awp4
  1184. { Fl_Osc_Dial* o = awp10 = new Fl_Osc_Dial(160, 5, 30, 30, "Phase");
  1185. awp10->box(FL_ROUND_UP_BOX);
  1186. awp10->color(FL_BACKGROUND_COLOR);
  1187. awp10->selection_color(FL_INACTIVE_COLOR);
  1188. awp10->labeltype(FL_NORMAL_LABEL);
  1189. awp10->labelfont(1);
  1190. awp10->labelsize(11);
  1191. awp10->labelcolor(FL_FOREGROUND_COLOR);
  1192. awp10->maximum(127);
  1193. awp10->align(Fl_Align(FL_ALIGN_BOTTOM));
  1194. awp10->when(FL_WHEN_CHANGED);
  1195. o->init("parameter10");
  1196. } // Fl_Osc_Dial* awp10
  1197. { Fl_Osc_Counter* o = awp8 = new Fl_Osc_Counter(305, 55, 35, 15, "Delay");
  1198. awp8->type(1);
  1199. awp8->box(FL_UP_BOX);
  1200. awp8->color(FL_BACKGROUND_COLOR);
  1201. awp8->selection_color(FL_INACTIVE_COLOR);
  1202. awp8->labeltype(FL_NORMAL_LABEL);
  1203. awp8->labelfont(1);
  1204. awp8->labelsize(11);
  1205. awp8->labelcolor(FL_FOREGROUND_COLOR);
  1206. awp8->minimum(0);
  1207. awp8->maximum(127);
  1208. awp8->step(1);
  1209. awp8->align(Fl_Align(FL_ALIGN_BOTTOM));
  1210. awp8->when(FL_WHEN_CHANGED);
  1211. o->range(1,MAX_ALIENWAH_DELAY);
  1212. o->init("parameter8");
  1213. } // Fl_Osc_Counter* awp8
  1214. set_module_parameters(o);
  1215. effalienwahwindow->end();
  1216. } // Fl_Group* effalienwahwindow
  1217. return effalienwahwindow;
  1218. }
  1219. Fl_Group* EffUI::make_distorsion_window() {
  1220. { Fl_Group* o = effdistorsionwindow = new Fl_Group(0, 0, 380, 100);
  1221. effdistorsionwindow->box(FL_UP_BOX);
  1222. effdistorsionwindow->color((Fl_Color)221);
  1223. effdistorsionwindow->selection_color(FL_BACKGROUND_COLOR);
  1224. effdistorsionwindow->labeltype(FL_NO_LABEL);
  1225. effdistorsionwindow->labelfont(1);
  1226. effdistorsionwindow->labelsize(19);
  1227. effdistorsionwindow->labelcolor(FL_FOREGROUND_COLOR);
  1228. effdistorsionwindow->user_data((void*)(this));
  1229. effdistorsionwindow->align(Fl_Align(FL_ALIGN_TOP));
  1230. effdistorsionwindow->when(FL_WHEN_RELEASE);
  1231. { Fl_Osc_Choice* o = distp = new Fl_Osc_Choice(11, 15, 95, 15, "Preset");
  1232. distp->box(FL_UP_BOX);
  1233. distp->down_box(FL_BORDER_BOX);
  1234. distp->color((Fl_Color)14);
  1235. distp->selection_color(FL_BACKGROUND2_COLOR);
  1236. distp->labeltype(FL_NORMAL_LABEL);
  1237. distp->labelfont(1);
  1238. distp->labelsize(10);
  1239. distp->labelcolor(FL_FOREGROUND_COLOR);
  1240. distp->textfont(1);
  1241. distp->textsize(10);
  1242. distp->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  1243. distp->when(FL_WHEN_RELEASE);
  1244. distp->menu(menu_distp);
  1245. o->init("preset");
  1246. } // Fl_Osc_Choice* distp
  1247. { Fl_Osc_Dial* o = distp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  1248. distp0->tooltip("Effect Volume");
  1249. distp0->box(FL_ROUND_UP_BOX);
  1250. distp0->color(FL_BACKGROUND_COLOR);
  1251. distp0->selection_color(FL_INACTIVE_COLOR);
  1252. distp0->labeltype(FL_NORMAL_LABEL);
  1253. distp0->labelfont(1);
  1254. distp0->labelsize(11);
  1255. distp0->labelcolor(FL_FOREGROUND_COLOR);
  1256. distp0->maximum(127);
  1257. distp0->align(Fl_Align(FL_ALIGN_BOTTOM));
  1258. distp0->when(FL_WHEN_CHANGED);
  1259. o->init("parameter0");
  1260. } // Fl_Osc_Dial* distp0
  1261. { Fl_Osc_Dial* o = distp1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan");
  1262. distp1->box(FL_ROUND_UP_BOX);
  1263. distp1->color(FL_BACKGROUND_COLOR);
  1264. distp1->selection_color(FL_INACTIVE_COLOR);
  1265. distp1->labeltype(FL_NORMAL_LABEL);
  1266. distp1->labelfont(1);
  1267. distp1->labelsize(11);
  1268. distp1->labelcolor(FL_FOREGROUND_COLOR);
  1269. distp1->maximum(127);
  1270. distp1->align(Fl_Align(FL_ALIGN_BOTTOM));
  1271. distp1->when(FL_WHEN_CHANGED);
  1272. o->init("parameter1");
  1273. } // Fl_Osc_Dial* distp1
  1274. { Fl_Osc_Dial* o = distp2 = new Fl_Osc_Dial(80, 40, 30, 30, "LRc.");
  1275. distp2->tooltip("L/R Mix");
  1276. distp2->box(FL_ROUND_UP_BOX);
  1277. distp2->color(FL_BACKGROUND_COLOR);
  1278. distp2->selection_color(FL_INACTIVE_COLOR);
  1279. distp2->labeltype(FL_NORMAL_LABEL);
  1280. distp2->labelfont(1);
  1281. distp2->labelsize(11);
  1282. distp2->labelcolor(FL_FOREGROUND_COLOR);
  1283. distp2->maximum(127);
  1284. distp2->align(Fl_Align(FL_ALIGN_BOTTOM));
  1285. distp2->when(FL_WHEN_RELEASE);
  1286. o->init("parameter2");
  1287. } // Fl_Osc_Dial* distp2
  1288. { Fl_Osc_Dial* o = distp3 = new Fl_Osc_Dial(120, 40, 30, 30, "Drive");
  1289. distp3->tooltip("Input Amplification");
  1290. distp3->box(FL_ROUND_UP_BOX);
  1291. distp3->color(FL_BACKGROUND_COLOR);
  1292. distp3->selection_color(FL_INACTIVE_COLOR);
  1293. distp3->labeltype(FL_NORMAL_LABEL);
  1294. distp3->labelfont(1);
  1295. distp3->labelsize(11);
  1296. distp3->labelcolor(FL_FOREGROUND_COLOR);
  1297. distp3->maximum(127);
  1298. distp3->align(Fl_Align(FL_ALIGN_BOTTOM));
  1299. distp3->when(FL_WHEN_RELEASE);
  1300. o->init("parameter3");
  1301. } // Fl_Osc_Dial* distp3
  1302. { Fl_Osc_Dial* o = distp4 = new Fl_Osc_Dial(155, 40, 30, 30, "Level");
  1303. distp4->tooltip("Output Amplification");
  1304. distp4->box(FL_ROUND_UP_BOX);
  1305. distp4->color(FL_BACKGROUND_COLOR);
  1306. distp4->selection_color(FL_INACTIVE_COLOR);
  1307. distp4->labeltype(FL_NORMAL_LABEL);
  1308. distp4->labelfont(1);
  1309. distp4->labelsize(11);
  1310. distp4->labelcolor(FL_FOREGROUND_COLOR);
  1311. distp4->maximum(127);
  1312. distp4->align(Fl_Align(FL_ALIGN_BOTTOM));
  1313. distp4->when(FL_WHEN_CHANGED);
  1314. o->init("parameter4");
  1315. } // Fl_Osc_Dial* distp4
  1316. { Fl_Osc_Dial* o = distp7 = new Fl_Osc_Dial(285, 40, 30, 30, "LPF");
  1317. distp7->tooltip("Low Pass Filter");
  1318. distp7->box(FL_ROUND_UP_BOX);
  1319. distp7->color(FL_BACKGROUND_COLOR);
  1320. distp7->selection_color(FL_INACTIVE_COLOR);
  1321. distp7->labeltype(FL_NORMAL_LABEL);
  1322. distp7->labelfont(1);
  1323. distp7->labelsize(11);
  1324. distp7->labelcolor(FL_FOREGROUND_COLOR);
  1325. distp7->maximum(127);
  1326. distp7->align(Fl_Align(FL_ALIGN_BOTTOM));
  1327. distp7->when(FL_WHEN_CHANGED);
  1328. o->init("parameter7");
  1329. } // Fl_Osc_Dial* distp7
  1330. { Fl_Osc_Dial* o = distp8 = new Fl_Osc_Dial(320, 40, 30, 30, "HPF");
  1331. distp8->tooltip("High Pass Filter");
  1332. distp8->box(FL_ROUND_UP_BOX);
  1333. distp8->color(FL_BACKGROUND_COLOR);
  1334. distp8->selection_color(FL_INACTIVE_COLOR);
  1335. distp8->labeltype(FL_NORMAL_LABEL);
  1336. distp8->labelfont(1);
  1337. distp8->labelsize(11);
  1338. distp8->labelcolor(FL_FOREGROUND_COLOR);
  1339. distp8->maximum(127);
  1340. distp8->align(Fl_Align(FL_ALIGN_BOTTOM));
  1341. distp8->when(FL_WHEN_CHANGED);
  1342. o->init("parameter8");
  1343. } // Fl_Osc_Dial* distp8
  1344. { Fl_Osc_Choice* o = distp5 = new Fl_Osc_Choice(190, 50, 60, 20, "Type");
  1345. distp5->box(FL_UP_BOX);
  1346. distp5->down_box(FL_BORDER_BOX);
  1347. distp5->color(FL_BACKGROUND_COLOR);
  1348. distp5->selection_color(FL_SELECTION_COLOR);
  1349. distp5->labeltype(FL_NORMAL_LABEL);
  1350. distp5->labelfont(1);
  1351. distp5->labelsize(11);
  1352. distp5->labelcolor(FL_FOREGROUND_COLOR);
  1353. distp5->textsize(10);
  1354. distp5->align(Fl_Align(FL_ALIGN_BOTTOM));
  1355. distp5->when(FL_WHEN_RELEASE);
  1356. distp5->menu(menu_distp5);
  1357. o->init("parameter5");
  1358. } // Fl_Osc_Choice* distp5
  1359. { Fl_Osc_Check* o = distp6 = new Fl_Osc_Check(260, 55, 15, 15, "Neg.");
  1360. distp6->box(FL_NO_BOX);
  1361. distp6->down_box(FL_DOWN_BOX);
  1362. distp6->color(FL_BACKGROUND_COLOR);
  1363. distp6->selection_color(FL_FOREGROUND_COLOR);
  1364. distp6->labeltype(FL_NORMAL_LABEL);
  1365. distp6->labelfont(1);
  1366. distp6->labelsize(11);
  1367. distp6->labelcolor(FL_FOREGROUND_COLOR);
  1368. distp6->align(Fl_Align(FL_ALIGN_BOTTOM));
  1369. distp6->when(FL_WHEN_RELEASE);
  1370. o->init("parameter6");
  1371. } // Fl_Osc_Check* distp6
  1372. { Fl_Osc_Check* o = distp9 = new Fl_Osc_Check(355, 60, 15, 15, "St.");
  1373. distp9->tooltip("Stereo");
  1374. distp9->box(FL_NO_BOX);
  1375. distp9->down_box(FL_DOWN_BOX);
  1376. distp9->color(FL_BACKGROUND_COLOR);
  1377. distp9->selection_color(FL_FOREGROUND_COLOR);
  1378. distp9->labeltype(FL_NORMAL_LABEL);
  1379. distp9->labelfont(1);
  1380. distp9->labelsize(11);
  1381. distp9->labelcolor(FL_FOREGROUND_COLOR);
  1382. distp9->align(Fl_Align(FL_ALIGN_BOTTOM));
  1383. distp9->when(FL_WHEN_RELEASE);
  1384. o->init("parameter9");
  1385. } // Fl_Osc_Check* distp9
  1386. { Fl_Osc_Check* o = distp10 = new Fl_Osc_Check(355, 44, 15, 15, "PF");
  1387. distp10->tooltip("Applies the filters(before or after) the distorsion");
  1388. distp10->box(FL_NO_BOX);
  1389. distp10->down_box(FL_DOWN_BOX);
  1390. distp10->color(FL_BACKGROUND_COLOR);
  1391. distp10->selection_color(FL_FOREGROUND_COLOR);
  1392. distp10->labeltype(FL_NORMAL_LABEL);
  1393. distp10->labelfont(1);
  1394. distp10->labelsize(11);
  1395. distp10->labelcolor(FL_FOREGROUND_COLOR);
  1396. distp10->align(Fl_Align(FL_ALIGN_TOP));
  1397. distp10->when(FL_WHEN_RELEASE);
  1398. o->init("parameter10");
  1399. } // Fl_Osc_Check* distp10
  1400. set_module_parameters(o);
  1401. effdistorsionwindow->end();
  1402. } // Fl_Group* effdistorsionwindow
  1403. return effdistorsionwindow;
  1404. }
  1405. Fl_Group* EffUI::make_eq_window() {
  1406. { Fl_Group* o = effeqwindow = new Fl_Group(0, 0, 380, 100);
  1407. effeqwindow->box(FL_UP_BOX);
  1408. effeqwindow->color((Fl_Color)221);
  1409. effeqwindow->selection_color(FL_BACKGROUND_COLOR);
  1410. effeqwindow->labeltype(FL_NO_LABEL);
  1411. effeqwindow->labelfont(1);
  1412. effeqwindow->labelsize(19);
  1413. effeqwindow->labelcolor(FL_FOREGROUND_COLOR);
  1414. effeqwindow->user_data((void*)(this));
  1415. effeqwindow->align(Fl_Align(FL_ALIGN_TOP));
  1416. effeqwindow->when(FL_WHEN_RELEASE);
  1417. { Fl_Osc_Dial* o = eqp0 = new Fl_Osc_Dial(10, 35, 30, 30, "Gain");
  1418. eqp0->box(FL_ROUND_UP_BOX);
  1419. eqp0->color(FL_BACKGROUND_COLOR);
  1420. eqp0->selection_color(FL_INACTIVE_COLOR);
  1421. eqp0->labeltype(FL_NORMAL_LABEL);
  1422. eqp0->labelfont(1);
  1423. eqp0->labelsize(11);
  1424. eqp0->labelcolor(FL_FOREGROUND_COLOR);
  1425. eqp0->maximum(127);
  1426. eqp0->callback((Fl_Callback*)cb_eqp0);
  1427. eqp0->align(Fl_Align(FL_ALIGN_BOTTOM));
  1428. eqp0->when(FL_WHEN_CHANGED);
  1429. o->init("parameter0");
  1430. } // Fl_Osc_Dial* eqp0
  1431. { Fl_Counter* o = bandcounter = new Fl_Counter(240, 20, 45, 15, "B.");
  1432. bandcounter->tooltip("Band no.");
  1433. bandcounter->type(1);
  1434. bandcounter->labelfont(1);
  1435. bandcounter->labelsize(11);
  1436. bandcounter->minimum(0);
  1437. bandcounter->maximum(1);
  1438. bandcounter->step(1);
  1439. bandcounter->textfont(1);
  1440. bandcounter->textsize(11);
  1441. bandcounter->callback((Fl_Callback*)cb_bandcounter);
  1442. bandcounter->align(Fl_Align(FL_ALIGN_TOP));
  1443. o->bounds(0,MAX_EQ_BANDS-1);
  1444. } // Fl_Counter* bandcounter
  1445. { bandgroup = new Fl_Group(245, 40, 130, 50);
  1446. bandgroup->box(FL_ENGRAVED_FRAME);
  1447. { Fl_Osc_Dial* o = freqdial = new Fl_Osc_Dial(250, 50, 25, 25, "Freq");
  1448. freqdial->box(FL_ROUND_UP_BOX);
  1449. freqdial->color(FL_BACKGROUND_COLOR);
  1450. freqdial->selection_color(FL_INACTIVE_COLOR);
  1451. freqdial->labeltype(FL_NORMAL_LABEL);
  1452. freqdial->labelfont(1);
  1453. freqdial->labelsize(10);
  1454. freqdial->labelcolor(FL_FOREGROUND_COLOR);
  1455. freqdial->maximum(127);
  1456. freqdial->callback((Fl_Callback*)cb_freqdial);
  1457. freqdial->align(Fl_Align(FL_ALIGN_BOTTOM));
  1458. freqdial->when(3);
  1459. o->init("parameter11");
  1460. } // Fl_Osc_Dial* freqdial
  1461. { Fl_Osc_Dial* o = gaindial = new Fl_Osc_Dial(280, 50, 25, 25, "Gain");
  1462. gaindial->box(FL_ROUND_UP_BOX);
  1463. gaindial->color(FL_BACKGROUND_COLOR);
  1464. gaindial->selection_color(FL_INACTIVE_COLOR);
  1465. gaindial->labeltype(FL_NORMAL_LABEL);
  1466. gaindial->labelfont(1);
  1467. gaindial->labelsize(10);
  1468. gaindial->labelcolor(FL_FOREGROUND_COLOR);
  1469. gaindial->maximum(127);
  1470. gaindial->step(1);
  1471. gaindial->callback((Fl_Callback*)cb_gaindial);
  1472. gaindial->align(Fl_Align(FL_ALIGN_BOTTOM));
  1473. gaindial->when(3);
  1474. o->init("parameter12");
  1475. } // Fl_Osc_Dial* gaindial
  1476. { Fl_Osc_Dial* o = qdial = new Fl_Osc_Dial(310, 50, 25, 25, "Q");
  1477. qdial->tooltip("Resonance/Bandwidth");
  1478. qdial->box(FL_ROUND_UP_BOX);
  1479. qdial->color(FL_BACKGROUND_COLOR);
  1480. qdial->selection_color(FL_INACTIVE_COLOR);
  1481. qdial->labeltype(FL_NORMAL_LABEL);
  1482. qdial->labelfont(1);
  1483. qdial->labelsize(10);
  1484. qdial->labelcolor(FL_FOREGROUND_COLOR);
  1485. qdial->maximum(127);
  1486. qdial->callback((Fl_Callback*)cb_qdial);
  1487. qdial->align(Fl_Align(FL_ALIGN_BOTTOM));
  1488. qdial->when(3);
  1489. o->init("parameter13");
  1490. } // Fl_Osc_Dial* qdial
  1491. { Fl_Osc_Counter* o = stagescounter = new Fl_Osc_Counter(340, 60, 30, 15, "St.");
  1492. stagescounter->tooltip("Additional filter stages");
  1493. stagescounter->type(1);
  1494. stagescounter->box(FL_UP_BOX);
  1495. stagescounter->color(FL_BACKGROUND_COLOR);
  1496. stagescounter->selection_color(FL_INACTIVE_COLOR);
  1497. stagescounter->labeltype(FL_NORMAL_LABEL);
  1498. stagescounter->labelfont(1);
  1499. stagescounter->labelsize(10);
  1500. stagescounter->labelcolor(FL_FOREGROUND_COLOR);
  1501. stagescounter->minimum(0);
  1502. stagescounter->maximum(127);
  1503. stagescounter->step(1);
  1504. stagescounter->textfont(1);
  1505. stagescounter->textsize(11);
  1506. stagescounter->callback((Fl_Callback*)cb_stagescounter);
  1507. stagescounter->align(Fl_Align(FL_ALIGN_BOTTOM));
  1508. stagescounter->when(FL_WHEN_CHANGED);
  1509. o->init("parameter14");
  1510. } // Fl_Osc_Counter* stagescounter
  1511. bandgroup->end();
  1512. } // Fl_Group* bandgroup
  1513. { Fl_Osc_Choice* o = typechoice = new Fl_Osc_Choice(290, 20, 40, 15, "T.");
  1514. typechoice->tooltip("Type");
  1515. typechoice->box(FL_UP_BOX);
  1516. typechoice->down_box(FL_BORDER_BOX);
  1517. typechoice->color(FL_BACKGROUND_COLOR);
  1518. typechoice->selection_color(FL_SELECTION_COLOR);
  1519. typechoice->labeltype(FL_NORMAL_LABEL);
  1520. typechoice->labelfont(1);
  1521. typechoice->labelsize(10);
  1522. typechoice->labelcolor(FL_FOREGROUND_COLOR);
  1523. typechoice->textsize(10);
  1524. typechoice->callback((Fl_Callback*)cb_typechoice);
  1525. typechoice->align(Fl_Align(FL_ALIGN_TOP));
  1526. typechoice->when(FL_WHEN_RELEASE_ALWAYS);
  1527. typechoice->menu(menu_typechoice);
  1528. o->init("parameter15");
  1529. } // Fl_Osc_Choice* typechoice
  1530. { eqgraph = new Fl_EQGraph(45, 10, 190, 75);
  1531. eqgraph->box(FL_BORDER_BOX);
  1532. eqgraph->color(FL_LIGHT1);
  1533. eqgraph->selection_color(FL_BACKGROUND_COLOR);
  1534. eqgraph->labeltype(FL_NORMAL_LABEL);
  1535. eqgraph->labelfont(0);
  1536. eqgraph->labelsize(14);
  1537. eqgraph->labelcolor(FL_FOREGROUND_COLOR);
  1538. eqgraph->align(Fl_Align(FL_ALIGN_CENTER));
  1539. eqgraph->when(FL_WHEN_RELEASE);
  1540. } // Fl_EQGraph* eqgraph
  1541. set_module_parameters(o);
  1542. effeqwindow->end();
  1543. } // Fl_Group* effeqwindow
  1544. return effeqwindow;
  1545. }
  1546. Fl_Group* EffUI::make_dynamicfilter_window() {
  1547. { Fl_Group* o = effdynamicfilterwindow = new Fl_Group(0, 0, 380, 100);
  1548. effdynamicfilterwindow->box(FL_UP_BOX);
  1549. effdynamicfilterwindow->color((Fl_Color)221);
  1550. effdynamicfilterwindow->selection_color(FL_BACKGROUND_COLOR);
  1551. effdynamicfilterwindow->labeltype(FL_NO_LABEL);
  1552. effdynamicfilterwindow->labelfont(1);
  1553. effdynamicfilterwindow->labelsize(19);
  1554. effdynamicfilterwindow->labelcolor(FL_FOREGROUND_COLOR);
  1555. effdynamicfilterwindow->user_data((void*)(this));
  1556. effdynamicfilterwindow->align(Fl_Align(FL_ALIGN_TOP));
  1557. effdynamicfilterwindow->when(FL_WHEN_RELEASE);
  1558. { Fl_Osc_Choice* o = dfp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset");
  1559. dfp->box(FL_UP_BOX);
  1560. dfp->down_box(FL_BORDER_BOX);
  1561. dfp->color((Fl_Color)14);
  1562. dfp->selection_color(FL_BACKGROUND2_COLOR);
  1563. dfp->labeltype(FL_NORMAL_LABEL);
  1564. dfp->labelfont(1);
  1565. dfp->labelsize(10);
  1566. dfp->labelcolor(FL_FOREGROUND_COLOR);
  1567. dfp->textfont(1);
  1568. dfp->textsize(10);
  1569. dfp->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  1570. dfp->when(FL_WHEN_RELEASE);
  1571. dfp->menu(menu_dfp);
  1572. o->init("preset");
  1573. } // Fl_Osc_Choice* dfp
  1574. { Fl_Osc_Dial* o = dfp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  1575. dfp0->tooltip("Effect Volume");
  1576. dfp0->box(FL_ROUND_UP_BOX);
  1577. dfp0->color(FL_BACKGROUND_COLOR);
  1578. dfp0->selection_color(FL_INACTIVE_COLOR);
  1579. dfp0->labeltype(FL_NORMAL_LABEL);
  1580. dfp0->labelfont(1);
  1581. dfp0->labelsize(11);
  1582. dfp0->labelcolor(FL_FOREGROUND_COLOR);
  1583. dfp0->maximum(127);
  1584. dfp0->align(Fl_Align(FL_ALIGN_BOTTOM));
  1585. dfp0->when(FL_WHEN_CHANGED);
  1586. o->init("parameter0");
  1587. } // Fl_Osc_Dial* dfp0
  1588. { Fl_Osc_Dial* o = dfp1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan");
  1589. dfp1->box(FL_ROUND_UP_BOX);
  1590. dfp1->color(FL_BACKGROUND_COLOR);
  1591. dfp1->selection_color(FL_INACTIVE_COLOR);
  1592. dfp1->labeltype(FL_NORMAL_LABEL);
  1593. dfp1->labelfont(1);
  1594. dfp1->labelsize(11);
  1595. dfp1->labelcolor(FL_FOREGROUND_COLOR);
  1596. dfp1->maximum(127);
  1597. dfp1->align(Fl_Align(FL_ALIGN_BOTTOM));
  1598. dfp1->when(FL_WHEN_CHANGED);
  1599. o->init("parameter1");
  1600. } // Fl_Osc_Dial* dfp1
  1601. { Fl_Osc_Dial* o = dfp2 = new Fl_Osc_Dial(85, 40, 30, 30, "Freq");
  1602. dfp2->tooltip("LFO Frequency");
  1603. dfp2->box(FL_ROUND_UP_BOX);
  1604. dfp2->color(FL_BACKGROUND_COLOR);
  1605. dfp2->selection_color(FL_INACTIVE_COLOR);
  1606. dfp2->labeltype(FL_NORMAL_LABEL);
  1607. dfp2->labelfont(1);
  1608. dfp2->labelsize(11);
  1609. dfp2->labelcolor(FL_FOREGROUND_COLOR);
  1610. dfp2->maximum(127);
  1611. dfp2->align(Fl_Align(FL_ALIGN_BOTTOM));
  1612. dfp2->when(FL_WHEN_CHANGED);
  1613. o->init("parameter2");
  1614. } // Fl_Osc_Dial* dfp2
  1615. { Fl_Osc_Dial* o = dfp3 = new Fl_Osc_Dial(120, 40, 30, 30, "Rnd");
  1616. dfp3->tooltip("LFO Randomness");
  1617. dfp3->box(FL_ROUND_UP_BOX);
  1618. dfp3->color(FL_BACKGROUND_COLOR);
  1619. dfp3->selection_color(FL_INACTIVE_COLOR);
  1620. dfp3->labeltype(FL_NORMAL_LABEL);
  1621. dfp3->labelfont(1);
  1622. dfp3->labelsize(11);
  1623. dfp3->labelcolor(FL_FOREGROUND_COLOR);
  1624. dfp3->maximum(127);
  1625. dfp3->align(Fl_Align(FL_ALIGN_BOTTOM));
  1626. dfp3->when(FL_WHEN_RELEASE);
  1627. o->init("parameter3");
  1628. } // Fl_Osc_Dial* dfp3
  1629. { Fl_Osc_Dial* o = dfp5 = new Fl_Osc_Dial(200, 40, 30, 30, "St.df");
  1630. dfp5->tooltip("Left/Right Channel Phase Shift");
  1631. dfp5->box(FL_ROUND_UP_BOX);
  1632. dfp5->color(FL_BACKGROUND_COLOR);
  1633. dfp5->selection_color(FL_INACTIVE_COLOR);
  1634. dfp5->labeltype(FL_NORMAL_LABEL);
  1635. dfp5->labelfont(1);
  1636. dfp5->labelsize(11);
  1637. dfp5->labelcolor(FL_FOREGROUND_COLOR);
  1638. dfp5->maximum(127);
  1639. dfp5->align(Fl_Align(FL_ALIGN_BOTTOM));
  1640. dfp5->when(FL_WHEN_CHANGED);
  1641. o->init("parameter5");
  1642. } // Fl_Osc_Dial* dfp5
  1643. { Fl_Osc_Dial* o = dfp6 = new Fl_Osc_Dial(235, 40, 30, 30, "LfoD");
  1644. dfp6->tooltip("LFO Depth");
  1645. dfp6->box(FL_ROUND_UP_BOX);
  1646. dfp6->color(FL_BACKGROUND_COLOR);
  1647. dfp6->selection_color(FL_INACTIVE_COLOR);
  1648. dfp6->labeltype(FL_NORMAL_LABEL);
  1649. dfp6->labelfont(1);
  1650. dfp6->labelsize(11);
  1651. dfp6->labelcolor(FL_FOREGROUND_COLOR);
  1652. dfp6->maximum(127);
  1653. dfp6->align(Fl_Align(FL_ALIGN_BOTTOM));
  1654. dfp6->when(FL_WHEN_CHANGED);
  1655. o->init("parameter6");
  1656. } // Fl_Osc_Dial* dfp6
  1657. { Fl_Osc_Choice* o = dfp4 = new Fl_Osc_Choice(155, 50, 40, 15, "LFO type");
  1658. dfp4->tooltip("LFO function");
  1659. dfp4->box(FL_UP_BOX);
  1660. dfp4->down_box(FL_BORDER_BOX);
  1661. dfp4->color(FL_BACKGROUND_COLOR);
  1662. dfp4->selection_color(FL_SELECTION_COLOR);
  1663. dfp4->labeltype(FL_NORMAL_LABEL);
  1664. dfp4->labelfont(1);
  1665. dfp4->labelsize(10);
  1666. dfp4->labelcolor(FL_FOREGROUND_COLOR);
  1667. dfp4->textsize(8);
  1668. dfp4->align(Fl_Align(130));
  1669. dfp4->when(FL_WHEN_RELEASE);
  1670. dfp4->menu(menu_dfp4);
  1671. o->init("parameter4");
  1672. } // Fl_Osc_Choice* dfp4
  1673. { Fl_Button* o = new Fl_Button(115, 10, 55, 25, "Filter");
  1674. o->box(FL_THIN_UP_BOX);
  1675. o->callback((Fl_Callback*)cb_Filter);
  1676. } // Fl_Button* o
  1677. { Fl_Group* o = new Fl_Group(270, 40, 105, 45);
  1678. o->box(FL_UP_FRAME);
  1679. o->color((Fl_Color)51);
  1680. { Fl_Osc_Dial* o = dfp7 = new Fl_Osc_Dial(275, 45, 25, 25, "A.S.");
  1681. dfp7->tooltip("Filter vs Amplitude");
  1682. dfp7->box(FL_ROUND_UP_BOX);
  1683. dfp7->color(FL_BACKGROUND_COLOR);
  1684. dfp7->selection_color(FL_INACTIVE_COLOR);
  1685. dfp7->labeltype(FL_NORMAL_LABEL);
  1686. dfp7->labelfont(1);
  1687. dfp7->labelsize(11);
  1688. dfp7->labelcolor(FL_FOREGROUND_COLOR);
  1689. dfp7->maximum(127);
  1690. dfp7->align(Fl_Align(FL_ALIGN_BOTTOM));
  1691. dfp7->when(FL_WHEN_CHANGED);
  1692. o->init("parameter7");
  1693. } // Fl_Osc_Dial* dfp7
  1694. { Fl_Osc_Dial* o = dfp9 = new Fl_Osc_Dial(305, 45, 25, 25, "A.M");
  1695. dfp9->tooltip("rate that amplitude changes the filter");
  1696. dfp9->box(FL_ROUND_UP_BOX);
  1697. dfp9->color(FL_BACKGROUND_COLOR);
  1698. dfp9->selection_color(FL_INACTIVE_COLOR);
  1699. dfp9->labeltype(FL_NORMAL_LABEL);
  1700. dfp9->labelfont(1);
  1701. dfp9->labelsize(11);
  1702. dfp9->labelcolor(FL_FOREGROUND_COLOR);
  1703. dfp9->maximum(127);
  1704. dfp9->align(Fl_Align(FL_ALIGN_BOTTOM));
  1705. dfp9->when(FL_WHEN_CHANGED);
  1706. o->init("parameter9");
  1707. } // Fl_Osc_Dial* dfp9
  1708. { Fl_Osc_Check* o = dfp8 = new Fl_Osc_Check(345, 55, 15, 15, "A.Inv.");
  1709. dfp8->tooltip("enable for filter frequency to lower with higher input amplitude");
  1710. dfp8->box(FL_NO_BOX);
  1711. dfp8->down_box(FL_DOWN_BOX);
  1712. dfp8->color(FL_BACKGROUND_COLOR);
  1713. dfp8->selection_color(FL_FOREGROUND_COLOR);
  1714. dfp8->labeltype(FL_NORMAL_LABEL);
  1715. dfp8->labelfont(1);
  1716. dfp8->labelsize(11);
  1717. dfp8->labelcolor(FL_FOREGROUND_COLOR);
  1718. dfp8->align(Fl_Align(FL_ALIGN_BOTTOM));
  1719. dfp8->when(FL_WHEN_RELEASE);
  1720. o->init("parameter8");
  1721. } // Fl_Osc_Check* dfp8
  1722. o->end();
  1723. } // Fl_Group* o
  1724. set_module_parameters(o);
  1725. effdynamicfilterwindow->end();
  1726. } // Fl_Group* effdynamicfilterwindow
  1727. return effdynamicfilterwindow;
  1728. }
  1729. Fl_Double_Window* EffUI::make_filter_window() {
  1730. { Fl_Double_Window* o = filterwindow = new Fl_Double_Window(290, 110, "Filter Parameters for DynFilter Eff.");
  1731. filterwindow->user_data((void*)(this));
  1732. { FilterUI* o = new FilterUI(5, 5, 275, 75, "DynFilter effect - Filter");
  1733. o->box(FL_FLAT_BOX);
  1734. o->color(FL_LIGHT1);
  1735. o->selection_color(FL_BACKGROUND_COLOR);
  1736. o->labeltype(FL_NORMAL_LABEL);
  1737. o->labelfont(0);
  1738. o->labelsize(14);
  1739. o->labelcolor(FL_FOREGROUND_COLOR);
  1740. o->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
  1741. o->when(FL_WHEN_RELEASE);
  1742. o->init("",osc, loc(), "filterpars/");
  1743. o->use_for_dynamic_filter();
  1744. o->end();
  1745. } // FilterUI* o
  1746. { Fl_Button* o = new Fl_Button(105, 85, 70, 20, "Close");
  1747. o->box(FL_THIN_UP_BOX);
  1748. o->callback((Fl_Callback*)cb_Close);
  1749. } // Fl_Button* o
  1750. set_module_parameters(o);
  1751. filterwindow->end();
  1752. } // Fl_Double_Window* filterwindow
  1753. return filterwindow;
  1754. }
  1755. void EffUI::init(bool ins_) {
  1756. efftype = 0;
  1757. insertion = ins_;
  1758. make_null_window();
  1759. make_reverb_window();
  1760. make_echo_window();
  1761. make_chorus_window();
  1762. make_phaser_window();
  1763. make_alienwah_window();
  1764. make_distorsion_window();
  1765. make_eq_window();
  1766. make_dynamicfilter_window();
  1767. int px=this->parent()->x();
  1768. int py=this->parent()->y();
  1769. effnullwindow->position(px,py);
  1770. effreverbwindow->position(px,py);
  1771. effechowindow->position(px,py);
  1772. effchoruswindow->position(px,py);
  1773. effphaserwindow->position(px,py);
  1774. effalienwahwindow->position(px,py);
  1775. effdistorsionwindow->position(px,py);
  1776. effeqwindow->position(px,py);
  1777. effdynamicfilterwindow->position(px,py);
  1778. refresh();
  1779. }
  1780. void EffUI::refresh() {
  1781. this->hide();
  1782. for(int i=0; i<32; ++i)
  1783. osc->requestValue(loc()+"parameter"+to_s(i));
  1784. effnullwindow->hide();
  1785. effreverbwindow->hide();
  1786. effechowindow->hide();
  1787. effchoruswindow->hide();
  1788. effphaserwindow->hide();
  1789. effalienwahwindow->hide();
  1790. effdistorsionwindow->hide();
  1791. effeqwindow->hide();
  1792. effdynamicfilterwindow->hide();
  1793. eqband=0;
  1794. if (filterwindow){
  1795. filterwindow->hide();
  1796. delete(filterwindow);
  1797. filterwindow=NULL;
  1798. };
  1799. if(insertion) {
  1800. revp0->label("D/W");
  1801. echop0->label("D/W");
  1802. chorusp0->label("D/W");
  1803. phaserp0->label("D/W");
  1804. awp0->label("D/W");
  1805. distp0->label("D/W");
  1806. dfp0->label("D/W");
  1807. }
  1808. switch(efftype){
  1809. case 1:
  1810. effreverbwindow->show();
  1811. break;
  1812. case 2:
  1813. effechowindow->show();
  1814. break;
  1815. case 3:
  1816. effchoruswindow->show();
  1817. break;
  1818. case 4:
  1819. effphaserwindow->show();
  1820. break;
  1821. case 5:
  1822. effalienwahwindow->show();
  1823. break;
  1824. case 6:
  1825. effdistorsionwindow->show();
  1826. break;
  1827. case 7:eqband=0;
  1828. bandcounter->value(eqband);
  1829. bandcounter->do_callback();
  1830. eqgraph->redraw();
  1831. effeqwindow->show();
  1832. break;
  1833. case 8:make_filter_window();
  1834. effdynamicfilterwindow->show();
  1835. break;
  1836. default:effnullwindow->show();
  1837. break;
  1838. };
  1839. this->show();
  1840. }
  1841. Fl_Menu_Item SimpleEffUI::menu_revp1[] = {
  1842. {"Cathedral 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1843. {"Cathedral 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1844. {"Cathedral 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1845. {"Hall 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1846. {"Hall 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1847. {"Room 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1848. {"Room 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1849. {"Basement", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1850. {"Tunnel", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1851. {"Echoed 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1852. {"Echoed 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1853. {"Very Long 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1854. {"Very Long 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1855. {0,0,0,0,0,0,0,0,0}
  1856. };
  1857. Fl_Menu_Item SimpleEffUI::menu_echop1[] = {
  1858. {"Echo 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1859. {"Echo 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1860. {"Echo 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1861. {"Simple Echo", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1862. {"Canyon", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1863. {"Panning Echo 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1864. {"Panning Echo 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1865. {"Panning Echo 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1866. {"Feedback Echo", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1867. {0,0,0,0,0,0,0,0,0}
  1868. };
  1869. Fl_Menu_Item SimpleEffUI::menu_chorusp1[] = {
  1870. {"Chorus 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1871. {"Chorus 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1872. {"Chorus 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1873. {"Celeste 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1874. {"Celeste 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1875. {"Flange 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1876. {"Flange 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1877. {"Flange 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1878. {"Flange 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1879. {"Flange 5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1880. {0,0,0,0,0,0,0,0,0}
  1881. };
  1882. Fl_Menu_Item SimpleEffUI::menu_phaserp1[] = {
  1883. {"Phaser 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1884. {"Phaser 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1885. {"Phaser 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1886. {"Phaser 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1887. {"Phaser 5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1888. {"Phaser 6", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1889. {0,0,0,0,0,0,0,0,0}
  1890. };
  1891. Fl_Menu_Item SimpleEffUI::menu_awp1[] = {
  1892. {"Alienwah 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1893. {"Alienwah 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1894. {"Alienwah 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1895. {"Alienwah 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1896. {0,0,0,0,0,0,0,0,0}
  1897. };
  1898. Fl_Menu_Item SimpleEffUI::menu_distp1[] = {
  1899. {"Overdrive 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1900. {"Overdrive 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1901. {"A. Exciter 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1902. {"A. Exciter 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1903. {"Guitar Amp", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1904. {"Quantisize", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1905. {0,0,0,0,0,0,0,0,0}
  1906. };
  1907. Fl_Menu_Item SimpleEffUI::menu_distp51[] = {
  1908. {"Atan", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1909. {"Asym1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1910. {"Pow", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1911. {"Sine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1912. {"Qnts", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1913. {"Zigzg", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1914. {"Lmt", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1915. {"LmtU", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1916. {"LmtL", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1917. {"ILmt", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1918. {"Clip", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1919. {"Asym2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1920. {"Pow2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1921. {"Sgm", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1922. {0,0,0,0,0,0,0,0,0}
  1923. };
  1924. void SimpleEffUI::cb_bandcounter1_i(Fl_Counter* o, void*) {
  1925. eqband=(int) o->value();
  1926. int npb=eqband*5+10;
  1927. typechoice->oscMove("parameter"+to_s(npb));
  1928. freqdial->oscMove("parameter"+to_s(npb+1));
  1929. gaindial->oscMove("parameter"+to_s(npb+2));
  1930. qdial->oscMove("parameter"+to_s(npb+3));
  1931. stagescounter->oscMove("parameter"+to_s(npb+4));
  1932. }
  1933. void SimpleEffUI::cb_bandcounter1(Fl_Counter* o, void* v) {
  1934. ((SimpleEffUI*)(o->parent()->user_data()))->cb_bandcounter1_i(o,v);
  1935. }
  1936. void SimpleEffUI::cb_freqdial1_i(Fl_Osc_Dial*, void*) {
  1937. eqgraph->redraw();
  1938. }
  1939. void SimpleEffUI::cb_freqdial1(Fl_Osc_Dial* o, void* v) {
  1940. ((SimpleEffUI*)(o->parent()->parent()->user_data()))->cb_freqdial1_i(o,v);
  1941. }
  1942. void SimpleEffUI::cb_gaindial1_i(Fl_Osc_Dial*, void*) {
  1943. eqgraph->redraw();
  1944. }
  1945. void SimpleEffUI::cb_gaindial1(Fl_Osc_Dial* o, void* v) {
  1946. ((SimpleEffUI*)(o->parent()->parent()->user_data()))->cb_gaindial1_i(o,v);
  1947. }
  1948. void SimpleEffUI::cb_qdial1_i(Fl_Osc_Dial*, void*) {
  1949. eqgraph->redraw();
  1950. }
  1951. void SimpleEffUI::cb_qdial1(Fl_Osc_Dial* o, void* v) {
  1952. ((SimpleEffUI*)(o->parent()->parent()->user_data()))->cb_qdial1_i(o,v);
  1953. }
  1954. void SimpleEffUI::cb_stagescounter1_i(Fl_Osc_Counter*, void*) {
  1955. eqgraph->redraw();
  1956. }
  1957. void SimpleEffUI::cb_stagescounter1(Fl_Osc_Counter* o, void* v) {
  1958. ((SimpleEffUI*)(o->parent()->parent()->user_data()))->cb_stagescounter1_i(o,v);
  1959. }
  1960. void SimpleEffUI::cb_typechoice1_i(Fl_Osc_Choice* o, void*) {
  1961. int type = o->value();
  1962. if (type>6) gaindial->activate();
  1963. else gaindial->deactivate();
  1964. if (type==0) bandgroup->deactivate();
  1965. else bandgroup->activate();
  1966. eqgraph->redraw();
  1967. }
  1968. void SimpleEffUI::cb_typechoice1(Fl_Osc_Choice* o, void* v) {
  1969. ((SimpleEffUI*)(o->parent()->user_data()))->cb_typechoice1_i(o,v);
  1970. }
  1971. Fl_Menu_Item SimpleEffUI::menu_typechoice1[] = {
  1972. {"OFF", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1973. {"Lp1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1974. {"Hp1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1975. {"Lp2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1976. {"Hp2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1977. {"Bp2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1978. {"N2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1979. {"Pk", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1980. {"LSh", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1981. {"HSh", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1982. {0,0,0,0,0,0,0,0,0}
  1983. };
  1984. Fl_Menu_Item SimpleEffUI::menu_dfp1[] = {
  1985. {"WahWah", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1986. {"AutoWah", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1987. {"Sweep", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1988. {"VocalMorph1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1989. {"VocalMorph2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0},
  1990. {0,0,0,0,0,0,0,0,0}
  1991. };
  1992. SimpleEffUI::SimpleEffUI(int x,int y, int w, int h, const char *label):Fl_Osc_Group(x,y,w,h,label),efftype(0) {
  1993. }
  1994. SimpleEffUI::~SimpleEffUI() {
  1995. effnullwindow->hide();//delete (effnullwindow);
  1996. effreverbwindow->hide();//delete (effreverbwindow);
  1997. effechowindow->hide();//delete (effechowindow);
  1998. effchoruswindow->hide();//delete (effchoruswindow);
  1999. effphaserwindow->hide();//delete (effphaserwindow);
  2000. effalienwahwindow->hide();//delete (effalienwahwindow);
  2001. effdistorsionwindow->hide();//delete (effdistorsionwindow);
  2002. effeqwindow->hide();//delete (effeqwindow);
  2003. effdynamicfilterwindow->hide();//delete (effdynamicfilterwindow);
  2004. }
  2005. Fl_Group* SimpleEffUI::make_null_window() {
  2006. { Fl_Group* o = effnullwindow = new Fl_Group(0, 0, 230, 95);
  2007. effnullwindow->box(FL_UP_BOX);
  2008. effnullwindow->color((Fl_Color)221);
  2009. effnullwindow->selection_color(FL_BACKGROUND_COLOR);
  2010. effnullwindow->labeltype(FL_NO_LABEL);
  2011. effnullwindow->labelfont(1);
  2012. effnullwindow->labelsize(19);
  2013. effnullwindow->labelcolor(FL_FOREGROUND_COLOR);
  2014. effnullwindow->user_data((void*)(this));
  2015. effnullwindow->align(Fl_Align(FL_ALIGN_TOP));
  2016. effnullwindow->when(FL_WHEN_RELEASE);
  2017. set_module_parameters(o);
  2018. effnullwindow->end();
  2019. } // Fl_Group* effnullwindow
  2020. return effnullwindow;
  2021. }
  2022. Fl_Group* SimpleEffUI::make_reverb_window() {
  2023. { Fl_Group* o = effreverbwindow = new Fl_Group(0, 0, 230, 100);
  2024. effreverbwindow->box(FL_UP_BOX);
  2025. effreverbwindow->color((Fl_Color)51);
  2026. effreverbwindow->selection_color(FL_BACKGROUND_COLOR);
  2027. effreverbwindow->labeltype(FL_NO_LABEL);
  2028. effreverbwindow->labelfont(1);
  2029. effreverbwindow->labelsize(19);
  2030. effreverbwindow->labelcolor(FL_FOREGROUND_COLOR);
  2031. effreverbwindow->user_data((void*)(this));
  2032. effreverbwindow->align(Fl_Align(FL_ALIGN_TOP));
  2033. effreverbwindow->when(FL_WHEN_RELEASE);
  2034. { Fl_Osc_Choice* o = revp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset");
  2035. revp->box(FL_UP_BOX);
  2036. revp->down_box(FL_BORDER_BOX);
  2037. revp->color(FL_DARK1);
  2038. revp->selection_color(FL_BACKGROUND2_COLOR);
  2039. revp->labeltype(FL_NORMAL_LABEL);
  2040. revp->labelfont(1);
  2041. revp->labelsize(10);
  2042. revp->labelcolor(FL_FOREGROUND_COLOR);
  2043. revp->textfont(1);
  2044. revp->textsize(10);
  2045. revp->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  2046. revp->when(FL_WHEN_RELEASE);
  2047. revp->menu(menu_revp1);
  2048. o->init("preset");
  2049. } // Fl_Osc_Choice* revp
  2050. { Fl_Osc_Dial* o = revp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  2051. revp0->tooltip("Effect Volume");
  2052. revp0->box(FL_ROUND_UP_BOX);
  2053. revp0->color(FL_BACKGROUND_COLOR);
  2054. revp0->selection_color(FL_INACTIVE_COLOR);
  2055. revp0->labeltype(FL_NORMAL_LABEL);
  2056. revp0->labelfont(1);
  2057. revp0->labelsize(11);
  2058. revp0->labelcolor(FL_FOREGROUND_COLOR);
  2059. revp0->maximum(127);
  2060. revp0->align(Fl_Align(FL_ALIGN_BOTTOM));
  2061. revp0->when(FL_WHEN_CHANGED);
  2062. o->init("parameter0");
  2063. } // Fl_Osc_Dial* revp0
  2064. { Fl_Osc_Dial* o = revp2 = new Fl_Osc_Dial(45, 40, 30, 30, "Time");
  2065. revp2->tooltip("Duration of Reverb");
  2066. revp2->box(FL_ROUND_UP_BOX);
  2067. revp2->color(FL_BACKGROUND_COLOR);
  2068. revp2->selection_color(FL_INACTIVE_COLOR);
  2069. revp2->labeltype(FL_NORMAL_LABEL);
  2070. revp2->labelfont(1);
  2071. revp2->labelsize(11);
  2072. revp2->labelcolor(FL_FOREGROUND_COLOR);
  2073. revp2->maximum(127);
  2074. revp2->align(Fl_Align(FL_ALIGN_BOTTOM));
  2075. revp2->when(FL_WHEN_CHANGED);
  2076. o->init("parameter2");
  2077. } // Fl_Osc_Dial* revp2
  2078. { Fl_Osc_Dial* o = revp3 = new Fl_Osc_Dial(85, 40, 30, 30, "I.del");
  2079. revp3->tooltip("Initial Delay");
  2080. revp3->box(FL_ROUND_UP_BOX);
  2081. revp3->color(FL_BACKGROUND_COLOR);
  2082. revp3->selection_color(FL_INACTIVE_COLOR);
  2083. revp3->labeltype(FL_NORMAL_LABEL);
  2084. revp3->labelfont(1);
  2085. revp3->labelsize(11);
  2086. revp3->labelcolor(FL_FOREGROUND_COLOR);
  2087. revp3->maximum(127);
  2088. revp3->align(Fl_Align(FL_ALIGN_BOTTOM));
  2089. revp3->when(FL_WHEN_RELEASE);
  2090. o->init("parameter3");
  2091. } // Fl_Osc_Dial* revp3
  2092. { Fl_Osc_Dial* o = revp9 = new Fl_Osc_Dial(120, 40, 30, 30, "Damp");
  2093. revp9->tooltip("Dampening");
  2094. revp9->box(FL_ROUND_UP_BOX);
  2095. revp9->color(FL_BACKGROUND_COLOR);
  2096. revp9->selection_color(FL_INACTIVE_COLOR);
  2097. revp9->labeltype(FL_NORMAL_LABEL);
  2098. revp9->labelfont(1);
  2099. revp9->labelsize(11);
  2100. revp9->labelcolor(FL_FOREGROUND_COLOR);
  2101. revp9->minimum(64);
  2102. revp9->maximum(127);
  2103. revp9->step(1);
  2104. revp9->align(Fl_Align(FL_ALIGN_BOTTOM));
  2105. revp9->when(FL_WHEN_CHANGED);
  2106. o->init("parameter9");
  2107. } // Fl_Osc_Dial* revp9
  2108. set_module_parameters(o);
  2109. effreverbwindow->end();
  2110. } // Fl_Group* effreverbwindow
  2111. return effreverbwindow;
  2112. }
  2113. Fl_Group* SimpleEffUI::make_echo_window() {
  2114. { Fl_Group* o = effechowindow = new Fl_Group(0, 0, 230, 100);
  2115. effechowindow->box(FL_UP_BOX);
  2116. effechowindow->color((Fl_Color)51);
  2117. effechowindow->selection_color(FL_BACKGROUND_COLOR);
  2118. effechowindow->labeltype(FL_NO_LABEL);
  2119. effechowindow->labelfont(1);
  2120. effechowindow->labelsize(19);
  2121. effechowindow->labelcolor(FL_FOREGROUND_COLOR);
  2122. effechowindow->user_data((void*)(this));
  2123. effechowindow->align(Fl_Align(FL_ALIGN_TOP));
  2124. effechowindow->when(FL_WHEN_RELEASE);
  2125. { Fl_Osc_Choice* o = echop = new Fl_Osc_Choice(11, 15, 95, 15, "Preset");
  2126. echop->box(FL_UP_BOX);
  2127. echop->down_box(FL_BORDER_BOX);
  2128. echop->color(FL_DARK1);
  2129. echop->selection_color(FL_BACKGROUND2_COLOR);
  2130. echop->labeltype(FL_NORMAL_LABEL);
  2131. echop->labelfont(1);
  2132. echop->labelsize(10);
  2133. echop->labelcolor(FL_FOREGROUND_COLOR);
  2134. echop->textfont(1);
  2135. echop->textsize(10);
  2136. echop->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  2137. echop->when(FL_WHEN_RELEASE);
  2138. echop->menu(menu_echop1);
  2139. o->init("preset");
  2140. } // Fl_Osc_Choice* echop
  2141. { Fl_Osc_Dial* o = echop0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  2142. echop0->tooltip("Effect Volume");
  2143. echop0->box(FL_ROUND_UP_BOX);
  2144. echop0->color(FL_BACKGROUND_COLOR);
  2145. echop0->selection_color(FL_INACTIVE_COLOR);
  2146. echop0->labeltype(FL_NORMAL_LABEL);
  2147. echop0->labelfont(1);
  2148. echop0->labelsize(11);
  2149. echop0->labelcolor(FL_FOREGROUND_COLOR);
  2150. echop0->maximum(127);
  2151. echop0->align(Fl_Align(FL_ALIGN_BOTTOM));
  2152. echop0->when(FL_WHEN_CHANGED);
  2153. o->init("parameter0");
  2154. } // Fl_Osc_Dial* echop0
  2155. { Fl_Osc_Dial* o = echop2 = new Fl_Osc_Dial(45, 40, 30, 30, "Delay");
  2156. echop2->box(FL_ROUND_UP_BOX);
  2157. echop2->color(FL_BACKGROUND_COLOR);
  2158. echop2->selection_color(FL_INACTIVE_COLOR);
  2159. echop2->labeltype(FL_NORMAL_LABEL);
  2160. echop2->labelfont(1);
  2161. echop2->labelsize(11);
  2162. echop2->labelcolor(FL_FOREGROUND_COLOR);
  2163. echop2->maximum(127);
  2164. echop2->align(Fl_Align(FL_ALIGN_BOTTOM));
  2165. echop2->when(FL_WHEN_RELEASE);
  2166. o->init("parameter2");
  2167. } // Fl_Osc_Dial* echop2
  2168. { Fl_Osc_Dial* o = echop5 = new Fl_Osc_Dial(80, 40, 30, 30, "Fb.");
  2169. echop5->tooltip("Feedback");
  2170. echop5->box(FL_ROUND_UP_BOX);
  2171. echop5->color(FL_BACKGROUND_COLOR);
  2172. echop5->selection_color(FL_INACTIVE_COLOR);
  2173. echop5->labeltype(FL_NORMAL_LABEL);
  2174. echop5->labelfont(1);
  2175. echop5->labelsize(11);
  2176. echop5->labelcolor(FL_FOREGROUND_COLOR);
  2177. echop5->maximum(127);
  2178. echop5->align(Fl_Align(FL_ALIGN_BOTTOM));
  2179. echop5->when(FL_WHEN_CHANGED);
  2180. o->init("parameter5");
  2181. } // Fl_Osc_Dial* echop5
  2182. set_module_parameters(o);
  2183. effechowindow->end();
  2184. } // Fl_Group* effechowindow
  2185. return effechowindow;
  2186. }
  2187. Fl_Group* SimpleEffUI::make_chorus_window() {
  2188. { Fl_Group* o = effchoruswindow = new Fl_Group(0, 0, 230, 100);
  2189. effchoruswindow->box(FL_UP_BOX);
  2190. effchoruswindow->color((Fl_Color)51);
  2191. effchoruswindow->selection_color(FL_BACKGROUND_COLOR);
  2192. effchoruswindow->labeltype(FL_NO_LABEL);
  2193. effchoruswindow->labelfont(1);
  2194. effchoruswindow->labelsize(19);
  2195. effchoruswindow->labelcolor(FL_FOREGROUND_COLOR);
  2196. effchoruswindow->user_data((void*)(this));
  2197. effchoruswindow->align(Fl_Align(FL_ALIGN_TOP));
  2198. effchoruswindow->when(FL_WHEN_RELEASE);
  2199. { Fl_Osc_Choice* o = chorusp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset");
  2200. chorusp->box(FL_UP_BOX);
  2201. chorusp->down_box(FL_BORDER_BOX);
  2202. chorusp->color(FL_DARK1);
  2203. chorusp->selection_color(FL_BACKGROUND2_COLOR);
  2204. chorusp->labeltype(FL_NORMAL_LABEL);
  2205. chorusp->labelfont(1);
  2206. chorusp->labelsize(10);
  2207. chorusp->labelcolor(FL_FOREGROUND_COLOR);
  2208. chorusp->textfont(1);
  2209. chorusp->textsize(10);
  2210. chorusp->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  2211. chorusp->when(FL_WHEN_RELEASE);
  2212. chorusp->menu(menu_chorusp1);
  2213. o->init("preset");
  2214. } // Fl_Osc_Choice* chorusp
  2215. { Fl_Osc_Dial* o = chorusp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  2216. chorusp0->tooltip("Effect Volume");
  2217. chorusp0->box(FL_ROUND_UP_BOX);
  2218. chorusp0->color(FL_BACKGROUND_COLOR);
  2219. chorusp0->selection_color(FL_INACTIVE_COLOR);
  2220. chorusp0->labeltype(FL_NORMAL_LABEL);
  2221. chorusp0->labelfont(1);
  2222. chorusp0->labelsize(11);
  2223. chorusp0->labelcolor(FL_FOREGROUND_COLOR);
  2224. chorusp0->maximum(127);
  2225. chorusp0->align(Fl_Align(FL_ALIGN_BOTTOM));
  2226. chorusp0->when(FL_WHEN_CHANGED);
  2227. o->init("parameter0");
  2228. } // Fl_Osc_Dial* chorusp0
  2229. { Fl_Osc_Dial* o = chorusp2 = new Fl_Osc_Dial(45, 40, 30, 30, "Freq");
  2230. chorusp2->tooltip("LFO Frequency");
  2231. chorusp2->box(FL_ROUND_UP_BOX);
  2232. chorusp2->color(FL_BACKGROUND_COLOR);
  2233. chorusp2->selection_color(FL_INACTIVE_COLOR);
  2234. chorusp2->labeltype(FL_NORMAL_LABEL);
  2235. chorusp2->labelfont(1);
  2236. chorusp2->labelsize(11);
  2237. chorusp2->labelcolor(FL_FOREGROUND_COLOR);
  2238. chorusp2->maximum(127);
  2239. chorusp2->align(Fl_Align(FL_ALIGN_BOTTOM));
  2240. chorusp2->when(FL_WHEN_CHANGED);
  2241. o->init("parameter2");
  2242. } // Fl_Osc_Dial* chorusp2
  2243. { Fl_Osc_Dial* o = chorusp6 = new Fl_Osc_Dial(80, 40, 30, 30, "Dpth");
  2244. chorusp6->tooltip("Depth");
  2245. chorusp6->box(FL_ROUND_UP_BOX);
  2246. chorusp6->color(FL_BACKGROUND_COLOR);
  2247. chorusp6->selection_color(FL_INACTIVE_COLOR);
  2248. chorusp6->labeltype(FL_NORMAL_LABEL);
  2249. chorusp6->labelfont(1);
  2250. chorusp6->labelsize(11);
  2251. chorusp6->labelcolor(FL_FOREGROUND_COLOR);
  2252. chorusp6->maximum(127);
  2253. chorusp6->align(Fl_Align(FL_ALIGN_BOTTOM));
  2254. chorusp6->when(FL_WHEN_CHANGED);
  2255. o->init("parameter6");
  2256. } // Fl_Osc_Dial* chorusp6
  2257. { Fl_Osc_Dial* o = chorusp7 = new Fl_Osc_Dial(115, 40, 30, 30, "Delay");
  2258. chorusp7->box(FL_ROUND_UP_BOX);
  2259. chorusp7->color(FL_BACKGROUND_COLOR);
  2260. chorusp7->selection_color(FL_INACTIVE_COLOR);
  2261. chorusp7->labeltype(FL_NORMAL_LABEL);
  2262. chorusp7->labelfont(1);
  2263. chorusp7->labelsize(11);
  2264. chorusp7->labelcolor(FL_FOREGROUND_COLOR);
  2265. chorusp7->maximum(127);
  2266. chorusp7->align(Fl_Align(FL_ALIGN_BOTTOM));
  2267. chorusp7->when(FL_WHEN_CHANGED);
  2268. o->init("parameter7");
  2269. } // Fl_Osc_Dial* chorusp7
  2270. { Fl_Osc_Dial* o = chorusp8 = new Fl_Osc_Dial(150, 40, 30, 30, "Fb");
  2271. chorusp8->tooltip("Feedback");
  2272. chorusp8->box(FL_ROUND_UP_BOX);
  2273. chorusp8->color(FL_BACKGROUND_COLOR);
  2274. chorusp8->selection_color(FL_INACTIVE_COLOR);
  2275. chorusp8->labeltype(FL_NORMAL_LABEL);
  2276. chorusp8->labelfont(1);
  2277. chorusp8->labelsize(11);
  2278. chorusp8->labelcolor(FL_FOREGROUND_COLOR);
  2279. chorusp8->maximum(127);
  2280. chorusp8->align(Fl_Align(FL_ALIGN_BOTTOM));
  2281. chorusp8->when(FL_WHEN_CHANGED);
  2282. o->init("parameter8");
  2283. } // Fl_Osc_Dial* chorusp8
  2284. { Fl_Osc_Check* o = new Fl_Osc_Check(120, 10, 55, 20, "Flange");
  2285. o->box(FL_THIN_UP_BOX);
  2286. o->down_box(FL_DOWN_BOX);
  2287. o->color((Fl_Color)230);
  2288. o->selection_color(FL_FOREGROUND_COLOR);
  2289. o->labeltype(FL_NORMAL_LABEL);
  2290. o->labelfont(1);
  2291. o->labelsize(10);
  2292. o->labelcolor(FL_FOREGROUND_COLOR);
  2293. o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
  2294. o->when(FL_WHEN_RELEASE);
  2295. o->hide();
  2296. o->deactivate();
  2297. o->init("parameter10");
  2298. } // Fl_Osc_Check* o
  2299. set_module_parameters(o);
  2300. effchoruswindow->end();
  2301. } // Fl_Group* effchoruswindow
  2302. return effchoruswindow;
  2303. }
  2304. Fl_Group* SimpleEffUI::make_phaser_window() {
  2305. { Fl_Group* o = effphaserwindow = new Fl_Group(0, 0, 230, 100);
  2306. effphaserwindow->box(FL_UP_BOX);
  2307. effphaserwindow->color((Fl_Color)51);
  2308. effphaserwindow->selection_color(FL_BACKGROUND_COLOR);
  2309. effphaserwindow->labeltype(FL_NO_LABEL);
  2310. effphaserwindow->labelfont(1);
  2311. effphaserwindow->labelsize(19);
  2312. effphaserwindow->labelcolor(FL_FOREGROUND_COLOR);
  2313. effphaserwindow->user_data((void*)(this));
  2314. effphaserwindow->align(Fl_Align(FL_ALIGN_TOP));
  2315. effphaserwindow->when(FL_WHEN_RELEASE);
  2316. { Fl_Osc_Choice* o = phaserp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset");
  2317. phaserp->box(FL_UP_BOX);
  2318. phaserp->down_box(FL_BORDER_BOX);
  2319. phaserp->color(FL_DARK1);
  2320. phaserp->selection_color(FL_FOREGROUND_COLOR);
  2321. phaserp->labeltype(FL_NORMAL_LABEL);
  2322. phaserp->labelfont(1);
  2323. phaserp->labelsize(10);
  2324. phaserp->labelcolor((Fl_Color)55);
  2325. phaserp->textfont(1);
  2326. phaserp->textsize(10);
  2327. phaserp->textcolor(FL_BACKGROUND2_COLOR);
  2328. phaserp->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  2329. phaserp->when(FL_WHEN_RELEASE);
  2330. phaserp->menu(menu_phaserp1);
  2331. o->init("preset");
  2332. } // Fl_Osc_Choice* phaserp
  2333. { Fl_Osc_Dial* o = phaserp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  2334. phaserp0->tooltip("Effect Volume");
  2335. phaserp0->box(FL_ROUND_UP_BOX);
  2336. phaserp0->color(FL_BACKGROUND_COLOR);
  2337. phaserp0->selection_color(FL_INACTIVE_COLOR);
  2338. phaserp0->labeltype(FL_NORMAL_LABEL);
  2339. phaserp0->labelfont(1);
  2340. phaserp0->labelsize(11);
  2341. phaserp0->labelcolor(FL_FOREGROUND_COLOR);
  2342. phaserp0->maximum(127);
  2343. phaserp0->align(Fl_Align(FL_ALIGN_BOTTOM));
  2344. phaserp0->when(FL_WHEN_CHANGED);
  2345. o->init("parameter0");
  2346. } // Fl_Osc_Dial* phaserp0
  2347. { Fl_Osc_Dial* o = phaserp2 = new Fl_Osc_Dial(45, 40, 30, 30, "Freq");
  2348. phaserp2->tooltip("LFO frequency");
  2349. phaserp2->box(FL_ROUND_UP_BOX);
  2350. phaserp2->color(FL_BACKGROUND_COLOR);
  2351. phaserp2->selection_color(FL_INACTIVE_COLOR);
  2352. phaserp2->labeltype(FL_NORMAL_LABEL);
  2353. phaserp2->labelfont(1);
  2354. phaserp2->labelsize(11);
  2355. phaserp2->labelcolor(FL_FOREGROUND_COLOR);
  2356. phaserp2->maximum(127);
  2357. phaserp2->align(Fl_Align(FL_ALIGN_BOTTOM));
  2358. phaserp2->when(FL_WHEN_CHANGED);
  2359. o->init("parameter2");
  2360. } // Fl_Osc_Dial* phaserp2
  2361. { Fl_Osc_Dial* o = phaserp5 = new Fl_Osc_Dial(80, 40, 30, 30, "St.df");
  2362. phaserp5->tooltip("Left/Right Channel Phase Shift");
  2363. phaserp5->box(FL_ROUND_UP_BOX);
  2364. phaserp5->color(FL_BACKGROUND_COLOR);
  2365. phaserp5->selection_color(FL_INACTIVE_COLOR);
  2366. phaserp5->labeltype(FL_NORMAL_LABEL);
  2367. phaserp5->labelfont(1);
  2368. phaserp5->labelsize(11);
  2369. phaserp5->labelcolor(FL_FOREGROUND_COLOR);
  2370. phaserp5->maximum(127);
  2371. phaserp5->align(Fl_Align(FL_ALIGN_BOTTOM));
  2372. phaserp5->when(FL_WHEN_CHANGED);
  2373. o->init("parameter5");
  2374. } // Fl_Osc_Dial* phaserp5
  2375. { Fl_Osc_Dial* o = phaserp6 = new Fl_Osc_Dial(115, 40, 30, 30, "Dpth");
  2376. phaserp6->tooltip("Depth");
  2377. phaserp6->box(FL_ROUND_UP_BOX);
  2378. phaserp6->color(FL_BACKGROUND_COLOR);
  2379. phaserp6->selection_color(FL_INACTIVE_COLOR);
  2380. phaserp6->labeltype(FL_NORMAL_LABEL);
  2381. phaserp6->labelfont(1);
  2382. phaserp6->labelsize(11);
  2383. phaserp6->labelcolor(FL_FOREGROUND_COLOR);
  2384. phaserp6->maximum(127);
  2385. phaserp6->align(Fl_Align(FL_ALIGN_BOTTOM));
  2386. phaserp6->when(FL_WHEN_CHANGED);
  2387. o->init("parameter6");
  2388. } // Fl_Osc_Dial* phaserp6
  2389. { Fl_Osc_Dial* o = phaserp7 = new Fl_Osc_Dial(150, 40, 30, 30, "Fb");
  2390. phaserp7->tooltip("Feedback");
  2391. phaserp7->box(FL_ROUND_UP_BOX);
  2392. phaserp7->color(FL_BACKGROUND_COLOR);
  2393. phaserp7->selection_color(FL_INACTIVE_COLOR);
  2394. phaserp7->labeltype(FL_NORMAL_LABEL);
  2395. phaserp7->labelfont(1);
  2396. phaserp7->labelsize(11);
  2397. phaserp7->labelcolor(FL_FOREGROUND_COLOR);
  2398. phaserp7->maximum(127);
  2399. phaserp7->align(Fl_Align(FL_ALIGN_BOTTOM));
  2400. phaserp7->when(FL_WHEN_CHANGED);
  2401. o->init("parameter7");
  2402. } // Fl_Osc_Dial* phaserp7
  2403. { Fl_Osc_Counter* o = phaserp8 = new Fl_Osc_Counter(185, 55, 35, 15, "Stages");
  2404. phaserp8->type(1);
  2405. phaserp8->box(FL_UP_BOX);
  2406. phaserp8->color(FL_BACKGROUND_COLOR);
  2407. phaserp8->selection_color(FL_INACTIVE_COLOR);
  2408. phaserp8->labeltype(FL_NORMAL_LABEL);
  2409. phaserp8->labelfont(1);
  2410. phaserp8->labelsize(11);
  2411. phaserp8->labelcolor(FL_FOREGROUND_COLOR);
  2412. phaserp8->minimum(0);
  2413. phaserp8->maximum(127);
  2414. phaserp8->step(1);
  2415. phaserp8->align(Fl_Align(FL_ALIGN_BOTTOM));
  2416. phaserp8->when(FL_WHEN_CHANGED);
  2417. o->range(1,MAX_PHASER_STAGES);
  2418. o->init("parameter8");
  2419. } // Fl_Osc_Counter* phaserp8
  2420. set_module_parameters(o);
  2421. effphaserwindow->end();
  2422. } // Fl_Group* effphaserwindow
  2423. return effphaserwindow;
  2424. }
  2425. Fl_Group* SimpleEffUI::make_alienwah_window() {
  2426. { Fl_Group* o = effalienwahwindow = new Fl_Group(0, 0, 230, 100);
  2427. effalienwahwindow->box(FL_UP_BOX);
  2428. effalienwahwindow->color((Fl_Color)51);
  2429. effalienwahwindow->selection_color(FL_BACKGROUND_COLOR);
  2430. effalienwahwindow->labeltype(FL_NO_LABEL);
  2431. effalienwahwindow->labelfont(1);
  2432. effalienwahwindow->labelsize(19);
  2433. effalienwahwindow->labelcolor(FL_FOREGROUND_COLOR);
  2434. effalienwahwindow->user_data((void*)(this));
  2435. effalienwahwindow->align(Fl_Align(FL_ALIGN_TOP));
  2436. effalienwahwindow->when(FL_WHEN_RELEASE);
  2437. { Fl_Osc_Choice* o = awp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset");
  2438. awp->box(FL_UP_BOX);
  2439. awp->down_box(FL_BORDER_BOX);
  2440. awp->color(FL_DARK1);
  2441. awp->selection_color(FL_BACKGROUND2_COLOR);
  2442. awp->labeltype(FL_NORMAL_LABEL);
  2443. awp->labelfont(1);
  2444. awp->labelsize(10);
  2445. awp->labelcolor(FL_FOREGROUND_COLOR);
  2446. awp->textfont(1);
  2447. awp->textsize(10);
  2448. awp->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  2449. awp->when(FL_WHEN_RELEASE);
  2450. awp->menu(menu_awp1);
  2451. o->init("preset");
  2452. } // Fl_Osc_Choice* awp
  2453. { Fl_Osc_Dial* o = awp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  2454. awp0->tooltip("Effect Volume");
  2455. awp0->box(FL_ROUND_UP_BOX);
  2456. awp0->color(FL_BACKGROUND_COLOR);
  2457. awp0->selection_color(FL_INACTIVE_COLOR);
  2458. awp0->labeltype(FL_NORMAL_LABEL);
  2459. awp0->labelfont(1);
  2460. awp0->labelsize(11);
  2461. awp0->labelcolor(FL_FOREGROUND_COLOR);
  2462. awp0->maximum(127);
  2463. awp0->align(Fl_Align(FL_ALIGN_BOTTOM));
  2464. awp0->when(FL_WHEN_CHANGED);
  2465. o->init("parameter0");
  2466. } // Fl_Osc_Dial* awp0
  2467. { Fl_Osc_Dial* o = awp2 = new Fl_Osc_Dial(45, 40, 30, 30, "Freq");
  2468. awp2->tooltip("LFO frequency");
  2469. awp2->box(FL_ROUND_UP_BOX);
  2470. awp2->color(FL_BACKGROUND_COLOR);
  2471. awp2->selection_color(FL_INACTIVE_COLOR);
  2472. awp2->labeltype(FL_NORMAL_LABEL);
  2473. awp2->labelfont(1);
  2474. awp2->labelsize(11);
  2475. awp2->labelcolor(FL_FOREGROUND_COLOR);
  2476. awp2->maximum(127);
  2477. awp2->align(Fl_Align(FL_ALIGN_BOTTOM));
  2478. awp2->when(FL_WHEN_CHANGED);
  2479. o->init("parameter2");
  2480. } // Fl_Osc_Dial* awp2
  2481. { Fl_Osc_Dial* o = awp6 = new Fl_Osc_Dial(85, 40, 30, 30, "Dpth");
  2482. awp6->tooltip("Depth");
  2483. awp6->box(FL_ROUND_UP_BOX);
  2484. awp6->color(FL_BACKGROUND_COLOR);
  2485. awp6->selection_color(FL_INACTIVE_COLOR);
  2486. awp6->labeltype(FL_NORMAL_LABEL);
  2487. awp6->labelfont(1);
  2488. awp6->labelsize(11);
  2489. awp6->labelcolor(FL_FOREGROUND_COLOR);
  2490. awp6->maximum(127);
  2491. awp6->align(Fl_Align(FL_ALIGN_BOTTOM));
  2492. awp6->when(FL_WHEN_CHANGED);
  2493. o->init("parameter6");
  2494. } // Fl_Osc_Dial* awp6
  2495. { Fl_Osc_Counter* o = awp8 = new Fl_Osc_Counter(125, 55, 35, 15, "Delay");
  2496. awp8->type(1);
  2497. awp8->box(FL_UP_BOX);
  2498. awp8->color(FL_BACKGROUND_COLOR);
  2499. awp8->selection_color(FL_INACTIVE_COLOR);
  2500. awp8->labeltype(FL_NORMAL_LABEL);
  2501. awp8->labelfont(1);
  2502. awp8->labelsize(11);
  2503. awp8->labelcolor(FL_FOREGROUND_COLOR);
  2504. awp8->minimum(0);
  2505. awp8->maximum(127);
  2506. awp8->step(1);
  2507. awp8->align(Fl_Align(FL_ALIGN_BOTTOM));
  2508. awp8->when(FL_WHEN_CHANGED);
  2509. o->range(1,MAX_ALIENWAH_DELAY);
  2510. o->init("parameter8");
  2511. } // Fl_Osc_Counter* awp8
  2512. set_module_parameters(o);
  2513. effalienwahwindow->end();
  2514. } // Fl_Group* effalienwahwindow
  2515. return effalienwahwindow;
  2516. }
  2517. Fl_Group* SimpleEffUI::make_distorsion_window() {
  2518. { Fl_Group* o = effdistorsionwindow = new Fl_Group(0, 0, 230, 100);
  2519. effdistorsionwindow->box(FL_UP_BOX);
  2520. effdistorsionwindow->color((Fl_Color)51);
  2521. effdistorsionwindow->selection_color(FL_BACKGROUND_COLOR);
  2522. effdistorsionwindow->labeltype(FL_NO_LABEL);
  2523. effdistorsionwindow->labelfont(1);
  2524. effdistorsionwindow->labelsize(19);
  2525. effdistorsionwindow->labelcolor(FL_FOREGROUND_COLOR);
  2526. effdistorsionwindow->user_data((void*)(this));
  2527. effdistorsionwindow->align(Fl_Align(FL_ALIGN_TOP));
  2528. effdistorsionwindow->when(FL_WHEN_RELEASE);
  2529. { Fl_Osc_Choice* o = distp = new Fl_Osc_Choice(11, 15, 95, 15, "Preset");
  2530. distp->box(FL_UP_BOX);
  2531. distp->down_box(FL_BORDER_BOX);
  2532. distp->color(FL_DARK1);
  2533. distp->selection_color(FL_BACKGROUND2_COLOR);
  2534. distp->labeltype(FL_NORMAL_LABEL);
  2535. distp->labelfont(1);
  2536. distp->labelsize(10);
  2537. distp->labelcolor(FL_FOREGROUND_COLOR);
  2538. distp->textfont(1);
  2539. distp->textsize(10);
  2540. distp->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  2541. distp->when(FL_WHEN_RELEASE);
  2542. distp->menu(menu_distp1);
  2543. o->init("preset");
  2544. } // Fl_Osc_Choice* distp
  2545. { Fl_Osc_Dial* o = distp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  2546. distp0->tooltip("Effect Volume");
  2547. distp0->box(FL_ROUND_UP_BOX);
  2548. distp0->color(FL_BACKGROUND_COLOR);
  2549. distp0->selection_color(FL_INACTIVE_COLOR);
  2550. distp0->labeltype(FL_NORMAL_LABEL);
  2551. distp0->labelfont(1);
  2552. distp0->labelsize(11);
  2553. distp0->labelcolor(FL_FOREGROUND_COLOR);
  2554. distp0->maximum(127);
  2555. distp0->align(Fl_Align(FL_ALIGN_BOTTOM));
  2556. distp0->when(FL_WHEN_CHANGED);
  2557. o->init("parameter0");
  2558. } // Fl_Osc_Dial* distp0
  2559. { Fl_Osc_Dial* o = distp3 = new Fl_Osc_Dial(45, 40, 30, 30, "Drive");
  2560. distp3->tooltip("Input amplification");
  2561. distp3->box(FL_ROUND_UP_BOX);
  2562. distp3->color(FL_BACKGROUND_COLOR);
  2563. distp3->selection_color(FL_INACTIVE_COLOR);
  2564. distp3->labeltype(FL_NORMAL_LABEL);
  2565. distp3->labelfont(1);
  2566. distp3->labelsize(11);
  2567. distp3->labelcolor(FL_FOREGROUND_COLOR);
  2568. distp3->maximum(127);
  2569. distp3->align(Fl_Align(FL_ALIGN_BOTTOM));
  2570. distp3->when(FL_WHEN_RELEASE);
  2571. o->init("parameter3");
  2572. } // Fl_Osc_Dial* distp3
  2573. { Fl_Osc_Dial* o = distp4 = new Fl_Osc_Dial(80, 40, 30, 30, "Level");
  2574. distp4->tooltip("Output Amplification");
  2575. distp4->box(FL_ROUND_UP_BOX);
  2576. distp4->color(FL_BACKGROUND_COLOR);
  2577. distp4->selection_color(FL_INACTIVE_COLOR);
  2578. distp4->labeltype(FL_NORMAL_LABEL);
  2579. distp4->labelfont(1);
  2580. distp4->labelsize(11);
  2581. distp4->labelcolor(FL_FOREGROUND_COLOR);
  2582. distp4->maximum(127);
  2583. distp4->align(Fl_Align(FL_ALIGN_BOTTOM));
  2584. distp4->when(FL_WHEN_CHANGED);
  2585. o->init("parameter4");
  2586. } // Fl_Osc_Dial* distp4
  2587. { Fl_Osc_Dial* o = distp7 = new Fl_Osc_Dial(190, 40, 30, 30, "LPF");
  2588. distp7->tooltip("Low Pass Filter");
  2589. distp7->box(FL_ROUND_UP_BOX);
  2590. distp7->color(FL_BACKGROUND_COLOR);
  2591. distp7->selection_color(FL_INACTIVE_COLOR);
  2592. distp7->labeltype(FL_NORMAL_LABEL);
  2593. distp7->labelfont(1);
  2594. distp7->labelsize(11);
  2595. distp7->labelcolor(FL_FOREGROUND_COLOR);
  2596. distp7->maximum(127);
  2597. distp7->align(Fl_Align(FL_ALIGN_BOTTOM));
  2598. distp7->when(FL_WHEN_CHANGED);
  2599. o->init("parameter7");
  2600. } // Fl_Osc_Dial* distp7
  2601. { Fl_Osc_Choice* o = distp5 = new Fl_Osc_Choice(120, 50, 60, 20, "Type");
  2602. distp5->box(FL_UP_BOX);
  2603. distp5->down_box(FL_BORDER_BOX);
  2604. distp5->color(FL_BACKGROUND_COLOR);
  2605. distp5->selection_color(FL_SELECTION_COLOR);
  2606. distp5->labeltype(FL_NORMAL_LABEL);
  2607. distp5->labelfont(1);
  2608. distp5->labelsize(11);
  2609. distp5->labelcolor(FL_FOREGROUND_COLOR);
  2610. distp5->textsize(10);
  2611. distp5->align(Fl_Align(FL_ALIGN_BOTTOM));
  2612. distp5->when(FL_WHEN_RELEASE);
  2613. distp5->menu(menu_distp51);
  2614. o->init("parameter5");
  2615. } // Fl_Osc_Choice* distp5
  2616. set_module_parameters(o);
  2617. effdistorsionwindow->end();
  2618. } // Fl_Group* effdistorsionwindow
  2619. return effdistorsionwindow;
  2620. }
  2621. Fl_Group* SimpleEffUI::make_eq_window() {
  2622. { Fl_Group* o = effeqwindow = new Fl_Group(0, 0, 230, 100);
  2623. effeqwindow->box(FL_UP_BOX);
  2624. effeqwindow->color((Fl_Color)51);
  2625. effeqwindow->selection_color(FL_BACKGROUND_COLOR);
  2626. effeqwindow->labeltype(FL_NO_LABEL);
  2627. effeqwindow->labelfont(1);
  2628. effeqwindow->labelsize(19);
  2629. effeqwindow->labelcolor(FL_FOREGROUND_COLOR);
  2630. effeqwindow->user_data((void*)(this));
  2631. effeqwindow->align(Fl_Align(FL_ALIGN_TOP));
  2632. effeqwindow->when(FL_WHEN_RELEASE);
  2633. { Fl_Counter* o = bandcounter = new Fl_Counter(85, 15, 45, 15, "Band");
  2634. bandcounter->tooltip("Band no.");
  2635. bandcounter->type(1);
  2636. bandcounter->labelfont(1);
  2637. bandcounter->labelsize(11);
  2638. bandcounter->minimum(0);
  2639. bandcounter->maximum(1);
  2640. bandcounter->step(1);
  2641. bandcounter->textfont(1);
  2642. bandcounter->textsize(11);
  2643. bandcounter->callback((Fl_Callback*)cb_bandcounter1);
  2644. bandcounter->align(Fl_Align(FL_ALIGN_TOP));
  2645. o->bounds(0,MAX_EQ_BANDS-1);
  2646. } // Fl_Counter* bandcounter
  2647. { bandgroup = new Fl_Group(5, 5, 75, 85);
  2648. bandgroup->box(FL_UP_FRAME);
  2649. { Fl_Osc_Dial* o = freqdial = new Fl_Osc_Dial(10, 10, 25, 25, "Freq");
  2650. freqdial->box(FL_ROUND_UP_BOX);
  2651. freqdial->color(FL_BACKGROUND_COLOR);
  2652. freqdial->selection_color(FL_INACTIVE_COLOR);
  2653. freqdial->labeltype(FL_NORMAL_LABEL);
  2654. freqdial->labelfont(1);
  2655. freqdial->labelsize(10);
  2656. freqdial->labelcolor(FL_FOREGROUND_COLOR);
  2657. freqdial->maximum(127);
  2658. freqdial->callback((Fl_Callback*)cb_freqdial1);
  2659. freqdial->align(Fl_Align(FL_ALIGN_BOTTOM));
  2660. freqdial->when(3);
  2661. o->init("parameter11");
  2662. } // Fl_Osc_Dial* freqdial
  2663. { Fl_Osc_Dial* o = gaindial = new Fl_Osc_Dial(45, 10, 25, 25, "Gain");
  2664. gaindial->box(FL_ROUND_UP_BOX);
  2665. gaindial->color(FL_BACKGROUND_COLOR);
  2666. gaindial->selection_color(FL_INACTIVE_COLOR);
  2667. gaindial->labeltype(FL_NORMAL_LABEL);
  2668. gaindial->labelfont(1);
  2669. gaindial->labelsize(10);
  2670. gaindial->labelcolor(FL_FOREGROUND_COLOR);
  2671. gaindial->maximum(127);
  2672. gaindial->step(1);
  2673. gaindial->callback((Fl_Callback*)cb_gaindial1);
  2674. gaindial->align(Fl_Align(FL_ALIGN_BOTTOM));
  2675. gaindial->when(3);
  2676. o->init("parameter12");
  2677. } // Fl_Osc_Dial* gaindial
  2678. { Fl_Osc_Dial* o = qdial = new Fl_Osc_Dial(10, 50, 25, 25, "Q");
  2679. qdial->tooltip("Bandwidth/Resonance");
  2680. qdial->box(FL_ROUND_UP_BOX);
  2681. qdial->color(FL_BACKGROUND_COLOR);
  2682. qdial->selection_color(FL_INACTIVE_COLOR);
  2683. qdial->labeltype(FL_NORMAL_LABEL);
  2684. qdial->labelfont(1);
  2685. qdial->labelsize(10);
  2686. qdial->labelcolor(FL_FOREGROUND_COLOR);
  2687. qdial->maximum(127);
  2688. qdial->callback((Fl_Callback*)cb_qdial1);
  2689. qdial->align(Fl_Align(FL_ALIGN_BOTTOM));
  2690. qdial->when(3);
  2691. o->init("parameter13");
  2692. } // Fl_Osc_Dial* qdial
  2693. { Fl_Osc_Counter* o = stagescounter = new Fl_Osc_Counter(40, 55, 30, 15, "Stages");
  2694. stagescounter->tooltip("Additional filter stages");
  2695. stagescounter->type(1);
  2696. stagescounter->box(FL_UP_BOX);
  2697. stagescounter->color(FL_BACKGROUND_COLOR);
  2698. stagescounter->selection_color(FL_INACTIVE_COLOR);
  2699. stagescounter->labeltype(FL_NORMAL_LABEL);
  2700. stagescounter->labelfont(1);
  2701. stagescounter->labelsize(10);
  2702. stagescounter->labelcolor(FL_FOREGROUND_COLOR);
  2703. stagescounter->minimum(1);
  2704. stagescounter->maximum(127);
  2705. stagescounter->step(1);
  2706. stagescounter->textfont(1);
  2707. stagescounter->textsize(11);
  2708. stagescounter->callback((Fl_Callback*)cb_stagescounter1);
  2709. stagescounter->align(Fl_Align(FL_ALIGN_BOTTOM));
  2710. stagescounter->when(FL_WHEN_CHANGED);
  2711. o->bounds(0,MAX_FILTER_STAGES-1);
  2712. o->init("parameter14");
  2713. } // Fl_Osc_Counter* stagescounter
  2714. bandgroup->end();
  2715. } // Fl_Group* bandgroup
  2716. { Fl_Osc_Choice* o = typechoice = new Fl_Osc_Choice(135, 15, 40, 15, "Type");
  2717. typechoice->tooltip("Type");
  2718. typechoice->box(FL_UP_BOX);
  2719. typechoice->down_box(FL_BORDER_BOX);
  2720. typechoice->color(FL_BACKGROUND_COLOR);
  2721. typechoice->selection_color(FL_SELECTION_COLOR);
  2722. typechoice->labeltype(FL_NORMAL_LABEL);
  2723. typechoice->labelfont(1);
  2724. typechoice->labelsize(10);
  2725. typechoice->labelcolor(FL_FOREGROUND_COLOR);
  2726. typechoice->textsize(10);
  2727. typechoice->callback((Fl_Callback*)cb_typechoice1);
  2728. typechoice->align(Fl_Align(FL_ALIGN_TOP));
  2729. typechoice->when(FL_WHEN_RELEASE_ALWAYS);
  2730. typechoice->menu(menu_typechoice1);
  2731. o->init("parameter10");
  2732. } // Fl_Osc_Choice* typechoice
  2733. { eqgraph = new Fl_EQGraph(85, 35, 140, 55);
  2734. eqgraph->box(FL_BORDER_BOX);
  2735. eqgraph->color(FL_LIGHT1);
  2736. eqgraph->selection_color(FL_BACKGROUND_COLOR);
  2737. eqgraph->labeltype(FL_NORMAL_LABEL);
  2738. eqgraph->labelfont(0);
  2739. eqgraph->labelsize(14);
  2740. eqgraph->labelcolor(FL_FOREGROUND_COLOR);
  2741. eqgraph->align(Fl_Align(FL_ALIGN_CENTER));
  2742. eqgraph->when(FL_WHEN_RELEASE);
  2743. } // Fl_EQGraph* eqgraph
  2744. set_module_parameters(o);
  2745. effeqwindow->end();
  2746. } // Fl_Group* effeqwindow
  2747. return effeqwindow;
  2748. }
  2749. Fl_Group* SimpleEffUI::make_dynamicfilter_window() {
  2750. { Fl_Group* o = effdynamicfilterwindow = new Fl_Group(0, 0, 230, 100);
  2751. effdynamicfilterwindow->box(FL_UP_BOX);
  2752. effdynamicfilterwindow->color((Fl_Color)51);
  2753. effdynamicfilterwindow->selection_color(FL_BACKGROUND_COLOR);
  2754. effdynamicfilterwindow->labeltype(FL_NO_LABEL);
  2755. effdynamicfilterwindow->labelfont(1);
  2756. effdynamicfilterwindow->labelsize(19);
  2757. effdynamicfilterwindow->labelcolor(FL_FOREGROUND_COLOR);
  2758. effdynamicfilterwindow->user_data((void*)(this));
  2759. effdynamicfilterwindow->align(Fl_Align(FL_ALIGN_TOP));
  2760. effdynamicfilterwindow->when(FL_WHEN_RELEASE);
  2761. { Fl_Osc_Choice* o = dfp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset");
  2762. dfp->box(FL_UP_BOX);
  2763. dfp->down_box(FL_BORDER_BOX);
  2764. dfp->color(FL_DARK1);
  2765. dfp->selection_color(FL_BACKGROUND2_COLOR);
  2766. dfp->labeltype(FL_NORMAL_LABEL);
  2767. dfp->labelfont(1);
  2768. dfp->labelsize(10);
  2769. dfp->labelcolor(FL_FOREGROUND_COLOR);
  2770. dfp->textfont(1);
  2771. dfp->textsize(10);
  2772. dfp->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  2773. dfp->when(FL_WHEN_RELEASE);
  2774. dfp->menu(menu_dfp1);
  2775. o->init("preset");
  2776. } // Fl_Osc_Choice* dfp
  2777. { Fl_Osc_Dial* o = dfp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol");
  2778. dfp0->tooltip("Effect Volume");
  2779. dfp0->box(FL_ROUND_UP_BOX);
  2780. dfp0->color(FL_BACKGROUND_COLOR);
  2781. dfp0->selection_color(FL_INACTIVE_COLOR);
  2782. dfp0->labeltype(FL_NORMAL_LABEL);
  2783. dfp0->labelfont(1);
  2784. dfp0->labelsize(11);
  2785. dfp0->labelcolor(FL_FOREGROUND_COLOR);
  2786. dfp0->maximum(127);
  2787. dfp0->align(Fl_Align(FL_ALIGN_BOTTOM));
  2788. dfp0->when(FL_WHEN_CHANGED);
  2789. o->init("parameter0");
  2790. } // Fl_Osc_Dial* dfp0
  2791. { Fl_Osc_Dial* o = dfp2 = new Fl_Osc_Dial(45, 40, 30, 30, "Freq");
  2792. dfp2->tooltip("LFO frequency");
  2793. dfp2->box(FL_ROUND_UP_BOX);
  2794. dfp2->color(FL_BACKGROUND_COLOR);
  2795. dfp2->selection_color(FL_INACTIVE_COLOR);
  2796. dfp2->labeltype(FL_NORMAL_LABEL);
  2797. dfp2->labelfont(1);
  2798. dfp2->labelsize(11);
  2799. dfp2->labelcolor(FL_FOREGROUND_COLOR);
  2800. dfp2->maximum(127);
  2801. dfp2->align(Fl_Align(FL_ALIGN_BOTTOM));
  2802. dfp2->when(FL_WHEN_CHANGED);
  2803. o->init("parameter2");
  2804. } // Fl_Osc_Dial* dfp2
  2805. { Fl_Osc_Dial* o = dfp6 = new Fl_Osc_Dial(80, 40, 30, 30, "LfoD");
  2806. dfp6->tooltip("LFO depth");
  2807. dfp6->box(FL_ROUND_UP_BOX);
  2808. dfp6->color(FL_BACKGROUND_COLOR);
  2809. dfp6->selection_color(FL_INACTIVE_COLOR);
  2810. dfp6->labeltype(FL_NORMAL_LABEL);
  2811. dfp6->labelfont(1);
  2812. dfp6->labelsize(11);
  2813. dfp6->labelcolor(FL_FOREGROUND_COLOR);
  2814. dfp6->maximum(127);
  2815. dfp6->align(Fl_Align(FL_ALIGN_BOTTOM));
  2816. dfp6->when(FL_WHEN_CHANGED);
  2817. o->init("parameter6");
  2818. } // Fl_Osc_Dial* dfp6
  2819. { Fl_Group* o = new Fl_Group(115, 40, 65, 45);
  2820. o->box(FL_UP_FRAME);
  2821. { Fl_Osc_Dial* o = dfp7 = new Fl_Osc_Dial(120, 45, 25, 25, "A.S.");
  2822. dfp7->tooltip("how filter varies with amplitude");
  2823. dfp7->box(FL_ROUND_UP_BOX);
  2824. dfp7->color(FL_BACKGROUND_COLOR);
  2825. dfp7->selection_color(FL_INACTIVE_COLOR);
  2826. dfp7->labeltype(FL_NORMAL_LABEL);
  2827. dfp7->labelfont(1);
  2828. dfp7->labelsize(11);
  2829. dfp7->labelcolor(FL_FOREGROUND_COLOR);
  2830. dfp7->maximum(127);
  2831. dfp7->align(Fl_Align(FL_ALIGN_BOTTOM));
  2832. dfp7->when(FL_WHEN_CHANGED);
  2833. o->init("parameter7");
  2834. } // Fl_Osc_Dial* dfp7
  2835. { Fl_Osc_Dial* o = dfp9 = new Fl_Osc_Dial(150, 45, 25, 25, "A.M");
  2836. dfp9->tooltip("how quickly the filter varies with amplitude");
  2837. dfp9->box(FL_ROUND_UP_BOX);
  2838. dfp9->color(FL_BACKGROUND_COLOR);
  2839. dfp9->selection_color(FL_INACTIVE_COLOR);
  2840. dfp9->labeltype(FL_NORMAL_LABEL);
  2841. dfp9->labelfont(1);
  2842. dfp9->labelsize(11);
  2843. dfp9->labelcolor(FL_FOREGROUND_COLOR);
  2844. dfp9->maximum(127);
  2845. dfp9->align(Fl_Align(FL_ALIGN_BOTTOM));
  2846. dfp9->when(FL_WHEN_CHANGED);
  2847. o->init("parameter9");
  2848. } // Fl_Osc_Dial* dfp9
  2849. o->end();
  2850. } // Fl_Group* o
  2851. set_module_parameters(o);
  2852. effdynamicfilterwindow->end();
  2853. } // Fl_Group* effdynamicfilterwindow
  2854. return effdynamicfilterwindow;
  2855. }
  2856. void SimpleEffUI::init(bool ins_) {
  2857. efftype = 0;
  2858. insertion = ins_;
  2859. make_null_window();
  2860. make_reverb_window();
  2861. make_echo_window();
  2862. make_chorus_window();
  2863. make_phaser_window();
  2864. make_alienwah_window();
  2865. make_distorsion_window();
  2866. make_eq_window();
  2867. make_dynamicfilter_window();
  2868. int px=this->parent()->x();
  2869. int py=this->parent()->y();
  2870. effnullwindow->position(px,py);
  2871. effreverbwindow->position(px,py);
  2872. effechowindow->position(px,py);
  2873. effchoruswindow->position(px,py);
  2874. effphaserwindow->position(px,py);
  2875. effalienwahwindow->position(px,py);
  2876. effdistorsionwindow->position(px,py);
  2877. effeqwindow->position(px,py);
  2878. effdynamicfilterwindow->position(px,py);
  2879. }
  2880. void SimpleEffUI::refresh() {
  2881. this->hide();
  2882. for(int i=0; i<32; ++i)
  2883. osc->requestValue(loc()+"parameter"+to_s(i));
  2884. effnullwindow->hide();
  2885. effreverbwindow->hide();
  2886. effechowindow->hide();
  2887. effchoruswindow->hide();
  2888. effphaserwindow->hide();
  2889. effalienwahwindow->hide();
  2890. effdistorsionwindow->hide();
  2891. effeqwindow->hide();
  2892. effdynamicfilterwindow->hide();
  2893. eqband=0;
  2894. if(insertion) {
  2895. revp0->label("D/W");
  2896. echop0->label("D/W");
  2897. chorusp0->label("D/W");
  2898. phaserp0->label("D/W");
  2899. awp0->label("D/W");
  2900. distp0->label("D/W");
  2901. dfp0->label("D/W");
  2902. }
  2903. switch(efftype){
  2904. case 1:
  2905. effreverbwindow->show();
  2906. break;
  2907. case 2:
  2908. effechowindow->show();
  2909. break;
  2910. case 3:
  2911. effchoruswindow->show();
  2912. break;
  2913. case 4:
  2914. effphaserwindow->show();
  2915. break;
  2916. case 5:
  2917. effalienwahwindow->show();
  2918. break;
  2919. case 6:
  2920. effdistorsionwindow->show();
  2921. break;
  2922. case 7:
  2923. bandcounter->value(eqband);
  2924. bandcounter->do_callback();
  2925. effeqwindow->show();
  2926. break;
  2927. case 8:
  2928. effdynamicfilterwindow->show();
  2929. break;
  2930. default:effnullwindow->show();
  2931. break;
  2932. };
  2933. this->show();
  2934. }