1
0
Fork 0
mirror of https://github.com/Yetangitu/ampache synced 2025-10-03 09:49:30 +02:00
ampache/modules/UberViz/Main.js
2014-04-01 01:20:49 +02:00

127 lines
No EOL
2.4 KiB
JavaScript

//UberViz Main v0.1
//Handles HTML and wiring data
//Using Three v60
//GLOBAL
var events = new Events();
var simplexNoise = new SimplexNoise();
//MAIN RMP
var UberVizMain = function() {
var stats;
var windowHalfX;
var windowHalfY;
function init() {
console.log("ÜberViz v0.1.0");
if(!Detector.webgl){
Detector.addGetWebGLMessage();
}
//INIT DOCUMENT
document.onselectstart = function() {
return false;
};
document.addEventListener('mousemove', onDocumentMouseMove, false);
document.addEventListener('mousedown', onDocumentMouseDown, false);
document.addEventListener('mouseup', onDocumentMouseUp, false);
document.addEventListener('drop', onDocumentDrop, false);
document.addEventListener('dragover', onDocumentDragOver, false);
window.addEventListener('resize', onResize, false);
window.addEventListener('keydown', onKeyDown, false);
window.addEventListener('keyup', onKeyUp, false);
//STATS
stats = new Stats();
$('#controls').append(stats.domElement);
stats.domElement.id = "stats";
//INIT HANDLERS
AudioHandler.init();
ControlsHandler.init();
VizHandler.init();
FXHandler.init();
onResize();
if (ControlsHandler.vizParams.showControls){
$('#controls').show();
}
update();
}
function update() {
requestAnimationFrame(update);
stats.update();
events.emit("update");
}
function onDocumentDragOver(evt) {
evt.stopPropagation();
evt.preventDefault();
return false;
}
//load dropped MP3
function onDocumentDrop(evt) {
evt.stopPropagation();
evt.preventDefault();
AudioHandler.onMP3Drop(evt);
}
function onKeyDown(event) {
switch ( event.keyCode ) {
case 32: /* space */
AudioHandler.onTap();
break;
case 81: /* q */
toggleControls();
break;
}
}
function onKeyUp(event) {
}
function onDocumentMouseDown(event) {
}
function onDocumentMouseUp(event) {
}
function onDocumentMouseMove(event) {
// mouseX = (event.clientX - windowHalfX) / (windowHalfX);
// mouseY = (event.clientY - windowHalfY) / (windowHalfY);
}
function onResize() {
//windowHalfX = window.innerWidth / 2;
//windowHalfY = window.innerHeight / 2;
VizHandler.onResize();
}
function trace(text){
$("#debugText").text(text);
}
function toggleControls(){
ControlsHandler.vizParams.showControls = !ControlsHandler.vizParams.showControls;
$('#controls').toggle();
VizHandler.onResize();
}
return {
init:init,
trace: trace
};
}();