From fa25a6315f9cf1568f14141e7fa5f7cce2712d33 Mon Sep 17 00:00:00 2001 From: Devoxin Date: Thu, 23 Jun 2022 14:48:48 +0100 Subject: [PATCH 1/4] LowPass: enforce minimum, change enable value, update docs. --- IMPLEMENTATION.md | 3 ++- .../main/java/lavalink/server/player/filters/filterConfigs.kt | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/IMPLEMENTATION.md b/IMPLEMENTATION.md index 8450b719d..b8a22b393 100644 --- a/IMPLEMENTATION.md +++ b/IMPLEMENTATION.md @@ -223,8 +223,9 @@ Note that filters may take a moment to apply. } // Higher frequencies get suppressed, while lower frequencies pass through this filter, thus the name low pass. + // Any smoothing values below 0.5 will disable the filter. "lowPass": { - "smoothing": 20.0 + "smoothing": 20.0 // 0.5 ≤ x } } ``` diff --git a/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt b/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt index 37cb08ee4..5a7ac4e64 100644 --- a/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt +++ b/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt @@ -161,10 +161,10 @@ class LowPassConfig( ) : FilterConfig() { override fun build(format: AudioDataFormat, output: FloatPcmAudioFilter): FloatPcmAudioFilter { return LowPassPcmAudioFilter(output, format.channelCount) - .setSmoothing(smoothing) + .setSmoothing(smoothing.coerceAtLeast(0.5f)) } - override val isEnabled: Boolean get() = smoothing != 20.0f + override val isEnabled: Boolean get() = smoothing >= 0.5f } abstract class FilterConfig { From 2e5de1d0699398c5382964d4847bd3342df8ee31 Mon Sep 17 00:00:00 2001 From: Devoxin Date: Thu, 23 Jun 2022 14:54:07 +0100 Subject: [PATCH 2/4] Remove coercing to allow the filter to actually be disabled. --- .../main/java/lavalink/server/player/filters/filterConfigs.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt b/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt index 5a7ac4e64..6218df275 100644 --- a/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt +++ b/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt @@ -161,7 +161,7 @@ class LowPassConfig( ) : FilterConfig() { override fun build(format: AudioDataFormat, output: FloatPcmAudioFilter): FloatPcmAudioFilter { return LowPassPcmAudioFilter(output, format.channelCount) - .setSmoothing(smoothing.coerceAtLeast(0.5f)) + .setSmoothing(smoothing) } override val isEnabled: Boolean get() = smoothing >= 0.5f From 50e245256fccfb7f93ba3d3d28c43acb2d260711 Mon Sep 17 00:00:00 2001 From: Devoxin Date: Thu, 23 Jun 2022 15:12:48 +0100 Subject: [PATCH 3/4] Bump lowpass minimum to 1.0f --- IMPLEMENTATION.md | 4 ++-- .../main/java/lavalink/server/player/filters/filterConfigs.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/IMPLEMENTATION.md b/IMPLEMENTATION.md index b8a22b393..856927ea2 100644 --- a/IMPLEMENTATION.md +++ b/IMPLEMENTATION.md @@ -223,9 +223,9 @@ Note that filters may take a moment to apply. } // Higher frequencies get suppressed, while lower frequencies pass through this filter, thus the name low pass. - // Any smoothing values below 0.5 will disable the filter. + // Any smoothing values below 1 will disable the filter. "lowPass": { - "smoothing": 20.0 // 0.5 ≤ x + "smoothing": 20.0 // 1.0 ≤ x } } ``` diff --git a/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt b/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt index 6218df275..4058508cf 100644 --- a/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt +++ b/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt @@ -164,7 +164,7 @@ class LowPassConfig( .setSmoothing(smoothing) } - override val isEnabled: Boolean get() = smoothing >= 0.5f + override val isEnabled: Boolean get() = smoothing >= 1.0f } abstract class FilterConfig { From 956c5c7cd41900ba40802578f1a2639b031cec72 Mon Sep 17 00:00:00 2001 From: Devoxin Date: Thu, 23 Jun 2022 15:18:58 +0100 Subject: [PATCH 4/4] Enforce >1.0 --- IMPLEMENTATION.md | 4 ++-- .../main/java/lavalink/server/player/filters/filterConfigs.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/IMPLEMENTATION.md b/IMPLEMENTATION.md index 856927ea2..3c281e027 100644 --- a/IMPLEMENTATION.md +++ b/IMPLEMENTATION.md @@ -223,9 +223,9 @@ Note that filters may take a moment to apply. } // Higher frequencies get suppressed, while lower frequencies pass through this filter, thus the name low pass. - // Any smoothing values below 1 will disable the filter. + // Any smoothing values equal to, or less than 1.0 will disable the filter. "lowPass": { - "smoothing": 20.0 // 1.0 ≤ x + "smoothing": 20.0 // 1.0 < x } } ``` diff --git a/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt b/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt index 4058508cf..b95ccdf7e 100644 --- a/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt +++ b/LavalinkServer/src/main/java/lavalink/server/player/filters/filterConfigs.kt @@ -164,7 +164,7 @@ class LowPassConfig( .setSmoothing(smoothing) } - override val isEnabled: Boolean get() = smoothing >= 1.0f + override val isEnabled: Boolean get() = smoothing > 1.0f } abstract class FilterConfig {