Hi, I have a question regarding CLAM processing architecture. I installed it from Debian package and created a simple network:
MonoAudioFileReader -> FFT -> SpectrumView and run it. This caused NetworkEditor to shutdown. I checked in program output that there was problem with JACK server not being present. I managed to install it and program stopped shutting down, but nothing happened (I couldn't see any activity in SpectrumView) till I used AudioSink in my network. What I'm really trying to do is to understand CLAM architecture and compare it with my ideas for DataFlow network. I read Xavier Amatriain's PhD Dissertation about CLAM, but it did not contain many technical details (not that I expect it from such document). This example above made me wonder how is data routing organised in CLAM. Are data "pulled" or "pushed"? If they are pushed, why didn't FFT get data in first setup? If they are pulled, why didn't FFT pull them? Does only AudioSink has right to pull and as a side effect FFT got the data? Also, why is audio backend needed to read a wav file? I was also wondering if CLAM used multithreading for processing network (I only found you can get separate threads for GUI and the network)? I posted this question (about multithreading) on clam-users list, but maybe it isn't right place for it so now I'm asking on developers list. I will be very grateful for any remarks on this issues. Regards, Ewa.
_______________________________________________ clam-devel mailing list clam-devel@lists.clam-project.org http://lists.clam-project.org/listinfo.cgi/clam-devel-clam-project.org