beetbox / beetbox/beets

Outputs of multi-dics album queries shows only first disc info

Open
#5,634 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
15.7k
Forks
2.1k
Avg merge
4d 21h
Merged PRs (30d)
31

Description

### Problem

Hi,

I think my problem it's specific of the plugins that I comment below. I don't know where is the best place to open a ticket for my case so I'm doing it here.

I'm organizing my library of multi-dics separating each one of them in its respective folder (e.g., album/disc n/title). The queries fields are working as expected and the `ls` command seems consistent when listing a multi-disc release. But I'm getting inconsistencies in the output of commands offerted by the `info` plugin:

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

```sh
$ beet -vv info -a album:Parasomnia disc:2
```

Led to this problem:

![Image](https://github.com/user-attachments/assets/a1a8b315-cb2e-44cb-9a92-787afb28811e)

Observe that only the Disc 1 is being listed.

Verbose output

```
user configuration: /home/eduardo/.config/beets/config.yaml
data directory: /home/eduardo/.config/beets
plugin paths:
lyrics: Disabling google source: no API key configured.
inline: adding item field initial
inline: adding item field disc_and_track
inline: adding item field media_and_format
inline: adding item field catalog_and_label
fetchart: google: Disabling art source due to missing key
fetchart: lastfm: Disabling art source due to missing key
ImageMagick version check failed: [Errno 13] Permission denied: 'magick'
artresizer: method is ImageMagick
Sending event: pluginload
library database: /home/eduardo/data/torrents/tools/beets/musiclibrary.db
library directory: /home/eduardo/data/torrents/music
Sending event: library_opened
Parsed query: AndQuery([SubstringQuery('album', 'Parasomnia', fast=True), SubstringQuery('disc', '2', fast=True)])
Parsed sort: NullSort()
/home/eduardo/data/torrents/music/Dream Theater - Parasomnia (2025) [FLAC] [19802843722 InsideOutMusic]/Disc 01
added: 2025-02-15 15:17:44
album: Parasomnia
albumartist: Dream Theater
albumartist_credit:
albumartist_sort:
albumartists:
albumartists_credit:
albumartists_sort:
albumdisambig:
albumstatus:
albumtotal: 8
albumtype:
albumtypes:
artpath: /home/eduardo/data/torrents/music/Dream Theater - Parasomnia (2025) [FLAC] [19802843722 InsideOutMusic]/Disc 01/cover.jpg
asin:
barcode:
catalognum: 19802843722
comp: False
country:
day: 00
discogs_albumid: 0
discogs_artistid: 0
discogs_labelid: 0
disctotal: 02
genre: Progressive Metal, Progressive Rock, Metal
id: 1
label: InsideOutMusic
language:
mb_albumartistid:
mb_albumid:
mb_releasegroupid:
month: 00
original_day: 00
original_month: 00
original_year: 0000
path: /home/eduardo/data/torrents/music/Dream Theater - Parasomnia (2025) [FLAC] [19802843722 InsideOutMusic]/Disc 01
r128_album_gain: 0.0
release_group_title:
releasegroupdisambig:
rg_album_gain: 0.0
rg_album_peak: 0.0
script:
style:
year: 2025
Sending event: cli_exit
```

And, in case I have the `missing` plugin enabled. Although I have the Disc 2 correctly imported in the library, it accuses that I have missing tracks (the exact quantity of the Disc 2):

![Image](https://github.com/user-attachments/assets/3decb698-e931-44ed-8ac1-69134eb73132)

Trying to query only the Disc 2:
![Image](https://github.com/user-attachments/assets/0f336d69-5575-4f85-b2ce-cb9b1d4181bc)

Library structure:

![Image](https://github.com/user-attachments/assets/e78266d2-7aec-4932-8f69-cb6f7f1fbeb7)

![Image](https://github.com/user-attachments/assets/dfe356de-e216-4650-a2d6-89dd2ce2a96d)

### Setup

* OS: Ubuntu 22.04 LTS
* Python version: 3.11.11
* beets version: 2.2.0
* Turning off plugins made problem go away (yes/no): Yes. As it seems related to the plugins code (`info`, `missing`)

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

Details

```yaml
lyrics:
bing_lang_from: []
auto: yes
fallback: ''
bing_client_secret: REDACTED
bing_lang_to:
google_API_key: REDACTED
google_engine_ID: REDACTED
genius_api_key: REDACTED
force: no
local: no
synced: no
sources:
- google
- genius
- tekstowo
- lrclib
dist_thresh: 0.1

# --------------- Performance ---------------

threaded: yes
asciify_paths: yes
art_filename: cover
pre_disc_numbering: yes
id3v23: yes

ui:
color: yes
directory: ~/data/torrents/music
# --------------- Main ---------------

library: ~/data/torrents/tools/beets/musiclibrary.db

# --------------- Plugins ---------------

plugins:
- mbsync
- discogs
- fromfilename
- lyrics
- lastgenre
- fetchart
- embedart
- scrub
- duplicates
- the
- copyartifacts
- unimported
- info
- inline
- originquery

import:
move: no
link: no
resume: ask
incremental: yes
incremental_skip_later: yes
quiet_fallback: asis
log: ~/data/torrents/tools/beets/beets.log
duplicate_action: keep
duplicate_verbose_prompt: yes
bell: yes
replace:
'[\\/]': _
^\.: _
'[\x00-\x1f]': _
'[<>:"\?\*\|]': _
\.$: _
\s+$: ''
^\s+: ''
^-: _
item_fields:
initial: albumartist[0].upper() + u'.'
disc_and_track: u'%02i.%02i' % (disc, track) if disctotal > 1 else u'%02i' % (track)
media_and_format: u'[%s]' % (' '.join((media, format)).strip()) if media or format else ''
catalog_and_label: u'[%s]' % (' '.join((catalognum, label)).strip()) if catalognum or label else ''
paths:
default: $albumartist - $album ($year) $media_and_format $catalog_and_label/%if{$multidisc,Disc $disc/}$track $title
singleton: Non-Album/$artist/$title
comp: VA - $album ($year) $media_and_format $catalog_and_label/%if{$multidisc,Disc $disc/}$track $title
ext:log: $albumpath/$artist - $album
ext:cue: $albumpath/$artist - $album
ext:accurip: $albumpath/$artist - $album
ext:jpg: $albumpath/cover

# --------------- Search ---------------

format_item: $artist - $disc_and_track $title - $length
format_album: $albumartist - $album ($year)
musicbrainz:
source_weight: 0.0
extra_tags:
- year
- catalognum
- country
- language
- media
- label
originquery:
origin_file: origin.yaml
tag_patterns:
media: $.Media
year: $."Edition year"
label: $."Record label"
catalognum: $."Catalog number"
albumdisambig: $.Edition
discogs:
user_token: REDACTED
source_weight: 0.2
index_tracks: yes
apikey: REDACTED
apisecret: REDACTED
tokenfile: discogs_token.json
separator: ', '
append_style_genre: no
lastgenre:
auto: yes
count: 3
fallback: ''
source: artist
whitelist: yes
min_weight: 10
canonical: no
force: yes
separator: ', '
prefer_specific: no
title_case: yes
fetchart:
auto: yes
minwidth: 512
maxwidth: 1500
max_filesize: 1500000
cautious: yes
cover_names: cover folder
quality: 0
enforce_ratio: no
sources:
- filesystem
- coverart
- itunes
- amazon
- albumart
- cover_art_url
store_source: no
high_resolution: no
deinterlace: no
cover_format:
google_key: REDACTED
google_engine: 001442825323518660753:hrh5ch1gjzm
fanarttv_key: REDACTED
lastfm_key: REDACTED
embedart:
auto: yes
maxwidth: 500
ifempty: no
compare_threshold: 0
remove_art_file: no
quality: 0
copyartifacts:
extensions: .* */*
print_ignored: yes
replaygain:
auto: no
scrub:
auto: yes
duplicates:
album: yes
checksum: no
copy: ''
count: no
delete: no
format: ''
full: no
keys: []
merge: no
move: ''
path: no
tiebreak: {}
strict: no
tag: ''
unimported:
ignore_extensions: jpg png
ignore_subdirectories: NonMusic data temp
the:
the: yes
a: yes
format: '{0}, {1}'
strip: no
patterns: []
pathfields: {}
album_fields: {}
```

I searched the docs but didn't find anything that can affect this behavior.

Any help will be appreciated. Let me know if you guys need more info.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.