topical media & game development

talk show tell print

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.