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