class Metronome::Bar
Attributes
beat_array[RW]
d[R]
downbeat_sound_file[W]
n[R]
tempo[RW]
upbeat_sound_file[W]
Public Class Methods
new(tempo, n, d)
click to toggle source
# File lib/metronome-odd.rb, line 79 def initialize(tempo, n, d) data_dir = Gem.datadir("metronome-odd") data_dir = data_dir ? data_dir : "" @upbeat_sound_file = data_dir + "/beat_upbeat.aiff" @downbeat_sound_file = data_dir + "/beat_downbeat.aiff" @beat_array = Array.new @beat_array.push(Beat.new(tempo*d/4.0, @upbeat_sound_file)) @n = n @d = d @tempo = tempo (2..n).each do @beat_array.push(Beat.new(tempo*d/4.0, @downbeat_sound_file)) end self end
Public Instance Methods
play()
click to toggle source
# File lib/metronome-odd.rb, line 99 def play @beat_array.each {|b| b.play} end
print_sign()
click to toggle source
# File lib/metronome-odd.rb, line 103 def print_sign print "|#{@n}x#{@d}|" end
set_tempo(tempo)
click to toggle source
# File lib/metronome-odd.rb, line 107 def set_tempo(tempo) old_tempo = Float(@tempo) @beat_array.each do |beat| beat.silence.duration *= old_tempo/tempo end @tempo = tempo end