Skip to content

Conversation

iveshenry18
Copy link
Contributor

Resolves: ENG-52: Correct for incorrectly exported fingerings

A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering class and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

  • 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

@iveshenry18 iveshenry18 force-pushed the ENG-52-infer-fingerings branch from e36ca2e to 00c1237 Compare June 14, 2021 18:25
@vpereverzev
Copy link
Member

looking for rebase

A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.
@iveshenry18 iveshenry18 force-pushed the ENG-52-infer-fingerings branch from 00c1237 to 9bc651f Compare June 15, 2021 17:35
@iveshenry18
Copy link
Contributor Author

Rebased!

@RomanPudashkin RomanPudashkin merged commit cc08d34 into musescore:3.6.2_backend Jun 22, 2021
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jun 28, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jun 28, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate pf musescore#8298, part 2
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jun 28, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jun 28, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate pf musescore#8298, part 2
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jun 28, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnigs
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jun 28, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate pf musescore#8298, part 2
QString placement,
Measure* measure,
Fraction tick)
: _totalY(totalY), _text(text), _element(element), _track(track), _placement(placement), _measure(measure), _tick(tick)
Copy link
Contributor

@Jojo-Schmitz Jojo-Schmitz Jul 1, 2021

Choose a reason for hiding this comment

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

Swapping _text(text) and _element(element) resolves a compiler warning (and gets them into the order of the argument list). Maybe another addition for #8481 .

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done!

Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 1, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnigs
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 1, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate pf musescore#8298, part 2
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 5, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnings, see musescore#8298
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 5, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate pf musescore#8298, part 2
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 6, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnings, see musescore#8298
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 6, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate pf musescore#8298, part 2
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnings, see musescore#8298
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate pf musescore#8298, part 2
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnings, see musescore#8298
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate pf musescore#8298, part 2
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnings, see musescore#8298
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 19, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnings, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 19, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate pf musescore#8298, part 2
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 19, 2021
See musescore#8298, issue possibly caused by another commit though.
Here just disabling the test, as the output doesn't give any hints as to what the issue actually is.
```
62/62 Test #51: tst_mxml_io ......................***Failed   96.44 sec
   <diff -u /home/runner/work/MuseScore/MuseScore/mtest/musicxml/io/testInferredFingerings_ref.mscx testInferredFingerings.mscx failed

98% tests passed, 1 tests failed out of 62
```
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 19, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnings, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 19, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate pf musescore#8298, part 2
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 19, 2021
See musescore#8298, issue possibly caused by another commit though.
Here just disabling the test, as the output doesn't give any hints as to what the issue actually is.
```
62/62 Test #51: tst_mxml_io ......................***Failed   96.44 sec
   <diff -u /home/runner/work/MuseScore/MuseScore/mtest/musicxml/io/testInferredFingerings_ref.mscx testInferredFingerings.mscx failed

98% tests passed, 1 tests failed out of 62
```
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 30, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnings, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 30, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate pf musescore#8298, part 2
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 30, 2021
See musescore#8298, issue possibly caused by another commit though.
Here just disabling the test, as the output doesn't give any hints as to what the issue actually is.
```
62/62 Test #51: tst_mxml_io ......................***Failed   96.44 sec
   <diff -u /home/runner/work/MuseScore/MuseScore/mtest/musicxml/io/testInferredFingerings_ref.mscx testInferredFingerings.mscx failed

98% tests passed, 1 tests failed out of 62
```
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 1, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnings, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 1, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate pf musescore#8298, part 2
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 1, 2021
See musescore#8298, issue possibly caused by another commit though.
Here just disabling the test, as the output doesn't give any hints as to what the issue actually is.
```
62/62 Test #51: tst_mxml_io ......................***Failed   96.44 sec
   <diff -u /home/runner/work/MuseScore/MuseScore/mtest/musicxml/io/testInferredFingerings_ref.mscx testInferredFingerings.mscx failed

98% tests passed, 1 tests failed out of 62
```
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 2, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnings, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 2, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate of musescore#8298, part 2
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 2, 2021
See musescore#8298, issue possibly caused by another commit though.
Here just disabling the test, as the output doesn't give any hints as to what the issue actually is.
```
62/62 Test #51: tst_mxml_io ......................***Failed   96.44 sec
   <diff -u /home/runner/work/MuseScore/MuseScore/mtest/musicxml/io/testInferredFingerings_ref.mscx testInferredFingerings.mscx failed

98% tests passed, 1 tests failed out of 62
```
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 10, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnings, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 10, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate of musescore#8298, part 2
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 10, 2021
See musescore#8298, issue possibly caused by another commit though.
Here just disabling the test, as the output doesn't give any hints as to what the issue actually is.
```
62/62 Test #51: tst_mxml_io ......................***Failed   96.44 sec
   <diff -u /home/runner/work/MuseScore/MuseScore/mtest/musicxml/io/testInferredFingerings_ref.mscx testInferredFingerings.mscx failed

98% tests passed, 1 tests failed out of 62
```
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 23, 2021
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnings, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 23, 2021
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate of musescore#8298, part 2
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 23, 2021
See musescore#8298, issue possibly caused by another commit though.
Here just disabling the test, as the output doesn't give any hints as to what the issue actually is.
```
62/62 Test #51: tst_mxml_io ......................***Failed   96.44 sec
   <diff -u /home/runner/work/MuseScore/MuseScore/mtest/musicxml/io/testInferredFingerings_ref.mscx testInferredFingerings.mscx failed

98% tests passed, 1 tests failed out of 62
```
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 26, 2021
See musescore#8298, issue possibly caused by another commit though.
Here just disabling the test, as the output doesn't give any hints as to what the issue actually is.
```
62/62 Test #51: tst_mxml_io ......................***Failed   96.44 sec
   <diff -u /home/runner/work/MuseScore/MuseScore/mtest/musicxml/io/testInferredFingerings_ref.mscx testInferredFingerings.mscx failed

98% tests passed, 1 tests failed out of 62
```
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 29, 2021
See musescore#8298, issue possibly caused by another commit though.
Here just disabling the test, as the output doesn't give any hints as to what the issue actually is.
```
62/62 Test #51: tst_mxml_io ......................***Failed   96.44 sec
   <diff -u /home/runner/work/MuseScore/MuseScore/mtest/musicxml/io/testInferredFingerings_ref.mscx testInferredFingerings.mscx failed

98% tests passed, 1 tests failed out of 62
```
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request May 12, 2022
See musescore#8298, issue possibly caused by another commit though.
Here just disabling the test, as the output doesn't give any hints as to what the issue actually is.
```
62/62 Test #51: tst_mxml_io ......................***Failed   96.44 sec
   <diff -u /home/runner/work/MuseScore/MuseScore/mtest/musicxml/io/testInferredFingerings_ref.mscx testInferredFingerings.mscx failed

98% tests passed, 1 tests failed out of 62
```
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Mar 5, 2023
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.

The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.

Duplicate of musescore#8298, part 1, plus 4 fixed compiler warnings, see musescore#8554
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Mar 5, 2023
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.

Duplicate of musescore#8298, part 2
Jojo-Schmitz added a commit to Jojo-Schmitz/MuseScore that referenced this pull request Mar 5, 2023
See musescore#8298, issue possibly caused by another commit though.
Here just disabling the test, as the output doesn't give any hints as to what the issue actually is.
```
62/62 Test #51: tst_mxml_io ......................***Failed   96.44 sec
   <diff -u /home/runner/work/MuseScore/MuseScore/mtest/musicxml/io/testInferredFingerings_ref.mscx testInferredFingerings.mscx failed

98% tests passed, 1 tests failed out of 62
```
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.

5 participants