feat(tracker): compile with midi support only when CGO is available

Also add the midi context to the VSTI, so VSTI can use MIDI if they
wish so.
This commit is contained in:
2025-06-20 19:38:06 +03:00
parent 3881b8eb22
commit 602b3b05cc
7 changed files with 42 additions and 21 deletions
+8
View File
@@ -117,8 +117,11 @@ type (
InputDevices(yield func(MIDIDevice) bool)
Close()
HasDeviceOpen() bool
TryToOpenBy(name string, first bool)
}
NullMIDIContext struct{}
MIDIDevice interface {
String() string
Open() error
@@ -385,6 +388,11 @@ func (d *modelData) Copy() modelData {
return ret
}
func (m NullMIDIContext) InputDevices(yield func(MIDIDevice) bool) {}
func (m NullMIDIContext) Close() {}
func (m NullMIDIContext) HasDeviceOpen() bool { return false }
func (m NullMIDIContext) TryToOpenBy(name string, first bool) {}
func (m *Model) resetSong() {
m.d.Song = defaultSong.Copy()
for _, instr := range m.d.Song.Patch {