+ if ((control == 58 || control == 59) && value == 127) {
+ /* track < and > buttons: move focus between pads for special functions */
+ if (self.focused_pad === undefined) {
+ self.focused_pad = 0;
+ } else if (control == 58) {
+ self.focused_pad = self.focused_pad - 1;
+ if (self.focused_pad < 0) self.focused_pad = 15;
+ } else if (control == 59) {
+ self.focused_pad = self.focused_pad + 1;
+ if (self.focused_pad > 15) self.focused_pad = 0;
+ }
+ $('[data-touch]').removeClass('focus');
+ $('[data-touch=' + self.focused_pad + ']').addClass('focus');
+ }
+ if (control == 41 && value == 127 && self.focused_pad !== undefined) { /* play */
+ var nanotouch = $('.nanotouch')[self.focused_pad];
+ if ($(nanotouch).is('.playing')) {
+ self.samples[self.focused_pad].onended = function() {}; // disable callback
+ self.stopSample(self.focused_pad);
+ }
+ self.startSample(self.focused_pad);
+ }
+ if (control == 42 && value == 127 && self.focused_pad !== undefined) { /* stop */
+ self.stopSample(self.focused_pad);
+ }