void Tremolo::write(Xml& xml) const { xml.stag(name()); xml.tag("subtype", subtypeName()); Element::writeProperties(xml); xml.etag(); }
void Trill::write(Xml& xml) const { xml.stag(QString("%1 id=\"%2\"").arg(name()).arg(id())); if (_accidental) _accidental->write(xml); xml.tag("subtype", subtypeName()); SLine::writeProperties(xml); xml.etag(); }
void Dynamic::write(Xml& xml) const { xml.stag("Dynamic"); xml.tag("subtype", subtypeName()); writeProperty(xml, P_VELOCITY); writeProperty(xml, P_DYNAMIC_RANGE); Text::writeProperties(xml, subtype() == 0); xml.etag(); }
void BarLine::write(Xml& xml) const { xml.stag("BarLine"); xml.tag("subtype", subtypeName()); xml.tag("span", _span); foreach(const Element* e, _el) e->write(xml); Element::writeProperties(xml); xml.etag(); }
void Dynamic::write(Xml& xml) const { xml.stag("Dynamic"); xml.tag("subtype", subtypeName()); if (_velocity > 0) xml.tag("velocity", _velocity); if (_dynType != DYNAMIC_PART) xml.tag("dynType", _dynType); Text::writeProperties(xml, subtype() == 0); xml.etag(); }
void Articulation::write(Xml& xml) const { xml.stag("Articulation"); if (!_channelName.isEmpty()) xml.tagE(QString("channel name=\"%1\"").arg(_channelName)); writeProperty(xml, P_DIRECTION); xml.tag("subtype", subtypeName()); if (_timeStretch != 1.0) xml.tag("timeStretch", _timeStretch); Element::writeProperties(xml); if (anchorStyle == PropertyStyle::UNSTYLED) xml.tag("anchor", int(_anchor)); xml.etag(); }
void Articulation::write(Xml& xml) const { if (!xml.canWrite(this)) return; xml.stag("Articulation"); if (!_channelName.isEmpty()) xml.tagE(QString("channel name=\"%1\"").arg(_channelName)); writeProperty(xml, P_ID::DIRECTION); xml.tag("subtype", subtypeName()); if (_timeStretch != 1.0) xml.tag("timeStretch", _timeStretch); writeProperty(xml, P_ID::PLAY_ARTICULATION); writeProperty(xml, P_ID::ORNAMENT_STYLE); Element::writeProperties(xml); if (anchorStyle == PropertyStyle::UNSTYLED) xml.tag("anchor", int(_anchor)); xml.etag(); }
void Articulation::write(Xml& xml) const { xml.stag("Articulation"); if (!_channelName.isEmpty()) xml.tagE(QString("channel name=\"%1\"").arg(_channelName)); switch(_direction) { case MScore::UP: xml.tag("direction", QVariant("up")); break; case MScore::DOWN: xml.tag("direction", QVariant("down")); break; case MScore::AUTO: break; } xml.tag("subtype", subtypeName()); Element::writeProperties(xml); if (_anchor != score()->style()->articulationAnchor(subtype())) xml.tag("anchor", int(_anchor)); xml.etag(); }
void BarLine::write(Xml& xml) const { xml.stag("BarLine"); xml.tag("subtype", subtypeName()); if(customSubtype()) xml.tag("customSubtype", _customSubtype); // if any span value is different from staff's, output all values if ( (staff() && ( _span != staff()->barLineSpan() || _spanFrom != staff()->barLineFrom() || _spanTo != staff()->barLineTo() ) ) || !staff()) // (palette bar lines have no staff: output all values) xml.tag(QString("span from=\"%1\" to=\"%2\"").arg(_spanFrom).arg(_spanTo), _span); // if no custom value, output _span only (as in previous code) else xml.tag("span", _span); foreach(const Element* e, _el) e->write(xml); Element::writeProperties(xml); xml.etag(); }
QString Tremolo::accessibleInfo() const { return QString("%1: %2").arg(Element::accessibleInfo()).arg(subtypeName()); }