* Please explain Alsa Interface MIDI numbering PLEASE!
@ 2003-02-16 18:52 Mark Knecht
2003-02-17 9:21 ` Clemens Ladisch
0 siblings, 1 reply; 5+ messages in thread
From: Mark Knecht @ 2003-02-16 18:52 UTC (permalink / raw)
To: Alsa-Devel, Linux-Audio-User
[-- Attachment #1: Type: text/plain, Size: 1872 bytes --]
Hi,
I'm having a great deal of confusion about how Alsa is handling my
MIDI hardware. This is spilling over into unintended consequences in
Rosegarden that I think none of us understand. Couple someone with some
background in this please explain? Thanks.
I have two 2-port MIDI devices on this system. One is an RME HDSP
9652 with two MIDI ports, and the other is a hot pluggable MidiSport
2x2. I attach two screen shots of kaconnect, one with and one without
the 2x2 plugged in.
My questions:
1) In the screen shot "without_2x2.png" I see two read ports and two
write ports. Please explain why they are called
64:0 External MIDI 0
64:32 External MIDI 0
Why is my HDSP given the apparent name '64'? Why the :0 and :32? I would
have thought :0 and :16 would make more sense from a channel numbering
point of view, or :0 and :1 from an interface point of view. What's
going on?
2) In the screen shot "with_2x2.png" I've plugged in the MidiSport 2x2.
New devices show up in kaconnect. However, instead of showing 2 read
ports and 2 write ports, I am getting 4 read ports and no write ports.
Please explain why the MidiSport is given the names
72:0 External MIDI 1
72:1 External MIDI 1
72:2 External MIDI 1
72:3 External MIDI 1
Shouldn't this be just :0 and :1 for both the read and write ports?
I get the feeling that BOTH of the drivers for these devices are hosed.
What's up with these things?
I do not understand why Alsa gives these devices numbers in the first
place, nor how the numbers are assigned.
How can I change the names that are displayed so that
"64:0 External MIDI 0" shows the name "HDSP 9652 Port 1"
"64:32 External MIDI 0" shows the name "HDSP 9652 Port 2"
"72:0 External MIDI 1" shows the name "MidiSport 2x2 Port A"
"72:1 External MIDI 1" shows the name "MidiSport 2x2 Port B"
Thanks very, very much in advance,
Mark
[-- Attachment #2: with_2x2.png --]
[-- Type: image/png, Size: 5055 bytes --]
[-- Attachment #3: without_2x2.png --]
[-- Type: image/png, Size: 4698 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Please explain Alsa Interface MIDI numbering PLEASE!
2003-02-16 18:52 Please explain Alsa Interface MIDI numbering PLEASE! Mark Knecht
@ 2003-02-17 9:21 ` Clemens Ladisch
2003-02-17 16:29 ` [linux-audio-user] " Mark Knecht
0 siblings, 1 reply; 5+ messages in thread
From: Clemens Ladisch @ 2003-02-17 9:21 UTC (permalink / raw)
To: Mark Knecht; +Cc: Alsa-Devel, Linux-Audio-User
Mark Knecht wrote:
> 1) In the screen shot "without_2x2.png" I see two read ports and two
> write ports. Please explain why they are called
>
> 64:0 External MIDI 0
> 64:32 External MIDI 0
>
> Why is my HDSP given the apparent name '64'?
This isn't the name, it's the sequencer client number. In theory, it
should not be necessary to identify devices by this.
0-63 are reserved for the ALSA core. 64-127 are used by sound cards, with
each card getting 8 (64-71, 72-79, etc.). 128-255 are for use by
applications.
> Why the :0 and :32? I would have thought :0 and :16 would make more
> sense from a channel numbering point of view, or :0 and :1 from an
> interface point of view. What's going on?
These ports are not native sequencer ports implemented directly by the
driver but are emulated on top the rawmidi ports. There can be 256 ports
per sequencer client, and 8 rawmidi devices per card, so each rawmidi
device (which can have an unspecified number of subdevices=ports) is
mapped to a group of 32 (256/8) sequencer ports.
If the two rawmidi ports would have been subdevices of one device, they
would have been mapped to port numbers :0 and :1.
> How can I change the names that are displayed so that
> "64:0 External MIDI 0" shows the name "HDSP 9652 Port 1"
> "64:32 External MIDI 0" shows the name "HDSP 9652 Port 2"
> "72:0 External MIDI 1" shows the name "MidiSport 2x2 Port A"
> "72:1 External MIDI 1" shows the name "MidiSport 2x2 Port B"
"External MIDI x" is the client name, which is the same for all ports of
the same client. It seems that kaconnect doesn't show the port name, which
would be what you want. Please complain to the author of kaconnect. :-)
To show the port names, run "aconnect -io" or "pmidi -l".
HTH
Clemens
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [linux-audio-user] Re: Please explain Alsa Interface MIDI numbering PLEASE!
2003-02-17 9:21 ` Clemens Ladisch
@ 2003-02-17 16:29 ` Mark Knecht
2003-02-17 18:07 ` Paul Davis
0 siblings, 1 reply; 5+ messages in thread
From: Mark Knecht @ 2003-02-17 16:29 UTC (permalink / raw)
To: Linux-Audio-User; +Cc: Alsa-Devel
Clemens,
Thanks. This is helpful, although questions remain. FYI - my machine
doesn't have pmidi, so I cannot run that now.
[mark@Godzilla mark]$ aconnect -io
client 0: 'System' [type=kernel]
0 'Timer '
1 'Announce '
client 64: 'External MIDI 0' [type=kernel]
0 'MIDI 0-0 '
32 'MIDI 0-1 '
client 72: 'External MIDI 1' [type=kernel]
0 'Midisport 2x2 Port 0'
1 'Midisport 2x2 Port 1'
2 'Midisport 2x2 Port 2'
3 'Midisport 2x2 Port 3'
[mark@Godzilla mark]$
The above information is certainly a bit more readable, but it seems
to still be, at the least, inconsistent.
1) For client 64, which is an HDSP 9652, there are two rawmidi ports.
However, the info above says they are labeled '0' and '32'. Should they
not be 0 & 1? If this is an error, then what needs to be fixed? The HDSP
9652 driver?
2) Why does the HDSP 9652 not tell me its name like the MidiSport does?
The MidiSport info above is with the Win2K firmware installed as per
your extraction program. It actually didn't change from the way Fernando
had me install it, so I suppose that his installation had the real
Midiman firmware and not the open source firmware. Apparently I'll
continue to get the wrong number of ports on that device until I can get
Alsa itself upgraded.
Thanks,
Mark
On Mon, 2003-02-17 at 01:21, Clemens Ladisch wrote:
> Mark Knecht wrote:
> > 1) In the screen shot "without_2x2.png" I see two read ports and two
> > write ports. Please explain why they are called
> >
> > 64:0 External MIDI 0
> > 64:32 External MIDI 0
> >
> > Why is my HDSP given the apparent name '64'?
>
> This isn't the name, it's the sequencer client number. In theory, it
> should not be necessary to identify devices by this.
>
> 0-63 are reserved for the ALSA core. 64-127 are used by sound cards, with
> each card getting 8 (64-71, 72-79, etc.). 128-255 are for use by
> applications.
>
> > Why the :0 and :32? I would have thought :0 and :16 would make more
> > sense from a channel numbering point of view, or :0 and :1 from an
> > interface point of view. What's going on?
>
> These ports are not native sequencer ports implemented directly by the
> driver but are emulated on top the rawmidi ports. There can be 256 ports
> per sequencer client, and 8 rawmidi devices per card, so each rawmidi
> device (which can have an unspecified number of subdevices=ports) is
> mapped to a group of 32 (256/8) sequencer ports.
>
> If the two rawmidi ports would have been subdevices of one device, they
> would have been mapped to port numbers :0 and :1.
>
> > How can I change the names that are displayed so that
> > "64:0 External MIDI 0" shows the name "HDSP 9652 Port 1"
> > "64:32 External MIDI 0" shows the name "HDSP 9652 Port 2"
> > "72:0 External MIDI 1" shows the name "MidiSport 2x2 Port A"
> > "72:1 External MIDI 1" shows the name "MidiSport 2x2 Port B"
>
> "External MIDI x" is the client name, which is the same for all ports of
> the same client. It seems that kaconnect doesn't show the port name, which
> would be what you want. Please complain to the author of kaconnect. :-)
>
> To show the port names, run "aconnect -io" or "pmidi -l".
>
>
> HTH
> Clemens
>
>
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [linux-audio-user] Re: Please explain Alsa Interface MIDI numbering PLEASE!
2003-02-17 16:29 ` [linux-audio-user] " Mark Knecht
@ 2003-02-17 18:07 ` Paul Davis
2003-02-17 20:40 ` Mark Knecht
0 siblings, 1 reply; 5+ messages in thread
From: Paul Davis @ 2003-02-17 18:07 UTC (permalink / raw)
To: Mark Knecht; +Cc: Linux-Audio-User, Alsa-Devel
>[mark@Godzilla mark]$ aconnect -io
>client 0: 'System' [type=kernel]
> 0 'Timer '
> 1 'Announce '
>client 64: 'External MIDI 0' [type=kernel]
> 0 'MIDI 0-0 '
> 32 'MIDI 0-1 '
>client 72: 'External MIDI 1' [type=kernel]
> 0 'Midisport 2x2 Port 0'
> 1 'Midisport 2x2 Port 1'
> 2 'Midisport 2x2 Port 2'
> 3 'Midisport 2x2 Port 3'
>[mark@Godzilla mark]$
>
>
> The above information is certainly a bit more readable, but it seems
>to still be, at the least, inconsistent.
>
>1) For client 64, which is an HDSP 9652, there are two rawmidi ports.
>However, the info above says they are labeled '0' and '32'. Should they
>not be 0 & 1? If this is an error, then what needs to be fixed? The HDSP
>9652 driver?
no, the port numbers are 0 and 32, but in the name, its 0 and 1.
>2) Why does the HDSP 9652 not tell me its name like the MidiSport does?
its using a copy of some generic ALSA code that just calls the ports
"MIDI C P" where C=card number and P=physical port number. i'll change
this when i add the fixes for the mixer and the h/w names.
--p
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [linux-audio-user] Re: Please explain Alsa Interface MIDI numbering PLEASE!
2003-02-17 18:07 ` Paul Davis
@ 2003-02-17 20:40 ` Mark Knecht
0 siblings, 0 replies; 5+ messages in thread
From: Mark Knecht @ 2003-02-17 20:40 UTC (permalink / raw)
To: Paul Davis; +Cc: Linux-Audio-User, Alsa-Devel
> > 0 'Timer '
> > 1 'Announce '
> >client 64: 'External MIDI 0' [type=kernel]
> > 0 'MIDI 0-0 '
> > 32 'MIDI 0-1 '
> >client 72: 'External MIDI 1' [type=kernel]
> > 0 'Midisport 2x2 Port 0'
> > 1 'Midisport 2x2 Port 1'
> > 2 'Midisport 2x2 Port 2'
> > 3 'Midisport 2x2 Port 3'
> >[mark@Godzilla mark]$
> >
> >
> > The above information is certainly a bit more readable, but it seems
> >to still be, at the least, inconsistent.
> >
> >1) For client 64, which is an HDSP 9652, there are two rawmidi ports.
> >However, the info above says they are labeled '0' and '32'. Should they
> >not be 0 & 1? If this is an error, then what needs to be fixed? The HDSP
> >9652 driver?
>
> no, the port numbers are 0 and 32, but in the name, its 0 and 1.
Well, OK, I guess I don't understand the meaning of 'ports' then. The HDSP
only has two sets of in and out connectors. Are these not ports? Or does the
Alsa spec think that each 'port' is somehow combination of a MIDI connector
and a channel or something? How is it that a single input uses up 32 port
number? (HDSP 9652 MIDI 1 seems to go from port 0 to port 31, and I guess #2
goes from 32-63.)
>
> >2) Why does the HDSP 9652 not tell me its name like the MidiSport does?
>
> its using a copy of some generic ALSA code that just calls the ports
> "MIDI C P" where C=card number and P=physical port number. i'll change
> this when i add the fixes for the mixer and the h/w names.
>
This would be very helpful. Thanks!
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-02-17 20:40 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-16 18:52 Please explain Alsa Interface MIDI numbering PLEASE! Mark Knecht
2003-02-17 9:21 ` Clemens Ladisch
2003-02-17 16:29 ` [linux-audio-user] " Mark Knecht
2003-02-17 18:07 ` Paul Davis
2003-02-17 20:40 ` Mark Knecht
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.