topical media & game development
lib-js-math-calculator-beat.htm / htm
<!-- TWO STEPS TO INSTALL BEAT COUNTER:
1. Copy the coding into the HEAD of your HTML document
2. Add the last code into the BODY of your HTML document -->
<!-- STEP ONE: Paste this code into the HEAD of your HTML document -->
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Derek Chilcote-Batto (dac-b@usa.net) -->
<!-- Web Site: http://www.mixed.net -->
<!-- Modified by: Ronnie T. Moore, Editor -->
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Begin
secs2 = 0;
count = 0;
allBpm = 0;
avgBpm = 0;
bpm = 0;
ns = (navigator.appName == 'Netscape');
ie = (navigator.appName == 'Microsoft Internet Explorer');
function bpmCounter(e) {
if (ns) clearBpm = e.which;
else if (ie) clearBpm = event.button;
timeSeconds = new Date;
secs = timeSeconds.getTime();
if (count == 0) {
document.BEATSPERMINUTE.AVG.value = "";
document.BEATSPERMINUTE.NOW.value = "READY! Start NOW!";
document.BEATSPERMINUTE.HIT.value = "";
document.BEATSPERMINUTE.ACG.value = "";
document.BEATSPERMINUTE.NCG.value = "";
secs2 = secs;
count++;
}
else {
oldBpm = bpm;
bpm = (1 / ((secs - secs2) / 1000)) * 60;
bpmChg = (Math.round((bpm - oldBpm) * 10)) / 10;
count++;
allBpm = allBpm + bpm;
oldAvg = avgBpm;
avgBpm = allBpm / (count - 1);
avgChg = (Math.round((avgBpm - oldAvg) * 10)) / 10;
secs2 = secs;
if (bpmChg >= 0) { PbpmChg = "+" + bpmChg } else { PbpmChg = bpmChg }
if (avgChg >= 0) { PavgChg = "+" + avgChg } else { PavgChg = avgChg }
document.BEATSPERMINUTE.AVG.value = (Math.round(avgBpm * 100)) / 100;
document.BEATSPERMINUTE.ACG.value = PavgChg;
document.BEATSPERMINUTE.NOW.value = (Math.round(bpm * 100)) / 100;
document.BEATSPERMINUTE.NCG.value = PbpmChg;
document.BEATSPERMINUTE.HIT.value = count;
}
return true;
}
document.onkeydown = bpmCounter;
document.onmousedown = bpmCounter;
// End -->
</script>
</HEAD>
<!-- STEP TWO: Copy this code into the BODY of your HTML document -->
<BODY>
<center>
<table border=0 width=400>
<tr><td width=50% align=middle valign=top>
<form name="BEATSPERMINUTE">
<table border=0 cellpadding=3 cellspacing=0 bgcolor="#007700">
<tr><td align=middle>
<table border=0 cellpadding=3 cellspacing=0 bgcolor="#00FF00">
<tr><td align=middle>
<table border=0 cellpadding=4 cellspacing=0 bgcolor="#efefef">
<tr><td><font color="#000000"><tt>AVERAGE BPM</tt></td>
<td><input name="AVG"></td><td><input name="ACG" size=6></td></tr>
<tr><td><font color="#000000"><tt>ONCLICK BPM</tt></td>
<td><input name="NOW"></td><td><input name="NCG" size=6></td></tr>
<tr><td><font color="#000000"><tt>TIMING HITS</tt></td>
<td><input name="HIT"></td><td> </td></tr>
</table>
</td></tr></table>
</td></tr></table>
Click on the page to start the bpm counter<p>
Press a key or click your mouse to measure beats.<br>
You may also <input type=reset value="RESET "> the counter.<br>
Netscape 4.x+ and MSIE 4.x+ compatible.<p>
</form>
</table>
</center>
<p><center>
<font face="arial, helvetica" size="-2">Free JavaScripts provided<br>
by <a href="http://javascriptsource.com">The JavaScript Source</a></font>
</center><p>
<!-- Script Size: 3.00 KB -->
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.