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

Better documentation for file structure/ meta data #1179

Open
gamebeaker opened this issue Nov 27, 2024 · 2 comments
Open

Better documentation for file structure/ meta data #1179

gamebeaker opened this issue Nov 27, 2024 · 2 comments

Comments

@gamebeaker
Copy link

I would appreciate better documentation regarding what file structures are supported.
Example jellyfin https://jellyfin.org/docs/general/server/media/music
image
I am not saying that the file structure should be the same.
It is just a matter of documentation what is supported.
Additionally it should be mentioned which meta data tags get used. There are different tag programs and if it is known which tags get scanned they can be configured for optimal use.
Problems:
How to differentiate between different APIs. OpenSubsonic supports multiple Artists and normal Subsonic doesn't. (At the moment not implemented just an example.)
image

@paulijar
Copy link
Collaborator

There are no limitations regarding the possible folder tree structures. Primarily, the library is organized based on the metadata tags. But if some metadata tags are missing, then the file and folders names are used as fallback:

  • The file name is used as fallback for the song title (and also track number may be extracted from it)
  • The parent folder name is used as fallback for the album name
  • The grandparent folder name is used as fallback for the artist name

So essentially, the fallback logic assumes a structure like the Jellyfin example shows for "Some Artist", but there may freely be additional folder levels above the "Some Artist". But if the files are perfectly tagged, then the folder structures don't matter at all and you may have all the files in one folder or each file in its own folder or anything else you could think of.

Multiple artists or multiple genres per song are not supported at time being. Giving a complete list of the supported metadata tags would not be easy as we use a 3rd party library to extract the metadata and it supports countless different file formats and tag types, and hides some of the complexities from us.

@gamebeaker
Copy link
Author

Giving a complete list of the supported metadata tags would not be easy as we use a 3rd party library to extract the metadata and it supports countless different file formats and tag types, and hides some of the complexities from us.

I meant which tags get used. The library abstracts the access to the data but you still have to define which key is searched.
Example:

// Track artist and album artist
$meta['artist'] = ExtractorGetID3::getTag($fileInfo, 'artist');
$meta['albumArtist'] = ExtractorGetID3::getFirstOfTags($fileInfo, ['band', 'albumartist', 'album artist', 'album_artist']);

there is 'artist' as key defined for the meta data.
I meant something like this:

tag type native Ampache Subsonic OpenSubsonic
artist string yes yes yes yes
artists array no no no yes

And the yes/no is not the standard but the implementation in the music app.
The inspiration is from this table:
https://support.symfonium.app/t/supported-features-by-media-providers/1178
grafik
I can create this table but as i am busy at the moment it will take time.

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

No branches or pull requests

2 participants