On Thu, Mar 02, 2006 at 12:59:12PM +0000, James Courtier-Dutton wrote: > If you don't like the current documentation, you are welcome to improve it. > Just update the wiki.
I'd be happy to, if only I could just be a bit more confident about my own knowledge. Currently I'm really in no position to contribute anything that I'd consider to be reliable information. When you have to find out things by guessing and trial and error, and finally arrive at something that works, your understanding of the underlying concepts could be completely wrong. I hate to say this, but that's how the MIDI interface in Aeolus was written. The ALSA audio part (libclalsadrv) was based 100% on a deconstruction of JACK's ALSA backend. Just one simple example (from the top of my head, so it may contain inaccuracies). In the ALSA seq world, ports can be readable, writeable, and those two attributes also have variants referred to by the term 'subscription'. I found out you need these, as otherwise your ports don't seem to exist at all. So what does this term really mean ? As far as my understanding goes, its real meaning is more something like 'public' or 'visible'. But I'm just guessing... Also, an app can create any number of ALSA seq 'devices' and each 'device' can have multiple 'ports'. What is the rationale behind this two-level scheme ? When would I prefer to use N single port devices rather that one device with N ports ? This sort of thing is never explained, AFAICS. I'm pretty sure all these things (and many other that remain a mystery) are well designed and the result of considerable amount of thinking and consideration. But I don't find it in the documentation. This is often the case with doxygen documented systems - the top level design documents just don't exist. -- FA
