Skip to content

C + Zig bindings for softcut-lib, beta Zig softcut client

License

Notifications You must be signed in to change notification settings

robbielyman/softcut-zig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

softcut-zig

this repository contains C and Zig bindings for softcut-lib, a C++ audio buffer manipulation library by Ezra Buchla for monome.

it also contains softcut-client, a minimal Zig port of softcut_jack_osc, which is a JACK client making use of softcut-lib written by Ezra Buchla. rather than JACK, softcut-client uses libsoundio. like softcut_jack_osc, softcut-client is controlled over OSC. on successful startup, softcut-client prints the list of OSC messages it responds to.

softcut-client is beta software.

building

building requires a nightly build of Zig; the minimum Zig version required is 0.12.0-dev.2154+e5dc9b1d0.

additional dependencies are libsndfile, liblo, and libsoundio (and their dependencies). by default you are required to have these available on your system. if you'd like, pass -Dstatic=true below to attempt to build liblo and libsoundio statically. the number of softcut voices is configurable at compile time with -Dvoices, and defaults to -Dvoices=6.

With Zig available on your $PATH, execute the following command in the repository root.

zig build

to build softcut-lib and softcut-client. as is typical with zig projects, softcut-client is installed to ./zig-out/bin by default. add this to your path if you'd like, or symlink ./zig-out/bin/softcut-client onto your path.

usage

running softcut-client by default will print a list of suitable devices for you to choose from and exit. after making a selection, rerun with, e.g. softcut-client -i 1 -o 1

after softcut is launched, control it by sending it OSC messages. by default softcut-client listens on port 9999.

limitations

48kHz sample rate is required when reading files as well as choosing an output device. two buffers are available, with about 350 seconds of capacity each.

About

C + Zig bindings for softcut-lib, beta Zig softcut client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published