Copyright ©1995 by NeXT Computer, Inc.  All Rights Reserved.


10



MIDI Driver API




Driver Functions



Clock Functions



Functions to set clock behavior

kern_return_t MIDISetClockMode(port_t driverPort, port_t ownerPort, short synchUnit, int mode)
kern_return_t MIDISetClockQuantum(port_t driverPort, port_t ownerPort, int interval)


Functions to set and get clock time

kern_return_t MIDISetClockTime(port_t driverPort, port_t ownerPort, int time)
kern_return_t MIDIGetClockTime(port_t driverPort, port_t ownerPort, int *time)
kern_return_t MIDIGetMTCTime(port_t driverPort, port_t ownerPort, short *format,
short *hours, short *minutes, short *seconds, short *frames)


Functions to start and stop the clock

kern_return_t MIDIStartClock(port_t driverPort, port_t ownerPort)
kern_return_t MIDIStopClock(port_t driverPort, port_t ownerPort)



Data Sending Function



Send data via the MIDI driver

kern_return_t MIDISendData(port_t driverPort, port_t ownerPort, short unit, MIDIRawEvent *data, unsigned int count)



Driver Ownership Functions



Acquire and release ownership of the MIDI driver

kern_return_t MIDIBecomeOwner(port_t driverPort, port_t ownerPort)
kern_return_t MIDIReleaseOwnership(port_t driverPort, port_t ownerPort)



Ignore MIDI Codes Function



Request that the driver ignore certain MIDI codes

kern_return_t MIDISetSystemIgnores(port_t driverPort, port_t ownerPort, short unit, unsigned int ignoreBits)



Queue Management Functions



Query about and manage data flow in the queue

kern_return_t MIDIClearQueue(port_t driverPort, port_t ownerPort, short unit)
kern_return_t MIDIFlushQueue(port_t device_port, port_name_t ownerPort_port, short unit)
kern_return_t MIDIGetAvailableQueueSize(port_t driverPort, port_t ownerPort, short unit, int *theSize)



Reply Handling Functions



Handle replies from the MIDI driver to a client

kern_return_t MIDIAwaitReply(port_t reply_port, MIDIReplyFunctions *handlers, int timeout)
kern_return_t MIDIHandleReply(msg_header_t *msg, MIDIReplyFunctions *handlers)



Request Functions



Request services from the MIDI driver

kern_return_t MIDIRequestData(port_t driverPort, port_t ownerPort, short unit, port_t replyPort)
kern_return_t MIDIRequestAlarm(port_t driverPort, port_t ownerPort, port_t replyPort, int time)
kern_return_t MIDIRequestExceptions(port_t driverPort, port_t ownerPort, port_t replyPort)
kern_return_t MIDIRequestQueueNotification(port_t driverPort, port_t ownerPort, short unit, port_t replyPort, int size)



Serial Port Ownership Functions



Acquire and release ownership of the serial ports

kern_return_t MIDIClaimUnit(port_t driverPort, port_t ownerPort, short unit)
kern_return_t MIDIReleaseUnit(port_t driverPort, port_t ownerPort, short unit)