Renoise + Supercollider + The Giant

A quick test of using Supercollider to control Renoise. 8 copies of The Giant each with a different delay setting. Supercollider sends a random note from the major scale to renoise changing instrument on each note. A tempo synced delay sits on the master channel for some basic structure and a copy of Reflektor is used for reverb.

Supercollider Code (requires RenoiseOsc class I am currently developing):

(  
{  
 var octave = 4;  
 r = RenoiseOsc(8000);  
 inf.do{  
 r.defaultInst = ((0..7)).choose;  
 octave = ((5..8)).choose;  
 r.sendNote([0,2,4,5,7,9,11,12].choose + (octave * 12), ((64..80)).choose, 0.1);  
 1.0.rand.wait;  
 };  
}.fork  
)  

Current state of the RenoiseOsc class:

RenoiseOsc{  
 var <port></port> var <connection></connection> var <>defaultNote = 0;  
 var <>defaultVel = 0;  
 var <>defaultLength = 0;  
 var <>defaultInst = 0;  
 var <>defaultTrack = 1;  
  
 *new{|port, ip|  
 ^super  
 .newCopyArgs(port, ip)  
 .init();  
 }  
  
 init{  
 ip = ip ? "127.0.0.1";  
 port = port ? 8000;  
 connection = NetAddr.new(ip, port);  
 }  
  
 setStatusMessage{|message|  
 connection.sendMsg("/renoise/evaluate", "renoise.app():show_status(\"" ++ message ++ "\")")  
 }  
  
 sendNote{|note, vel, length, inst, track|  
 {  
 note = note ? defaultNote;  
 vel = vel ? defaultVel;  
 length = length ? defaultLength;  
 inst = inst ? defaultInst;  
 track = track ? defaultTrack;  
 connection.sendMsg("/renoise/trigger/note_on", inst, track, note, vel);  
 length.wait;  
 connection.sendMsg("/renoise/trigger/note_off", inst, track, note);  
 }.fork;  
 }  
}  

http://schemawound.com/post/86434415933/supercollider-renoise-the-giant-test