class Musicality::AddingSequence

Attributes

start_value[R]

Public Class Methods

new(pattern, start_val = 0) click to toggle source
# File lib/musicality/composition/util/adding_sequence.rb, line 7
def initialize pattern, start_val = 0
  raise EmptyError if pattern.empty?
  @pattern = pattern
  @n = pattern.size
  @start_value = start_val
end

Public Instance Methods

next_value(cur_val, cur_idx) click to toggle source
# File lib/musicality/composition/util/adding_sequence.rb, line 16
def next_value cur_val, cur_idx
  cur_val + @pattern[cur_idx % @n]
end
pattern_size() click to toggle source
# File lib/musicality/composition/util/adding_sequence.rb, line 14
def pattern_size; @pattern.size; end
prev_value(cur_val, cur_idx) click to toggle source
# File lib/musicality/composition/util/adding_sequence.rb, line 19
def prev_value cur_val, cur_idx
  cur_val - @pattern[(cur_idx-1) % @n]
end