@@ -3307,7 +3307,6 @@ void MusicXMLParserDirection::direction(const QString& partId,
33073307 else
33083308 skipLogCurrElem ();
33093309 }
3310- handleTempo ();
33113310 handleRepeats (measure, track, tick + _offset);
33123311 handleNmiCmi (measure, track, tick + _offset, delayedDirections);
33133312 handleChordSym (track, tick + _offset, harmonyMap);
@@ -3648,14 +3647,17 @@ void MusicXMLParserDirection::directionType(QList<MusicXmlSpannerDesc>& starts,
36483647 if (_e.name () == " metronome" )
36493648 _metroText = metronome (_tpoMetro);
36503649 else if (_e.name () == " words" ) {
3651- _enclosure = _e.attributes ().value (" enclosure" ).toString ();
3650+ _enclosure = _e.attributes ().value (" enclosure" ).toString ();
3651+ _fontFamily = _e.attributes ().value (" font-family" ).toString ();
36523652 QString nextPart = nextPartOfFormattedString (_e);
3653+
36533654 textToDynamic (nextPart);
36543655 textToCrescLine (nextPart);
3656+ handleTempo (nextPart);
36553657 _wordsText += nextPart;
36563658 }
36573659 else if (_e.name () == " rehearsal" ) {
3658- _enclosure = _e.attributes ().value (" enclosure" ).toString ();
3660+ _enclosure = _e.attributes ().value (" enclosure" ).toString ();
36593661 if (_enclosure.isEmpty ())
36603662 _enclosure = " square" ; // note different default
36613663 _rehearsalText += nextPartOfFormattedString (_e);
@@ -4429,7 +4431,7 @@ void MusicXMLParserDirection::handleChordSym(const int track, const Fraction tic
44294431 _wordsText.clear ();
44304432 }
44314433
4432- void MusicXMLParserDirection::handleTempo ()
4434+ void MusicXMLParserDirection::handleTempo (QString& wordsString )
44334435 {
44344436 // Pick up any tempo markings which may have been exported from Sibelius as <words>
44354437 // eg. andante (q = c. 90)
0 commit comments