beetbox / beetbox/beets

convert: Embed cover art from original files

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

Description

### Use case

I'm trying to use beets to sync/transcode my music library to my phone. I have a large music library with many FLAC files, which I'd like to transcode. The source files' tags are all clean, **album covers are embedded into the source files**.

### Solution

I'd like to use the convert plugin to transcode my music library to my phone. This is the config I am using:

```yaml
convert:
never_convert_lossy_files: yes
dest: /mnt/mtp/SD/Music
embed: yes
```

The issue is that `embed=yes` does not re-embed the cover art from the source files. So the transcoded files end up without embedded cover art, which is not very intuitive. It would be more logical if beets (the convert plugin) would embed the same cover art from the source file to the transcoded file, if no other cover art is present.

This has also been discussed here: https://discourse.beets.io/t/convert-plugin-artwork-not-embedded/1064

### Alternatives

For people who only keep their cover art in the tags there is no actual workaround. Especially not if beets is only used for transcoding.

Contributor guide

Open the contributing guide

Research direction

Start by reading the convert plugin's handling of the embed option and how it obtains artwork for transcoded files. Reproduce the configuration with a source file whose cover art is embedded, then trace the conversion path. Done means the transcoded file retains the source artwork when no other artwork is supplied, with coverage for this behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.