-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Input by duration mode #26291
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
Input by duration mode #26291
Conversation
0e5c3f6 to
4f3d747
Compare
|
Looking forward to checking this out! I gather this can pretty much replace the old "rhythm only" mode. But what happens to the repitch mode, which is definitely relied upon by many, or the insert mode, which also has its uses? Also the real-time modes, which are not used so much in part because they have been kind of broken for a while but presumably be wanted again. |
1294917 to
e266477
Compare
e266477 to
18da8e9
Compare
mathesoncalum
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Left some comments - mostly nitpicks and I wouldn't consider any of them to be blockers.
| navigation.name: "PlayPreviewNotesInInputByDurationBox" | ||
| navigation.panel: root.navigation | ||
| navigation.row: 0 | ||
| navigation.row: 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can do these incrementally (i.e. playNotesToggle.navigation.row + 1)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This approach has the disadvantage of creating unnecessary bindings
| is.setRest(false); | ||
| is.setNoteEntryMode(true); | ||
|
|
||
| //! TODO Find out why. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did we find out why? 😅
Or is this just one of those very old/redundant TODOs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like this goes back to the initial commit on GitHub, 13 years ago. I don't know the specific reason, but I can say that back in those days, we had very limited ability to do any sort of partial relayout, so setUpdateAll() happened a lot in cases where it isn't needed anymore.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, it's an ancient hack (which hurts performance a lot). Works fine without it, as far as I can tell
start note input when pressing a key if there is a selection
Store additional context (tpc) about the input note in the input state
18da8e9 to
f3dde11
Compare
|
Tested on Win10, Mac13.6, LinuxUbuntu24.04.1 LTS - BASIC PART IS IMPLEMENTED There are some issues with cursor ui on Win/Linux and rhythm only mode (will be logged separately) |

This PR introduces a new note input mode (similar to "Pitch before duration" in other notation programs) that can be activated using this button
Resolves: #24537
Resolves: #25027
Resolves: #20891