Multi-value tag / metadata support

Bug #1743699 reported by alec.tron
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Mixxx
Confirmed
Wishlist
Unassigned

Bug Description

First of, great to see Mixx has gotten a new breath of life with the recent 2.1 beta, and even more so, that you are actively incorporating Musicbrainz now, which has probably the most thought through metadata model of all, free and commercial services.

And who wouldn't want multiple Genre & subgenre values at their disposal so it makes sense within their musical world to be searched or smart-crated by :D - or have a list of instruments that are used on a given track (can be easily generated from Musicbrainz credits list) or that stand out in a track (composition and/or mastering wise), or moods, situations etc pp.

This came up here:
https://djworx.com/open-source-mixxx-gets-v2-1-beta-for-windows-macos-and-linux/
And since there was no feature request for this yet as far as I could see, and it doesn't quite seem to be on the roadmap yet - whereas for me this is the one vital feature I am hoping for for years....
So I thought I'd make a wishlist request for Mixx, as this would finally give me access to the tags within a DJ app that I maintain and care about...

Churs.
c.

Tags: metadata
alec.tron (alectron)
description: updated
Changed in mixxx:
importance: Undecided → Wishlist
status: New → Confirmed
tags: added: metadata
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :
tags: removed: wishlist
Revision history for this message
alec.tron (alectron) wrote :

Hello Hai,
I see there was some change here. Can someone put this in perspective ? i.e. what does:
tags: removed: wishlist
mean...?

With
https://gitlab.com/uklotzde/aoide-rs
I was hoping that multi-value (ID3 split by NUL characters..., Vorbis just multi fields...) and/or custom-field be supported in Mixxx some time in the foreseeable future...
But taking this wishlist entry off the wishlist does sound as if these ex wishlist request is now off the table for Mixx ?

Churs.
c.

Revision history for this message
Be (be.ing) wrote :

The "wishlist" tag was only removed because it is redundant with the Wishlist "Importance" state. That doesn't mean we don't want this! We definitely still do. Work is in progress here:

https://github.com/mixxxdj/mixxx/pull/2656
https://github.com/mixxxdj/mixxx/pull/2282

If you could test those and give feedback on the design, that would be helpful.

Revision history for this message
alec.tron (alectron) wrote :

Thanks for the reply!

As for the aiode documentation, the one thing that doesn't click yet is:
"Mixxx only supports a single genre per track. But you could encode multiple genres into this field by using a separator like " - " (space dash space): "Pop - Rock"."

The convention MusicBee & Foobar both have adopted is injecting NULLs into ID3 fields, I assume as per the official spec (https://id3.org/id3v2.3.0 ).
Flac/Vorbis on the other hand always had multi-field declarations as part of the spec.
So having multiple (eg) genres is embedded into the metadata spec/system.

How does being able to read multi-value metadata work in practice in Mixxx if "Mixxx only supports a single genre per track" ?
That doesn't quite compute yet.
Cheers.
c.

Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

Multi-value properties are not yet supported by Mixxx, neither internally nor for file tags. The special case handling for genres is a temporary workaround.

ID3v2 is just one of many different schemas on how to write metadata into file tags. We need to support all of them. Currently only the first frame (ID3v2) or atom (MP4) is read and written.

Revision history for this message
Be (be.ing) wrote :

The approach in https://github.com/mixxxdj/mixxx/pull/2656 is to use a custom JSON format to serialize/deserialize arbitrary, user-defined faceted tags. This is much more flexible than the limitations of standardized tags such as genre.

Revision history for this message
alec.tron (alectron) wrote :

Again, thanks for the input.
From a subjective point - I would only/mostly be interested in reading, not writing, but not sure that is something that works for others...
So I get your point needing to support all formats & i/o ops.

But, that means there's no point for me in even considering moving to Mixxx yet, and I will need to wait until Multi-value properties, especially genre, are supported unfortunately (as I would need to change a fair bit, and migrate all my Traktor/Serato metadata to Mixxx as well...).
I'll keep an eye on this for sure, as I do really like what you do here with Mixxx.

All the best.
c.

Revision history for this message
alec.tron (alectron) wrote :

Re Be "use a custom JSON format to serialize/deserialize arbitrary, user-defined faceted tags. This is much more flexible than the limitations of standardized tags such as genre."
All for flexibility - if it allows data serialization from, as well as back into standard & custom tags (across a variety of formats) as well.
i.e. not the Pioneer route of database tags that lock users in, and can not be stored within files, in order to stay as software agnostic as possible...
c.

Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/9087

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.