diff --git a/backend/midiDevice.go b/backend/midiDevice.go deleted file mode 100644 index cfbd7da..0000000 --- a/backend/midiDevice.go +++ /dev/null @@ -1,50 +0,0 @@ -package backend - -import ( - "github.com/tonychee7000/Arremi/consts" - midi "github.com/youpy/go-coremidi" -) - -// MIDIDevice implies a Writer interface. -type MIDIDevice struct { - client midi.Client - source midi.Source - Signal chan midi.Packet -} - -// NewMIDIDevice construction func -func NewMIDIDevice() (*MIDIDevice, error) { - var mididev = new(MIDIDevice) - err := mididev.Init() - return mididev, err -} - -// Init the client and source -func (midiDev *MIDIDevice) Init() error { - var err error - - midiDev.Signal = make(chan midi.Packet, 4096) - midiDev.client, err = midi.NewClient(consts.ClientName) - if err != nil { - return err - } - - midiDev.source, err = midi.NewSource(midiDev.client, consts.SourceName) - return err -} - -func (midiDev *MIDIDevice) Write(p []byte) (int, error) { - var pack = midi.NewPacket(p, 0) - midiDev.Signal <- pack - err := pack.Received(&(midiDev.source)) - return len(p), err -} - -// AllNoteOff I don't want panic! -func (midiDev *MIDIDevice) AllNoteOff() { - for i := 0; i < 16; i++ { - for j := 0; j < 128; j++ { - midiDev.Write([]byte{byte(0x90 + i), byte(j), 0}) - } - } -}