Audio plugin host https://kx.studio/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.

EffUI.fl 74KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352
  1. # data file for the Fltk User Interface Designer (fluid)
  2. version 1.0110
  3. header_name {.h}
  4. code_name {.cc}
  5. decl {//Copyright (c) 2002-2005 Nasca Octavian Paul} {}
  6. decl {//License: GNU GPL version 2 or later} {}
  7. decl {\#include <stdlib.h>} {public
  8. }
  9. decl {\#include <stdio.h>} {public
  10. }
  11. decl {\#include <string.h>} {public
  12. }
  13. decl {\#include "../globals.h"} {public
  14. }
  15. decl {\#include "WidgetPDial.h"} {public
  16. }
  17. decl {\#include "EnvelopeUI.h"} {public
  18. }
  19. decl {\#include "FilterUI.h"} {public
  20. }
  21. decl {\#include "../Misc/Util.h"} {public
  22. }
  23. decl {\#include "../Effects/EffectMgr.h"} {public
  24. }
  25. decl {\#include "PresetsUI.h"} {public
  26. }
  27. decl {\#include "common.H"} {public
  28. }
  29. class EQGraph {: {public Fl_Box}
  30. } {
  31. Function {EQGraph(int x,int y, int w, int h, const char *label=0):Fl_Box(x,y,w,h,label)} {} {
  32. code {eff=NULL;
  33. maxdB=30;} {}
  34. }
  35. Function {init(EffectMgr *eff_)} {} {
  36. code {eff=eff_;
  37. oldx=-1;
  38. khzval=-1;} {}
  39. }
  40. Function {draw_freq_line(float freq,int type)} {} {
  41. code {fl_color(FL_GRAY);
  42. float freqx=getfreqpos(freq);
  43. switch(type){
  44. case 0:if (active_r()) fl_color(FL_WHITE);
  45. else fl_color(205,205,205);
  46. fl_line_style(FL_SOLID);
  47. break;
  48. case 1:fl_line_style(FL_DOT);break;
  49. case 2:fl_line_style(FL_DASH);break;
  50. };
  51. if ((freqx>0.0)&&(freqx<1.0))
  52. fl_line(x()+(int) (freqx*w()),y(),
  53. x()+(int) (freqx*w()),y()+h());} {}
  54. }
  55. Function {draw()} {} {
  56. code {int ox=x(),oy=y(),lx=w(),ly=h(),i;
  57. double iy,oiy;
  58. float freqx;
  59. if (active_r()) fl_color(fl_darker(FL_GRAY));
  60. else fl_color(FL_GRAY);
  61. fl_rectf(ox,oy,lx,ly);
  62. //draw the lines
  63. fl_color(fl_lighter( FL_GRAY));
  64. fl_line_style(FL_SOLID);
  65. fl_line(ox+2,oy+ly/2,ox+lx-2,oy+ly/2);
  66. freqx=getfreqpos(1000.0);
  67. if ((freqx>0.0)&&(freqx<1.0))
  68. fl_line(ox+(int) (freqx*lx),oy,
  69. ox+(int) (freqx*lx),oy+ly);
  70. for (i=1;i<10;i++){
  71. if(i==1){
  72. draw_freq_line(i*100.0,0);
  73. draw_freq_line(i*1000.0,0);
  74. }else
  75. if (i==5){
  76. draw_freq_line(i*10.0,2);
  77. draw_freq_line(i*100.0,2);
  78. draw_freq_line(i*1000.0,2);
  79. }else{
  80. draw_freq_line(i*10.0,1);
  81. draw_freq_line(i*100.0,1);
  82. draw_freq_line(i*1000.0,1);
  83. };
  84. };
  85. draw_freq_line(10000.0,0);
  86. draw_freq_line(20000.0,1);
  87. fl_line_style(FL_DOT);
  88. int GY=6;if (ly<GY*3) GY=-1;
  89. for (i=1;i<GY;i++){
  90. int tmp=(int)(ly/(float)GY*i);
  91. fl_line(ox+2,oy+tmp,ox+lx-2,oy+tmp);
  92. };
  93. //draw the frequency response
  94. if (active_r()) fl_color(FL_YELLOW);
  95. else fl_color(200,200,80);
  96. fl_line_style(FL_SOLID,2);
  97. fl_color( fl_color_add_alpha( fl_color(), 127 ) );
  98. oiy=getresponse(ly,getfreqx(0.0));
  99. fl_begin_line();
  100. for (i=1;i<lx;i++){
  101. float frq=getfreqx(i/(float) lx);
  102. if (frq>synth->samplerate/2) break;
  103. iy=getresponse(ly,frq);
  104. if ((oiy>=0) && (oiy<ly) &&
  105. (iy>=0) && (iy<ly) )
  106. fl_vertex(ox+i,oy+ly-iy);
  107. oiy=iy;
  108. };
  109. fl_end_line();
  110. fl_line_style(FL_SOLID,0);} {}
  111. }
  112. Function {getresponse(int maxy,float freq)} {return_type double
  113. } {
  114. code {float dbresp=eff->getEQfreqresponse(freq);
  115. int idbresp=(int) ((dbresp/maxdB+1.0)*maxy/2.0);
  116. //fprintf(stderr,"%.5f\\n",(dbresp/maxdB+1.0)*maxy/2.0);
  117. return(idbresp);} {}
  118. }
  119. Function {getfreqx(float x)} {return_type float
  120. } {
  121. code {if (x>1.0) x=1.0;
  122. return(20.0*pow((float)1000.0,x));} {}
  123. }
  124. Function {getfreqpos(float freq)} {return_type float
  125. } {
  126. code {if (freq<0.00001) freq=0.00001;
  127. return(log(freq/20.0)/log(1000.0));} {}
  128. }
  129. decl {int oldx,oldy;} {}
  130. decl {float khzval;} {public
  131. }
  132. decl {EffectMgr *eff;} {}
  133. decl {int maxdB;} {}
  134. }
  135. class EffUI {open : {public Fl_Group,public PresetsUI_}
  136. } {
  137. Function {EffUI(int x,int y, int w, int h, const char *label=0):Fl_Group(x,y,w,h,label)} {} {
  138. code {eff=NULL;
  139. filterwindow=NULL;} {}
  140. }
  141. Function {~EffUI()} {} {
  142. code {effnullwindow->hide();//delete (effnullwindow);
  143. effreverbwindow->hide();//delete (effreverbwindow);
  144. effechowindow->hide();//delete (effechowindow);
  145. effchoruswindow->hide();//delete (effchoruswindow);
  146. effphaserwindow->hide();//delete (effphaserwindow);
  147. effalienwahwindow->hide();//delete (effalienwahwindow);
  148. effdistorsionwindow->hide();//delete (effdistorsionwindow);
  149. effeqwindow->hide();//delete (effeqwindow);
  150. effdynamicfilterwindow->hide();//delete (effdynamicfilterwindow);
  151. if (filterwindow!=NULL){
  152. filterwindow->hide();
  153. delete(filterwindow);
  154. };} {}
  155. }
  156. Function {make_null_window()} {open
  157. } {
  158. Fl_Window effnullwindow {
  159. label {No Effect}
  160. xywh {612 881 380 100} type Double box UP_BOX color 221 labelfont 1 labelsize 19 align 16
  161. code0 {set_module_parameters(o);}
  162. class Fl_Group visible
  163. } {}
  164. }
  165. Function {make_reverb_window()} {open
  166. } {
  167. Fl_Window effreverbwindow {
  168. label Reverb open
  169. xywh {377 636 380 100} type Double box UP_BOX color 221 labelfont 1 labelsize 19 align 25
  170. code0 {set_module_parameters(o);}
  171. class Fl_Group visible
  172. } {
  173. Fl_Choice revp {
  174. label Preset
  175. callback {eff->changepreset((int)o->value());
  176. refresh(eff);}
  177. xywh {10 15 90 15} box UP_BOX down_box BORDER_BOX color 14 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  178. } {
  179. MenuItem {} {
  180. label {Cathedral 1}
  181. xywh {10 10 100 20} labelfont 1 labelsize 10
  182. }
  183. MenuItem {} {
  184. label {Cathedral 2}
  185. xywh {20 20 100 20} labelfont 1 labelsize 10
  186. }
  187. MenuItem {} {
  188. label {Cathedral 3}
  189. xywh {30 30 100 20} labelfont 1 labelsize 10
  190. }
  191. MenuItem {} {
  192. label {Hall 1}
  193. xywh {40 40 100 20} labelfont 1 labelsize 10
  194. }
  195. MenuItem {} {
  196. label {Hall 2}
  197. xywh {50 50 100 20} labelfont 1 labelsize 10
  198. }
  199. MenuItem {} {
  200. label {Room 1}
  201. xywh {60 60 100 20} labelfont 1 labelsize 10
  202. }
  203. MenuItem {} {
  204. label {Room 2}
  205. xywh {70 70 100 20} labelfont 1 labelsize 10
  206. }
  207. MenuItem {} {
  208. label Basement
  209. xywh {80 80 100 20} labelfont 1 labelsize 10
  210. }
  211. MenuItem {} {
  212. label Tunnel
  213. xywh {90 90 100 20} labelfont 1 labelsize 10
  214. }
  215. MenuItem {} {
  216. label {Echoed 1}
  217. xywh {100 100 100 20} labelfont 1 labelsize 10
  218. }
  219. MenuItem {} {
  220. label {Echoed 2}
  221. xywh {110 110 100 20} labelfont 1 labelsize 10
  222. }
  223. MenuItem {} {
  224. label {Very Long 1}
  225. xywh {120 120 100 20} labelfont 1 labelsize 10
  226. }
  227. MenuItem {} {
  228. label {Very Long 2}
  229. xywh {130 130 100 20} labelfont 1 labelsize 10
  230. }
  231. }
  232. Fl_Choice revp10 {
  233. label Type
  234. callback {eff->seteffectpar(10,(int) o->value());
  235. if (eff->geteffectpar(10)==2) revp12->activate();
  236. else revp12->deactivate();}
  237. xywh {110 15 85 15} down_box BORDER_BOX color 14 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  238. } {
  239. MenuItem {} {
  240. label Random
  241. xywh {20 20 100 20} labelfont 1 labelsize 10
  242. }
  243. MenuItem {} {
  244. label Freeverb
  245. xywh {30 30 100 20} labelfont 1 labelsize 10
  246. }
  247. MenuItem {} {
  248. label Bandwidth
  249. xywh {40 40 100 20} labelfont 1 labelsize 10
  250. }
  251. }
  252. Fl_Dial revp0 {
  253. label Vol
  254. callback {eff->seteffectpar(0,(int) o->value());}
  255. tooltip {Effect Volume} xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  256. class WidgetPDial
  257. }
  258. Fl_Dial revp1 {
  259. label Pan
  260. callback {eff->seteffectpar(1,(int) o->value());}
  261. xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  262. class WidgetPDial
  263. }
  264. Fl_Dial revp2 {
  265. label Time
  266. callback {eff->seteffectpar(2,(int) o->value());}
  267. tooltip {Duration of Effect} xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  268. class WidgetPDial
  269. }
  270. Fl_Dial revp3 {
  271. label {I.del}
  272. callback {eff->seteffectpar(3,(int) o->value());}
  273. tooltip {Initial Delay} xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 when 4 maximum 127
  274. class WidgetPDial
  275. }
  276. Fl_Dial revp4 {
  277. label {I.delfb}
  278. callback {eff->seteffectpar(4,(int) o->value());}
  279. tooltip {Initial Delay Feedback} xywh {155 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  280. class WidgetPDial
  281. }
  282. Fl_Dial revp12 {
  283. label bw
  284. callback {eff->seteffectpar(12,(int) o->value());}
  285. xywh {200 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 when 4 maximum 127 deactivate
  286. code0 {if (eff->geteffectpar(10)==2) o->activate();}
  287. class WidgetPDial
  288. }
  289. Fl_Dial revp6 {
  290. label {E/R}
  291. callback {eff->seteffectpar(6,(int) o->value());}
  292. xywh {235 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127 deactivate
  293. class WidgetPDial
  294. }
  295. Fl_Dial revp7 {
  296. label LPF
  297. callback {eff->seteffectpar(7,(int) o->value());}
  298. tooltip {Low Pass Filter} xywh {270 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  299. class WidgetPDial
  300. }
  301. Fl_Dial revp8 {
  302. label HPF
  303. callback {eff->seteffectpar(8,(int) o->value());}
  304. tooltip {High Pass Filter} xywh {305 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  305. class WidgetPDial
  306. }
  307. Fl_Dial revp9 {
  308. label Damp
  309. callback {eff->seteffectpar(9,(int) o->value());}
  310. tooltip Dampening xywh {340 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 minimum 64 maximum 127 step 1
  311. class WidgetPDial
  312. }
  313. Fl_Dial revp11 {
  314. label {R.S.}
  315. callback {int x=64;
  316. if (Fl::event_button1()) x=(int)o->value();
  317. else o->value(x);
  318. eff->seteffectpar(11,x);}
  319. tooltip RoomSize xywh {200 10 25 25} box ROUND_UP_BOX labelfont 1 labelsize 8 align 8 minimum 1 maximum 127 step 1
  320. class WidgetPDial
  321. }
  322. }
  323. }
  324. Function {make_echo_window()} {open
  325. } {
  326. Fl_Window effechowindow {
  327. label Echo
  328. xywh {897 611 380 100} type Double box UP_BOX color 221 labelfont 1 labelsize 19 align 25
  329. code0 {set_module_parameters(o);}
  330. class Fl_Group visible
  331. } {
  332. Fl_Choice echop {
  333. label Preset
  334. callback {eff->changepreset((int)o->value());
  335. refresh(eff);}
  336. xywh {11 15 95 15} box UP_BOX down_box BORDER_BOX color 14 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  337. } {
  338. MenuItem {} {
  339. label {Echo 1}
  340. xywh {20 20 100 20} labelfont 1 labelsize 10
  341. }
  342. MenuItem {} {
  343. label {Echo 2}
  344. xywh {30 30 100 20} labelfont 1 labelsize 10
  345. }
  346. MenuItem {} {
  347. label {Echo 3}
  348. xywh {40 40 100 20} labelfont 1 labelsize 10
  349. }
  350. MenuItem {} {
  351. label {Simple Echo}
  352. xywh {50 50 100 20} labelfont 1 labelsize 10
  353. }
  354. MenuItem {} {
  355. label Canyon
  356. xywh {60 60 100 20} labelfont 1 labelsize 10
  357. }
  358. MenuItem {} {
  359. label {Panning Echo 1}
  360. xywh {70 70 100 20} labelfont 1 labelsize 10
  361. }
  362. MenuItem {} {
  363. label {Panning Echo 2}
  364. xywh {80 80 100 20} labelfont 1 labelsize 10
  365. }
  366. MenuItem {} {
  367. label {Panning Echo 3}
  368. xywh {90 90 100 20} labelfont 1 labelsize 10
  369. }
  370. MenuItem {} {
  371. label {Feedback Echo}
  372. xywh {100 100 100 20} labelfont 1 labelsize 10
  373. }
  374. }
  375. Fl_Dial echop0 {
  376. label Vol
  377. callback {eff->seteffectpar(0,(int) o->value());}
  378. tooltip {Effect Volume} xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  379. class WidgetPDial
  380. }
  381. Fl_Dial echop1 {
  382. label Pan
  383. callback {eff->seteffectpar(1,(int) o->value());}
  384. xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  385. class WidgetPDial
  386. }
  387. Fl_Dial echop2 {
  388. label Delay
  389. callback {eff->seteffectpar(2,(int) o->value());}
  390. xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 when 4 maximum 127
  391. class WidgetPDial
  392. }
  393. Fl_Dial echop3 {
  394. label {LRdl.}
  395. callback {eff->seteffectpar(3,(int) o->value());}
  396. tooltip {Delay Between L/R} xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 when 4 maximum 127
  397. class WidgetPDial
  398. }
  399. Fl_Dial echop4 {
  400. label {LRc.}
  401. callback {eff->seteffectpar(4,(int) o->value());}
  402. tooltip {L/R Crossover} xywh {155 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  403. class WidgetPDial
  404. }
  405. Fl_Dial echop5 {
  406. label {Fb.}
  407. callback {eff->seteffectpar(5,(int) o->value());}
  408. tooltip Feedback xywh {195 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  409. class WidgetPDial
  410. }
  411. Fl_Dial echop6 {
  412. label Damp
  413. callback {eff->seteffectpar(6,(int) o->value());}
  414. tooltip Dampening xywh {235 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  415. class WidgetPDial
  416. }
  417. }
  418. }
  419. Function {make_chorus_window()} {open
  420. } {
  421. Fl_Window effchoruswindow {
  422. label Chorus open
  423. xywh {467 742 380 100} type Double box UP_BOX color 221 labelfont 1 labelsize 19 align 25
  424. code0 {set_module_parameters(o);}
  425. class Fl_Group visible
  426. } {
  427. Fl_Choice chorusp {
  428. label Preset
  429. callback {eff->changepreset((int)o->value());
  430. refresh(eff);}
  431. xywh {10 15 90 15} box UP_BOX down_box BORDER_BOX color 14 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  432. } {
  433. MenuItem {} {
  434. label {Chorus 1}
  435. xywh {20 20 100 20} labelfont 1 labelsize 10
  436. }
  437. MenuItem {} {
  438. label {Chorus 2}
  439. xywh {30 30 100 20} labelfont 1 labelsize 10
  440. }
  441. MenuItem {} {
  442. label {Chorus 3}
  443. xywh {40 40 100 20} labelfont 1 labelsize 10
  444. }
  445. MenuItem {} {
  446. label {Celeste 1}
  447. xywh {50 50 100 20} labelfont 1 labelsize 10
  448. }
  449. MenuItem {} {
  450. label {Celeste 2}
  451. xywh {60 60 100 20} labelfont 1 labelsize 10
  452. }
  453. MenuItem {} {
  454. label {Flange 1}
  455. xywh {70 70 100 20} labelfont 1 labelsize 10
  456. }
  457. MenuItem {} {
  458. label {Flange 2}
  459. xywh {80 80 100 20} labelfont 1 labelsize 10
  460. }
  461. MenuItem {} {
  462. label {Flange 3}
  463. xywh {90 90 100 20} labelfont 1 labelsize 10
  464. }
  465. MenuItem {} {
  466. label {Flange 4}
  467. xywh {100 100 100 20} labelfont 1 labelsize 10
  468. }
  469. MenuItem {} {
  470. label {Flange 5}
  471. xywh {110 110 100 20} labelfont 1 labelsize 10
  472. }
  473. }
  474. Fl_Dial chorusp0 {
  475. label Vol
  476. callback {eff->seteffectpar(0,(int) o->value());}
  477. xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  478. class WidgetPDial
  479. }
  480. Fl_Dial chorusp1 {
  481. label Pan
  482. callback {eff->seteffectpar(1,(int) o->value());}
  483. xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  484. class WidgetPDial
  485. }
  486. Fl_Dial chorusp2 {
  487. label Freq
  488. callback {eff->seteffectpar(2,(int) o->value());}
  489. tooltip {LFO Frequency} xywh {85 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  490. class WidgetPDial
  491. }
  492. Fl_Dial chorusp3 {
  493. label Rnd
  494. callback {eff->seteffectpar(3,(int) o->value());}
  495. tooltip {LFO Randomness} xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 when 4 maximum 127
  496. class WidgetPDial
  497. }
  498. Fl_Dial chorusp5 {
  499. label {St.df}
  500. callback {eff->seteffectpar(5,(int) o->value());}
  501. tooltip {L/R Phase Shift} xywh {200 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  502. class WidgetPDial
  503. }
  504. Fl_Dial chorusp6 {
  505. label Dpth
  506. callback {eff->seteffectpar(6,(int) o->value());}
  507. tooltip {LFO Depth} xywh {235 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  508. class WidgetPDial
  509. }
  510. Fl_Dial chorusp7 {
  511. label Delay
  512. callback {eff->seteffectpar(7,(int) o->value());}
  513. xywh {270 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  514. class WidgetPDial
  515. }
  516. Fl_Dial chorusp8 {
  517. label Fb
  518. callback {eff->seteffectpar(8,(int) o->value());}
  519. tooltip Feedback xywh {305 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  520. class WidgetPDial
  521. }
  522. Fl_Dial chorusp9 {
  523. label {L/R}
  524. callback {eff->seteffectpar(9,(int) o->value());}
  525. tooltip {Channel Routing} xywh {340 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  526. class WidgetPDial
  527. }
  528. Fl_Check_Button {} {
  529. label Flange
  530. callback {eff->seteffectpar(10,(int) o->value());}
  531. xywh {120 10 55 20} box THIN_UP_BOX down_box DOWN_BOX color 230 labelfont 1 labelsize 10 hide deactivate
  532. code0 {o->value(eff->geteffectpar(10));}
  533. }
  534. Fl_Check_Button chorusp11 {
  535. label Substract
  536. callback {eff->seteffectpar(11,(int) o->value());}
  537. tooltip {inverts the output} xywh {185 10 70 20} box THIN_UP_BOX down_box DOWN_BOX color 51 labelsize 10
  538. }
  539. Fl_Choice chorusp4 {
  540. label {LFO type}
  541. callback {eff->seteffectpar(4,(int) o->value());}
  542. tooltip {LFO function} xywh {155 50 40 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 130 textsize 8
  543. } {
  544. MenuItem {} {
  545. label SINE
  546. xywh {15 15 100 20} labelfont 1 labelsize 10
  547. }
  548. MenuItem {} {
  549. label TRI
  550. xywh {25 25 100 20} labelfont 1 labelsize 10
  551. }
  552. }
  553. }
  554. }
  555. Function {make_phaser_window()} {open
  556. } {
  557. Fl_Window effphaserwindow {
  558. label Phaser open
  559. xywh {101 232 380 95} type Double box UP_BOX color 221 labelfont 1 labelsize 19 align 25
  560. code0 {set_module_parameters(o);}
  561. class Fl_Group visible
  562. } {
  563. Fl_Choice phaserp {
  564. label Preset
  565. callback {eff->changepreset((int)o->value());
  566. refresh(eff);}
  567. xywh {10 15 100 15} box UP_BOX down_box BORDER_BOX color 14 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  568. } {
  569. MenuItem {} {
  570. label {Phaser 1}
  571. xywh {30 30 100 20} labelfont 1 labelsize 10
  572. }
  573. MenuItem {} {
  574. label {Phaser 2}
  575. xywh {40 40 100 20} labelfont 1 labelsize 10
  576. }
  577. MenuItem {} {
  578. label {Phaser 3}
  579. xywh {50 50 100 20} labelfont 1 labelsize 10
  580. }
  581. MenuItem {} {
  582. label {Phaser 4}
  583. xywh {60 60 100 20} labelfont 1 labelsize 10
  584. }
  585. MenuItem {} {
  586. label {Phaser 5}
  587. xywh {70 70 100 20} labelfont 1 labelsize 10
  588. }
  589. MenuItem {} {
  590. label {Phaser 6}
  591. xywh {80 80 100 20} labelfont 1 labelsize 10
  592. }
  593. MenuItem {} {
  594. label {APhaser 1}
  595. xywh {40 40 100 20} labelfont 1 labelsize 10
  596. }
  597. MenuItem {} {
  598. label {APhaser 2}
  599. xywh {50 50 100 20} labelfont 1 labelsize 10
  600. }
  601. MenuItem {} {
  602. label {APhaser 3}
  603. xywh {60 60 100 20} labelfont 1 labelsize 10
  604. }
  605. MenuItem {} {
  606. label {APhaser 4}
  607. xywh {70 70 100 20} labelfont 1 labelsize 10
  608. }
  609. MenuItem {} {
  610. label {APhaser 5}
  611. xywh {80 80 100 20} labelfont 1 labelsize 10
  612. }
  613. MenuItem {} {
  614. label {APhaser 6}
  615. xywh {90 90 100 20} labelfont 1 labelsize 10
  616. }
  617. }
  618. Fl_Dial phaserp0 {
  619. label Vol
  620. callback {eff->seteffectpar(0,(int) o->value());}
  621. tooltip {Effect Volume} xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  622. class WidgetPDial
  623. }
  624. Fl_Dial phaserp1 {
  625. label Pan
  626. callback {eff->seteffectpar(1,(int) o->value());}
  627. xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  628. class WidgetPDial
  629. }
  630. Fl_Dial phaserp2 {
  631. label Freq
  632. callback {eff->seteffectpar(2,(int) o->value());}
  633. tooltip {LFO frequency} xywh {85 45 25 25} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  634. class WidgetPDial
  635. }
  636. Fl_Dial phaserp3 {
  637. label Rnd
  638. callback {eff->seteffectpar(3,(int) o->value());}
  639. tooltip {LFO randomness} xywh {120 45 25 25} box ROUND_UP_BOX labelfont 1 labelsize 11 when 4 maximum 127
  640. class WidgetPDial
  641. }
  642. Fl_Choice phaserp4 {
  643. label LFO
  644. callback {eff->seteffectpar(4,(int) o->value());}
  645. tooltip {LFO function} xywh {245 55 40 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 130 textsize 8
  646. } {
  647. MenuItem {} {
  648. label SIN
  649. xywh {15 15 100 20} labelfont 1 labelsize 10
  650. }
  651. MenuItem {} {
  652. label TRI
  653. xywh {25 25 100 20} labelfont 1 labelsize 10
  654. }
  655. }
  656. Fl_Dial phaserp5 {
  657. label {St.df}
  658. callback {eff->seteffectpar(5,(int) o->value());}
  659. tooltip {Left/Right Channel Phase Shift} xywh {155 45 25 25} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  660. class WidgetPDial
  661. }
  662. Fl_Dial phaserp6 {
  663. label Dpth
  664. callback {eff->seteffectpar(6,(int) o->value());}
  665. tooltip {LFO Depth} xywh {120 5 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 maximum 127
  666. class WidgetPDial
  667. }
  668. Fl_Dial phaserp7 {
  669. label Fb
  670. callback {eff->seteffectpar(7,(int) o->value());}
  671. tooltip Feedback xywh {185 45 25 25} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  672. class WidgetPDial
  673. }
  674. Fl_Counter phaserp8 {
  675. label Stages
  676. callback {eff->seteffectpar(8,(int) o->value());}
  677. xywh {290 55 35 15} type Simple labelfont 1 labelsize 11 minimum 0 maximum 127 step 1
  678. code0 {o->range(1,MAX_PHASER_STAGES);}
  679. }
  680. Fl_Dial phaserp9 {
  681. label {L/R}
  682. callback {eff->seteffectpar(9,(int) o->value());}
  683. tooltip {Channel Routing} xywh {215 45 25 25} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  684. class WidgetPDial
  685. }
  686. Fl_Check_Button phaserp10 {
  687. label Substract
  688. callback {eff->seteffectpar(10,(int) o->value());} selected
  689. tooltip {inverts output} xywh {200 10 74 20} box THIN_UP_BOX down_box DOWN_BOX color 51 labelfont 1 labelsize 10
  690. }
  691. Fl_Dial phaserp11 {
  692. label Phase
  693. callback {eff->seteffectpar(11,(int) o->value());}
  694. xywh {155 5 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 maximum 127
  695. class WidgetPDial
  696. }
  697. Fl_Check_Button phaserp12 {
  698. label {hyp.}
  699. callback {eff->seteffectpar(12,(int) o->value());}
  700. tooltip hyper xywh {245 35 55 15} down_box DOWN_BOX
  701. }
  702. Fl_Dial phaserp13 {
  703. label dist
  704. callback {eff->seteffectpar(13,(int) o->value());}
  705. tooltip Distortion xywh {340 50 25 25} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  706. class WidgetPDial
  707. }
  708. Fl_Check_Button phaserp14 {
  709. label Analog
  710. callback {eff->seteffectpar(14,(int) o->value());}
  711. xywh {305 35 70 15} down_box DOWN_BOX
  712. }
  713. }
  714. }
  715. Function {make_alienwah_window()} {open
  716. } {
  717. Fl_Window effalienwahwindow {
  718. label AlienWah
  719. xywh {253 353 380 100} type Double box UP_BOX color 221 labelfont 1 labelsize 19 align 25
  720. code0 {set_module_parameters(o);}
  721. class Fl_Group visible
  722. } {
  723. Fl_Choice awp {
  724. label Preset
  725. callback {eff->changepreset((int)o->value());
  726. refresh(eff);}
  727. xywh {10 15 90 15} box UP_BOX down_box BORDER_BOX color 14 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  728. } {
  729. MenuItem {} {
  730. label {Alienwah 1}
  731. xywh {40 40 100 20} labelfont 1 labelsize 10
  732. }
  733. MenuItem {} {
  734. label {Alienwah 2}
  735. xywh {50 50 100 20} labelfont 1 labelsize 10
  736. }
  737. MenuItem {} {
  738. label {Alienwah 3}
  739. xywh {60 60 100 20} labelfont 1 labelsize 10
  740. }
  741. MenuItem {} {
  742. label {Alienwah 4}
  743. xywh {70 70 100 20} labelfont 1 labelsize 10
  744. }
  745. }
  746. Fl_Dial awp0 {
  747. label Vol
  748. callback {eff->seteffectpar(0,(int) o->value());}
  749. tooltip {Effect Volume} xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  750. class WidgetPDial
  751. }
  752. Fl_Dial awp1 {
  753. label Pan
  754. callback {eff->seteffectpar(1,(int) o->value());}
  755. xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  756. class WidgetPDial
  757. }
  758. Fl_Dial awp2 {
  759. label Freq
  760. callback {eff->seteffectpar(2,(int) o->value());}
  761. tooltip {LFO Frequency} xywh {85 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  762. class WidgetPDial
  763. }
  764. Fl_Dial awp3 {
  765. label Rnd
  766. callback {eff->seteffectpar(3,(int) o->value());}
  767. tooltip {LFO Randomness} xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 when 4 maximum 127
  768. class WidgetPDial
  769. }
  770. Fl_Dial awp5 {
  771. label {St.df}
  772. callback {eff->seteffectpar(5,(int) o->value());}
  773. tooltip {Left/Right Channel Phase Shift} xywh {200 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  774. class WidgetPDial
  775. }
  776. Fl_Dial awp6 {
  777. label Dpth
  778. callback {eff->seteffectpar(6,(int) o->value());}
  779. tooltip Depth xywh {235 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  780. class WidgetPDial
  781. }
  782. Fl_Dial awp7 {
  783. label Fb
  784. callback {eff->seteffectpar(7,(int) o->value());}
  785. tooltip Feedback xywh {270 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  786. class WidgetPDial
  787. }
  788. Fl_Dial awp9 {
  789. label {L/R}
  790. callback {eff->seteffectpar(9,(int) o->value());}
  791. xywh {345 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  792. class WidgetPDial
  793. }
  794. Fl_Choice awp4 {
  795. label {LFO type}
  796. callback {eff->seteffectpar(4,(int) o->value());}
  797. tooltip {LFO function} xywh {155 50 40 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 130 textsize 8
  798. } {
  799. MenuItem {} {
  800. label SINE
  801. xywh {15 15 100 20} labelfont 1 labelsize 10
  802. }
  803. MenuItem {} {
  804. label TRI
  805. xywh {25 25 100 20} labelfont 1 labelsize 10
  806. }
  807. }
  808. Fl_Dial awp10 {
  809. label Phase
  810. callback {eff->seteffectpar(10,(int) o->value());}
  811. xywh {160 5 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  812. class WidgetPDial
  813. }
  814. Fl_Counter awp8 {
  815. label Delay
  816. callback {eff->seteffectpar(8,(int) o->value());}
  817. xywh {305 55 35 15} type Simple labelfont 1 labelsize 11 minimum 0 maximum 127 step 1
  818. code0 {o->range(1,MAX_ALIENWAH_DELAY);}
  819. }
  820. }
  821. }
  822. Function {make_distorsion_window()} {open
  823. } {
  824. Fl_Window effdistorsionwindow {
  825. label Distortion open
  826. xywh {544 217 380 100} type Double box UP_BOX color 221 labelfont 1 labelsize 19 align 25
  827. code0 {set_module_parameters(o);}
  828. class Fl_Group visible
  829. } {
  830. Fl_Choice distp {
  831. label Preset
  832. callback {eff->changepreset((int)o->value());
  833. refresh(eff);}
  834. xywh {11 15 95 15} box UP_BOX down_box BORDER_BOX color 14 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  835. } {
  836. MenuItem {} {
  837. label {Overdrive 1}
  838. xywh {20 20 100 20} labelfont 1 labelsize 10
  839. }
  840. MenuItem {} {
  841. label {Overdrive 2}
  842. xywh {30 30 100 20} labelfont 1 labelsize 10
  843. }
  844. MenuItem {} {
  845. label {A. Exciter 1}
  846. xywh {40 40 100 20} labelfont 1 labelsize 10
  847. }
  848. MenuItem {} {
  849. label {A. Exciter 2}
  850. xywh {50 50 100 20} labelfont 1 labelsize 10
  851. }
  852. MenuItem {} {
  853. label {Guitar Amp}
  854. xywh {50 50 100 20} labelfont 1 labelsize 10
  855. }
  856. MenuItem {} {
  857. label Quantisize
  858. xywh {60 60 100 20} labelfont 1 labelsize 10
  859. }
  860. }
  861. Fl_Dial distp0 {
  862. label Vol
  863. callback {eff->seteffectpar(0,(int) o->value());}
  864. tooltip {Effect Volume} xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  865. class WidgetPDial
  866. }
  867. Fl_Dial distp1 {
  868. label Pan
  869. callback {eff->seteffectpar(1,(int) o->value());}
  870. xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  871. class WidgetPDial
  872. }
  873. Fl_Dial distp2 {
  874. label {LRc.}
  875. callback {eff->seteffectpar(2,(int) o->value());}
  876. tooltip {L/R Mix} xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 when 4 maximum 127
  877. class WidgetPDial
  878. }
  879. Fl_Dial distp3 {
  880. label Drive
  881. callback {eff->seteffectpar(3,(int) o->value());}
  882. tooltip {Input Amplification} xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 when 4 maximum 127
  883. class WidgetPDial
  884. }
  885. Fl_Dial distp4 {
  886. label Level
  887. callback {eff->seteffectpar(4,(int) o->value());}
  888. tooltip {Output Amplification} xywh {155 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  889. class WidgetPDial
  890. }
  891. Fl_Dial distp7 {
  892. label LPF
  893. callback {eff->seteffectpar(7,(int) o->value());}
  894. tooltip {Low Pass Filter} xywh {285 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  895. class WidgetPDial
  896. }
  897. Fl_Dial distp8 {
  898. label HPF
  899. callback {eff->seteffectpar(8,(int) o->value());}
  900. tooltip {High Pass Filter} xywh {320 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  901. class WidgetPDial
  902. }
  903. Fl_Choice distp5 {
  904. label Type
  905. callback {eff->seteffectpar(5,(int) o->value());}
  906. xywh {190 50 60 20} box UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 align 2 textsize 10
  907. } {
  908. MenuItem {} {
  909. label Atan
  910. xywh {55 55 100 20} labelfont 1 labelsize 10
  911. }
  912. MenuItem {} {
  913. label Asym1
  914. xywh {65 65 100 20} labelfont 1 labelsize 10
  915. }
  916. MenuItem {} {
  917. label Pow
  918. xywh {75 75 100 20} labelfont 1 labelsize 10
  919. }
  920. MenuItem {} {
  921. label Sine
  922. xywh {85 85 100 20} labelfont 1 labelsize 10
  923. }
  924. MenuItem {} {
  925. label Qnts
  926. xywh {95 95 100 20} labelfont 1 labelsize 10
  927. }
  928. MenuItem {} {
  929. label Zigzg
  930. xywh {105 105 100 20} labelfont 1 labelsize 10
  931. }
  932. MenuItem {} {
  933. label Lmt
  934. xywh {115 115 100 20} labelfont 1 labelsize 10
  935. }
  936. MenuItem {} {
  937. label LmtU
  938. xywh {125 125 100 20} labelfont 1 labelsize 10
  939. }
  940. MenuItem {} {
  941. label LmtL
  942. xywh {135 135 100 20} labelfont 1 labelsize 10
  943. }
  944. MenuItem {} {
  945. label ILmt
  946. xywh {147 147 100 20} labelfont 1 labelsize 10
  947. }
  948. MenuItem {} {
  949. label Clip
  950. xywh {157 157 100 20} labelfont 1 labelsize 10
  951. }
  952. MenuItem {} {
  953. label Asym2
  954. xywh {75 75 100 20} labelfont 1 labelsize 10
  955. }
  956. MenuItem {} {
  957. label Pow2
  958. xywh {85 85 100 20} labelfont 1 labelsize 10
  959. }
  960. MenuItem {} {
  961. label Sgm
  962. xywh {95 95 100 20} labelfont 1 labelsize 10
  963. }
  964. }
  965. Fl_Check_Button distp6 {
  966. label {Neg.}
  967. callback {eff->seteffectpar(6,(int) o->value());}
  968. xywh {260 55 15 15} down_box DOWN_BOX labelfont 1 labelsize 11 align 2
  969. }
  970. Fl_Check_Button distp9 {
  971. label {St.}
  972. callback {eff->seteffectpar(9,(int) o->value());}
  973. tooltip Stereo xywh {355 60 15 15} down_box DOWN_BOX labelfont 1 labelsize 11 align 2
  974. }
  975. Fl_Check_Button distp10 {
  976. label PF
  977. callback {eff->seteffectpar(10,(int) o->value());}
  978. tooltip {Applies the filters(before or after) the distorsion} xywh {355 44 15 15} down_box DOWN_BOX labelfont 1 labelsize 11 align 1
  979. }
  980. }
  981. }
  982. Function {make_eq_window()} {open
  983. } {
  984. Fl_Window effeqwindow {
  985. label EQ open
  986. xywh {682 881 380 100} type Double box UP_BOX color 221 labelfont 1 labelsize 19 align 25
  987. code0 {set_module_parameters(o);}
  988. class Fl_Group visible
  989. } {
  990. Fl_Dial eqp0 {
  991. label Gain
  992. callback {eff->seteffectpar(0,(int) o->value());
  993. eqgraph->redraw();}
  994. xywh {10 35 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  995. class WidgetPDial
  996. }
  997. Fl_Counter bandcounter {
  998. label {B.}
  999. callback {eqband=(int) o->value();
  1000. int npb=eqband*5+10;
  1001. int type=eff->geteffectpar(npb);
  1002. typechoice->value(type);
  1003. if (type>6) gaindial->activate();
  1004. else gaindial->deactivate();
  1005. if (type==0) bandgroup->deactivate();
  1006. else bandgroup->activate();
  1007. int freq=eff->geteffectpar(npb+1);
  1008. freqdial->value(freq);
  1009. int gain=eff->geteffectpar(npb+2);
  1010. gaindial->value(gain);
  1011. int q=eff->geteffectpar(npb+3);
  1012. qdial->value(q);
  1013. int dbl=eff->geteffectpar(npb+4);
  1014. stagescounter->value(dbl);}
  1015. tooltip {Band no.} xywh {240 20 45 15} type Simple labelfont 1 labelsize 11 align 1 minimum 0 maximum 1 step 1 textfont 1 textsize 11
  1016. code0 {o->bounds(0,MAX_EQ_BANDS-1);}
  1017. }
  1018. Fl_Group bandgroup {
  1019. xywh {245 40 130 50} box ENGRAVED_FRAME
  1020. code0 {if (eff->geteffectpar(10)==0) o->deactivate();}
  1021. } {
  1022. Fl_Dial freqdial {
  1023. label Freq
  1024. callback {int np=eqband*5+11;
  1025. eff->seteffectpar(np,(int) o->value());
  1026. eqgraph->redraw();}
  1027. xywh {250 50 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 when 3 maximum 127
  1028. class WidgetPDial
  1029. }
  1030. Fl_Dial gaindial {
  1031. label Gain
  1032. callback {int np=eqband*5+12;
  1033. eff->seteffectpar(np,(int) o->value());
  1034. eqgraph->redraw();}
  1035. xywh {280 50 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 when 3 maximum 127 step 1
  1036. class WidgetPDial
  1037. }
  1038. Fl_Dial qdial {
  1039. label Q
  1040. callback {int np=eqband*5+13;
  1041. eff->seteffectpar(np,(int) o->value());
  1042. eqgraph->redraw();}
  1043. tooltip {Resonance/Bandwidth} xywh {310 50 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 when 3 maximum 127
  1044. class WidgetPDial
  1045. }
  1046. Fl_Counter stagescounter {
  1047. label {St.}
  1048. callback {int np=eqband*5+14;
  1049. eff->seteffectpar(np,(int) o->value());
  1050. eqgraph->redraw();}
  1051. tooltip {Additional filter stages} xywh {340 60 30 15} type Simple labelfont 1 labelsize 10 minimum 1 maximum 127 step 1 textfont 1 textsize 11
  1052. code0 {o->bounds(0,MAX_FILTER_STAGES-1);}
  1053. }
  1054. }
  1055. Fl_Choice typechoice {
  1056. label {T.}
  1057. callback {int np=eqband*5+10;
  1058. eff->seteffectpar(np,(int) o->value());
  1059. bandcounter->do_callback();
  1060. eqgraph->redraw();}
  1061. tooltip Type xywh {290 20 40 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 1 when 6 textsize 10
  1062. } {
  1063. MenuItem {} {
  1064. label OFF
  1065. xywh {0 0 100 20} labelfont 1 labelsize 10
  1066. }
  1067. MenuItem {} {
  1068. label Lp1
  1069. xywh {10 10 100 20} labelfont 1 labelsize 10
  1070. }
  1071. MenuItem {} {
  1072. label Hp1
  1073. xywh {20 20 100 20} labelfont 1 labelsize 10
  1074. }
  1075. MenuItem {} {
  1076. label Lp2
  1077. xywh {30 30 100 20} labelfont 1 labelsize 10
  1078. }
  1079. MenuItem {} {
  1080. label Hp2
  1081. xywh {40 40 100 20} labelfont 1 labelsize 10
  1082. }
  1083. MenuItem {} {
  1084. label Bp2
  1085. xywh {50 50 100 20} labelfont 1 labelsize 10
  1086. }
  1087. MenuItem {} {
  1088. label N2
  1089. xywh {60 60 100 20} labelfont 1 labelsize 10
  1090. }
  1091. MenuItem {} {
  1092. label Pk
  1093. xywh {80 80 100 20} labelfont 1 labelsize 10
  1094. }
  1095. MenuItem {} {
  1096. label LSh
  1097. xywh {70 70 100 20} labelfont 1 labelsize 10
  1098. }
  1099. MenuItem {} {
  1100. label HSh
  1101. xywh {80 80 100 20} labelfont 1 labelsize 10
  1102. }
  1103. }
  1104. Fl_Box eqgraph {
  1105. xywh {45 10 190 75} box BORDER_BOX color 50
  1106. code0 {o->init(eff);}
  1107. class EQGraph
  1108. }
  1109. }
  1110. }
  1111. Function {make_dynamicfilter_window()} {open
  1112. } {
  1113. Fl_Window effdynamicfilterwindow {
  1114. label DynFilter open
  1115. xywh {819 290 380 100} type Double box UP_BOX color 221 labelfont 1 labelsize 19 align 25
  1116. code0 {set_module_parameters(o);}
  1117. class Fl_Group visible
  1118. } {
  1119. Fl_Choice dfp {
  1120. label Preset
  1121. callback {eff->changepreset((int)o->value());
  1122. refresh(eff);}
  1123. xywh {10 15 90 15} box UP_BOX down_box BORDER_BOX color 14 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  1124. } {
  1125. MenuItem {} {
  1126. label WahWah
  1127. xywh {30 30 100 20} labelfont 1 labelsize 10
  1128. }
  1129. MenuItem {} {
  1130. label AutoWah
  1131. xywh {40 40 100 20} labelfont 1 labelsize 10
  1132. }
  1133. MenuItem {} {
  1134. label Sweep
  1135. xywh {50 50 100 20} labelfont 1 labelsize 10
  1136. }
  1137. MenuItem {} {
  1138. label VocalMorph1
  1139. xywh {50 50 100 20} labelfont 1 labelsize 10
  1140. }
  1141. MenuItem {} {
  1142. label VocalMorph2
  1143. xywh {60 60 100 20} labelfont 1 labelsize 10
  1144. }
  1145. }
  1146. Fl_Dial dfp0 {
  1147. label Vol
  1148. callback {eff->seteffectpar(0,(int) o->value());}
  1149. tooltip {Effect Volume} xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1150. class WidgetPDial
  1151. }
  1152. Fl_Dial dfp1 {
  1153. label Pan
  1154. callback {eff->seteffectpar(1,(int) o->value());}
  1155. xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1156. class WidgetPDial
  1157. }
  1158. Fl_Dial dfp2 {
  1159. label Freq
  1160. callback {eff->seteffectpar(2,(int) o->value());}
  1161. tooltip {LFO Frequency} xywh {85 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1162. class WidgetPDial
  1163. }
  1164. Fl_Dial dfp3 {
  1165. label Rnd
  1166. callback {eff->seteffectpar(3,(int) o->value());}
  1167. tooltip {LFO Randomness} xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 when 4 maximum 127
  1168. class WidgetPDial
  1169. }
  1170. Fl_Dial dfp5 {
  1171. label {St.df}
  1172. callback {eff->seteffectpar(5,(int) o->value());}
  1173. tooltip {Left/Right Channel Phase Shift} xywh {200 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1174. class WidgetPDial
  1175. }
  1176. Fl_Dial dfp6 {
  1177. label LfoD
  1178. callback {eff->seteffectpar(6,(int) o->value());}
  1179. tooltip {LFO Depth} xywh {235 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1180. class WidgetPDial
  1181. }
  1182. Fl_Choice dfp4 {
  1183. label {LFO type}
  1184. callback {eff->seteffectpar(4,(int) o->value());}
  1185. tooltip {LFO function} xywh {155 50 40 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 130 textsize 8
  1186. } {
  1187. MenuItem {} {
  1188. label SINE
  1189. xywh {15 15 100 20} labelfont 1 labelsize 10
  1190. }
  1191. MenuItem {} {
  1192. label TRI
  1193. xywh {25 25 100 20} labelfont 1 labelsize 10
  1194. }
  1195. }
  1196. Fl_Button {} {
  1197. label Filter
  1198. callback {filterwindow->show();}
  1199. xywh {115 10 55 25} box THIN_UP_BOX
  1200. }
  1201. Fl_Group {} {
  1202. xywh {270 40 105 45} box UP_FRAME color 51
  1203. } {
  1204. Fl_Dial dfp7 {
  1205. label {A.S.}
  1206. callback {eff->seteffectpar(7,(int) o->value());}
  1207. tooltip {Filter vs Amplitude} xywh {275 45 25 25} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1208. class WidgetPDial
  1209. }
  1210. Fl_Dial dfp9 {
  1211. label {A.M}
  1212. callback {eff->seteffectpar(9,(int) o->value());}
  1213. tooltip {rate that amplitude changes the filter} xywh {305 45 25 25} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1214. class WidgetPDial
  1215. }
  1216. Fl_Check_Button dfp8 {
  1217. label {A.Inv.}
  1218. callback {eff->seteffectpar(8,(int) o->value());}
  1219. tooltip {enable for filter frequency to lower with higher input amplitude} xywh {345 55 15 15} down_box DOWN_BOX labelfont 1 labelsize 11 align 2
  1220. }
  1221. }
  1222. }
  1223. }
  1224. Function {make_filter_window()} {open
  1225. } {
  1226. Fl_Window filterwindow {
  1227. label {Filter Parameters for DynFilter Eff.}
  1228. xywh {801 474 290 110} type Double
  1229. code0 {set_module_parameters(o);} visible
  1230. } {
  1231. Fl_Group {} {
  1232. label {DynFilter effect - Filter}
  1233. xywh {5 5 275 75} box FLAT_BOX color 50 align 144
  1234. code0 {o->init(eff->filterpars,NULL,NULL);}
  1235. code1 {o->use_for_dynamic_filter();}
  1236. class FilterUI
  1237. } {}
  1238. Fl_Button {} {
  1239. label Close
  1240. callback {filterwindow->hide();}
  1241. xywh {105 85 70 20} box THIN_UP_BOX
  1242. }
  1243. }
  1244. }
  1245. Function {init(EffectMgr *eff_)} {} {
  1246. code {eff=eff_;
  1247. make_null_window();
  1248. make_reverb_window();
  1249. make_echo_window();
  1250. make_chorus_window();
  1251. make_phaser_window();
  1252. make_alienwah_window();
  1253. make_distorsion_window();
  1254. make_eq_window();
  1255. make_dynamicfilter_window();
  1256. int px=this->parent()->x();
  1257. int py=this->parent()->y();
  1258. effnullwindow->position(px,py);
  1259. effreverbwindow->position(px,py);
  1260. effechowindow->position(px,py);
  1261. effchoruswindow->position(px,py);
  1262. effphaserwindow->position(px,py);
  1263. effalienwahwindow->position(px,py);
  1264. effdistorsionwindow->position(px,py);
  1265. effeqwindow->position(px,py);
  1266. effdynamicfilterwindow->position(px,py);
  1267. refresh(eff);} {}
  1268. }
  1269. Function {refresh(EffectMgr *eff_)} {open
  1270. } {
  1271. code {eff=eff_;
  1272. this->hide();
  1273. effnullwindow->hide();
  1274. effreverbwindow->hide();
  1275. effechowindow->hide();
  1276. effchoruswindow->hide();
  1277. effphaserwindow->hide();
  1278. effalienwahwindow->hide();
  1279. effdistorsionwindow->hide();
  1280. effeqwindow->hide();
  1281. effdynamicfilterwindow->hide();
  1282. eqband=0;
  1283. if (filterwindow!=NULL){
  1284. filterwindow->hide();
  1285. delete(filterwindow);
  1286. filterwindow=NULL;
  1287. };
  1288. switch(eff->geteffect()){
  1289. case 1:
  1290. revp->value(eff->getpreset());
  1291. revp0->value(eff->geteffectpar(0));if (eff->insertion!=0) revp0->label("D/W");
  1292. revp1->value(eff->geteffectpar(1));
  1293. revp2->value(eff->geteffectpar(2));
  1294. revp3->value(eff->geteffectpar(3));
  1295. revp4->value(eff->geteffectpar(4));
  1296. //revp5->value(eff->geteffectpar(5));
  1297. revp6->value(eff->geteffectpar(6));
  1298. revp7->value(eff->geteffectpar(7));
  1299. revp8->value(eff->geteffectpar(8));
  1300. revp9->value(eff->geteffectpar(9));
  1301. revp10->value(eff->geteffectpar(10));
  1302. revp11->value(eff->geteffectpar(11));
  1303. revp12->value(eff->geteffectpar(12));
  1304. effreverbwindow->show();
  1305. break;
  1306. case 2:
  1307. echop->value(eff->getpreset());
  1308. echop0->value(eff->geteffectpar(0));if (eff->insertion!=0) echop0->label("D/W");
  1309. echop1->value(eff->geteffectpar(1));
  1310. echop2->value(eff->geteffectpar(2));
  1311. echop3->value(eff->geteffectpar(3));
  1312. echop4->value(eff->geteffectpar(4));
  1313. echop5->value(eff->geteffectpar(5));
  1314. echop6->value(eff->geteffectpar(6));
  1315. effechowindow->show();
  1316. break;
  1317. case 3:
  1318. chorusp->value(eff->getpreset());
  1319. chorusp0->value(eff->geteffectpar(0));if (eff->insertion!=0) chorusp0->label("D/W");
  1320. chorusp1->value(eff->geteffectpar(1));
  1321. chorusp2->value(eff->geteffectpar(2));
  1322. chorusp3->value(eff->geteffectpar(3));
  1323. chorusp4->value(eff->geteffectpar(4));
  1324. chorusp5->value(eff->geteffectpar(5));
  1325. chorusp6->value(eff->geteffectpar(6));
  1326. chorusp7->value(eff->geteffectpar(7));
  1327. chorusp8->value(eff->geteffectpar(8));
  1328. chorusp9->value(eff->geteffectpar(9));
  1329. chorusp11->value(eff->geteffectpar(11));
  1330. effchoruswindow->show();
  1331. break;
  1332. case 4:
  1333. phaserp->value(eff->getpreset());
  1334. phaserp0->value(eff->geteffectpar(0));if (eff->insertion!=0) phaserp0->label("D/W");
  1335. phaserp1->value(eff->geteffectpar(1));
  1336. phaserp2->value(eff->geteffectpar(2));
  1337. phaserp3->value(eff->geteffectpar(3));
  1338. phaserp4->value(eff->geteffectpar(4));
  1339. phaserp5->value(eff->geteffectpar(5));
  1340. phaserp6->value(eff->geteffectpar(6));
  1341. phaserp7->value(eff->geteffectpar(7));
  1342. phaserp8->value(eff->geteffectpar(8));
  1343. phaserp9->value(eff->geteffectpar(9));
  1344. phaserp10->value(eff->geteffectpar(10));
  1345. phaserp11->value(eff->geteffectpar(11));
  1346. phaserp12->value(eff->geteffectpar(12));
  1347. phaserp13->value(eff->geteffectpar(13));
  1348. phaserp14->value(eff->geteffectpar(14));
  1349. effphaserwindow->show();
  1350. break;
  1351. case 5:
  1352. awp->value(eff->getpreset());
  1353. awp0->value(eff->geteffectpar(0));if (eff->insertion!=0) awp0->label("D/W");
  1354. awp1->value(eff->geteffectpar(1));
  1355. awp2->value(eff->geteffectpar(2));
  1356. awp3->value(eff->geteffectpar(3));
  1357. awp4->value(eff->geteffectpar(4));
  1358. awp5->value(eff->geteffectpar(5));
  1359. awp6->value(eff->geteffectpar(6));
  1360. awp7->value(eff->geteffectpar(7));
  1361. awp8->value(eff->geteffectpar(8));
  1362. awp9->value(eff->geteffectpar(9));
  1363. awp10->value(eff->geteffectpar(10));
  1364. effalienwahwindow->show();
  1365. break;
  1366. case 6:
  1367. distp->value(eff->getpreset());
  1368. distp0->value(eff->geteffectpar(0));if (eff->insertion!=0) distp0->label("D/W");
  1369. distp1->value(eff->geteffectpar(1));
  1370. distp2->value(eff->geteffectpar(2));
  1371. distp3->value(eff->geteffectpar(3));
  1372. distp4->value(eff->geteffectpar(4));
  1373. distp5->value(eff->geteffectpar(5));
  1374. distp6->value(eff->geteffectpar(6));
  1375. distp7->value(eff->geteffectpar(7));
  1376. distp8->value(eff->geteffectpar(8));
  1377. distp9->value(eff->geteffectpar(9));
  1378. distp10->value(eff->geteffectpar(10));
  1379. effdistorsionwindow->show();
  1380. break;
  1381. case 7:eqband=0;
  1382. eqp0->value(eff->geteffectpar(0));
  1383. bandcounter->value(eqband);
  1384. bandcounter->do_callback();
  1385. typechoice->value(eff->geteffectpar(10));
  1386. eqgraph->redraw();
  1387. freqdial->value(eff->geteffectpar(11));
  1388. gaindial->value(eff->geteffectpar(12));
  1389. if (eff->geteffectpar(10)<6) gaindial->deactivate();
  1390. qdial->value(eff->geteffectpar(13));
  1391. stagescounter->value(eff->geteffectpar(14));
  1392. eqgraph->init(eff);
  1393. effeqwindow->show();
  1394. break;
  1395. case 8:make_filter_window();
  1396. dfp->value(eff->getpreset());
  1397. dfp0->value(eff->geteffectpar(0));if (eff->insertion!=0) dfp0->label("D/W");
  1398. dfp1->value(eff->geteffectpar(1));
  1399. dfp2->value(eff->geteffectpar(2));
  1400. dfp3->value(eff->geteffectpar(3));
  1401. dfp4->value(eff->geteffectpar(4));
  1402. dfp5->value(eff->geteffectpar(5));
  1403. dfp6->value(eff->geteffectpar(6));
  1404. dfp7->value(eff->geteffectpar(7));
  1405. dfp8->value(eff->geteffectpar(8));
  1406. dfp9->value(eff->geteffectpar(9));
  1407. effdynamicfilterwindow->show();
  1408. break;
  1409. default:effnullwindow->show();
  1410. break;
  1411. };
  1412. this->show();} {}
  1413. }
  1414. Function {refresh()} {open
  1415. } {
  1416. code {refresh(eff);} {}
  1417. }
  1418. decl {EffectMgr *eff;} {}
  1419. decl {int eqband;} {}
  1420. }
  1421. class SimpleEffUI {open : {public Fl_Group,public PresetsUI_}
  1422. } {
  1423. Function {SimpleEffUI(int x,int y, int w, int h, const char *label=0):Fl_Group(x,y,w,h,label)} {} {
  1424. code {eff=NULL;} {}
  1425. }
  1426. Function {~SimpleEffUI()} {} {
  1427. code {effnullwindow->hide();//delete (effnullwindow);
  1428. effreverbwindow->hide();//delete (effreverbwindow);
  1429. effechowindow->hide();//delete (effechowindow);
  1430. effchoruswindow->hide();//delete (effchoruswindow);
  1431. effphaserwindow->hide();//delete (effphaserwindow);
  1432. effalienwahwindow->hide();//delete (effalienwahwindow);
  1433. effdistorsionwindow->hide();//delete (effdistorsionwindow);
  1434. effeqwindow->hide();//delete (effeqwindow);
  1435. effdynamicfilterwindow->hide();//delete (effdynamicfilterwindow);} {}
  1436. }
  1437. Function {make_null_window()} {open
  1438. } {
  1439. Fl_Window effnullwindow {
  1440. label {No Effect} open
  1441. xywh {1047 755 230 95} type Double box UP_BOX color 221 labelfont 1 labelsize 19 align 16
  1442. code0 {set_module_parameters(o);}
  1443. class Fl_Group visible
  1444. } {}
  1445. }
  1446. Function {make_reverb_window()} {open
  1447. } {
  1448. Fl_Window effreverbwindow {
  1449. label Reverb open
  1450. xywh {1047 463 230 100} type Double box UP_BOX color 51 labelfont 1 labelsize 19 align 25
  1451. code3 {set_module_parameters(o);}
  1452. class Fl_Group visible
  1453. } {
  1454. Fl_Choice revp {
  1455. label Preset
  1456. callback {eff->changepreset((int)o->value());
  1457. refresh(eff);}
  1458. xywh {10 15 90 15} down_box BORDER_BOX color 47 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  1459. } {
  1460. MenuItem {} {
  1461. label {Cathedral 1}
  1462. xywh {10 10 100 20} labelfont 1 labelsize 10
  1463. }
  1464. MenuItem {} {
  1465. label {Cathedral 2}
  1466. xywh {20 20 100 20} labelfont 1 labelsize 10
  1467. }
  1468. MenuItem {} {
  1469. label {Cathedral 3}
  1470. xywh {30 30 100 20} labelfont 1 labelsize 10
  1471. }
  1472. MenuItem {} {
  1473. label {Hall 1}
  1474. xywh {40 40 100 20} labelfont 1 labelsize 10
  1475. }
  1476. MenuItem {} {
  1477. label {Hall 2}
  1478. xywh {50 50 100 20} labelfont 1 labelsize 10
  1479. }
  1480. MenuItem {} {
  1481. label {Room 1}
  1482. xywh {60 60 100 20} labelfont 1 labelsize 10
  1483. }
  1484. MenuItem {} {
  1485. label {Room 2}
  1486. xywh {70 70 100 20} labelfont 1 labelsize 10
  1487. }
  1488. MenuItem {} {
  1489. label Basement
  1490. xywh {80 80 100 20} labelfont 1 labelsize 10
  1491. }
  1492. MenuItem {} {
  1493. label Tunnel
  1494. xywh {90 90 100 20} labelfont 1 labelsize 10
  1495. }
  1496. MenuItem {} {
  1497. label {Echoed 1}
  1498. xywh {100 100 100 20} labelfont 1 labelsize 10
  1499. }
  1500. MenuItem {} {
  1501. label {Echoed 2}
  1502. xywh {110 110 100 20} labelfont 1 labelsize 10
  1503. }
  1504. MenuItem {} {
  1505. label {Very Long 1}
  1506. xywh {120 120 100 20} labelfont 1 labelsize 10
  1507. }
  1508. MenuItem {} {
  1509. label {Very Long 2}
  1510. xywh {130 130 100 20} labelfont 1 labelsize 10
  1511. }
  1512. }
  1513. Fl_Dial revp0 {
  1514. label Vol
  1515. callback {eff->seteffectpar(0,(int) o->value());}
  1516. tooltip {Effect Volume} xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1517. class WidgetPDial
  1518. }
  1519. Fl_Dial revp2 {
  1520. label Time
  1521. callback {eff->seteffectpar(2,(int) o->value());}
  1522. tooltip {Duration of Reverb} xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1523. class WidgetPDial
  1524. }
  1525. Fl_Dial revp3 {
  1526. label {I.del}
  1527. callback {eff->seteffectpar(3,(int) o->value());}
  1528. tooltip {Initial Delay} xywh {85 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 when 4 maximum 127
  1529. class WidgetPDial
  1530. }
  1531. Fl_Dial revp9 {
  1532. label Damp
  1533. callback {eff->seteffectpar(9,(int) o->value());}
  1534. tooltip Dampening xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 minimum 64 maximum 127 step 1
  1535. class WidgetPDial
  1536. }
  1537. }
  1538. }
  1539. Function {make_echo_window()} {open
  1540. } {
  1541. Fl_Window effechowindow {
  1542. label Echo open
  1543. xywh {428 823 230 100} type Double box UP_BOX color 51 labelfont 1 labelsize 19 align 25
  1544. code3 {set_module_parameters(o);}
  1545. class Fl_Group visible
  1546. } {
  1547. Fl_Choice echop {
  1548. label Preset
  1549. callback {eff->changepreset((int)o->value());
  1550. refresh(eff);}
  1551. xywh {11 15 95 15} box UP_BOX down_box BORDER_BOX color 47 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  1552. } {
  1553. MenuItem {} {
  1554. label {Echo 1}
  1555. xywh {20 20 100 20} labelfont 1 labelsize 10
  1556. }
  1557. MenuItem {} {
  1558. label {Echo 2}
  1559. xywh {30 30 100 20} labelfont 1 labelsize 10
  1560. }
  1561. MenuItem {} {
  1562. label {Echo 3}
  1563. xywh {40 40 100 20} labelfont 1 labelsize 10
  1564. }
  1565. MenuItem {} {
  1566. label {Simple Echo}
  1567. xywh {50 50 100 20} labelfont 1 labelsize 10
  1568. }
  1569. MenuItem {} {
  1570. label Canyon
  1571. xywh {60 60 100 20} labelfont 1 labelsize 10
  1572. }
  1573. MenuItem {} {
  1574. label {Panning Echo 1}
  1575. xywh {70 70 100 20} labelfont 1 labelsize 10
  1576. }
  1577. MenuItem {} {
  1578. label {Panning Echo 2}
  1579. xywh {80 80 100 20} labelfont 1 labelsize 10
  1580. }
  1581. MenuItem {} {
  1582. label {Panning Echo 3}
  1583. xywh {90 90 100 20} labelfont 1 labelsize 10
  1584. }
  1585. MenuItem {} {
  1586. label {Feedback Echo}
  1587. xywh {100 100 100 20} labelfont 1 labelsize 10
  1588. }
  1589. }
  1590. Fl_Dial echop0 {
  1591. label Vol
  1592. callback {eff->seteffectpar(0,(int) o->value());}
  1593. tooltip {Effect Volume} xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1594. class WidgetPDial
  1595. }
  1596. Fl_Dial echop2 {
  1597. label Delay
  1598. callback {eff->seteffectpar(2,(int) o->value());}
  1599. xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 when 4 maximum 127
  1600. class WidgetPDial
  1601. }
  1602. Fl_Dial echop5 {
  1603. label {Fb.}
  1604. callback {eff->seteffectpar(5,(int) o->value());}
  1605. tooltip Feedback xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1606. class WidgetPDial
  1607. }
  1608. }
  1609. }
  1610. Function {make_chorus_window()} {open
  1611. } {
  1612. Fl_Window effchoruswindow {
  1613. label Chorus open
  1614. xywh {719 588 230 100} type Double box UP_BOX color 51 labelfont 1 labelsize 19 align 25
  1615. code3 {set_module_parameters(o);}
  1616. class Fl_Group visible
  1617. } {
  1618. Fl_Choice chorusp {
  1619. label Preset
  1620. callback {eff->changepreset((int)o->value());
  1621. refresh(eff);}
  1622. xywh {10 15 90 15} box UP_BOX down_box BORDER_BOX color 47 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  1623. } {
  1624. MenuItem {} {
  1625. label {Chorus 1}
  1626. xywh {20 20 100 20} labelfont 1 labelsize 10
  1627. }
  1628. MenuItem {} {
  1629. label {Chorus 2}
  1630. xywh {30 30 100 20} labelfont 1 labelsize 10
  1631. }
  1632. MenuItem {} {
  1633. label {Chorus 3}
  1634. xywh {40 40 100 20} labelfont 1 labelsize 10
  1635. }
  1636. MenuItem {} {
  1637. label {Celeste 1}
  1638. xywh {50 50 100 20} labelfont 1 labelsize 10
  1639. }
  1640. MenuItem {} {
  1641. label {Celeste 2}
  1642. xywh {60 60 100 20} labelfont 1 labelsize 10
  1643. }
  1644. MenuItem {} {
  1645. label {Flange 1}
  1646. xywh {70 70 100 20} labelfont 1 labelsize 10
  1647. }
  1648. MenuItem {} {
  1649. label {Flange 2}
  1650. xywh {80 80 100 20} labelfont 1 labelsize 10
  1651. }
  1652. MenuItem {} {
  1653. label {Flange 3}
  1654. xywh {90 90 100 20} labelfont 1 labelsize 10
  1655. }
  1656. MenuItem {} {
  1657. label {Flange 4}
  1658. xywh {100 100 100 20} labelfont 1 labelsize 10
  1659. }
  1660. MenuItem {} {
  1661. label {Flange 5}
  1662. xywh {110 110 100 20} labelfont 1 labelsize 10
  1663. }
  1664. }
  1665. Fl_Dial chorusp0 {
  1666. label Vol
  1667. callback {eff->seteffectpar(0,(int) o->value());}
  1668. tooltip {Effect Volume} xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1669. class WidgetPDial
  1670. }
  1671. Fl_Dial chorusp2 {
  1672. label Freq
  1673. callback {eff->seteffectpar(2,(int) o->value());}
  1674. tooltip {LFO Frequency} xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1675. class WidgetPDial
  1676. }
  1677. Fl_Dial chorusp6 {
  1678. label Dpth
  1679. callback {eff->seteffectpar(6,(int) o->value());}
  1680. tooltip Depth xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1681. class WidgetPDial
  1682. }
  1683. Fl_Dial chorusp7 {
  1684. label Delay
  1685. callback {eff->seteffectpar(7,(int) o->value());}
  1686. xywh {115 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1687. class WidgetPDial
  1688. }
  1689. Fl_Dial chorusp8 {
  1690. label Fb
  1691. callback {eff->seteffectpar(8,(int) o->value());}
  1692. tooltip Feedback xywh {150 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1693. class WidgetPDial
  1694. }
  1695. Fl_Check_Button {} {
  1696. label Flange
  1697. callback {eff->seteffectpar(10,(int) o->value());}
  1698. xywh {120 10 55 20} box THIN_UP_BOX down_box DOWN_BOX color 230 labelfont 1 labelsize 10 hide deactivate
  1699. code0 {o->value(eff->geteffectpar(10));}
  1700. }
  1701. }
  1702. }
  1703. Function {make_phaser_window()} {open
  1704. } {
  1705. Fl_Window effphaserwindow {
  1706. label Phaser open
  1707. xywh {1047 831 230 100} type Double box UP_BOX color 51 labelfont 1 labelsize 19 align 25
  1708. code3 {set_module_parameters(o);}
  1709. class Fl_Group visible
  1710. } {
  1711. Fl_Choice phaserp {
  1712. label Preset
  1713. callback {eff->changepreset((int)o->value());
  1714. refresh(eff);}
  1715. xywh {10 15 90 15} box UP_BOX down_box BORDER_BOX color 47 selection_color 0 labelfont 1 labelsize 10 labelcolor 55 align 5 textfont 1 textsize 10 textcolor 7
  1716. } {
  1717. MenuItem {} {
  1718. label {Phaser 1}
  1719. xywh {30 30 100 20} labelfont 1 labelsize 10
  1720. }
  1721. MenuItem {} {
  1722. label {Phaser 2}
  1723. xywh {40 40 100 20} labelfont 1 labelsize 10
  1724. }
  1725. MenuItem {} {
  1726. label {Phaser 3}
  1727. xywh {50 50 100 20} labelfont 1 labelsize 10
  1728. }
  1729. MenuItem {} {
  1730. label {Phaser 4}
  1731. xywh {60 60 100 20} labelfont 1 labelsize 10
  1732. }
  1733. MenuItem {} {
  1734. label {Phaser 5}
  1735. xywh {70 70 100 20} labelfont 1 labelsize 10
  1736. }
  1737. MenuItem {} {
  1738. label {Phaser 6}
  1739. xywh {80 80 100 20} labelfont 1 labelsize 10
  1740. }
  1741. }
  1742. Fl_Dial phaserp0 {
  1743. label Vol
  1744. callback {eff->seteffectpar(0,(int) o->value());}
  1745. tooltip {Effect Volume} xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1746. class WidgetPDial
  1747. }
  1748. Fl_Dial phaserp2 {
  1749. label Freq
  1750. callback {eff->seteffectpar(2,(int) o->value());}
  1751. tooltip {LFO frequency} xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1752. class WidgetPDial
  1753. }
  1754. Fl_Dial phaserp5 {
  1755. label {St.df}
  1756. callback {eff->seteffectpar(5,(int) o->value());}
  1757. tooltip {Left/Right Channel Phase Shift} xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1758. class WidgetPDial
  1759. }
  1760. Fl_Dial phaserp6 {
  1761. label Dpth
  1762. callback {eff->seteffectpar(6,(int) o->value());}
  1763. tooltip Depth xywh {115 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1764. class WidgetPDial
  1765. }
  1766. Fl_Dial phaserp7 {
  1767. label Fb
  1768. callback {eff->seteffectpar(7,(int) o->value());}
  1769. tooltip Feedback xywh {150 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1770. class WidgetPDial
  1771. }
  1772. Fl_Counter phaserp8 {
  1773. label Stages
  1774. callback {eff->seteffectpar(8,(int) o->value());}
  1775. xywh {185 55 35 15} type Simple labelfont 1 labelsize 11 minimum 0 maximum 127 step 1
  1776. code0 {o->range(1,MAX_PHASER_STAGES);}
  1777. }
  1778. }
  1779. }
  1780. Function {make_alienwah_window()} {open
  1781. } {
  1782. Fl_Window effalienwahwindow {
  1783. label AlienWah open
  1784. xywh {403 480 230 100} type Double box UP_BOX color 51 labelfont 1 labelsize 19 align 25
  1785. code3 {set_module_parameters(o);}
  1786. class Fl_Group visible
  1787. } {
  1788. Fl_Choice awp {
  1789. label Preset
  1790. callback {eff->changepreset((int)o->value());
  1791. refresh(eff);}
  1792. xywh {10 15 90 15} box UP_BOX down_box BORDER_BOX color 47 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  1793. } {
  1794. MenuItem {} {
  1795. label {Alienwah 1}
  1796. xywh {40 40 100 20} labelfont 1 labelsize 10
  1797. }
  1798. MenuItem {} {
  1799. label {Alienwah 2}
  1800. xywh {50 50 100 20} labelfont 1 labelsize 10
  1801. }
  1802. MenuItem {} {
  1803. label {Alienwah 3}
  1804. xywh {60 60 100 20} labelfont 1 labelsize 10
  1805. }
  1806. MenuItem {} {
  1807. label {Alienwah 4}
  1808. xywh {70 70 100 20} labelfont 1 labelsize 10
  1809. }
  1810. }
  1811. Fl_Dial awp0 {
  1812. label Vol
  1813. callback {eff->seteffectpar(0,(int) o->value());}
  1814. tooltip {Effect Volume} xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1815. class WidgetPDial
  1816. }
  1817. Fl_Dial awp2 {
  1818. label Freq
  1819. callback {eff->seteffectpar(2,(int) o->value());}
  1820. tooltip {LFO frequency} xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1821. class WidgetPDial
  1822. }
  1823. Fl_Dial awp6 {
  1824. label Dpth
  1825. callback {eff->seteffectpar(6,(int) o->value());}
  1826. tooltip Depth xywh {85 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1827. class WidgetPDial
  1828. }
  1829. Fl_Counter awp8 {
  1830. label Delay
  1831. callback {eff->seteffectpar(8,(int) o->value());}
  1832. xywh {125 55 35 15} type Simple labelfont 1 labelsize 11 minimum 0 maximum 127 step 1
  1833. code0 {o->range(1,MAX_ALIENWAH_DELAY);}
  1834. }
  1835. }
  1836. }
  1837. Function {make_distorsion_window()} {open
  1838. } {
  1839. Fl_Window effdistorsionwindow {
  1840. label Distortion open
  1841. xywh {353 881 230 100} type Double box UP_BOX color 51 labelfont 1 labelsize 19 align 25
  1842. code3 {set_module_parameters(o);}
  1843. class Fl_Group visible
  1844. } {
  1845. Fl_Choice distp {
  1846. label Preset
  1847. callback {eff->changepreset((int)o->value());
  1848. refresh(eff);}
  1849. xywh {11 15 95 15} box UP_BOX down_box BORDER_BOX color 47 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  1850. } {
  1851. MenuItem {} {
  1852. label {Overdrive 1}
  1853. xywh {20 20 100 20} labelfont 1 labelsize 10
  1854. }
  1855. MenuItem {} {
  1856. label {Overdrive 2}
  1857. xywh {30 30 100 20} labelfont 1 labelsize 10
  1858. }
  1859. MenuItem {} {
  1860. label {A. Exciter 1}
  1861. xywh {40 40 100 20} labelfont 1 labelsize 10
  1862. }
  1863. MenuItem {} {
  1864. label {A. Exciter 2}
  1865. xywh {50 50 100 20} labelfont 1 labelsize 10
  1866. }
  1867. MenuItem {} {
  1868. label {Guitar Amp}
  1869. xywh {50 50 100 20} labelfont 1 labelsize 10
  1870. }
  1871. MenuItem {} {
  1872. label Quantisize
  1873. xywh {60 60 100 20} labelfont 1 labelsize 10
  1874. }
  1875. }
  1876. Fl_Dial distp0 {
  1877. label Vol
  1878. callback {eff->seteffectpar(0,(int) o->value());}
  1879. tooltip {Effect Volume} xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1880. class WidgetPDial
  1881. }
  1882. Fl_Dial distp3 {
  1883. label Drive
  1884. callback {eff->seteffectpar(3,(int) o->value());}
  1885. tooltip {Input amplification} xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 when 4 maximum 127
  1886. class WidgetPDial
  1887. }
  1888. Fl_Dial distp4 {
  1889. label Level
  1890. callback {eff->seteffectpar(4,(int) o->value());}
  1891. tooltip {Output Amplification} xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1892. class WidgetPDial
  1893. }
  1894. Fl_Dial distp7 {
  1895. label LPF
  1896. callback {eff->seteffectpar(7,(int) o->value());}
  1897. tooltip {Low Pass Filter} xywh {190 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  1898. class WidgetPDial
  1899. }
  1900. Fl_Choice distp5 {
  1901. label Type
  1902. callback {eff->seteffectpar(5,(int) o->value());}
  1903. xywh {120 50 60 20} box UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 align 2 textsize 10
  1904. } {
  1905. MenuItem {} {
  1906. label Atan
  1907. xywh {55 55 100 20} labelfont 1 labelsize 10
  1908. }
  1909. MenuItem {} {
  1910. label Asym1
  1911. xywh {65 65 100 20} labelfont 1 labelsize 10
  1912. }
  1913. MenuItem {} {
  1914. label Pow
  1915. xywh {75 75 100 20} labelfont 1 labelsize 10
  1916. }
  1917. MenuItem {} {
  1918. label Sine
  1919. xywh {85 85 100 20} labelfont 1 labelsize 10
  1920. }
  1921. MenuItem {} {
  1922. label Qnts
  1923. xywh {95 95 100 20} labelfont 1 labelsize 10
  1924. }
  1925. MenuItem {} {
  1926. label Zigzg
  1927. xywh {105 105 100 20} labelfont 1 labelsize 10
  1928. }
  1929. MenuItem {} {
  1930. label Lmt
  1931. xywh {115 115 100 20} labelfont 1 labelsize 10
  1932. }
  1933. MenuItem {} {
  1934. label LmtU
  1935. xywh {125 125 100 20} labelfont 1 labelsize 10
  1936. }
  1937. MenuItem {} {
  1938. label LmtL
  1939. xywh {135 135 100 20} labelfont 1 labelsize 10
  1940. }
  1941. MenuItem {} {
  1942. label ILmt
  1943. xywh {147 147 100 20} labelfont 1 labelsize 10
  1944. }
  1945. MenuItem {} {
  1946. label Clip
  1947. xywh {157 157 100 20} labelfont 1 labelsize 10
  1948. }
  1949. MenuItem {} {
  1950. label Asym2
  1951. xywh {75 75 100 20} labelfont 1 labelsize 10
  1952. }
  1953. MenuItem {} {
  1954. label Pow2
  1955. xywh {85 85 100 20} labelfont 1 labelsize 10
  1956. }
  1957. MenuItem {} {
  1958. label Sgm
  1959. xywh {95 95 100 20} labelfont 1 labelsize 10
  1960. }
  1961. }
  1962. }
  1963. }
  1964. Function {make_eq_window()} {open
  1965. } {
  1966. Fl_Window effeqwindow {
  1967. label EQ open
  1968. xywh {1047 881 230 100} type Double box UP_BOX color 51 labelfont 1 labelsize 19 align 25
  1969. code3 {set_module_parameters(o);}
  1970. class Fl_Group visible
  1971. } {
  1972. Fl_Counter bandcounter {
  1973. label Band
  1974. callback {eqband=(int) o->value();
  1975. int npb=eqband*5+10;
  1976. int type=eff->geteffectpar(npb);
  1977. typechoice->value(type);
  1978. if (type>6) gaindial->activate();
  1979. else gaindial->deactivate();
  1980. if (type==0) bandgroup->deactivate();
  1981. else bandgroup->activate();
  1982. int freq=eff->geteffectpar(npb+1);
  1983. freqdial->value(freq);
  1984. int gain=eff->geteffectpar(npb+2);
  1985. gaindial->value(gain);
  1986. int q=eff->geteffectpar(npb+3);
  1987. qdial->value(q);
  1988. int dbl=eff->geteffectpar(npb+4);
  1989. stagescounter->value(dbl);}
  1990. tooltip {Band no.} xywh {85 15 45 15} type Simple labelfont 1 labelsize 11 align 1 minimum 0 maximum 1 step 1 textfont 1 textsize 11
  1991. code0 {o->bounds(0,MAX_EQ_BANDS-1);}
  1992. }
  1993. Fl_Group bandgroup {
  1994. xywh {5 5 75 85} box UP_FRAME
  1995. code0 {if (eff->geteffectpar(10)==0) o->deactivate();}
  1996. } {
  1997. Fl_Dial freqdial {
  1998. label Freq
  1999. callback {int np=eqband*5+11;
  2000. eff->seteffectpar(np,(int) o->value());
  2001. eqgraph->redraw();}
  2002. xywh {10 10 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 when 3 maximum 127
  2003. class WidgetPDial
  2004. }
  2005. Fl_Dial gaindial {
  2006. label Gain
  2007. callback {int np=eqband*5+12;
  2008. eff->seteffectpar(np,(int) o->value());
  2009. eqgraph->redraw();}
  2010. xywh {45 10 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 when 3 maximum 127 step 1
  2011. class WidgetPDial
  2012. }
  2013. Fl_Dial qdial {
  2014. label Q
  2015. callback {int np=eqband*5+13;
  2016. eff->seteffectpar(np,(int) o->value());
  2017. eqgraph->redraw();}
  2018. tooltip {Bandwidth/Resonance} xywh {10 50 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 when 3 maximum 127
  2019. class WidgetPDial
  2020. }
  2021. Fl_Counter stagescounter {
  2022. label Stages
  2023. callback {int np=eqband*5+14;
  2024. eff->seteffectpar(np,(int) o->value());
  2025. eqgraph->redraw();}
  2026. tooltip {Additional filter stages} xywh {40 55 30 15} type Simple labelfont 1 labelsize 10 minimum 1 maximum 127 step 1 textfont 1 textsize 11
  2027. code0 {o->bounds(0,MAX_FILTER_STAGES-1);}
  2028. }
  2029. }
  2030. Fl_Choice typechoice {
  2031. label Type
  2032. callback {int np=eqband*5+10;
  2033. eff->seteffectpar(np,(int) o->value());
  2034. bandcounter->do_callback();
  2035. eqgraph->redraw();}
  2036. tooltip Type xywh {135 15 40 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 1 when 6 textsize 10
  2037. } {
  2038. MenuItem {} {
  2039. label OFF
  2040. xywh {10 10 100 20} labelfont 1 labelsize 10
  2041. }
  2042. MenuItem {} {
  2043. label Lp1
  2044. xywh {20 20 100 20} labelfont 1 labelsize 10
  2045. }
  2046. MenuItem {} {
  2047. label Hp1
  2048. xywh {30 30 100 20} labelfont 1 labelsize 10
  2049. }
  2050. MenuItem {} {
  2051. label Lp2
  2052. xywh {40 40 100 20} labelfont 1 labelsize 10
  2053. }
  2054. MenuItem {} {
  2055. label Hp2
  2056. xywh {50 50 100 20} labelfont 1 labelsize 10
  2057. }
  2058. MenuItem {} {
  2059. label Bp2
  2060. xywh {60 60 100 20} labelfont 1 labelsize 10
  2061. }
  2062. MenuItem {} {
  2063. label N2
  2064. xywh {70 70 100 20} labelfont 1 labelsize 10
  2065. }
  2066. MenuItem {} {
  2067. label Pk
  2068. xywh {90 90 100 20} labelfont 1 labelsize 10
  2069. }
  2070. MenuItem {} {
  2071. label LSh
  2072. xywh {80 80 100 20} labelfont 1 labelsize 10
  2073. }
  2074. MenuItem {} {
  2075. label HSh
  2076. xywh {90 90 100 20} labelfont 1 labelsize 10
  2077. }
  2078. }
  2079. Fl_Box eqgraph {
  2080. xywh {85 35 140 55} box BORDER_BOX color 50
  2081. code0 {o->init(eff);}
  2082. class EQGraph
  2083. }
  2084. }
  2085. }
  2086. Function {make_dynamicfilter_window()} {open
  2087. } {
  2088. Fl_Window effdynamicfilterwindow {
  2089. label DynFilter open
  2090. xywh {965 527 230 100} type Double box UP_BOX color 51 labelfont 1 labelsize 19 align 25
  2091. code3 {set_module_parameters(o);}
  2092. class Fl_Group visible
  2093. } {
  2094. Fl_Choice dfp {
  2095. label Preset
  2096. callback {eff->changepreset((int)o->value());
  2097. refresh(eff);}
  2098. xywh {10 15 90 15} box UP_BOX down_box BORDER_BOX color 47 selection_color 7 labelfont 1 labelsize 10 align 5 textfont 1 textsize 10
  2099. } {
  2100. MenuItem {} {
  2101. label WahWah
  2102. xywh {30 30 100 20} labelfont 1 labelsize 10
  2103. }
  2104. MenuItem {} {
  2105. label AutoWah
  2106. xywh {40 40 100 20} labelfont 1 labelsize 10
  2107. }
  2108. MenuItem {} {
  2109. label Sweep
  2110. xywh {50 50 100 20} labelfont 1 labelsize 10
  2111. }
  2112. MenuItem {} {
  2113. label VocalMorph1
  2114. xywh {50 50 100 20} labelfont 1 labelsize 10
  2115. }
  2116. MenuItem {} {
  2117. label VocalMorph2
  2118. xywh {60 60 100 20} labelfont 1 labelsize 10
  2119. }
  2120. }
  2121. Fl_Dial dfp0 {
  2122. label Vol
  2123. callback {eff->seteffectpar(0,(int) o->value());}
  2124. tooltip {Effect Volume} xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  2125. class WidgetPDial
  2126. }
  2127. Fl_Dial dfp2 {
  2128. label Freq
  2129. callback {eff->seteffectpar(2,(int) o->value());}
  2130. tooltip {LFO frequency} xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  2131. class WidgetPDial
  2132. }
  2133. Fl_Dial dfp6 {
  2134. label LfoD
  2135. callback {eff->seteffectpar(6,(int) o->value());}
  2136. tooltip {LFO depth} xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  2137. class WidgetPDial
  2138. }
  2139. Fl_Group {} {
  2140. xywh {115 40 65 45} box UP_FRAME
  2141. } {
  2142. Fl_Dial dfp7 {
  2143. label {A.S.}
  2144. callback {eff->seteffectpar(7,(int) o->value());}
  2145. tooltip {how filter varies with amplitude} xywh {120 45 25 25} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  2146. class WidgetPDial
  2147. }
  2148. Fl_Dial dfp9 {
  2149. label {A.M}
  2150. callback {eff->seteffectpar(9,(int) o->value());}
  2151. tooltip {how quickly the filter varies with amplitude} xywh {150 45 25 25} box ROUND_UP_BOX labelfont 1 labelsize 11 maximum 127
  2152. class WidgetPDial
  2153. }
  2154. }
  2155. }
  2156. }
  2157. Function {init(EffectMgr *eff_)} {open
  2158. } {
  2159. code {eff=eff_;
  2160. make_null_window();
  2161. make_reverb_window();
  2162. make_echo_window();
  2163. make_chorus_window();
  2164. make_phaser_window();
  2165. make_alienwah_window();
  2166. make_distorsion_window();
  2167. make_eq_window();
  2168. make_dynamicfilter_window();
  2169. int px=this->parent()->x();
  2170. int py=this->parent()->y();
  2171. effnullwindow->position(px,py);
  2172. effreverbwindow->position(px,py);
  2173. effechowindow->position(px,py);
  2174. effchoruswindow->position(px,py);
  2175. effphaserwindow->position(px,py);
  2176. effalienwahwindow->position(px,py);
  2177. effdistorsionwindow->position(px,py);
  2178. effeqwindow->position(px,py);
  2179. effdynamicfilterwindow->position(px,py);
  2180. refresh(eff);} {}
  2181. }
  2182. Function {refresh(EffectMgr *eff_)} {} {
  2183. code {eff=eff_;
  2184. this->hide();
  2185. effnullwindow->hide();
  2186. effreverbwindow->hide();
  2187. effechowindow->hide();
  2188. effchoruswindow->hide();
  2189. effphaserwindow->hide();
  2190. effalienwahwindow->hide();
  2191. effdistorsionwindow->hide();
  2192. effeqwindow->hide();
  2193. effdynamicfilterwindow->hide();
  2194. eqband=0;
  2195. switch(eff->geteffect()){
  2196. case 1:
  2197. revp->value(eff->getpreset());
  2198. revp0->value(eff->geteffectpar(0));if (eff->insertion!=0) revp0->label("D/W");
  2199. revp2->value(eff->geteffectpar(2));
  2200. revp3->value(eff->geteffectpar(3));
  2201. revp9->value(eff->geteffectpar(9));
  2202. effreverbwindow->show();
  2203. break;
  2204. case 2:
  2205. echop->value(eff->getpreset());
  2206. echop0->value(eff->geteffectpar(0));if (eff->insertion!=0) echop0->label("D/W");
  2207. echop2->value(eff->geteffectpar(2));
  2208. echop5->value(eff->geteffectpar(5));
  2209. effechowindow->show();
  2210. break;
  2211. case 3:
  2212. chorusp->value(eff->getpreset());
  2213. chorusp0->value(eff->geteffectpar(0));if (eff->insertion!=0) chorusp0->label("D/W");
  2214. chorusp2->value(eff->geteffectpar(2));
  2215. chorusp6->value(eff->geteffectpar(6));
  2216. chorusp7->value(eff->geteffectpar(7));
  2217. chorusp8->value(eff->geteffectpar(8));
  2218. effchoruswindow->show();
  2219. break;
  2220. case 4:
  2221. phaserp->value(eff->getpreset());
  2222. phaserp0->value(eff->geteffectpar(0));if (eff->insertion!=0) phaserp0->label("D/W");
  2223. phaserp2->value(eff->geteffectpar(2));
  2224. phaserp5->value(eff->geteffectpar(5));
  2225. phaserp6->value(eff->geteffectpar(6));
  2226. phaserp7->value(eff->geteffectpar(7));
  2227. phaserp8->value(eff->geteffectpar(8));
  2228. effphaserwindow->show();
  2229. break;
  2230. case 5:
  2231. awp->value(eff->getpreset());
  2232. awp0->value(eff->geteffectpar(0));if (eff->insertion!=0) awp0->label("D/W");
  2233. awp2->value(eff->geteffectpar(2));
  2234. awp6->value(eff->geteffectpar(6));
  2235. awp8->value(eff->geteffectpar(8));
  2236. effalienwahwindow->show();
  2237. break;
  2238. case 6:
  2239. distp->value(eff->getpreset());
  2240. distp0->value(eff->geteffectpar(0));if (eff->insertion!=0) distp0->label("D/W");
  2241. distp3->value(eff->geteffectpar(3));
  2242. distp4->value(eff->geteffectpar(4));
  2243. distp5->value(eff->geteffectpar(5));
  2244. distp7->value(eff->geteffectpar(7));
  2245. effdistorsionwindow->show();
  2246. break;
  2247. case 7:
  2248. bandcounter->value(eqband);
  2249. bandcounter->do_callback();
  2250. typechoice->value(eff->geteffectpar(10));
  2251. eqgraph->redraw();
  2252. freqdial->value(eff->geteffectpar(11));
  2253. gaindial->value(eff->geteffectpar(12));
  2254. if (eff->geteffectpar(10)<6) gaindial->deactivate();
  2255. qdial->value(eff->geteffectpar(13));
  2256. stagescounter->value(eff->geteffectpar(14));
  2257. eqgraph->init(eff);
  2258. effeqwindow->show();
  2259. break;
  2260. case 8:
  2261. dfp->value(eff->getpreset());
  2262. dfp0->value(eff->geteffectpar(0));if (eff->insertion!=0) dfp0->label("D/W");
  2263. dfp2->value(eff->geteffectpar(2));
  2264. dfp6->value(eff->geteffectpar(6));
  2265. dfp7->value(eff->geteffectpar(7));
  2266. dfp9->value(eff->geteffectpar(9));
  2267. effdynamicfilterwindow->show();
  2268. break;
  2269. default:effnullwindow->show();
  2270. break;
  2271. };
  2272. this->show();} {}
  2273. }
  2274. Function {refresh()} {} {
  2275. code {refresh(eff);} {}
  2276. }
  2277. decl {EffectMgr *eff;} {}
  2278. decl {int eqband;} {}
  2279. }