fluidsynth/CONTRIBUTING.md

1.5 KiB

Contributing

Thanks for considering to contribute to FluidSynth. Before implementing any huge new feature, consider bringing up your ideas on our mailing list: https://lists.nongnu.org/mailman/listinfo/fluid-dev

Contributing can be done by

Patches should be created with git format-patch, so in every case you should be familiar with the basics of git.

Some things that will increase the chance that your pull request or patch is accepted:

  • Give a reasoning / motivation for any changes or proposals you make.
  • Follow our style guide.
  • Keep your commits "atomic".
  • Write meaningful commit messages.

Style Guide

Find FluidSynth's style guide below. Most of the syntax issues can be automatically applied with clang-format and clang-tidy using the config files in the repository root.

General

  • Every function should have a short comment explaining it's purpose
  • Every public API function must be documented with purpose, params and return value
  • Prefer signed integer types to unsigned ones
  • Use spaces rather than tabs
  • Avoid macros

Naming Conventions

  • Words separated by underscores
  • Macros always UPPER_CASE
  • Function and Variable names always lower_case, (e.g. fluid_componentname_purpose())

Bracing

  • Every block after an if, else, while or for should be enclosed in braces
  • Allman-Style braces everywhere