Merge pull request #6758 from mirabilos/3.x-catchup-ms4

[MU3→4] Parnassus; indicate pitch, on/off time; debugging
This commit is contained in:
pereverzev+v 2020-11-19 22:41:24 +02:00 committed by GitHub
commit ef224872b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 8193 additions and 11152 deletions

View file

@ -1,6 +1,6 @@
{
"fontName": "Emmentaler",
"fontVersion": 0.1,
"fontVersion": 2.002,
"engravingDefaults": {
"arrowShaftThickness": 0.16,
@ -36,7 +36,7 @@
"4stringTabClef": {
"alternates": [
{
"codepoint": "U+F40D",
"codepoint": "U+F40D",
"name": "4stringTabClefSerif"
}
]
@ -52,7 +52,7 @@
"cClef": {
"alternates": [
{
"codepoint": "U+F473",
"codepoint": "U+F473",
"name": "cClefSmall"
}
]
@ -60,7 +60,7 @@
"fClef": {
"alternates": [
{
"codepoint": "U+F474",
"codepoint": "U+F474",
"name": "fClefSmall"
}
]
@ -68,7 +68,7 @@
"gClef": {
"alternates": [
{
"codepoint": "U+F472",
"codepoint": "U+F472",
"name": "gClefSmall"
}
]
@ -1822,52 +1822,51 @@
},
"accidentalFlat": {
"cutOutNE": [
0.19,
0.59
0.17,
0.62
],
"cutOutSE": [
0.49,
-0.36
0.7,
-0.2
]
},
"accidentalDoubleFlat": {
"cutOutNE": [
0.84,
0.59
0.92,
0.62
],
"cutOutSE": [
1.13,
-0.36
1.45,
-0.2
]
},
"accidentalNatural": {
"cutOutNE": [
0.18,
0.85
0.129,
0.82
],
"cutOutSW": [
0.49,
-0.85
0.527,
-0.82
]
},
"accidentalSharp": {
"cutOutNE": [
0.87,
0.9
0.79,
0.89
],
"cutOutNW": [
0.23,
0.62
0.18,
0.59
],
"cutOutSE": [
0.87,
-0.62
0.79,
-0.61
],
"cutOutSW": [
0.23,
0.18,
-0.9
]
}
}
}

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -3164,6 +3164,15 @@ QString Note::accessibleInfo() const
QString duration = chord()->durationUserName();
QString voice = QObject::tr("Voice: %1").arg(QString::number(track() % VOICES + 1));
QString pitchName;
QString pitchOffset;
QString onofftime;
if (!_playEvents.empty()) {
int on = _playEvents[0].ontime();
int off = _playEvents[0].offtime();
if (on != 0 || off != NoteEvent::NOTE_LENGTH) {
onofftime = QObject::tr(" (on %1‰ off %2‰)").arg(on).arg(off);
}
}
const Drumset* drumset = part()->instrument()->drumset();
if (fixed() && headGroup() == NoteHead::Group::HEAD_SLASH) {
pitchName = chord()->noStem() ? QObject::tr("Beat slash") : QObject::tr("Rhythm slash");
@ -3175,16 +3184,31 @@ QString Note::accessibleInfo() const
fret()));
} else {
pitchName = tpcUserName(false);
if (tuning() != 0) {
pitchOffset = QString::asprintf("%+.3f", tuning());
}
if (!concertPitch()) {
// tpcUserName equivalent for getting the sounding pitch
QString soundingPitch = propertyUserValue(Pid::TPC1)
+ QString::number(((_pitch + ottaveCapoFret() - int(tpc2alter(tpc()))) / 12) - 1);
// almost the same string as below
return QObject::tr("%1; Pitch: %2 (sounding as %3%4); Duration: %5%6%7")
.arg(noteTypeUserName())
.arg(pitchName)
.arg(soundingPitch)
.arg(pitchOffset)
.arg(duration)
.arg(onofftime)
.arg((chord()->isGrace() ? "" : QString("; %1").arg(voice)));
}
}
return QObject::tr("%1; Pitch: %2; Duration: %3%4").arg(noteTypeUserName()).arg(pitchName).arg(duration).arg((chord()
->
isGrace()
? ""
:
QString(
"; %1")
.arg(
voice)));
return QObject::tr("%1; Pitch: %2%3; Duration: %4%5%6")
.arg(noteTypeUserName())
.arg(pitchName)
.arg(pitchOffset)
.arg(duration)
.arg(onofftime)
.arg((chord()->isGrace() ? "" : QString("; %1").arg(voice)));
}
//---------------------------------------------------------

View file

@ -189,7 +189,6 @@ Fraction XmlReader::readFraction()
if (!s.isEmpty()) {
int i = s.indexOf('/');
if (i == -1) {
qDebug("reading ticks <%s>", qPrintable(s));
return Fraction::fromTicks(s.toInt());
} else {
z = s.left(i).toInt();