class Sequencer::EventTrigger

Callbacks that when evaluate to true, will trigger the corresponding sequencer event

Public Instance Methods

reset(&block) click to toggle source

Set the reset trigger. When true, the sequence will go back to step 0 @param [Proc] block @return [Proc]

# File lib/sequencer/event_trigger.rb, line 9
def reset(&block)
  @reset = block  
end
reset?(pointer, data) click to toggle source

Whether the reset event should fire @param [Fixnum] pointer The sequencer pointer @param [Object] data Data for the current sequence step @return [Boolean]

# File lib/sequencer/event_trigger.rb, line 24
def reset?(pointer, data)
  !@reset.nil? && @reset.call(pointer, data)
end
reset_every(num) click to toggle source

Shortcut to trigger a reset even on a given interval of ticks @param [Fixnum, nil] num The number of ticks or nil to cancel existing triggers @return [Fixnum, nil]

# File lib/sequencer/event_trigger.rb, line 66
def reset_every(num)
  if num.nil?
    @reset = nil
  else
    reset { |pointer| pointer % num == 0 }
    num
  end
end
rest(&block) click to toggle source

Set the rest trigger. When true, no messages will be outputted during that step @param [Proc] block @return [Proc]

# File lib/sequencer/event_trigger.rb, line 16
def rest(&block)
  @rest = block
end
rest?(pointer, data) click to toggle source

Whether the rest event should fire @param [Fixnum] pointer The sequencer pointer @param [Object] data Data for the current sequence step @return [Boolean]

# File lib/sequencer/event_trigger.rb, line 32
def rest?(pointer, data)
  !@rest.nil? && @rest.call(pointer, data)
end
rest_every(num) click to toggle source

Shortcut to trigger a rest event on a given interval of ticks @param [Fixnum, nil] num The number of ticks or nil to cancel existing triggers @return [Fixnum, nil]

# File lib/sequencer/event_trigger.rb, line 54
def rest_every(num)
  if num.nil?
    @rest = nil
  else
    rest { |pointer| pointer % num == 0 }
    num
  end
end
stop(&block) click to toggle source

Set the stop trigger. When true, the sequencer will stop @param [Proc] block @return [Proc]

# File lib/sequencer/event_trigger.rb, line 39
def stop(&block)
  @stop = block
end
stop?(pointer, data) click to toggle source

Whether to fire the stop event @param [Fixnum] pointer The sequencer pointer @param [Object] data Data for the current sequence step @return [Boolean]

# File lib/sequencer/event_trigger.rb, line 47
def stop?(pointer, data)
  !@stop.nil? && @stop.call(pointer, data)
end