You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When importing releases that contain multiple different medium formats, beets currently simplifies the $media field into a generic string such as 2xMedia or 3xMedia. While this keeps the UI readable during import, this generic string is subsequently written to the file tags (after stripping the "2x"), which is inaccurate according to MusicBrainz Release Format standards.
The Problem
Specific media information is often lost when formats are mixed. For example:
Hybrid SACDs: A Hybrid SACD containing a CD layer and SACD layers is always identified as multiple media types, resulting in all SACDs being tagged with the generic Media string.
This makes it difficult to use the $media field for path formatting or library organisation (e.g., placing SACDs in specific subfolders).
Current Workaround
I am currently using a Python function within the inline plugin to catch these instances and map them to more useful shorthand codes. Notably, I have to catch the string 'Media' to correctly identify SACDs in my specific workflow:
item_fields:
_media_format: | CD_types = [ 'CD', 'Copy Control CD', 'Data CD', 'DTS CD', 'Enhanced CD', 'HDCD', 'Mixed Mode CD', 'CD-R', '8cm CD', 'Blu-spec CD', 'SHM-CD', 'HQCD', 'CD+G', '8cm CD+G' ] if media in CD_types: return 'CD' elif media == 'Digital Media': return 'WEB' elif 'Vinyl' in media: return 'VinylDisc' if media == 'VinylDisc' else 'Vinyl' elif media == 'HD-DVD': return 'HD-DVD' elif "Blu-ray" in media: return 'BD' elif 'DVD' in media: return 'DVD' elif 'Media' in media: # MusicBrainz returns 'Media' for releases with multiple different formats # e.g. 'CD + DVD-Video' or Hybrid SACDs. return 'SACD' else: return ''
Proposed Improvement
Ideally, beets should preserve the specific media type for each track even in multi-format releases. If a release is a "CD + DVD-Audio" set, the tracks belonging to the CD should have CD in the media tag, and the tracks from the DVD should have DVD-Audio.
Has anyone else found a more elegant way to handle this, or would the maintainers consider changing how the $media field is populated for mixed-format releases to ensure individual track accuracy?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
When importing releases that contain multiple different medium formats, beets currently simplifies the
$mediafield into a generic string such as2xMediaor3xMedia. While this keeps the UI readable during import, this generic string is subsequently written to the file tags (after stripping the "2x"), which is inaccurate according to MusicBrainz Release Format standards.The Problem
Specific media information is often lost when formats are mixed. For example:
Media.Mediastring.This makes it difficult to use the
$mediafield for path formatting or library organisation (e.g., placing SACDs in specific subfolders).Current Workaround
I am currently using a Python function within the
inlineplugin to catch these instances and map them to more useful shorthand codes. Notably, I have to catch the string'Media'to correctly identify SACDs in my specific workflow:Proposed Improvement
Ideally, beets should preserve the specific media type for each track even in multi-format releases. If a release is a "CD + DVD-Audio" set, the tracks belonging to the CD should have
CDin the media tag, and the tracks from the DVD should haveDVD-Audio.Has anyone else found a more elegant way to handle this, or would the maintainers consider changing how the
$mediafield is populated for mixed-format releases to ensure individual track accuracy?Beta Was this translation helpful? Give feedback.
All reactions