Split media vs emit volume for radio and widget
This commit is contained in:
@@ -135,7 +135,9 @@ export class ItemEmitRuntime {
|
||||
});
|
||||
const gainValue = mix?.gain ?? 0;
|
||||
const panValue = mix?.pan ?? 0;
|
||||
output.gain.gain.linearRampToValueAtTime(gainValue, audioCtx.currentTime + 0.1);
|
||||
const emitVolumeRaw = Number(item.params.emitVolume ?? 100);
|
||||
const emitVolume = Number.isFinite(emitVolumeRaw) ? Math.max(0, Math.min(100, emitVolumeRaw)) / 100 : 1;
|
||||
output.gain.gain.linearRampToValueAtTime(gainValue * emitVolume, audioCtx.currentTime + 0.1);
|
||||
if (output.panner) {
|
||||
const resolvedPan = this.audio.getOutputMode() === 'mono' ? 0 : Math.max(-1, Math.min(1, panValue));
|
||||
output.panner.pan.linearRampToValueAtTime(resolvedPan, audioCtx.currentTime + 0.1);
|
||||
|
||||
@@ -203,8 +203,8 @@ export class RadioStationRuntime {
|
||||
}
|
||||
const streamUrl = String(item.params.streamUrl ?? '').trim();
|
||||
const enabled = item.params.enabled !== false;
|
||||
const volume = Number(item.params.volume ?? 50);
|
||||
const normalizedVolume = Number.isFinite(volume) ? Math.max(0, Math.min(100, volume)) / 100 : 0.5;
|
||||
const mediaVolume = Number(item.params.mediaVolume ?? 50);
|
||||
const normalizedVolume = Number.isFinite(mediaVolume) ? Math.max(0, Math.min(100, mediaVolume)) / 100 : 0.5;
|
||||
const effect = normalizeRadioEffect(item.params.effect);
|
||||
const effectValue = normalizeRadioEffectValue(item.params.effectValue);
|
||||
this.applyEffect(output, audioCtx, effect, effectValue);
|
||||
|
||||
Reference in New Issue
Block a user