Add switch to disable volume normalization
This commit is contained in:
@@ -304,15 +304,17 @@ class PlayerService : MediaSessionService(), MediaSession.Callback, MediaNotific
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun normalizeVolume() {
|
private fun normalizeVolume() {
|
||||||
player.volume = player.currentMediaItem?.mediaId?.let { mediaId ->
|
if (preferences.volumeNormalization) {
|
||||||
songPendingLoudnessDb.getOrElse(mediaId) {
|
player.volume = player.currentMediaItem?.mediaId?.let { mediaId ->
|
||||||
player.currentMediaItem?.mediaMetadata?.extras?.getFloat("loudnessDb")
|
songPendingLoudnessDb.getOrElse(mediaId) {
|
||||||
}
|
player.currentMediaItem?.mediaMetadata?.extras?.getFloat("loudnessDb")
|
||||||
?.takeIf { it > 0 }
|
|
||||||
?.let { loudnessDb ->
|
|
||||||
(1f - (0.01f + loudnessDb / 15)).coerceIn(0.1f, 1f)
|
|
||||||
}
|
}
|
||||||
} ?: 1f
|
?.takeIf { it > 0 }
|
||||||
|
?.let { loudnessDb ->
|
||||||
|
(1f - (0.01f + loudnessDb / 15)).coerceIn(0.1f, 1f)
|
||||||
|
}
|
||||||
|
} ?: 1f
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onAddMediaItems(
|
override fun onAddMediaItems(
|
||||||
|
|||||||
@@ -248,16 +248,6 @@ fun PlayerSettingsScreen() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// SwitchSettingEntry(
|
|
||||||
// title = "Persistent queue",
|
|
||||||
// text = "Save and restore playing songs",
|
|
||||||
// isChecked = preferences.persistentQueue,
|
|
||||||
// onCheckedChange = {
|
|
||||||
// preferences.persistentQueue = it
|
|
||||||
// },
|
|
||||||
// isEnabled = false
|
|
||||||
// )
|
|
||||||
|
|
||||||
SwitchSettingEntry(
|
SwitchSettingEntry(
|
||||||
title = "Skip silence",
|
title = "Skip silence",
|
||||||
text = "Skip silent parts during playback",
|
text = "Skip silent parts during playback",
|
||||||
@@ -271,6 +261,15 @@ fun PlayerSettingsScreen() {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
SwitchSettingEntry(
|
||||||
|
title = "Loudness normalization",
|
||||||
|
text = "Lower the volume to a standard level",
|
||||||
|
isChecked = preferences.volumeNormalization,
|
||||||
|
onCheckedChange = {
|
||||||
|
preferences.volumeNormalization = it
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
SettingsEntry(
|
SettingsEntry(
|
||||||
title = "Equalizer",
|
title = "Equalizer",
|
||||||
text = "Interact with the system equalizer",
|
text = "Interact with the system equalizer",
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ class Preferences(holder: SharedPreferences) : SharedPreferences by holder {
|
|||||||
var coilDiskCacheMaxSizeBytes by preference("coilDiskCacheMaxSizeBytes", 512L * 1024 * 1024)
|
var coilDiskCacheMaxSizeBytes by preference("coilDiskCacheMaxSizeBytes", 512L * 1024 * 1024)
|
||||||
var exoPlayerDiskCacheMaxSizeBytes by preference("exoPlayerDiskCacheMaxSizeBytes", 512L * 1024 * 1024)
|
var exoPlayerDiskCacheMaxSizeBytes by preference("exoPlayerDiskCacheMaxSizeBytes", 512L * 1024 * 1024)
|
||||||
var skipSilence by preference("skipSilence", false)
|
var skipSilence by preference("skipSilence", false)
|
||||||
|
var volumeNormalization by preference("volumeNormalization", true)
|
||||||
var yourPlaylistsGridRowCount by preference("yourPlaylistsGridRowCount", 2)
|
var yourPlaylistsGridRowCount by preference("yourPlaylistsGridRowCount", 2)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user