41 lines
804 B
Haxe
41 lines
804 B
Haxe
package leenkx.logicnode;
|
|
import aura.Aura;
|
|
import aura.Types;
|
|
import aura.types.HRTF;
|
|
import aura.dsp.panner.HRTFPanner;
|
|
|
|
class AudioHRTFPannerNode 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 mhr_file = "Default_mhr";
|
|
if (property0 == "Custom"){
|
|
mhr_file = inputs[5].get();
|
|
}
|
|
new HRTFPanner(audio, Aura.getHRTF(mhr_file));
|
|
|
|
var camera = inputs[2].get();
|
|
Aura.listener.set(camera.worldPosition, camera.look, camera.right);
|
|
|
|
audio.panner.setLocation(inputs[3].get());
|
|
|
|
audio.panner.update3D();
|
|
|
|
runOutput(0);
|
|
}
|
|
|
|
override function get(from:Int): Dynamic {
|
|
return audio;
|
|
}
|
|
|
|
}
|