From 11a025e37a25834bc393ce80305e5f86ff074122 Mon Sep 17 00:00:00 2001 From: kpj Date: Tue, 20 May 2014 14:48:35 +0200 Subject: [PATCH] Added program change detection --- js/MIDI/LoadPlugin.js | 2 ++ js/MIDI/Player.js | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/js/MIDI/LoadPlugin.js b/js/MIDI/LoadPlugin.js index 74c01adc..73f2c369 100644 --- a/js/MIDI/LoadPlugin.js +++ b/js/MIDI/LoadPlugin.js @@ -65,6 +65,8 @@ MIDI.loadPlugin = function(conf) { MIDI.supports = types; connect[api](filetype, instruments, conf); }); + + MIDI.detectProgramChange = conf.detectProgram || false; }; /// diff --git a/js/MIDI/Player.js b/js/MIDI/Player.js index bfa4e3bf..2f5307c2 100644 --- a/js/MIDI/Player.js +++ b/js/MIDI/Player.js @@ -235,6 +235,15 @@ var startAudio = function (currentTime, fromCache) { interval: scheduleTracking(channel, note, queuedTime, offset, 128) }); break; + case 'programChange': + if(MIDI.detectProgramChange) { + eventQueue.push({ + event: event, + source: MIDI.programChange(channel, event.programNumber), + interval: scheduleTracking(channel, note, queuedTime, offset, 128) + }); + } + break; default: break; }