;;; -*- syntax: Sal; font-size: 16; theme: "Emacs"; -*- variable *pat* = make-heap({48 49 50 51 52 53 54 55 56 57 58 59 60}, for: 5) next(*pat*, #t) begin with heap = make-heap({48 49 50 51 52 53 54 55 56 57 58 59 60}, for: 5) set *pat* = make-repeater(heap, repeat: 2) end next(*pat*, #t) begin with heap = make-heap({48 49 50 51 52 53 54 55 56 57 58 59 60}, for: 5) set *pat* = make-repeater(heap, for: 2) end next(*pat*, #t) begin with heap = make-heap({48 49 50 51 52 53 54 55 56 57 58 59 60}, for: 5), rep = make-repeater(heap, repeat: 2) set *pat* = make-repeater(rep, for: 2) end next(*pat*, #t) process playreps (num, rhy, pat, reps) with rep = make-repeater(pat,repeat: reps) repeat num for k = next(rep) for r = next(rhy) mp:midi(key: k, dur: r) wait next(r) end begin with heap = make-heap({48 49 50 51 52 53 54 55 56 57 58 59 60}, for: 5) sprout(playreps(50,1/5, heap, 2)) end begin with heap = make-heap({48 49 50 51 52 53 54 55 56 57 58 59 60}, for: 5), reps = make-weighting({{2 1} {3 .25 1 1} }) sprout(playreps(100,1/5, heap, reps)) end process playreps (num, rhy, pat, reps) with rep = make-repeater(pat,repeat: reps) , amp = .6 repeat num for k = next(rep) for r = next(rhy) mp:midi(key: k, dur: r, amp: amp) if (eop?(rep)) set amp = .6 else set amp = .3 end wait next(r) end begin with heap = make-heap({48 49 50 51 52 53 54 55 56 57 58 59 60}, for: 5), reps = make-weighting({{2 1} {3 .25 1 1} }) sprout(playreps(100,1/5, heap, reps)) end ;; move the figures process playreps (num, rhy, pat, reps) with rep = make-repeater(pat, for: reps) , transp = 48 for i below num for k = next(rep) for r = next(rhy) for a = #? ( ((i % 5) = 0), .5, .3) mp:midi(key: transp + k, dur: r, amp: a) if (eop?(rep)) set transp += 2 end wait next(r) end begin with heap = make-heap({0 1 2 3 4 5 6 7 8 9 10 11 12}, for: 5), reps = make-weighting({{2 1} {3 .25 1 1} }) sprout(playreps(100,1/5, heap, reps)) end set *pat* = make-heap( promise( {0 1 2 3 4 5 6 7 8 9 10 11 12} ), for: 5) next(*pat*)