QString Fingering::subtypeName() const { return subStyleName(subStyle()); }
void XmlWriter::tag(P_ID id, QVariant data, QVariant defaultData) { if (data == defaultData) return; const char* name = propertyName(id); if (name == 0) return; switch (propertyType(id)) { case P_TYPE::BOOL: case P_TYPE::SUBTYPE: case P_TYPE::INT: case P_TYPE::ZERO_INT: case P_TYPE::SPATIUM: case P_TYPE::SP_REAL: case P_TYPE::REAL: case P_TYPE::SCALE: case P_TYPE::POINT: case P_TYPE::SIZE: case P_TYPE::COLOR: case P_TYPE::DIRECTION: case P_TYPE::STRING: case P_TYPE::FONT: case P_TYPE::ALIGN: tag(name, data); break; case P_TYPE::ORNAMENT_STYLE: switch (MScore::OrnamentStyle(data.toInt())) { case MScore::OrnamentStyle::BAROQUE: tag(name, QVariant("baroque")); break; default: // tag(name, QVariant("default")); break; } break; case P_TYPE::GLISSANDO_STYLE: switch (MScore::GlissandoStyle(data.toInt())) { case MScore::GlissandoStyle::BLACK_KEYS: tag(name, QVariant("blackkeys")); break; case MScore::GlissandoStyle::WHITE_KEYS: tag(name, QVariant("whitekeys")); break; case MScore::GlissandoStyle::DIATONIC: tag(name, QVariant("diatonic")); break; default: //tag(name, QVariant("Chromatic")); break; } break; case P_TYPE::DIRECTION_H: switch (MScore::DirectionH(data.toInt())) { case MScore::DirectionH::LEFT: tag(name, QVariant("left")); break; case MScore::DirectionH::RIGHT: tag(name, QVariant("right")); break; case MScore::DirectionH::AUTO: break; } break; case P_TYPE::LAYOUT_BREAK: switch (LayoutBreak::Type(data.toInt())) { case LayoutBreak::LINE: tag(name, QVariant("line")); break; case LayoutBreak::PAGE: tag(name, QVariant("page")); break; case LayoutBreak::SECTION: tag(name, QVariant("section")); break; case LayoutBreak::NOBREAK: tag(name, QVariant("nobreak")); break; } break; case P_TYPE::VALUE_TYPE: switch (Note::ValueType(data.toInt())) { case Note::ValueType::OFFSET_VAL: tag(name, QVariant("offset")); break; case Note::ValueType::USER_VAL: tag(name, QVariant("user")); break; } break; case P_TYPE::PLACEMENT: switch (Element::Placement(data.toInt())) { case Element::Placement::ABOVE: tag(name, QVariant("above")); break; case Element::Placement::BELOW: tag(name, QVariant("below")); break; } break; case P_TYPE::SYMID: tag(name, Sym::id2name(SymId(data.toInt()))); break; case P_TYPE::BARLINE_TYPE: tag(name, BarLine::barLineTypeName(BarLineType(data.toInt()))); break; case P_TYPE::HEAD_GROUP: tag(name, NoteHead::group2name(NoteHead::Group(data.toInt()))); break; case P_TYPE::HEAD_TYPE: tag(name, NoteHead::type2name(NoteHead::Type(data.toInt()))); break; case P_TYPE::SUB_STYLE: tag(name, subStyleName(SubStyle(data.toInt()))); break; default: Q_ASSERT(false); } }