ossia-supercollider : libossia bindings for supercollider
note: repository is now obsolete and will be archived soon,
a better replacement can be found here: https://github.com/OSSIA/ossia-sclang
Installing
macOS (tested on Sierra & High Sierra)
- recursive-clone this repository (
git clone --recursive https://github.com/OSSIA/ossia-supercollider.git), cd into it - make sure homebrew is installed, otherwise run
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - run ./build.sh
- resulting .app will be located in
install/supercollider/SuperCollider
the script clones a fresh version of supercollider (as of this day, version 3.9), adds and builds the libossia dependencies for sclang. Depending on your connection, the install process may take a little while, because of the complete download and build of the two libs/applications.
Linux (tested on debian-like systems)
- recursive-clone this repository (
git clone --recursive https://github.com/OSSIA/ossia-supercollider.git), cd into it
if you have boost 1.65 already installed on your system:
- run
./build.sh online /path/to/boost/include/dir /path/to/boost/libs/dir - e.g
./build.sh online /usr/local/include /usr/local/lib
otherwise:
- just run
./build.shthis will install the required boost 1.65 libraries manually and locally (this may take quite a while) - local install folder with sc binaries will be located in your system paths (note: this overrides your previously installed binaries if you had any)
builds on linux are not as thoroughly tested as on macOS, please report any problem with the building process in the Issues section.
Windows
not yet supported, we welcome any help!
Documentation
the install provides a guide in the SuperCollider HelpSource's home (the one displayed at startup in the sc-ide) it is also available here: https://ossia.github.io/?javascript#introduction
quick usage example
(
d = OSSIA.device("ossia-collider").exposeOSCQueryServer(1234, 5678, {
~freq = OSSIA.parameter(d, 'frequency', Float, [0, 20000], 440);
~mul = OSSIA.parameter(d, 'mul', Float, [0, 1], 0.125);
~pan = OSSIA.parameter(d, 'pan', Float, [-1, 1], 0);
});
)
// see the tree-structure of your device
// see OSSIA.score if you want to start making a scenario out of it
"http://localhost:5678".openOS();
"https://github.com/OSSIA/score".openOS();
s.boot();
SynthDef('sinosc', {
Out.ar(0, Pan2.ar(SinOsc.ar(~freq.kr, 0, ~mul.kr), ~pan.kr));
}).add;
// create synth with parameters' current values
x = Synth('sinosc', d.snapshot);
// now every change in the parameters' values will be reported on the sc-server
~freq.value = 220;
~pan.value = 1;
~mul.value = 0.125;