Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MU3 Backend] ENG-63: Properly handle cue grace notes #8581

Merged
merged 1 commit into from
Jul 14, 2021

Conversation

iveshenry18
Copy link
Contributor

Resolves: ENG-63: Grace notes within 'small' passages are not being reduced

Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the small and
play attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

  • I signed CLA
  • I made sure the code in the PR follows the coding rules
  • I made sure the code compiles on my machine
  • I made sure there are no unnecessary changes in the code
  • I made sure the title of the PR reflects the core meaning of the issue you are solving
  • I made sure the commit message(s) contain a description and answer the question "Why do those changes fix that particular issue?" or "Why are those changes really necessary as improvements?"
  • I made sure the commit message title starts with "fix #424242:" if there is a related issue
  • I created the test (mtest, vtest, script test) to verify the changes I made

Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.
@vpereverzev vpereverzev merged commit 083ea55 into musescore:3.6.2_backend Jul 14, 2021
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 15, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning
@@ -4842,7 +4871,7 @@ Note* MusicXMLParserPass2::note(const QString& partId,
else if (_e.name() == "stem")
stem(stemDir, noStem);
else if (_e.name() == "type") {
small = _e.attributes().value("size") == "cue";
small = _e.attributes().value("size") == "cue" | _e.attributes().value("size") == "grace-cue";
Copy link
Contributor

@Jojo-Schmitz Jojo-Schmitz Jul 16, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This causes a compiler warning due to missing parentheses. Also I guess it should be || rather than |?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#8554 (for posterity)

Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 19, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 28, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 28, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
@Jojo-Schmitz Jojo-Schmitz mentioned this pull request Aug 3, 2021
8 tasks
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 13, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 13, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 19, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 19, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 30, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 1, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 2, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 10, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 23, 2021
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Mar 5, 2023
Previously, our importer and exporter didn't account for notes that
were both grace notes and cue notes (therefore extra-small in size).
This commit amends that. Additionally, since Dolet also seems to fail
in this area, this commit adds a function to coerce the `small` and
`play` attributes of a grace chord to match that of its main chord.
Finally, it adds support for the "grace-cue" size to the exporter and
importer. In the importer, this is treated the same as the "cue" size, as
exporters tend to misinterpret the distinction between these.

Duplicate of musescore#8581, plus fixing a compiler warning, see musescore#8554
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Mar 28, 2024
This part an earlier port of musescore#8581 somehow got lost
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Mar 28, 2024
This part of an earlier port of musescore#8581 somehow got lost
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Apr 9, 2024
This part of an earlier port of musescore#8581 somehow got lost
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Apr 17, 2024
This part of an earlier port of musescore#8581 somehow got lost
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants