static int addMidiMessage (MidiDevice *midi, const unsigned char *message, int length) { if ((midi->count + length) > sizeof(midi->buffer)) if (!flushMidiDevice(midi)) return 0; memcpy(&midi->buffer[midi->count], message, length); midi->count += length; return 1; }
static int writeMidiMessage (MidiDevice *midi, const unsigned char *message, int length) { if (!addMidiMessage(midi, message, length)) return 0; if (!flushMidiDevice(midi)) return 0; return 1; }
void closeMidiDevice (MidiDevice *midi) { flushMidiDevice(midi); midiOutClose(midi->handle); free(midi); }
static int midiFlush (NoteDevice *device) { return flushMidiDevice(device->midi); }