We’ve updated our Terms of Use to reflect our new entity name and address. You can review the changes here.
We’ve updated our Terms of Use. You can review the changes here.

oatmeal.

by R.McMASTERS

/
  • Streaming + Download

    Includes high-quality download in MP3, FLAC and more. Paying supporters also get unlimited streaming via the free Bandcamp app.
    Purchasable with gift card

      name your price

     

about

//[oatmeal].

//r.mcmasters


// To play this piece, click Language -> Evaluate File, read the instructions on the first page, then click "play."

s.boot;
s.waitForBoot{

SynthDef(\keytone, {
arg keyfreq,amp=0.9,dur=2.0;
var sin, env, delay,pan;
env = XLine.kr(amp,0.001,dur,doneAction:2);
sin = Pulse.ar((keyfreq).midicps/[4,2], mul:env);
delay = AllpassC.ar(sin,0.5,[0.5,0.75,0.25],5);
pan = Pan2.ar(delay,TRand.ar(-1,1,Dust2.ar(10)));
Out.ar(0,[sin,pan]);
}).load(s);

w = Window.new("[oatmeal].", Rect(100, 100, 600, 600))
.background_(Color.black)
.front
.alwaysOnTop_(true)
.view.keyDownAction = {
arg view, char, modifiers, unicode, keycode;
[char, unicode, keycode].postln;
~x = Synth(\keytone, [\keyfreq,(unicode-44)]);
~x.set(\keyfreq,(unicode-44));
};

~textbox = StaticText(w, Rect(50, 250, 500, 310))
.align_(\center)
.string_("Type the words that appear in time with the blinking corners.")
.stringColor_(Color.white)
.background_(Color.black)
.font_(Font(size:24));

~metsize = 100;
~metcolor = Color.cyan(0.75);
~metLU = StaticText(w, Rect(0, 0, ~metsize, ~metsize));
~metLD = StaticText(w, Rect(0, 500, ~metsize, ~metsize));
~metRU = StaticText(w, Rect(500, 0, ~metsize, ~metsize));
~metRD = StaticText(w, Rect(500, 500, ~metsize ,~metsize));

~button1 = Button(w, Rect(125, 50, 350, 100))
.states_([
["play", Color.grey, Color.black],
["stop", Color.grey, Color.black],
["close"]
])
.font_(Font(size:72))
.action_({
arg obj;
if(
obj.value ==1,
{

AppClock.sched(0.0, Routine(
{
loop{
~metLU.background_(Color.black);
~metRU.background_(~metcolor);
~metLD.background_(~metcolor);
~metRD.background_(Color.black);
0.5.wait;
~metLD.background_(Color.black);
~metRD.background_(~metcolor);
~metLU.background_(~metcolor);
~metRU.background_(Color.black);
0.5.wait;
}
}
)
);

AppClock.sched(0.0, Routine(
{[3,2,1].do{
arg counter;
~textbox.string_(counter)
.font_(Font(size:96))
.stringColor_(~metcolor);
1.0.wait;}}));

AppClock.sched(3.0, Routine(
{[
"me",
"he",
"she",
"the",
"aft",
"hat",
"cat",
"cafe",
"coffee",
"taffy",
"left",
"heft",
"heat",
"eat",
"oat",
"oatmeal",
"team",
"tea",
"am",
"a"

].do{
arg word;
~textbox.string_(word).stringColor_(Color.white);
15.0.wait;

[1.0, 0.75, 0.25, 0.0].do{
arg counter1;
~textbox.stringColor_(Color.grey(counter1));
0.5.wait;};
}
}
)
);
};
);

if(
obj.value ==2,
{Window.closeAll});

});
}

credits

released November 5, 2016

license

all rights reserved

tags

about

R.McMASTERS Pittsburgh, Pennsylvania

contact / help

Contact R.McMASTERS

Streaming and
Download help

Redeem code

Report this track or account

If you like R.McMASTERS, you may also like: