General Purpose Drumkit

Ah, in fact even just setting use_random_seed in loop gives some nice locking. Even easier, maybe this is better. I’ll find a use for all these things.

with_fx :echo, mix: 0.1, phase: 0.75, decay: 12 do
    in_thread do
      use_random_seed 4
      16.times do
        tick
        p(0) if ("x-------x---x---"[look]=="x") or one_in(8)
        p(1) if ("------x---x-----"[look]=="x") ^ one_in(24)
        p(2) if ("------------xxxx"[look]=="x") ^ one_in(4)
        #p(3) if ("------xx--------"[look]=="x") #^ one_in(16)
        #p(4) if ("-----------x--x-"[look]=="x") ^ one_in(16)
        #p(5) if ("--------------x-"[look]=="x") #^ one_in(0)
        #p(6) if ("--------x---x---"[look]=="x") #^ one_in(0)
        sleep 1.0/4
      end
    end
  end