tek/config/binds.edn
unspeaker 4d4c470a81 load up to modes
the stacked modal music editor. lol
2025-08-10 15:30:25 +03:00

164 lines
4.9 KiB
Clojure

(def :keys/cancel
(@escape cancel))
(def :keys/delete
(@delete delete))
(def :keys/history
(@u undo 1) (@r redo 1))
(def :keys/nextprev
(@comma prev) (@period next))
(def :keys/swap
(@lt swap/prev) (@gt swap/next))
(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)
(@backspace browser/filter/delete :last))
(module :device/add
(@up dialog :dialog/device/prev)
(@down dialog :dialog/device/next))
(module :editor
(@left editor/time/set :time/pos/prev)
(@shift/left editor/time/set :time/pos/prev/fine)
(@right editor/time/set :time/pos/next)
(@shift/right editor/time/set :time/pos/next/fine)
(@equal editor/zoom/set :time/zoom/prev)
(@minus editor/zoom/set :time/zoom/next)
(@plus editor/zoom/set :time/zoom/next/fine)
(@underscore editor/zoom/set :time/zoom/prev/fine)
(@z editor/lock/set)
(@comma editor/length/set :note/len/prev)
(@period editor/length/set :note/len/next)
(@lt editor/length/set :note/len/prev)
(@gt editor/length/set :note/len/next)
(@up editor/pitch/set :note/pos/next)
(@down editor/pitch/set :note/pos/prev)
(@pgup editor/pitch/set :note/pos/next/octave)
(@pgdn editor/pitch/set :note/pos/prev/octave)
(@a editor/append :true)
(@enter editor/append :false)
(@del editor/delete/note)
(@shift/del editor/delete/note))
(module :groovebox
(@r sampler/record/toggle :sample)
(@tab focus/next)
(@shift/tab focus/prev))
(module :length
(@up inc)
(@down dec)
(@right next)
(@left prev)
(@return set :length)
(@escape cancel))
(module :pool
(@n rename/begin)
(@t length/begin)
(@m import/begin)
(@x export/begin)
(@c clip/color :clip :random/color)
(@openbracket select :clip/prev)
(@closebracket select :clip/next)
(@lt swap :clip :clip/prev)
(@gt swap :clip :clip/next)
(@delete clip/delete :clip)
(@shift/A clip/add :after :new/clip)
(@shift/D clip/add :after :cloned/clip))
(module :pool/file
(@up select :prev)
(@down select :next)
(@right chdir :selected)
(@left chdir :parent)
(@return confirm)
(@escape cancel)
(:char append :char)
(@backspace delete :last))
(module :rename
(:char append :char)
(@backspace delete :last)
(@return confirm)
(@escape cancel))