THE AUDITORY MODELING TOOLBOX

General

The AMT code and website sources, the issue list, and releases are all hosted at Sourceforge.

You can get the latest source codes by accessing the Git repository on Sourceforge. Access is possible by the web interface or by using an Git client to access the repository at:

git://git.code.sf.net/p/amtoolbox/code amtoolbox

AMT developers

In order to contribute to the AMT, you need a Sourceforge account and be subscribed as project developer. To become a project developer, contact the AMT Team and provide your Sourceforge user name.

For managing Git branches, we follow the Gitflow and distinguish between the following branches:

  • develop: This development branch is the default branch. The main development happens here.
  • release: This branch contains the code and tags corresponding to the releases. Only the AMT team is supposed to commit to this branch.
  • workshop: This branch contains additional files for workshops.
  • feature branches: These branches are used for extensive work on a certain model or core AMT functions. In case of a model, the branch is called by the name of that model; e.g., when working on data_best2005, the branch would be called best2005. In case of a core AMT functions, the branch is called by the name of that function. In both cases, this naming is independent of who is working on it and when. Note that when using your own feature branch, no harm can be done to the main AMT code at all. Separate feature branches are recommended when working on the same files simultaneously by many contributors. However, note that because of the AMT structure, most contributors usually work simultaneously on different files, and this can be safely done directly on the develop branch.
Note that only the code is stored in the code repository; binary data (stored in /auxdata or /cache) is not allowed in the code repository. Instead, we ask you to provide that binary data directly to the AMT team (via email or web links). Further AMT-specific coding guidelines are described in Majdak et al., (2022).

Documentation

An important part of the AMT is its documentation. The content is embedded in the Matlab/Octave files. From that, we use mat2doc to automatically generate the final documentation for the releases and the web. Our mat2doc is a fork of the mat2doc project: We use an adapted version directly integrated in the AMT (see mat2doc/mat2doc.py).

Generally, the syntax of mat2doc relies on reStructuredText but it also includes some additional features. The formatting and layout is roughly described in the mat2doc documentation. The general parts of the documentation can be edited and checked online.