Changeset 30093 for main/trunk/model-sites-dev/respooled/collect/popup-video-respooled/js/jquery-drums.js
- Timestamp:
- 2015-08-04T13:50:35+12:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/model-sites-dev/respooled/collect/popup-video-respooled/js/jquery-drums.js
r29938 r30093 1 1 // Based on: 2 2 // http://www.theonlytutorials.com/jquery-drum-sets-html5-audio-tag-example/ 3 4 5 var hitDrumStartCurrentTime = null; 6 var hitDrumEndCurrentTime; 7 var hitDrumMidiPitch; 8 var hitDrumMidiPitchReadable; 9 10 function calcDrumMidiNoteInfo() { 11 if (hitDrumStartCurrentTime != null) { 12 13 var hitDrumDuration = hitDrumEndCurrentTime - hitDrumStartCurrentTime; 14 15 // console.log("**** " + playedNotePitch + " (midi pitch = " + playedMidiPitch+ ") startTime = ", relativePlayStartTime + ", duration = " + playedDuration); 16 17 if (mediaPlayedNotes[String(mediaStartPlayTime)]) { 18 19 mediaPlayedNotes[String(mediaStartPlayTime)].push( 20 { 'type' : "drum", 21 'midiPitch' : hitDrumMidiPitch, 22 //'midiNoteOn' : relativePlayedNoteStartTime, 23 //'midiNoteOff' : relativePlayedNoteEndTime, 24 'startCurrentTime' : hitDrumStartCurrentTime, 25 'duration' : hitDrumDuration, 26 'startPercTime': hitDrumStartCurrentTime/mediaPlayer.duration, 27 'humanReadble' : hitDrumMidiPitchReadable } 28 ); 29 } 30 31 } 32 } 3 33 4 34 $(document).ready(function() { … … 26 56 27 57 $('.drum').mousedown(function() { 58 59 hitDrumStartCurrentTime = mediaPlayer.currentTime; 60 hitDrumMidiPitchReadable = $(this).attr('id'); 61 hitDrumMidiPitch = hitDrumMidiPitchReadable.replace(/^drum/,""); 28 62 29 63 //find the drum hit and play the respective audio … … 31 65 drum = eval(drum); 32 66 33 if (drum.ended) { 67 if (drum.ended) { 34 68 $(this).addClass('hit'); 35 69 drum.play(); … … 40 74 console.log("Error thrown when playing drum sound: " + e); 41 75 } 76 77 // Force finish of previous drum hit 78 hitDrumEndCurrentTime = mediaPlayer.currentTime; 79 calcDrumMidiNoteInfo(); 80 hitDrumStartCurrentTime = mediaPlayer.currentTime; 81 hitDrumEndCurrentTime = null; 82 42 83 $(this).addClass('hit'); 43 84 drum.play(); … … 46 87 47 88 $('.drum').mouseup(function() { 89 hitDrumEndCurrentTime = mediaPlayer.currentTime; 90 calcDrumMidiNoteInfo(); 91 hitDrumStartCurrentTime = null; 92 48 93 $(this).removeClass('hit'); 49 94 });
Note:
See TracChangeset
for help on using the changeset viewer.