Audio Engine component of letterbox.
- cmake v3.22
- c++20
- ninja
- protoc
- libcurl
- JUCE Dependencies
All build steps can be carried out by cmake. Commands should be run from <PATH_TO_REPO>/beak
.
- hint: this project uses CPM to fetch juce and asio. set
export CPM_SOURCE_CACHE=$HOME/.cache/CPM
to avoid refetching after deleting the build folder - clone the repo
https://github.com/gueldenstone/MultiChannelSampler.git
- configure cmake (specifying the generator is optional)
cmake -B build -S . -G"Ninja Multi-Config
- build
cmake --build build --config Release
- you can find the binary here:
build/beak_artefacts/Release/beak
The code is documented using doxygen.
- set the
BUILD_DOC
option toTRUE
cmake -B build -S . -G"Ninja Multi-Config" -DBUILD_DOC=TRUE
- documentation can be found in
docs
Run beak from the build/beak_artefacts/Release
. The following commands with options are available:
beak -p <port_numer> -c <absolute_path_to_cache_dir> -d <device name> -o <number_of_output_channels> -i <number_of_input_channels>
.
beak list-devices
beak play -f <absolute_path_to_sample.wav> -c <channel_number> -d <device name> -o <number_of_output_channels> -i <number_of_input_channels>
.
If working with the live view on a machine with stereo output you can use the -s
option with the run
command.
Use beak -s -c <absolute_path_to_cache_dir> -d <device name> -o 10 -i 0
to run beak for the live view.