Skip to content

Commit

Permalink
add score ptr to XmlReader and Xml
Browse files Browse the repository at this point in the history
  • Loading branch information
wschweer committed Nov 19, 2016
1 parent 0e8e00f commit bb7d535
Show file tree
Hide file tree
Showing 42 changed files with 177 additions and 145 deletions.
4 changes: 2 additions & 2 deletions libmscore/chordlist.cpp
Expand Up @@ -1721,7 +1721,7 @@ bool ChordList::read(const QString& name)
qDebug("ChordList::read failed: <%s>", qPrintable(path));
return false;
}
XmlReader e(&f);
XmlReader e(0, &f);
docName = f.fileName();

while (e.readNextStartElement()) {
Expand Down Expand Up @@ -1757,7 +1757,7 @@ bool ChordList::write(const QString& name) const
return false;
}

Xml xml(&f);
Xml xml(0, &f);
xml.header();
xml.stag("museScore version=\"" MSC_VERSION "\"");

Expand Down
6 changes: 3 additions & 3 deletions libmscore/chordrest.cpp
Expand Up @@ -214,8 +214,8 @@ void ChordRest::writeProperties(Xml& xml) const
if (!isGrace()) {
Fraction t(globalDuration());
if (staff())
t /= staff()->timeStretch(xml.curTick);
xml.curTick += t.ticks();
t /= staff()->timeStretch(xml.curTick());
xml.incCurTick(t.ticks());
}
for (auto i : score()->spanner()) { // TODO: dont search whole list
Spanner* s = i.second;
Expand Down Expand Up @@ -1248,7 +1248,7 @@ void ChordRest::writeBeam(Xml& xml)
{
Beam* b = beam();
if (b && b->elements().front() == this && (MScore::testMode || !b->generated())) {
b->setId(xml.beamId++);
b->setId(xml.nextBeamId());
b->write(xml);
}
}
Expand Down
2 changes: 1 addition & 1 deletion libmscore/cmd.cpp
Expand Up @@ -2713,7 +2713,7 @@ void Score::cmdExplode()
int track = (srcStaff + i) * VOICES;
ChordRest* cr = toChordRest(firstCRSegment->element(track));
if (cr) {
XmlReader e(srcSelection.mimeData());
XmlReader e(this, srcSelection.mimeData());
e.setPasteMode(true);
if (pasteStaff(e, cr->segment(), cr->staffIdx()) != PasteState::PS_NO_ERROR)
qDebug("explode: paste failed");
Expand Down
2 changes: 1 addition & 1 deletion libmscore/duration.cpp
Expand Up @@ -127,7 +127,7 @@ void DurationElement::writeTuplet(Xml& xml)
{
if (tuplet() && tuplet()->elements().front() == this) {
tuplet()->writeTuplet(xml); // recursion
tuplet()->setId(xml.tupletId++);
tuplet()->setId(xml.nextTupletId());
tuplet()->write(xml);
}
}
Expand Down
12 changes: 6 additions & 6 deletions libmscore/element.cpp
Expand Up @@ -652,7 +652,7 @@ bool Element::intersects(const QRectF& rr) const
void Element::writeProperties(Xml& xml) const
{
// copy paste should not keep links
if (_links && (_links->size() > 1) && !xml.clipboardmode)
if (_links && (_links->size() > 1) && !xml.clipboardmode())
xml.tag("lid", _links->lid());
if (!autoplace() && !userOff().isNull()) {
if (isVoltaSegment()
Expand All @@ -661,14 +661,14 @@ void Element::writeProperties(Xml& xml) const
|| isRehearsalMark()
|| isDynamic()
|| isSystemDivider()
|| (xml.clipboardmode && isSLineSegment()))
|| (xml.clipboardmode() && isSLineSegment()))
xml.tag("offset", userOff() / spatium());
else
xml.tag("pos", pos() / score()->spatium());
}
if (((track() != xml.curTrack) || (type() == Element::Type::SLUR)) && (track() != -1)) {
if (((track() != xml.curTrack()) || (type() == Element::Type::SLUR)) && (track() != -1)) {
int t;
t = track() + xml.trackDiff;
t = track() + xml.trackDiff();
xml.tag("track", t);
}
if (_tag != 0x1) {
Expand Down Expand Up @@ -1151,8 +1151,8 @@ QByteArray Element::mimeData(const QPointF& dragOffset) const
{
QBuffer buffer;
buffer.open(QIODevice::WriteOnly);
Xml xml(&buffer);
xml.clipboardmode = true;
Xml xml(score(), &buffer);
xml.setClipboardmode(true);
xml.stag("Element");
if (isNote())
xml.tag("duration", toNote(this)->chord()->duration());
Expand Down
2 changes: 1 addition & 1 deletion libmscore/figuredbass.cpp
Expand Up @@ -1582,7 +1582,7 @@ bool FiguredBass::readConfigFile(const QString& fileName)
qDebug("FiguredBass::read failed: <%s>", qPrintable(path));
return false;
}
XmlReader e(&f);
XmlReader e(0, &f);
while (e.readNextStartElement()) {
if (e.name() == "museScore") {
// QString version = e.attribute(QString("version"));
Expand Down
2 changes: 1 addition & 1 deletion libmscore/harmony.cpp
Expand Up @@ -203,7 +203,7 @@ void Harmony::write(Xml& xml) const
Segment* segment = static_cast<Segment*>(parent());
int tick = segment ? segment->tick() : -1;
const Interval& interval = part()->instrument(tick)->transpose();
if (xml.clipboardmode && !score()->styleB(StyleIdx::concertPitch) && interval.chromatic) {
if (xml.clipboardmode() && !score()->styleB(StyleIdx::concertPitch) && interval.chromatic) {
rRootTpc = transposeTpc(_rootTpc, interval, true);
rBaseTpc = transposeTpc(_baseTpc, interval, true);
}
Expand Down
6 changes: 3 additions & 3 deletions libmscore/instrtemplate.cpp
Expand Up @@ -545,7 +545,7 @@ bool saveInstrumentTemplates(const QString& instrTemplates)
qDebug("cannot save instrument templates at <%s>", qPrintable(instrTemplates));
return false;
}
Xml xml(&qf);
Xml xml(0, &qf);
xml << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
xml.stag("museScore");
foreach(const InstrumentGenre* genre, instrumentGenres)
Expand Down Expand Up @@ -582,7 +582,7 @@ bool saveInstrumentTemplates1(const QString& instrTemplates)
qDebug("cannot save instrument templates at <%s>", qPrintable(instrTemplates));
return false;
}
Xml xml(&qf);
Xml xml(0, &qf);
xml << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
xml.stag("museScore");
foreach(const InstrumentGenre* genre, instrumentGenres)
Expand Down Expand Up @@ -614,7 +614,7 @@ bool loadInstrumentTemplates(const QString& instrTemplates)
return false;
}

XmlReader e(&qf);
XmlReader e(0, &qf);
while (e.readNextStartElement()) {
if (e.name() == "museScore") {
while (e.readNextStartElement()) {
Expand Down
2 changes: 1 addition & 1 deletion libmscore/measure.cpp
Expand Up @@ -1610,7 +1610,7 @@ void Measure::write(Xml& xml, int staff, bool writeSystemElements) const
else
xml.stag(QString("Measure number=\"%1\"").arg(mno));

xml.curTick = tick();
xml.setCurTick(tick());

if (_mmRestCount > 0)
xml.tag("multiMeasureRest", _mmRestCount);
Expand Down
6 changes: 3 additions & 3 deletions libmscore/paste.cpp
Expand Up @@ -832,7 +832,7 @@ PasteState Score::cmdPaste(const QMimeData* ms, MuseScoreView* view)
}
if ((_selection.isSingle() || _selection.isList()) && ms->hasFormat(mimeSymbolFormat)) {
QByteArray data(ms->data(mimeSymbolFormat));
XmlReader e(data);
XmlReader e(this, data);
QPointF dragOffset;
Fraction duration(1, 4);
Element::Type type = Element::readType(e, &dragOffset, &duration);
Expand Down Expand Up @@ -890,7 +890,7 @@ PasteState Score::cmdPaste(const QMimeData* ms, MuseScoreView* view)
QByteArray data(ms->data(mimeStaffListFormat));
if (MScore::debugMode)
qDebug("paste <%s>", data.data());
XmlReader e(data);
XmlReader e(this, data);
e.setPasteMode(true);
PasteState ps = pasteStaff(e, cr->segment(), cr->staffIdx());
if (ps != PasteState::PS_NO_ERROR) {
Expand Down Expand Up @@ -921,7 +921,7 @@ PasteState Score::cmdPaste(const QMimeData* ms, MuseScoreView* view)
QByteArray data(ms->data(mimeSymbolListFormat));
if (MScore::debugMode)
qDebug("paste <%s>", data.data());
XmlReader e(data);
XmlReader e(this, data);
pasteSymbols(e, cr);
}
}
Expand Down
4 changes: 2 additions & 2 deletions libmscore/score.cpp
Expand Up @@ -1812,7 +1812,7 @@ MasterScore* MasterScore::clone()
{
QBuffer buffer;
buffer.open(QIODevice::WriteOnly);
Xml xml(&buffer);
Xml xml(this, &buffer);
xml.header();

xml.stag("museScore version=\"" MSC_VERSION "\"");
Expand All @@ -1821,7 +1821,7 @@ MasterScore* MasterScore::clone()

buffer.close();

XmlReader r(buffer.buffer());
XmlReader r(this, buffer.buffer());
MasterScore* score = new MasterScore(style());
score->read1(r, true);

Expand Down

0 comments on commit bb7d535

Please sign in to comment.