52 lines
903 B
Markdown
52 lines
903 B
Markdown
# 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
|
|
```
|
|
|