axjack's blog

axjack is said to be an abbreviation for An eXistent JApanese Cool Klutz.

PseqにasStreamを付けるとRoutineになる

Pseqに限らずPrandとかPbrownでも.asStream付けるとRoutineになる。PatternをRoutineの中で使うときに重宝する、のだろうか?

なお、Patternに加えてEnvも.asStream付けてRoutine化することが可能。

コード

/////////////////////////////////
//Routine
(
~r = Routine(
    {
        2.do({
            12.yield;
            34.yield;
            56.yield;
        });
    });
)


~r.reset;
(
{
    7.do({
        ~r.next.postln;
        1.wait;
    });
}.fork
)

/////////////////////////////////
//Pseq
~p = Pseq([12,34,56],2).asStream;

~p.reset;
(
{
    7.do({
        ~p.next.postln;
        1.wait;
    });
}.fork
)

参考

Pseq | SuperCollider 3.9dev Help

http://doc.sccode.org/Classes/Pattern.html#-asStream

http://doc.sccode.org/Classes/Env.html#-asStream