# Source directory structure

The source tree is organized as follows:

* `buildtools`: Some tools used by build system or maintainers
* `cmake`: CMake modules, helper scripts and installation/packaging scripts
* `data`: assets such as demo projects, factory samples, translations, etc.
* `include`: header files
* `plugins`: built-in plugins and bundled 3rd-party plugins(ex. LADSPA plugins)
* `src`: the LMMS codebase
  * `src/3rdparty`: source code for 3rd-party libraries used by LMMS
  * `src/core`: LMMS core implementation(with some GUI dependencies ATM)
  * `src/gui`: UI parts of LMMS
    * `src/gui/widgets`: Implementation of various widgets used in LMMS
  * `src/tracks`: Implementation of track classes which inherit `Track`
* `tests`: Source code for unit tests
