[squeak-dev] Re: MIDI, audio interfaces, etc.

tim Rowledge tim at rowledge.org
Fri Jun 14 21:43:58 UTC 2013


On 14-06-2013, at 1:18 AM, karl ramberg <karlramberg at gmail.com> wrote:

> http://wiki.squeak.org/squeak/476
> 
> 
> Some music info here

Thanks - that's one of the better swiki pages that I've seen recently; we need a lot of work to clean up!

I haven't spotted anything yet that helps me understand the problems with unix MIDI though. Is there really no one here with any experience?

Just looking at the code without any prior knowledge of how MIDI is supposed to work, I'm puzzled by (in platforms/unix/plugins/MIDIPlugin/sqUnixMIDIALSA.inc)  

int sqMIDIGetPortCount(void)
{
  debugf("sqMIDIGetPortCount\n");
  success(true);
  return 1;
}

/* Return an integer indicating the directionality of the given
   port where: 1 = input, 2 = output, 3 = bidirectional.  Fail if
   there is no port of the given number.
*/
int sqMIDIGetPortDirectionality(int portNum)
{
  switch (portNum)
    {
    case 0:	return 2;
    case 1:	return 1;
    }
  return interpreterProxy->success(false);
}

Note how the getcount returns 1, which appears to result in a single port known as port *0* and yet getportdirectionality expects to answer for port 0 and port 1. getportname also appears to expect port 0 or port 1 and further confsed me by in use returning sometihng like 'tN1in' as a port name and I can't see how the code would produce that…

It gets more confusing after that.


tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Strange OpCodes: GLV: Ground the Line Voltage




More information about the Squeak-dev mailing list