commit 130bab4bc820bf0c11ff123a643d183c3c6b007e Author: Ian Gulliver Date: Tue Feb 10 21:07:47 2026 -0800 Initial commit: MIDI port discovery tool diff --git a/Document_BE_X-TOUCH-X-TOUCH-EXTENDER-MIDI-Mode-Implementation.pdf b/Document_BE_X-TOUCH-X-TOUCH-EXTENDER-MIDI-Mode-Implementation.pdf new file mode 100644 index 0000000..cfbc84d Binary files /dev/null and b/Document_BE_X-TOUCH-X-TOUCH-EXTENDER-MIDI-Mode-Implementation.pdf differ diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..c3bdcec --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module qrun + +go 1.25.6 + +require gitlab.com/gomidi/midi/v2 v2.3.22 diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..7b614e6 --- /dev/null +++ b/go.sum @@ -0,0 +1,2 @@ +gitlab.com/gomidi/midi/v2 v2.3.22 h1:4Q20o6q4BDo7i/KGvnwASeytOlrPI7MwsS7F2hA7fOM= +gitlab.com/gomidi/midi/v2 v2.3.22/go.mod h1:jDpP4O4skYi+7iVwt6Zyp18bd2M4hkjtMuw2cmgKgfw= diff --git a/main.go b/main.go new file mode 100644 index 0000000..7a748b6 --- /dev/null +++ b/main.go @@ -0,0 +1,37 @@ +package main + +import ( + "fmt" + "os" + + "gitlab.com/gomidi/midi/v2" + _ "gitlab.com/gomidi/midi/v2/drivers/rtmididrv" +) + +func main() { + defer midi.CloseDriver() + + inPorts := midi.GetInPorts() + outPorts := midi.GetOutPorts() + + fmt.Println("MIDI Input Ports:") + if len(inPorts) == 0 { + fmt.Println(" (none)") + } + for i, port := range inPorts { + fmt.Printf(" [%d] %s\n", i, port) + } + + fmt.Println("\nMIDI Output Ports:") + if len(outPorts) == 0 { + fmt.Println(" (none)") + } + for i, port := range outPorts { + fmt.Printf(" [%d] %s\n", i, port) + } + + if len(inPorts) == 0 && len(outPorts) == 0 { + fmt.Println("\nNo MIDI devices found.") + os.Exit(1) + } +}