我想使用我的 GO 程序收听传入的 MIDI 消息。但是,我无法让它发挥作用。
我尝试过使用 midi 库,例如https://github.com/gomidi/midi,但我无法让它工作。没有找到任何例子,文档对我来说也不清楚。
package main
import (
"fmt"
"io"
"github.com/gomidi/midi"
. "github.com/gomidi/midi/midimessage/channel" // (Channel Messages)
"github.com/gomidi/midi/midimessage/realtime"
"github.com/gomidi/midi/midireader"
)
func main() {
var input io.Reader
rthandler := func(m realtime.Message) {
fmt.Printf("Realtime: %s\n", m)
}
rd := midireader.New(input, rthandler)
var m midi.Message
var err error
for {
m, err = rd.Read()
// breaking at least with io.EOF
if err != nil {
break
}
// inspect
fmt.Println(m)
switch v := m.(type) {
case NoteOn:
fmt.Printf("NoteOn …Run Code Online (Sandbox Code Playgroud)