From 3363a34d1644caa72a03d1fd0deba375dc0503d2 Mon Sep 17 00:00:00 2001 From: Nytra <14206961+Nytra@users.noreply.github.com> Date: Sun, 5 Jan 2025 18:19:20 +0000 Subject: [PATCH] Fix build error --- ProjectObsidian/Components/Audio/PhaseModulator.cs | 5 +++-- ProjectObsidian/Components/Audio/RingModulator.cs | 4 ++-- ProjectObsidian/Components/Audio/SineShapedRingModulator.cs | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ProjectObsidian/Components/Audio/PhaseModulator.cs b/ProjectObsidian/Components/Audio/PhaseModulator.cs index ff88270..a9c38c1 100644 --- a/ProjectObsidian/Components/Audio/PhaseModulator.cs +++ b/ProjectObsidian/Components/Audio/PhaseModulator.cs @@ -2,6 +2,7 @@ using FrooxEngine; using Elements.Assets; using Obsidian.Elements; +using Elements.Core; namespace Obsidian.Components.Audio { @@ -29,7 +30,7 @@ public int ChannelCount { get { - return CarrierSource.Target?.ChannelCount ?? 0; + return MathX.Min(CarrierSource.Target?.ChannelCount ?? 0, ModulatorSource.Target?.ChannelCount ?? 0); } } @@ -63,7 +64,7 @@ public void Read(Span buffer) where S : unmanaged, IAudioSample float modulationIndex = ModulationIndex.Value; - Algorithms.PhaseModulation(buffer, carrierBuffer, modulatorBuffer, modulationIndex); + Algorithms.PhaseModulation(buffer, carrierBuffer, modulatorBuffer, modulationIndex, channelCount); } } } \ No newline at end of file diff --git a/ProjectObsidian/Components/Audio/RingModulator.cs b/ProjectObsidian/Components/Audio/RingModulator.cs index 66bd4d6..ed5516c 100644 --- a/ProjectObsidian/Components/Audio/RingModulator.cs +++ b/ProjectObsidian/Components/Audio/RingModulator.cs @@ -30,7 +30,7 @@ public int ChannelCount { get { - return CarrierSource.Target?.ChannelCount ?? 0; + return MathX.Min(CarrierSource.Target?.ChannelCount ?? 0, ModulatorSource.Target?.ChannelCount ?? 0); } } @@ -65,7 +65,7 @@ public void Read(Span buffer) where S : unmanaged, IAudioSample float modulationIndex = ModulationIndex.Value; - Algorithms.RingModulation(buffer, carrierBuffer, modulatorBuffer, modulationIndex); + Algorithms.RingModulation(buffer, carrierBuffer, modulatorBuffer, modulationIndex, channelCount); } } } \ No newline at end of file diff --git a/ProjectObsidian/Components/Audio/SineShapedRingModulator.cs b/ProjectObsidian/Components/Audio/SineShapedRingModulator.cs index 16c0c75..dd54820 100644 --- a/ProjectObsidian/Components/Audio/SineShapedRingModulator.cs +++ b/ProjectObsidian/Components/Audio/SineShapedRingModulator.cs @@ -31,7 +31,7 @@ public int ChannelCount { get { - return CarrierSource.Target?.ChannelCount ?? 0; + return MathX.Min(CarrierSource.Target?.ChannelCount ?? 0, ModulatorSource.Target?.ChannelCount ?? 0); } } @@ -66,7 +66,7 @@ public void Read(Span buffer) where S : unmanaged, IAudioSample float modulationIndex = ModulationIndex.Value; - Algorithms.SineShapedRingModulation(buffer, carrierBuffer, modulatorBuffer, modulationIndex); + Algorithms.SineShapedRingModulation(buffer, carrierBuffer, modulatorBuffer, modulationIndex, channelCount); } } } \ No newline at end of file