gnattu
7cc3f9506e
Disable ATL's internal ID3v2.2/3 splitting ( #12751 )
4 months ago
gnattu
992d56e565
Workaround ATL tag parsing ( #12705 )
4 months ago
gnattu
0ffddacf11
Move GetCustomTagDelimiters to Extension
4 months ago
gnattu
00ca4abbe1
Sanitize CustomTagDelimiters server side
...
The API requires an array type and does not support runtime generated default value. Use server side helper function to sanitize it into char.
4 months ago
Shadowghost
2351eeba56
Rework PR 6203
5 months ago
gnattu
c6de7225b9
Add non-standard multi-value audio tag support ( #12385 )
5 months ago
gnattu
79c4469ac7
Remove redundant NaN check
...
Signed-off-by: gnattu <gnattuoc@me.com>
6 months ago
gnattu
5c5b326b1a
Remove test var
...
Co-authored-by: Cody Robibero <cody@robibe.ro>
6 months ago
gnattu
56a98a3bb0
Make internal value separator a constant
...
Signed-off-by: gnattu <gnattuoc@me.com>
6 months ago
gnattu
1d658a5a4d
Remove redundant check
...
Signed-off-by: gnattu <gnattuoc@me.com>
6 months ago
gnattu
939e02ccee
Apply suggestions from code review
...
Co-authored-by: Cody Robibero <cody@robibe.ro>
6 months ago
gnattu
ac9322370b
Check if the metadata is supported for title fallback
...
Signed-off-by: gnattu <gnattuoc@me.com>
6 months ago
gnattu
172feab084
Migrate to z440.atl instead of TagLib-Sharp
...
The ATL lib provides a lot of advantages to the TagLib we are currently using.
Notably:
- auto-detect the format of the audio data, even if the file extension has the wrong label, and provides unified API for different file types.
- supports more audio formats than TagLib
- supports lyrics natively
- supports playlists and cuesheets
- srovides relatively simple and controllable way for non-standard fields, enable us to implement compatibility features instead of waiting for lib updates
- is actually maintained
Signed-off-by: gnattu <gnattuoc@me.com>
6 months ago
Bond_009
ecd2dab0a2
Add TrySetProviderId extension
7 months ago
Bond_009
2e338f74ec
Fix (another) ArgumentNullException while scanning music
...
```
[2024-07-17 14:31:18.202 +02:00] [ERR] [19] MediaBrowser.Providers.Music.AudioMetadataService: Error in "Probe Provider"
System.ArgumentNullException: Value cannot be null. (Parameter 'value')
at System.ArgumentNullException.Throw(String paramName)
at System.ArgumentNullException.ThrowIfNull(Object argument, String paramName)
at System.ArgumentException.ThrowNullOrEmptyException(String argument, String paramName)
at MediaBrowser.Model.Entities.ProviderIdsExtensions.SetProviderId(IHasProviderIds instance, String name, String value) in /home/loma/dev/jellyfin/MediaBrowser.Model/Entities/ProviderIdsExtensions.cs:line 121
at MediaBrowser.Model.Entities.ProviderIdsExtensions.SetProviderId(IHasProviderIds instance, MetadataProvider provider, String value) in /home/loma/dev/jellyfin/MediaBrowser.Model/Entities/ProviderIdsExtensions.cs:line 151
at MediaBrowser.Providers.MediaInfo.AudioFileProber.FetchDataFromTags(Audio audio, MediaInfo mediaInfo, MetadataRefreshOptions options, Boolean tryExtractEmbeddedLyrics) in /home/loma/dev/jellyfin/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs:line 330
at MediaBrowser.Providers.MediaInfo.AudioFileProber.FetchAsync(Audio audio, MediaInfo mediaInfo, MetadataRefreshOptions options, CancellationToken cancellationToken) in /home/loma/dev/jellyfin/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs:line 139
at MediaBrowser.Providers.MediaInfo.AudioFileProber.Probe[T](T item, MetadataRefreshOptions options, CancellationToken cancellationToken) in /home/loma/dev/jellyfin/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs:line 105
at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken) in /home/loma/dev/jellyfin/MediaBrowser.Providers/Manager/MetadataService.cs:line 800
```
7 months ago
gnattu
ea7e834ae1
Backport pull request #12126 from jellyfin/release-10.9.z
...
Try to add extracted lyrics during scanning
Original-merge: 25f02658f0
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
7 months ago
gnattu
2599babe31
Backport pull request #11859 from jellyfin/release-10.9.z
...
Use music metadata from ffprobe when TagLib fails
Original-merge: b8a0cf6a9e
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
8 months ago
nfmccrina
4385430f05
Backport pull request #11621 from jellyfin/release-10.9.z
...
Handle exception for unexpected audio file YEAR tag values
Original-merge: d5dc4435d9
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
9 months ago
gnattu
cf483203f5
Fix external LRC files being incorrectly overwritten during the initial scan ( #11480 )
9 months ago
Bond_009
88a38a61b5
Improve audio normalization
...
* Move calculation of LUFS to a scheduled task as it's pretty slow
* Correctly calculate album LUFS
* Don't try to convert replaygain tags to LUFS values
9 months ago
Bond-009
428283f787
Always scan ReplayGain tag ( #11418 )
9 months ago
Bond-009
3936fc9f25
Don't run ffprobe a second time for music file ( #11419 )
9 months ago
Cody Robibero
d402005d32
fix: fallback to artist if album artist not provided
10 months ago
Dominik Krivohlavek
ab731d9212
Fix track MBID in audio metadata ( #11301 )
10 months ago
Bond-009
b6d130ae2d
Merge pull request #11155 from sel10ut/bugfix/fix-releasedate-tag
...
Fix parsing of audio PremiereDate property
11 months ago
sel10ut
368a1b385a
fix: fallback to TagLib date parsing if ffprobe fails
...
Bring back hardcoded PremiereDate with correctly parsed year from TagLib, if ffprobe cannot get it
11 months ago
sel10ut
e9caa65eba
fix: change parsing of audio title tag
11 months ago
sel10ut
1236bb298c
fix: correct parsing of audio release date property
...
Read full date from ffmpeg probe.
11 months ago
Cody Robibero
169e0dcb11
Save embedded lyrics when probing audio
11 months ago
Cody Robibero
ac33d1593a
oops
11 months ago
Cody Robibero
5a652360c3
Update AudioFileProber.cs
11 months ago
Cody Robibero
ddf8f7d636
Update AudioFileProber.cs
11 months ago
Cody Robibero
f3c333f4d5
Merge branch 'master' into bhowe34/fix-replace-missing-metadata-for-music
11 months ago
Brian Howe
54eb81395e
Merge branch 'master' into bhowe34/fix-replace-missing-metadata-for-music
11 months ago
Cody Robibero
0bc41c015f
Store lyrics in the database as media streams ( #9951 )
11 months ago
TelepathicWalrus
7b5c41c2a5
Add option to use replaygain tags for audio ( #10566 )
...
* Add option to use replaygain tags for audio
* Change regex to be specific
* Use ffprobe for faster metadata grabs
* Change regex to .Match
1 year ago
Brian Howe
7f1fec688c
check ReplaceAllMetadata option and name field lock
1 year ago
GinoGinocchio
ddcd29f17e
Update MediaBrowser.Providers/MediaInfo/AudioFileProber.cs
...
Co-authored-by: Cody Robibero <cody@robibe.ro>
1 year ago
GinoGinocchio
de91a213a1
Update MediaBrowser.Providers/MediaInfo/AudioFileProber.cs
...
Co-authored-by: Cody Robibero <cody@robibe.ro>
1 year ago
GinoGinocchio
81d642abe3
Removing unnecesary empty and null validations
1 year ago
GinoGinocchio
eb41cd51ea
Using TryGetProviderId and adding an empty validation
1 year ago
GinoGinocchio
01bbc7d117
Correcting according to the comments provided
1 year ago
GinoGinocchio
d1cc56f78c
Fix: "Feature 'replace missing metadata' overwrites existing metadata that does exist" for music
1 year ago
Stepan Goremykin
8ea812b65d
Reduce string literal length by using verbatim string
1 year ago
Stepan Goremykin
d6b557d9ee
Move declaration closer to usage
1 year ago
Claus Vium
956e3dab43
fix: accessing Standard* of a Process requires manually disposing them afterwards ( #10125 )
1 year ago
Jan Müller
66ff724acf
Fix the probing of m4a metadata
...
The composer is not set in some of my m4a files. For some reason
TagLibSharp returns the composer as an empty string in this case. This
causes an exception in PeopleHelper.AddPerson, and thus probing fails.
IMHO we can simply ignore empty values.
Fixes : #10061
2 years ago
Bond_009
b5f0760db8
Use RegexGenerator where possible
2 years ago
TelepathicWalrus
603fce59df
Audio normalization ( #9222 )
...
Co-authored-by: Joe Rogers <1337joe@users.noreply.github.com>
Co-authored-by: Bond-009 <bond.009@outlook.com>
2 years ago
Cody Robibero
89be3aa37f
Convert Person.Type to use PersonKind enum ( #9487 )
2 years ago