diff --git a/src/tek.edn b/src/tek.edn index 2affc5b5..d14123c0 100644 --- a/src/tek.edn +++ b/src/tek.edn @@ -1,3 +1,76 @@ +(view :logo (bsp/s (exact/y 1 (text ~~ ╓─╥─╖ ╓──╖ ╥ ╖ ~~~~~~~~~~~~)) + (bsp/s (exact/y 1 (text ~~~~ ║ ~ ╟─╌ ~╟─< ~~ v0.3.0 ~~)) + (bsp/s (exact/y 1 (text ~~~~ ╨ ~ ╙──╜ ╨ ╜ ~~~~~~~~~~~~)) (text dig?))))) + +(view :browse (bsp/s (padding 3 1 :browse-title) (enclose (fg (g 96)) browser))) + +(mode :transport (name Transport) (info JACK transport controller.) (keys :clock :global) + :transport) + +(mode :menu (name Menu) (info Mode selector.) (keys :axis/y :confirm) + (view (bg (g 0) + (bsp/s (max/y 2 :transport + (bsp/s (max/y 3 (bg (g 80) :ports/out)) + (bsp/n (max/y 3 (bg (g 80) :ports/in)) + (bg (g 30) (bsp/s (max/h 6 (bg (g 70) :logo) :dialog/menu)))))))))) + +(mode :sequencer (name Sequencer) (info MIDI sequencer.) + (keys :editor :clock :global) + (mode browse (keys :browse)) + (mode rename (keys :pool/rename)) + (mode length (keys :pool/length)) + (bsp/s (fixed/y 1 :transport) + (bsp/n (fixed/y 1 :status) + (fill (bsp/a (fill/xy (align/e :pool)) :editor))))) + +(mode :sampler (name Sampler) (info Sample player.) + (keys :sampler/directions :sampler/record :sampler/play) + (bsp/s (fixed/y 1 :transport) + (bsp/n (fixed/y 1 :status) + (fill :samples/grid)))) + +(view :ports/out (fill/x (bsp/s (fill/x (align/w (text L-AUDIO-OUT))) + (bsp/e (text MIDI-OUT) + (fill/x (align/e (text AUDIO-OUT-R))))))) + +(view :ports/in (fill/x (bsp/s (fill/x (align/w (text L-AUDIO-IN))) + (bsp/e (text MIDI-IN) + (fill/x (align/e (text AUDIO-IN-R))))))) + +(mode :groovebox (name Groovebox) (info Sequencer with sampler.) + (keys :clock :editor :sampler :global) + (mode browse (keys :browse)) + (mode rename (keys :pool-rename)) + (mode length (keys :pool-length)) + (bsp/w :meters/output (bsp/e :meters/input (bsp/w :groove/meta :groove/editor)))) + +(view :groove/meta (fill/y (align/n (stack/s :midi-ins/status :midi-outs/status :audio-ins/status :audio-outs/status :pool)))) + +(view :groove/editor (bsp/n :groove/sample :groove/sequence)) + +(view :groove/sample (fixed/y :h-sample-detail (bsp/e (fill/y (fixed/x 20 (align/nw :sample-status))) :sample-viewer))) + +(view :groove/sequence (bsp/e (fill/y (align/n (bsp/s :status/v :editor-status))) (bsp/e :samples/keys :editor))) + +(mode :arranger (name Arranger) (info Launch grid.) + (keys (see :clock :color :launch :scenes :tracks :global) + (@tab project/edit) (@shift/I project/input/add) (@shift/O project/output/add) + (@shift/D dialog/show :dialog/device)) + (mode :editor (keys :editor)) + (mode :dialog (keys :dialog)) + (mode :message (keys :message)) + (mode :add-device (keys :add-device)) + (mode :browse (keys :browse)) + (mode :rename (keys :input)) + (mode :length (keys :rename)) + (mode :clip (keys :clip)) + (mode :track (keys :track)) + (mode :scene (keys :scene)) + (mode :mix (keys :mix)) + (bsp/n :status (bsp/w :meters/output (bsp/e :meters/input (bsp/n :tracks/inputs + (bsp/s :tracks/outputs (bsp/s :tracks/names (bsp/s :tracks/devices + (fill (either :mode/editor (bsp/e :scenes/names :editor) :scenes)))))))))) + (keys :back (@escape back)) (keys :confirm (@enter confirm)) (keys :axis/x (@left x/dec) (@right x/inc)) @@ -10,106 +83,67 @@ (keys :axis/i2 (@lt i2/dec) (@gt z2/inc)) (keys :axis/w (@openbracket w/dec) (@closebracket w/inc)) (keys :axis/w2 (@openbrace w2/dec) (@closebrace w2/inc)) -(mode :menu (name Menu) (info Mode selector.) (keys :axis/y :confirm) (view (bg (g 0) - (bsp/s (exact/y 2 :transport) - (bsp/s (exact/y 3 (bg (g 80) :ports/out)) - (bsp/n (exact/y 3 (bg (g 80) :ports/in)) - (bg (g 30) (bsp/s (exact/y 6 (bg (g 70) :logo)) :dialog/menu)))))))) -(view :logo (bsp/s (exact/y 1 (text ~~ ╓─╥─╖ ╓──╖ ╥ ╖ ~~~~~~~~~~~~)) - (bsp/s (exact/y 1 (text ~~~~ ║ ~ ╟─╌ ~╟─< ~~ v0.3.0 ~~)) - (bsp/s (exact/y 1 (text ~~~~ ╨ ~ ╙──╜ ╨ ╜ ~~~~~~~~~~~~)) (text dig?))))) -(view :ports/out (fill/x (bsp/s (fill/x (align/w (text L-AUDIO-OUT))) - (bsp/e (text MIDI-OUT) (fill/x (align/e (text AUDIO-OUT-R))))))) -(view :ports/in (fill/x (bsp/s (fill/x (align/w (text L-AUDIO-IN))) - (bsp/e (text MIDI-IN) (fill/x (align/e (text AUDIO-IN-R))))))) -(mode :transport (name Transport) (info JACK transport controller.) - (keys :clock :global) - :transport) -(mode :sequencer (name Sequencer) (info MIDI sequencer.) - (mode browse (keys :browse)) - (mode rename (keys :pool/rename)) - (mode length (keys :pool/length)) - (keys :editor :clock :global) - (bsp/s (fixed/y 1 :transport) - (bsp/n (fixed/y 1 :status) - (fill (bsp/a (fill/xy (align/e :pool)) :editor))))) -(keys :editor (see :axis/i :axis/i2 :axis/y :page :editor/view :editor/add :editor/del)) -(keys :editor/view (see :axis/x :axis/x2 :axis/z :axis/z2) (@z toggle :lock)) -(keys :editor/add (@a editor/append :true) (@enter editor/append :false)) -(keys :editor/del (@del editor/delete/note) (@shift/del editor/delete/note)) -(mode :sampler (name Sampler) (info Sample player.) - (keys :sampler/directions :sampler/record :sampler/play) - (bsp/s (fixed/y 1 :transport) (bsp/n (fixed/y 1 :status) (fill :samples/grid)))) -(keys :sampler/record - (@r sampler/record/toggle :sample/selected) - (@shift/R sampler/record/back)) -(keys :sampler/play - (@p sampler/play/sample :sample/selected) - (@P sampler/stop/sample :sample/selected)) -(keys :sampler/import-export - (@shift/f6 dialog :dialog/export/sample) - (@shift/f9 dialog :dialog/import/sample)) -(keys :sampler/directions - (@up sampler/select :sample/above) - (@down sampler/select :sample/below) - (@left sampler/select :sample/to/left) - (@right sampler/select :sample/to/right)) -(mode :groovebox (name Groovebox) (info Sequencer with sampler.) - (mode browse (keys :browse)) - (mode rename (keys :pool-rename)) - (mode length (keys :pool-length)) - (keys :clock :editor :sampler :global) - (bsp/w :meters/output (bsp/e :meters/input (bsp/w :groove/meta :groove/editor)))) -(view :groove/meta (fill/y (align/n (stack/s :midi-ins/status :midi-outs/status :audio-ins/status :audio-outs/status :pool)))) -(view :groove/editor (bsp/n :groove/sample :groove/sequence)) -(view :groove/sample (fixed/y :h-sample-detail (bsp/e (fill/y (fixed/x 20 (align/nw :sample-status))) :sample-viewer))) -(view :groove/sequence (bsp/e (fill/y (align/n (bsp/s :status/v :editor-status))) (bsp/e :samples/keys :editor))) -(mode :arranger (name Arranger) (info Launch grid.) - (mode :editor (keys :editor)) - (mode :dialog (keys :dialog)) - (mode :message (keys :message)) - (mode :add-device (keys :add-device)) - (mode :browse (keys :browse)) - (mode :rename (keys :input)) - (mode :length (keys :rename)) - (mode :clip (keys :clip)) - (mode :track (keys :track)) - (mode :scene (keys :scene)) - (mode :mix (keys :mix)) - (keys (see :clock :color :launch :scenes :tracks :global) - (@tab project/edit) - (@shift/I project/input/add) (@shift/O project/output/add) - (@shift/D dialog/show :dialog/device)) - (bsp/n :status (bsp/w :meters/output (bsp/e :meters/input (bsp/n :tracks/inputs - (bsp/s :tracks/outputs (bsp/s :tracks/names (bsp/s :tracks/devices - (fill (either :mode/editor (bsp/e :scenes/names :editor) :scenes)))))))))) -(keys :tracks (@t select :select/track) (@shift/T project/track/add) - (@left select :select/track/dec) (@right select :select/track/inc)) -(keys :track (see :color :launch :axis/z :axis/z2 :delete) - (@r toggle :rec) (@m toggle :mon) (@p toggle :play) (@P toggle :solo)) -(keys :scenes (@s select :select/scene) (@shift/S project/scene/add) - (@up select :select/scene/dec) (@down select :select/scene/inc)) -(keys :scene (see :color :launch :axis/z :axis/z2 :delete)) - (keys :focus) -(keys :help (@f1 dialog :help)) -(keys :page (@pgup page/up) (@pgdn page/down)) -(keys :delete (@delete delete) (@backspace delete/back)) -(keys :input (see :axis/x :delete) (:char input)) -(keys :list (see :axis/y :confirm)) -(keys :length (see :axis/x :axis/y :confirm)) -(keys :browse (see :list :input :focus)) -(keys :history (@u undo 1) (@r redo 1)) -(keys :saveload (@f6 dialog :save) (@f9 dialog :load)) -(keys :color (@c color)) -(keys :launch (@q launch)) -(keys :clock (@space clock/toggle 0) (@shift/space clock/toggle 0)) -(keys :global (see :history :saveload) (@f8 dialog :options) (@f10 dialog :quit)) -(keys :clip (see :color :launch :axis/z :axis/z2 :delete) (@l toggle :loop)) -(keys :sequencer (see :color :launch) (@shift/I input/add) (@shift/O output/add)) -(keys :pool (see :axis-y :axis-w :axis/z2 :color :delete) - (@n rename/begin) (@t length/begin) (@m import/begin) (@x export/begin) - (@shift/A clip/add :after :new/clip) (@shift/D clip/add :after :cloned/clip)) -(view :browse (bsp/s - (padding 3 1 :browse-title) - (enclose (fg (g 96)) browser))) +(keys :editor (see :axis/i :axis/i2 :axis/y :page :editor/view :editor/add :editor/del)) +(keys :editor/view (see :axis/x :axis/x2 :axis/z :axis/z2) + (@z toggle :lock)) +(keys :editor/add (@a editor/append :true) + (@enter editor/append :false)) +(keys :editor/del (@del editor/delete/note) + (@shift/del editor/delete/note)) +(keys :sampler/record (@r sampler/record/toggle :sample/selected) + (@shift/R sampler/record/back)) +(keys :sampler/play (@p sampler/play/sample :sample/selected) + (@P sampler/stop/sample :sample/selected)) +(keys :sampler/import-export (@shift/f6 dialog :dialog/export/sample) + (@shift/f9 dialog :dialog/import/sample)) +(keys :sampler/directions (@up sampler/select :sample/above) + (@down sampler/select :sample/below) + (@left sampler/select :sample/to/left) + (@right sampler/select :sample/to/right)) +(keys :tracks (@t select :select/track) + (@shift/T project/track/add) + (@left select :select/track/dec) + (@right select :select/track/inc)) +(keys :track (see :color :launch :axis/z :axis/z2 :delete) + (@r toggle :rec) + (@m toggle :mon) + (@p toggle :play) + (@P toggle :solo)) +(keys :scenes (@s select :select/scene) + (@shift/S project/scene/add) + (@up select :select/scene/dec) + (@down select :select/scene/inc)) +(keys :scene (see :color :launch :axis/z :axis/z2 :delete)) +(keys :help (@f1 dialog :help)) +(keys :page (@pgup page/up) + (@pgdn page/down)) +(keys :delete (@delete delete) + (@backspace delete/back)) +(keys :input (see :axis/x :delete) (:char input)) +(keys :list (see :axis/y :confirm)) +(keys :length (see :axis/x :axis/y :confirm)) +(keys :browse (see :list :input :focus)) +(keys :history (@u undo 1) + (@r redo 1)) +(keys :saveload (@f6 dialog :save) + (@f9 dialog :load)) +(keys :color (@c color)) +(keys :launch (@q launch)) +(keys :clock (@space clock/toggle 0) + (@shift/space clock/toggle 0)) +(keys :global (see :history :saveload) + (@f8 dialog :options) + (@f10 dialog :quit)) +(keys :clip (see :color :launch :axis/z :axis/z2 :delete) + (@l toggle :loop)) +(keys :sequencer (see :color :launch) + (@shift/I input/add) + (@shift/O output/add)) +(keys :pool (see :axis-y :axis-w :axis/z2 :color :delete) + (@n rename/begin) + (@t length/begin) + (@m import/begin) + (@x export/begin) + (@shift/A clip/add :after :new/clip) + (@shift/D clip/add :after :cloned/clip))