content/hifi-content/milad/ROLC/Organize/Projects/Hifi-Scripts/opera/zoneReverb.js
2022-02-14 02:04:11 +01:00

130 lines
3.3 KiB
JavaScript

(function(){
var room1Small = new AudioEffectOptions({
bandwidth: 2846.4,
preDelay: 5.9,
lateDelay: 21.9,
reverbTime: 0.8,
earlyDiffusion: 3.6,
lateDiffusion: 5.4,
roomSize: 1.8,
density: 20.0,
bassMult: 1.3,
bassFreq: 183.3,
highGain: -17.0,
highFreq: 8542.9,
modRate: 1.9,
modDepth: 18.9,
earlyGain: -6.0,
lateGain: -6.8,
earlyMixLeft: 36.1,
earlyMixRight: 35.4,
lateMixLeft: 25.0,
lateMixRight: 25.0,
wetDryMix: 55.4
});
var room2Med = new AudioEffectOptions({
bandwidth: 3003.6,
preDelay: 221.2,
lateDelay: 53.4,
reverbTime: 1.6,
earlyDiffusion: 97.1,
lateDiffusion: 100,
roomSize: 14.3,
density: 43.2,
bassMult: 0.7,
bassFreq: 34.5,
highGain: -17.1,
highFreq: 6696.4,
modRate: 3.6,
modDepth: 20,
earlyGain: -5.6,
lateGain: -48.0,
earlyMixLeft: 64.6,
earlyMixRight: 64.3,
lateMixLeft: 50.7,
lateMixRight: 50.0,
wetDryMix: 50.4
});
var room3Large = new AudioEffectOptions({
bandwidth: 3867.9,
preDelay: 21.4,
lateDelay: 12.4,
reverbTime: 1.7,
earlyDiffusion: 100,
lateDiffusion: 100,
roomSize: 51.1,
density: 94.3,
bassMult: 1.4,
bassFreq: 295.3,
highGain: -11.9,
highFreq: 3000,
modRate: 1.9,
modDepth: 45.7,
earlyGain: -4.7,
lateGain: -4.7,
earlyMixLeft: 20.7,
earlyMixRight: 20,
lateMixLeft: 90,
lateMixRight: 90,
wetDryMix: 50
});
var room4Yuge = new AudioEffectOptions({
bandwidth: 4064.3,
preDelay: 10.7,
lateDelay: 5.9,
reverbTime: 4.5,
earlyDiffusion: 100,
lateDiffusion: 100,
roomSize: 91.8,
density: 99.3,
bassMult: 0.7,
bassFreq: 267.3,
highGain: -9.8,
highFreq: 5514.3,
modRate: 1.9,
modDepth: 45.7,
earlyGain: -39.0,
lateGain: -12.9,
earlyMixLeft: 29.6,
earlyMixRight: 30.4,
lateMixLeft: 77.5,
lateMixRight: 78.6,
wetDryMix: 61.1
});
var _id;
var _name;
var _this;
var roomMap = {
"room1:small": room1Small,
"room2:med": room2Med,
"room3:large": room3Large,
"room4:yuge": room4Yuge
};
function setAudioReverb(roomName){
Audio.setReverbOptions(roomMap[roomName]);
Audio.setReverb(true);
print("Reverb is ON.");
}
function ZoneEntity(){
_this = this;
}
ZoneEntity.prototype = {
enterEntity : function(entityID){
_id = entityID;
var userData = Entities.getEntityProperties(entityID,["userData"]).userData;
_name = JSON.parse(userData).name;
print("IN PRE LOAD");
print("name:");
print(_name);
print("IN ENTER ENTITY");
print("IN ENTER ENTITY");
setAudioReverb(_name);
}
};
return new ZoneEntity();
});