Sorry, I just had to post this.
The diagram you're looking at is a standard tool software engineers use called a UML class diagram, and it lets developers effectively communicate their ideas about code layout. If we had to make a new UML class diagram for Mixxx in 2010, it'd probably cover one of the walls of my apartment. Although the MixxxApp, ControlObject, EngineObject, and SoundSource classes still exist (!) and might even be recognizable from their original incarnations, pretty much everything else has changed drastically.
The Mixxx architecture has expanded to accommodate an arbitrary number of sound devices, MIDI controllers, and soon, and arbitrary number of decks. Good things are in store.
I'd like to see how the ULM looks now! :)
ReplyDeleteHi,nice Diagramm. Do you know of any c/c++ Audio Programming /Physics books which could help understand the mixxx source code
ReplyDeleteAnon: Sorry, I don't know of any good audio programming books that are relevant for Mixxx. Most of us picked up audio programming by talking to someone, or just by reading the Mixxx source code. For most of Mixxx's source, you don't even really need to understand anything about audio. There's plenty of areas in Mixxx like the MIDI device and library code that don't require any knowledge of audio programming, so don't feel discouraged if you think you need more background.
ReplyDeleteOne thing that I can definitely recommend is the Qt documentation. Mixxx uses Qt heavily, and here are some good starting places:
http://doc.trolltech.com/4.7/index.html
http://doc.trolltech.com/4.7/signalsandslots.html
When you get stuck, don't be afraid to hop on our IRC channel (#mixxx on Freenode) and ask for help! We're all in this together!
Thanks,
Albert