class Banjo::Note

Attributes

channel[RW]
duration[RW]
note[RW]
velocity[RW]

Public Class Methods

new(channel, note) click to toggle source
# File lib/banjo/note.rb, line 5
def initialize(channel, note)
  self.channel  = channel
  self.note     = note
  self.velocity = 100
  self.duration = 0.5
end

Public Instance Methods

at(tick) click to toggle source
# File lib/banjo/note.rb, line 12
def at(tick)
  play if Banjo.tick == tick
end
every(period, offset = 0) click to toggle source
# File lib/banjo/note.rb, line 16
def every(period, offset = 0)
  play if ((Banjo.tick + offset) % period == 0)
end
for(duration) click to toggle source
# File lib/banjo/note.rb, line 25
def for(duration)
  self.duration = duration
  self
end
play() click to toggle source
# File lib/banjo/note.rb, line 30
def play
  channel.play_note!(note, velocity, duration)
end
with_velocity(velocity) click to toggle source
# File lib/banjo/note.rb, line 20
def with_velocity(velocity)
  self.velocity = velocity
  self
end