Cue other threads
cue
[cue_id (symbol)]
Send a heartbeat synchronisation message containing the (virtual) timestamp of the current thread. Useful for syncing up external threads via the sync fn.
Introduced in v2.0
|
in_thread do sync :foo sample :ambi_lunar_land end sleep 5 cue :foo |
# this parks the current thread waiting for a foo cue message to be received. # We send a cue message from the main thread. # This then unblocks the thread above and we then hear the sample |
|
in_thread do loop do cue :tick sleep 0.5 end end loop do sync :tick sample :drum_heavy_kick end |
# Start a metronome thread # Loop forever: # sending tick heartbeat messages # and sleeping for 0.5 seconds between ticks # We can now play sounds using the metronome. # In the main thread, just loop # waiting for :tick cue messages # after which play the drum kick sample |
|
in_thread do loop do cue [:foo, :bar, :baz].choose sleep 0.5 end end in_thread do loop do sync :foo sample :elec_beep end end in_thread do loop do sync :bar sample :elec_flip end end in_thread do loop do sync :baz sample :elec_blup end end |
# Start a metronome thread # Loop forever: # sending one of three tick heartbeat messages randomly # and sleeping for 0.5 seconds between ticks # We can now play sounds using the metronome: # In the main thread, just loop # waiting for :foo cue messages # after which play the elec beep sample # In the main thread, just loop # waiting for :bar cue messages # after which play the elec flip sample # In the main thread, just loop # waiting for :baz cue messages # after which play the elec blup sample |