$('#master-gain').on('change', function() {
var fraction = parseInt(this.value) / parseInt(127);
- self.masterGainNode.gain.value = fraction * fraction;
+ var now = self.audioCtx.currentTime;
+ self.masterGainNode.gain.exponentialRampToValueAtTime(fraction * fraction, now + 0.015);
});
$('#delay').on('change', function() {
if (value == 0) {
self.delay.disconnect();
} else {
- self.delay.delayTime.value = value;
+ var now = self.audioCtx.currentTime;
+ self.delay.delayTime.exponentialRampToValueAtTime(value, now + 0.015);
self.delay.connect(self.audioCtx.destination);
}
});
$('#feedback').on('change', function() {
- self.feedback.gain.value = this.value;
+ var now = self.audioCtx.currentTime;
+ self.feedback.gain.exponentialRampToValueAtTime(this.value, now + 0.015);
});
$('#filter').on('change', function() {
$('.touch-gain').on('change', function() {
var fraction = parseInt(this.value) / parseInt(127);
var touchIdx = parseInt($(this).parent().data('touch'));
- self.touchGainNodes[touchIdx].gain.value = fraction * fraction;
+ var now = self.audioCtx.currentTime;
+ self.touchGainNodes[touchIdx].gain.exponentialRampToValueAtTime(fraction * fraction, now + 0.015);
});
self.time_interval_id = setInterval(function() {