onMIDIMessage: function(message) {
var port = message.target;
var data = message.data;
+ console.log(message);
if (data[0] == 144) { /* touch on */
var sample_idx = NANOPAD_TOUCHS.indexOf(data[1]);
if (sample_idx != -1) {
this.onTouchOn(port, data, sample_idx);
}
}
+ if (data[0] == 176) { /* control change */
+ this.onControlChange(port, data, data[1], data[2]);
+ }
},
-onTouchOn: function(port, data, sample_idx) {}
+onTouchOn: function(port, data, sample_idx) {},
+onControlChange: function(port, data, number, value) {}
};
self.startSample(sample_idx);
}
+ midi.onControlChange = function(port, data, control, value) {
+ if (control == 7) {
+ $('#gain').val(value).trigger('change');
+ }
+ }
+
$(document).keypress(function(ev) {
var sample_idx = KEYBOARD_CODES.indexOf(ev.key);
if (sample_idx != -1) {
self.startSample(sample_idx);
}
});
+
+ $('#gain').on('change', function() {
+ var fraction = parseInt(this.value) / parseInt(127);
+ self.gainNode.gain.value = fraction * fraction;
+ });
}
self.startSample = function(sample_idx) {