Skip to content

Commit 2a3d427

Browse files
committed
Refactor: move 1.x excerpt reading code into read114
1 parent 5a22a52 commit 2a3d427

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
@@ -1328,26 +1328,6 @@ void TRead::read(FiguredBassItem* i, XmlReader& e, ReadContext& ctx)
13281328
}
13291329
}
13301330

1331-
void TRead::read(Excerpt* item, XmlReader& e, ReadContext&)
1332-
{
1333-
const std::vector<Part*>& pl = item->masterScore()->parts();
1334-
std::vector<Part*> parts;
1335-
while (e.readNextStartElement()) {
1336-
const AsciiStringView tag = e.name();
1337-
if (tag == "name" || tag == "title") {
1338-
item->setName(e.readText().trimmed());
1339-
} else if (tag == "part") {
1340-
size_t partIdx = static_cast<size_t>(e.readInt());
1341-
if (partIdx >= pl.size()) {
1342-
LOGD("Excerpt::read: bad part index");
1343-
} else {
1344-
parts.push_back(pl.at(partIdx));
1345-
}
1346-
}
1347-
}
1348-
item->setParts(parts);
1349-
}
1350-
13511331
void TRead::read(Fermata* f, XmlReader& e, ReadContext& ctx)
13521332
{
13531333
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)