summaryrefslogtreecommitdiff
path: root/pkg/mixer/mixer.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/mixer/mixer.go')
-rw-r--r--pkg/mixer/mixer.go18
1 files changed, 10 insertions, 8 deletions
diff --git a/pkg/mixer/mixer.go b/pkg/mixer/mixer.go
index 0eb5746..afa1534 100644
--- a/pkg/mixer/mixer.go
+++ b/pkg/mixer/mixer.go
@@ -273,15 +273,17 @@ func (m *Mixer) Init() error {
go func() {
for {
- p := <-ch
- if p.Err != nil {
- log.Printf("mixer: got fatal error from midi input device: %v, trying to reopen it...", p.Err)
- m.devIn.Close()
- m.devIn = nil
- go m.reopenInput()
- return
+ ps := <-ch
+ for _, p := range ps {
+ if p.Err != nil {
+ log.Printf("mixer: got fatal error from midi input device: %v, trying to reopen it...", p.Err)
+ m.devIn.Close()
+ m.devIn = nil
+ go m.reopenInput()
+ return
+ }
+ m.handleMidiPacket(p)
}
- m.handleMidiPacket(p)
}
}()
return nil