Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

enhanced 1.2 import

  • Loading branch information...
commit 4a098252fc9c2d9103c1b164eb0ff445aa8a2b50 1 parent 0eb12e9
@wschweer wschweer authored
View
7 Compatibility
@@ -1,9 +1,10 @@
Compatibility with 1.2 scores
-- In 1.2 beams cannot span measures. "Begin Beam" markings are ignored.
- In 2.0 the marking is honored.
+* In 1.2 beams cannot span measures. "Middle Beam" markings are ignored in
+ this case. In 2.0 the marking is honored.
Bug: the current implementation does not handle beams spanning pages.
The resulting layout is undefined.
-
+ (Fixed by replacing "Middle Beam" markings at the beginning of a Measure
+ by "Beam Begin" marking)
View
9 libmscore/beam.cpp
@@ -453,8 +453,7 @@ bool Beam::twoBeamedNotes()
void Beam::layout1()
{
//delete old segments
- foreach(QLineF* i, beamSegments)
- delete i;
+ qDeleteAll(beamSegments);
beamSegments.clear();
maxDuration.setType(TDuration::V_INVALID);
@@ -1728,7 +1727,11 @@ void Beam::layout2(QList<ChordRest*>crl, SpannerSegmentType, int frag)
qreal yo = py1 + bl * _beamDist * _grow1;
qreal ly1 = (x2 - x1) * slope + yo;
qreal ly2 = (x3 - x1) * slope + yo;
- beamSegments.push_back(new QLineF(x2, ly1, x3, ly2));
+ if (!qIsFinite(x2) || !qIsFinite(ly1)
+ || !qIsFinite(x3) || !qIsFinite(ly2))
+ qDebug("bad beam segment");
+ else
+ beamSegments.push_back(new QLineF(x2, ly1, x3, ly2));
--i;
}
}
View
3  libmscore/imageStore.cpp
@@ -153,7 +153,8 @@ ImageStoreItem* ImageStore::getImage(const QString& path) const
if (item->path() == path)
return item;
}
- qDebug("ImageStore::getImage(): bad base name <%s>", qPrintable(s));
+ qDebug("ImageStore::getImage(%s): bad base name <%s>",
+ qPrintable(path), qPrintable(s));
return 0;
}
QByteArray hash(16, 0);
View
34 libmscore/read114.cpp
@@ -354,7 +354,39 @@ bool Score::read114(const QDomElement& de)
spanner.clear();
connectTies();
- searchSelectedElements();
+// searchSelectedElements();
+
+ for(Measure* m = firstMeasure(); m; m = m->nextMeasure()) {
+ int tracks = nstaves() * VOICES;
+ for (int track = 0; track < tracks; ++track) {
+ for (Segment* s = m->first(); s; s = s->next()) {
+ if (s->subtype() != Segment::SegChordRest)
+ continue;
+ ChordRest* cr = static_cast<ChordRest*>(s->element(track));
+ if (cr) {
+ switch(cr->beamMode()) {
+ case BEAM_AUTO:
+ case BEAM_BEGIN:
+ case BEAM_END:
+ case BEAM_NO:
+ break;
+ case BEAM_MID:
+ case BEAM_BEGIN32:
+ case BEAM_BEGIN64:
+ cr->setBeamMode(BEAM_BEGIN);
+ break;
+ case BEAM_INVALID:
+ if (cr->type() == CHORD)
+ cr->setBeamMode(BEAM_AUTO);
+ else
+ cr->setBeamMode(BEAM_NO);
+ break;
+ }
+ break;
+ }
+ }
+ }
+ }
_fileDivision = MScore::division;
View
3  mscore/file.cpp
@@ -1086,8 +1086,7 @@ QString MuseScore::getFotoFilename()
if (myImages.isRelative())
myImages.setFile(QDir::home(), preferences.myImagesPath);
QList<QUrl> urls;
- QString home = QDir::homePath();
- urls.append(QUrl::fromLocalFile(home));
+ urls.append(QUrl::fromLocalFile(QDir::homePath()));
urls.append(QUrl::fromLocalFile(myImages.absoluteFilePath()));
urls.append(QUrl::fromLocalFile(QDir::currentPath()));
Please sign in to comment.
Something went wrong with that request. Please try again.