Files
LNXSDK/leenkx/Sources/leenkx/logicnode/AudioStereoPannerNode.hx
2025-01-22 16:18:30 +01:00

46 lines
883 B
Haxe

package leenkx.logicnode;
import aura.Types;
import aura.dsp.panner.StereoPanner;
class AudioStereoPannerNode extends LogicNode {
public var property0: String;
public var audio: Dynamic;
public function new(tree:LogicTree) {
super(tree);
}
override function run(from: Int) {
audio = inputs[1].get();
if (audio == null){
return;
}
var panner = new StereoPanner(audio);
switch(property0){
case "CENTER":
panner.setBalance(Balance.CENTER);
case "LEFT":
panner.setBalance(Balance.LEFT);
case "RIGHT":
panner.setBalance(Balance.RIGHT);
case "Degrees":
var int = inputs[2].get();
if(int > 89){
panner.setBalance(Deg(89));
}else if(int < -89){
panner.setBalance(Deg(-89));
}else{
panner.setBalance(Deg(int));
}
}
runOutput(0);
}
override function get(from:Int): Dynamic {
return audio;
}
}