Assists music production by grouping standalone programs into sessions. Community version of "Non Session Manager".
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.

294 lines
7.1KB

  1. # data file for the Fltk User Interface Designer (fluid)
  2. version 1.0108
  3. header_name {.H}
  4. code_name {.C}
  5. decl {const float STATUS_UPDATE_FREQ = 0.5f;} {}
  6. decl {\#include "Timeline.H"} {}
  7. decl {\#include "Engine.H"} {selected
  8. }
  9. decl {\#include "Transport.H"} {}
  10. decl {\#include "Clock.H"} {public
  11. }
  12. decl {\#include <FL/Fl.H>} {}
  13. class TLE {open
  14. } {
  15. Function {TLE()} {open
  16. } {
  17. code {make_window();
  18. // Fl::visual( RGB8 );
  19. Fl::visible_focus( 0 );
  20. Fl::get_system_colors();
  21. Fl::scheme( "plastic" );
  22. Fl::add_timeout( STATUS_UPDATE_FREQ, update_cb, this );} {}
  23. }
  24. Function {make_window()} {open
  25. } {
  26. Fl_Window main_window {
  27. label {Non-DAW - Timeline} open
  28. xywh {549 146 1024 768} type Double resizable xclass {Non-DAW} visible
  29. } {
  30. Fl_Group {} {open
  31. xywh {0 0 1024 25}
  32. } {}
  33. Fl_Menu_Bar {} {
  34. xywh {0 0 1024 25}
  35. } {
  36. Submenu {} {
  37. label {&Session} open
  38. xywh {0 0 74 25}
  39. } {
  40. MenuItem {} {
  41. label {&New}
  42. xywh {0 0 40 25}
  43. }
  44. MenuItem {} {
  45. label {&Open}
  46. xywh {10 10 40 25}
  47. }
  48. MenuItem {} {
  49. label {&Compact}
  50. xywh {20 20 40 25}
  51. }
  52. Submenu {} {
  53. label Export open
  54. xywh {0 0 74 25}
  55. } {
  56. MenuItem {} {
  57. label Session
  58. xywh {0 0 40 25}
  59. }
  60. MenuItem {} {
  61. label Range
  62. xywh {10 10 40 25}
  63. }
  64. }
  65. MenuItem {} {
  66. label {&Quit}
  67. xywh {40 40 40 25} shortcut 0x40071
  68. }
  69. }
  70. Submenu {} {
  71. label {&Edit} open
  72. xywh {0 0 74 25}
  73. } {
  74. MenuItem {} {
  75. label Preferences
  76. xywh {0 0 40 25}
  77. }
  78. MenuItem {} {
  79. label Undo
  80. xywh {0 0 40 25} shortcut 0x4007a
  81. }
  82. }
  83. Submenu {} {
  84. label Transport open
  85. xywh {0 0 74 25}
  86. } {
  87. MenuItem {} {
  88. label Home
  89. xywh {0 0 40 25}
  90. }
  91. MenuItem {} {
  92. label End
  93. xywh {10 10 40 25}
  94. }
  95. MenuItem {} {
  96. label Stop
  97. xywh {20 20 40 25}
  98. }
  99. MenuItem {} {
  100. label Play
  101. xywh {30 30 40 25}
  102. }
  103. MenuItem {} {
  104. label Record
  105. xywh {40 40 40 25}
  106. }
  107. }
  108. Submenu {} {
  109. label {&View} open
  110. xywh {0 0 74 25}
  111. } {
  112. Submenu {} {
  113. label Zoom open
  114. xywh {0 0 74 25}
  115. } {
  116. MenuItem {} {
  117. label Fit
  118. xywh {10 10 40 25}
  119. }
  120. MenuItem {} {
  121. label {1 sec.}
  122. xywh {10 10 40 25}
  123. }
  124. MenuItem {} {
  125. label {1 min.}
  126. xywh {20 20 40 25}
  127. }
  128. MenuItem {} {
  129. label {1 hour.}
  130. xywh {30 30 40 25}
  131. }
  132. }
  133. }
  134. Submenu {} {
  135. label {&Options} open
  136. xywh {0 0 74 25} divider
  137. } {
  138. Submenu {} {
  139. label Display open
  140. xywh {0 0 74 25}
  141. } {
  142. MenuItem {} {
  143. label item
  144. xywh {0 0 40 25}
  145. }
  146. Submenu {} {
  147. label Region open
  148. xywh {0 0 74 25}
  149. } {
  150. MenuItem {} {
  151. label {Filled waveforms}
  152. xywh {10 10 40 25} type Toggle value 1
  153. }
  154. MenuItem {} {
  155. label {Colorful waveforms}
  156. xywh {20 20 40 25} type Toggle value 1
  157. }
  158. MenuItem {} {
  159. label {Filled fades}
  160. xywh {30 30 40 25} type Toggle value 1
  161. }
  162. }
  163. Submenu {} {
  164. label {Control Sequence} open
  165. xywh {0 0 74 25}
  166. } {
  167. MenuItem {} {
  168. label Polygon
  169. xywh {20 20 40 25} type Toggle value 1
  170. }
  171. MenuItem {} {
  172. label Graded
  173. xywh {30 30 40 25} type Toggle value 1
  174. }
  175. MenuItem {} {
  176. label Ruled
  177. xywh {40 40 40 25} type Toggle value 1
  178. }
  179. }
  180. Submenu {} {
  181. label Style open
  182. xywh {0 0 74 25}
  183. } {
  184. MenuItem {} {
  185. label Default
  186. xywh {0 0 40 25} type Radio value 1
  187. }
  188. MenuItem {} {
  189. label Flat
  190. xywh {10 10 40 25} type Radio
  191. }
  192. }
  193. Submenu {} {
  194. label Colors open
  195. xywh {0 0 74 25}
  196. } {
  197. MenuItem {} {
  198. label System
  199. xywh {0 0 40 25} type Radio
  200. }
  201. MenuItem {} {
  202. label Dark
  203. xywh {10 10 40 25} type Radio value 1
  204. }
  205. MenuItem {} {
  206. label Light
  207. xywh {20 20 40 25} type Radio
  208. }
  209. }
  210. }
  211. }
  212. MenuItem {} {
  213. label {&Help}
  214. xywh {0 0 40 25}
  215. }
  216. }
  217. Fl_Box {} {
  218. label {<Timeline>}
  219. xywh {0 74 1024 695} box FLAT_BOX color 47 labelsize 100
  220. code0 {timeline = o;}
  221. class Timeline
  222. }
  223. Fl_Box {} {
  224. label {<Transport>}
  225. xywh {0 25 137 46} color 30
  226. code0 {transport = o;}
  227. code1 {o->labeltype( FL_NO_LABEL );}
  228. class Transport
  229. }
  230. Fl_Pack clocks_pack {open
  231. xywh {139 25 285 46} type HORIZONTAL
  232. } {
  233. Fl_Box playhead_clock {
  234. label PLAYHEAD
  235. xywh {139 29 137 40} box BORDER_BOX color 46
  236. code0 {o->type( Clock::HMS );}
  237. code1 {o->run( &transport->frame );}
  238. class Clock
  239. }
  240. Fl_Box {} {
  241. label PLAYHEAD
  242. xywh {278 29 142 40} box BORDER_BOX color 46
  243. code0 {o->type( Clock::BBT );}
  244. class Clock
  245. }
  246. }
  247. Fl_Progress capture_buffer_progress {
  248. label {capture:}
  249. xywh {925 26 99 14} labelsize 10 align 4
  250. }
  251. Fl_Progress cpu_load_progress {
  252. label {DSP:}
  253. xywh {925 55 99 16} labelsize 9 align 4
  254. }
  255. Fl_Progress playback_buffer_progress {
  256. label {playback:}
  257. xywh {925 40 99 14} labelsize 10 align 4
  258. }
  259. Fl_Box {} {
  260. label {<empty>}
  261. xywh {427 29 469 42}
  262. code0 {o->labeltype( FL_NO_LABEL );}
  263. }
  264. }
  265. }
  266. Function {update_status()} {open
  267. } {
  268. code {capture_buffer_progress->value( timeline->total_input_buffer_percent() );
  269. playback_buffer_progress->value( timeline->total_output_buffer_percent() );
  270. cpu_load_progress->value( engine->cpu_load() );
  271. // TODO: dsp} {}
  272. }
  273. Function {update_cb( void *v )} {open return_type {static void}
  274. } {
  275. code {Fl::repeat_timeout( STATUS_UPDATE_FREQ, update_cb, v );
  276. ((TLE*)v)->update_status();} {}
  277. }
  278. }
  279. Function {make_window()} {open
  280. } {}