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.

312 lines
8.9KB

  1. # data file for the Fltk User Interface Designer (fluid)
  2. version 1.0302
  3. header_name {.h}
  4. code_name {.cc}
  5. decl {//Copyright (c) 2002-2005 Nasca Octavian Paul} {private local
  6. }
  7. decl {//License: GNU GPL version 2 or later} {private local
  8. }
  9. decl {\#include <stdio.h>} {public local
  10. }
  11. decl {\#include <math.h>} {public local
  12. }
  13. decl {\#include <stdlib.h>} {public local
  14. }
  15. decl {\#include <FL/Fl_File_Chooser.H>} {public local
  16. }
  17. decl {\#include "Fl_Osc_Button.H"} {public local
  18. }
  19. decl {\#include "Fl_Osc_Counter.H"} {public local
  20. }
  21. decl {\#include "Fl_Osc_Choice.H"} {public local
  22. }
  23. decl {\#include "Fl_Osc_Check.H"} {public local
  24. }
  25. decl {\#include "Fl_Osc_Input.H"} {public local
  26. }
  27. decl {\#include "Fl_Osc_ListView.H"} {public local
  28. }
  29. decl {\#include "../globals.h"} {public local
  30. }
  31. decl {\#include "../Misc/Util.h"} {public local
  32. }
  33. class ConfigUI {} {
  34. Function {make_window()} {} {
  35. Fl_Window configwindow {
  36. label {ZynAddSubFX Settings}
  37. callback {o->hide();}
  38. xywh {554 443 510 370} type Double visible
  39. class Fl_Osc_Window
  40. } {
  41. Fl_Box dummy {
  42. xywh {25 25 25 25}
  43. code0 {configwindow->osc = osc;}
  44. code1 {configwindow->base = "/config/";}
  45. }
  46. Fl_Tabs {} {
  47. xywh {5 5 500 330}
  48. } {
  49. Fl_Group {} {
  50. label {Main settings}
  51. xywh {5 25 500 310}
  52. } {
  53. Fl_Group {} {
  54. label {Sample Rate}
  55. xywh {15 45 165 30} box ENGRAVED_FRAME
  56. } {
  57. Fl_Input samplerateinput {
  58. xywh {115 50 60 20} type Int textfont 1
  59. code0 {o->init("cfg.SampleRate");}
  60. class Fl_Osc_Input
  61. }
  62. }
  63. Fl_Input {} {
  64. label {Buffer Size}
  65. tooltip {Internal Sound Buffer Size (samples)} xywh {190 45 60 20} type Int labelsize 11 align 129 textfont 1
  66. code0 {o->init("cfg.SoundBufferSize");}
  67. class Fl_Osc_Input
  68. }
  69. Fl_Check_Button {} {
  70. label {Swap Stereo }
  71. xywh {15 80 95 20} box NO_BOX labelsize 11
  72. code0 {o->init("cfg.SwapStereo");}
  73. class Fl_Osc_Check
  74. }
  75. Fl_Choice {} {
  76. label OscilSize
  77. tooltip {ADSynth Oscillator Size (samples)} xywh {175 80 75 20} down_box BORDER_BOX labelfont 1 labelsize 11 textsize 10
  78. code0 {o->init("cfg.OscilPower");}
  79. class Fl_Osc_Choice
  80. } {
  81. MenuItem {} {
  82. label 128
  83. xywh {25 25 100 20} labelfont 1
  84. }
  85. MenuItem {} {
  86. label 256
  87. xywh {35 35 100 20} labelfont 1
  88. }
  89. MenuItem {} {
  90. label 512
  91. xywh {45 45 100 20} labelfont 1
  92. }
  93. MenuItem {} {
  94. label 1024
  95. xywh {45 45 100 20} labelfont 1
  96. }
  97. MenuItem {} {
  98. label 2048
  99. xywh {55 55 100 20} labelfont 1
  100. }
  101. MenuItem {} {
  102. label 4096
  103. xywh {55 55 100 20} labelfont 1
  104. }
  105. MenuItem {} {
  106. label 8192
  107. xywh {65 65 100 20} labelfont 1
  108. }
  109. MenuItem {} {
  110. label 16384
  111. xywh {75 75 100 20} labelfont 1
  112. }
  113. }
  114. Fl_Box {} {
  115. label {Most settings has effect only after ZynAddSubFX is restarted.}
  116. xywh {10 300 235 30} labelfont 1 labelsize 11 align 128
  117. }
  118. Fl_Counter {} {
  119. label {XML compression level}
  120. tooltip {gzip compression level (0 - uncompressed)} xywh {20 215 65 15} type Simple labelsize 11 align 8 minimum 0 maximum 9 step 1
  121. code0 {o->init("cfg.GzipCompression");}
  122. class Fl_Osc_Counter
  123. }
  124. Fl_Choice {} {
  125. label {PADsynth Interpolation}
  126. xywh {175 105 75 15} down_box BORDER_BOX labelsize 10 textsize 11
  127. code0 {o->init("cfg.Interpolation");}
  128. class Fl_Osc_Choice
  129. } {
  130. MenuItem {} {
  131. label {Linear(fast)}
  132. xywh {0 0 100 20} labelfont 1 labelsize 10
  133. }
  134. MenuItem {} {
  135. label {Cubic(slow)}
  136. xywh {10 10 100 20} labelfont 1 labelsize 10
  137. }
  138. }
  139. Fl_Choice {} {
  140. label {Virtual Keyboard Layout}
  141. xywh {155 235 85 20} down_box BORDER_BOX labelsize 12 textfont 1 textsize 11
  142. code0 {o->init("cfg.VirKeybLayout");}
  143. class Fl_Osc_Choice
  144. } {
  145. MenuItem {} {
  146. label { }
  147. xywh {5 5 100 20} labelfont 1 labelsize 11 deactivate
  148. }
  149. MenuItem {} {
  150. label QWERTY
  151. xywh {15 15 100 20} labelfont 1 labelsize 11
  152. }
  153. MenuItem {} {
  154. label Dvorak
  155. xywh {25 25 100 20} labelfont 1 labelsize 11
  156. }
  157. MenuItem {} {
  158. label QWERTZ
  159. xywh {35 35 100 20} labelfont 1 labelsize 11
  160. }
  161. MenuItem {} {
  162. label AZERTY
  163. xywh {45 45 100 20} labelfont 1 labelsize 11
  164. }
  165. }
  166. Fl_Check_Button {} {
  167. label {Ignore MIDI Program Change}
  168. xywh {10 255 220 20} down_box DOWN_BOX
  169. code0 {o->init("cfg.IgnoreProgramChange");}
  170. class Fl_Osc_Check
  171. }
  172. }
  173. Fl_Group {} {
  174. label {Bank root dirs}
  175. xywh {5 25 500 285} hide
  176. } {
  177. Fl_Browser rootsbrowse {
  178. callback {activatebutton_rootdir(o->value()!=0);}
  179. xywh {15 35 485 220} type Hold
  180. code0 {o->init("cfg.bankRootDirList");}
  181. class Fl_Osc_ListView
  182. }
  183. Fl_Button {} {
  184. label {Add root directory...}
  185. callback {const char *dirname;
  186. dirname=fl_dir_chooser("Add a root directory for banks:",NULL,0);
  187. if (dirname==NULL) return;
  188. rootsbrowse->append(dirname);}
  189. xywh {15 265 80 35} box THIN_UP_BOX align 128
  190. }
  191. Fl_Button removerootdirbutton {
  192. label {Remove root dir...}
  193. callback {if (rootsbrowse->value()!=0) {
  194. rootsbrowse->doRemove(rootsbrowse->value());
  195. };
  196. activatebutton_rootdir(false);}
  197. xywh {105 265 80 35} box THIN_UP_BOX align 128
  198. code0 {o->deactivate();}
  199. }
  200. Fl_Button makedefaultrootdirbutton {
  201. label {Make default}
  202. callback {int n=rootsbrowse->value();
  203. if (n!=0) {
  204. rootsbrowse->doMove(1,n);
  205. rootsbrowse->value(1);
  206. rootsbrowse->redraw();
  207. };
  208. activatebutton_rootdir(true);}
  209. xywh {190 265 80 35} box THIN_UP_BOX align 128
  210. code0 {o->deactivate();}
  211. }
  212. }
  213. Fl_Group {} {
  214. label {Presets dirs}
  215. xywh {5 25 500 285} hide
  216. } {
  217. Fl_Browser presetbrowse {
  218. callback {activatebutton_presetdir(o->value()!=0);}
  219. xywh {15 35 485 220} type Hold
  220. code0 {o->init("cfg.presetsDirList");}
  221. class Fl_Osc_ListView
  222. }
  223. Fl_Button {} {
  224. label {Add preset directory...}
  225. callback {const char *dirname;
  226. dirname=fl_dir_chooser("Add a preset directory :",NULL,0);
  227. if (dirname==NULL) return;
  228. presetbrowse->add(dirname);}
  229. xywh {15 265 80 35} box THIN_UP_BOX align 128
  230. }
  231. Fl_Button removepresetbutton {
  232. label {Remove preset dir...}
  233. callback {if (presetbrowse->value()!=0) {
  234. presetbrowse->remove(presetbrowse->value());
  235. };
  236. activatebutton_presetdir(false);}
  237. xywh {105 265 80 35} box THIN_UP_BOX align 128
  238. code0 {o->deactivate();}
  239. }
  240. Fl_Button makedefaultpresetbutton {
  241. label {Make default}
  242. callback {int n=presetbrowse->value();
  243. if (n!=0) {
  244. presetbrowse->move(1,n);
  245. presetbrowse->value(1);
  246. presetbrowse->redraw();
  247. };
  248. activatebutton_presetdir(true);}
  249. xywh {190 265 80 35} box THIN_UP_BOX align 128
  250. code0 {o->deactivate();}
  251. }
  252. }
  253. }
  254. Fl_Button {} {
  255. label Close
  256. callback {configwindow->hide();}
  257. xywh {200 345 105 20} box THIN_UP_BOX
  258. }
  259. }
  260. }
  261. Function {ConfigUI(Fl_Osc_Interface *osc_)} {} {
  262. code {
  263. osc = osc_;
  264. make_window();} {}
  265. }
  266. Function {activatebutton_rootdir(bool active)} {} {
  267. code {if (active) {
  268. removerootdirbutton->activate();
  269. makedefaultrootdirbutton->activate();
  270. }else{
  271. removerootdirbutton->deactivate();
  272. makedefaultrootdirbutton->deactivate();
  273. };} {}
  274. }
  275. Function {activatebutton_presetdir(bool active)} {} {
  276. code {if (active) {
  277. removepresetbutton->activate();
  278. makedefaultpresetbutton->activate();
  279. }else{
  280. removepresetbutton->deactivate();
  281. makedefaultpresetbutton->deactivate();
  282. };} {}
  283. }
  284. Function {show()} {} {
  285. code {
  286. rootsbrowse->update();
  287. presetbrowse->update();
  288. configwindow->show();
  289. } {}
  290. }
  291. decl {class Fl_Osc_Interface *osc;} {public local
  292. }
  293. }