aboutsummaryrefslogtreecommitdiffstats
path: root/.config/SuperCollider/startupfiles
diff options
context:
space:
mode:
Diffstat (limited to '.config/SuperCollider/startupfiles')
-rw-r--r--.config/SuperCollider/startupfiles/shared.scd5
-rw-r--r--.config/SuperCollider/startupfiles/startupMotu.scd14
-rw-r--r--.config/SuperCollider/startupfiles/startupSystem.scd15
-rw-r--r--.config/SuperCollider/startupfiles/startup_example_customize.scd98
-rw-r--r--.config/SuperCollider/startupfiles/startup_example_simpleJIT.scd54
5 files changed, 186 insertions, 0 deletions
diff --git a/.config/SuperCollider/startupfiles/shared.scd b/.config/SuperCollider/startupfiles/shared.scd
new file mode 100644
index 0000000..6f6cfc3
--- /dev/null
+++ b/.config/SuperCollider/startupfiles/shared.scd
@@ -0,0 +1,5 @@
+// change the standard archive path to a custom one:
+"Applying shared system settings.".postln;
+MP3.lamepath = "/usr/bin/lame";
+MP3.oggdecpath = "/usr/bin/oggdec";
+Archive.archiveDir = "~/Dropbox/software/SuperCollider".standardizePath;
diff --git a/.config/SuperCollider/startupfiles/startupMotu.scd b/.config/SuperCollider/startupfiles/startupMotu.scd
new file mode 100644
index 0000000..c3626f7
--- /dev/null
+++ b/.config/SuperCollider/startupfiles/startupMotu.scd
@@ -0,0 +1,14 @@
+Server.local.options.numOutputBusChannels = 8; // change number of input and output channels
+Server.local.options.numInputBusChannels = 0;//8;
+//Server.local.options.device = "MOTU Traveler";
+//Server.local.options.device = "firewire_pcm";
+//Server.local.options.device = nil; // use the system default soundcard
+Server.local.options.blockSize = 128; //256; // increase block size (default is 64)
+Server.local.options.sampleRate = 48000; //96000; // increase sampling rate (if your hardware supports it)
+Server.local.options.memSize = 6291456;//2097152; // 1048576;
+//Server.local.options.maxNodes = 65536;
+//Server.local.options.maxSynthDefs = 16384;
+
+// hook up jack ports to audio channels
+"SC_JACK_DEFAULT_INPUTS".setenv("firewire_pcm:dev0_cap_Analog1_in,firewire_pcm:dev0_cap_Analog2_in,firewire_pcm:dev0_cap_Analog3_in,firewire_pcm:dev0_cap_Analog4_in,firewire_pcm:dev0_cap_Analog5_in,firewire_pcm:dev0_cap_Analog6_in,firewire_pcm:dev0_cap_Analog7_in,firewire_pcm:dev0_cap_Analog8_in");
+"SC_JACK_DEFAULT_OUTPUTS".setenv("firewire_pcm:dev0_pbk_Analog1_out,firewire_pcm:dev0_pbk_Analog2_out,firewire_pcm:dev0_pbk_Analog3_out,firewire_pcm:dev0_pbk_Analog4_out,firewire_pcm:dev0_pbk_Analog5_out,firewire_pcm:dev0_pbk_Analog6_out,firewire_pcm:dev0_pbk_Analog7_out,firewire_pcm:dev0_pbk_Analog8_out");
diff --git a/.config/SuperCollider/startupfiles/startupSystem.scd b/.config/SuperCollider/startupfiles/startupSystem.scd
new file mode 100644
index 0000000..474c732
--- /dev/null
+++ b/.config/SuperCollider/startupfiles/startupSystem.scd
@@ -0,0 +1,15 @@
+load("/home/dave/.config/SuperCollider/startupfiles/shared.scd");
+"Starting with internal system settings.".postln;
+Server.local.options.sampleRate = 48000.0;
+Server.local.options.blockSize = 128;
+Server.local.options.numOutputBusChannels = 4;
+Server.local.options.numInputBusChannels = 2;
+Server.local.options.maxNodes = 65536;
+Server.local.options.memSize = 2097152; // 1048576
+Server.local.options.maxSynthDefs = 16384;
+
+// hook up jack ports to audio channels
+//"SC_JACK_DEFAULT_INPUTS".setenv("system:capture_1,system:capture_2");
+"SC_JACK_DEFAULT_INPUTS".setenv("system");
+//"SC_JACK_DEFAULT_OUTPUTS".setenv("system:playback_1,system:playback_2,system:playback_3,system:playback_4");
+"SC_JACK_DEFAULT_OUTPUTS".setenv("system");
diff --git a/.config/SuperCollider/startupfiles/startup_example_customize.scd b/.config/SuperCollider/startupfiles/startup_example_customize.scd
new file mode 100644
index 0000000..6bd342e
--- /dev/null
+++ b/.config/SuperCollider/startupfiles/startup_example_customize.scd
@@ -0,0 +1,98 @@
+"startup example - customising Menus.".postln;
+
+ // choose which server to use,
+ // e.g. for teaching, take internal, so scope works
+Server.default = s = Server.internal;
+{ try { Server.local.window.close } }.defer(0.5);
+
+s.options
+ .numAudioBusChannels_(1024) // lots of busses for JITLib
+ .zeroConf_(false) // don't wait for zeroconf when booting server
+// .device_() // maybe set a specific device ?
+// .numInputBusChannels_() // with a specific number of ins
+// .numOutputBusChannels() // ... and outs - default is 8.
+ .memSize_(8192 * 32) // memSize is in kB, so 8 * 32 = 256 MB for soundfiles, buffers
+
+ ;
+
+
+ // JIT preparation
+q = q ? (); // make a global dictionary for everything
+p = ProxySpace.push(s); // make a proxyspace and push it.
+q.numChans = 8; // number of channels of audio setup
+
+ //text editor tweaks & Library Menu
+Platform.case(\osx, {
+ // put the post window where you prefer
+ Document.listener.bounds_(Rect(Window.screenBounds.width - 400, 2, 400, 300)); Document.listener.background_(Color.blue(0.2, 0.9)); // and color it. // .alwaysOnTop_(true);
+ Document.listener.stringColor_(Color(1, 0.62, 0));
+ Document.postColor_(Document.listener.stringColor);
+
+
+ SkipJack.verbose = false; // reduce info posting
+
+
+ // put things in the Library menu:
+ // Custom Menu Items - OSX only - configure here
+ CocoaMenuItem.add(["server meter"],{ Server.default.meter });
+ CocoaMenuItem.add(["server window"],{ Server.default.window });
+ CocoaMenuItem.add(["scope Ins"],{ q.scope = s.scope(q.numChans, index: s.options.numOutputBusChannels, zoom: 9) });
+ CocoaMenuItem.add(["scope Outs"],{ q.scope = s.scope(q.numChans, index: 0, zoom: 9) });
+ CocoaMenuItem.add(["FreqScope"],{ q.fscope = FreqScope.new });
+
+ // an 8 chan test sound
+ CocoaMenuItem.add(["TestSound8"],{
+ p[\zztest] = { BPF.ar(Dust.ar(5 ! q.numChans, 50), { exprand(200, 2010) } ! q.numChans, 0.05)
+ * GrayNoise.ar(0.1, 1) };
+ p[\zztest].playN(vol: 0.25);
+ });
+
+ CocoaMenuItem.add(["places", "recordings"],{ unixCmd("open" + quote(thisProcess.platform.recordingsDir)) });
+ CocoaMenuItem.add(["places", "~/scwork"],{ unixCmd("open ~/scwork") });
+ CocoaMenuItem.add(["places", "supportDirs"],{
+ unixCmd("open " ++ Platform.userAppSupportDir.asCompileString);
+ unixCmd("open " ++ Platform.systemAppSupportDir.asCompileString);
+ });
+ CocoaMenuItem.add(["places", "extensionDirs"],{
+ unixCmd("open " ++ Platform.userExtensionDir.asCompileString);
+ unixCmd("open " ++ Platform.systemExtensionDir.asCompileString);
+ });
+
+ CocoaMenuItem.add(["quarks", "Quarks.find"], { Window("find in Quarks folder dialog ...").front });
+ CocoaMenuItem.add(["quarks", "Quarks.listInstalled"], {
+ var str = "/**** All currently installed quarks: ****/\n";
+ Quarks.installed.do { |quark|
+ str = str + ("\t" ++ quark.name.asCompileString ++ ".include;\n");
+ };
+ Document("All currently installed quarks", str);
+ });
+ CocoaMenuItem.add(["quarks", "Quarks.gui"], { Quarks.gui; });
+ CocoaMenuItem.add(["quarks", "Quarks.update"], { Quarks.checkoutAll; });
+});
+
+ // now really start the server, then load setup in doWhenBooted
+Task {
+ 0.5.wait;
+ s.quit; // sometimes the server must be quit first,
+ 1.wait; // and waiting between steps can be helpful.
+ // tell me the new server configuration when booting:
+ s.boot; // now boot.
+ s.sync; // wait for doWhenBooted before continuing
+
+ 1.wait;
+ // do whatever else belongs to setup: e.g. load some buffers,
+// q.bufs = "~/scwork/XYZ/sounds/*".pathMatch.do { |path| Buffer.read(s, path) };
+// s.sync; // wit till buffers are there
+
+ // load some code files, wait between loads
+// 1.wait;
+// "~/scwork/XYZ/patches/*.rtf".pathMatch.collect { |path|
+// path.load; 0.5.wait;
+// };
+
+ // s.scope(q.numChans, zoom: 9);
+
+ "startup example with custom Menus done.".postln;
+
+}.play(AppClock);
+
diff --git a/.config/SuperCollider/startupfiles/startup_example_simpleJIT.scd b/.config/SuperCollider/startupfiles/startup_example_simpleJIT.scd
new file mode 100644
index 0000000..92664e0
--- /dev/null
+++ b/.config/SuperCollider/startupfiles/startup_example_simpleJIT.scd
@@ -0,0 +1,54 @@
+
+"simple JIT startup example.".postln;
+
+ // choose which server to use,
+ // e.g. for teaching, take internal, so scope works
+Server.default = s = Server.internal;
+{ try { Server.local.window.close } }.defer(0.5);
+
+s.options
+ .numAudioBusChannels_(1024)
+ .zeroConf_(false) // don't wait for zeroconf when booting server
+ .memSize_(8192 * 32) // memSize is in kB, so 8 * 32 = 256 MB for soundfiles, buffers
+
+// // keep several combinations of audio devices + numChannels
+// .device_("MicLineOut") // an aggregate device
+// .hardwareBufferSize_(512) // 512 is default
+// .numInputBusChannels_(8) // 8 is default
+// .numOutputBusChannels_(8) // 8 is default
+
+ // comment out unused devices.
+// .device_("Fireface 400")
+// .hardwareBufferSize_(128)
+// .numInputBusChannels_(18)
+// .numOutputBusChannels_(18)
+;
+
+
+q = q ? (); // make a global dictionary for everything
+
+p = Ndef.dictFor(s); // make a proxyspace for Ndefs on the default server
+p.push(s); // and push it - so Ndef(\asd) === ~asd now.
+
+s.quit; // in case the server is still running, quit it.
+
+ // decide what should happen after server has booted:
+s.doWhenBooted({
+ 1.wait;
+ "server is booted - do further setup here...".postln;
+ // make some JIT guis:
+ try { q.pxmix.win.close }; q.pxmix = ProxyMixer(p, 16);
+ try { q.tdg.win.close }; q.tdg = TdefAllGui(16); q.tdg.moveTo(210, 600);
+ try { q.pdg.win.close }; q.pdg = PdefAllGui(16); q.pdg.moveTo(420, 600);
+
+ 1.wait;
+
+ Env.perc.test; // and play a test sound if you like
+ "simple JIT setup done.".postln;
+});
+
+Task({
+ 1.wait; // wait till quit has happened - make longer if needed.
+ s.boot; // boot again
+}).play(AppClock);
+