46 lines
883 B
Haxe
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;
|
|
}
|
|
|
|
}
|