Obtain value of a tick

look  

Read and return value of default tick. If a key is specified, read the value of that specific tick. Ticks are in_thread and live_loop local, so the tick read will be the tick of the current thread calling look.

Introduced in v2.6

Options

offset:

Offset to add to index returned. Useful when calling look on lists, rings and vectors to offset the returned value

Examples

# Example 1

puts look
puts look
puts look



#=> 0
#=> 0
#=> 0 # look doesn't advance the tick, it just returns the current value



# Example 2

puts look
tick
puts look
tick
puts look
puts look
tick
puts look



#=> 0 # A look is always 0 before the first tick
# advance the tick
#=> 0 # Note: a look is still 0 after the first tick.
 
#=> 1
#=> 1 # making multiple calls to look doesn't affect tick value
 
#=> 2



# Example 3

tick(:foo)
tick(:foo)
puts look(:foo)
puts look
puts look(:bar)



 
 
#=> 1 (keyed look :foo has been advanced)
#=> 0 (default look hasn't been advanced)
#=> 0 (other keyed looks haven't been advanced either)



# Example 4


live_loop :foo do
  tick                                     
  use_synth :beep
  play (scale :e3, :minor_pentatonic).look 
  sleep 0.5
  use_synth :square
  play (ring :e1, :e2, :e3).look, release: 0.25
  sleep 0.25
end


# You can call look on lists and rings
 
# advance the default tick
 
# look into the default tick to play all notes in sequence
 
 
# use the same look on another ring