diff options
author | Profpatsch <mail@profpatsch.de> | 2024-09-27T23·30+0200 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2024-10-05T13·49+0000 |
commit | 9bec21ea1cb9137d8c5dae6ee2cb78aac1b5601a (patch) | |
tree | ec649db1716bc7b0a7a5d42b8adb4f0c81410659 /users/Profpatsch/lyric/src/index.ts | |
parent | 970dcaa04f3c4bda473674f7e7bb2d2d87ab13e8 (diff) |
feat(users/Profpatsch/lyric): add vscode extension & helpers r/8759
* 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>
Diffstat (limited to 'users/Profpatsch/lyric/src/index.ts')
-rw-r--r-- | users/Profpatsch/lyric/src/index.ts | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/users/Profpatsch/lyric/src/index.ts b/users/Profpatsch/lyric/src/index.ts new file mode 100644 index 000000000000..6bab1c4590cd --- /dev/null +++ b/users/Profpatsch/lyric/src/index.ts @@ -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)); +} |