Comments (10)
hey @tamland, have you get the GONIC_MULTI_VALUE_{GENRE,ARTIST,ALBUM_ARTIST} flags?
in your case they should be set to the multi
value
https://github.com/sentriz/gonic?tab=readme-ov-file#multi-valued-tags-v016
also, when changing the multi valued settings, a full/slow scan must be done once
from gonic.
oh sorry i misread. i think you're right, only artists
is used for multi valued tags. but the reason is how picard and beets.io work.
the single value would be for the concatenated version, for example this release you could see these vorbis comments:
ARTIST=Deepchord presents Echospace
ARTISTS=Deepchord
ARTISTS=Echospace
(ARTISTS repeated twice)
from gonic.
I see. I dont use any of those but have a lot of bought music that sometimes comes pre-tagged this way :) I.e. it only contains:
ARTIST=Deepchord
ARTIST=Echospace
GENRE=A
GENRE=B
from gonic.
interesting I haven't seen that format before. how does it encode the concatenated / display values?
and you don't use any taggers like picard or beets.io?
from gonic.
I use Kid3. I don't know if there is any standard for this except the one page I linked to which describes multiple artists: https://xiph.org/vorbis/doc/v-comment.html
Do you think it's possible to support both without breaking picard/beets?
from gonic.
that looks like an example, I think I saw some sort of standard somewhere - I'll try to find it
but also, we need to have both somehow. for example gonic needs to return displayAlbumArtist "DeepChord presents Echospace" and albumArtists ["DeepChord", "Echospace"] over the Subsonic API
and I don't know how it could do that without two distinct tags
also handing legacy desktop music players which don't understand multi valued tags
edit:
here is one example of ARTISTS https://picard-docs.musicbrainz.org/downloads/MusicBrainz_Picard_Tag_Map.html
not definitive but it comes from the metabrainz foundation at least
from gonic.
What about conditional logic:
- If only ARTIST present and single-valued, return it for Subsonic artist, artists (single-valued), and displayAlbumArtist
- If only ARTIST present and multi-valued, return the multi values in Subsonic artists property, concatenate them with a ", " for displayAlbumArtist, and either return the first artist, or the same concatenated string in the legacy artist property.
- If a single-valued ARTIST is present alongside multi-valued ARTISTS, use ARTIST for the displayAlbumArtist and artist properties, and ARTISTS for the multi-valued property
from gonic.
@dweymouth i think that could work, though there's some lost of information there
if all we see is
ARTIST=A
ARTIST=B
and no ARTISTS, gonic has to make up a displayAlbumArtist. does it join with a " & "? or with a ", ", maybe an " and "?
and also that displayAlbumArtist displayArtist field is kind of important - for example when scrobbling to LastFM, if you have a non-standard credit string, it's going to look different to everyone elses. you'll see like "only 1 listener" to this artist (maybe the real one was "A, B & C" for example)
it's not ideal to make one up i think
from gonic.
and hey @tamland to add to this last comment here, i think it would be a lot of complexity to support treating two tags having different meanings in different contexts, so closing for now. but if you do find some difinitive source on the meaning of the tags (and maybe that beets and picard have it wrong) i'd definitely hear it
could also be an option for your library to just copy the singular named tags to the plural?
for example with python/mutagen some
for f in files:
audio = FLAC(f)
audio['ARTISTS'] = audio['ARTIST']
audio['ALBUMARTISTS'] = audio['ALBUMARTIST']
audio.save()
could do the trick? that said, gonic's displayAlbumArtist will only show the first tag, and lastfm scrobbles will be a little strange, but if you don't have display/singular tags anywhere in your library that just how it i suppose
from gonic.
If you follow picard: https://picard-docs.musicbrainz.org/downloads/MusicBrainz_Picard_Tag_Map.html
There is actually no mention of "genres" og "albumartist". Only the "artists" tag use plural.
from gonic.
Related Issues (20)
- Last.fm account linking does not work HOT 3
- First install I cant login :error saving session: securecookie: hash key is not set HOT 1
- FR: Import OPML
- jukebox locks and shuffling HOT 30
- Request: Show audio metadata in stream logs HOT 4
- FR: Use other sources for rich metadata
- Problem with cookie or specific proxy configuration needed HOT 2
- The page is not avail after the latest nightly pull
- Missing Internet Radio Stations HOT 9
- Last.fm artist doesn't exist, Gonic retries forever HOT 1
- Scrobbles not working HOT 7
- Including additional fields in Search3 for albums & tracks HOT 4
- Can't get "recently added" or "recently played" HOT 9
- doesn't compile on debian bookworm HOT 3
- Timeouts with the getGenres.view endpoint HOT 4
- config file flag "cdcmusic-path" not defined in flag set HOT 4
- Feature Request: Add option to keep the latest N episodes of a podcast
- Gonic fails to see all podcast episodes for Revolutions podcast HOT 3
- Feature Request: Let users ask the server to download individual podcast episodes HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gonic.