add files to the repo
This commit is contained in:
18
Bubo.quark
Normal file
18
Bubo.quark
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
(
|
||||||
|
name: "BuboQuark",
|
||||||
|
summary: "My setup for livecoding with SuperCollider",
|
||||||
|
path: "BuboQuark",
|
||||||
|
author: "BuboBubo",
|
||||||
|
version: "0.0.1",
|
||||||
|
since: "2023",
|
||||||
|
schelp: "",
|
||||||
|
dependencies: [
|
||||||
|
"https://github.com/scztt/Singleton.quark",
|
||||||
|
"https://github.com/scztt/Require.quark",
|
||||||
|
"https://github.com/supercollider-quarks/BatLib",
|
||||||
|
"https://github.com/supercollider-quarks/Bjorklund",
|
||||||
|
],
|
||||||
|
url: "https://raphaelforment.fr",
|
||||||
|
version: 1.0,
|
||||||
|
isCompatible: {Main.versionAtLeast(3, 1)}
|
||||||
|
)
|
||||||
37
Classes/BuboArray.sc
Normal file
37
Classes/BuboArray.sc
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
+ Array {
|
||||||
|
pat {
|
||||||
|
arg node_proxy, quant=4, fade=0.05;
|
||||||
|
node_proxy.quant_(quant);
|
||||||
|
node_proxy.fadeTime = fade;
|
||||||
|
node_proxy[0] = Pbind(*this);
|
||||||
|
^node_proxy;
|
||||||
|
}
|
||||||
|
|
||||||
|
pbind {
|
||||||
|
^Pbind(*this)
|
||||||
|
}
|
||||||
|
|
||||||
|
pseq { arg repeats=inf, offset=0;
|
||||||
|
^Pseq(this, repeats, offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
pshuf { arg repeats=1;
|
||||||
|
^Pshuf(this, repeats);
|
||||||
|
}
|
||||||
|
|
||||||
|
prand { arg repeats=inf;
|
||||||
|
^Prand(this, repeats);
|
||||||
|
}
|
||||||
|
|
||||||
|
pxrand { arg repeats=inf;
|
||||||
|
^Pxrand(this, repeats);
|
||||||
|
}
|
||||||
|
|
||||||
|
pwrand { arg weights, repeats=1;
|
||||||
|
^Pwrand(this, weights, repeats);
|
||||||
|
}
|
||||||
|
|
||||||
|
pwhite { arg repeats=inf;
|
||||||
|
^Pwhite(this[0], this[1], repeats);
|
||||||
|
}
|
||||||
|
}
|
||||||
25
Classes/BuboBoot.sc
Normal file
25
Classes/BuboBoot.sc
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
Boot {
|
||||||
|
*new {
|
||||||
|
arg path = "/Users/bubo/.config/livecoding";
|
||||||
|
var s = Server.default;
|
||||||
|
var p;
|
||||||
|
s.options.numBuffers = 1024 * 128; // Nombre de buffers disponibles pour stocker des samples
|
||||||
|
s.options.memSize = 8192 * 64; // Mémoire disponible pour le serveur
|
||||||
|
s.options.numWireBufs = 2048; // Augmenter ce nombre si "exceeded number of interconnect buffers"
|
||||||
|
s.options.maxNodes = 1024 * 32; // Changer cette valeur si le son saute avec le message "too many nodes"
|
||||||
|
s.options.device = "BlackHole 16ch"; // Choix de l'interface audio à utiliser
|
||||||
|
s.options.numOutputBusChannels = 16; // Indiquer le nombre de sorties de son interface audio
|
||||||
|
s.options.numInputBusChannels = 16; // Indiquer le nombre d'entrées de son interface audio
|
||||||
|
p = ProxySpace.push(Server.default.boot);
|
||||||
|
p.makeTempoClock; // Gestion du tempo
|
||||||
|
p.clock.tempo = 120/60;
|
||||||
|
Bank.root = path +/+ "samples"; // Chemin vers les samples
|
||||||
|
Bank.lazyLoading = True; // Lazy loading des samples
|
||||||
|
Server.default.waitForBoot({
|
||||||
|
(path +/+ "Synthdefs.scd").load; // Chargement des synthétiseurs
|
||||||
|
StageLimiter.activate; // StageLimiter pour les oreilles
|
||||||
|
"== 💻 LIVE CODING PRÊT 💻 == ".postln;
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
6
Classes/BuboFreqScope.sc
Normal file
6
Classes/BuboFreqScope.sc
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
FScope {
|
||||||
|
|
||||||
|
*new {
|
||||||
|
^Server.default.freqscope.window.alwaysOnTop_(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
5
Classes/BuboGui.sc
Normal file
5
Classes/BuboGui.sc
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Gui {
|
||||||
|
*new {
|
||||||
|
^Server.default.makeGui.window.alwaysOnTop_(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
3
Classes/BuboNdef.sc
Normal file
3
Classes/BuboNdef.sc
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
+ Ndef {
|
||||||
|
}
|
||||||
|
|
||||||
36
Classes/BuboNodeProxy.sc
Normal file
36
Classes/BuboNodeProxy.sc
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
+ NodeProxy {
|
||||||
|
|
||||||
|
fx {
|
||||||
|
arg number=1, wet=1, function = {|in| in};
|
||||||
|
this[number] = \filter -> function;
|
||||||
|
this.set(("wet" ++ number).asSymbol, wet);
|
||||||
|
^this;
|
||||||
|
}
|
||||||
|
|
||||||
|
fx1 { arg wet, function; this.fx(\wet100, wet, function); }
|
||||||
|
fx2 { arg wet, function; this.fx(\wet200, wet, function); }
|
||||||
|
fx3 { arg wet, function; this.fx(\wet300, wet, function); }
|
||||||
|
fx4 { arg wet, function; this.fx(\wet400, wet, function); }
|
||||||
|
fx5 { arg wet, function; this.fx(\wet500, wet, function); }
|
||||||
|
fx6 { arg wet, function; this.fx(\wet600, wet, function); }
|
||||||
|
fx7 { arg wet, function; this.fx(\wet700, wet, function); }
|
||||||
|
fx8 { arg wet, function; this.fx(\wet800, wet, function); }
|
||||||
|
fx9 { arg wet, function; this.fx(\wet900, wet, function); }
|
||||||
|
|
||||||
|
wet { arg number=1, wet=1;
|
||||||
|
this.set(("wet" ++ number).asSymbol, wet);
|
||||||
|
^this;
|
||||||
|
}
|
||||||
|
|
||||||
|
xwet { arg number=1, wet=1;
|
||||||
|
this.xset(("wet" ++ number).asSymbol, wet);
|
||||||
|
^this;
|
||||||
|
}
|
||||||
|
|
||||||
|
fxin {
|
||||||
|
arg number=1, wet=1, function = {|in| in};
|
||||||
|
this[number] = \filterIn -> function;
|
||||||
|
this.set(("wet" ++ number).asSymbol, wet);
|
||||||
|
^this;
|
||||||
|
}
|
||||||
|
}
|
||||||
5
Classes/BuboObject.sc
Normal file
5
Classes/BuboObject.sc
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Panic {
|
||||||
|
*new {
|
||||||
|
CmdPeriod.run;
|
||||||
|
}
|
||||||
|
}
|
||||||
23
Classes/BuboPbind.sc
Normal file
23
Classes/BuboPbind.sc
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
+ Pbind {
|
||||||
|
fastest { ^this.set(\dur, 1/8) }
|
||||||
|
faster { ^this.set(\dur, 1/4) }
|
||||||
|
fast { ^this.set(\dur, 1/2) }
|
||||||
|
slow { ^this.set(\dur, 2) }
|
||||||
|
slower { ^this.set(\dur, 4) }
|
||||||
|
slowest { ^this.set(\dur, 8) }
|
||||||
|
|
||||||
|
lowest { ^this.set(\octave, 2) }
|
||||||
|
lower { ^this.set(\octave, 3) }
|
||||||
|
low { ^this.set(\octave, 4) }
|
||||||
|
high { ^this.set(\octave, 6) }
|
||||||
|
higher { ^this.set(\octave, 7) }
|
||||||
|
highest { ^this.set(\octave, 8) }
|
||||||
|
|
||||||
|
fff { ^this.set(\amp, 2) }
|
||||||
|
ff { ^this.set(\amp, 1) }
|
||||||
|
f { ^this.set(\amp, 0.5) }
|
||||||
|
p { ^this.set(\amp, 0.3) }
|
||||||
|
pp { ^this.set(\amp, 0.2) }
|
||||||
|
ppp { ^this.set(\amp, 0.1) }
|
||||||
|
}
|
||||||
|
|
||||||
6
Classes/BuboScope.sc
Normal file
6
Classes/BuboScope.sc
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
Scope {
|
||||||
|
|
||||||
|
*new {
|
||||||
|
^Server.default.scope.window.alwaysOnTop_(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user