congo~

help

the lyrics live in this app now. the markdown in ~/notes/zen/music/congo seeded the database once and is still mounted read-only — congo has never written to it and does not start now. dump writes every song back out as markdown, outside the container, which is the copy that is not in the database.

commands

the bar is a command line. it resolves on the server, so every command here works with javascript switched off -- type it and press enter. a "?" in a search is an ordinary character, never a wildcard.

moving around

cd wanga
into an album
cd ..
up one level
~
home, the album index
ls
list what is here, without going anywhere
ls -l
the same, with counts. l is shorthand
ls -t
albums newest first, by the release linked to each. -r reverses it, so ls -ltr works
ls -g christian
only the albums holding a word the glossary files under one of its categories

making something new

mkdir a-record
start an album the corpus has no directory for. it lives in the database and reaches the notes through dump
rmdir a-record
remove one. refused if anything has been transcribed in it
rm the-fool
remove a tarot card. refused if anything is written on it. the picture stays
g add ziran - self so
a word the glossary does not have. g add daoist/ziran picks the heading from the bar, and a heading that does not exist yet is typed on the page
g edit dao
change one: its name, its heading, what it means, and the spellings it is matched by
g rm ziran
remove one. the lyrics are not touched — a mention is derived

opening a song

cat a-door
print a song without leaving for it
v a-door
open a song. vim works too
e a-door
edit a song. bare e edits the one you are reading
ln a-door
the link to send somebody: one song, at an address nobody can guess, and revocable. if it already exists it goes to the clipboard. bare ln is the song you are reading

searching

/wanga
search the corpus. a bare word searches too
grep dao
search, for the fingers that type it
wc
word counts. wc jah for one word

the other pages

g
the glossary. g dao goes straight to a term
?
the uncertainties, scoped to where you are
dump
write every song back out as markdown, outside the container. export works too
help
this page. h works too

arguments match exactly first, then on a prefix, then anywhere -- so v inner reaches the inner- songs. a word that merely starts with a command name is still a search: love, cdr and goobi all search.

commands

keys at the bar

tab
complete as far as the candidates agree, then walk them
tab after -g
the glossary categories, since that is what the flag takes
shift tab
walk them backwards
↑ ↓
the same walk, and enter follows it
/
focus the bar from anywhere on the page
esc
close the list, then hand the page back to the keyboard
` or ctrl k
the palette: the bar, enlarged

the bar holds the cursor when a page loads, so you can just type

keys at the bar

marks in a lyric

a term
a glossary word. it links to what the glossary says
a guess?
chad is unsure he heard this right

neither marking changes a letter of the line. a "?" is evidence about a sound, not a typo, and it is never stripped or corrected anywhere in this app.

marks in a lyric

uncertainties

every word marked ? in the corpus, in one place, with whatever has been concluded about it. ? in the bar goes there scoped to where you are: from a song it means that song, from an album that album.

the four ways a word can be uncertain

i tune? the wanga
trailing — the word is a phonetic guess at a real vocal
nerve ? fires
bare — a word was heard and not made out at all
?some think it's
leading — an unheard word runs into the next, so the boundary itself is in doubt
with ghosts (goats?)
parenthetical — a competing reading already written down

the letters around a ? are evidence about a sound, not a typo, and nothing in this app strips or corrects one.

what one of them shows

the line
and the two either side, because the word boundary may be what is wrong rather than the word
the same shape
elsewhere in the corpus. the same sound heard three times is worth more than one guess
glossary terms
that sound like it. an unknown word is more often a term from one of the traditions than a mishearing
readings
what has been suggested so far, and why

working one out

suggest
write down a reading and the reason — syllables, stress, a term it might be
resolve with this
pick one. it records the decision and nothing else
reopen
take the decision back

resolving does not touch the lyric. the app records what was concluded and the edit in the file is yours — the same division as everywhere else here, where nothing rewrites a line you did not rewrite.

the list

worst first
the ones nothing is known about, before the ones with a reading
by song
in file order instead, for working through one song
outstanding · resolved
which half of them to look at

a reading survives you editing the line it is about. it is anchored to the line's text and which occurrence of the token it is, not to a line number, because refining the spelling around a ? is the work — if a line moves far enough that the match is uncertain, it is flagged for review and put first rather than quietly dropped.

uncertainties

the editor

ways in

e a-door
open that song for editing
e
edit the one you are reading
the same press, at the end of every transcribed row in a listing and above a lyric

what you are holding

the file itself
trailing spaces, dialect spellings, every ?. nothing here strips or corrects a character of it
the body only
not the title, the track number, or which album it belongs to
the editor

writing

the commands

w
write. the page stays where it is
wq
write and go back to reading it. x works too
q
leave. refused if there is unwritten work
q!
leave and throw away what was typed. Q works too
w!
write over a version saved since this one was opened

worth knowing

the colon
optional. w and :w are the same thing
the buttons
the three beside the line say the same three things, so the editor works with javascript switched off
a changed song
if it was saved by anything else while you had it open, the write is refused rather than quietly winning. w! is how you insist
writing

keys in the buffer

the keys

ctrl s
write, for the hand that reaches for it. the same as w
esc
hand over to the editor's : line
ctrl space
play and pause
ctrl j
back five seconds
ctrl k
forward five seconds
ctrl '
loop the six seconds just heard. again to stop

worth knowing

the cursor
the buffer holds it when the page loads, so you can just type
only in the buffer
everywhere else ctrl k opens the palette, and the transport at the foot is there to be clicked
inside a loop
ctrl j and ctrl k move the whole window instead of seeking, so you walk it onto the word rather than aiming at it
the line below
a press goes somewhere else entirely, and says the time it would land on before you commit to it
the panes beside
the glossary and the uncertainties are as of the last write, not of what is on the screen
keys in the buffer

the player

what it is
congo plays nothing itself. it drives spotify, so spotify has to be running somewhere
one device
an account plays in one place at a time, so starting something here pauses whatever else it was on
a round trip
every command goes to spotify and back, which is why a loop comes round with a small gap in it rather than seamlessly
press, not drag
the line jumps to where you press it. dragging would be silent aiming -- you would hear nothing while you moved
the player