Hi there, I'm trying to use portmidi with my Novation X-Station under OS X Leopard, and have come across a bug in the part of portmidi that enumerates the device names on OS X. For some reason it seems as though the X-Station doesn't name it's individual ports, only the device, so when I try and run Pm_Initialize with the X-Station it causes a bus error.
Looking at the traceback, it looks as if the problem is in the EndpointName function in pmmacosxcm.c. Specifically the call to CFStringCompareWithOptions on line 686. I suspect it doesn't like running with an empty string or something... This patch seems to fix the problem, though I'm not sure if there's a better way to do it: 676c676,679 < if (str != NULL) { --- > if (CFStringGetLength(result) == 0){ > CFRelease(result); > return str; > }else if (str != NULL) { Thanks! Rob P.S. To whomever just applied the "Fixed bug in midi_length function in OS X implementation." patch, thank you very much! I was just running across that nasty problem last night when trying to use portmidi with ableton, and it was beyond me as to how to fix it! _______________________________________________ media_api mailing list media_api@create.ucsb.edu http://lists.create.ucsb.edu/mailman/listinfo/media_api