counterfeiting_in_colonial_.../supercollider/cicc_main.scd

53 lines
1.4 KiB
Plaintext
Raw Normal View History

2020-06-02 06:17:46 +02:00
(
// MAIN LAUNCH (loads necessary files and definitions)
2020-06-05 22:41:24 +02:00
var appEnvironment;
2020-06-02 06:17:46 +02:00
2020-06-07 22:59:20 +02:00
//push new environment
2020-06-02 06:17:46 +02:00
appEnvironment = Environment.make;
appEnvironment.push;
2020-06-05 19:50:14 +02:00
s.waitForBoot({
2020-06-11 00:15:44 +02:00
~hash = Date.getDate.hash.asString;
2020-06-07 22:59:20 +02:00
// load all files
2020-06-05 19:50:14 +02:00
"cicc_musical_data_generator.scd".loadRelative;
"cicc_sonifier.scd".loadRelative;
"cicc_gui.scd".loadRelative;
"cicc_transcriber.scd".loadRelative;
2020-06-02 06:17:46 +02:00
2020-06-07 22:59:20 +02:00
// generate all the data
2020-06-05 19:50:14 +02:00
~genAll = {arg seed;
~allMusicData = ~genMusicData.value(seed);
~patterns = ~allMusicData[0];
~scoreData = ~allMusicData[1];
~sectionOffsets = ~allMusicData[2];
~currentSection = 0;
~currentSubsection = 0;
~isPlaying = false;
};
2020-06-02 06:17:46 +02:00
2020-06-07 22:59:20 +02:00
// set the global variables
2020-06-13 21:12:02 +02:00
~tempoClock = TempoClock.new(90 / 60);
2020-06-05 19:50:14 +02:00
~dir = thisProcess.nowExecutingPath.dirname;
2020-06-25 20:29:43 +02:00
"loading app".postln;
2020-06-05 19:50:14 +02:00
~genAll.value(20200525);
2020-06-13 21:12:02 +02:00
~play = Synth.new(\masterPlayerControl ++ ~hash);
2020-06-27 09:41:57 +02:00
{
2020-07-01 01:43:12 +02:00
var center, interval, freq1, freq2, tremRate;
center = 43 + 7.rand2;
interval = 3.0.rand + 2;
freq1 = (center + (interval / 2)).midicps;
freq2 = (center - (interval / 2)).midicps;
2020-06-27 09:41:57 +02:00
tremRate = 50 + 4.0.rand2;
~interludeTremelo = Synth.new(\interludeTremelo ++ ~hash, [\freq1, freq1, \freq2, freq2, \tremRate, tremRate]);
}.value;
2020-06-05 19:50:14 +02:00
~autoAdvance = true;
~interludes = false;
2020-06-05 22:41:24 +02:00
~sectionOrder = ~patterns.size.collect({arg sec; sec});
2020-06-05 19:50:14 +02:00
~generateGUI.value;
2020-06-25 20:29:43 +02:00
"ready".postln;
2020-06-07 22:59:20 +02:00
});
2020-06-13 21:12:02 +02:00
appEnvironment.pop;
2020-06-07 22:59:20 +02:00
)