beetbox / beetbox/beets

fetchart cover_format does not seem to be working (PNG => JPEG)

Open
#4,452 3 comments 1 reaction 0 assignees View on GitHub
bug fetchart
Dominant language
Python
Stars
15.7k
Forks
2.1k
Avg merge
4d 21h
Merged PRs (30d)
31

Description

PNG image is resized, but not converted as JPG

### Problem

Running this command in verbose (`-vv`) mode:

```sh
beet -vv import '.\2007 - Alive! [FLAC]\'
user configuration: C:\Users\tinbapakk\AppData\Roaming\beets\config.yaml
data directory: C:\Users\tinbapakk\AppData\Roaming\beets
plugin paths:
artresizer: method is (2, (7, 1, 0), False)
lyrics: Disabling google source: no API key configured.
inline: adding item field disc_and_track
Sending event: pluginload
library database: D:\Downloads\beets\musiclibrary.db
library directory: D:\Downloads\beets
Sending event: library_opened
Sending event: import_begin
Sending event: import_task_created
Sending event: import_task_start
Looking up: D:\Downloads\soulseektemp\Omnia\2007 - Alive! [FLAC]
Tagging Omnia - Alive!
No album ID found.
Search terms: Omnia - Alive!
Additional search terms: {'year': 2007, 'catalognum': ''}
Album might be VA: False
Searching for MusicBrainz releases with: {'release': 'alive!', 'artist': 'omnia', 'tracks': '9', 'date': '2007'}
Requesting MusicBrainz release 6bb83f74-1345-47ba-af3b-b9c1dbfdf7f6

[...]

fetchart: trying source bandcamp for album Omnia - Alive!
bandcamp: Not fetching art for a non-bandcamp album URL
fetchart: trying source filesystem for album Omnia - Alive!
fetchart: using well-named art file front.png
fetchart: image size: (2000, 2000)
fetchart: image needs rescaling (2000 > 1600)
fetchart: image needs reformatting: PNG -> JPEG
fetchart: using local image D:\Downloads\soulseektemp\Omnia\2007 - Alive! [FLAC]\front.png
artresizer: ImageMagick resizing D:\Downloads\soulseektemp\Omnia\2007 - Alive! [FLAC]\front.png to C:\Users\TINBAP~1\AppData\Local\Temp\tmpy62i2_si.png
lyrics: Received unusual song page html

[...]

embedart: Resizing album art to 1200 pixels wide and encoding at quality level 0
artresizer: ImageMagick resizing \\?\D:\Downloads\beets\Omnia\2007 - Alive!\cover.png to C:\Users\TINBAP~1\AppData\Local\Temp\tmp469734r0.png
embedart: Embedding album art into Omnia - Alive!
embedart: embedding C:\Users\TINBAP~1\AppData\Local\Temp\tmp469734r0.png
```

Led to this problem:

Embeded file is still a png, and the folder file is `cover.png`

### Setup

* OS: Windows 11
beets version 1.6.0
Python version 3.10.6
plugins: bandcamp, convert, embedart, fetchart, ftintitle, inline, lyrics, zero

My configuration (output of `beet config`) is:

```yaml
directory: D:\Downloads\beets
library: D:\Downloads\beets\musiclibrary.db

import:
copy: yes
write: yes
timid: yes
languages: fr en jp

artist_credit: yes
per_disc_numbering: yes
original_date: yes

match:
preferred:
media: ['CD', 'Digital Media|File']
original_year: yes

paths:
default: $albumartist/$year - $album%aunique{}/$disc_and_track - $title
singleton: Non-Album/$artist/$title
albumtype:soundtrack: Soundtracks/$album/$track - $title
albumtype:anime: Anime/[$original_year-$original_month-$original_day] $album/$track - $title
albumtype:game: Game/[$original_year-$original_month-$original_day] $album/$track - $title
comp: Various Artists/[$original_year-$original_month-$original_day] $album%aunique{}/$track - $title

musicbrainz:
extra_tags: [year, catalognum]

plugins: fetchart lyrics embedart inline convert zero ftintitle bandcamp

fetchart:
cover_format: JPEG
minwidth: 800
maxwidth: 1600
sources: filesystem coverart itunes amazon albumart fanarttv lastfm google
# quality: 90

embedart:
maxwidth: 1200
# quality: 90

item_fields:
disc_and_track: u'%2i.%02i' % (disc, track) if disctotal > 1 else u'%02i' % (track)

convert:
format: aac
formats:
aac:
command: qaac --ignorelength --threading -q 2 --tvbr 118 --rate keep $source -o $dest
extension: m4a
dest: D:\Downloads\beets
copy_album_art: yes
embed: yes
auto: yes
never_convert_lossy_files: yes

zero:
auto: yes
fields: albumartist_sort composer_sort artist_sort original_month original_day

ftintitle:
auto: yes

bandcamp:
art: yes
genre:
maximum: 1

lyrics:
auto: true,
sources: google genius musixmatch
```

Contributor guide

Open the contributing guide

Research direction

Start with the fetchart and embedart plugin entry points and the artresizer messages in the supplied -vv output; compare the configured fetchart.cover_format with the temporary and final filenames. Reproduce the Windows case, then verify that fetched and embedded album art is JPEG rather than PNG.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.