summaryrefslogtreecommitdiff
path: root/muse2/muse/songfile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/songfile.cpp')
-rw-r--r--muse2/muse/songfile.cpp31
1 files changed, 19 insertions, 12 deletions
diff --git a/muse2/muse/songfile.cpp b/muse2/muse/songfile.cpp
index 9678b99b..3958c933 100644
--- a/muse2/muse/songfile.cpp
+++ b/muse2/muse/songfile.cpp
@@ -1028,15 +1028,15 @@ void MusE::readToplevels(Xml& xml)
if(!pl->empty())
{
startPianoroll(pl);
- toplevels.back().cobject()->readStatus(xml);
+ toplevels.back()->readStatus(xml);
pl = new PartList;
}
}
else if (tag == "scoreedit") {
ScoreEdit* score = new ScoreEdit(this, 0, arranger->cursorValue());
score->show();
- toplevels.push_back(Toplevel(Toplevel::SCORE, (unsigned long)(score), score));
- connect(score, SIGNAL(deleted(unsigned long)), SLOT(toplevelDeleted(unsigned long)));
+ toplevels.push_back(score);
+ connect(score, SIGNAL(deleted(TopWin*)), SLOT(toplevelDeleted(TopWin*)));
connect(score, SIGNAL(name_changed()), SLOT(scoreNamingChanged()));
score->readStatus(xml);
}
@@ -1044,7 +1044,7 @@ void MusE::readToplevels(Xml& xml)
if(!pl->empty())
{
startDrumEditor(pl);
- toplevels.back().cobject()->readStatus(xml);
+ toplevels.back()->readStatus(xml);
pl = new PartList;
}
}
@@ -1052,33 +1052,40 @@ void MusE::readToplevels(Xml& xml)
if(!pl->empty())
{
startListEditor(pl);
- toplevels.back().cobject()->readStatus(xml);
+ toplevels.back()->readStatus(xml);
pl = new PartList;
}
}
else if (tag == "master") {
startMasterEditor();
- toplevels.back().cobject()->readStatus(xml);
+ toplevels.back()->readStatus(xml);
}
else if (tag == "lmaster") {
startLMasterEditor();
- toplevels.back().cobject()->readStatus(xml);
+ toplevels.back()->readStatus(xml);
}
else if (tag == "marker") {
showMarker(true);
- toplevels.back().cobject()->readStatus(xml);
+ if (toplevels.back()->type()==TopWin::MARKER)
+ toplevels.back()->readStatus(xml);
+ }
+ else if (tag == "arrangerview") {
+ showArranger(true);
+ if (toplevels.back()->type()==TopWin::ARRANGER)
+ toplevels.back()->readStatus(xml);
}
else if (tag == "waveedit") {
if(!pl->empty())
{
startWaveEditor(pl);
- toplevels.back().cobject()->readStatus(xml);
+ toplevels.back()->readStatus(xml);
pl = new PartList;
}
}
else if (tag == "cliplist") {
startClipList(true);
- toplevels.back().cobject()->readStatus(xml);
+ if (toplevels.back()->type()==TopWin::CLIPLIST)
+ toplevels.back()->readStatus(xml);
}
else
xml.unknown("MusE");
@@ -1299,8 +1306,8 @@ void MusE::write(Xml& xml) const
if (!toplevels.empty()) {
xml.tag(level++, "toplevels");
for (ciToplevel i = toplevels.begin(); i != toplevels.end(); ++i) {
- if (i->cobject()->isVisible())
- i->cobject()->writeStatus(level, xml);
+ if ((*i)->isVisible())
+ (*i)->writeStatus(level, xml);
}
xml.tag(level--, "/toplevels");
}