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

Reply via email to