mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-24 07:30:57 +01:00
[PR #6358] [MERGED] Enable people for audio files and add music probing test #10751
Labels
No labels
area:database
awaiting-feedback
backend
blocked
breaking change: web api
bug
build
ci
confirmed
discussion needed
dotnet future
downstream
duplicate
EFjellyfin.db
enhancement
feature
future
github-actions
good first issue
hdr
help wanted
invalid
investigation
librarydb
live-tv
lyrics
media playback
music
needs testing
nuget
performance
platform
pull-request
question
regression
release critical
requires-web
roadmap
security
security
stale
support
syncplay
ui & ux
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: starred/jellyfin#10751
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/jellyfin/jellyfin/pull/6358
Author: @heyhippari
Created: 7/27/2021
Status: ✅ Merged
Merged: 9/3/2021
Merged by: @Bond-009
Base:
master← Head:audio-people📝 Commits (8)
3300d2dEnable people for audio files7e71c25Add test for audio file ffprobe normalization24083d2Address commentsf35a527Add performers to the ffprobe normalization for audioc9b1cd1Add some new music-related person types and parse from ffprobe8594ee7Fix documentation for lyricist and arrangerd82c2e4Address comments7f52cdaMake performer regex static📊 Changes
5 files changed (+265 additions, -13 deletions)
View changed files
📝
MediaBrowser.Controller/Entities/Audio/Audio.cs(+1 -1)📝
MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs(+56 -2)📝
MediaBrowser.Model/Entities/PersonType.cs(+30 -10)📝
tests/Jellyfin.MediaEncoding.Tests/Probing/ProbeResultNormalizerTests.cs(+34 -0)➕
tests/Jellyfin.MediaEncoding.Tests/Test Data/Probing/music_metadata.json(+144 -0)📄 Description
Companion PR on jf-web: jellyfin/jellyfin-web#2801
Changes
Enables the SupportsPeople flag for Audio entities. Currently, we parse and normalize composers, lyricists and other info from the FFProbe results, but they get thrown out by the FFProbeAudioInfo provider due to that flag being set to false.
It's not shown in jf-web or other clients currently, but this will allow clients to show more infos on the tracks, and providers to be improved.
This also adds a test for music parsing, so we can ensure all the audio-specific stuff the FFProbe normalizer does works.
Also added are a bunch of new
PersonType, meant to cover some of the tags we miss currently in audio files: Arranger, Engineer, Mixer and Remixer.Finally, it adds performer parsing to the ffprobe normalization performed on audio files.
It works identically to genres and composers, except it retrieves the role using Regex (The "standard" way performers are set is using
Full Name (role). So we match both the name and the role, then capitalize the role based on the current culture, for display purposes).Issues
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.