Initial commit

This commit is contained in:
2024-12-01 13:05:22 +01:00
commit ce5263b962
9 changed files with 1256 additions and 0 deletions

51
README.md Normal file
View File

@@ -0,0 +1,51 @@
# ensam
`ensam` is a learning project on how to parse MIDI files and play them.
## Requirements
- [cmake](https://cmake.org/)
## Development
There are different ways to setup this project, using `ninja` or Visual Studio.
### Ninja
To use `miniaudio` to play audio on host machine use the flag `-DUSE_MINIAUDIO=ON`.
```sh
cmake -S . -Bbuild -GNinja -DCMAKE_BUILD_TYPE=Debug
```
Use `ninja` to build.
```sh
ninja -C build
```
Symlink `compile_commands.json` to root directory for `ccls`/`clangd`.
```sh
ln -sfn ./build/compile_commands.json .
```
**Windows (requires admin)**
```sh
New-Item -ItemType SymbolicLink -Path "compile_commands.json" -Target "./build/compile_commands.json"
```
### Visual Studio
```sh
cmake -S . -Bbuild
```
Open either the visual studio project in the build directory or use
```sh
cmake --open build
```