Development Tools

From Mumble Wiki
Revision as of 12:03, 7 September 2014 by Kissaki0 (talk | contribs) (remove personal editors)
Jump to: navigation, search




The static binary distribution of Murmur was made portable to different Linux distributions with Magic Ermine.



The Mumble server software uses ZeroC Ice as a RPC framework, enabling flexible remote control.



We are using the Speex DSP library for echo cancellation and denoising.



Mumble has been analyzed with Klocwork source code analysis, the most accurate and comprehensive tool for finding critical programming errors and security vulnerabilities.

I must say I really love Klocwork. For opensource applications, they'll do the analysis for free (providing you're the main author). It's found some really obscure bugs in Mumble and Murmur, bugs that would have caused crashes had they not been fixed before release. While my QA department (aka: My guild who is running the test builds) will find all bugs from normal use, Klocwork finds bugs that occur only under circumstances no sane user would ever attempt. It also ensures server and client input is sanitized, as it easily catches all those "what if that value is really invalid" instances.

Visual Studio 2008

It's a necessity for compiling programs on Windows using modern interfaces such as WASAPI. We only use the compilers though; editing is still done in Textpad.


Mumble uses Qt, the Cross-Platform Rich Client Development Framework. Qt is used for cross-platform GUI, network and database functions. Qt is both a widget toolkit and a set of very handy utility templates like container classes, network handling. It's all crossplatform, meaning that Murmur runs on pretty much any modern architecture, including the qmake files. I have a few projects that doesn't use Qt at all, but uses Qmake :)



Intel VTune

VTune is Intel's performance analyzer, which through a convoluted process gives more or less accurate benchmarking results. While valgrind will tell you exactly how many times each instruction is executed, it can't tell you how long it takes to execute that instruction. Hopefully someday VTune's output will be as detailed and easy to use as valgrind's kcachegrind.




SourceForge is not only a website, it's a very handy tool. It comes with Git, which we use extensively, as well as forums, wikis and mailing lists.



Note: Since 1.2.3, we no longer use NSIS for our windows installers.