You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.5 KiB
Plaintext
42 lines
1.5 KiB
Plaintext
(
|
|
// MAIN LAUNCH
|
|
/*
|
|
Loads necessary files and definitions
|
|
When starting over, best to reboot server and intepreter
|
|
|
|
No GUI, just keycodes:
|
|
<ctrl + f> = enter full screen, <esc> = exit full screen
|
|
<ctrl + r> = run synth, <ctrl + p> = pause synth
|
|
<ctrl + s> = trigger start / fade in, <ctrl + e> = trigger end / fade out, <ctrl + t> = trigger wake
|
|
|
|
When ~arduino == 1 (true), the app assumes that an arduino is reachable, otherwise errors will be thrown
|
|
|
|
When automate == 1 (true), the trigger keys are disabled and the following lists in the SynthDef are used:
|
|
startTimes, wakeTimes, and endTimes
|
|
|
|
This launches the synth in a paused state to give the user time to put the visuals in full screen.
|
|
To start the synth, <ctrl + r> must be executed
|
|
*/
|
|
|
|
var dir = thisProcess.nowExecutingPath.dirname;
|
|
var automate = 1;
|
|
~arduino = 1;
|
|
~fadeInTrigBus = Bus.control(s); ~wakeTrigBus = Bus.control(s); ~fadeOutTrigBus = Bus.control(s);
|
|
"remembering_clive_wearing_visuals.scd".loadRelative(true, {
|
|
"remembering_clive_wearing_synthdef.scd".loadRelative(true, {
|
|
var fileCount = 0, samples;
|
|
PathName(dir +/+ "../audio").files.postln;
|
|
samples = PathName(dir +/+ "../audio").files.sort({arg a, b;
|
|
a.fileName.toLower < b.fileName.toLower }).collect({|file|
|
|
Buffer.read(s, file.fullPath, action: {
|
|
if(fileCount == 8, {~flicker = Synth.newPaused(\flicker,
|
|
[\automate, automate, \bufs, samples,
|
|
\fadeInTrigBusNum, ~fadeInTrigBus,
|
|
\fadeOutTrigBusNum, ~fadeOutTrigBus,
|
|
\wakeTrigBusNum, ~wakeTrigBus])}, {});
|
|
fileCount = fileCount + 1;
|
|
});
|
|
});
|
|
});
|
|
});
|
|
) |