summaryrefslogtreecommitdiff
path: root/muse2
diff options
context:
space:
mode:
Diffstat (limited to 'muse2')
-rw-r--r--muse2/muse/track.cpp7
-rw-r--r--muse2/muse/wavetrack.cpp6
2 files changed, 9 insertions, 4 deletions
diff --git a/muse2/muse/track.cpp b/muse2/muse/track.cpp
index 98935315..8d30fccb 100644
--- a/muse2/muse/track.cpp
+++ b/muse2/muse/track.cpp
@@ -902,7 +902,7 @@ void MidiTrack::read(Xml& xml)
switch (token) {
case Xml::Error:
case Xml::End:
- return;
+ goto out_of_MidiTrackRead_forloop;
case Xml::TagStart:
if (tag == "transposition")
transposition = xml.parseInt();
@@ -989,12 +989,15 @@ void MidiTrack::read(Xml& xml)
if (tag == "miditrack" || tag == "drumtrack" || tag == "newdrumtrack")
{
setInPortAndChannelMask(portmask, chanmask); // Support old files.
- return;
+ goto out_of_MidiTrackRead_forloop;
}
default:
break;
}
}
+
+out_of_MidiTrackRead_forloop:
+ chainTrackParts(this);
}
void MidiTrack::readOurDrumSettings(Xml& xml)
diff --git a/muse2/muse/wavetrack.cpp b/muse2/muse/wavetrack.cpp
index 41beeb97..f21992a6 100644
--- a/muse2/muse/wavetrack.cpp
+++ b/muse2/muse/wavetrack.cpp
@@ -184,7 +184,7 @@ void WaveTrack::read(Xml& xml)
switch (token) {
case Xml::Error:
case Xml::End:
- return;
+ goto out_of_WaveTrackRead_forloop;
case Xml::TagStart:
if (tag == "part") {
Part* p = 0;
@@ -200,12 +200,14 @@ void WaveTrack::read(Xml& xml)
case Xml::TagEnd:
if (tag == "wavetrack") {
mapRackPluginsToControllers();
- return;
+ goto out_of_WaveTrackRead_forloop;
}
default:
break;
}
}
+out_of_WaveTrackRead_forloop:
+ chainTrackParts(this);
}
//---------------------------------------------------------