Class: Track

Inherits:
Object
  • Object
show all
Defined in:
lib/track.rb

Overview

Domain object which models a kit sound playing a rhythm. For example, a bass drum playing every quarter note for two measures.

This object is like sheet music; the AudioEngine is responsible creating actual audio data for a Track (with the help of a Kit).

Constant Summary collapse

REST =
"."
BEAT =
"X"
BARLINE =
"|"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, rhythm) ⇒ Track

Returns a new instance of Track.



14
15
16
17
18
# File 'lib/track.rb', line 14

def initialize(name, rhythm)
  # TODO: Add validation for input parameters
  @name = name
  self.rhythm = rhythm
end

Instance Attribute Details

#beatsObject (readonly)

Returns the value of attribute beats.



54
55
56
# File 'lib/track.rb', line 54

def beats
  @beats
end

#nameObject

Returns the value of attribute name.



53
54
55
# File 'lib/track.rb', line 53

def name
  @name
end

#rhythmObject

Returns the value of attribute rhythm.



54
55
56
# File 'lib/track.rb', line 54

def rhythm
  @rhythm
end

Instance Method Details

#step_countObject



49
50
51
# File 'lib/track.rb', line 49

def step_count
  return @rhythm.length
end