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

418 lines
13KB

  1. // generated by Fast Light User Interface Designer (fluid) version 1.0300
  2. #ifndef MasterUI_h
  3. #define MasterUI_h
  4. #include <FL/Fl.H>
  5. #include <stdlib.h>
  6. #include <stdio.h>
  7. #include <string.h>
  8. #include "WidgetPDial.h"
  9. #include "ADnoteUI.h"
  10. #include "SUBnoteUI.h"
  11. #include "EffUI.h"
  12. #include "VirKeyboard.h"
  13. #include "ConfigUI.h"
  14. #include "BankUI.h"
  15. #include "PartUI.h"
  16. #include "MicrotonalUI.h"
  17. #include "PresetsUI.h"
  18. #include "NioUI.h"
  19. #include "VuPartMeter.h"
  20. #include "VuMasterMeter.h"
  21. #include "PartNameButton.h"
  22. #include "common.H"
  23. #if USE_NSM
  24. #include "NSM.H"
  25. extern NSM_Client *nsm;
  26. #endif
  27. #if !defined(PLUGINVERSION) && HAS_X11
  28. #include <X11/xpm.h>
  29. #endif
  30. #include "../globals.h"
  31. class SysEffSend : public Fl_Osc_Dial {
  32. public:
  33. SysEffSend(int x,int y, int w, int h, const char *label=0);
  34. void init(int neff1,int neff2);
  35. ~SysEffSend();
  36. };
  37. #include <FL/Fl_Group.H>
  38. #include <FL/Fl_Button.H>
  39. class Panellistitem : public Fl_Osc_Group {
  40. Fl_Group* make_window();
  41. Fl_Group *panellistitem;
  42. Fl_Group *panellistitemgroup;
  43. public:
  44. VuPartMeter *partvu;
  45. PartNameButton *partname;
  46. private:
  47. void cb_partname_i(PartNameButton*, void*);
  48. static void cb_partname(PartNameButton*, void*);
  49. public:
  50. Fl_Osc_TSlider *partvolume;
  51. Fl_Osc_Dial *partpanning;
  52. private:
  53. void cb_edit_i(Fl_Button*, void*);
  54. static void cb_edit(Fl_Button*, void*);
  55. public:
  56. Fl_Osc_Choice *partrcv;
  57. private:
  58. Fl_Osc_Check *partenabled;
  59. void cb_partenabled_i(Fl_Osc_Check*, void*);
  60. static void cb_partenabled(Fl_Osc_Check*, void*);
  61. public:
  62. Panellistitem(int x,int y, int w, int h, const char *label=0);
  63. void init(int npart_,BankUI *bankui_, PartUI *partui_);
  64. void refresh();
  65. ~Panellistitem();
  66. private:
  67. int npart;
  68. BankUI *bankui;
  69. PartUI *partui;
  70. };
  71. #include <FL/Fl_Box.H>
  72. #include <FL/Fl_Menu_Bar.H>
  73. #include <FL/Fl_Tabs.H>
  74. #include <FL/Fl_Counter.H>
  75. #include <FL/Fl_Double_Window.H>
  76. #include <FL/Fl_Scroll.H>
  77. #include <FL/Fl_Pack.H>
  78. #include <FL/Fl_Choice.H>
  79. class MasterUI {
  80. public:
  81. Fl_Osc_Window* make_window();
  82. Fl_Osc_Window *masterwindow;
  83. private:
  84. void cb_masterwindow_i(Fl_Osc_Window*, void*);
  85. static void cb_masterwindow(Fl_Osc_Window*, void*);
  86. public:
  87. Fl_Box *dummy_again;
  88. Fl_Osc_Group *win_root;
  89. Fl_Menu_Bar *mastermenu;
  90. static Fl_Menu_Item menu_mastermenu[];
  91. private:
  92. void cb_New_i(Fl_Menu_*, void*);
  93. static void cb_New(Fl_Menu_*, void*);
  94. void cb_Revert_i(Fl_Menu_*, void*);
  95. static void cb_Revert(Fl_Menu_*, void*);
  96. void cb_Open_i(Fl_Menu_*, void*);
  97. static void cb_Open(Fl_Menu_*, void*);
  98. void cb_Save_i(Fl_Menu_*, void*);
  99. static void cb_Save(Fl_Menu_*, void*);
  100. void cb_Load_i(Fl_Menu_*, void*);
  101. static void cb_Load(Fl_Menu_*, void*);
  102. void cb_Clear_i(Fl_Menu_*, void*);
  103. static void cb_Clear(Fl_Menu_*, void*);
  104. void cb_Save1_i(Fl_Menu_*, void*);
  105. static void cb_Save1(Fl_Menu_*, void*);
  106. void cb_Load1_i(Fl_Menu_*, void*);
  107. static void cb_Load1(Fl_Menu_*, void*);
  108. void cb_Save2_i(Fl_Menu_*, void*);
  109. static void cb_Save2(Fl_Menu_*, void*);
  110. void cb_Show_i(Fl_Menu_*, void*);
  111. static void cb_Show(Fl_Menu_*, void*);
  112. void cb_Settings_i(Fl_Menu_*, void*);
  113. static void cb_Settings(Fl_Menu_*, void*);
  114. void cb_N_i(Fl_Menu_*, void*);
  115. static void cb_N(Fl_Menu_*, void*);
  116. void cb_Copyright_i(Fl_Menu_*, void*);
  117. static void cb_Copyright(Fl_Menu_*, void*);
  118. void cb_E_i(Fl_Menu_*, void*);
  119. static void cb_E(Fl_Menu_*, void*);
  120. void cb_Clear1_i(Fl_Menu_*, void*);
  121. static void cb_Clear1(Fl_Menu_*, void*);
  122. void cb_Open1_i(Fl_Menu_*, void*);
  123. static void cb_Open1(Fl_Menu_*, void*);
  124. void cb_Save3_i(Fl_Menu_*, void*);
  125. static void cb_Save3(Fl_Menu_*, void*);
  126. void cb_Show1_i(Fl_Menu_*, void*);
  127. static void cb_Show1(Fl_Menu_*, void*);
  128. void cb_Virtual_i(Fl_Menu_*, void*);
  129. static void cb_Virtual(Fl_Menu_*, void*);
  130. public:
  131. static Fl_Menu_Item *recordmenu;
  132. private:
  133. void cb_Choose_i(Fl_Menu_*, void*);
  134. static void cb_Choose(Fl_Menu_*, void*);
  135. void cb_Switch_i(Fl_Menu_*, void*);
  136. static void cb_Switch(Fl_Menu_*, void*);
  137. public:
  138. Fl_Box *dummy;
  139. Fl_Osc_Dial *mastervolumedial;
  140. Fl_Osc_Counter *masterkeyshiftcounter;
  141. private:
  142. void cb_Panic_i(Fl_Osc_Button*, void*);
  143. static void cb_Panic(Fl_Osc_Button*, void*);
  144. public:
  145. Fl_Group *partuigroup;
  146. PartUI *partui;
  147. Fl_Counter *syseffnocounter;
  148. private:
  149. void cb_syseffnocounter_i(Fl_Counter*, void*);
  150. static void cb_syseffnocounter(Fl_Counter*, void*);
  151. public:
  152. Fl_Osc_Choice *sysefftype;
  153. private:
  154. void cb_sysefftype_i(Fl_Osc_Choice*, void*);
  155. static void cb_sysefftype(Fl_Osc_Choice*, void*);
  156. static Fl_Menu_Item menu_sysefftype[];
  157. public:
  158. Fl_Osc_Group *syseffectuigroup;
  159. EffUI *syseffectui;
  160. private:
  161. void cb_Send_i(Fl_Button*, void*);
  162. static void cb_Send(Fl_Button*, void*);
  163. void cb_C_i(Fl_Button*, void*);
  164. static void cb_C(Fl_Button*, void*);
  165. void cb_P_i(Fl_Button*, void*);
  166. static void cb_P(Fl_Button*, void*);
  167. public:
  168. Fl_Counter *inseffnocounter;
  169. private:
  170. void cb_inseffnocounter_i(Fl_Counter*, void*);
  171. static void cb_inseffnocounter(Fl_Counter*, void*);
  172. public:
  173. Fl_Osc_Choice *insefftype;
  174. private:
  175. void cb_insefftype_i(Fl_Osc_Choice*, void*);
  176. static void cb_insefftype(Fl_Osc_Choice*, void*);
  177. static Fl_Menu_Item menu_insefftype[];
  178. public:
  179. Fl_Osc_Group *inseffectuigroup;
  180. EffUI *inseffectui;
  181. Fl_Osc_Choice *inseffpart;
  182. private:
  183. void cb_inseffpart_i(Fl_Osc_Choice*, void*);
  184. static void cb_inseffpart(Fl_Osc_Choice*, void*);
  185. void cb_C1_i(Fl_Button*, void*);
  186. static void cb_C1(Fl_Button*, void*);
  187. void cb_P1_i(Fl_Button*, void*);
  188. static void cb_P1(Fl_Button*, void*);
  189. void cb_Scales_i(Fl_Button*, void*);
  190. static void cb_Scales(Fl_Button*, void*);
  191. public:
  192. Fl_Osc_Button *recordbutton;
  193. private:
  194. void cb_recordbutton_i(Fl_Osc_Button*, void*);
  195. static void cb_recordbutton(Fl_Osc_Button*, void*);
  196. public:
  197. Fl_Osc_Button *stopbutton;
  198. private:
  199. void cb_stopbutton_i(Fl_Osc_Button*, void*);
  200. static void cb_stopbutton(Fl_Osc_Button*, void*);
  201. public:
  202. Fl_Osc_Button *pausebutton;
  203. private:
  204. void cb_pausebutton_i(Fl_Osc_Button*, void*);
  205. static void cb_pausebutton(Fl_Osc_Button*, void*);
  206. public:
  207. Fl_Box *pauselabel;
  208. VuMasterMeter *mastervu;
  209. Fl_Osc_Check *nrpnbutton;
  210. Fl_Counter *npartcounter;
  211. private:
  212. void cb_npartcounter_i(Fl_Counter*, void*);
  213. static void cb_npartcounter(Fl_Counter*, void*);
  214. void cb_vK_i(Fl_Button*, void*);
  215. static void cb_vK(Fl_Button*, void*);
  216. void cb_Reset_i(Fl_Button*, void*);
  217. static void cb_Reset(Fl_Button*, void*);
  218. public:
  219. Fl_Osc_Dial *globalfinedetuneslider;
  220. private:
  221. void cb_Panel_i(Fl_Button*, void*);
  222. static void cb_Panel(Fl_Button*, void*);
  223. public:
  224. Fl_Button *sm_indicator1;
  225. Fl_Double_Window *aboutwindow;
  226. private:
  227. void cb_Close_i(Fl_Button*, void*);
  228. static void cb_Close(Fl_Button*, void*);
  229. public:
  230. Fl_Osc_Window *syseffsendwindow;
  231. Fl_Scroll *syseffscroll;
  232. private:
  233. void cb_Close1_i(Fl_Button*, void*);
  234. static void cb_Close1(Fl_Button*, void*);
  235. public:
  236. Fl_Osc_Window *panelwindow;
  237. private:
  238. void cb_Close2_i(Fl_Button*, void*);
  239. static void cb_Close2(Fl_Button*, void*);
  240. void cb_Refresh_i(Fl_Button*, void*);
  241. static void cb_Refresh(Fl_Button*, void*);
  242. public:
  243. Fl_Osc_Window *simplemasterwindow;
  244. private:
  245. void cb_simplemasterwindow_i(Fl_Osc_Window*, void*);
  246. static void cb_simplemasterwindow(Fl_Osc_Window*, void*);
  247. public:
  248. Fl_Menu_Bar *simplemastermenu;
  249. static Fl_Menu_Item menu_simplemastermenu[];
  250. private:
  251. void cb_New1_i(Fl_Menu_*, void*);
  252. static void cb_New1(Fl_Menu_*, void*);
  253. void cb_Revert1_i(Fl_Menu_*, void*);
  254. static void cb_Revert1(Fl_Menu_*, void*);
  255. void cb_Open2_i(Fl_Menu_*, void*);
  256. static void cb_Open2(Fl_Menu_*, void*);
  257. void cb_Save4_i(Fl_Menu_*, void*);
  258. static void cb_Save4(Fl_Menu_*, void*);
  259. void cb_Settings1_i(Fl_Menu_*, void*);
  260. static void cb_Settings1(Fl_Menu_*, void*);
  261. void cb_Copyright1_i(Fl_Menu_*, void*);
  262. static void cb_Copyright1(Fl_Menu_*, void*);
  263. void cb_E1_i(Fl_Menu_*, void*);
  264. static void cb_E1(Fl_Menu_*, void*);
  265. void cb_Open3_i(Fl_Menu_*, void*);
  266. static void cb_Open3(Fl_Menu_*, void*);
  267. void cb_Show2_i(Fl_Menu_*, void*);
  268. static void cb_Show2(Fl_Menu_*, void*);
  269. void cb_Switch1_i(Fl_Menu_*, void*);
  270. static void cb_Switch1(Fl_Menu_*, void*);
  271. Fl_Osc_Group *simplelistitemgroup;
  272. public:
  273. PartNameButton *partname;
  274. private:
  275. void cb_partname1_i(PartNameButton*, void*);
  276. static void cb_partname1(PartNameButton*, void*);
  277. public:
  278. Fl_Osc_TSlider *partpanning;
  279. Fl_Osc_Choice *partrcv;
  280. private:
  281. void cb_partrcv_i(Fl_Osc_Choice*, void*);
  282. static void cb_partrcv(Fl_Osc_Choice*, void*);
  283. public:
  284. Fl_Osc_Dial *partvolume;
  285. Fl_Osc_Check *simplepartportamento;
  286. Fl_Osc_Counter *simpleminkcounter;
  287. private:
  288. void cb_simpleminkcounter_i(Fl_Osc_Counter*, void*);
  289. static void cb_simpleminkcounter(Fl_Osc_Counter*, void*);
  290. public:
  291. Fl_Osc_Counter *simplemaxkcounter;
  292. private:
  293. void cb_simplemaxkcounter_i(Fl_Osc_Counter*, void*);
  294. static void cb_simplemaxkcounter(Fl_Osc_Counter*, void*);
  295. void cb_m_i(Fl_Osc_Button*, void*);
  296. static void cb_m(Fl_Osc_Button*, void*);
  297. void cb_M_i(Fl_Osc_Button*, void*);
  298. static void cb_M(Fl_Osc_Button*, void*);
  299. void cb_R_i(Fl_Button*, void*);
  300. static void cb_R(Fl_Button*, void*);
  301. public:
  302. Fl_Osc_Counter *simplepartkeyshiftcounter;
  303. Fl_Osc_Dial *simplesyseffsend;
  304. private:
  305. Fl_Osc_Check *partenabled;
  306. void cb_partenabled1_i(Fl_Osc_Check*, void*);
  307. static void cb_partenabled1(Fl_Osc_Check*, void*);
  308. public:
  309. VirKeys *virkeys;
  310. Fl_Counter *simplesyseffnocounter;
  311. private:
  312. void cb_simplesyseffnocounter_i(Fl_Counter*, void*);
  313. static void cb_simplesyseffnocounter(Fl_Counter*, void*);
  314. public:
  315. Fl_Osc_Choice *simplesysefftype;
  316. private:
  317. void cb_simplesysefftype_i(Fl_Osc_Choice*, void*);
  318. static void cb_simplesysefftype(Fl_Osc_Choice*, void*);
  319. static Fl_Menu_Item menu_simplesysefftype[];
  320. public:
  321. Fl_Osc_Group *simplesyseffectuigroup;
  322. SimpleEffUI *simplesyseffectui;
  323. private:
  324. void cb_Send1_i(Fl_Button*, void*);
  325. static void cb_Send1(Fl_Button*, void*);
  326. void cb_P2_i(Fl_Button*, void*);
  327. static void cb_P2(Fl_Button*, void*);
  328. public:
  329. Fl_Counter *simpleinseffnocounter;
  330. private:
  331. void cb_simpleinseffnocounter_i(Fl_Counter*, void*);
  332. static void cb_simpleinseffnocounter(Fl_Counter*, void*);
  333. public:
  334. Fl_Osc_Choice *simpleinsefftype;
  335. private:
  336. void cb_simpleinsefftype_i(Fl_Osc_Choice*, void*);
  337. static void cb_simpleinsefftype(Fl_Osc_Choice*, void*);
  338. static Fl_Menu_Item menu_simpleinsefftype[];
  339. public:
  340. Fl_Osc_Group *simpleinseffectuigroup;
  341. SimpleEffUI *simpleinseffectui;
  342. Fl_Choice *simpleinseffpart;
  343. private:
  344. void cb_simpleinseffpart_i(Fl_Choice*, void*);
  345. static void cb_simpleinseffpart(Fl_Choice*, void*);
  346. void cb_P3_i(Fl_Button*, void*);
  347. static void cb_P3(Fl_Button*, void*);
  348. public:
  349. VuMasterMeter *simplemastervu;
  350. Fl_Osc_Dial *simplemastervolumedial;
  351. Fl_Osc_Counter *simplemasterkeyshiftcounter;
  352. private:
  353. void cb_Stop_i(Fl_Osc_Button*, void*);
  354. static void cb_Stop(Fl_Osc_Button*, void*);
  355. void cb_Reset1_i(Fl_Button*, void*);
  356. static void cb_Reset1(Fl_Button*, void*);
  357. public:
  358. Fl_Osc_Dial *simpleglobalfinedetuneslider;
  359. Fl_Counter *simplenpartcounter;
  360. private:
  361. void cb_simplenpartcounter_i(Fl_Counter*, void*);
  362. static void cb_simplenpartcounter(Fl_Counter*, void*);
  363. void cb_Keyb_i(Fl_Counter*, void*);
  364. static void cb_Keyb(Fl_Counter*, void*);
  365. public:
  366. Fl_Button *sm_indicator2;
  367. Fl_Osc_Window *selectuiwindow;
  368. private:
  369. void cb_selectuiwindow_i(Fl_Osc_Window*, void*);
  370. static void cb_selectuiwindow(Fl_Osc_Window*, void*);
  371. void cb_Advanced_i(Fl_Button*, void*);
  372. static void cb_Advanced(Fl_Button*, void*);
  373. void cb_Beginner_i(Fl_Button*, void*);
  374. static void cb_Beginner(Fl_Button*, void*);
  375. public:
  376. void updatesendwindow();
  377. void updatepanel();
  378. void setfilelabel(const char *filename);
  379. MasterUI(int *exitprogram_, class Fl_Osc_Interface *osc_);
  380. ~MasterUI();
  381. void showUI(int UIMode);
  382. void simplerefresh();
  383. void do_new_master_unconditional();
  384. void do_new_master();
  385. int do_revert_changes_unconditional();
  386. void do_revert_changes();
  387. int do_load_master_unconditional(const char *filename, const char *display_name);
  388. void do_load_master(const char* file = NULL);
  389. void do_save_master(const char* file = NULL);
  390. void refresh_master_ui();
  391. class Osc_DataModel *last_xmz;
  392. private:
  393. MicrotonalUI *microtonalui;
  394. BankUI *bankui;
  395. int ninseff,npart;
  396. int nsyseff;
  397. int *exitprogram;
  398. Fl_Osc_Dial *syseffsend[NUM_SYS_EFX][NUM_SYS_EFX];
  399. VirKeyboard *virkeyboard;
  400. ConfigUI *configui;
  401. int swapefftype;
  402. char masterwindowlabel[100];
  403. public:
  404. Panellistitem *panellistitem[NUM_MIDI_PARTS];
  405. private:
  406. NioUI nioui;
  407. public:
  408. class Fl_Osc_Interface *osc;
  409. char last_loaded[XMZ_PATH_MAX];
  410. char loading_next[XMZ_PATH_MAX];
  411. void close();
  412. };
  413. #endif