mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 22:51:20 +02:00
reduce number of toybox sound scripts
This commit is contained in:
parent
80fb12b1a4
commit
68d43dc576
8 changed files with 143 additions and 294 deletions
|
@ -1,52 +0,0 @@
|
||||||
// Adds arcade game noises to Toybox.
|
|
||||||
// By Ryan Karpf 10/20/2015
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
var SOUND_URL = "http://hifi-public.s3.amazonaws.com/ryan/ARCADE_GAMES_VID.L.L.wav";
|
|
||||||
var SOUND_POSITION = { x: 543.77, y: 495.07, z: 502.25 };
|
|
||||||
|
|
||||||
var MINUTE = 60 * 1000;
|
|
||||||
var PLAY_SOUND_INTERVAL = 1.5 * MINUTE;
|
|
||||||
|
|
||||||
var audioOptions = {
|
|
||||||
position: SOUND_POSITION,
|
|
||||||
volume: .01,
|
|
||||||
loop: false,
|
|
||||||
};
|
|
||||||
|
|
||||||
var sound = SoundCache.getSound(SOUND_URL);
|
|
||||||
var injector = null;
|
|
||||||
|
|
||||||
function playSound() {
|
|
||||||
print("Playing sound");
|
|
||||||
if (injector) {
|
|
||||||
// try/catch in case the injector QObject has been deleted already
|
|
||||||
try {
|
|
||||||
injector.stop();
|
|
||||||
} catch (e) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
injector = Audio.playSound(sound, audioOptions);
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkDownloaded() {
|
|
||||||
if (sound.downloaded) {
|
|
||||||
print("Sound downloaded.");
|
|
||||||
Script.clearInterval(checkDownloadedTimer);
|
|
||||||
Script.setInterval(playSound, PLAY_SOUND_INTERVAL);
|
|
||||||
playSound();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check once a second to see if the audio file has been downloaded
|
|
||||||
var checkDownloadedTimer = Script.setInterval(checkDownloaded, 1000);
|
|
||||||
|
|
||||||
Script.scriptEnding.connect(function() {
|
|
||||||
if (injector) {
|
|
||||||
injector.stop();
|
|
||||||
}
|
|
||||||
});
|
|
|
@ -1,38 +0,0 @@
|
||||||
// Adds a cat purring noise to Toybox.
|
|
||||||
// By Ryan Karpf 10/20/2015
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
var soundURL = "http://hifi-public.s3.amazonaws.com/ryan/Cat_Purring_Deep_Low_Snor.wav";
|
|
||||||
var position = { x: 551.48, y: 495.60, z: 502.08};
|
|
||||||
var audioOptions = {
|
|
||||||
position: position,
|
|
||||||
volume: .03,
|
|
||||||
loop: true
|
|
||||||
};
|
|
||||||
|
|
||||||
var sound = SoundCache.getSound(soundURL);
|
|
||||||
var injector = null;
|
|
||||||
var count = 300;
|
|
||||||
|
|
||||||
Script.update.connect(function() {
|
|
||||||
if (count > 0) {
|
|
||||||
count--;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sound.downloaded && injector === null) {
|
|
||||||
print("Sound downloaded.");
|
|
||||||
injector = Audio.playSound(sound, audioOptions);
|
|
||||||
print("Playing: " + injector);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Script.scriptEnding.connect(function() {
|
|
||||||
if (injector !== null) {
|
|
||||||
injector.stop();
|
|
||||||
}
|
|
||||||
});
|
|
|
@ -1,52 +0,0 @@
|
||||||
// Adds a dogs barking noise to Toybox.
|
|
||||||
// By Ryan Karpf 10/20/2015
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
var SOUND_URL = "http://hifi-public.s3.amazonaws.com/ryan/dogs_barking_1.L.wav";
|
|
||||||
var SOUND_POSITION = { x: 523, y: 495, z: 469 };
|
|
||||||
|
|
||||||
var MINUTE = 60 * 1000;
|
|
||||||
var PLAY_SOUND_INTERVAL = 1 * MINUTE;
|
|
||||||
|
|
||||||
var audioOptions = {
|
|
||||||
position: SOUND_POSITION,
|
|
||||||
volume: .05,
|
|
||||||
loop: false,
|
|
||||||
};
|
|
||||||
|
|
||||||
var sound = SoundCache.getSound(SOUND_URL);
|
|
||||||
var injector = null;
|
|
||||||
|
|
||||||
function playSound() {
|
|
||||||
print("Playing sound");
|
|
||||||
if (injector) {
|
|
||||||
// try/catch in case the injector QObject has been deleted already
|
|
||||||
try {
|
|
||||||
injector.stop();
|
|
||||||
} catch (e) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
injector = Audio.playSound(sound, audioOptions);
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkDownloaded() {
|
|
||||||
if (sound.downloaded) {
|
|
||||||
print("Sound downloaded.");
|
|
||||||
Script.clearInterval(checkDownloadedTimer);
|
|
||||||
Script.setInterval(playSound, PLAY_SOUND_INTERVAL);
|
|
||||||
playSound();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check once a second to see if the audio file has been downloaded
|
|
||||||
var checkDownloadedTimer = Script.setInterval(checkDownloaded, 1000);
|
|
||||||
|
|
||||||
Script.scriptEnding.connect(function() {
|
|
||||||
if (injector) {
|
|
||||||
injector.stop();
|
|
||||||
}
|
|
||||||
});
|
|
|
@ -1,38 +0,0 @@
|
||||||
// Adds a fireplace noise to Toybox.
|
|
||||||
// By Ryan Karpf 10/20/2015
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
var soundURL = "http://hifi-public.s3.amazonaws.com/ryan/demo/0619_Fireplace__Tree_B.L.wav";
|
|
||||||
var position = { x: 551.61, y: 494.88, z: 502.00};
|
|
||||||
var audioOptions = {
|
|
||||||
position: position,
|
|
||||||
volume: .08,
|
|
||||||
loop: true
|
|
||||||
};
|
|
||||||
|
|
||||||
var sound = SoundCache.getSound(soundURL);
|
|
||||||
var injector = null;
|
|
||||||
var count = 300;
|
|
||||||
|
|
||||||
Script.update.connect(function() {
|
|
||||||
if (count > 0) {
|
|
||||||
count--;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sound.downloaded && injector === null) {
|
|
||||||
print("Sound downloaded.");
|
|
||||||
injector = Audio.playSound(sound, audioOptions);
|
|
||||||
print("Playing: " + injector);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Script.scriptEnding.connect(function() {
|
|
||||||
if (injector !== null) {
|
|
||||||
injector.stop();
|
|
||||||
}
|
|
||||||
});
|
|
|
@ -1,39 +0,0 @@
|
||||||
// Adds an insect noise to Toybox.
|
|
||||||
// By Ryan Karpf 10/20/2015
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var soundURL = "http://hifi-public.s3.amazonaws.com/ryan/insects3.wav";
|
|
||||||
var position = { x: 560, y: 495, z: 474};
|
|
||||||
var audioOptions = {
|
|
||||||
position: position,
|
|
||||||
volume: .25,
|
|
||||||
loop: true
|
|
||||||
};
|
|
||||||
|
|
||||||
var sound = SoundCache.getSound(soundURL);
|
|
||||||
var injector = null;
|
|
||||||
var count = 300;
|
|
||||||
|
|
||||||
Script.update.connect(function() {
|
|
||||||
if (count > 0) {
|
|
||||||
count--;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sound.downloaded && injector === null) {
|
|
||||||
print("Sound downloaded.");
|
|
||||||
injector = Audio.playSound(sound, audioOptions);
|
|
||||||
print("Playing: " + injector);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Script.scriptEnding.connect(function() {
|
|
||||||
if (injector !== null) {
|
|
||||||
injector.stop();
|
|
||||||
}
|
|
||||||
});
|
|
|
@ -1,37 +0,0 @@
|
||||||
// Adds a river water sound to Toybox.
|
|
||||||
// By Ryan Karpf 10/20/2015
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
var soundURL = "http://hifi-public.s3.amazonaws.com/ryan/Water_Lap_River_Edge_Gentle.L.wav";
|
|
||||||
var position = { x: 580, y: 493, z: 528};
|
|
||||||
var audioOptions = {
|
|
||||||
position: position,
|
|
||||||
volume: .4,
|
|
||||||
loop: true
|
|
||||||
};
|
|
||||||
|
|
||||||
var sound = SoundCache.getSound(soundURL);
|
|
||||||
var injector = null;
|
|
||||||
var count = 300;
|
|
||||||
|
|
||||||
Script.update.connect(function() {
|
|
||||||
if (count > 0) {
|
|
||||||
count--;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sound.downloaded && injector === null) {
|
|
||||||
print("Sound downloaded.");
|
|
||||||
injector = Audio.playSound(sound, audioOptions);
|
|
||||||
print("Playing: " + injector);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Script.scriptEnding.connect(function() {
|
|
||||||
if (injector !== null) {
|
|
||||||
injector.stop();
|
|
||||||
}
|
|
||||||
});
|
|
143
examples/toys/AC_scripts/toybox_sounds.js
Normal file
143
examples/toys/AC_scripts/toybox_sounds.js
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
//
|
||||||
|
// toys/AC_scripts/toybox_sounds.js
|
||||||
|
//
|
||||||
|
// This script adds several sounds to the correct locations for toybox.
|
||||||
|
// By James B. Pollack @imgntn 10/21/2015
|
||||||
|
//
|
||||||
|
// Distributed under the Apache License, Version 2.0.
|
||||||
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
var soundMap = [{
|
||||||
|
name: 'river water',
|
||||||
|
url: "http://hifi-public.s3.amazonaws.com/ryan/Water_Lap_River_Edge_Gentle.L.wav",
|
||||||
|
audioOptions: {
|
||||||
|
position: {
|
||||||
|
x: 580,
|
||||||
|
y: 493,
|
||||||
|
z: 528
|
||||||
|
},
|
||||||
|
volume: 0.4,
|
||||||
|
loop: true
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
name: 'windmill',
|
||||||
|
url: "http://hifi-public.s3.amazonaws.com/ryan/WINDMILL_Mono.wav",
|
||||||
|
audioOptions: {
|
||||||
|
position: {
|
||||||
|
x: 530,
|
||||||
|
y: 516,
|
||||||
|
z: 518
|
||||||
|
},
|
||||||
|
volume: 0.08,
|
||||||
|
loop: true
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
name: 'insects',
|
||||||
|
url: "http://hifi-public.s3.amazonaws.com/ryan/insects3.wav",
|
||||||
|
audioOptions: {
|
||||||
|
position: {
|
||||||
|
x: 560,
|
||||||
|
y: 495,
|
||||||
|
z: 474
|
||||||
|
},
|
||||||
|
volume: 0.25,
|
||||||
|
loop: true
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
name: 'fireplace',
|
||||||
|
url: "http://hifi-public.s3.amazonaws.com/ryan/demo/0619_Fireplace__Tree_B.L.wav",
|
||||||
|
audioOptions: {
|
||||||
|
position: {
|
||||||
|
x: 551.61,
|
||||||
|
y: 494.88,
|
||||||
|
z: 502.00
|
||||||
|
},
|
||||||
|
volume: 0.25,
|
||||||
|
loop: true
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
name: 'cat purring',
|
||||||
|
url: "http://hifi-public.s3.amazonaws.com/ryan/Cat_Purring_Deep_Low_Snor.wav",
|
||||||
|
audioOptions: {
|
||||||
|
position: {
|
||||||
|
x: 551.48,
|
||||||
|
y: 495.60,
|
||||||
|
z: 502.08
|
||||||
|
},
|
||||||
|
volume: 0.25,
|
||||||
|
loop: true
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
name: 'dogs barking',
|
||||||
|
url: "http://hifi-public.s3.amazonaws.com/ryan/dogs_barking_1.L.wav",
|
||||||
|
audioOptions: {
|
||||||
|
position: {
|
||||||
|
x: 551.61,
|
||||||
|
y: 494.88,
|
||||||
|
z: 502.00
|
||||||
|
},
|
||||||
|
volume: 0.15,
|
||||||
|
loop: false
|
||||||
|
},
|
||||||
|
playAtInterval: 60 * 1000
|
||||||
|
}];
|
||||||
|
|
||||||
|
function loadSounds() {
|
||||||
|
soundMap.forEach(function(soundData) {
|
||||||
|
soundData.sound = SoundCache.getSound(soundData.url);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function playSound(soundData) {
|
||||||
|
if (soundData.injector) {
|
||||||
|
// try/catch in case the injector QObject has been deleted already
|
||||||
|
try {
|
||||||
|
soundData.injector.stop();
|
||||||
|
} catch (e) {}
|
||||||
|
}
|
||||||
|
soundData.injector = Audio.playSound(soundData.sound, soundData.audioOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkDownloaded(soundData) {
|
||||||
|
if (soundData.sound.downloaded) {
|
||||||
|
Script.clearInterval(soundData.downloadTimer);
|
||||||
|
if (soundData.hasOwnProperty('playAtInterval')) {
|
||||||
|
soundData.playingInterval = Script.setInterval(function() {
|
||||||
|
playSound(soundData);
|
||||||
|
}, soundData.playAtInterval);
|
||||||
|
} else {
|
||||||
|
playSound(soundData);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function startCheckDownloadedTimers() {
|
||||||
|
soundMap.forEach(function(soundData) {
|
||||||
|
soundData.downloadTimer = Script.setInterval(function() {
|
||||||
|
checkDownloaded(soundData)
|
||||||
|
}, 1000);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Script.scriptEnding.connect(function() {
|
||||||
|
soundMap.forEach(function(soundData) {
|
||||||
|
if (soundData.hasOwnProperty("injector")) {
|
||||||
|
soundData.injector.stop();
|
||||||
|
}
|
||||||
|
if (soundData.hasOwnProperty("downloadTimer")) {
|
||||||
|
Script.clearInterval(soundData.downloadTimer);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (soundData.hasOwnProperty("playingInterval")) {
|
||||||
|
Script.clearInterval(soundData.playingInterval);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
loadSounds();
|
||||||
|
startCheckDownloadedTimers();
|
|
@ -1,38 +0,0 @@
|
||||||
// Adds a windmill noise to toybox.
|
|
||||||
// By Ryan Karpf 10/20/2015
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
var soundURL = "http://hifi-public.s3.amazonaws.com/ryan/WINDMILL_Mono.wav";
|
|
||||||
var position = { x: 530, y: 516, z: 518};
|
|
||||||
var audioOptions = {
|
|
||||||
position: position,
|
|
||||||
volume: .08,
|
|
||||||
loop: true
|
|
||||||
};
|
|
||||||
|
|
||||||
var sound = SoundCache.getSound(soundURL);
|
|
||||||
var injector = null;
|
|
||||||
var count = 300;
|
|
||||||
|
|
||||||
Script.update.connect(function() {
|
|
||||||
if (count > 0) {
|
|
||||||
count--;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sound.downloaded && injector === null) {
|
|
||||||
print("Sound downloaded.");
|
|
||||||
injector = Audio.playSound(sound, audioOptions);
|
|
||||||
print("Playing: " + injector);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Script.scriptEnding.connect(function() {
|
|
||||||
if (injector !== null) {
|
|
||||||
injector.stop();
|
|
||||||
}
|
|
||||||
});
|
|
Loading…
Reference in a new issue