Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-value tag / metadata support #9087

Open
mixxxbot opened this issue Aug 23, 2022 · 9 comments
Open

Multi-value tag / metadata support #9087

mixxxbot opened this issue Aug 23, 2022 · 9 comments

Comments

@mixxxbot
Copy link
Collaborator

Reported by: alectron
Date: 2018-01-17T07:21:29Z
Status: Confirmed
Importance: Wishlist
Launchpad Issue: lp1743699
Tags: metadata


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.

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2018-04-13T12:58:25Z


Related to: https://bugs.launchpad.net/mixxx/+bug/991717/comments/8

@mixxxbot
Copy link
Collaborator Author

Commented by: alectron
Date: 2020-07-07T19:27:49Z


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.

@mixxxbot
Copy link
Collaborator Author

Commented by: Be-ing
Date: 2020-07-18T17:20:44Z


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:

#2656
#2282

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

@mixxxbot
Copy link
Collaborator Author

Commented by: alectron
Date: 2020-07-19T10:09:14Z


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.

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2020-07-19T12:50:42Z


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.

@mixxxbot
Copy link
Collaborator Author

Commented by: Be-ing
Date: 2020-07-19T13:04:25Z


The approach in #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.

@mixxxbot
Copy link
Collaborator Author

Commented by: alectron
Date: 2020-07-19T13:09:59Z


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.

@mixxxbot
Copy link
Collaborator Author

Commented by: alectron
Date: 2020-07-19T13:18:06Z


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.

@mixxxbot mixxxbot transferred this issue from another repository Aug 24, 2022
@fbmon
Copy link

fbmon commented Feb 19, 2023

I'm also interested in multi genre tags handling, specifically so that I can export bpm/key info to the song file tags without ruining my genre tags. My other assortment of apps that work with music files recognize genres separated by the semi-colon ";" such as "House; Disco; Chill; Anthem".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants