Hi, I've narrowed down a problem to a specific place in PM.

When I call write(), the device ID is 2. When it gets to this point in pm.c it is undefined and causes a segfault. Now the problem is to figure out why. I have tested my system with PmDefaults and gone through the 3 options I have, no change. I've tried other programs and they play fine. What could clobber the midi device id between the time write is called and the time it gets to the routine? -Don

From portmidi.c:
PMEXPORTPmErrorPm_Write(PortMidiStream*stream,PmEvent*buffer,int32_tlength)

{

    PmInternal  *midi  =  (PmInternal  *)  stream;

    PmError  err  =  pmNoError;

    int  i;

    int  bits;

    pm_hosterror  =  FALSE;

    /*  arg  checking  */

    if(midi  ==  NULL)

        err  =  pmBadPtr;

    else  if(!descriptors[midi->device_id].pub.opened)  /*  segfault here*/

        err  =  pmBadPtr;


_______________________________________________
media_api mailing list
[email protected]
http://lists.create.ucsb.edu/mailman/listinfo/media_api

Reply via email to