Me too!
For me Jack has been confusing as I'm not sure in what process/thread
my audio routine runs. Somebody here wrote Jack's interesting thing is
that it can route audio through applications. I don't want that.
I want that Jack takes my C function (or its compiled object) and
executes that within the real-time audio engine.
Even if Jack is used, should one prepare process non-realtime audio
within your own application. You cannot send background audio
processings to Jack. Threads in the application are important
because it is not good that the whole application freezes when
one opens a big audiofile to editor, for example.
I have not yet seen even moderate explanations or guides on those
topics. We have discussed about Model-View-Controller (MVC)
scheme, but nobody seemed to have any practical tool-level
explanations so that I could easily use MVC in my applications.
I suggest to start with Jack, not with Alsa or OSS.
It took me an hour to write a Theremin synth, sort of.
Very easy. (GUI was built with GTK+.)
Best regards,
Juhana