class MusicalScore::Attribute::Attribute
Attributes
clef[RW]
divisions[RW]
instruments[RW]
key[RW]
time[RW]
Public Class Methods
create_by_hash(doc)
click to toggle source
# File lib/musical_score/attribute/attribute.rb, line 54 def self.create_by_hash(doc) divisions = doc["divisions"][0].to_i clef = doc.has_key?("clef") ? MusicalScore::Attribute::Clef.create_by_hash(doc["clef"][0]) : nil time = doc.has_key?("time") ? MusicalScore::Attribute::Time.create_by_hash(doc["time"][0]) : nil key = doc.has_key?("key") ? MusicalScore::Attribute::Key.create_by_hash(doc["key"][0]) : nil attributes = MusicalScore::Attribute::Attribute.new(divisions: divisions, clef: clef, key: key, time: time) return attributes end
create_by_xml(xml_doc)
click to toggle source
# File lib/musical_score/attribute/attribute.rb, line 39 def self.create_by_xml(xml_doc) divisions = xml_doc.elements["//divisions"].text.to_i clef_doc = xml_doc.elements["//clef"] time_doc = xml_doc.elements["//time"] key_doc = xml_doc.elements["//key"] clef = clef_doc ? MusicalScore::Attribute::Clef.create_by_xml(clef_doc) : nil time = time_doc ? MusicalScore::Attribute::Time.create_by_xml(time_doc) : nil key = key_doc ? MusicalScore::Attribute::Key.create_by_xml(key_doc) : nil attributes = MusicalScore::Attribute::Attribute.new(divisions: divisions, clef: clef, time: time) return attributes end
new( divisions:, clef: MusicalScore::Attribute::Clef.new(:G), key: MusicalScore::Attribute::Key.new(0, :major), time: MusicalScore::Attribute::Time.new(4, 4), instruments: 'Piano', **rest_args )
click to toggle source
# File lib/musical_score/attribute/attribute.rb, line 23 def initialize( divisions:, clef: MusicalScore::Attribute::Clef.new(:G), key: MusicalScore::Attribute::Key.new(0, :major), time: MusicalScore::Attribute::Time.new(4, 4), instruments: 'Piano', **rest_args ) @divisions = divisions @clef = clef @key = key @time = time @instruments = instruments end
Public Instance Methods
export_xml()
click to toggle source
# File lib/musical_score/attribute/attribute.rb, line 64 def export_xml attribute_element = REXML::Element.new('attributes') divisions_element = REXML::Element.new('divisions').add_text(@divisions.to_s) key_element = @key.export_xml time_element = @time.export_xml clef_element = @clef.export_xml attribute_element.add_element(divisions_element) attribute_element.add_element(key_element) attribute_element.add_element(time_element) attribute_element.add_element(clef_element) return attribute_element end