Repository navigation
Conversation
Where a file's own name says something other than the track's names, the check offered a pair of radio buttons, the tags or the file name, and one button that took the file name for the ones switched, in the collection only. Often neither answer is quite it: the fingerprint is right and the file name is a mess, or the file name is right and wants an edit's title. There was no way to say so, and no way to fix the file itself. Now each of those rows shows both answers, each with a use button that puts it in the boxes below, and the boxes: the artist, the title and the file name the track is to have, typed into freely, with after the names to fill the file name in as Artist - Title. A row changes nothing until its Change box is ticked, and typing in it ticks it, because nobody types a name they mean to leave unused; untick it and the track is left alone whatever the boxes say. Change N ticked tracks then renames each ticked file on disk, carrying any lyric file beside it under the same name, puts the names in the collection, and writes them into the file's own tags wherever those say something else. That makes this the one place the check writes to somebody's files, where before nothing in it did. It is a row they ticked and typed into rather than a button that sweeps, and Take the files' word still never touches it. The tags go straight into the tag queue rather than through the question write_tags asks when a name looks nothing like its file: the person who typed both has answered it. The names are then the file's, so a fingerprint that disagrees later asks before replacing them. Refused before anything happens, so that one bad row changes nothing rather than half of what was asked: a file name a FAT or exFAT stick will not take (/ \ : * ? " < > |, control characters, a dot at the end), since a file keeps its name on a drive; a file name that is taken, or that two rows both want; and a track left without an artist or a title. The button is not offered while a ticked row has a problem it can see, and the row says what the problem is. Renaming a file now takes the lyric file beside it along, which the other rename, of copies whose names a copier wrote, gets too; and a name that differs only in case is not taken on a disk that ignores case, since it is the same file. sheet_height's doc comment had been left above roughly, as follow_playback's was; it is back on its own function. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LJ1hQiKvHsnknZHKam52Ct
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In Check, a track whose file's own name says something other than its names (often names from AcoustID) got a pair of radio buttons: the tags, or the file name. One button took the file name for the ones switched, in the collection only. Often neither answer is quite right: the fingerprint is right and the file name is a mess, or the file name is right and wants an edit's title. There was no way to say so, and no way to fix the file itself. Now each of those rows can be ticked and typed into.
What a row is now
Why it's right
This is now the one place the check writes to your files, where before nothing in it did. The README promised that, and it's been rewritten to say what's true now. What makes it acceptable is that it's a row someone ticked and typed into, not a button that sweeps. Take the files' word still never touches these rows.
The tags skip the question
write_tagsasks when a name looks nothing like its file (the "N files to check before tagging" sheet). The person who typed both the names and the file name has already answered it, so asking again is noise. The names are then what the file says, so the track is marked as having names from its tags, and a fingerprint that disagrees later asks before replacing them.Refused before anything happens, so one bad row changes nothing at all instead of half of what was asked:
/ \ : * ? " < > |, control characters, or a dot at the end. A file keeps its name when it goes on a drive, so a name the stick refuses would be found out on the night;The button isn't offered while a ticked row has a problem it can see, and the row says what the problem is.
Also
.lrcor.txtbeside the track under its name would otherwise be orphaned. This lives inrename_files, so the other rename (copies whose names a copier wrote) gets it too.sheet_height's doc comment had been left aboveroughly, the same wayfollow_playback's was. It's back on its own function.Tests
egui_kittest): typing in the artist box ticks the row; use puts the file name's answer in the boxes; after the names fills the file name; unticking leaves the boxes but clears the tick.file_name_problemandfile_name_forinverify.rs.What lost
:is fine on macOS and fails on the stick.Worth a second opinion
Gates:
cargo fmt --all --check,cargo clippy --workspace --all-targets -- -D warningsandenv -u BOOTH_WHISPER_MODEL -u BOOTH_WHISPER_BIN cargo test --workspaceall pass. The tests ran without debug info to fit this session's disk.Generated by Claude Code