class MusicalScore::Note::Notation::Notation
Attributes
articulation[RW]
dynamics[RW]
tie[RW]
tuplet[RW]
Public Class Methods
create_by_hash(doc)
click to toggle source
# File lib/musical_score/note/notation/notation.rb, line 84 def self.create_by_hash(doc) articulation = doc.has_key?("articulations") ? doc["articulations"][0].keys[0].to_sym : nil dynamics = doc.has_key?("dynamics") ? doc["dynamics"][0].keys[0].to_sym : nil tie_arg = doc.has_key?("tied") ? doc.dig("tied", 0, "type").to_sym : nil tie = tie_arg ? MusicalScore::Note::Notation::Tie.new(tie_arg) : nil tuplet_arg = doc.has_key?("tuplet") ? doc.dig("tuplet", 0, "type").to_sym : nil tuplet = tuplet_arg ? MusicalScore::Note::Notation::Tuplet.new(tuplet_arg) : nil return MusicalScore::Note::Notation::Notation.new(articulation: articulation, dynamics: dynamics, tie: tie, tuplet: tuplet) end
create_by_xml(xml_doc)
click to toggle source
# File lib/musical_score/note/notation/notation.rb, line 73 def self.create_by_xml(xml_doc) articulation = xml_doc.elements["articulations"] ? xml_doc.elements["articulations"].elements[1].name.to_sym : nil dynamics = xml_doc.elements["dynamics"] ? xml_doc.elements["dynamics"].elements[1].name.to_sym : nil tie_arg = xml_doc.elements["tied"] ? xml_doc.elements["tied"].attributes["type"].to_sym : nil tie = tie_arg ? MusicalScore::Note::Notation::Tie.new(tie_arg) : nil tuplet_arg = xml_doc.elements["tuplet"] ? xml_doc.elements["tuplet"].attributes["type"].to_sym : nil tuplet = tuplet_arg ? MusicalScore::Note::Notation::Tuplet.new(tuplet_arg) : nil return MusicalScore::Note::Notation::Notation.new(articulation: articulation, dynamics: dynamics, tie: tie, tuplet: tuplet) end
new( articulation: nil, dynamics: nil, tie: nil, tuplet: nil, **rest_args )
click to toggle source
# File lib/musical_score/note/notation/notation.rb, line 59 def initialize( articulation: nil, dynamics: nil, tie: nil, tuplet: nil, **rest_args ) @articulation = articulation @dynamics = dynamics @tie = tie @tuplet = tuplet end
Public Instance Methods
export_xml()
click to toggle source
# File lib/musical_score/note/notation/notation.rb, line 94 def export_xml notations_element = REXML::Element.new('notations') articulation_element = REXML::Element.new('articulations') dynamics_element = REXML::Element.new('dynamics') if (@articulation) articulation_element.add_element(REXML::Element.new(@articulation.to_s)) notations_element.add_element(articulation_element) end if (@dynamics) dynamics_element.add_element(REXML::Element.new(@dynamics.to_s)) notations_element.add_element(dynamics_element) end notations_element.add_element(@tie.export_xml) if @tie notations_element.add_element(@tuplet.export_xml) if @tuplet return notations_element end