feat: loudnorm (#1358)

* feat: loudnorm

* fix

* fix: android only

* fix: toString
This commit is contained in:
My-Responsitories
2025-09-28 22:16:33 +08:00
committed by GitHub
parent 046412b709
commit 22c57bf468
14 changed files with 307 additions and 199 deletions

View File

@@ -2,9 +2,24 @@ enum AudioNormalization {
disable('禁用'),
// ref https://github.com/KRTirtho/spotube/commit/da10ab2e291d4ba4d3082b9a6ae535639fb8f1b7
dynaudnorm('预设 dynaudnorm', 'dynaudnorm=g=5:f=250:r=0.9:p=0.5'),
loudnorm('预设 loudnorm', 'loudnorm=I=-16:LRA=11:TP=-1.5'),
custom('自定义参数');
final String title;
final String param;
const AudioNormalization(this.title, [this.param = '']);
static String getTitleFromConfig(String config) => switch (config) {
'0' => disable.title,
'1' => dynaudnorm.title,
'2' => loudnorm.title,
_ => config,
};
static String getParamFromConfig(String config) => switch (config) {
'0' => disable.param,
'1' => dynaudnorm.param,
'2' => loudnorm.param,
_ => config,
};
}