On Tuesday 18 Apr 2006 15:51, Clemens Ladisch wrote:
Chris Cannam wrote:
Rosegarden relies on the client numbers to
determine whether a port
is system, hardware or software -- there are significant functional
differences between the types of port,
What are those differences?
Well, for example a hardware port of a given name can have any number of
MIDI devices attached to it, or none, you can't find out anything about
them, and they can change between runs of the program. Whereas a
software port with a given name is highly likely to represent a single
application, the application's name is available, and it's probably the
same one each time. Programs don't usually have to care about
distinctions like this, but it's not helpful to users to always treat
these types the same.
and I see no
other way to find out which type a port is -- if there
is one, I'd dearly like to know.
snd_seq_client_info_get_type()
This returns whether a client exists in kernel or user space, which is
not the same thing at all. Programs may care about this, but users
seldom would.
The equivalent function for ports (snd_seq_port_info_get_type) is a
similar red herring. Looks useful: isn't.
Chris