diff --git a/frontend/src/components/Admin/Stations/Form/BackendForm.vue b/frontend/src/components/Admin/Stations/Form/BackendForm.vue
index 75599fcaf6c..4dd8c6cb697 100644
--- a/frontend/src/components/Admin/Stations/Form/BackendForm.vue
+++ b/frontend/src/components/Admin/Stations/Form/BackendForm.vue
@@ -56,6 +56,32 @@
>{{ $gettext('Learn More about Post-processing CPU Impact') }}
+
+
+
+
+
+ {{
+ $gettext('Calculate and use normalized volume level metadata for each track.')
+ }}
+
+
+
+
@@ -169,16 +196,6 @@
-
-
-
-
@@ -192,7 +209,7 @@
@@ -203,23 +220,6 @@
-
-
- {{
- $gettext('Instruct Liquidsoap to use any replaygain metadata associated with a song to control its volume level. This may increase CPU consumption.')
- }}
- {{ $gettext('Learn More about Replaygain') }}
-
-
-
{{ label }}
@@ -57,9 +57,12 @@ import FormGroup from "~/components/Form/FormGroup.vue";
import {formFieldProps, useFormField} from "~/components/Form/useFormField";
import {useSlots} from "vue";
import FormCheckbox from "~/components/Form/FormCheckbox.vue";
+import formLabelProps from "~/components/Form/formLabelProps.ts";
+import {pickProps} from "~/functions/pickProps.ts";
const props = defineProps({
...formFieldProps,
+ ...formLabelProps,
id: {
type: String,
required: true
@@ -82,10 +85,6 @@ const props = defineProps({
return {};
}
},
- advanced: {
- type: Boolean,
- default: false
- }
});
const slots = useSlots();
diff --git a/frontend/src/components/Form/FormGroupField.vue b/frontend/src/components/Form/FormGroupField.vue
index 6683a076748..a512f3124a0 100644
--- a/frontend/src/components/Form/FormGroupField.vue
+++ b/frontend/src/components/Form/FormGroupField.vue
@@ -9,7 +9,7 @@
>
{{ $gettext('Advanced') }}
+
+
+ {{ $gettext('High CPU') }}
+
diff --git a/frontend/src/components/Form/formLabelProps.ts b/frontend/src/components/Form/formLabelProps.ts
new file mode 100644
index 00000000000..e59c9aed741
--- /dev/null
+++ b/frontend/src/components/Form/formLabelProps.ts
@@ -0,0 +1,10 @@
+export default {
+ advanced: {
+ type: Boolean,
+ default: false
+ },
+ highCpu: {
+ type: Boolean,
+ default: false
+ }
+}
diff --git a/src/Entity/StationBackendConfiguration.php b/src/Entity/StationBackendConfiguration.php
index 14ddbbc92e9..1db4d91823c 100644
--- a/src/Entity/StationBackendConfiguration.php
+++ b/src/Entity/StationBackendConfiguration.php
@@ -268,6 +268,11 @@ public function setMasterMeLoudnessTarget(?int $masterMeLoudnessTarget): void
public function useReplayGain(): bool
{
+ // AutoCue overrides this functionality.
+ if ($this->getEnableAutoCue()) {
+ return false;
+ }
+
return Types::boolOrNull($this->get(self::USE_REPLAYGAIN)) ?? false;
}
@@ -280,6 +285,11 @@ public function setUseReplayGain(?bool $useReplayGain): void
public function getCrossfadeTypeEnum(): CrossfadeModes
{
+ // AutoCue overrides this functionality.
+ if ($this->getEnableAutoCue()) {
+ return CrossfadeModes::Disabled;
+ }
+
return CrossfadeModes::tryFrom(
Types::stringOrNull($this->get(self::CROSSFADE_TYPE)) ?? ''
) ?? CrossfadeModes::default();