|About | News | Download | Support | How to contribute | Developer Resources | Project page | Credits|
The purpose of this document is a work in progress to decide upon coding standards for the ZynAddSubFX codebase.
For quickly checking out the current git repository:
git clone git://git.code.sf.net/p/zynaddsubfx/code zynaddsubfx
The master branch contains what will become the next release, while experimental has the more exotic, possibly unstable features not ready yet for the master branch.
You can also browse the code directly with gitweb
The tools that are currently standard with ZynAddSubFX:
- FLTK 1.x.x - For the GUI
- Asciidoc - For user level documentation
- Doxygen - For code level documentation
- mxml - For saving the data for instruments/settings
- FFTW - For the needed mathamatics that cmath does not provide
In order to keep the code organized and more tidy a uniform style is declared:
The standing convention is four spaces per indentation and NO TABs
Doxygen should be used within the header files to document the classes in ZynAddSubFX. The Java style of comments will be used for documenting classes. ie. :
*The Function that creates all of those bars
*This function creates the bars used by the something
*objects after processing them with the given data.
*@param name the name of the resulting bar
*@param time the time before bar's exparation
*@return An Iron bar with the given name and time
Bar getBar(const string &name,const timeClass &time);
When the documentation is updated, it should be made available online at this location using the Doxyfile provided in the cvs checkout
const can be used to clarify if a variable should remain constant for the life of an object. const can also be used in conjunction with `&' to avoid unessecery copying in function
Methods should be defined in the same order that they are defined in the header files.
Things To Avoid
Use of C libraries/syntax
The use of C++ libraries and syntax should be prefered over the equivalent for C.