Skip to content

Commit 50a5ad0

Browse files
committed
Refactor: move 1.x excerpt reading code into read114
1 parent 549e11c commit 50a5ad0

File tree

4 files changed

+27
-24
lines changed

4 files changed

+27
-24
lines changed

src/engraving/rw/read114/read114.cpp

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2916,7 +2916,7 @@ muse::Ret Read114::readScoreFile(Score* score, XmlReader& e, ReadInOutData* out)
29162916
}
29172917
} else if (tag == "Excerpt") {
29182918
Excerpt* ex = new Excerpt(masterScore);
2919-
read400::TRead::read(ex, e, ctx);
2919+
readExcerpt(ex, e, ctx);
29202920
masterScore->m_excerpts.push_back(ex);
29212921
} else if (tag == "Beam") {
29222922
Beam* beam = Factory::createBeam(masterScore->dummy()->system());
@@ -3176,6 +3176,26 @@ muse::Ret Read114::readScoreFile(Score* score, XmlReader& e, ReadInOutData* out)
31763176
return muse::make_ok();
31773177
}
31783178

3179+
void Read114::readExcerpt(Excerpt* item, XmlReader& e, ReadContext&)
3180+
{
3181+
const std::vector<Part*>& pl = item->masterScore()->parts();
3182+
std::vector<Part*> parts;
3183+
while (e.readNextStartElement()) {
3184+
const AsciiStringView tag = e.name();
3185+
if (tag == "name" || tag == "title") {
3186+
item->setName(e.readText().trimmed());
3187+
} else if (tag == "part") {
3188+
size_t partIdx = static_cast<size_t>(e.readInt());
3189+
if (partIdx >= pl.size()) {
3190+
LOGD("Excerpt::read: bad part index");
3191+
} else {
3192+
parts.push_back(pl.at(partIdx));
3193+
}
3194+
}
3195+
}
3196+
item->setParts(parts);
3197+
}
3198+
31793199
bool Read114::pasteStaff(XmlReader&, Segment*, staff_idx_t, Fraction)
31803200
{
31813201
UNREACHABLE;

src/engraving/rw/read114/read114.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424

2525
#include "../ireader.h"
2626

27+
namespace mu::engraving {
28+
class Excerpt;
29+
}
30+
2731
namespace mu::engraving::read400 {
2832
class ReadContext;
2933
}
@@ -47,5 +51,7 @@ class Read114 : public rw::IReader
4751

4852
private:
4953
void doReadItem(EngravingItem* item, XmlReader& xml) override;
54+
55+
void readExcerpt(Excerpt* ex, XmlReader& e, read400::ReadContext& ctx);
5056
};
5157
}

src/engraving/rw/read400/tread.cpp

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1335,26 +1335,6 @@ void TRead::read(FiguredBassItem* i, XmlReader& e, ReadContext& ctx)
13351335
}
13361336
}
13371337

1338-
void TRead::read(Excerpt* item, XmlReader& e, ReadContext&)
1339-
{
1340-
const std::vector<Part*>& pl = item->masterScore()->parts();
1341-
std::vector<Part*> parts;
1342-
while (e.readNextStartElement()) {
1343-
const AsciiStringView tag = e.name();
1344-
if (tag == "name" || tag == "title") {
1345-
item->setName(e.readText().trimmed());
1346-
} else if (tag == "part") {
1347-
size_t partIdx = static_cast<size_t>(e.readInt());
1348-
if (partIdx >= pl.size()) {
1349-
LOGD("Excerpt::read: bad part index");
1350-
} else {
1351-
parts.push_back(pl.at(partIdx));
1352-
}
1353-
}
1354-
}
1355-
item->setParts(parts);
1356-
}
1357-
13581338
void TRead::read(Fermata* f, XmlReader& e, ReadContext& ctx)
13591339
{
13601340
while (e.readNextStartElement()) {

src/engraving/rw/read400/tread.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,6 @@ class ChordRest;
6565
class ChordLine;
6666
class Clef;
6767

68-
class Excerpt;
69-
7068
class FiguredBass;
7169
class FiguredBassItem;
7270
class Fingering;
@@ -208,7 +206,6 @@ class TRead
208206
static void read(ChordLine* l, XmlReader& xml, ReadContext& ctx);
209207
static void read(Clef* c, XmlReader& xml, ReadContext& ctx);
210208

211-
static void read(Excerpt* item, XmlReader& xml, ReadContext& ctx);
212209
static void read(Expression* item, XmlReader& xml, ReadContext& ctx);
213210

214211
static void read(Fermata* f, XmlReader& xml, ReadContext& ctx);

0 commit comments

Comments
 (0)