beetbox / beetbox/beets

Choose which albums to remove/merge when adding duplicates

Open
#2,809 1 comment 2 reactions 0 assignees View on GitHub
feature
Dominant language
Python
Stars
15.7k
Forks
2.1k
Avg merge
4d 21h
Merged PRs (30d)
31

Description

Note: I added this to the discussion board, and the main dev asked me to add it here, too. That's why you may be seeing it again.

When I import a “duplicate” album, sometimes I already have multiple versions of the album in the database. When I choose the “remove old” version, I’d like a way to pick which ones will be removed.

For example, I have both the original and extended (2cd) versions of Pablo Honey by Radiohead. Then I downloaded the original again, but in FLAC instead of MP3. I wanted to remove the old MP3 version of the original release and replace it with the new FLAC version, but NOT remove the MP3 extended version. Currently, it’s all or none.

How could this feature be implemented properly and in a user-friendly way?

Well, I’m not sure about the coding part of this. However, I think that when showing the duplicates available, they should be numbered (and also have their unique ID shown, but that’s another request). The prompt should say something like “Skip New, Keep both, keep Some, Remove old, Merge all”. When you select “keep Some” or S, it should ask “what numbers?” Then you provide (in one command) what numbers to keep. So if I want to keep 1, 3, and 14, I input “1 3 14”.

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or code entry points. Start by tracing the duplicate-album import prompt and its existing remove-old handling. Done should let users choose specific numbered albums to keep or remove without affecting other versions, but the interaction design still needs agreement.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.