Skip to content

Instantly share code, notes, and snippets.

View scztt's full-sized avatar

scott carver scztt

  • Berlin
View GitHub Profile
(
var guiFunc;
var ampMin = -70;
var ampMax = 36;
var numberBoxHeight = 22;
var oscDef;
var compressFunc = {
|isSynth, amp, aboveRatio, belowRatio, ratioScale, aboveThreshold, belowThreshold, knee, curve, expandMax, plot=false|
+UGen {
fadeChange {
|func, fadeTime=1, fadeClass=(XFade2)|
^[this].fadeChange(func, fadeTime, fadeClass)
}
fadeTrig {
|func, fadeTime=1, fadeClass=(XFade2)|
^[this].fadeTrig(func, fadeTime, fadeClass)
}
fadeSteps {
Pmonophonic : Pattern {
embedInStream {
|inEvent|
var id, offEvent;
var event = inEvent.copy;
var cleanup = EventStreamCleanup();
cleanup.addFunction(event, {
offEvent.play;
});
PparStream : Stream {
var <>initStreamAction, <>endStreamAction;
var priorityQ, <now;
var <injectFunc, pausedStreams;
*forkPatterns {
|pattern|
var event, outerEvent, recursionLevel, instrument, embeddingLevel, freq, rest;
var args, defaults, timingOffset, sustain, gatePattern;
var size, newPatterns = [];
@scztt
scztt / Gdef.sc
Created December 19, 2023 21:41
Gdef : Singleton {
classvar <groupOrder, rebuildBundle, <nodeMap;
var <group, <afterList, <beforeList, <server, <>permanent=true;
classvar blockUpdate=false, updateCount=0;
*initClass {
[Event, EventTypesWithCleanup].do(Class.initClassTree(_));
groupOrder = LinkedList();
nodeMap = IdentityDictionary();
// XMP parsing requires:
// Quarks.install("XML"); [in supercollider]
// brew install exiftool [in terminal]
+SoundFile {
exiftoolPath {
^"/usr/local/bin/exiftool"
}
extractMarkers {
+Object {
|> {
|other|
^other.value(this)
}
+> {
|other, adverb|
^(this +.(adverb) other.value(this))
}

Mole recipe

  • ~10-15 dried chiles
  • 1 big handful of pumpkin seeds/almonds
  • 1 small handful of sesame seeds
  • 1 big handful of raisins or similar
  • 1 tbsp of tomato paste
  • 1 small handful of animal crackers or similar
(
var guiFunc;
var ampMin = -70;
var ampMax = 36;
var numberBoxHeight = 22;
var compressFunc = {
|isSynth, amp, aboveRatio, belowRatio, ratioScale, aboveThreshold, belowThreshold, knee, curve, expandMax, plot=false|
var compressAmt, expandAmt;
~folderDependencies = ();
~invertedDependencies = ();
~addDependency = {
|folder, dependsOnFolder, description|
~folderDependencies[folder] = ~folderDependencies[folder] ?? { () };
~folderDependencies[folder][dependsOnFolder] = ~folderDependencies[folder][dependsOnFolder] ?? { () };
~folderDependencies[folder][dependsOnFolder] = ~folderDependencies[folder][dependsOnFolder].add(description);
~invertedDependencies[dependsOnFolder] = ~invertedDependencies[dependsOnFolder] ?? { () };
~invertedDependencies[dependsOnFolder][folder] = ~invertedDependencies[dependsOnFolder][folder] ?? { () };