⌈⌋ ⎇ branch:  Bitrhythm


Hex Artifact Content

Artifact 2463609aeb77bd2cd407e5f0d1ac9a6a13ab6cfe3511740b5b04c0148a0af501:


0000: 76 61 72 20 6b 6e 6f 77 6c 65 64 67 65 20 3d 20  var knowledge = 
0010: 72 65 71 75 69 72 65 28 27 2e 2f 6b 6e 6f 77 6c  require('./knowl
0020: 65 64 67 65 27 29 3b 0a 0a 6d 6f 64 75 6c 65 2e  edge');..module.
0030: 65 78 70 6f 72 74 73 20 3d 20 66 75 6e 63 74 69  exports = functi
0040: 6f 6e 28 74 65 6f 72 69 61 29 20 7b 0a 20 20 76  on(teoria) {.  v
0050: 61 72 20 4e 6f 74 65 20 3d 20 74 65 6f 72 69 61  ar Note = teoria
0060: 2e 4e 6f 74 65 3b 0a 20 20 76 61 72 20 43 68 6f  .Note;.  var Cho
0070: 72 64 20 3d 20 74 65 6f 72 69 61 2e 43 68 6f 72  rd = teoria.Chor
0080: 64 3b 0a 20 20 76 61 72 20 53 63 61 6c 65 20 3d  d;.  var Scale =
0090: 20 74 65 6f 72 69 61 2e 53 63 61 6c 65 3b 0a 0a   teoria.Scale;..
00a0: 20 20 4e 6f 74 65 2e 70 72 6f 74 6f 74 79 70 65    Note.prototype
00b0: 2e 63 68 6f 72 64 20 3d 20 66 75 6e 63 74 69 6f  .chord = functio
00c0: 6e 28 63 68 6f 72 64 29 20 7b 0a 20 20 20 20 76  n(chord) {.    v
00d0: 61 72 20 69 73 53 68 6f 72 74 43 68 6f 72 64 20  ar isShortChord 
00e0: 3d 20 63 68 6f 72 64 20 69 6e 20 6b 6e 6f 77 6c  = chord in knowl
00f0: 65 64 67 65 2e 63 68 6f 72 64 53 68 6f 72 74 3b  edge.chordShort;
0100: 0a 20 20 20 20 63 68 6f 72 64 20 3d 20 69 73 53  .    chord = isS
0110: 68 6f 72 74 43 68 6f 72 64 20 3f 20 6b 6e 6f 77  hortChord ? know
0120: 6c 65 64 67 65 2e 63 68 6f 72 64 53 68 6f 72 74  ledge.chordShort
0130: 5b 63 68 6f 72 64 5d 20 3a 20 63 68 6f 72 64 3b  [chord] : chord;
0140: 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77  ..    return new
0150: 20 43 68 6f 72 64 28 74 68 69 73 2c 20 63 68 6f   Chord(this, cho
0160: 72 64 29 3b 0a 20 20 7d 3b 0a 0a 20 20 4e 6f 74  rd);.  };..  Not
0170: 65 2e 70 72 6f 74 6f 74 79 70 65 2e 73 63 61 6c  e.prototype.scal
0180: 65 20 3d 20 66 75 6e 63 74 69 6f 6e 28 73 63 61  e = function(sca
0190: 6c 65 29 20 7b 0a 20 20 20 20 72 65 74 75 72 6e  le) {.    return
01a0: 20 6e 65 77 20 53 63 61 6c 65 28 74 68 69 73 2c   new Scale(this,
01b0: 20 73 63 61 6c 65 29 3b 0a 20 20 7d 3b 0a 7d 3b   scale);.  };.};
01c0: 0a                                               .