Next: Code style, Previous: Contributing documentation, Up: Contributing to Marsyas
In your .h file, just after the namespace Marsyas \n {
line, please include a short documentation snippet:
namespace Marsyas
{
/**
\ingroup Processing
\brief Multiply input realvec with gain
Simple MarSystem example. Just multiply the values of the input
realvec with gain and put them in the output vector. This object can be
used as a prototype template for building more complicated MarSystems.
Controls:
- \b mrs_real/gain [w] : adjust the gain multiplier.
*/
class Gain: public MarSystem
{
Warning: the old convention included a \class Gain;
this was a mistake in our understanding of Doxygen. Please do
not include an explicit class name; just make sure that the doc snippet
occurs above the class.
The [w] indicates that the control should be written and not
(usefully) read. Valid options are [r], [w], and
[rw].
The \ingroup GROUP will generally be Processing,
Analysis, or Synthesis. For details about these
categories, see MarSystem reference. For a complete list
of all available groups, see the file marsyas/groups.doxy.
There is one special group: Basic Processing. This is a subset
of the Processing group. No MarSystem should only be in the
Basic group; it should be placed in both groups, with
\ingroup Processing Basic
Code which is not a MarSystem should be placed in the Notmar
group.
A complete list of groups can be found in the marsyas/groups.doxy
file. The main groups are Composites, Basic, IO,
Processing, Analysis, and Synthesis.