This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This is a test gist. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
( | |
var root = "/a/b/c"; | |
var testSpec = { | |
|a, b| | |
a = Quarks.parseQuarkSpecifier(a, root); | |
"%: % == %".format(a == b, a, b).postln; | |
}; | |
var testSaved = { | |
|a, b| | |
a = Quarks.savedQuarkSpecifier(a, root); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
Quarks.directory.keysValuesDo { | |
|quarkName, path| | |
var quark, tags, deps, expectedMatches, depData; | |
Quarks.clear(); | |
quark = Quark(quarkName); | |
quark.checkout(); | |
tags = quark.tags ++ ["HEAD"]; | |
tags.do { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Settings | |
~recordPath = "~/Desktop".standardizePath; | |
~recordName = "sc_capture"; // e.g. recordings will be named "sc_capture [...].aiff" | |
~preroll = 0.5; // seconds to capture before sound starts | |
~bufferLength = s.sampleRate * 60; | |
// Threshold settings | |
// These can be changed while recorder is running, to refine threshold values | |
Ndef(\threshold).source = -24; // Record threshold, in dB | |
Ndef(\durThreshold).source = 0.2; // Minimum amount of time above \threshold for it to trigger |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Deferred { | |
var value, error, resolved=\unresolved, waitingThreads; | |
*new { | |
^super.new.init | |
} | |
init { | |
waitingThreads = Array(2); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
+SynthDef { | |
specs { | |
metadata ?? { metadata = () }; | |
metadata[\specs] ?? { metadata[\specs] = () }; | |
^metadata[\specs] | |
} | |
} | |
+SynthDesc { | |
specs { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
QuNeo { | |
var midiIn, midiOut, | |
<>pads, connections; | |
*new { | |
| midiOut, midiIn | | |
MIDIClient.initialized.not.if({ MIDIClient.init }); | |
MIDIIn.connectAll(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
q = QuNeo().connect(); | |
( | |
SynthDef(\buzz, { | |
var sig, env, pressure, freqs, lpfFreq, gate; | |
gate = \gate.kr(1); // wait 2 secs before releasing | |
pressure = \pressure.kr(0.1, 1); | |
pressure = Gate.kr(pressure, gate); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Twister devices are expected to be named in this form: | |
// classvar <endpointDevice="Midi Fighter Twister %", <endpointName="Midi Fighter Twister"; | |
// Where "Midi Fighter Twister 1" is TwisterDevice(\default) and "Midi Fighter Twister 2" is TwisterDevice(\secondary) | |
// A twister device. These are singletons - there is only ever one registered per device. It works ala Ndef, Pdef, etc, see Singleton help file. | |
~device = TwisterDevice(\default); | |
// If your MIDI Fighter is named something other than the above, you can register it via: | |
this.registerDevice(\myDevice, "endpoint device", "endpoint name"); | |
// And then access it via TwisterDevice(\myDevice) |
OlderNewer