Saving state after latest Lyon Algorave

This is the current state of the system after the 27/04 algorave.

NOTE: this is my personal live coding system, it is not fine-tuned for general usage. You might have to update paths and various parts of the code to get it to run on your system.
This commit is contained in:
2024-04-29 12:10:30 +02:00
parent a15036079d
commit 26f744c575
11 changed files with 724 additions and 483 deletions

View File

@ -7,23 +7,25 @@ Boot {
*new {
arg configPath, samplePath, serverOptions;
var p; var c; var t; var s;
var p; var c; var t; var s; var d; var e;
BuboUtils.fancyPrint(BuboUtils.banner, 40);
MIDIClient.init;
if (serverOptions == nil,
{
"-> Booting using default server configuration".postln;
s = Server.default;
s.options.numBuffers = (2048 * 2048) * 2; // Some arbitrary number
s.options.numBuffers = (2048 * 2048) * 2;
s.options.maxLogins = 1;
s.options.memSize = 8192 * 64;
s.options.numWireBufs = 2048;
s.options.outDevice = "BlackHole 64ch";
s.options.maxNodes = 1024 * 32;
s.options.numOutputBusChannels = 16;
s.options.numOutputBusChannels = 24;
s.options.numInputBusChannels = 16;
s.options.outDevice = "BlackHole 16ch";
},
{
"-> Booting using user server configuration".postln;
"-> Booting using custom server configuration".postln;
s = Server.default;
// Imposing a very high number of buffers!
serverOptions.numBuffers = (2048 * 512) * 2;
@ -44,20 +46,42 @@ Boot {
this.samplePath = samplePath ? "/Users/bubo/.config/livecoding/samples";
// Setting up the audio samples/buffers manager
Bank.lazyLoading = false;
Bank.lazyLoading = true;
Bank.root = this.samplePath;
// Post actions: installing behavior after server boot
Server.default.waitForBoot({
d = ();
// Exceptional Dual Sardine Boot
d.dirt = SuperDirt(2, s);
d.dirt.fileExtensions = ["wav","aif","aiff","aifc","mp3"];
d.dirt.loadSoundFiles("/Users/bubo/Library/Application\ Support/Sardine/SON/*");
d.dirt.doNotReadYet = true;
d.dirt.start(57120, [ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22]);
(
d.d1 = d.dirt.orbits[0]; d.d2 = d.dirt.orbits[1]; d.d3 = d.dirt.orbits[2];
d.d4 = d.dirt.orbits[3]; d.d5 = d.dirt.orbits[4]; d.d6 = d.dirt.orbits[5];
d.d7 = d.dirt.orbits[6]; d.d8 = d.dirt.orbits[7]; d.d9 = d.dirt.orbits[8];
d.d10 = d.dirt.orbits[9]; d.d11 = d.dirt.orbits[10]; d.d12 = d.dirt.orbits[11];
);
d.dirt.soundLibrary.addMIDI(\midi, MIDIOut.newByName("MIDI", "Bus 1"));
d.dirt.soundLibrary.addMIDI(\midi2, MIDIOut.newByName("MIDI", "Bus 2"));
s.latency = 0.3;
// Resume normal boot sequence
"-> Loading config from: %".format(configPath ? (this.localPath +/+ "Startup.scd")).postln;
(configPath ? (this.localPath +/+ "Startup.scd")).load;
Safety.all;
Safety(s).defName = \safeLimit;
Safety.setLimit(1);
BuboUtils.fancyPrint(BuboUtils.ready, 40);
this.installServerTreeBehavior();
this.clock.enableMeterSync();
Safety.all;
Safety(s).defName = \safeLimit;
Safety.setLimit(1);
e = currentEnvironment;
});
}
*installServerTreeBehavior {