Skip to content

Commit 404dbab

Browse files
committed
Updated PR to add support to regression scenarios
This PR still has an scenario to deal with (testTuplets5.xml). A thread has been opened within this PR to determine how to deal with it
1 parent cfc1a11 commit 404dbab

File tree

4 files changed

+290
-170
lines changed

4 files changed

+290
-170
lines changed

src/importexport/musicxml/internal/musicxml/import/importmusicxmlpass1.cpp

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2892,7 +2892,6 @@ void MusicXmlParserPass1::measure(const String& partId,
28922892

28932893
// delete tuplets
28942894
nesTuplets.clear();
2895-
28962895
addError(checkAtEndElement(m_e, u"measure"));
28972896
}
28982897

@@ -3330,6 +3329,10 @@ void MusicXmlParserPass1::notations(MusicXmlStartStop& tupletStartStop, unsigned
33303329
tupletsTimeMod.clear();
33313330

33323331
while (m_e.readNextStartElement()) {
3332+
if (m_e.isStartElement()) {
3333+
}
3334+
if (m_e.isEndElement()) {
3335+
}
33333336
if (m_e.name() == "tuplet") {
33343337
String tupletType = m_e.attribute("type");
33353338

@@ -3545,31 +3548,30 @@ void MusicXmlParserPass1::note(const String& partId,
35453548

35463549
if (tupletStartStop == MusicXmlStartStop::START) {
35473550
unsigned int tupletDepth = nestedTupletState.currentTupletDepth();
3548-
Fraction realTimeMod;
3551+
Fraction currentTupletTimeMod;
35493552

35503553
for (unsigned int i = 1; i <= numberOfStartsOrStops; ++i) {
35513554
++tupletDepth;
35523555
nesTuplets[voice][tupletDepth] = tupletsTimeMod[i];
3553-
realTimeMod = nesTuplets[voice][tupletDepth];
3554-
3555-
nestedTupletState.determineTupletAction(mnd.duration(), realTimeMod, tupletStartStop,
3556+
currentTupletTimeMod = nesTuplets[voice][tupletDepth];
3557+
nestedTupletState.determineTupletAction(mnd.duration(), mnd.timeMod(), currentTupletTimeMod, tupletStartStop,
35563558
mnd.normalType(), missingPrev, missingCurr);
35573559
}
35583560
} else if (tupletStartStop == MusicXmlStartStop::STOP) {
35593561
unsigned int tupletDepth;
3560-
Fraction realTimeMod;
3562+
Fraction currentTupletTimeMod;
35613563

35623564
for (unsigned int i = numberOfStartsOrStops; i > 0; --i) {
35633565
tupletDepth = nestedTupletState.currentTupletDepth();
3564-
realTimeMod = nesTuplets[voice][tupletDepth];
3565-
nestedTupletState.determineTupletAction(mnd.duration(), realTimeMod, tupletStartStop,
3566+
currentTupletTimeMod = nesTuplets[voice][tupletDepth];
3567+
nestedTupletState.determineTupletAction(mnd.duration(), mnd.timeMod(), currentTupletTimeMod, tupletStartStop,
35663568
mnd.normalType(), missingPrev, missingCurr);
35673569
}
35683570
} else {
35693571
unsigned int tupletDepth = nestedTupletState.currentTupletDepth();
3570-
Fraction realTimeMod = nesTuplets[voice][tupletDepth];
3571-
nestedTupletState.determineTupletAction(mnd.duration(), realTimeMod, tupletStartStop, mnd.normalType(), missingPrev,
3572-
missingCurr);
3572+
Fraction currentTupletTimeMod = nesTuplets[voice][tupletDepth];
3573+
nestedTupletState.determineTupletAction(mnd.duration(), mnd.timeMod(), currentTupletTimeMod, tupletStartStop,
3574+
mnd.normalType(), missingPrev, missingCurr);
35733575
}
35743576
}
35753577

0 commit comments

Comments
 (0)