I've ported the following files from the pmtest directory to D: latency.c midithread.c mm.c
I haven't ported these yet: test.c -- I can port this soon. sysex.c -- Unfortunately I don't have a sysex-enabled device. Perhaps I could use a virtual midi device for this though. qtest.c -- Porting is not required. D has a built-in thread messaging system. midithru.c -- Will do. midiclock.c -- Will try with a virtual midi device. And of course the bindings themselves: portmidi.d -- function prototypes, type definitions, automatically translated from the C header. exception.d -- Prints the string retrieved from Pm_GetErrorText() for any thrown exceptions. porttime.d -- Currently a little rough translation due to having to use globals, while D uses thread-local storage by default. So basically I've used some global variables without any locks which might introduce data races in unusual circumstances. I'll try fixing this soon. I've also included a small "Interact" module (boost-licensed) from Jesse Phillips, which really simplifies user-input and is used with some code examples in pt_test. I'll have to ask him for his permission to include the module, although I don't think there will be any issues since we're friendly & the module is boost-licensed. Would the authors of PortMIDI be interested in including the D bindings once I'm done with porting the rest of the code samples? _______________________________________________ media_api mailing list [email protected] http://lists.create.ucsb.edu/mailman/listinfo/media_api
