# cane (v2) > The beatings will continue until a banger is made Cane is a programming language designed for making music. ![C](https://badgen.net/static/C/17/orange) [![license](https://badgen.net/github/license/tarpit-collective/cane)](./LICENSE) [![discord](https://badgen.net/discord/members/UVYAtpYYD2)](https://discord.gg/UVYAtpYYD2) ### What Can Cane Do? - Live-coding - Control and communicate with MIDI devices - Generate complex beats with relatively little effort ### Introduction & Reference The EBNF grammar is [here](doc/syntax.ebnf). ### Requirements > TODO ### Build & Run ```sh $ git clone https://github.com/tarpit-collective/cane.git --recursive && cd cane/ $ pre-commit install # Checks/linting $ meson setup build/ $ meson compile -C build/ $ meson test -C build/ ``` ### Rationale > TODO ### Design > TODO ### Acknowledgements - [Gwion](https://github.com/Gwion/Gwion) - [Prop](https://pbat.ch/proj/prop.html) - [fennecdjay](https://github.com/fennecdjay) (for inspiring the project) - [qookei](https://github.com/qookei) ### Resources See the list of resources [here](doc/resources.md) ### License This project uses the AGPL-3.0 license. (check [LICENSE](LICENSE)) ### Progress & Discussion You can join the discord server in order to follow progress and/or contribute to discussion of the project: https://discord.gg/UVYAtpYYD2