Broken state but progress
This commit is contained in:
BIN
Classes/.DS_Store
vendored
BIN
Classes/.DS_Store
vendored
Binary file not shown.
@@ -55,22 +55,22 @@ Boot {
|
||||
// Post actions: installing behavior after server boot
|
||||
Server.default.waitForBoot({
|
||||
if (false) {
|
||||
d = ();
|
||||
// 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.loadSoundFiles("/Users/bubo/.config/livecoding/samples/*");
|
||||
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"));
|
||||
// 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.loadSoundFiles("/Users/bubo/.config/livecoding/samples/*");
|
||||
// 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;
|
||||
|
||||
|
||||
@@ -64,6 +64,9 @@
|
||||
pattern = EventShortener.process(
|
||||
pattern, this.key, \buboEvent, 0
|
||||
);
|
||||
pattern = EffectChain.process(
|
||||
pattern, this.key
|
||||
);
|
||||
this[0] = Pbind(*pattern);
|
||||
this.prepareToPlay(this, quant, fade);
|
||||
^this
|
||||
@@ -94,7 +97,7 @@
|
||||
pattern, this.key, 'pmono', 0
|
||||
);
|
||||
this[0] = Pmono(*pattern);
|
||||
this.prepareToPlay(this; quant, fade);
|
||||
this.prepareToPlay(this, quant, fade);
|
||||
^this
|
||||
}
|
||||
|
||||
|
||||
@@ -312,8 +312,6 @@ d.list = { arg obj; obj.keys.do({arg i; i.postln}); };
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
(
|
||||
z = SynthDef('kraut', {
|
||||
/*
|
||||
@@ -325,13 +323,14 @@ d.list = { arg obj; obj.keys.do({arg i; i.postln}); };
|
||||
*/
|
||||
arg out;
|
||||
var sweepFreq = XLine.ar(\freq.kr(400) * 1.99, \freq.kr, \attack.kr(0.05) / \time.kr(2));
|
||||
var frequencyBias = SinOsc.ar(\modSpeed.kr(1)).range(0.90, 1);
|
||||
var frequencyBias = SinOsc.ar(\modSpeed.kr(8)).range(0.99, 1);
|
||||
var sin = SinOscFB.ar([
|
||||
sweepFreq * \tune.kr(1) * frequencyBias,
|
||||
sweepFreq / \tune.kr * frequencyBias],
|
||||
feedback: \harmonics.kr(0.25));
|
||||
var env = Env.perc(\attack.kr, \release.kr(0.5)).ar(doneAction: 2);
|
||||
var sound = Safe.ar(sin.lincurve(-1, 1, -1, 1, \curve.kr(4)));
|
||||
var sound = sin.lincurve(-1, 1, -1, 1, \curve.kr(4));
|
||||
sound = sound * \amp.kr(-6).dbamp;
|
||||
OffsetOut.ar(out, DirtPan.ar(sound, ~dirt.numChannels, \pan.kr(0), env))
|
||||
}).add;
|
||||
d.kraut = z;
|
||||
|
||||
9
Classes/EffectChain.sc
Normal file
9
Classes/EffectChain.sc
Normal file
@@ -0,0 +1,9 @@
|
||||
EffectChain {
|
||||
|
||||
*process {
|
||||
arg pattern, key;
|
||||
|
||||
^pattern
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,28 +2,28 @@ EventShortener {
|
||||
|
||||
*process {
|
||||
arg pattern, key, type, time;
|
||||
var new_pattern;
|
||||
var additionalKeys = Dictionary.newFrom([
|
||||
\midi, [
|
||||
type: \midi,
|
||||
midiCmd: \noteOn,
|
||||
],
|
||||
\buboEvent, [
|
||||
type: \buboEvent,
|
||||
],
|
||||
\looper, [
|
||||
type: \buboLoopEvent,
|
||||
legato: 1,
|
||||
time: time
|
||||
legato: 1, time: time
|
||||
],
|
||||
\pmono, [],
|
||||
]);
|
||||
pattern = this.findShortcuts(pattern);
|
||||
pattern = this.functionsToNdef(pattern, key);
|
||||
pattern = pattern ++ additionalKeys[type];
|
||||
new_pattern = this.findShortcuts(pattern);
|
||||
new_pattern = this.functionsToNdef(new_pattern, key);
|
||||
new_pattern = new_pattern ++ additionalKeys[type];
|
||||
if (pattern.includes('pat'), {
|
||||
pattern = this.patternize(pattern, type);
|
||||
new_pattern = this.patternize(new_pattern, type);
|
||||
});
|
||||
pattern.postln;
|
||||
^pattern
|
||||
^new_pattern
|
||||
}
|
||||
|
||||
*patternize {
|
||||
@@ -41,9 +41,7 @@ EventShortener {
|
||||
}, {
|
||||
additionalKeys = [\trig, \delta, \dur, \str, \num];
|
||||
});
|
||||
new_pattern = new_pattern ++ [
|
||||
additionalKeys, temp
|
||||
];
|
||||
new_pattern = new_pattern ++ [additionalKeys, temp];
|
||||
new_pattern = new_pattern ++ [
|
||||
degree: Pfunc({ |e|
|
||||
if (e.trig > 0, {
|
||||
@@ -56,15 +54,15 @@ EventShortener {
|
||||
if (type !== 'midi', {
|
||||
if (pattern.includes('i') || pattern.includes('instrument') == false, {
|
||||
new_pattern = new_pattern ++ [
|
||||
sp: Pkey(\str),
|
||||
nb: Pkey(\num),
|
||||
sp: Pfunc { |e| e.str ? "kick" },
|
||||
nb: Pfunc { |e| e.num ? 0 },
|
||||
instrument: Pfunc { |e| e.str.isNil && e.num.isNil ? "default" },
|
||||
fast: 1,
|
||||
];
|
||||
});
|
||||
})
|
||||
}, {
|
||||
new_pattern.add(a);
|
||||
new_pattern.add(b);
|
||||
new_pattern = new_pattern ++ [a, b];
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user