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

Reply via email to