From f88c04abea5b93b632f612a321dfe2b38ede82fa Mon Sep 17 00:00:00 2001 From: Onek8 Date: Thu, 3 Jul 2025 01:22:44 +0000 Subject: [PATCH] Add leenkx/Sources/leenkx/logicnode/GetPositionSpeakerNode.hx --- .../logicnode/GetPositionSpeakerNode.hx | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 leenkx/Sources/leenkx/logicnode/GetPositionSpeakerNode.hx diff --git a/leenkx/Sources/leenkx/logicnode/GetPositionSpeakerNode.hx b/leenkx/Sources/leenkx/logicnode/GetPositionSpeakerNode.hx new file mode 100644 index 0000000..66ced5f --- /dev/null +++ b/leenkx/Sources/leenkx/logicnode/GetPositionSpeakerNode.hx @@ -0,0 +1,33 @@ +package leenkx.logicnode; + +#if lnx_audio +import iron.object.SpeakerObject; +import kha.audio1.AudioChannel; +#end + +class GetPositionSpeakerNode extends LogicNode { + + public function new(tree: LogicTree) { + super(tree); + } + + override function get(from: Int): Dynamic { + #if lnx_audio + var object: SpeakerObject = cast(inputs[0].get(), SpeakerObject); + if (object == null || object.sound == null) return 0.0; + + if (object.channels.length == 0) return 0.0; + + var channel = object.channels[0]; + + var position = 0.0; + if (channel != null) { + position = @:privateAccess channel.get_position(); + } + + return position; + #else + return 0.0; + #end + } +}