playr-app 0.17.0

What playr's Rust frontends share: actions, : commands, key bindings, settings and dispatch
# playr's default theme and key bindings, which both frontends read from
# settings.toml.
#
# The rest of the defaults are in crates/playr-core/src/settings.toml. The
# format is described in README.md, under Configuration.

# system, light or dark.
theme = "dark"

# Keys for every view. Each value is a : command; "nop" makes a key do nothing.
[keys]
q = "quit"
"?" = "keys"
":" = "command"
tab = "view next"
backtab = "view prev"
1 = "view library"
2 = "view queue"
3 = "view selection"
4 = "view playlists"
5 = "view sampler"
j = "down"
down = "down"
shift-down = "down"
k = "up"
up = "up"
shift-up = "up"
pagedown = "down 10"
pageup = "up 10"
g = "first"
home = "first"
G = "last"
end = "last"
enter = "play"
"/" = "search"
s = "save"
space = "pause"
n = "next"
p = "prev"
x = "stop"
R = "restart"
right = "seek +5"
left = "seek -5"
shift-right = "seek +30"
shift-left = "seek -30"
"+" = "volume +5"
"=" = "volume +5"
"-" = "volume -5"
_ = "volume -5"
")" = "speed +1"
"(" = "speed -1"
'\' = "speed 0"
m = "mode +"
M = "mode -"
b = "mark"
B = "mark-undo"
C = "mark-clear"
# In the sampler view these also select the mark and play it to the next.
"}" = "mark-next"
"{" = "mark-prev"
# The sampler takes these for slices.
"." = "mark-next"
"," = "mark-prev"

# Keys for one view, which win there over the keys above.
[keys.library]
a = "toggle"
A = "enqueue all"
e = "enqueue"
E = "enqueue next"
esc = "search-clear"

[keys.selection]
d = "remove"
backspace = "remove"
delete = "remove"
A = "enqueue all"
e = "enqueue"
E = "enqueue next"
J = "move +1"
K = "move -1"
shift-down = "move +1"
shift-up = "move -1"
c = "clear"

[keys.queue]
a = "add"
d = "remove"
backspace = "remove"
delete = "remove"
c = "clear"
J = "move +1"
K = "move -1"
shift-down = "move +1"
shift-up = "move -1"

[keys.playlists]
a = "add"
o = "edit"
e = "enqueue"
E = "enqueue next"
d = "delete"
r = "rename"

[keys.sampler]
z = "zoom +"
Z = "zoom -"
0 = "zoom all"
w = "display"
enter = "write"
esc = "discard"
# Finer than seeking: a column, or a tenth of the view.
right = "nudge +1"
left = "nudge -1"
shift-right = "nudge +10%"
shift-left = "nudge -10%"
S = "snap"
f = "fit"
# Back to the whole range after [ or ] centred the view on one end.
"|" = "fit on"
i = "in"
o = "out"
l = "loop"
# Loops kept with the track: F1-F8 recall one, or save the range to an empty
# one; with shift, save the range over it.
f1 = "loop 1"
f2 = "loop 2"
f3 = "loop 3"
f4 = "loop 4"
f5 = "loop 5"
f6 = "loop 6"
f7 = "loop 7"
f8 = "loop 8"
shift-f1 = "loop 1 save"
shift-f2 = "loop 2 save"
shift-f3 = "loop 3 save"
shift-f4 = "loop 4 save"
shift-f5 = "loop 5 save"
shift-f6 = "loop 6 save"
shift-f7 = "loop 7 save"
shift-f8 = "loop 8 save"
# Hear the selection, or the range, slice or region, once.
a = "audition"
# Step through planned slices, hearing each once.
"," = "audition prev"
"." = "audition next"
# { and } select a mark, [ and ] a range end; these act on the selection.
"[" = "edge start"
"]" = "edge end"
"<" = "move -1"
">" = "move +1"
"#" = "onset"
backspace = "remove"
D = "deselect"
u = "undo"
r = "redo"