MIDI subscription

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm reading seq.html, and trying to understand how MIDI events are passed
around, but it doesn't make sense to me.

Under "Subscription", it says "subscription is a connection between two
sequencer ports." The snd_seq_subscribe_port() function takes a
snd_seq_port_subscribe_t which specifies a sender and a receiver. But the
explanation always seems to refer to subscribing "to" a port, rather than
subscribing "between" two ports. Indeed, under "Subscription", it says
"this program must subscribe itself to the MIDI port", and then says
events from that port are "automatically sent to this program". And then
it says "There is another subscription type for opposite direction". But
if subscription is a connection between a source and a destination, what
are the two types of subscription? It implies that when port X is
connected to port Y, only one of them is being "subscribed to", and that
the other is somehow doing the "subscribing".

Later, under "Permissions", it speaks of READ and WRITE permissions being
needed to send events to or receive events from other ports. Then, it
speaks of SUBS_READ and SUBS_WRITE permissions, which are needed for
subscription, implying that subscription isn't the same thing as merely
passing events from one port to another. It then says that these SUBS
flags aren't necessary "if the client subscribes itself to the specified
port". Since a client is just an object, not a program or a piece of code,
how does a client subscribe itself to something, or do anything at all?
And in a couple more places, it talks of a "third client" subscribing to
ports, if BOTH ports have the SUBS permission flags.

So we've had mention of a program subscribing to a port, and a client
subscribing itself to a port, and a third client subscribing to two ports.
What do these mean? And why are SUBS permission bits needed in some cases
but not others? In short, what IS "subscription"?

-- 

Ciao,               Paul D. DeRocco
Paul                mailto:pderocco@xxxxxxxxxxxxx


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user



[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux