beetbox / beets

music library manager and MusicBrainz tagger
http://beets.io/
MIT License
12.92k stars 1.82k forks source link

UI: Rename 'remove' autotagger command to 'delete' #940

Open gwern opened 10 years ago

gwern commented 10 years ago

While importing my music collection in order to clean up its metadata, for some reason (possibly because of a config option, possibly because I organize my collection as flat folders of artists, not folders of albums), I kept getting prompted again and again about albums already being in the database; I usually hit 'keep' but was unsure what I was doing. I had read the duplicates section of the manual but it didn't really make the issues clear to me:

Beets wants to keep you safe from duplicates, which can be a real pain, so you have three choices in this situation. You can skip importing the new music, choosing to keep the stuff you already have in your library; you can keep both the old and the new music; or you can remove the existing music and choose the new stuff. If you choose that last “trump” option, any duplicates will be removed from your library database—and, if the corresponding files are located inside of your beets library directory, the files themselves will be deleted as well.

I had specified in my config that

import:
        resume: yes
        write: yes
        copy: no
        languages: en
        group_albums: yes

So I reasoned that the 'remove' probably meant something like beets was finding two albums of the same name but different MusicBrain unique IDs and hitting 'remove' meant I was reusing the original unique ID. Or something like that. It wouldn't mean that it was deleting the files because I had specifically told beet to leave my music in place with copy: no although it was allowed to write tags.

After a while I noticed that a bunch of my music files were gone. Apparently 'remove album' actually meant 'delete track'. Fortunately I had expected something like this to happen and had made a backup right before starting so I'm amused rather than angry, but I think maybe the manual could place more emphasis on the 'it will delete your files yo' and the autotager interface could explicitly call it 'delete'.

sampsyo commented 10 years ago

Making it clearer that files will be deleted does make sense.

BTW:

possibly because I organize my collection as flat folders of artists, not folders of albums

It's this. Check those importer docs—beets expects albums to be grouped into folders. If that's not what you have, you probably want to consider -s for singleton mode or possibly --group-albums.

gwern commented 10 years ago

If that's not what you have, you probably want to consider -s for singleton mode or possibly --group-albums.

I'll give those a try next time.

sampsyo commented 10 years ago

This is actually somewhat trickier than I first imagined. We only delete files that are inside your library directory, so here "remove" can either mean "delete" or "drop from database". The former is the common case, though, so maybe it's worth changing the wording in order to be less wrong?

Also, this is minor, but we need to keep the option's shortcut as "R" so that people's muscle memory stays compatible. So if the name does adapt, it should be listed as "Remove (delete)" or somesuch.