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
