playr-app 0.13.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"
"." = "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"
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]
d = "dequeue"
c = "queue-clear"
J = "reorder +1"
K = "reorder -1"
shift-down = "reorder +1"
shift-up = "reorder -1"

[keys.playlists]
a = "add"
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"
# Shift-comma and shift-period on a US layout, beside the mark keys.
"<" = "in"
">" = "out"
backspace = "range"
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 range, slice or region once, without leaving it playing.
a = "audition"
# Step through planned slices, hearing each once; tracks skip with :next.
n = "audition next"
p = "audition prev"
# The cursor, which is apart from the playhead: a column at a time, or home
# to the playhead again.
";" = "cursor -1"
"'" = "cursor +1"
h = "cursor off"
# y u i o: the inner pair moves the cursor to a mark, the outer pair moves the
# mark it landed on.
u = "mark-pick prev"
i = "mark-pick next"
y = "mark-nudge -1"
o = "mark-nudge +1"
"#" = "mark-snap"
delete = "mark-rm"
# Pick a range end, then move it a column at a time.
"[" = "edge start"
"]" = "edge end"
"{" = "edge -1"
"}" = "edge +1"