diff options
| author | Bond_009 <bond.009@outlook.com> | 2024-04-28 15:18:53 +0200 |
|---|---|---|
| committer | Bond_009 <bond.009@outlook.com> | 2024-04-28 15:18:53 +0200 |
| commit | 88a38a61b59c20b64b5d993364dea2e1d7160d9f (patch) | |
| tree | a49fd877fa56f7502dcaecf4d3b56866bbaf5de7 /MediaBrowser.Controller/Entities | |
| parent | 5612cb81780aaaae581b87062445d1829e71a4a9 (diff) | |
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
Diffstat (limited to 'MediaBrowser.Controller/Entities')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs | 9 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 7 |
2 files changed, 11 insertions, 5 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs index 237345206..5b3349108 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs @@ -183,14 +183,13 @@ namespace MediaBrowser.Controller.Entities.Audio progress.Report(percent * 95); } - // get album LUFS - LUFS = items.OfType<Audio>().Max(item => item.LUFS); - var parentRefreshOptions = refreshOptions; if (childUpdateType > ItemUpdateType.None) { - parentRefreshOptions = new MetadataRefreshOptions(refreshOptions); - parentRefreshOptions.MetadataRefreshMode = MetadataRefreshMode.FullRefresh; + parentRefreshOptions = new MetadataRefreshOptions(refreshOptions) + { + MetadataRefreshMode = MetadataRefreshMode.FullRefresh + }; } // Refresh current item diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 474b093d5..3dd4d1e39 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -138,6 +138,13 @@ namespace MediaBrowser.Controller.Entities public float? LUFS { get; set; } /// <summary> + /// Gets or sets the gain required for audio normalization. + /// </summary> + /// <value>The gain required for audio normalization..</value> + [JsonIgnore] + public float? NormalizationGain { get; set; } + + /// <summary> /// Gets or sets the channel identifier. /// </summary> /// <value>The channel identifier.</value> |
