Sha256: a2fadcd88f917a3f5bdd7db6fe39d306bf6f3701731b94a14359b1e92fffaca6
Contents?: true
Size: 611 Bytes
Versions: 9
Compression:
Stored size: 611 Bytes
Contents
# frozen_string_literal: true # Octave equivalence is the functional equivalence of pitches with the same spelling separated by one or more octaves. class HeadMusic::Pitch::OctaveEquivalence def self.get(pitch) @octave_equivalences ||= {} @octave_equivalences[pitch.to_s] ||= new(pitch) end attr_reader :pitch def initialize(pitch) @pitch = pitch end def octave_equivalent?(other) other = HeadMusic::Pitch.get(other) pitch.spelling == other.spelling && pitch.register != other.register end alias_method :equivalent?, :octave_equivalent? private_class_method :new end
Version data entries
9 entries across 9 versions & 1 rubygems