/* Microsoft Demo: Microphone Recorder using GetUserMedia with Web Audio for visualizations & effects by Jerry Smith Copyright 2015 Microsoft Corporation */ /* global Recorder */ (function() { 'use strict'; //var SorryRapAudio = new Audio('https://www.sorrybox.be/sorryrapinstrumentaal.mp3'); var notSupported = function() { var msg = document.getElementById('alert-banner'); msg.style.display = 'block'; var sb = document.getElementById('start'); sb.style.display = 'none'; var db = document.getElementById('demo-banner'); db.style.display = 'none'; }; if(window.AudioContext || window.webkitAudioContext) { var audioContext = new (window.AudioContext || window.webkitAudioContext)(); } else { notSupported(); return; } // map prefixed APIs navigator.getUserMedia = (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia); // define global variables var opname_modus = document.getElementById('opname_modus').value; var file = null; var button = null; var recIndex = 0; var sourceMic = null; var sourceAudio = null; var myRecorder = null; var recording = false; var playing = false; var myAudio = document.getElementById('demoAudio'); var noSrc = true; //var noSrc = false; var myLyrics; var maxCharactersOnLine = 60; var start; var end; // voor de lyrics var counter; var myPlayTimer; var play_now; window.counter = 0; window.play_now = false; var tempo = 80; // BPM (beats per minute) // 1 minuut heeft 60 sec en aan 80 BPM is dat dus 60/80 voor 1 beat van 1/4 noot // 1/8 noot is hier dus nog eens de helft van // ca. 1 maat is 3 seconden -> 20 maten per minuut, 8 beats op 1 maat => 80BPM var eighthNoteTime = (60 / tempo) / 2; var myRepeatFrequencySec = eighthNoteTime; var myRepeatFrequencyMSec = Math.round(myRepeatFrequencySec*1000); //============================== // create web audio nodes //============================== // create notch filter for 60 Hz var notchFilter = audioContext.createBiquadFilter(); notchFilter.frequency.value = 60.0; notchFilter.type = 'notch'; notchFilter.Q.value = 10.0; var micGain = audioContext.createGain(); // for mic input mute var sourceMix = audioContext.createGain(); // for mixing var visualizerInput = audioContext.createGain(); // final gain for visualizers var outputGain = audioContext.createGain(); // for speaker mute outputGain.gain.value = 0; // mute speakers initially var dynComp = audioContext.createDynamicsCompressor(); // limit output visualizerInput.gain.value = 5; // create a convolver node for room effects var convolver = audioContext.createConvolver(); // create a biquadfilter node for filtering var filter = audioContext.createBiquadFilter(); // create analyzer nodes for visualizations var timeAnalyser = audioContext.createAnalyser(); timeAnalyser.minDecibels = -90; timeAnalyser.maxDecibels = -10; timeAnalyser.smoothingTimeConstant = 0.85; var freqAnalyser = audioContext.createAnalyser(); freqAnalyser.minDecibels = -90; freqAnalyser.maxDecibels = -10; freqAnalyser.smoothingTimeConstant = 0.85; // set up canvas contexts for visualizations var freqCanvas = document.querySelector('.mic-vis__frequency'); var freqCanvasContext = freqCanvas.getContext('2d'); var timeCanvas = document.querySelector('.mic-vis__time'); var timeCanvasContext = timeCanvas.getContext('2d'); var intendedWidth = document.querySelector('.container').clientWidth; freqCanvas.setAttribute('width', intendedWidth); timeCanvas.setAttribute('width', intendedWidth); //============================== // build audio graph //============================== var runRecorder = function() { if (navigator.getUserMedia) { navigator.getUserMedia( { 'audio': true }, // build audio graph with media stream and audio element as sources function(stream) { // initialize mic source if (opname_modus == "opname") sourceMic = audioContext.createMediaStreamSource(stream); // initialize audio element source sourceAudio = audioContext.createMediaElementSource(myAudio); // mix sources if (opname_modus == "opname"){ sourceMic.connect(notchFilter); notchFilter.connect(micGain); micGain.connect(sourceMix); } sourceAudio.connect(sourceMix); // connect source through filter and convolver to visualizer & output sourceMix.connect(convolver); convolver.connect(filter); if (opname_modus == "opname") filter.connect(visualizerInput); filter.connect(outputGain); outputGain.connect(dynComp); dynComp.connect(audioContext.destination); // connect output to visualizers if (opname_modus == "opname"){ visualizerInput.connect(timeAnalyser); visualizerInput.connect(freqAnalyser); } // initialize myRecorder (using recorder.js and recordworker.js) if (opname_modus == "opname") myRecorder = new Recorder(sourceMix); }, function(error) { notSupported(); return; } ); } }; var demoSetup = function() { var sb = document.getElementById('start'); sb.style.display = 'none'; var db = document.getElementById('demo-banner'); db.style.display = 'block'; runRecorder(); }; var startButton = document.getElementById('start'); startButton.style.display = 'block'; startButton.addEventListener('click', demoSetup, false); var demoBanner = document.getElementById('demo-banner'); demoBanner.style.display = 'none'; var toggleGainState = function(elementId, elementClass, outputElement){ var ele = document.getElementById(elementId); return function(){ if (outputElement.gain.value === 0) { outputElement.gain.value = 1; ele.classList.remove(elementClass); } else { outputElement.gain.value = 0; ele.classList.add(elementClass); } }; }; var toggleSpeakerMute = toggleGainState('speakerMute', 'mic-controls__button--selected', outputGain); var toggleMicMute = toggleGainState('micMute', 'mic-controls__button--selected', micGain); var toggleLoopState = function(elementId, elementClass, outputElement){ var ele = document.getElementById(elementId); return function(){ if (outputElement.loop === true) { outputElement.loop = false; ele.classList.remove(elementClass); } else { outputElement.loop = true; ele.classList.add(elementClass); } }; }; var toggleLoop = toggleLoopState('loopButton', 'mic-controls__button--selected', myAudio); var stop = function() { if(recording === true) { myRecorder.stop(); myRecorder.exportWAV(function(s) { myAudio.src = window.URL.createObjectURL(s); noSrc = false; }); } myAudio.pause(); // reset record button recording = false; button = document.getElementById('recordButton'); button.classList.remove('mic-controls__button--selected'); button.classList.add('mic-controls__record'); // reset play button playing = false; button = document.getElementById('playButton'); button.classList.remove('mic-controls__button--selected'); button.classList.add('mic-controls__play'); }; var toggleRecord = function() { if(recording === false) { recording = true; myRecorder.clear(); myRecorder.record(); // change button to 'active' button = document.getElementById('recordButton'); button.classList.add('mic-controls__button--selected'); } else { stop(); } }; var togglePlay = function() { //if(noSrc === false && playing === false && recording !== true) { if(playing === false && recording !== true) { stop(); // werkt niet //SorryRapAudio.play("https://www.sorrybox.be/sorryrapinstrumentaal.mp3"); myAudio.src = "sounds/sorryrapinstrumentaal.mp3"; //myAudio.src = "sounds/sorryraptekst.mp3"; if (opname_modus == "opname"){ // 2017-11-30 //document.getElementById('recordButton').click(); toggleRecord(); } else{ micGain = 0; } myAudio.play(); activate_lyrics(); playing = true; // change button to 'active' button = document.getElementById('playButton'); if (opname_modus == "opname") button.classList.add('mic-controls__button--selected'); } else { stop(); deactivate_lyrics(); //SorryRapAudio.stop(); } }; var playComplete = function() { stop(); }; // save file from url var saveToDisk = function(url) { var blob = null; var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'blob'; xhr.onload = function() { if (this.status === 200) { blob = this.response; // blob is the object the URL pointed to. Recorder.saveFile(blob, 'myRecording' + ( (recIndex < 10) ? '0' : '' ) + recIndex + '.wav' ); recIndex++; } }; xhr.send(); }; var save = function() { stop(); saveToDisk(myAudio.src); }; // initiate load file by clicking hidden type=file button var loadFile = function() { stop(); document.getElementById('loadFiles').click(); noSrc = false; }; // handle details of file load var handleFileSelection = function(evt) { alert("ja!"); var files = evt.target.files; file = files[0]; var url = URL.createObjectURL(file); myAudio.src = url; alert("eind"); }; var effects = { none: { file: 'sounds/impulse-response/trigroom.wav' }, telephone: { file: 'sounds/impulse-response/telephone.wav' }, garage: { file: 'sounds/impulse-response/parkinggarage.wav' }, muffler: { file: 'sounds/impulse-response/muffler.wav' } }; // apply room effect var applyEffect = function() { var effectName = document.getElementById('effectmic-controls').value; var selectedEffect = effects[effectName]; var effectFile = selectedEffect.file; // retrieve the selected impulse response file var request = new XMLHttpRequest(); request.open('GET', effectFile, true); request.responseType = 'arraybuffer'; // decode it and set it as the convolver buffer request.onload = function(){ audioContext.decodeAudioData(request.response, function(buffer){ if (!buffer){ return; } convolver.buffer = buffer; }, function(error){ return; }); }; request.send(); }; // apply filter var filters = { allpass: { frequency: 20000, Q: 1 }, lowpass: { frequency: 400, Q: 1 }, highpass: { frequency: 3000, Q: 1 }, bandpass: { frequency: 1500, Q: 5 } }; var applyFilter = function() { var filterName = document.getElementById('filtermic-controls').value; var selectedFilter = filters[filterName]; filter.type = filterName; filter.frequency.value = selectedFilter.frequency; filter.Q.value = selectedFilter.Q; }; // define controls window.onload = function() { document.getElementById('demoAudio').onended = playComplete; document.getElementById('micMute').onclick = toggleMicMute; document.getElementById('speakerMute').onclick = toggleSpeakerMute; document.getElementById('recordButton').onclick = toggleRecord; document.getElementById('playButton').onclick = togglePlay; document.getElementById('saveButton').onclick = save; document.getElementById('loadButton').onclick = loadFile; document.getElementById('loopButton').onclick = toggleLoop; document.getElementById('effectmic-controls').onchange = applyEffect; document.getElementById('filtermic-controls').onchange = applyFilter; }; //============================= // visualize stream //============================= var visualize = function() { var FREQWIDTH = freqCanvas.width; var FREQHEIGHT = freqCanvas.height; var TIMEWIDTH = timeCanvas.width; var TIMEHEIGHT = timeCanvas.height; // time visualization prep timeAnalyser.fftSize = 2048; var timeBufferLength = timeAnalyser.fftSize; var timeDataArray = new Uint8Array(timeBufferLength); timeCanvasContext.clearRect(0, 0, TIMEWIDTH, TIMEHEIGHT); // frequency visualization prep freqAnalyser.fftSize = 256; var freqBufferLength = freqAnalyser.frequencyBinCount; var freqDataArray = new Uint8Array(freqBufferLength); freqCanvasContext.clearRect(0, 0, FREQWIDTH, FREQHEIGHT); // create time based visualization var drawTime = function() { requestAnimationFrame(drawTime); timeAnalyser.getByteTimeDomainData(timeDataArray); timeCanvasContext.fillStyle = 'rgb(0, 0, 0)'; timeCanvasContext.fillRect(0, 0, TIMEWIDTH, TIMEHEIGHT); timeCanvasContext.lineWidth = 2; timeCanvasContext.strokeStyle = 'rgb(179, 252, 254)'; timeCanvasContext.beginPath(); var sliceWidth = TIMEWIDTH * 1.0 / timeBufferLength; var x = 0; for(var i = 0; i < timeBufferLength; i++) { var v = timeDataArray[i] / 128.0; var y = v * TIMEHEIGHT / 2; if (i === 0) { timeCanvasContext.moveTo(x, y); } else { timeCanvasContext.lineTo(x, y); } x += sliceWidth; } timeCanvasContext.lineTo(timeCanvas.width, timeCanvas.height / 2); timeCanvasContext.stroke(); }; // create frequency based visualization var drawFreq = function() { requestAnimationFrame(drawFreq); freqAnalyser.getByteFrequencyData(freqDataArray); freqCanvasContext.fillStyle = 'rgb(0, 0, 0)'; freqCanvasContext.fillRect(0, 0, FREQWIDTH, FREQHEIGHT); var barWidth = (FREQWIDTH / freqBufferLength); var barHeight; var x = 0; for(var i = 0; i < freqBufferLength; i++) { barHeight = 1.5 * freqDataArray[i]; // blue bars for low signal, red for high freqCanvasContext.fillStyle = 'rgb(' + (179 + barHeight / 1.5) + ', ' + (252 - barHeight / 1.5) + ', 254)'; freqCanvasContext.fillRect(x, FREQHEIGHT - barHeight / 2, barWidth, barHeight / 2); x += barWidth + 1; } }; drawTime(); drawFreq(); }; //============================= // visualize lyrics //============================= Warning: Undefined array key "song_lines" in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 524 function activate_lyrics() { window.counter = 0; window.play_now = true; myPlayTimer = setInterval(ShowMyLyrics, myRepeatFrequencyMSec); } function deactivate_lyrics() { window.play_now = false; clearInterval(myPlayTimer); } function ShowMyLyrics() { if (window.play_now == true){ window.counter++; // de teksten // 1 maat = 4 vierdes = 8 achstes if (window.counter == 2) { document.getElementById("songtext_regel1").innerHTML = ""; document.getElementById("songtext_regel2").innerHTML = "…"; } else if (window.counter == 15) { // opmaat document.getElementById("songtext_regel1").innerHTML = "3"; } else if (window.counter == 17) { document.getElementById("songtext_regel1").innerHTML = "2"; } else if (window.counter == 19) { document.getElementById("songtext_regel1").innerHTML = "1"; document.getElementById("songtext_regel2").innerHTML = "Sorry…"; } else if (window.counter == 21) { document.getElementById("songtext_regel1").innerHTML = "Sorry…"; document.getElementById("songtext_regel2").innerHTML = ""; } else if (window.counter == 23) { document.getElementById("songtext_regel1").innerHTML = "..."; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 566 "; //"We hadden ruzie thuis ..."; } else if (window.counter == 31) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 569 "; //"We hadden ruzie thuis ... "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 570 "; //"je stuurde me van huis"; } else if (window.counter == 35) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 572 "; //"je stuurde me van huis"; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 573 "; //"Ik kan daar niet tegen ..."; } else if (window.counter == 39) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 576 "; //"Ik kan daar niet tegen ..."; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 577 "; //"ik had beter gezwegen"; } else if (window.counter == 43) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 579 "; //"ik had beter gezwegen"; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 580 "; //"Ik maakte die fouten ... "; } else if (window.counter == 47) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 583 "; //"Ik maakte die fouten ... "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 584 "; //"keer op keer "; } else if (window.counter == 51) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 586 "; //"keer op keer "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 587 "; //"maar jouw verdriet ... "; } else if (window.counter == 55) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 590 "; //"maar jouw verdriet ... "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 591 "; //"doet me echt wel zeer"; } else if (window.counter == 59) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 593 "; //"doet me echt wel zeer"; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 594 "; //"Sorry ... "; } else if (window.counter == 63) { // refrein document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 597 "; //"Sorry ... "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 598 "; //"het spijt me"; } else if (window.counter == 67) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 600 "; //"het spijt me"; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 601 "; //"Over wat ik zei, ... "; } else if (window.counter == 71) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 603 "; //"Over wat ik zei, ... "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 604 "; //"over wat ik deed"; } else if (window.counter == 75) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 606 "; //"over wat ik deed"; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 607 "; //"Sorry ... "; } else if (window.counter == 79) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 609 "; //"Sorry ... "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 610 "; //" het spijt me"; } else if (window.counter == 83) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 612 "; //" het spijt me"; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 613 "; //"Ik hoop dat je het "; } else if (window.counter == 87) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 616 "; //"Ik hoop dat je het "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 617 "; //"snel vergeet "; } else if (window.counter == 91) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 619 "; //"snel vergeet "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 620 "; //"Ik zag je op de speelplaats "; } else if (window.counter == 95) { // strofe document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 625 "; //"Ik zag je op de speelplaats "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 626 "; //"met je zwarte boekentas "; } else if (window.counter == 99) { // strofe document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 629 "; //"met je zwarte boekentas "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 630 "; //"Ik duwde je op de grond "; } else if (window.counter == 103) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 633 "; //"Ik duwde je op de grond "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 634 "; //"voor de hele klas"; } else if (window.counter == 107) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 636 "; //"voor de hele klas "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 637 "; //"Ik dacht niet na ..."; } else if (window.counter == 111) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 640 "; //"Ik dacht niet na ..."; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 641 "; //" deed gewoon cool"; } else if (window.counter == 115) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 643 "; //"deed gewoon cool"; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 644 "; //"Neen ik dacht niet na ... "; } else if (window.counter == 119) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 647 "; //"Neen ik dacht niet na ..."; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 648 "; //"over jouw gevoel "; } else if (window.counter == 123) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 650 "; //"over jouw gevoel"; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 651 "; //" Sorry ..."; } else if (window.counter == 127) { // refrein document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 656 "; //"Sorry ... "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 657 "; //"het spijt me"; } else if (window.counter == 131) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 660 "; //"het spijt me"; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 661 "; //"Over wat ik zei, ... "; } else if (window.counter == 135) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 663 "; //"Over wat ik zei, ... "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 664 "; //"over wat ik deed"; } else if (window.counter == 139) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 666 "; //"over wat ik deed"; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 667 "; //"Sorry ... "; } else if (window.counter == 143) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 669 "; //"Sorry ... "; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 670 "; //" het spijt me"; } else if (window.counter == 147) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 672 "; //" het spijt me"; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 673 "; //"Ik hoop dat je het snel vergeet"; } else if (window.counter == 151) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 675 "; //"Ik hoop dat je het snel vergeet"; document.getElementById("songtext_regel2").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 676 "; } else if (window.counter == 154) { document.getElementById("songtext_regel1").innerHTML = " Warning: Trying to access array offset on value of type null in /customers/a/c/9/sorrybox.be/httpd.www/v2/apps/sorryrap/scripts/demo.js.php on line 678 "; document.getElementById("songtext_regel2").innerHTML = "(einde)"; } } } //============================= // *** //============================= applyEffect(); applyFilter(); visualize(); var init = function() { document.getElementById('loadFiles').addEventListener('change', handleFileSelection, false); toggleSpeakerMute(); }; window.addEventListener('load', init, false); return true; }());