Class: HeadMusic::Rudiment::Pitch::EnharmonicEquivalence
- Inherits:
-
Object
- Object
- HeadMusic::Rudiment::Pitch::EnharmonicEquivalence
- Defined in:
- lib/head_music/rudiment/pitch/enharmonic_equivalence.rb
Overview
An enharmonic equivalent pitch is the same frequency spelled differently, such as D# and Eb.
Instance Attribute Summary collapse
-
#pitch ⇒ Object
readonly
Returns the value of attribute pitch.
Class Method Summary collapse
Instance Method Summary collapse
- #enharmonic_equivalent?(other) ⇒ Boolean (also: #enharmonic?, #equivalent?)
-
#initialize(pitch) ⇒ EnharmonicEquivalence
constructor
A new instance of EnharmonicEquivalence.
Constructor Details
#initialize(pitch) ⇒ EnharmonicEquivalence
Returns a new instance of EnharmonicEquivalence.
13 14 15 |
# File 'lib/head_music/rudiment/pitch/enharmonic_equivalence.rb', line 13 def initialize(pitch) @pitch = HeadMusic::Rudiment::Pitch.get(pitch) end |
Instance Attribute Details
#pitch ⇒ Object (readonly)
Returns the value of attribute pitch.
9 10 11 |
# File 'lib/head_music/rudiment/pitch/enharmonic_equivalence.rb', line 9 def pitch @pitch end |
Class Method Details
.get(pitch) ⇒ Object
3 4 5 6 7 |
# File 'lib/head_music/rudiment/pitch/enharmonic_equivalence.rb', line 3 def self.get(pitch) pitch = HeadMusic::Rudiment::Pitch.get(pitch) @enharmonic_equivalences ||= {} @enharmonic_equivalences[pitch.to_s] ||= new(pitch) end |
Instance Method Details
#enharmonic_equivalent?(other) ⇒ Boolean Also known as: enharmonic?, equivalent?
17 18 19 20 |
# File 'lib/head_music/rudiment/pitch/enharmonic_equivalence.rb', line 17 def enharmonic_equivalent?(other) other = HeadMusic::Rudiment::Pitch.get(other) pitch.midi_note_number == other.midi_note_number && pitch.spelling != other.spelling end |