softcut
is a C/C++ library for manipulating audio buffers in real time.
it provides a relatively low-level but robust interface for commonly needed functions in musical systems development:
- crossfaded looping with subsample accuracy
- resampling read and write heads
- crossfaded overdub behavior
- input and output multimode filters
this library was developed at the behest of monome, originally for use with the norns sound computer.
./CMakeLists.txt
builds the library and the sample client(s).
./softcut/
contains the library project itself.
./softcut/include/
contains headers that will need to be included by the client project. (since the header names are pretty generic, it's recommended to include with the full path: include "softcut/Voice.h"
, &c)
./clients/
contains sample projects that use the library.
./clients/softcut_jack_osc/
is a straightforward example: a JACK application that maps OSC commands to the softcut API.
standard CMake procedure:
cd softcut/softcut
mkdir build-release
cd build-release
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
this creates a static library at build-release/libsoftcut.a
if you are integrating softcut into a cmake-based project, you may prefer to include the softcut project as a subdirectory in your CMakeLists.txt
.
big TODO here: API reference!