Sha256: 47f012b5a0feb49ded56596252ec663ad46268bd057ad713d00370b2153cc3b3
Contents?: true
Size: 775 Bytes
Versions: 6
Compression:
Stored size: 775 Bytes
Contents
class HeadMusic::Instrument::Variant attr_reader :key, :attributes def initialize(key, attributes = {}) @key = key.to_s.to_sym @attributes = attributes end def pitch_designation return unless attributes["pitch_designation"].to_s != "" @pitch_designation ||= HeadMusic::Spelling.get(attributes["pitch_designation"]) end def staff_schemes @staff_schemes ||= (attributes["staff_schemes"] || {}).map do |key, list| HeadMusic::Instrument::StaffScheme.new( key: key, variant: self, list: list ) end end def default? key.to_s == "default" end def default_staff_scheme @default_staff_scheme ||= staff_schemes.find(&:default?) || staff_schemes.first end end
Version data entries
6 entries across 6 versions & 1 rubygems