-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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-38: Handle hanging ties #8556
[MU3 Backend] ENG-38: Handle hanging ties #8556
Conversation
1565797
to
dff4f28
Compare
BTW, not directly related to this - but do you have any plans to improve how the musicxml import handles the duration element and the attack/release attributes? Seems the latter are being ignored currently (hence all information about how long each note should be played back for if not the full duration is lost), and the handling for when the "duration" element doesn't quite match the type & time-modification elements isn't complete (MusicXML seems to allow how a note should be notated to be specified independently of how much time it should take up, which I believe should be possible with MuseScore's native data structures but at least in the case of tuplets would cause some challenges). |
@wizofaus we don't currently have plans for this, but I'll keep an eye out for any cases of it causing an issue! If it seems to negatively affect scores then I'll add it to our list. |
There's been a number of discussions in musescore.org about it, but the fact that the attack/release attributes are ignored entirely seems hard to justify, as it would seriously affect the playback of an imported score that did have those specified. |
@wizofaus certainly it is a feature that should we should support, since it's in the spec. That said, my current efforts are essentially prioritized according to a set of a couple hundred scores exported with the Dolet plugin for Sibelius (which is why many of my commits have to do with "inferring" incorrect exports from Dolet, even if those inferences are technically outside of the spec). It's not ideal, but it's a pragmatic approach in an ecosystem of imperfect implementations of a sufficiently complex spec. Among this set of (again, a couple hundred) scores, there is exactly one usage of the "release" attribute, and no uses of the "attack" attribute; furthermore, that one example of the "release" attribute doesn't really affect its score's playback in a noticeable way. All this to say, I can't guarantee that I'll get to this issue, but I will if I get the chance! Of course, anyone else is always welcome to implement this and submit a PR. |
Understood, it's probably not a high priority fix overall, just figure if it was going to get done anywhere it would as part of what you've been working on. |
I'm not sure, and don't currently have a Sibelius license to test. The one example found in the set of scores I'm working with was on the last note of the piece, which happened to be an eighth note. |
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.)
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process.
dff4f28
to
b24cf14
Compare
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.) Duplicate of musescore#8556, part 1
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process. Duplicate of musescore#8556, part 2
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.) Duplicate of musescore#8556, part 1
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process. Duplicate of musescore#8556, part 2
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.) Duplicate of musescore#8556, part 1
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process. Duplicate of musescore#8556, part 2
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.) Duplicate of musescore#8556, part 1
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process. Duplicate of musescore#8556, part 2
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.) Duplicate of musescore#8556, part 1
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process. Duplicate of musescore#8556, part 2
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.) Duplicate of musescore#8556, part 1
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process. Duplicate of musescore#8556, part 2
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.) Duplicate of musescore#8556, part 1
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process. Duplicate of musescore#8556, part 2
See musescore#8556, issue possibly caused by another commit though
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.) Duplicate of musescore#8556, part 1
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process. Duplicate of musescore#8556, part 2
See musescore#8556, issue possibly caused by another commit though
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.) Duplicate of musescore#8556, part 1
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process. Duplicate of musescore#8556, part 2
See musescore#8556, issue possibly caused by another commit though
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.) Duplicate of musescore#8556, part 1
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process. Duplicate of musescore#8556, part 2
See musescore#8556, issue possibly caused by another commit though
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.) Duplicate of musescore#8556, part 1
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process. Duplicate of musescore#8556, part 2
See musescore#8556, issue possibly caused by another commit though
See musescore#8556, issue possibly caused by another commit though
See musescore#8556, issue possibly caused by another commit though
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.) Duplicate of musescore#8556, part 1
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process. Duplicate of musescore#8556, part 2
See musescore#8556, issue possibly caused by another commit though
This commit keeps track of ties added to the score, making sure they are terminated before the end of the part. If not, the tie is deleted and replaced with a l.v. articulation. (TODO: improve the automatic layout of these articulations.) Duplicate of musescore#8556, part 1
This is a temporary and somewhat hacky fix that iterates through the score and adjusts the positioning of l.v. symbols after MusicXML import. TODO: improve default placement of l.v. symbols to avoid this process. Duplicate of musescore#8556, part 2
See musescore#8556, issue possibly caused by another commit though
Backport of musescore#22455, which in turn is a port of musescore#8556 (which got ported to 3.7 earlier), but doesn't replace hanging ties with l.v. articulations, opting instead to simply delete them pending a proper feature.
Backport of musescore#22455, which in turn is a port of musescore#8556 (which got ported to 3.7 earlier), but doesn't replace hanging ties with l.v. articulations, opting instead to simply delete them pending a proper feature.
Backport of musescore#22455, which in turn is a port of musescore#8556 (which got ported to 3.7 earlier), but doesn't replace hanging ties with l.v. articulations, opting instead to simply delete them pending a proper feature.
Backport of musescore#22455, which in turn is a port of musescore#8556 (which got ported to 3.7 earlier), but doesn't replace hanging ties with l.v. articulations, opting instead to simply delete them pending a proper feature.
Resolves: ENG-38: Allow hanging ties at end of score or before repeats
This commit keeps track of ties added to the score during
MusicXML import, making sure they are
terminated before the end of the part. If not, the tie is deleted and
replaced with a l.v. articulation.
Additionally, this include a fixup function for improving the placement of l.v. symbols on import (TODO: improve the automatic layout
of these articulations.)