You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
lrclib.net client, basically looks in current directory for audio files and pulls the lrc for the song if it exists from lrclib.net. Quick poc atm but I have this because I can't run lrcget on a remote server lol because it has no gui.
3
+
4
+
## Usage
5
+
Simply run:
6
+
```
7
+
lrcsync
8
+
```
9
+
in a directory with audio files and for audio files with metadata it'll look them up on lrclib.net and if there is a specific match it'll pull them.
10
+
11
+
For a more "loose" search you can use the `--search` flag, this will use the search endpoint which can account for different punctuation, misspellings, and case. You can also use `--ignore` to ignore certain properties when searching, for example to ignore the artist name you can do:
12
+
```bash
13
+
lrcsync --search --ignore artist --tolerance 3.0
14
+
```
15
+
When search is used as a fallback it will try to match by closest duration. The `--tolerance` flag can be used to set a tolerance in seconds, any results exceeding this threshold will be ignored.
#[arg(short = 'f', long = "force", default_value_t = false, help = "overwrite existing lrc files")]
16
17
pubforce:bool,
17
18
#[arg(short = 'i', long = "ignore", value_parser, num_args = 1, help = "ignore the follow properties when searching lrclib by not sending them, comma seperated")]
18
-
pubignore:Vec<String>
19
+
pubignore:Vec<String>,
20
+
#[arg(short = 's', long = "search", default_value_t = false, help = "use searching on lrclib as a fallback")]
21
+
pubsearch:bool,
22
+
#[arg(short = 't', long = "tolerance", default_value_t = 5.0, help = "tolerance in seconds for searching lrclib")]
println!("Searched lrc (found {}secs vs actual {}secs out of {} filtered results) for {}",canidates[0].duration,lrc_query.duration.unwrap_or(-1.0), canidates.len(), entry.path().display());
0 commit comments