On Saturday, March 26, 2011 12:13:09 pm Gerald Mwangi wrote: > Hi, I'm messing arround with the source of TerminatorX. > As it seems, tX needs a total rewright of the mixer and > the audio backend. Since many programs (Ardour, > Qtracktor) have built mixers, I was wondering from which > project I could 'borrow' the mixer component. I need a > mixermodel which is strictly C++, which idealy has jack > support built in, possibly multithreaded, > GUI-Independant and easy to handle. I started to wright > my own mixermodel, but then I thought how stupid it is > to reinvent the wheel. It would really be nice something > like a libmixer with jack, lv2, ladspa and VST support. > Gerald I was looking for something like this, too... and then I realized that I was trying to re-write JACK inside my application space. :-/ Here are some options I found for low-level stuff: - I started a BAMS library (Basic Audio Mixing Subroutines) on my hard drive. It's patterned after Ardour's internal mixing subroutines. - There's liboil and it's successor ORC. Before using liboil, you should check out the rationale for why it's now being done with ORC. - I saw another SIMD audio processing library recently. Looked a lot like liboil. For a higher-level mixing library... the more I thought about it the more I was convinced that writing a general- purpose "mixer" library is more-or-less trying to re-write JACK in my application space. The options I found for this are: - Ingen is designed to be an audio engine, handling all your plugins and connections and misc. DSP routings. - I started a Mixer class for libTritum (part of Composite). libTritium is intended ot be a public API... but it's not there, yet. However, this class is pretty efficient and pretty general purpose.[1] Also, it's worth mentioning that many of the LAD's I talk to think that mixing is low-level enough that such mixing libraries are not a good idea. That judicious ad-hoc mixing here and there is the whole art of efficient DSP. [1] See these two (the interface and the implementation headers): http://gitorious.org/composite/composite/blobs/master/src/Tritium/Tritium/Mixer.hpp http://gitorious.org/composite/composite/blobs/master/src/Tritium/Tritium/MixerImpl.hpp _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev