I also wonder whether I really need the distinction between sources and sinks. Why? Because filters.
I’m beginning to doubt that my current approach of transporting data from a source to a sink by using threads for each source will ever work. It appeared to be way too simple, too!
Just when you think “yay, parsing MP3 frame headers is the shit,” somebody comes along and starts hitting you with a book called “MP3 Info Tag.” In the head. Repeatedly.
…I can think of a new name for Sonitus rather earlier than later. I don’t really like it very much. Also, it gives way too much Google hits.
So, a few days ago I started a new project. It’s currently called Sonitus and hopefully will grow into a fully-featured broadcasting application that can use almost any input available, can perform arbitrary processing, and can output the processed results to almost anywhere.