diff options
Diffstat (limited to 'muse2/muse/songfile.cpp')
-rw-r--r-- | muse2/muse/songfile.cpp | 31 |
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"); } |