Skip to content

Latest commit

 

History

History
69 lines (49 loc) · 2.05 KB

CONTRIBUTING.md

File metadata and controls

69 lines (49 loc) · 2.05 KB

The main website is here: http://tidalcycles.org/

Community

The below might help, but to find people to ask questions about getting started, join the tidal-innards channel on the TOPLAP slack: http://toplap.org/toplap-on-slack/

You can also ask on the mailing list: https://we.lurk.org/postorius/lists/tidal.we.lurk.org/

Tidal

Tidal is written in the Haskell language, in particular using the ghc compiler/interpreter. Some resources for learning Haskell:

Quick guide to contributing a change to Tidal

The main repository is maintained on github: https://github.com/tidalcycles/tidal

The SuperDirt repository is here: https://github.com/musikinformatik/SuperDirt

In both cases development takes place on the master branch. To make a contribution, you could:

  • Fork the repository
  • Make and test a change locally
  • Keep your fork up to date with the master
  • Make a pull request

Others may then review and comment on your pull request. Please do say when you think it's ready to be accepted to make sure it's not being overlooked.

If any of this is unclear, or if you'd like more information about development workflow, you are very welcome to join the #tidal-innards channel on http://talk.lurk.org/ and ask questions there.

Testing

Use cabal test to run the test suite to look for regressions. Please add tests for any new functionality. You can look for things that need testing like this:

cabal install --only-dependencies
cabal configure --enable-coverage    # only need to do this the first time
cabal test --show-details=streaming
firefox dist/hpc/prof/html/tests/hpc_index.html

To run up your changes locally, install Tidal with cabal install. To remove them again and revert to the latest release, run ghc-pkg unregister tidal-1.0.0 being sure to match up the version numbers.

A process for making a release

We haven't documented a clear process for this, but we'd like to describe how to..

  • Share with others for testing
  • Tag a release
  • Distribute via to hackage / stackage