mirror of
https://codeberg.org/unspeaker/tek.git
synced 2026-08-07 14:06:57 +02:00
157 lines
7.6 KiB
Clojure
157 lines
7.6 KiB
Clojure
(view :logo (bsp/s (text ~~ ╓─╥─╖ ╓──╖ ╥ ╖ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )
|
|
(bsp/s (text ~~~~ ║ ~ ╟─╌ ~╟─< ~~ heatwave is the new darkwave ~~ )
|
|
(bsp/s (text ~~~~ ╨ ~ ╙──╜ ╨ ╜ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )
|
|
(text)))))
|
|
|
|
(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 (bsp/s
|
|
(align/s (bsp/e :ports/out
|
|
(bsp/e :transport
|
|
:ports/in)))
|
|
(align/c (bsp/s (align/x (bg (g 36) :logo))
|
|
(bg (g 24) :dialog/menu))))))
|
|
|
|
(view :ports/out
|
|
(bsp/s (align/w (text L-AUDIO-OUT))
|
|
(bsp/e (text MIDI-OUT)
|
|
(align/e (text AUDIO-OUT-R)))))
|
|
|
|
(view :ports/in
|
|
(bsp/s (align/w (text L-AUDIO-IN))
|
|
(bsp/e (text MIDI-IN)
|
|
(align/e (text AUDIO-IN-R)))))
|
|
|
|
(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))))
|
|
|
|
(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))
|
|
(view (bg (g 64) (bsp/n :status (text test)))))
|
|
|
|
(keys :back (@escape back))
|
|
(keys :confirm (@enter confirm))
|
|
(keys :axis/x (@left x/dec) (@right x/inc))
|
|
(keys :axis/x2 (@shift/left x2/dec) (@shift/right x2/inc))
|
|
(keys :axis/y (@up y/dec) (@down y/inc))
|
|
(keys :axis/y2 (@shift/up y2/dec) (@shift/down y2/inc))
|
|
(keys :axis/z (@minus z/dec) (@equal z/inc))
|
|
(keys :axis/z2 (@underscore z2/dec) (@plus z2/inc))
|
|
(keys :axis/i (@comma i/dec) (@period z/inc))
|
|
(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))
|
|
(keys :focus)
|
|
(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))
|