Skip to content

Commit 5db5568

Browse files
committed
initial commit
0 parents  commit 5db5568

File tree

13 files changed

+706
-0
lines changed

13 files changed

+706
-0
lines changed

LICENSE

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
ISC License
2+
3+
Copyright (c) 2024 Antoine Coulon
4+
5+
Permission to use, copy, modify, and/or distribute this software for any
6+
purpose with or without fee is hereby granted, provided that the above
7+
copyright notice and this permission notice appear in all copies.
8+
9+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15+
PERFORMANCE OF THIS SOFTWARE.

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# `mikro`
2+
[![Go Reference](https://pkg.go.dev/badge/github.com/antoi-ne/mikro.svg)](https://pkg.go.dev/github.com/antoi-ne/mikro)
3+
4+
Go driver for the Native Instruments Maschine Mikro Mk3.

api/generate.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package api
2+
3+
//go:generate bitproto go mk3/mk3.bitproto mk3/

api/mk3/mk3.bitproto

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
proto mk3
2+
3+
message PadReport {
4+
option max_bytes = 64
5+
6+
byte magic = 1
7+
uint8 pad = 2
8+
uint4 action = 3
9+
uint12 velocity = 4
10+
byte[60] reserved = 5
11+
}
12+
13+
message ButtonReport {
14+
option max_bytes = 14
15+
16+
byte magic = 1
17+
uint40 pressed_buttons = 2
18+
bool encoder_touched = 3
19+
uint7 reserved1 = 4
20+
uint4 encoder_value = 5
21+
uint4 reserved2 = 6
22+
uint16 strip_time = 7
23+
uint8 strip_value1 = 8
24+
byte reserved3 = 9
25+
uint8 strip_value2 = 10
26+
byte reserved4 = 11
27+
}
28+
29+
message ColoredLight {
30+
uint2 intensity = 1
31+
uint6 color = 2
32+
}
33+
34+
message LightState {
35+
option max_bytes = 91
36+
37+
byte magic = 1
38+
ColoredLight[39] buttons = 2
39+
ColoredLight[16] pads = 3
40+
ColoredLight[35] strip = 4
41+
}

0 commit comments

Comments
 (0)