Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (
- ~pmerge = { arg patterns, selector;
- Prout({
- var streams, nexts, selected, t;
- streams=patterns.collect{|p|p.asStream};
- nexts=streams.collect{|s|s.next(())};
- loop {
- selected = selector.value(nexts);
- t = nexts[selected];
- nexts.put(selected,streams[selected].next(()));
- t.yield;
- }}
- )
- })
- ~merged = EventPatternProxy()
- ~merged.source = ~pmerge.value([Pbind(\degree,Prand((0..5),inf)),Pbind(\dur,1/2,\degree,Prand((0..5),inf))], {|evs|if(evs[0][\degree]==evs[1][\degree],0,1)})
- ~merged.play
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement