mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
load up to modes
the stacked modal music editor. lol
This commit is contained in:
parent
b991a49ad7
commit
4d4c470a81
7 changed files with 220 additions and 205 deletions
175
config/binds.edn
175
config/binds.edn
|
|
@ -1,75 +1,96 @@
|
|||
(module :global
|
||||
(@esc dialog/hide)
|
||||
(@f1 dialog/show :dialog/help)
|
||||
(@f6 dialog/show :dialog/save)
|
||||
(@f8 dialog/show :dialog/options)
|
||||
(@f9 dialog/show :dialog/load)
|
||||
(@f10 dialog/show :dialog/quit)
|
||||
(@u history/undo 1)
|
||||
(@r history/redo 1))
|
||||
(def :keys/cancel
|
||||
(@escape cancel))
|
||||
|
||||
(module :clock
|
||||
(@space clock/toggle 0)
|
||||
(@shift/space clock/toggle 0))
|
||||
(def :keys/delete
|
||||
(@delete delete))
|
||||
|
||||
(module :arranger
|
||||
(@c color)
|
||||
(@q launch)
|
||||
(@tab project/edit)
|
||||
(@enter project/edit)
|
||||
(@escape project/home)
|
||||
(@shift/I project/input/add)
|
||||
(@shift/O project/output/add)
|
||||
(@shift/S project/scene/add)
|
||||
(@shift/T project/track/add)
|
||||
(@shift/D dialog/show :dialog/device)
|
||||
(@up select :select/scene/prev)
|
||||
(@down select :select/scene/next)
|
||||
(@left select :select/track/prev)
|
||||
(@right select :select/track/next)
|
||||
(@t select :select/track)
|
||||
(@s select :select/scene))
|
||||
(def :keys/history
|
||||
(@u undo 1) (@r redo 1))
|
||||
|
||||
(module :track
|
||||
(@delete track/delete :track)
|
||||
(@q track/launch :track)
|
||||
(@c track/color :track)
|
||||
(@comma track/prev)
|
||||
(@period track/next)
|
||||
(@lt track/swap/prev)
|
||||
(@gt track/swap/next)
|
||||
(@r track/rec)
|
||||
(@m track/mon)
|
||||
(@p track/play)
|
||||
(@P track/solo))
|
||||
(def :keys/nextprev
|
||||
(@comma prev) (@period next))
|
||||
|
||||
(module :scene
|
||||
(@delete scene/delete :scene)
|
||||
(@q scene/launch :scene)
|
||||
(@c scene/color :scene)
|
||||
(@comma scene/prev)
|
||||
(@period scene/next)
|
||||
(@lt scene/swap/prev)
|
||||
(@gt scene/swap/next))
|
||||
(def :keys/swap
|
||||
(@lt swap/prev) (@gt swap/next))
|
||||
|
||||
(module :clip
|
||||
(@g clip/get)
|
||||
(@p clip/put)
|
||||
(@delete clip/del)
|
||||
(@comma clip/prev)
|
||||
(@period clip/next)
|
||||
(@lt clip/swap/prev)
|
||||
(@gt clip/swap/next)
|
||||
(@l clip/loop/toggle))
|
||||
(def :keys/list
|
||||
(@up list/prev) (@down list/next) (@enter list/select) (@escape list/cancel))
|
||||
|
||||
(def :keys/clock
|
||||
(@space clock/toggle 0) (@shift/space clock/toggle 0))
|
||||
|
||||
(def :keys/color
|
||||
(@c color))
|
||||
|
||||
(def :keys/launch
|
||||
(@q launch))
|
||||
|
||||
(def :keys/filter
|
||||
(see :keys/list :keys/input))
|
||||
|
||||
(def :keys/input
|
||||
(see :keys/cancel :keys/delete)
|
||||
(@left cursor/prev) (@right cursor/next) (@backspace delete/prev) (:char input))
|
||||
|
||||
(def :keys/global
|
||||
(see :keys/cancel :keys/history)
|
||||
(@f1 dialog :help) (@f8 dialog :options) (@f10 dialog :quit)
|
||||
(@f6 dialog :save) (@f9 dialog :load))
|
||||
|
||||
(def :keys/arranger
|
||||
(see :keys/color :keys/launch :keys/arranger/direction :keys/arranger/cycle)
|
||||
(@tab project/edit) (@enter project/edit)
|
||||
(@shift/I project/input/add) (@shift/O project/output/add)
|
||||
(@shift/S project/scene/add) (@shift/T project/track/add)
|
||||
(@shift/D dialog/show :dialog/device))
|
||||
|
||||
(def :keys/arranger/cycle
|
||||
(@t select :select/track) (@s select :select/scene))
|
||||
|
||||
(def :keys/arranger/direction
|
||||
(@up select :select/scene/prev) (@down select :select/scene/next)
|
||||
(@left select :select/track/prev) (@right select :select/track/next))
|
||||
|
||||
(def :keys/scene (see :keys/color :keys/launch :keys/nextprev :keys/swap :keys/delete))
|
||||
|
||||
(def :keys/track (see :keys/color :keys/launch :keys/nextprev :keys/swap :keys/delete)
|
||||
(@r toggle :rec) (@m toggle :mon) (@p toggle :play) (@P toggle :solo))
|
||||
|
||||
(def :keys/clip (see :keys/color :keys/launch :keys/nextprev :keys/swap :keys/delete)
|
||||
(@l toggle :loop))
|
||||
|
||||
(def :keys/sampler (see :keys/sampler/directions :keys/sampler/record :keys/sampler/play))
|
||||
|
||||
(def :keys/sampler/play
|
||||
(@p sampler/play/sample :sample/selected)
|
||||
(@P sampler/stop/sample :sample/selected))
|
||||
|
||||
(def :keys/sampler/record
|
||||
(@r sampler/record/toggle :sample/selected)
|
||||
(@shift/R sampler/record/cancel))
|
||||
|
||||
(def :keys/sampler/import-export
|
||||
(@shift/f6 dialog :dialog/export/sample)
|
||||
(@shift/f9 dialog :dialog/import/sample))
|
||||
|
||||
(def :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))
|
||||
|
||||
(def :keys/sequencer (see :keys/color :keys/launch)
|
||||
(@shift/I input/add)
|
||||
(@shift/O output/add))
|
||||
|
||||
(module :browser
|
||||
(@escape browser/cancel)
|
||||
(@return browser/confirm)
|
||||
(@up browser/cursor/set :browser/cursor/prev)
|
||||
(@down browser/cursor/set :browser/cursor/next)
|
||||
(@right browser/address/set :browser/address/selected)
|
||||
(@left browser/address/set :browser/address/parent)
|
||||
(:char browser/filter/append :char)
|
||||
(@escape browser/cancel)
|
||||
(@return browser/confirm)
|
||||
(@up browser/cursor/set :browser/cursor/prev)
|
||||
(@down browser/cursor/set :browser/cursor/next)
|
||||
(@right browser/address/set :browser/address/selected)
|
||||
(@left browser/address/set :browser/address/parent)
|
||||
(:char browser/filter/append :char)
|
||||
(@backspace browser/filter/delete :last))
|
||||
|
||||
(module :device/add
|
||||
|
|
@ -112,10 +133,6 @@
|
|||
(@return set :length)
|
||||
(@escape cancel))
|
||||
|
||||
(module :message
|
||||
(@esc message/dismiss)
|
||||
(@enter message/dismiss))
|
||||
|
||||
(module :pool
|
||||
(@n rename/begin)
|
||||
(@t length/begin)
|
||||
|
|
@ -145,23 +162,3 @@
|
|||
(@backspace delete :last)
|
||||
(@return confirm)
|
||||
(@escape cancel))
|
||||
|
||||
(module :sampler
|
||||
(@up sampler/select :sample/above)
|
||||
(@down sampler/select :sample/below)
|
||||
(@left sampler/select :sample/to/left)
|
||||
(@right sampler/select :sample/to/right)
|
||||
|
||||
(@r sampler/record/toggle :sample/selected)
|
||||
(@shift/R sampler/record/cancel)
|
||||
(@p sampler/play/sample :sample/selected)
|
||||
(@P sampler/stop/sample :sample/selected)
|
||||
|
||||
(@shift/f6 dialog :dialog/export/sample)
|
||||
(@shift/f9 dialog :dialog/import/sample))
|
||||
|
||||
(module :sequencer
|
||||
(@c color)
|
||||
(@q launch)
|
||||
(@shift/I input/add)
|
||||
(@shift/O output/add))
|
||||
|
|
|
|||
|
|
@ -1,13 +1,12 @@
|
|||
(module :transport
|
||||
(name "Transport")
|
||||
(info "A JACK transport controller.")
|
||||
(keys :clock)
|
||||
(keys :global)
|
||||
(mode :transport
|
||||
(name Transport)
|
||||
(info A JACK transport controller.)
|
||||
(keys :clock :global)
|
||||
:view/transport)
|
||||
|
||||
(module :arranger
|
||||
(name "Arranger")
|
||||
(info "A grid of launchable clips arranged by track and scene.")
|
||||
(mode :arranger
|
||||
(name Arranger)
|
||||
(info A grid of launchable clips arranged by track and scene.)
|
||||
(mode :editor (keys :editor))
|
||||
(mode :dialog (keys :dialog))
|
||||
(mode :message (keys :message))
|
||||
|
|
@ -19,27 +18,27 @@
|
|||
(mode :track (keys :track))
|
||||
(mode :scene (keys :scene))
|
||||
(mode :mix (keys :mix))
|
||||
(keys :clock)
|
||||
(keys :arranger)
|
||||
(keys :global)
|
||||
(keys :clock :arranger :global)
|
||||
(bsp/w :view/meters/output
|
||||
(bsp/e :view/meters/input
|
||||
(stack/n (fixed/y 2 :view/status/h2) :view/tracks/inputs
|
||||
(stack/s :view/tracks/devices :view/tracks/outputs :view/tracks/names
|
||||
(stack/n
|
||||
(fixed/y 2 :view/status/h2)
|
||||
:view/tracks/inputs
|
||||
(stack/s
|
||||
:view/tracks/devices
|
||||
:view/tracks/outputs
|
||||
:view/tracks/names
|
||||
(fill/xy (either :mode/editor
|
||||
(bsp/e :view/scenes/names :view/editor)
|
||||
:view/scenes)))))))
|
||||
|
||||
(module :groovebox
|
||||
(name "Groovebox")
|
||||
(info "A sequencer with built-in sampler.")
|
||||
(mode :groovebox
|
||||
(name Groovebox)
|
||||
(info A sequencer with built-in sampler.)
|
||||
(mode :browser (keys :browser))
|
||||
(mode :rename (keys :pool-rename))
|
||||
(mode :length (keys :pool-length))
|
||||
(keys :clock)
|
||||
(keys :editor)
|
||||
(keys :sampler)
|
||||
(keys :global)
|
||||
(keys :clock :editor :sampler :global)
|
||||
(bsp/w :view/meters/output
|
||||
(bsp/e :view/meters/input
|
||||
(bsp/w
|
||||
|
|
@ -54,24 +53,21 @@
|
|||
(bsp/e :view/samples/keys
|
||||
:view/editor)))))))
|
||||
|
||||
(module :sampler
|
||||
(name "Sampler")
|
||||
(info "A sampling soundboard.")
|
||||
(keys :sampler)
|
||||
(keys :global)
|
||||
(mode :sampler
|
||||
(name Sampler)
|
||||
(info A sampling soundboard.)
|
||||
(keys :sampler :global)
|
||||
(bsp/s (fixed/y 1 :view/transport)
|
||||
(bsp/n (fixed/y 1 :view/status)
|
||||
(fill/xy :view/samples/grid))))
|
||||
|
||||
(module :sequencer
|
||||
(name "Sequencer")
|
||||
(info "A MIDI sequencer.")
|
||||
(mode :sequencer
|
||||
(name Sequencer)
|
||||
(info A MIDI sequencer.)
|
||||
(mode :browser (keys :browser))
|
||||
(mode :rename (keys :pool-rename))
|
||||
(mode :length (keys :pool-length))
|
||||
(keys :editor)
|
||||
(keys :clock)
|
||||
(keys :global)
|
||||
(keys :editor :clock :global)
|
||||
(bsp/s (fixed/y 1 :view/transport)
|
||||
(bsp/n (fixed/y 1 :view/status)
|
||||
(fill/xy (bsp/a (fill/xy (align/e :view/pool))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue