/* opens a MIDI-In device, returns handle */ int mididrv_in_open(void) { MMRESULT ret; log_message(mididrv_log, "Opening MIDI-In device #%d", midi_in_dev); if (handle_in) { mididrv_in_close(); } if (midi_in_dev != -1) { ret = midiInOpen(&handle_in, midi_in_dev, (DWORD_PTR)midi_callback, 0, CALLBACK_FUNCTION); if (ret != MMSYSERR_NOERROR) { log_error(mididrv_log, "Cannot open MIDI-In device #%d!", midi_in_dev); handle_in = 0; return -1; } } else { handle_in = 0; return -1; } /* reset FIFO */ reset_fifo(); /* can theoretically return MMSYSERR_INVALHANDLE */ ret = midiInStart(handle_in); return (DWORD)handle_in; }
int main(int argc, char *argv[]) { int ppc_fd = 0; int magic_fd = 0; int io_fd = 0; int i = 0, k = 0; unsigned long buf = 0; unsigned long data = 0, meta = 0; int cpuVector; int err; err = open_coredev ("/dev/coredrv0", 0xe0002700, 64, 4, &ppc_fd); if (err != 0) { printf ("Error setting up core devices\n"); exit (1); } //Testing the interface. unsigned long read_data; unsigned long snoop_ctrl; unsigned int fifo; for (fifo = 0; fifo < 8; fifo++){ reset_fifo(fifo, ppc_fd); } int q; for (q = 0; q < 4; q++){ for (fifo = 0; fifo < 8; fifo++){ reset_offchip_fifo(q, fifo, ppc_fd); } } return 0; }