⌈⌋ ⎇ branch:  Bitrhythm


Hex Artifact Content

Artifact 705df6263e0f29f8a56c05fe6627bf6ab61529f6b61a37c0c7836b05abfb9615:

  • File public/demo.js — part of check-in [941581eece] at 2022-02-15 23:20:56 on branch trunk — Cleanup post presentation Worklet code (user: dev size: 8397)
  • File public/first.js — part of check-in [941581eece] at 2022-02-15 23:20:56 on branch trunk — Cleanup post presentation Worklet code (user: dev size: 8397)

0000: 76 6f 6c 75 6d 65 5f 67 75 61 72 64 31 20 3d 20  volume_guard1 = 
0010: 67 75 61 72 64 28 5b 2d 32 30 2c 31 35 5d 29 0a  guard([-20,15]).
0020: 54 6f 6e 65 2e 4d 61 73 74 65 72 2e 76 6f 6c 75  Tone.Master.volu
0030: 6d 65 2e 76 61 6c 75 65 20 3d 20 76 6f 6c 75 6d  me.value = volum
0040: 65 5f 67 75 61 72 64 31 28 4d 61 74 68 2e 72 6f  e_guard1(Math.ro
0050: 75 6e 64 28 64 69 61 6c 73 5b 30 5d 5b 22 63 65  und(dials[0]["ce
0060: 6c 6c 22 5d 28 29 20 2a 20 33 30 29 20 2d 32 30  ll"]() * 30) -20
0070: 29 3b 0a 0a 69 6e 74 72 6f 20 3d 20 5b 0a 20 20  );..intro = [.  
0080: 20 63 65 6c 6c 78 28 22 70 20 78 30 30 30 20 30   cellx("p x000 0
0090: 30 30 30 20 30 30 30 30 20 30 30 30 30 20 22 29  000 0000 0000 ")
00a0: 2c 0a 5d 0a 0a 6d 61 69 6e 20 3d 20 5b 0a 20 20  ,.]..main = [.  
00b0: 20 20 63 65 6c 6c 78 28 22 70 20 78 5b 32 3b 5e    cellx("p x[2;^
00c0: 43 32 3b 2b 30 2e 30 31 5d 30 30 30 20 30 30 30  C2;+0.01]000 000
00d0: 30 20 78 5b 30 2e 31 5d 30 78 5b 31 5d 30 20 30  0 x[0.1]0x[1]0 0
00e0: 30 78 5b 31 5d 30 20 22 29 2c 0a 20 20 20 20 63  0x[1]0 "),.    c
00f0: 65 6c 6c 78 28 22 70 20 30 30 30 30 20 78 30 30  ellx("p 0000 x00
0100: 30 20 30 30 30 30 20 78 30 30 30 20 22 29 2c 0a  0 0000 x000 "),.
0110: 20 20 20 20 63 65 6c 6c 78 28 22 70 20 78 30 78      cellx("p x0x
0120: 30 20 78 30 78 30 20 78 30 78 30 20 78 30 78 30  0 x0x0 x0x0 x0x0
0130: 20 22 29 2c 0a 20 20 20 20 63 65 6c 6c 78 28 22   "),.    cellx("
0140: 70 20 78 30 30 30 20 30 30 30 30 20 30 30 30 30  p x000 0000 0000
0150: 20 30 30 30 30 20 22 29 2c 0a 20 20 20 20 63 65   0000 "),.    ce
0160: 6c 6c 78 28 22 70 20 30 30 30 30 20 30 30 30 30  llx("p 0000 0000
0170: 20 30 30 30 30 20 30 30 30 30 22 29 2c 0a 09 63   0000 0000"),..c
0180: 65 6c 6c 78 28 22 70 20 30 30 30 30 20 30 30 30  ellx("p 0000 000
0190: 30 20 30 30 30 30 20 30 30 30 30 22 29 2c 0a 5d  0 0000 0000"),.]
01a0: 0a 0a 62 61 73 73 20 3d 20 5b 0a 20 20 20 09 63  ..bass = [.   .c
01b0: 65 6c 6c 78 28 22 70 20 78 5b 32 3b 5e 43 32 3b  ellx("p x[2;^C2;
01c0: 2b 30 2e 30 31 5d 30 30 30 20 30 30 30 30 20 78  +0.01]000 0000 x
01d0: 5b 30 2e 31 5d 30 78 5b 31 5d 30 20 30 30 78 5b  [0.1]0x[1]0 00x[
01e0: 31 5d 30 20 22 29 2c 0a 20 20 20 20 63 65 6c 6c  1]0 "),.    cell
01f0: 78 28 22 70 20 30 30 30 30 20 78 30 30 30 20 30  x("p 0000 x000 0
0200: 30 30 30 20 78 30 30 30 20 22 29 2c 0a 20 20 20  000 x000 "),.   
0210: 20 63 65 6c 6c 78 28 22 70 20 78 30 78 30 20 78   cellx("p x0x0 x
0220: 30 78 30 20 78 30 78 30 20 78 30 78 30 20 22 29  0x0 x0x0 x0x0 ")
0230: 2c 0a 20 20 20 20 63 65 6c 6c 78 28 22 70 20 78  ,.    cellx("p x
0240: 30 30 30 20 30 30 30 30 20 30 30 30 30 20 30 30  000 0000 0000 00
0250: 30 30 20 22 29 2c 0a 20 20 20 20 63 65 6c 6c 78  00 "),.    cellx
0260: 28 22 70 20 78 5b 5e 42 32 5d 78 2e 30 30 20 78  ("p x[^B2]x.00 x
0270: 5b 5e 42 32 5d 78 2e 78 5b 5e 42 32 5d 78 2e 20  [^B2]x.x[^B2]x. 
0280: 78 5b 5e 42 32 5d 78 2e 78 5b 5e 42 32 5d 78 2e  x[^B2]x.x[^B2]x.
0290: 78 5b 5e 42 32 5d 78 2e 30 20 22 29 2c 0a 20 20  x[^B2]x.0 "),.  
02a0: 20 20 63 65 6c 6c 78 28 22 70 20 30 30 78 5b 5e    cellx("p 00x[^
02b0: 44 33 5d 30 20 30 30 30 78 5b 5e 41 32 5d 20 30  D3]0 000x[^A2] 0
02c0: 30 78 5b 5e 41 32 5d 78 5b 5e 41 32 5d 20 30 78  0x[^A2]x[^A2] 0x
02d0: 5b 5e 41 32 5d 30 78 5b 5e 41 32 5d 20 22 29 2c  [^A2]0x[^A2] "),
02e0: 20 0a 5d 0a 0a 65 6e 64 20 3d 20 5b 0a 20 09 63   .]..end = [. .c
02f0: 65 6c 6c 78 28 22 70 20 78 5b 32 3b 5e 43 32 3b  ellx("p x[2;^C2;
0300: 2b 30 2e 30 31 5d 30 30 30 20 30 30 30 30 20 78  +0.01]000 0000 x
0310: 5b 30 2e 31 5d 30 78 5b 31 5d 30 20 30 30 78 5b  [0.1]0x[1]0 00x[
0320: 31 5d 30 20 22 29 2c 0a 20 20 20 20 63 65 6c 6c  1]0 "),.    cell
0330: 78 28 22 70 20 30 30 30 30 20 78 30 30 30 20 30  x("p 0000 x000 0
0340: 30 30 30 20 78 30 30 30 20 22 29 2c 0a 20 20 20  000 x000 "),.   
0350: 20 63 65 6c 6c 78 28 22 70 20 78 30 78 30 20 78   cellx("p x0x0 x
0360: 30 78 30 20 78 30 78 30 20 78 30 78 30 20 22 29  0x0 x0x0 x0x0 ")
0370: 2c 0a 5d 0a 0a 73 6f 6c 6f 20 3d 20 5b 0a 09 63  ,.]..solo = [..c
0380: 65 6c 6c 78 28 22 70 20 30 30 30 30 20 30 30 30  ellx("p 0000 000
0390: 30 20 30 30 30 30 20 30 30 30 30 22 29 2c 0a 20  0 0000 0000"),. 
03a0: 20 20 20 63 65 6c 6c 78 28 22 70 20 30 30 30 30     cellx("p 0000
03b0: 20 30 30 30 30 20 30 30 30 30 20 30 30 30 30 22   0000 0000 0000"
03c0: 29 2c 0a 20 20 20 20 63 65 6c 6c 78 28 22 70 20  ),.    cellx("p 
03d0: 30 30 30 30 20 30 30 30 30 20 30 30 30 30 20 30  0000 0000 0000 0
03e0: 30 30 30 22 29 2c 0a 5d 0a 0a 66 69 6e 20 3d 20  000"),.]..fin = 
03f0: 73 6f 6c 6f 3b 0a 0a 65 6e 64 67 61 6d 65 20 3d  solo;..endgame =
0400: 20 5b 0a 20 20 20 20 63 65 6c 6c 78 28 22 70 20   [.    cellx("p 
0410: 78 5b 32 3b 5e 43 32 3b 2b 30 2e 30 31 5d 30 30  x[2;^C2;+0.01]00
0420: 30 20 30 30 30 30 20 78 5b 30 2e 31 5d 30 78 5b  0 0000 x[0.1]0x[
0430: 31 5d 30 20 30 30 78 5b 31 5d 30 20 22 29 2c 0a  1]0 00x[1]0 "),.
0440: 20 20 20 20 63 65 6c 6c 78 28 22 70 20 30 30 30      cellx("p 000
0450: 30 20 78 30 30 30 20 30 30 30 30 20 78 30 30 30  0 x000 0000 x000
0460: 20 22 29 2c 0a 20 20 20 20 63 65 6c 6c 78 28 22   "),.    cellx("
0470: 70 20 78 30 78 30 20 78 30 78 30 20 78 30 78 30  p x0x0 x0x0 x0x0
0480: 20 78 30 78 30 20 22 29 2c 0a 20 20 20 20 63 65   x0x0 "),.    ce
0490: 6c 6c 78 28 22 70 20 78 30 30 30 20 30 30 30 30  llx("p x000 0000
04a0: 20 30 30 30 30 20 30 30 30 30 20 22 29 2c 0a 20   0000 0000 "),. 
04b0: 20 20 20 63 65 6c 6c 78 28 22 70 20 78 5b 5e 42     cellx("p x[^B
04c0: 32 5d 78 2e 30 30 20 78 5b 5e 42 32 5d 78 2e 78  2]x.00 x[^B2]x.x
04d0: 5b 5e 42 32 5d 78 2e 20 78 5b 5e 42 32 5d 78 2e  [^B2]x. x[^B2]x.
04e0: 78 5b 5e 42 32 5d 78 2e 78 5b 5e 42 32 5d 78 2e  x[^B2]x.x[^B2]x.
04f0: 30 20 22 29 2c 0a 5d 0a 0a 0a 0a 0a 65 6d 70 74  0 "),.].....empt
0500: 79 20 3d 20 63 65 6c 6c 78 28 22 70 20 30 30 30  y = cellx("p 000
0510: 30 20 30 30 30 30 20 30 30 30 30 20 30 30 30 30  0 0000 0000 0000
0520: 22 29 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 6f 6e  ")...function on
0530: 63 65 20 28 29 20 7b 0a 20 0a 20 20 20 20 0a 20  ce () {. .    . 
0540: 20 20 20 20 20 20 20 63 6f 6e 73 74 20 73 65 74         const set
0550: 75 70 20 3d 20 28 20 69 6e 73 74 61 6e 63 65 20  up = ( instance 
0560: 29 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 76  ) => {.        v
0570: 61 72 20 69 6e 74 72 6f 20 3d 20 5b 5d 0a 20 20  ar intro = [].  
0580: 20 20 20 20 20 20 76 61 72 20 6d 61 69 6e 20 3d        var main =
0590: 20 5b 5d 0a 20 20 20 20 20 20 20 20 76 61 72 20   [].        var 
05a0: 62 61 73 73 20 3d 20 6d 61 69 6e 0a 20 20 20 20  bass = main.    
05b0: 20 20 20 20 76 61 72 20 73 6f 6c 6f 20 3d 20 62      var solo = b
05c0: 61 73 73 0a 20 20 20 20 20 20 20 20 76 61 72 20  ass.        var 
05d0: 65 6e 64 20 3d 20 5b 5d 20 0a 20 20 20 20 20 20  end = [] .      
05e0: 20 20 76 61 72 20 63 6f 75 6e 74 20 3d 20 30 3b    var count = 0;
05f0: 0a 20 20 20 20 20 20 20 20 76 61 72 20 6f 6c 64  .        var old
0600: 5f 73 63 65 6e 65 20 3d 20 22 22 3b 0a 20 20 20  _scene = "";.   
0610: 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 0a 0a       .        ..
0620: 20 20 20 20 20 20 20 20 6c 65 74 20 78 20 3d 20          let x = 
0630: 31 30 30 3b 0a 20 20 20 20 20 20 20 20 6c 65 74  100;.        let
0640: 20 79 20 3d 20 31 30 30 3b 0a 0a 20 20 20 20 20   y = 100;..     
0650: 20 20 20 69 6e 73 74 61 6e 63 65 2e 73 65 74 75     instance.setu
0660: 70 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b  p = function() {
0670: 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72  .            var
0680: 20 78 20 3d 20 69 6e 73 74 61 6e 63 65 2e 63 72   x = instance.cr
0690: 65 61 74 65 43 61 6e 76 61 73 28 37 30 30 2c 20  eateCanvas(700, 
06a0: 34 31 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20  410);.          
06b0: 20 20 78 2e 63 61 6e 76 61 73 2e 73 74 79 6c 65    x.canvas.style
06c0: 2e 70 6f 73 69 74 69 6f 6e 20 3d 20 22 61 62 73  .position = "abs
06d0: 6f 6c 75 74 65 22 3b 0a 20 20 20 20 20 20 20 20  olute";.        
06e0: 20 20 20 20 69 6e 73 74 61 6e 63 65 2e 66 72 61      instance.fra
06f0: 6d 65 52 61 74 65 28 32 29 3b 0a 20 20 20 20 20  meRate(2);.     
0700: 20 20 20 20 20 20 20 69 6e 74 72 6f 2e 70 75 73         intro.pus
0710: 68 28 69 6e 73 74 61 6e 63 65 2e 6c 6f 61 64 49  h(instance.loadI
0720: 6d 61 67 65 28 27 2f 63 6c 6f 73 65 64 2f 69 6e  mage('/closed/in
0730: 74 72 6f 2f 31 2e 70 6e 67 27 29 29 3b 0a 20 20  tro/1.png'));.  
0740: 20 20 20 20 20 20 20 20 20 20 69 6e 74 72 6f 2e            intro.
0750: 70 75 73 68 28 69 6e 73 74 61 6e 63 65 2e 6c 6f  push(instance.lo
0760: 61 64 49 6d 61 67 65 28 27 2f 63 6c 6f 73 65 64  adImage('/closed
0770: 2f 69 6e 74 72 6f 2f 32 2e 70 6e 67 27 29 29 3b  /intro/2.png'));
0780: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 69  .            mai
0790: 6e 2e 70 75 73 68 28 69 6e 73 74 61 6e 63 65 2e  n.push(instance.
07a0: 6c 6f 61 64 49 6d 61 67 65 28 27 2f 63 6c 6f 73  loadImage('/clos
07b0: 65 64 2f 6d 61 69 6e 2f 31 2e 70 6e 67 27 29 29  ed/main/1.png'))
07c0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 61  ;.            ma
07d0: 69 6e 2e 70 75 73 68 28 69 6e 73 74 61 6e 63 65  in.push(instance
07e0: 2e 6c 6f 61 64 49 6d 61 67 65 28 27 2f 63 6c 6f  .loadImage('/clo
07f0: 73 65 64 2f 6d 61 69 6e 2f 32 2e 70 6e 67 27 29  sed/main/2.png')
0800: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d  );.            m
0810: 61 69 6e 2e 70 75 73 68 28 69 6e 73 74 61 6e 63  ain.push(instanc
0820: 65 2e 6c 6f 61 64 49 6d 61 67 65 28 27 2f 63 6c  e.loadImage('/cl
0830: 6f 73 65 64 2f 6d 61 69 6e 2f 33 2e 70 6e 67 27  osed/main/3.png'
0840: 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ));.            
0850: 65 6e 64 2e 70 75 73 68 28 69 6e 73 74 61 6e 63  end.push(instanc
0860: 65 2e 6c 6f 61 64 49 6d 61 67 65 28 27 2f 63 6c  e.loadImage('/cl
0870: 6f 73 65 64 2f 65 6e 64 2f 31 2e 70 6e 67 27 29  osed/end/1.png')
0880: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  );.            e
0890: 6e 64 2e 70 75 73 68 28 69 6e 73 74 61 6e 63 65  nd.push(instance
08a0: 2e 6c 6f 61 64 49 6d 61 67 65 28 27 2f 63 6c 6f  .loadImage('/clo
08b0: 73 65 64 2f 65 6e 64 2f 32 2e 70 6e 67 27 29 29  sed/end/2.png'))
08c0: 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20  ;.        };..  
08d0: 20 20 20 20 20 20 69 6e 73 74 61 6e 63 65 2e 64        instance.d
08e0: 72 61 77 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29  raw = function()
08f0: 20 7b 0a 20 20 20 20 20 20 20 20 09 69 66 20 28   {.        .if (
0900: 6f 6c 64 5f 73 63 65 6e 65 20 21 3d 20 63 75 72  old_scene != cur
0910: 72 65 6e 74 5f 73 63 65 6e 65 29 20 7b 0a 20 20  rent_scene) {.  
0920: 20 20 20 20 20 20 20 20 20 20 09 6f 6c 64 5f 73            .old_s
0930: 63 65 6e 65 20 3d 20 63 75 72 72 65 6e 74 5f 73  cene = current_s
0940: 63 65 6e 65 3b 0a 20 20 20 20 20 20 20 20 20 20  cene;.          
0950: 20 20 20 20 20 20 63 6f 75 6e 74 20 3d 20 30 3b        count = 0;
0960: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20  .            }. 
0970: 20 20 20 2f 2f 20 20 20 20 20 20 20 20 69 6e 73     //        ins
0980: 74 61 6e 63 65 2e 63 6c 65 61 72 28 29 3b 0a 20  tance.clear();. 
0990: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63             var c
09a0: 20 3d 20 65 76 61 6c 28 60 24 7b 63 75 72 72 65   = eval(`${curre
09b0: 6e 74 5f 73 63 65 6e 65 7d 60 29 0a 20 20 20 20  nt_scene}`).    
09c0: 20 20 20 2f 2f 20 20 20 20 20 69 6e 73 74 61 6e     //     instan
09d0: 63 65 2e 69 6d 61 67 65 28 63 5b 63 6f 75 6e 74  ce.image(c[count
09e0: 5d 2c 20 30 2c 20 30 29 3b 0a 20 20 20 20 20 20  ], 0, 0);.      
09f0: 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d 20 31        count += 1
0a00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75  .            cou
0a10: 6e 74 20 3d 20 63 6f 75 6e 74 20 25 20 63 2e 6c  nt = count % c.l
0a20: 65 6e 67 74 68 3b 0a 0a 20 20 20 20 20 20 20 20  ength;..        
0a30: 7d 3b 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 6c  };.    };..    l
0a40: 65 74 20 6d 79 70 35 20 3d 20 6e 65 77 20 70 35  et myp5 = new p5
0a50: 28 73 65 74 75 70 2c 20 20 64 6f 63 75 6d 65 6e  (setup,  documen
0a60: 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64  t.getElementById
0a70: 28 27 63 61 6e 76 61 73 2d 63 6f 6e 74 61 69 6e  ('canvas-contain
0a80: 65 72 27 29 29 3b 0a 0a 0a 20 20 20 20 54 6f 6e  er'));...    Ton
0a90: 65 2e 4d 61 73 74 65 72 2e 76 6f 6c 75 6d 65 2e  e.Master.volume.
0aa0: 76 61 6c 75 65 20 3d 20 2d 33 30 0a 0a 09 64 69  value = -30...di
0ab0: 61 6c 73 5b 32 5d 5b 22 63 65 6c 6c 22 5d 28 31  als[2]["cell"](1
0ac0: 29 0a 20 20 20 20 6d 65 6d 5b 22 6d 61 73 74 65  ).    mem["maste
0ad0: 72 5f 66 69 6c 74 65 72 22 5d 20 3d 20 6e 65 77  r_filter"] = new
0ae0: 20 54 6f 6e 65 2e 46 69 6c 74 65 72 28 31 30 30   Tone.Filter(100
0af0: 30 30 2c 20 27 6c 6f 77 70 61 73 73 27 2c 20 2d  00, 'lowpass', -
0b00: 39 36 29 3b 0a 20 20 20 20 6d 65 6d 5b 22 6d 61  96);.    mem["ma
0b10: 73 74 65 72 5f 73 74 65 72 65 6f 22 5d 20 3d 20  ster_stereo"] = 
0b20: 6e 65 77 20 54 6f 6e 65 2e 53 74 65 72 65 6f 57  new Tone.StereoW
0b30: 69 64 65 6e 65 72 28 7b 77 69 64 74 68 3a 20 30  idener({width: 0
0b40: 2e 35 30 7d 29 3b 0a 20 20 20 20 0a 20 20 20 20  .50});.    .    
0b50: 64 69 61 6c 73 5b 32 5d 5b 22 63 65 6c 6c 22 5d  dials[2]["cell"]
0b60: 2e 6f 6e 43 68 61 6e 67 65 28 66 75 6e 63 74 69  .onChange(functi
0b70: 6f 6e 20 28 65 29 20 7b 0a 20 20 20 20 20 20 20  on (e) {.       
0b80: 20 76 61 72 20 76 61 6c 20 3d 20 70 61 72 73 65   var val = parse
0b90: 46 6c 6f 61 74 28 65 5b 22 64 61 74 61 22 5d 2e  Float(e["data"].
0ba0: 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20  value);.        
0bb0: 76 61 72 20 63 75 74 6f 66 66 5f 67 75 61 72 64  var cutoff_guard
0bc0: 20 3d 20 67 75 61 72 64 28 5b 31 30 2c 20 32 30   = guard([10, 20
0bd0: 30 30 30 5d 29 3b 0a 20 20 20 20 20 20 20 20 6d  000]);.        m
0be0: 65 6d 5b 22 6d 61 73 74 65 72 5f 66 69 6c 74 65  em["master_filte
0bf0: 72 22 5d 2e 66 72 65 71 75 65 6e 63 79 2e 76 61  r"].frequency.va
0c00: 6c 75 65 20 3d 20 63 75 74 6f 66 66 5f 67 75 61  lue = cutoff_gua
0c10: 72 64 28 76 61 6c 20 2a 20 31 30 30 30 30 29 3b  rd(val * 10000);
0c20: 0a 20 20 20 20 7d 29 0a 20 20 20 20 0a 20 20 20  .    }).    .   
0c30: 20 64 69 61 6c 73 5b 33 5d 5b 22 63 65 6c 6c 22   dials[3]["cell"
0c40: 5d 28 30 29 0a 20 20 20 20 0a 20 20 20 20 64 69  ](0).    .    di
0c50: 61 6c 73 5b 33 5d 5b 22 63 65 6c 6c 22 5d 2e 6f  als[3]["cell"].o
0c60: 6e 43 68 61 6e 67 65 28 66 75 6e 63 74 69 6f 6e  nChange(function
0c70: 20 28 65 29 20 7b 0a 20 20 20 20 20 20 20 20 76   (e) {.        v
0c80: 61 72 20 76 61 6c 20 3d 20 70 61 72 73 65 46 6c  ar val = parseFl
0c90: 6f 61 74 28 65 5b 22 64 61 74 61 22 5d 2e 76 61  oat(e["data"].va
0ca0: 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 76 61  lue);.        va
0cb0: 72 20 76 6f 6c 75 6d 65 5f 67 75 61 72 64 31 20  r volume_guard1 
0cc0: 3d 20 67 75 61 72 64 28 5b 30 2c 31 5d 29 0a 20  = guard([0,1]). 
0cd0: 20 20 20 20 20 20 20 61 75 64 69 6f 2e 6d 61 73         audio.mas
0ce0: 74 65 72 2e 69 6e 2e 67 61 69 6e 2e 76 61 6c 75  ter.in.gain.valu
0cf0: 65 20 3d 20 76 6f 6c 75 6d 65 5f 67 75 61 72 64  e = volume_guard
0d00: 31 28 76 61 6c 20 2f 20 31 30 29 3b 0a 20 20 20  1(val / 10);.   
0d10: 20 7d 29 0a 20 20 20 20 0a 0a 0a 09 6d 65 6d 2e   }).    ....mem.
0d20: 6d 61 73 74 65 72 20 3d 20 6e 65 77 20 54 6f 6e  master = new Ton
0d30: 65 2e 43 68 61 6e 6e 65 6c 28 7b 63 68 61 6e 6e  e.Channel({chann
0d40: 65 6c 43 6f 75 6e 74 3a 20 32 2c 20 76 6f 6c 75  elCount: 2, volu
0d50: 6d 65 3a 20 2d 31 30 7d 29 2e 63 68 61 69 6e 28  me: -10}).chain(
0d60: 20 20 6d 65 6d 5b 22 6d 61 73 74 65 72 5f 66 69    mem["master_fi
0d70: 6c 74 65 72 22 5d 2c 20 20 6d 65 6d 5b 22 6d 61  lter"],  mem["ma
0d80: 73 74 65 72 5f 73 74 65 72 65 6f 22 5d 2c 20 54  ster_stereo"], T
0d90: 6f 6e 65 2e 44 65 73 74 69 6e 61 74 69 6f 6e 29  one.Destination)
0da0: 3b 0a 20 20 20 20 53 61 6d 70 6c 65 28 22 6b 22  ;.    Sample("k"
0db0: 2c 20 30 2c 20 6e 75 6c 6c 2c 20 2d 35 29 3b 0a  , 0, null, -5);.
0dc0: 20 20 20 20 53 61 6d 70 6c 65 28 22 73 6e 31 22      Sample("sn1"
0dd0: 2c 31 2c 20 6e 75 6c 6c 2c 20 30 29 3b 0a 20 20  ,1, null, 0);.  
0de0: 20 20 53 61 6d 70 6c 65 28 22 68 22 2c 32 2c 20    Sample("h",2, 
0df0: 35 30 30 30 2c 20 2d 33 35 29 3b 0a 20 20 20 20  5000, -35);.    
0e00: 53 61 6d 70 6c 65 28 22 6d 22 2c 33 2c 20 6e 75  Sample("m",3, nu
0e10: 6c 6c 2c 20 2d 31 35 29 3b 0a 20 20 20 20 53 61  ll, -15);.    Sa
0e20: 6d 70 6c 65 28 22 66 22 2c 34 2c 20 6e 75 6c 6c  mple("f",4, null
0e30: 2c 20 2d 31 35 29 3b 0a 20 20 20 20 0a 20 20 20  , -15);.    .   
0e40: 20 6e 61 6d 65 20 3d 20 22 73 22 0a 20 20 20 20   name = "s".    
0e50: 66 69 6c 74 65 72 20 3d 20 32 30 30 30 0a 20 20  filter = 2000.  
0e60: 20 20 76 6f 6c 75 6d 65 20 3d 20 2d 31 35 20 0a    volume = -15 .
0e70: 20 20 20 20 6d 65 6d 5b 6e 61 6d 65 20 2b 20 22      mem[name + "
0e80: 5f 66 69 6c 74 65 72 22 5d 20 3d 20 6e 65 77 20  _filter"] = new 
0e90: 54 6f 6e 65 2e 46 69 6c 74 65 72 28 66 69 6c 74  Tone.Filter(filt
0ea0: 65 72 2c 20 27 6c 6f 77 70 61 73 73 27 2c 20 2d  er, 'lowpass', -
0eb0: 39 36 29 3b 0a 20 20 20 20 6d 65 6d 5b 6e 61 6d  96);.    mem[nam
0ec0: 65 20 2b 20 22 5f 64 65 6c 61 79 22 5d 20 3d 20  e + "_delay"] = 
0ed0: 6e 65 77 20 54 6f 6e 65 2e 46 65 65 64 62 61 63  new Tone.Feedbac
0ee0: 6b 44 65 6c 61 79 28 22 34 6e 22 2c 20 30 2e 34  kDelay("4n", 0.4
0ef0: 29 3b 0a 20 20 20 20 6d 65 6d 5b 6e 61 6d 65 20  );.    mem[name 
0f00: 2b 20 22 5f 63 68 61 6e 6e 65 6c 22 5d 20 3d 20  + "_channel"] = 
0f10: 6e 65 77 20 54 6f 6e 65 2e 43 68 61 6e 6e 65 6c  new Tone.Channel
0f20: 28 7b 63 68 61 6e 6e 65 6c 43 6f 75 6e 74 3a 20  ({channelCount: 
0f30: 32 2c 20 76 6f 6c 75 6d 65 3a 20 76 6f 6c 75 6d  2, volume: volum
0f40: 65 2c 20 70 61 6e 3a 20 2d 30 2e 32 35 7d 29 2e  e, pan: -0.25}).
0f50: 63 68 61 69 6e 28 6d 65 6d 5b 6e 61 6d 65 20 2b  chain(mem[name +
0f60: 20 22 5f 66 69 6c 74 65 72 22 5d 2c 20 20 20 6d   "_filter"],   m
0f70: 65 6d 5b 6e 61 6d 65 20 2b 20 22 5f 64 65 6c 61  em[name + "_dela
0f80: 79 22 5d 2c 20 6d 65 6d 2e 6d 61 73 74 65 72 29  y"], mem.master)
0f90: 0a 20 20 20 20 73 61 6d 70 6c 65 73 5b 35 5d 2e  .    samples[5].
0fa0: 63 6f 6e 6e 65 63 74 28 6d 65 6d 5b 6e 61 6d 65  connect(mem[name
0fb0: 20 2b 20 22 5f 63 68 61 6e 6e 65 6c 22 5d 29 3b   + "_channel"]);
0fc0: 0a 20 20 20 20 68 69 74 5f 6d 61 70 5b 6e 61 6d  .    hit_map[nam
0fd0: 65 5d 20 3d 20 35 3b 0a 20 20 0a 20 20 20 20 0a  e] = 5;.  .    .
0fe0: 20 20 20 20 0a 0a 20 20 20 20 0a 20 20 20 20 0a      ..    .    .
0ff0: 20 20 20 20 0a 20 20 20 20 0a 20 20 20 20 53 61      .    .    Sa
1000: 6d 70 6c 65 28 22 6d 61 6e 61 67 65 72 22 2c 36  mple("manager",6
1010: 2c 20 6e 75 6c 6c 2c 20 2d 31 35 29 3b 0a 20 20  , null, -15);.  
1020: 20 20 53 61 6d 70 6c 65 28 22 6f 72 64 65 72 22    Sample("order"
1030: 2c 37 2c 20 6e 75 6c 6c 2c 20 2d 31 35 29 3b 0a  ,7, null, -15);.
1040: 20 20 20 20 53 61 6d 70 6c 65 28 22 63 72 22 2c      Sample("cr",
1050: 38 2c 20 6e 75 6c 6c 2c 20 2d 31 35 29 3b 0a 20  8, null, -15);. 
1060: 20 20 20 53 61 6d 70 6c 65 28 22 70 69 61 6e 6f     Sample("piano
1070: 22 2c 39 2c 20 34 30 30 2c 20 2d 31 35 29 3b 0a  ",9, 400, -15);.
1080: 20 20 20 09 53 61 6d 70 6c 65 28 22 73 69 74 61     .Sample("sita
1090: 72 22 2c 31 30 2c 20 35 30 30 30 2c 20 2d 31 35  r",10, 5000, -15
10a0: 29 3b 0a 20 20 20 20 0a 20 20 20 20 63 6f 6e 73  );.    .    cons
10b0: 74 20 61 75 64 69 6f 20 3d 20 41 75 64 69 6f 28  t audio = Audio(
10c0: 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 74 68 72  );.    const thr
10d0: 65 65 20 3d 20 54 68 72 65 65 4f 68 55 6e 69 74  ee = ThreeOhUnit
10e0: 28 61 75 64 69 6f 2c 20 22 73 61 77 74 6f 6f 74  (audio, "sawtoot
10f0: 68 22 2c 20 7b 0a 20 20 20 20 20 20 20 20 20 20  h", {.          
1100: 20 20 22 63 75 74 6f 66 66 22 3a 20 37 38 2c 0a    "cutoff": 78,.
1110: 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 73              "res
1120: 6f 6e 61 6e 63 65 22 3a 20 31 35 2c 0a 20 20 20  onance": 15,.   
1130: 20 20 20 20 20 20 20 20 20 22 65 6e 76 4d 6f 64           "envMod
1140: 22 3a 20 34 30 30 30 2c 0a 20 20 20 20 20 20 20  ": 4000,.       
1150: 20 20 20 20 20 22 64 65 63 61 79 22 3a 20 30 2e       "decay": 0.
1160: 35 0a 20 20 20 20 20 20 20 20 7d 0a 09 29 0a 20  5.        }..). 
1170: 20 20 20 61 75 64 69 6f 2e 6d 61 73 74 65 72 2e     audio.master.
1180: 69 6e 2e 67 61 69 6e 2e 76 61 6c 75 65 20 3d 20  in.gain.value = 
1190: 30 3b 0a 20 20 20 20 6d 65 6d 5b 22 74 68 72 65  0;.    mem["thre
11a0: 65 22 5d 20 3d 20 74 68 72 65 65 0a 20 20 20 20  e"] = three.    
11b0: 0a 20 20 20 20 2f 2f 20 63 75 74 6f 66 66 20 5b  .    // cutoff [
11c0: 33 30 2c 20 37 30 30 5d 2c 20 34 30 30 0a 20 20  30, 700], 400.  
11d0: 20 20 2f 2f 20 72 65 73 6f 6e 61 6e 63 65 3a 20    // resonance: 
11e0: 5b 31 2c 20 33 30 5d 2c 20 31 35 0a 20 20 20 20  [1, 30], 15.    
11f0: 2f 2f 20 65 6e 76 4d 6f 64 3a 20 5b 30 2c 20 38  // envMod: [0, 8
1200: 30 30 30 5d 2c 20 34 30 30 30 0a 20 20 20 20 2f  000], 4000.    /
1210: 2f 20 64 65 63 61 79 3a 20 5b 30 2e 31 2c 20 30  / decay: [0.1, 0
1220: 2e 39 5d 2c 20 30 2e 35 0a 20 20 20 20 0a 20 20  .9], 0.5.    .  
1230: 20 20 64 69 61 6c 73 5b 31 5d 5b 22 63 65 6c 6c    dials[1]["cell
1240: 22 5d 28 30 2e 30 37 38 32 35 29 0a 0a 20 20 20  "](0.07825)..   
1250: 20 64 69 61 6c 73 5b 31 5d 5b 22 63 65 6c 6c 22   dials[1]["cell"
1260: 5d 2e 6f 6e 43 68 61 6e 67 65 28 66 75 6e 63 74  ].onChange(funct
1270: 69 6f 6e 20 28 65 29 20 7b 0a 20 20 20 20 20 20  ion (e) {.      
1280: 20 20 76 61 72 20 76 61 6c 20 3d 20 70 61 72 73    var val = pars
1290: 65 46 6c 6f 61 74 28 65 5b 22 64 61 74 61 22 5d  eFloat(e["data"]
12a0: 2e 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20  .value);.       
12b0: 20 63 75 74 6f 66 66 5f 67 75 61 72 64 20 3d 20   cutoff_guard = 
12c0: 67 75 61 72 64 28 5b 33 30 2c 20 37 30 30 5d 29  guard([30, 700])
12d0: 3b 0a 20 20 20 20 20 20 20 20 74 68 72 65 65 2e  ;.        three.
12e0: 70 61 72 61 6d 73 2e 63 75 74 6f 66 66 2e 76 61  params.cutoff.va
12f0: 6c 75 65 20 3d 20 63 75 74 6f 66 66 5f 67 75 61  lue = cutoff_gua
1300: 72 64 28 76 61 6c 20 2a 20 31 30 30 30 29 3b 0a  rd(val * 1000);.
1310: 20 20 20 20 7d 29 0a 7d 0a 0a 66 75 6e 63 74 69      }).}..functi
1320: 6f 6e 20 74 77 65 61 6b 28 29 20 7b 0a 20 0a 20  on tweak() {. . 
1330: 20 20 20 76 61 72 09 73 6e 61 72 65 5f 63 6f 75     var.snare_cou
1340: 6e 74 20 3d 20 63 65 6c 6c 78 28 31 36 29 3b 0a  nt = cellx(16);.
1350: 20 20 20 20 0a 20 20 20 20 0a 20 20 20 20 0a 20      .    .    . 
1360: 20 20 20 73 6e 61 72 65 5f 63 6f 75 6e 74 2e 6f     snare_count.o
1370: 6e 43 68 61 6e 67 65 28 66 75 6e 63 74 69 6f 6e  nChange(function
1380: 20 28 65 29 20 7b 0a 20 20 20 20 20 20 20 20 76   (e) {.        v
1390: 61 72 20 76 61 6c 20 3d 20 70 61 72 73 65 49 6e  ar val = parseIn
13a0: 74 28 65 5b 22 64 61 74 61 22 5d 2e 76 61 6c 75  t(e["data"].valu
13b0: 65 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28  e);.        if (
13c0: 76 61 6c 20 3d 3d 20 32 32 29 20 7b 0a 20 20 20  val == 22) {.   
13d0: 20 20 20 09 20 09 63 75 72 72 65 6e 74 5f 73 63     . .current_sc
13e0: 65 6e 65 20 3d 20 22 66 69 6e 22 3b 0a 09 09 09  ene = "fin";....
13f0: 70 31 28 38 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c  p1(8, null, null
1400: 2c 20 31 32 2e 32 35 29 3b 0a 09 20 20 20 20 7d  , 12.25);..    }
1410: 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20   else {.        
1420: 20 20 20 70 28 31 2c 20 6e 75 6c 6c 2c 20 6e 75     p(1, null, nu
1430: 6c 6c 2c 20 22 34 6e 22 29 0a 20 20 20 20 20 20  ll, "4n").      
1440: 20 20 7d 0a 20 20 20 20 7d 29 0a 20 20 20 20 0a    }.    }).    .
1450: 20 20 20 20 0a 20 20 20 20 0a 20 20 20 20 4d 6f      .    .    Mo
1460: 75 73 65 74 72 61 70 2e 62 69 6e 64 28 5b 27 66  usetrap.bind(['f
1470: 32 27 5d 2c 20 66 75 6e 63 74 69 6f 6e 28 65 29  2'], function(e)
1480: 20 7b 0a 20 20 20 20 0a 20 20 20 20 09 73 6e 61   {.    .    .sna
1490: 72 65 5f 63 6f 75 6e 74 28 73 6e 61 72 65 5f 63  re_count(snare_c
14a0: 6f 75 6e 74 28 29 20 2b 20 31 29 0a 20 20 20 20  ount() + 1).    
14b0: 20 20 20 20 69 66 20 28 73 6e 61 72 65 5f 63 6f      if (snare_co
14c0: 75 6e 74 28 29 20 3c 3d 20 32 30 29 20 7b 0a 20  unt() <= 20) {. 
14d0: 20 20 20 20 20 20 20 20 20 73 65 74 54 69 6d 65           setTime
14e0: 6f 75 74 28 66 75 6e 63 74 69 6f 6e 20 28 29 20  out(function () 
14f0: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  {.              
1500: 70 28 30 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c  p(0, null, null,
1510: 20 22 32 34 6e 22 2c 20 6e 75 6c 6c 20 29 3b 0a   "24n", null );.
1520: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1530: 73 65 74 54 69 6d 65 6f 75 74 28 66 75 6e 63 74  setTimeout(funct
1540: 69 6f 6e 20 28 29 20 7b 0a 20 20 20 20 20 20 20  ion () {.       
1550: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 28 38               p(8
1560: 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 22 32  , null, null, "2
1570: 6e 22 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20  n" );.          
1580: 20 20 20 20 20 20 20 20 20 20 70 28 31 30 2c 20            p(10, 
1590: 30 2e 35 2c 20 22 41 32 22 2c 20 31 29 3b 0a 20  0.5, "A2", 1);. 
15a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d                 }
15b0: 2c 20 64 65 6c 74 61 20 2a 20 32 29 0a 20 20 0a  , delta * 2).  .
15c0: 20 20 20 20 20 20 20 20 20 20 7d 2c 20 64 65 6c            }, del
15d0: 74 61 20 2a 20 31 2e 35 29 0a 20 20 20 20 20 20  ta * 1.5).      
15e0: 20 20 7d 0a 20 20 20 20 20 20 20 20 0a 09 20 20    }.        ..  
15f0: 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a    return false;.
1600: 20 20 20 20 7d 29 0a 0a 0a 20 20 20 20 0a 7d 0a      })...    .}.
1610: 0a 0a 0a 74 72 61 6e 73 69 74 69 6f 6e 20 3d 20  ...transition = 
1620: 6f 6e 63 65 3b 0a 0a 69 66 20 28 62 61 72 73 20  once;..if (bars 
1630: 3c 3d 20 32 29 20 7b 0a 09 63 75 72 72 65 6e 74  <= 2) {..current
1640: 5f 73 63 65 6e 65 20 3d 20 22 69 6e 74 72 6f 22  _scene = "intro"
1650: 3b 0a 7d 20 65 6c 73 65 20 7b 0a 2f 2f 09 20 20  ;.} else {.//.  
1660: 20 20 20 6d 65 6d 5b 22 74 68 72 65 65 22 5d 2e     mem["three"].
1670: 73 74 65 70 28 22 6f 66 66 22 29 3b 0a 69 66 20  step("off");.if 
1680: 28 62 61 72 73 20 3d 3d 20 33 29 20 7b 0a 09 65  (bars == 3) {..e
1690: 76 61 6c 5f 67 75 61 72 64 20 3f 20 63 75 65 28  val_guard ? cue(
16a0: 22 53 74 61 72 74 20 69 6e 74 72 6f 22 29 20 3a  "Start intro") :
16b0: 20 22 22 3b 0a 09 63 75 72 72 65 6e 74 5f 73 63   "";..current_sc
16c0: 65 6e 65 20 3d 20 22 69 6e 74 72 6f 22 3b 0a 0a  ene = "intro";..
16d0: 7d 0a 0a 69 66 20 28 62 61 72 73 20 3d 3d 20 35  }..if (bars == 5
16e0: 29 20 7b 0a 09 65 76 61 6c 5f 67 75 61 72 64 20  ) {..eval_guard 
16f0: 3f 20 63 75 65 28 22 53 74 61 72 74 20 64 72 75  ? cue("Start dru
1700: 6d 73 22 29 20 3a 20 22 22 3b 0a 20 20 20 20 09  ms") : "";.    .
1710: 63 75 72 72 65 6e 74 5f 73 63 65 6e 65 20 3d 20  current_scene = 
1720: 22 6d 61 69 6e 22 3b 0a 7d 0a 0a 0a 0a 0a 69 66  "main";.}.....if
1730: 20 28 62 61 72 73 20 3d 3d 20 31 32 29 20 7b 0a   (bars == 12) {.
1740: 09 65 76 61 6c 5f 67 75 61 72 64 20 3f 20 63 75  .eval_guard ? cu
1750: 65 28 22 41 64 64 20 62 61 73 73 22 29 3a 20 22  e("Add bass"): "
1760: 22 3b 0a 20 20 20 20 63 75 72 72 65 6e 74 5f 73  ";.    current_s
1770: 63 65 6e 65 20 3d 20 22 62 61 73 73 22 3b 0a 0a  cene = "bass";..
1780: 7d 0a 0a 69 66 20 28 62 61 72 73 20 3d 3d 20 33  }..if (bars == 3
1790: 32 29 20 7b 0a 09 65 76 61 6c 5f 67 75 61 72 64  2) {..eval_guard
17a0: 20 3f 63 75 65 28 22 52 65 76 65 72 73 65 20 22   ?cue("Reverse "
17b0: 29 3a 20 22 22 3b 0a 20 20 20 20 63 75 72 72 65  ): "";.    curre
17c0: 6e 74 5f 73 63 65 6e 65 20 3d 20 22 62 61 73 73  nt_scene = "bass
17d0: 22 3b 0a 0a 7d 0a 0a 69 66 20 28 62 61 72 73 20  ";..}..if (bars 
17e0: 3d 3d 20 34 32 29 20 7b 0a 09 65 76 61 6c 5f 67  == 42) {..eval_g
17f0: 75 61 72 64 20 3f 20 63 75 65 28 22 45 6e 64 20  uard ? cue("End 
1800: 22 29 3a 20 22 22 0a 20 20 20 20 63 75 72 72 65  "): "".    curre
1810: 6e 74 5f 73 63 65 6e 65 20 3d 20 22 65 6e 64 22  nt_scene = "end"
1820: 3b 0a 0a 7d 0a 0a 69 66 20 28 62 61 72 73 20 3d  ;..}..if (bars =
1830: 3d 20 34 36 29 20 7b 0a 09 65 76 61 6c 5f 67 75  = 46) {..eval_gu
1840: 61 72 64 20 3f 20 63 75 65 28 22 53 6f 6c 6f 20  ard ? cue("Solo 
1850: 22 29 3a 20 22 22 0a 20 20 20 20 63 75 72 72 65  "): "".    curre
1860: 6e 74 5f 73 63 65 6e 65 20 3d 20 22 73 6f 6c 6f  nt_scene = "solo
1870: 22 3b 0a 7d 0a 0a 0a 20 20 20 20 74 72 61 6e 73  ";.}...    trans
1880: 69 74 69 6f 6e 20 3d 20 74 77 65 61 6b 3b 0a 7d  ition = tweak;.}
1890: 0a 0a 0a 70 61 74 74 65 72 6e 73 20 3d 20 65 76  ...patterns = ev
18a0: 61 6c 28 60 24 7b 63 75 72 72 65 6e 74 5f 73 63  al(`${current_sc
18b0: 65 6e 65 7d 60 29 3b 0a 61 6c 77 61 79 73 28 29  ene}`);.always()
18c0: 3b 0a 0a 69 66 20 28 74 72 61 63 6b 5f 6e 6f 20  ;..if (track_no 
18d0: 3d 3d 20 31 29 20 7b 0a 69 66 20 28 63 6f 75 6e  == 1) {.if (coun
18e0: 74 20 3d 3d 20 30 29 20 7b 0a 09 63 75 65 28 22  t == 0) {..cue("
18f0: 53 61 6d 70 6c 65 22 29 0a 20 2f 2f 20 20 20 70  Sample"). //   p
1900: 31 28 38 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c  1(8, null, null,
1910: 20 31 32 2e 32 35 29 3b 0a 7d 0a 7d 0a 0a 20 20   12.25);.}.}..  
1920: 20 20 20 0a 0a 69 66 20 28 69 73 48 69 74 29 20     ..if (isHit) 
1930: 7b 0a 20 20 20 20 69 66 20 28 63 75 72 72 65 6e  {.    if (curren
1940: 74 5f 73 63 65 6e 65 20 3d 3d 20 22 69 6e 74 72  t_scene == "intr
1950: 6f 22 29 20 7b 0a 20 20 20 20 20 20 20 20 69 66  o") {.        if
1960: 20 28 74 72 61 63 6b 5f 6e 6f 20 3d 3d 20 31 29   (track_no == 1)
1970: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 70 28 33   {.          p(3
1980: 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 22 31  , null, null, "1
1990: 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20  n");.        }. 
19a0: 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63 75     } else if (cu
19b0: 72 72 65 6e 74 5f 73 63 65 6e 65 20 3d 3d 20 22  rrent_scene == "
19c0: 66 69 6e 22 29 20 7b 0a 20 20 20 0a 20 20 20 20  fin") {.   .    
19d0: 7d 20 65 6c 73 65 20 69 66 20 28 63 75 72 72 65  } else if (curre
19e0: 6e 74 5f 73 63 65 6e 65 20 3d 3d 20 22 73 6f 6c  nt_scene == "sol
19f0: 6f 22 29 20 7b 0a 0a 20 0a 20 20 20 20 7d 20 65  o") {.. .    } e
1a00: 6c 73 65 20 69 66 20 28 63 75 72 72 65 6e 74 5f  lse if (current_
1a10: 73 63 65 6e 65 20 3d 3d 20 22 65 6e 64 22 29 20  scene == "end") 
1a20: 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 72  {.        if (tr
1a30: 61 63 6b 5f 6e 6f 20 3d 3d 20 31 29 20 7b 0a 20  ack_no == 1) {. 
1a40: 20 20 20 20 20 20 20 20 20 20 20 70 28 30 2c 20             p(0, 
1a50: 6d 65 74 61 5b 74 69 63 6b 5d 5b 22 76 6f 6c 75  meta[tick]["volu
1a60: 6d 65 22 5d 2c 20 6d 65 74 61 5b 74 69 63 6b 5d  me"], meta[tick]
1a70: 5b 22 70 69 74 63 68 22 5d 2c 20 22 32 34 6e 22  ["pitch"], "24n"
1a80: 2c 20 6d 65 74 61 5b 74 69 63 6b 5d 5b 22 64 65  , meta[tick]["de
1a90: 6c 61 79 22 5d 20 29 3b 0a 20 20 20 20 20 20 20  lay"] );.       
1aa0: 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 74   }.        if (t
1ab0: 72 61 63 6b 5f 6e 6f 20 3d 3d 20 32 29 20 7b 0a  rack_no == 2) {.
1ac0: 20 20 20 20 20 20 20 20 20 20 20 20 70 28 31 29              p(1)
1ad0: 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20  ;.        }.    
1ae0: 20 20 20 20 69 66 20 28 74 72 61 63 6b 5f 6e 6f      if (track_no
1af0: 20 3d 3d 20 33 29 20 7b 0a 20 20 20 20 20 20 20   == 3) {.       
1b00: 20 20 20 20 20 70 28 32 29 0a 20 20 20 20 20 20       p(2).      
1b10: 20 20 7d 0a 20 20 20 20 20 20 20 20 0a 20 20 20    }.        .   
1b20: 20 7d 20 65 6c 73 65 20 69 66 20 28 63 75 72 72   } else if (curr
1b30: 65 6e 74 5f 73 63 65 6e 65 20 3d 3d 20 22 6d 61  ent_scene == "ma
1b40: 69 6e 22 29 20 7b 0a 20 20 20 20 20 20 20 20 69  in") {.        i
1b50: 66 20 28 74 72 61 63 6b 5f 6e 6f 20 3d 3d 20 31  f (track_no == 1
1b60: 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ) {.            
1b70: 70 28 30 2c 20 6d 65 74 61 5b 74 69 63 6b 5d 5b  p(0, meta[tick][
1b80: 22 76 6f 6c 75 6d 65 22 5d 2c 20 6d 65 74 61 5b  "volume"], meta[
1b90: 74 69 63 6b 5d 5b 22 70 69 74 63 68 22 5d 2c 20  tick]["pitch"], 
1ba0: 22 32 34 6e 22 2c 20 6d 65 74 61 5b 74 69 63 6b  "24n", meta[tick
1bb0: 5d 5b 22 64 65 6c 61 79 22 5d 20 29 3b 0a 20 20  ]["delay"] );.  
1bc0: 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20        }.        
1bd0: 69 66 20 28 74 72 61 63 6b 5f 6e 6f 20 3d 3d 20  if (track_no == 
1be0: 32 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  2) {.           
1bf0: 20 70 28 31 29 3b 0a 20 20 20 20 20 20 20 20 7d   p(1);.        }
1c00: 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61  .        if (tra
1c10: 63 6b 5f 6e 6f 20 3d 3d 20 33 29 20 7b 0a 20 20  ck_no == 3) {.  
1c20: 20 20 20 20 20 20 20 20 20 20 70 28 32 29 0a 20            p(2). 
1c30: 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20         }.       
1c40: 20 69 66 20 28 74 72 61 63 6b 5f 6e 6f 20 3d 3d   if (track_no ==
1c50: 20 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20   4) {.          
1c60: 20 20 70 28 33 2c 20 6e 75 6c 6c 2c 20 6e 75 6c    p(3, null, nul
1c70: 6c 2c 20 22 31 6e 22 29 3b 0a 20 20 20 20 20 20  l, "1n");.      
1c80: 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28    }.        if (
1c90: 74 72 61 63 6b 5f 6e 6f 20 3d 3d 20 35 29 20 7b  track_no == 5) {
1ca0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20  .            if 
1cb0: 28 6d 65 74 61 5b 74 69 63 6b 5d 5b 22 70 69 74  (meta[tick]["pit
1cc0: 63 68 22 5d 29 20 7b 0a 20 20 20 20 20 20 20 20  ch"]) {.        
1cd0: 20 20 20 20 20 20 20 20 6d 65 6d 5b 22 74 68 72          mem["thr
1ce0: 65 65 22 5d 2e 73 74 65 70 28 7b 22 67 6c 69 64  ee"].step({"glid
1cf0: 65 22 3a 20 74 72 75 65 2c 20 22 61 63 63 65 6e  e": true, "accen
1d00: 74 22 3a 20 66 61 6c 73 65 2c 20 22 6e 6f 74 65  t": false, "note
1d10: 22 3a 20 6d 65 74 61 5b 74 69 63 6b 5d 5b 22 70  ": meta[tick]["p
1d20: 69 74 63 68 22 5d 7d 29 3b 0a 20 20 20 20 20 20  itch"]});.      
1d30: 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20        } else {. 
1d40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d                 m
1d50: 65 6d 5b 22 74 68 72 65 65 22 5d 2e 73 74 65 70  em["three"].step
1d60: 28 22 6f 66 66 22 29 3b 0a 20 20 20 20 20 20 20  ("off");.       
1d70: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d       }.        }
1d80: 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61  .        if (tra
1d90: 63 6b 5f 6e 6f 20 3d 3d 20 36 29 20 7b 0a 20 20  ck_no == 6) {.  
1da0: 20 20 20 20 20 20 20 20 20 70 28 35 2c 20 6e 75           p(5, nu
1db0: 6c 6c 2c 20 6d 65 74 61 5b 74 69 63 6b 5d 5b 22  ll, meta[tick]["
1dc0: 70 69 74 63 68 22 5d 2c 20 22 31 6e 22 29 3b 0a  pitch"], "1n");.
1dd0: 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 0a 20          }.    . 
1de0: 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 63      } else if (c
1df0: 75 72 72 65 6e 74 5f 73 63 65 6e 65 20 3d 3d 20  urrent_scene == 
1e00: 22 62 61 73 73 22 29 20 7b 0a 20 20 20 20 20 20  "bass") {.      
1e10: 20 20 69 66 20 28 74 72 61 63 6b 5f 6e 6f 20 3d    if (track_no =
1e20: 3d 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20  = 1) {.         
1e30: 20 70 28 30 2c 20 6d 65 74 61 5b 74 69 63 6b 5d   p(0, meta[tick]
1e40: 5b 22 76 6f 6c 75 6d 65 22 5d 2c 20 6d 65 74 61  ["volume"], meta
1e50: 5b 74 69 63 6b 5d 5b 22 70 69 74 63 68 22 5d 2c  [tick]["pitch"],
1e60: 20 22 32 34 6e 22 2c 20 6d 65 74 61 5b 74 69 63   "24n", meta[tic
1e70: 6b 5d 5b 22 64 65 6c 61 79 22 5d 20 29 3b 0a 20  k]["delay"] );. 
1e80: 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20         }.       
1e90: 20 69 66 20 28 74 72 61 63 6b 5f 6e 6f 20 3d 3d   if (track_no ==
1ea0: 20 32 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20   2) {.          
1eb0: 20 20 70 28 31 29 3b 0a 20 20 20 20 20 20 20 20    p(1);.        
1ec0: 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 72  }.        if (tr
1ed0: 61 63 6b 5f 6e 6f 20 3d 3d 20 33 29 20 7b 0a 20  ack_no == 3) {. 
1ee0: 20 20 20 20 20 20 20 20 20 20 70 28 32 29 0a 20            p(2). 
1ef0: 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20         }.       
1f00: 20 69 66 20 28 74 72 61 63 6b 5f 6e 6f 20 3d 3d   if (track_no ==
1f10: 20 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20   4) {.          
1f20: 20 20 70 28 33 2c 20 6e 75 6c 6c 2c 20 6e 75 6c    p(3, null, nul
1f30: 6c 2c 20 22 31 6e 22 29 3b 0a 20 20 20 20 20 20  l, "1n");.      
1f40: 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28    }.        if (
1f50: 74 72 61 63 6b 5f 6e 6f 20 3d 3d 20 35 29 20 7b  track_no == 5) {
1f60: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20  .            if 
1f70: 28 6d 65 74 61 5b 74 69 63 6b 5d 5b 22 70 69 74  (meta[tick]["pit
1f80: 63 68 22 5d 29 20 7b 0a 20 20 20 20 20 20 20 20  ch"]) {.        
1f90: 20 20 20 20 20 20 20 20 6d 65 6d 5b 22 74 68 72          mem["thr
1fa0: 65 65 22 5d 2e 73 74 65 70 28 7b 22 67 6c 69 64  ee"].step({"glid
1fb0: 65 22 3a 20 74 72 75 65 2c 20 22 61 63 63 65 6e  e": true, "accen
1fc0: 74 22 3a 20 66 61 6c 73 65 2c 20 22 6e 6f 74 65  t": false, "note
1fd0: 22 3a 20 6d 65 74 61 5b 74 69 63 6b 5d 5b 22 70  ": meta[tick]["p
1fe0: 69 74 63 68 22 5d 7d 29 3b 0a 20 20 20 20 20 20  itch"]});.      
1ff0: 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20        } else {. 
2000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d                 m
2010: 65 6d 5b 22 74 68 72 65 65 22 5d 2e 73 74 65 70  em["three"].step
2020: 28 22 6f 66 66 22 29 3b 0a 20 20 20 20 20 20 20  ("off");.       
2030: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d       }.        }
2040: 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61  .        if (tra
2050: 63 6b 5f 6e 6f 20 3d 3d 20 36 29 20 7b 0a 20 2f  ck_no == 6) {. /
2060: 2f 20 20 20 20 20 20 20 20 20 20 70 28 35 2c 20  /          p(5, 
2070: 30 2e 31 35 2c 20 6d 65 74 61 5b 74 69 63 6b 5d  0.15, meta[tick]
2080: 5b 22 70 69 74 63 68 22 5d 2c 20 31 29 3b 0a 09  ["pitch"], 1);..
2090: 09 2f 2f 09 70 28 39 2c 20 31 2c 20 6d 65 74 61  .//.p(9, 1, meta
20a0: 5b 74 69 63 6b 5d 5b 22 70 69 74 63 68 22 5d 2c  [tick]["pitch"],
20b0: 20 31 29 3b 0a 0a 20 20 20 20 20 20 20 20 7d 0a   1);..        }.
20c0: 20 20 20 20 7d 20 0a 0a 0a 7d 0a 0a 0a               } ...}...