diff --git a/src/engraving/libmscore/ornament.cpp b/src/engraving/libmscore/ornament.cpp index df702921a2206..a88816da02c53 100644 --- a/src/engraving/libmscore/ornament.cpp +++ b/src/engraving/libmscore/ornament.cpp @@ -36,8 +36,8 @@ namespace mu::engraving { Ornament::Ornament(ChordRest* parent) : Articulation(parent, ElementType::ORNAMENT) { - _intervalAbove = OrnamentInterval(IntervalStep::SECOND, IntervalType::AUTO); - _intervalBelow = OrnamentInterval(IntervalStep::SECOND, IntervalType::AUTO); + _intervalAbove = DEFAULT_ORNAMENT_INTERVAL; + _intervalBelow = DEFAULT_ORNAMENT_INTERVAL; _showAccidental = OrnamentShowAccidental::DEFAULT; _startOnUpperNote = false; } @@ -149,7 +149,7 @@ PropertyValue Ornament::propertyDefault(Pid id) const switch (id) { case Pid::INTERVAL_ABOVE: case Pid::INTERVAL_BELOW: - return OrnamentInterval(IntervalStep::SECOND, IntervalType::AUTO); + return DEFAULT_ORNAMENT_INTERVAL; case Pid::ORNAMENT_SHOW_ACCIDENTAL: return OrnamentShowAccidental::DEFAULT; case Pid::START_ON_UPPER_NOTE: diff --git a/src/engraving/playback/renderers/ornamentsrenderer.cpp b/src/engraving/playback/renderers/ornamentsrenderer.cpp index bbe044c66e3c6..3ce3792788021 100644 --- a/src/engraving/playback/renderers/ornamentsrenderer.cpp +++ b/src/engraving/playback/renderers/ornamentsrenderer.cpp @@ -310,6 +310,8 @@ void OrnamentsRenderer::doRender(const EngravingItem* item, const ArticulationTy IntervalsInfo intervalsInfo; if (const Ornament* ornament = chord->findOrnament()) { intervalsInfo = makeIntervalsInfo(ornament->intervalBelow(), ornament->intervalAbove()); + } else { + intervalsInfo = makeIntervalsInfo(DEFAULT_ORNAMENT_INTERVAL, DEFAULT_ORNAMENT_INTERVAL); } const DisclosurePattern& nominalPattern = search->second; diff --git a/src/engraving/rw/read400/tread.cpp b/src/engraving/rw/read400/tread.cpp index 2717fc78786fc..c5650deab2f89 100644 --- a/src/engraving/rw/read400/tread.cpp +++ b/src/engraving/rw/read400/tread.cpp @@ -209,7 +209,7 @@ PropertyValue TRead::readPropertyValue(Pid id, XmlReader& e, ReadContext& ctx) case P_TYPE::ORNAMENT_STYLE: return PropertyValue::fromValue(TConv::fromXml(e.readAsciiText(), OrnamentStyle::DEFAULT)); case P_TYPE::ORNAMENT_INTERVAL: - return PropertyValue(TConv::fromXml(e.readText(), OrnamentInterval())); + return PropertyValue(TConv::fromXml(e.readText(), DEFAULT_ORNAMENT_INTERVAL)); case P_TYPE::POINT: return PropertyValue::fromValue(e.readPoint()); case P_TYPE::SCALE: diff --git a/src/engraving/rw/read410/tread.cpp b/src/engraving/rw/read410/tread.cpp index c1006ad7d9bdb..290e3a574340a 100644 --- a/src/engraving/rw/read410/tread.cpp +++ b/src/engraving/rw/read410/tread.cpp @@ -210,7 +210,7 @@ PropertyValue TRead::readPropertyValue(Pid id, XmlReader& e, ReadContext& ctx) case P_TYPE::ORNAMENT_STYLE: return PropertyValue::fromValue(TConv::fromXml(e.readAsciiText(), OrnamentStyle::DEFAULT)); case P_TYPE::ORNAMENT_INTERVAL: - return PropertyValue(TConv::fromXml(e.readText(), OrnamentInterval())); + return PropertyValue(TConv::fromXml(e.readText(), DEFAULT_ORNAMENT_INTERVAL)); case P_TYPE::POINT: return PropertyValue::fromValue(e.readPoint()); case P_TYPE::SCALE: diff --git a/src/engraving/types/types.h b/src/engraving/types/types.h index a0cd6d2b1187d..fa912a837fb2f 100644 --- a/src/engraving/types/types.h +++ b/src/engraving/types/types.h @@ -669,6 +669,8 @@ struct OrnamentInterval } }; +static const OrnamentInterval DEFAULT_ORNAMENT_INTERVAL = OrnamentInterval(IntervalStep::SECOND, IntervalType::AUTO); + enum class OrnamentShowAccidental { DEFAULT, ANY_ALTERATION,