mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 19:56:42 +01:00
the definitions are unified alright. it's just not supported yet :D the idea being that tek offers to write out the default configs to ~/.config/tek-v0 where the user can customize them.
This commit is contained in:
parent
9e147cda69
commit
3c8616deba
43 changed files with 441 additions and 465 deletions
167
config/bindings.edn
Normal file
167
config/bindings.edn
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
(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))
|
||||
|
||||
(module :clock
|
||||
(@space clock/toggle 0)
|
||||
(@shift/space clock/toggle 0))
|
||||
|
||||
(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))
|
||||
|
||||
(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))
|
||||
|
||||
(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))
|
||||
|
||||
(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))
|
||||
|
||||
(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 :message
|
||||
(@esc message/dismiss)
|
||||
(@enter message/dismiss))
|
||||
|
||||
(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))
|
||||
|
||||
(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,31 +0,0 @@
|
|||
(name
|
||||
"Arranger")
|
||||
(info
|
||||
"A grid of launchable clips arranged by track and scene.")
|
||||
(keys
|
||||
(cond :focus-editor (load "./keys_editor.edn"))
|
||||
(cond :focus-dialog (load "./keys_dialog.edn"))
|
||||
(cond :focus-message (load "./keys_message.edn"))
|
||||
(cond :focus-device-add (load "./keys_device_add.edn"))
|
||||
(cond :focus-browser (load "./keys_browser.edn"))
|
||||
(cond :focus-pool-rename (load "./keys_rename.edn"))
|
||||
(cond :focus-pool-length (load "./keys_length.edn"))
|
||||
(cond :focus-clip (load "./keys_clip.edn"))
|
||||
(cond :focus-track (load "./keys_track.edn"))
|
||||
(cond :focus-scene (load "./keys_scene.edn"))
|
||||
(cond :focus-mix (load "./keys_mix.edn"))
|
||||
(load "./keys_clock.edn")
|
||||
(load "./keys_arranger.edn")
|
||||
(load "./keys_global.edn"))
|
||||
(view
|
||||
(bsp/a :view-dialog
|
||||
(bsp/w :view-meters-output
|
||||
(bsp/e :view-meters-input
|
||||
(bsp/n (fixed/y 2 :view-status-h2)
|
||||
(bsp/n :view-tracks-inputs
|
||||
(bsp/s :view-tracks-devices
|
||||
(bsp/s :view-tracks-outputs
|
||||
(bsp/s :view-tracks-names
|
||||
(fill/xy (either :focus-editor
|
||||
(bsp/e :view-scenes-names :view-editor)
|
||||
:view-scenes)))))))))))
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
(name "Groovebox")
|
||||
|
||||
(info "A sequencer with built-in sampler.")
|
||||
|
||||
(keys
|
||||
(layer-if :focus-browser "./keys_browser.edn")
|
||||
(layer-if :focus-pool-rename "./keys_rename.edn")
|
||||
(layer-if :focus-pool-length "./keys_length.edn")
|
||||
(layer "./keys_clock.edn")
|
||||
(layer "./keys_editor.edn")
|
||||
(layer "./keys_sampler.edn")
|
||||
(layer "./keys_global.edn"))
|
||||
|
||||
(view (bsp/a :view-dialog (bsp/w :view-meters-output (bsp/e :view-meters-input
|
||||
(bsp/w
|
||||
(fill/y (align/n
|
||||
(bsp/s :view-midi-ins-status
|
||||
(bsp/s :view-midi-outs-status
|
||||
(bsp/s :view-audio-ins-status
|
||||
(bsp/s :view-audio-outs-status
|
||||
:view-pool))))))
|
||||
(bsp/n
|
||||
(fixed/y :h-sample-detail
|
||||
(bsp/e (fill/y (fixed/x 20 (align/nw :view-sample-status)))
|
||||
:view-sample-viewer))
|
||||
(bsp/e
|
||||
(fill/y (align/n (bsp/s :view-status-v :view-editor-status)))
|
||||
(bsp/e :view-samples-keys :view-editor))))))))
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
(name "Sampler")
|
||||
|
||||
(info "A sampling soundboard.")
|
||||
|
||||
(keys
|
||||
(layer "./keys_sampler.edn")
|
||||
(layer "./keys_global.edn"))
|
||||
|
||||
(view
|
||||
(bsp/a :view-dialog
|
||||
(bsp/s (fixed/y 1 :view-transport)
|
||||
(bsp/n (fixed/y 1 :view-status)
|
||||
(fill/xy :view-samples-grid)))))
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
(name "Sequencer")
|
||||
|
||||
(info "A MIDI sequencer.")
|
||||
|
||||
(keys
|
||||
(layer-if :focus-browser "./keys_browser.edn")
|
||||
(layer-if :mode-pool-rename "./keys_rename.edn")
|
||||
(layer-if :mode-pool-length "./keys_length.edn")
|
||||
(layer "./keys_editor.edn")
|
||||
(layer "./keys_clock.edn")
|
||||
(layer "./keys_global.edn"))
|
||||
|
||||
(view
|
||||
(bsp/a :view-dialog
|
||||
(bsp/s (fixed/y 1 :view-transport)
|
||||
(bsp/n (fixed/y 1 :view-status)
|
||||
(fill/xy (bsp/a
|
||||
(fill/xy (align/e :view-pool))
|
||||
:view-editor)))))
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
(name "Transport")
|
||||
|
||||
(info "A JACK transport controller.")
|
||||
|
||||
(keys
|
||||
(layer "./keys_clock.edn")
|
||||
(layer "./keys_global.edn"))
|
||||
|
||||
(view :view-transport)
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
(@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 open :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)
|
||||
|
|
@ -1 +0,0 @@
|
|||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
(@escape browser cancel)
|
||||
(@return browser confirm)
|
||||
(@up browser set-cursor :browser-cursor-prev)
|
||||
(@down browser set-cursor :browser-cursor-next)
|
||||
(@right browser set-address :browser-address-selected)
|
||||
(@left browser set-address :browser-address-parent)
|
||||
(:char browser append-to-search ;char)
|
||||
(@backspace browser delete-from-search :last)
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
(@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)
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
(@space clock toggle-playback 0)
|
||||
(@shift-space clock toggle-playback 0)
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
(@up toggle-dialog :dialog-device-prev)
|
||||
(@down toggle-dialog :dialog-device-next)
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
(@left editor set-time-pos :time-pos-prev)
|
||||
(@shift-left editor set-time-pos :time-pos-prev-fine)
|
||||
(@right editor set-time-pos :time-pos-next)
|
||||
(@shift-right editor set-time-pos :time-pos-next-fine)
|
||||
|
||||
(@equal editor set-time-zoom :time-zoom-prev)
|
||||
(@minus editor set-time-zoom :time-zoom-next)
|
||||
(@plus editor set-time-zoom :time-zoom-next-fine)
|
||||
(@underscore editor set-time-zoom :time-zoom-prev-fine)
|
||||
|
||||
(@z editor set-time-lock)
|
||||
|
||||
(@up editor set-note-pos :note-pos-next)
|
||||
(@down editor set-note-pos :note-pos-prev)
|
||||
(@pgup editor set-note-pos :note-pos-next-octave)
|
||||
(@pgdn editor set-note-pos :note-pos-prev-octave)
|
||||
|
||||
(@comma editor set-note-len :note-len-prev)
|
||||
(@period editor set-note-len :note-len-next)
|
||||
(@lt editor set-note-len :note-len-prev)
|
||||
(@gt editor set-note-len :note-len-next)
|
||||
|
||||
(@a editor append-note :true)
|
||||
(@enter editor append-note :false)
|
||||
(@del editor delete-note)
|
||||
(@shift-del editor delete-note)
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
(@esc dialog :dialog-none)
|
||||
(@f1 dialog :dialog-help)
|
||||
(@f6 dialog :dialog-save)
|
||||
(@f8 dialog :dialog-options)
|
||||
(@f9 dialog :dialog-load)
|
||||
(@f10 dialog :dialog-quit)
|
||||
|
||||
(@u undo 1)
|
||||
(@r redo 1)
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
(@r sampler record/toggle :sample)
|
||||
(@tab focus-next)
|
||||
(@shift-tab focus-prev)
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
(@up inc)
|
||||
(@down dec)
|
||||
(@right next)
|
||||
(@left prev)
|
||||
(@return set :length)
|
||||
(@escape cancel)
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
(@esc message dismiss)
|
||||
(@enter message dismiss)
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
(@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)
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
(@up select :prev)
|
||||
(@down select :next)
|
||||
(@right chdir :selected)
|
||||
(@left chdir :parent)
|
||||
(@return confirm)
|
||||
(@escape cancel)
|
||||
(:char append :char)
|
||||
(@backspace delete :last)
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
(:char append :char)
|
||||
(@backspace delete :last)
|
||||
(@return confirm)
|
||||
(@escape cancel)
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
(@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)
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
(@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)
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
(@c color)
|
||||
(@q launch)
|
||||
(@shift-I input add)
|
||||
(@shift-O output add)
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
(@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)
|
||||
74
config/templates.edn
Normal file
74
config/templates.edn
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
(module :transport
|
||||
(name "Transport")
|
||||
(info "A JACK transport controller.")
|
||||
(bind :keys/clock)
|
||||
(bind :keys/global)
|
||||
:view/transport)
|
||||
|
||||
(module :arranger
|
||||
(name "Arranger")
|
||||
(info "A grid of launchable clips arranged by track and scene.")
|
||||
(bind :keys/editor :focused/editor)
|
||||
(bind :keys/dialog :focused/dialog)
|
||||
(bind :keys/message :focused/message)
|
||||
(bind :keys/device_add :focused/device-add)
|
||||
(bind :keys/browser :focused/browser)
|
||||
(bind :keys/rename :focused/pool-rename)
|
||||
(bind :keys/length :focused/pool-length)
|
||||
(bind :keys/clip :focused/clip)
|
||||
(bind :keys/track :focused/track)
|
||||
(bind :keys/scene :focused/scene)
|
||||
(bind :keys/mix :focused/mix)
|
||||
(bind :keys/clock)
|
||||
(bind :keys/arranger)
|
||||
(bind :keys/global)
|
||||
:view/dialog
|
||||
(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
|
||||
(fill/xy (either :focused/editor
|
||||
(bsp/e :view/scenes/names :view/editor)
|
||||
:view/scenes)))))))
|
||||
|
||||
(module :groovebox
|
||||
(name "Groovebox")
|
||||
(info "A sequencer with built-in sampler.")
|
||||
(bind :keys/browser :focused/browser)
|
||||
(bind :keys/rename :focused/pool-rename)
|
||||
(bind :keys/length :focused/pool-length)
|
||||
(bind :keys/clock)
|
||||
(bind :keys/editor)
|
||||
(bind :keys/sampler)
|
||||
(bind :keys/global)
|
||||
:view/dialog
|
||||
(bsp/w :view/meters/output (bsp/e :view/meters/input (bsp/w (fill/y (align/n (stack/s :view/midi-ins/status
|
||||
:view/midi-outs/status
|
||||
:view/audio-ins/status
|
||||
:view/audio-outs/status
|
||||
:view/pool)))
|
||||
(bsp/n (fixed/y :h-sample-detail (bsp/e (fill/y (fixed/x 20 (align/nw :view/sample-status))) :view/sample-viewer))
|
||||
(bsp/e (fill/y (align/n (bsp/s :view/status/v :view/editor-status))) (bsp/e :view/samples/keys :view/editor)))))))
|
||||
|
||||
(module :sampler
|
||||
(name "Sampler")
|
||||
(info "A sampling soundboard.")
|
||||
(bind :keys/sampler)
|
||||
(bind :keys/global)
|
||||
:view/dialog
|
||||
(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.")
|
||||
(bind :keys/browser :focused/browser)
|
||||
(bind :keys/rename :mode/pool-rename)
|
||||
(bind :keys/length :mode/pool-length)
|
||||
(bind :keys/editor)
|
||||
(bind :keys/clock)
|
||||
(bind :keys/global)
|
||||
:view/dialog
|
||||
(bsp/s (fixed/y 1 :view/transport) (bsp/n (fixed/y 1 :view/status)
|
||||
(fill/xy (bsp/a (fill/xy (align/e :view/pool)) :view/editor)))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue