-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Fix beam stem direction flip (MU3) #9851
Conversation
Update chord's set stem direction method to set the beam's direction to Direction::AUTO if applicable. Update the beam's set direction method to update its notes' stem direction. When a beam's direction is set with the "x" keyboard key, the "_direction" member of the beam class is no longer equal to "Direction::AUTO". So, in the beam's layout code the final beam direction is not taken from the first note in the note group (of the beam) but from the "_direction" member. The problem is that if the user tries to set the beam's direction with a note stem direction (in the property panel), it will be ignored in the beam's layout code.
This PR is ready for review. @Jojo-Schmitz The issue was that in the Beam::setBeamDirection method, there are 2 "if" blocks and the second block has to be nested. If it's not than there is a stack overflow crash. |
FYI, I'm in the middle of refactoring most of the beams code, and this PR conflicts with most of those changes. |
Ok thanks for the notification, I'll fix the PR. |
Thanks, integrated into PR #9000 |
Update chord's set stem direction method to set the beam's direction to Direction::AUTO if applicable. Update the beam's set direction method to update its notes' stem direction. When a beam's direction is set with the "x" keyboard key, the "_direction" member of the beam class is no longer equal to "Direction::AUTO". So, in the beam's layout code the final beam direction is not taken from the first note in the note group (of the beam) but from the "_direction" member. The problem is that if the user tries to set the beam's direction with a note stem direction (in the property panel), it will be ignored in the beam's layout code. Backport of musescore#9800, resp. duplicate of musescore#9851
Update chord's set stem direction method to set the beam's direction to Direction::AUTO if applicable. Update the beam's set direction method to update its notes' stem direction. When a beam's direction is set with the "x" keyboard key, the "_direction" member of the beam class is no longer equal to "Direction::AUTO". So, in the beam's layout code the final beam direction is not taken from the first note in the note group (of the beam) but from the "_direction" member. The problem is that if the user tries to set the beam's direction with a note stem direction (in the property panel), it will be ignored in the beam's layout code. Backport of musescore#9800, resp. duplicate of musescore#9851
You're welcome! |
Update chord's set stem direction method to set the beam's direction to Direction::AUTO if applicable. Update the beam's set direction method to update its notes' stem direction. When a beam's direction is set with the "x" keyboard key, the "_direction" member of the beam class is no longer equal to "Direction::AUTO". So, in the beam's layout code the final beam direction is not taken from the first note in the note group (of the beam) but from the "_direction" member. The problem is that if the user tries to set the beam's direction with a note stem direction (in the property panel), it will be ignored in the beam's layout code. Backport of musescore#9800, resp. duplicate of musescore#9851
Update chord's set stem direction method to set the beam's direction to Direction::AUTO if applicable. Update the beam's set direction method to update its notes' stem direction. When a beam's direction is set with the "x" keyboard key, the "_direction" member of the beam class is no longer equal to "Direction::AUTO". So, in the beam's layout code the final beam direction is not taken from the first note in the note group (of the beam) but from the "_direction" member. The problem is that if the user tries to set the beam's direction with a note stem direction (in the property panel), it will be ignored in the beam's layout code. Backport of musescore#9800, resp. duplicate of musescore#9851
Update chord's set stem direction method to set the beam's direction to Direction::AUTO if applicable. Update the beam's set direction method to update its notes' stem direction. When a beam's direction is set with the "x" keyboard key, the "_direction" member of the beam class is no longer equal to "Direction::AUTO". So, in the beam's layout code the final beam direction is not taken from the first note in the note group (of the beam) but from the "_direction" member. The problem is that if the user tries to set the beam's direction with a note stem direction (in the property panel), it will be ignored in the beam's layout code. Backport of musescore#9800, resp. duplicate of musescore#9851
Update chord's set stem direction method to set the beam's direction to Direction::AUTO if applicable. Update the beam's set direction method to update its notes' stem direction. When a beam's direction is set with the "x" keyboard key, the "_direction" member of the beam class is no longer equal to "Direction::AUTO". So, in the beam's layout code the final beam direction is not taken from the first note in the note group (of the beam) but from the "_direction" member. The problem is that if the user tries to set the beam's direction with a note stem direction (in the property panel), it will be ignored in the beam's layout code. Backport of musescore#9800, resp. duplicate of musescore#9851
Update chord's set stem direction method to set the beam's direction to Direction::AUTO if applicable. Update the beam's set direction method to update its notes' stem direction. When a beam's direction is set with the "x" keyboard key, the "_direction" member of the beam class is no longer equal to "Direction::AUTO". So, in the beam's layout code the final beam direction is not taken from the first note in the note group (of the beam) but from the "_direction" member. The problem is that if the user tries to set the beam's direction with a note stem direction (in the property panel), it will be ignored in the beam's layout code. Backport of musescore#9800, resp. duplicate of musescore#9851
Update chord's set stem direction method to set the beam's direction to Direction::AUTO if applicable. Update the beam's set direction method to update its notes' stem direction. When a beam's direction is set with the "x" keyboard key, the "_direction" member of the beam class is no longer equal to "Direction::AUTO". So, in the beam's layout code the final beam direction is not taken from the first note in the note group (of the beam) but from the "_direction" member. The problem is that if the user tries to set the beam's direction with a note stem direction (in the property panel), it will be ignored in the beam's layout code. Backport of musescore#9800, resp. duplicate of musescore#9851
3.x is closed for any changes |
Update chord's set stem direction method to set the beam's direction to Direction::AUTO if applicable. Update the beam's set direction method to update its notes' stem direction. When a beam's direction is set with the "x" keyboard key, the "_direction" member of the beam class is no longer equal to "Direction::AUTO". So, in the beam's layout code the final beam direction is not taken from the first note in the note group (of the beam) but from the "_direction" member. The problem is that if the user tries to set the beam's direction with a note stem direction (in the property panel), it will be ignored in the beam's layout code. Backport of musescore#9800, resp. duplicate of musescore#9851
Update chord's set stem direction method to set the beam's direction
to Direction::AUTO if applicable.
Update the beam's set direction method to update its notes' stem
direction.
Resolves: (direct link to the issue)
When a beam's direction is set with the "x" keyboard key, the
"_direction" member of the beam class is no longer equal to
"Direction::AUTO". So, in the beam's layout code the final beam
direction is not taken from the first note in the note group
(of the beam) but from the "_direction" member.
The problem is that if the user tries to set the beam's direction
with a note stem direction (in the property panel), it will be
ignored in the beam's layout code.