feat(users/Profpatsch/lyric): add vscode extension & helpers
* tap-bpm: simple CLI program that accepts key inputs and averages a BPM value * lyric-timing-mpv-script: If you press Ctrl+l, mpv attaches the current timestamp to a .lrc file named after the song. This is for manually timing missing songs for uploading them to https://lrclib.net/ * extension: vscode extension for `.lrc` files, currently with the following features: 1. A “jump to LRC position” command which reads an .lrc timestamp from the current line and expects mpv to listen on `~/tmp/mpv-socket` (via `--input-ipc-server`), and will seek to the exact timestamp (down to the ms) in the currently playing song. 2. Some initial linting warnings - A lint that warns if the difference to the next timestamp is more than 10s (which usually means there’s an instrumental and the previous line is stuck) - A lint that checks that timestamps are monotonically increasing Change-Id: I32a4ac0e2c5bbe3d94e45ffcf647f81bc7c08aa0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12537 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
This commit is contained in:
parent
970dcaa04f
commit
9bec21ea1c
17 changed files with 643 additions and 0 deletions
16
users/Profpatsch/lyric/src/index.ts
Normal file
16
users/Profpatsch/lyric/src/index.ts
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
import { tapBpm } from "./tap-bpm.js";
|
||||
|
||||
async function main() {
|
||||
// subcommand for tap-bpm
|
||||
if (process.argv[2] === "tap-bpm") {
|
||||
await tapBpm();
|
||||
}
|
||||
}
|
||||
|
||||
await main();
|
||||
|
||||
// sleep in a loop to block nodejs
|
||||
console.log("Blocking event loop...");
|
||||
while (true) {
|
||||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue