lunchpad
Version:
interface for the novation launchpad mini, for node and the browser
40 lines (32 loc) • 1.74 kB
text/typescript
import Color from '../Color'
import LaunchpadBase, { Board } from '../LaunchpadBase'
class Mock extends LaunchpadBase {
private pad: Board
constructor() {
super()
this.pad = [
[Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, null],
[Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK],
[Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK],
[Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK],
[Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK],
[Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK],
[Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK],
[Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK],
[Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK, Color.BLACK],
]
}
_setSquare(x: number, y: number, color: Color) {
this.pad[-1 * y + 8][x] = color;
}
_setFunctionX(x: number, color: Color) {
this.pad[0][x] = color;
}
_setFunctionY(y: number, color: Color) {
this.pad[-1 * y + 8][8] = color;
}
_flush() {
this.emit('draw');
}
}
export default Mock