I'm currently trying to create a NUPOLS (Non-Uniformly Partitioned OverLap Save) convolution reverb processor using C and JACK. According to the literature I've consulted; this is equivalent to running two or more UPOLS convolution processes in parallel with different buffer sizes (that is, for example, one process that outputs sound every 128 samples and another that outputs sound every 1024 samples). I've already managed to get UPOLS convolution working but I have no experience running POSIX threads. The JACK audio connection kit appears to have multithread support for clients but I'm not sure how to create two threads that accomplish what I need. I have a vague suspicion that it should be possible to set up two callback processes and send each of them to different pthreads.
Any help towards solving this problem will be greatly appreciated. I'm planning on uploading the code to github at some point in the future to have a readable open source codebase for this kind of DSP stuff.