00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifdef MKPERFORMSNDMIDI_EXPORTS
00034 #define PERFORM_API __declspec(dllexport)
00035 #else
00036 #define PERFORM_API __declspec(dllimport)
00037 #endif
00038
00039 #ifdef __cplusplus
00040 extern "C" {
00041 #endif
00042
00043 typedef int kern_return_t;
00044
00045
00046 typedef int msg_header_t;
00047
00048
00049 PERFORM_API kern_return_t MDBecomeOwner (
00050 port_t mididriver_port,
00051 port_t owner_port);
00052
00053
00054 PERFORM_API kern_return_t MDReleaseOwnership (
00055 port_t mididriver_port,
00056 port_t owner_port);
00057
00058
00059 PERFORM_API kern_return_t MDSetClockMode (
00060 port_t mididriver_port,
00061 port_t owner_port,
00062 short unit,
00063 int clock_mode);
00064
00065
00066 PERFORM_API kern_return_t MDGetClockTime (
00067 port_t mididriver_port,
00068 port_t owner_port,
00069 int *time);
00070
00071
00072 PERFORM_API kern_return_t MDGetMTCTime (
00073 port_t mididriver_port,
00074 port_t owner_port,
00075 short *format,
00076 short *hours,
00077 short *minutes,
00078 short *seconds,
00079 short *frames);
00080
00081
00082 PERFORM_API kern_return_t MDSetClockTime (
00083 port_t mididriver_port,
00084 port_t owner_port,
00085 int time);
00086
00087
00088 PERFORM_API kern_return_t MDRequestAlarm (
00089 port_t mididriver_port,
00090 port_t owner_port,
00091 port_t reply_port,
00092 int time);
00093
00094
00095 PERFORM_API kern_return_t MDStartClock (
00096 port_t mididriver_port,
00097 port_t owner_port);
00098
00099
00100 PERFORM_API kern_return_t MDStopClock (
00101 port_t mididriver_port,
00102 port_t owner_port);
00103
00104
00105 PERFORM_API kern_return_t MDClaimUnit (
00106 port_t mididriver_port,
00107 port_t owner_port,
00108 short unit);
00109
00110
00111 PERFORM_API kern_return_t MDReleaseUnit (
00112 port_t mididriver_port,
00113 port_t owner_port,
00114 short unit);
00115
00116
00117 PERFORM_API kern_return_t MDRequestExceptions (
00118 port_t mididriver_port,
00119 port_t owner_port,
00120 port_t error_port);
00121
00122
00123 PERFORM_API kern_return_t MDRequestData (
00124 port_t mididriver_port,
00125 port_t owner_port,
00126 short unit,
00127 port_t reply_port);
00128
00129
00130 PERFORM_API kern_return_t MDSendData (
00131 port_t mididriver_port,
00132 port_t owner_port,
00133 short unit,
00134 MDRawEventPtr data,
00135 unsigned int dataCnt);
00136
00137
00138 PERFORM_API kern_return_t MDGetAvailableQueueSize (
00139 port_t mididriver_port,
00140 port_t owner_port,
00141 short unit,
00142 int *size);
00143
00144
00145 PERFORM_API kern_return_t MDRequestQueueNotification (
00146 port_t mididriver_port,
00147 port_t owner_port,
00148 short unit,
00149 port_t notification_port,
00150 int size);
00151
00152
00153 PERFORM_API kern_return_t MDClearQueue (
00154 port_t mididriver_port,
00155 port_t owner_port,
00156 short unit);
00157
00158
00159 PERFORM_API kern_return_t MDFlushQueue (
00160 port_t mididriver_port,
00161 port_t owner_port,
00162 short unit);
00163
00164
00165 PERFORM_API kern_return_t MDSetSystemIgnores (
00166 port_t mididriver_port,
00167 port_t owner_port,
00168 short unit,
00169 int sys_ignores);
00170
00171
00172 PERFORM_API kern_return_t MDSetClockQuantum (
00173 port_t mididriver_port,
00174 port_t owner_port,
00175 int microseconds);
00176
00177 PERFORM_API kern_return_t MDAwaitReply(
00178 port_t port_set,
00179 MDReplyFunctions *funcs,
00180 int timeout);
00181
00182 PERFORM_API kern_return_t MDHandleReply(
00183 msg_header_t *msg,
00184 MDReplyFunctions *funcs);
00185
00186
00187 PERFORM_API kern_return_t MIDIDownloadDLSInstruments(
00188 unsigned int *instruments,
00189 int instrCount);
00190
00191
00192 PERFORM_API const char **MIDIGetAvailableDrivers(
00193 unsigned int *selectedDriver);
00194
00195 #ifdef __cplusplus
00196 }
00197 #endif