From 66881e2ee57ece09d209ead30d327d20897c50ea Mon Sep 17 00:00:00 2001 From: Nytra <14206961+Nytra@users.noreply.github.com> Date: Sun, 5 Jan 2025 17:00:39 +0000 Subject: [PATCH] Add AudioSourceInfo --- .../ProtoFlux/Audio/AudioSourceInfo.cs | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 ProjectObsidian/ProtoFlux/Audio/AudioSourceInfo.cs diff --git a/ProjectObsidian/ProtoFlux/Audio/AudioSourceInfo.cs b/ProjectObsidian/ProtoFlux/Audio/AudioSourceInfo.cs new file mode 100644 index 0000000..87f91a3 --- /dev/null +++ b/ProjectObsidian/ProtoFlux/Audio/AudioSourceInfo.cs @@ -0,0 +1,40 @@ +using System; +using ProtoFlux.Core; +using ProtoFlux.Runtimes.Execution; +using FrooxEngine.ProtoFlux; +using FrooxEngine; + +namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Audio +{ + [NodeCategory("Obsidian/Audio")] + public class AudioSourceInfo : VoidNode + { + public readonly ObjectInput Source; + + [ContinuouslyChanging] + public readonly ValueOutput IsActive; + + public readonly ValueOutput ChannelCount; + + protected override void ComputeOutputs(FrooxEngineContext context) + { + IAudioSource source = Source.Evaluate(context); + if (source != null) + { + IsActive.Write(source.IsActive, context); + ChannelCount.Write(source.ChannelCount, context); + } + else + { + IsActive.Write(false, context); + ChannelCount.Write(0, context); + } + } + + public AudioSourceInfo() + { + IsActive = new ValueOutput(this); + ChannelCount = new ValueOutput(this); + } + } +} \ No newline at end of file