diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-10-10 03:20:50 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-10-10 03:20:50 +0200 |
| commit | 8d728437d3903411c784cc92f5df260178171604 (patch) | |
| tree | ef85dc09bfda8b93a09ecb881e6c3777bc741462 /client/lib/midi.js | |
| parent | 8848bc387d62e1667cdfa684f36c058d2619e6b3 (diff) | |
mass shooting sonification
Diffstat (limited to 'client/lib/midi.js')
| -rw-r--r-- | client/lib/midi.js | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/client/lib/midi.js b/client/lib/midi.js index 338526a..f4b479b 100644 --- a/client/lib/midi.js +++ b/client/lib/midi.js @@ -54,7 +54,7 @@ export function midi_init() { /* play a single note */ -export function play_note(index, duration, channel="all", exporting=false, defer=0){ +export function play_note(index, duration, channel="all", exporting=false, rest=0, defer=0){ // console.log(index) const scale = scales.current() const freq = scale.index(index + Math.round(nx.offset.value), nx.octave.value) @@ -68,6 +68,8 @@ export function play_note(index, duration, channel="all", exporting=false, defer midi_note = Math.floor(midi_note) if ((midiDevice || exporting) && midi_note > 127) return 0 const note = Tone.Frequency(Math.floor(midi_note), "midi").toNote() + const defer_time = 30000 / Tone.Transport.bpm.value * defer / 128 + console.log(defer, defer_time) if (exporting || midiDevice) { duration = duration || 60000 / Tone.Transport.bpm.value if (! exporting) { @@ -79,6 +81,11 @@ export function play_note(index, duration, channel="all", exporting=false, defer play_midi_note(note, cents, channel, duration) } } + } + else if (defer) { + setTimeout(() => { + kalimba.play(freq) + }, defer_time) } else { kalimba.play(freq) } |
