summaryrefslogtreecommitdiff
path: root/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/dymaxion/soundmanagerv297a-20101010/demo/mpc')
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/acoustic-drumkit.xml33
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_BD_1.mp3bin0 -> 12416 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_FTM2.mp3bin0 -> 15174 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HHCL.mp3bin0 -> 5642 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HHOP.mp3bin0 -> 45139 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HHPD.mp3bin0 -> 7523 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HTM.mp3bin0 -> 15986 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_LTM2.mp3bin0 -> 20062 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_MTM.mp3bin0 -> 18808 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_RIM1.mp3bin0 -> 5955 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_SN13.mp3bin0 -> 17554 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_SN_5.mp3bin0 -> 15046 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CHINA_1.mp3bin0 -> 46393 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CRASH_1.mp3bin0 -> 61440 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CRASH_5.mp3bin0 -> 53603 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CRASH_6.mp3bin0 -> 44512 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/RIDE_1.mp3bin0 -> 49841 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/RIDE_3.mp3bin0 -> 38243 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/SPLASH_1.mp3bin0 -> 24764 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/css/mpc.css164
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/image/progress.pngbin0 -> 1925 bytes
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/index.html72
-rwxr-xr-xdocs/dymaxion/soundmanagerv297a-20101010/demo/mpc/script/mpc.js144
23 files changed, 413 insertions, 0 deletions
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/acoustic-drumkit.xml b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/acoustic-drumkit.xml
new file mode 100755
index 0000000..3d6606a
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/acoustic-drumkit.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Acoustic drumkit example sounds
+ Source credit: http://www.akaipro.com/arc_kotw.html
+-->
+
+<!-- SoundManager Flash configuration -->
+<!-- Sound IDs are referenced from JS -->
+
+<items baseHref="audio/"> <!-- baseHref is optional, but note the trailing slash if used. -->
+
+ <sound id="s0" href="AMB_BD_1.mp3" />
+ <sound id="s1" href="AMB_FTM2.mp3" />
+ <sound id="s2" href="AMB_HHCL.mp3" />
+ <sound id="s3" href="AMB_HHOP.mp3" />
+ <sound id="s4" href="AMB_HHPD.mp3" />
+ <sound id="s5" href="AMB_HTM.mp3" />
+ <sound id="s6" href="AMB_LTM2.mp3" />
+ <sound id="s7" href="AMB_MTM.mp3" />
+ <sound id="s8" href="AMB_RIM1.mp3" />
+ <sound id="s9" href="AMB_SN13.mp3" />
+ <sound id="s10" href="AMB_SN_5.mp3" />
+ <sound id="s11" href="CHINA_1.mp3" />
+ <sound id="s12" href="CRASH_1.mp3" />
+ <sound id="s13" href="CRASH_5.mp3" />
+ <sound id="s14" href="CRASH_6.mp3" />
+ <sound id="s15" href="RIDE_1.mp3" />
+<!--
+ <sound id="s16" href="RIDE_3.mp3" />
+ <sound id="s17" href="SPLASH_1.mp3" />
+-->
+</items> \ No newline at end of file
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_BD_1.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_BD_1.mp3
new file mode 100755
index 0000000..ac40028
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_BD_1.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_FTM2.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_FTM2.mp3
new file mode 100755
index 0000000..a181e07
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_FTM2.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HHCL.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HHCL.mp3
new file mode 100755
index 0000000..5833134
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HHCL.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HHOP.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HHOP.mp3
new file mode 100755
index 0000000..679376c
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HHOP.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HHPD.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HHPD.mp3
new file mode 100755
index 0000000..79bf78c
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HHPD.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HTM.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HTM.mp3
new file mode 100755
index 0000000..990d8f1
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_HTM.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_LTM2.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_LTM2.mp3
new file mode 100755
index 0000000..d9c371c
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_LTM2.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_MTM.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_MTM.mp3
new file mode 100755
index 0000000..cadd93e
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_MTM.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_RIM1.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_RIM1.mp3
new file mode 100755
index 0000000..354c35a
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_RIM1.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_SN13.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_SN13.mp3
new file mode 100755
index 0000000..319348c
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_SN13.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_SN_5.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_SN_5.mp3
new file mode 100755
index 0000000..baf7a87
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/AMB_SN_5.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CHINA_1.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CHINA_1.mp3
new file mode 100755
index 0000000..18a5142
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CHINA_1.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CRASH_1.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CRASH_1.mp3
new file mode 100755
index 0000000..db77301
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CRASH_1.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CRASH_5.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CRASH_5.mp3
new file mode 100755
index 0000000..4d999f2
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CRASH_5.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CRASH_6.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CRASH_6.mp3
new file mode 100755
index 0000000..d20ec27
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/CRASH_6.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/RIDE_1.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/RIDE_1.mp3
new file mode 100755
index 0000000..1e5601c
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/RIDE_1.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/RIDE_3.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/RIDE_3.mp3
new file mode 100755
index 0000000..701e150
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/RIDE_3.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/SPLASH_1.mp3 b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/SPLASH_1.mp3
new file mode 100755
index 0000000..77cb0de
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/audio/SPLASH_1.mp3
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/css/mpc.css b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/css/mpc.css
new file mode 100755
index 0000000..dd10668
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/css/mpc.css
@@ -0,0 +1,164 @@
+/* Demo/example CSS - not needed for general use */
+
+body {
+ background:#000;
+ font:normal 75% "helvetica neue",helvetica,verdana,arial,tahoma,"times new roman","sans serif";
+ color:#fff;
+ margin:0px;
+ padding:0px;
+}
+
+#background {
+ position:absolute;
+ left:0px;
+ top:0px;
+ width:100%;
+ height:100%;
+ background:transparent url(http://farm1.static.flickr.com/45/191496680_97cdc5351b_b.jpg) no-repeat 50% 50%;
+}
+
+#site {
+ position:relative;
+ z-index:2;
+ background:rgba(0,0,0,0.5);
+ padding:1em;
+}
+
+#site h1 {
+ margin-top:0px;
+}
+
+#site p {
+ margin:0.5em 0px 0.5em 0px;
+}
+
+#site p:last-child {
+ margin:0px;
+}
+
+.clear {
+ float:none;
+ clear:both;
+ font-size:1px;
+ line-height:1px;
+ height:1px;
+ overflow:hidden;
+}
+
+#mpc {
+ position:absolute;
+ left:50%;
+ top:50%;
+ margin-left:-19em;
+ margin-top:-19em;
+ width:38em;
+ _width:37.3em;
+ border:3px solid #666;
+ border:3px solid rgba(255,255,255,0.25);
+ -moz-border-radius:12px;
+ -webkit-border-radius:12px;
+ border-radius:12px;
+ z-index:2;
+}
+
+#mpc #wrapper {
+ position:relative;
+ background:#333;
+ background:rgba(0,0,0,0.5);
+ padding:0.5em;
+ -moz-border-radius:12px;
+ -webkit-border-radius:12px;
+ border-radius:12px;
+}
+
+#mpc ul {
+ margin:0px;
+ padding:0px;
+ margin-left:2px;
+ *margin-left:1em;
+ _margin-left:2px;
+ padding:2px 0px 2px 0px;
+}
+
+#mpc ul li {
+ position:relative;
+ float:left;
+ display:inline;
+ width:7em;
+ height:7em;
+ margin:0.5em;
+ background:#999;
+ border:1px solid rgba(0,0,0,0.75);
+ -moz-border-radius:2px;
+ -webkit-border-radius:2px;
+ border-radius:2px;
+ font:normal 1em/1em "helvetica",verdana,arial,system;
+ padding:0.5em;
+ cursor:pointer;
+ cursor:hand;
+ color:#eee;
+ text-transform:uppercase;
+ font-weight:bold;
+}
+
+#mpc ul li span {
+ text-transform:none;
+ font-weight:normal;
+ color:#ccc;
+}
+
+#mpc ul li.active {
+ background:#666;
+}
+
+#mpc ul li div {
+ /* progress indicator */
+ position:absolute;
+ left:0px;
+ bottom:1em;
+ font-size:1em;
+ line-height:1em;
+ height:1em;
+ margin:0px 0px 0px 1em;
+ width:6em;
+ background:#888 url(../image/progress.png) no-repeat -256px 0px;
+ background-repeat:no-repeat;
+ border:1px solid #666;
+ visibility:hidden;
+}
+
+#mpc ul li.active div,
+#mpc ul li.loading div {
+ visibility:visible;
+}
+
+#soundmanager-debug {
+ position:absolute;
+ right:20px;
+ bottom:20px;
+ height:12em;
+ width:50em;
+ overflow:auto;
+ margin-left:1em;
+}
+
+#soundmanager-debug div {
+ font-size:11px;
+ font-family: "lucida console",system,terminal,verdana,arial; /* IE doesn't seem to obey short-hand font family here? */
+ padding:0px 1em 0.5em 0px;
+}
+
+#mpc-debug,
+.note {
+ color:#999;
+}
+
+#mpc-debug a,
+.note a {
+ color:#6699cc;
+ text-decoration:none;
+}
+
+#isHTML5 {
+ display:none;
+} \ No newline at end of file
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/image/progress.png b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/image/progress.png
new file mode 100755
index 0000000..54f9631
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/image/progress.png
Binary files differ
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/index.html b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/index.html
new file mode 100755
index 0000000..7dc68f7
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/index.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+<title>SoundManager 2: A Javascript Sound API - MPC Demo</title>
+<meta name="robots" content="noindex" />
+<meta name="description" content="An example drum machine (MPC) demo using the SoundManager 2 JavaScript Audio API" />
+<meta name="keywords" content="javascript mpc, javascript drum machine, javascript sound, javascript audio, DHTML sound, work by Scott Schiller, schillmania, javascript to flash communication" />
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
+<link rel="stylesheet" href="css/mpc.css" media="screen" />
+<!-- soundManager.useFlashBlock: related CSS -->
+<link rel="stylesheet" type="text/css" href="../flashblock/flashblock.css" />
+<script type="text/javascript" src="../../script/soundmanager2.js"></script>
+<script type="text/javascript" src="script/mpc.js"></script>
+</head>
+<body>
+
+<div id="background"></div>
+
+<div id="site">
+
+ <h1 style="margin-bottom:0px"><a href="../" style="color:#99ccff;text-decoration:none">SoundManager 2</a>: Javascript Drum Machine Demo<span id="isHTML5"></span></h1>
+ <h2 style="margin-top:0px;color:#999">Trigger the pads to play different sounds.</h2>
+ <p id="mpc-debug" class="note">View <a href="#debug=1" onclick="window.location.hash='debug=1';window.location.reload()">with debug output</a></p>
+ <p class="note">Photo: <a href="http://www.flickr.com/photos/schill/191496680/">MPC 2500</a> by .schill on Flickr</a></p>
+ <p class="note"><span style="display:none">(If supported): </span><span id="isHTML5">Your browser is cool and is using 100% HTML5 Audio. Look ma, no Flash!</span></p>
+</div>
+
+<div id="mpc">
+
+ <div id="wrapper">
+
+ <ul>
+ <li id="btn-s0" onmousedown="soundManager.play('s0')">1<div></div></li>
+ <li id="btn-s1" onmousedown="soundManager.play('s1')">2<div></div></li>
+ <li id="btn-s2" onmousedown="soundManager.play('s2')">3<div></div></li>
+ <li id="btn-s3" onmousedown="soundManager.play('s3')">4<div></div></li>
+ </ul>
+
+ <ul>
+ <li id="btn-s4" onmousedown="soundManager.play('s4')">q<div></div></li>
+ <li id="btn-s5" onmousedown="soundManager.play('s5')">w<div></div></li>
+ <li id="btn-s6" onmousedown="soundManager.play('s6')">e<div></div></li>
+ <li id="btn-s7" onmousedown="soundManager.play('s7')">r<div></div></li>
+ </ul>
+
+ <ul>
+ <li id="btn-s8" onmousedown="soundManager.play('s8')">a<div></div></li>
+ <li id="btn-s9" onmousedown="soundManager.play('s9')">s<div></div></li>
+ <li id="btn-s10" onmousedown="soundManager.play('s10')">d<div></div></li>
+ <li id="btn-s11" onmousedown="soundManager.play('s11')">f<div></div></li>
+ </ul>
+
+ <ul>
+ <li id="btn-s12" onmousedown="soundManager.play('s12')">z<div></div></li>
+ <li id="btn-s13" onmousedown="soundManager.play('s13')">x<div></div></li>
+ <li id="btn-s14" onmousedown="soundManager.play('s14')">c<div></div></li>
+ <li id="btn-s15" onmousedown="soundManager.play('s15')">v<div></div></li>
+ </ul>
+
+ <div class="clear"></div>
+
+ </div>
+
+</div>
+
+ <script type="text/javascript">if (window.location.href.toString().match(/debug/i)) { document.getElementById('mpc-debug').style.display = 'none'; }</script>
+
+</div>
+
+</body>
+</html>
diff --git a/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/script/mpc.js b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/script/mpc.js
new file mode 100755
index 0000000..3f91667
--- /dev/null
+++ b/docs/dymaxion/soundmanagerv297a-20101010/demo/mpc/script/mpc.js
@@ -0,0 +1,144 @@
+// demo-specific code - not needed for general use
+
+// refer to bottom for initialisation and soundManager tie-ins, however!
+
+var MPC = function() {
+ var self = this;
+ this.idPrefix = 'btn-'; // HTML ID prefix
+ this.statusWidth = 6;
+ this.progressWidth = 256;
+ this.keys = {'1':0,'2':1,'3':2,'4':3,'q':4,'w':5,'e':6,'r':7,'a':8,'s':9,'d':10,'f':11,'z':12,'x':13,'c':14,'v':15}
+
+ // scope within these event handler methods: "this" = SMSound() object instance (see SMSound() in soundmanager.js for reference)
+
+ this.showProgress = function() {
+ // sound is loading, update bytes received using this.bytesLoaded / this.bytesTotal
+ if (self._getButton(this.sID).className != 'loading') self._getButton(this.sID).className = 'loading'; // a bit inefficient here..
+ self._showStatus(this.sID,this.bytesLoaded,this.bytesTotal);
+ }
+
+ this.onid3 = function() {
+ soundManager._writeDebug('mpc.onid3()');
+ var oName = null;
+ for (var oName in this.id3) {
+ soundManager._writeDebug(oName+': '+this.id3[oName]) // write out name/value ID3 pairs (eg. "artist: Beck")
+ }
+ }
+
+ this.onload = function() {
+ var sID = this.sID;
+ self._getButton(this.sID).className = '';
+ self._getButton(this.sID).title = ('Sound ID: '+this.sID+' ('+this.url+')');
+ }
+
+ this.onfinish = function() {
+ self._getButton(this.sID).className = '';
+ self._reset(this.sID);
+ }
+
+ this.onplay = function() {
+ self._getButton(this.sID).className = 'active';
+ }
+
+ this.whileplaying = function() {
+ self._showStatus(this.sID,this.position,this.duration);
+ }
+
+ this._keyHandler = function(e) {
+ var oEvt = e?e:event;
+ var sChar = String.fromCharCode(oEvt.keyCode).toLowerCase();
+ if (typeof self.keys[sChar] != 'undefined') soundManager.play('s'+self.keys[sChar]);
+ }
+
+ this._showStatus = function(sID,n1,n2) {
+ var o = self._getButton(sID).getElementsByTagName('div')[0];
+ var offX = (n2>0?(-self.progressWidth+parseInt((n1/n2)*o.offsetWidth)):-self.progressWidth);
+ o.style.backgroundPosition = offX+'px 0px';
+ }
+
+ this._getButton = function(sID) {
+ return document.getElementById(self.idPrefix+sID);
+ }
+
+ this._reset = function(sID) {
+ var id = sID;
+ self._showStatus(sID,1,1);
+ setTimeout(function(){self._showStatus(sID,0,0);},200);
+ }
+
+ this.init = function() {
+ document.onkeydown = self._keyHandler;
+ }
+
+}
+
+var mpc = new MPC();
+
+soundManager.useHTML5Audio = true; // why not.
+soundManager.flashVersion = (window.location.toString().match(/#flash8/i)?8:9);
+if (soundManager.flashVersion != 8) {
+ soundManager.useHighPerformance = true;
+ soundManager.useFastPolling = true;
+}
+soundManager.url = '../../swf/'; // path to load SWF from (overriding default)
+soundManager.bgcolor = '#333333';
+soundManager.wmode = 'transparent';
+soundManager.debugMode = false;
+soundManager.consoleOnly = false;
+soundManager.useFlashBlock = true;
+
+soundManager.onready(function() {
+
+ // This is the "onload" equivalent which is called when SoundManager has been initialised (sounds can be created, etc.)
+
+ mpc.init();
+
+ // set up some default options / event handlers - so all sounds created are given these handlers
+
+ soundManager.defaultOptions.autoLoad = true;
+ soundManager.defaultOptions.whileloading = mpc.showProgress;
+ soundManager.defaultOptions.onid3 = mpc.onid3;
+ soundManager.defaultOptions.onload = mpc.onload;
+ soundManager.defaultOptions.onplay = mpc.onplay;
+ soundManager.defaultOptions.whileplaying = mpc.whileplaying;
+ soundManager.defaultOptions.onfinish = mpc.onfinish;
+
+ // get drumkit sounds from XML file (as opposed to using createSound)
+
+ if (!soundManager.hasHTML5) {
+ soundManager.loadFromXML('acoustic-drumkit.xml');
+ } else {
+ if (!soundManager.html5.needsFlash) {
+ document.getElementById('isHTML5').style.display = 'inline';
+ }
+ var soundURLs = 'AMB_BD_1,AMB_FTM2,AMB_HHCL,AMB_HHOP,AMB_HHPD,AMB_HTM,AMB_LTM2,AMB_MTM,AMB_RIM1,AMB_SN13,AMB_SN_5,CHINA_1,CRASH_1,CRASH_5,CRASH_6,RIDE_1'.split(',');
+ for (var i=0; i<soundURLs.length; i++) {
+ soundManager.createSound('s'+i, 'audio/'+soundURLs[i]+'.mp3');
+ }
+ }
+
+ /*
+
+ You can also create sounds using Javascript methods, instead of XML.
+ Options can also be set on a per-file basis, with specific option overrides.
+ (Options not specified here will inherit defaults as defined in soundManager.defaultOptions.)
+
+ eg.
+
+ soundManager.createSound({
+ id: 'mySound',
+ url: '/path/to/some.mp3',
+ stream: true,
+ autoPlay: true,
+ multiShot: false,
+ whileloading: function() { alert('sound '+this.sID+': '+this.bytesLoaded+' of '+this.bytesTotal+' bytes loaded.'); } // event handler: "this" is scoped to SMSound() object instance for easy access to methods/properties
+ });
+
+ - OR -
+
+ If you just want a sound with all default options, you can also specify just the required id and URL as string parameters:
+
+ soundManager.createSound('mySound','/path/to/some.mp3');
+
+ */
+});