-
Notifications
You must be signed in to change notification settings - Fork 3k
Hammer-on and pull-off implementation #28118
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
Conversation
bkunda
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.
It's very lovely! So much about this is delightful to use.
My few bits of feedback at this stage are:
1. Default text size
It'd probably be nice to use 8pt instead of 10pt for the "H"/"P" default size. 10 is just a bit too large IMO.
2. Styles dialog page freeze issues
See video. We've definitely encountered this before, and I suspect it's a product of mixing QML components in the old dialog. Lmk if there's anything we can actually do about this.
3. Select next element in score
See video. Currently this command moves selection to the end of the score (it obviously shouldn't do this).
4. Upper/Lower-case buttons in Styles
We do actually have musescoreicon icons for the upper-case/lower-case buttons. It would be nicer to use these. Also these buttons should have tooltips please (see spec).
6d1aab2 to
1ce757c
Compare
miiizen
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.
I've only spotted a few small things so far!
src/engraving/rw/write/twrite.cpp
Outdated
|
|
||
| xml.startElement(item); | ||
| if (ctx.clipboardmode()) { | ||
| xml.tag("stemArr", Slur::calcStemArrangement(item->startElement(), item->endElement())); |
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 can be removed now we've merged #28152
src/engraving/types/typesconv.cpp
Outdated
| { ElementType::SYSTEM, "System", muse::TranslatableString("engraving", "System") }, | ||
| { ElementType::CHORD, "Chord", muse::TranslatableString("engraving", "Chord") }, | ||
| { ElementType::SLUR, "Slur", muse::TranslatableString("engraving", "Slur") }, | ||
| { ElementType::HAMMER_ON_PULL_OFF, "HammerOnPullOff", muse::TranslatableString("engraving", "Hammer-on pull-off") }, |
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 is duplicated below
| // be triggered by the decimal digit immediately following a non-ASCII character (curly quote). | ||
| oneMeasureRepeatShow1->setText(muse::qtrc("EditStyleBase", "Show ‘1’ on 1-measure repeats")); | ||
| singleMMRestShowNumber->setText(muse::qtrc("EditStyleBase", "Show number ‘1’")); | ||
| oneMeasureRepeatShow1->setText(muse::qtrc("EditStyleBase", "Show ‘1’ on 1-measure repeats")); |
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.
Some garble from uncrustify
| case ElementType::PARTIAL_TIE: | ||
| case ElementType::PARTIAL_TIE_SEGMENT: | ||
| case ElementType::HAMMER_ON_PULL_OFF: | ||
| case ElementType::HAMMER_ON_PULL_OFF_SEGMENT: |
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.
See the Github warning below - you're missing a case for TextStyleType::HAMMER_ON_PULL_OFF (1722)
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.
Ah right! (it's also pointing to the wrong page, given that Hopo do have their own page style)
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.
The compiler warnings mentioned here have not been fixed either, despite the comment, so that makes me think there's just a push missing
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.
Sorry, I just forgot about that. See #28226
| static const std::vector<PlayTechAnnotationInfo> playTechAnnotationsMaster = { | ||
| { QT_TRANSLATE_NOOP("palette", "détaché"), PlayingTechniqueType::Detache }, | ||
| { QT_TRANSLATE_NOOP("palette", "martelé"), PlayingTechniqueType::Martele }, | ||
| { QT_TRANSLATE_NOOP("palette", "détaché"), PlayingTechniqueType::Detache }, |
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.
More uncrustify rubbish
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.
I see this had not been fixed before the PR was merged. I'll fix it now, but it might be good to double-check that that doesn't mean that any other fixes had not been pushed either.
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.
I probably did fix it and then Uncrustify messed it up again as it runs on every save. Do we know if that's an Uncrustify or a Qt Creator bug? I may need to just disable Uncrustify altogether, it's way to easy to accidentally push garbage
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.
Do we know if that's an Uncrustify or a Qt Creator bug?
I don't know. Perhaps one way to find out, is to run Uncrustify from the command line. If it still happens, you could look if there are some Uncrustify options to force Uncrustify to read the file as UTF-8, because maybe that's where it goes wrong.
| } else { | ||
| // The last endChord of this segment is in next system. Use end barline instead. | ||
| Measure* lastMeas = system->lastMeasure(); | ||
| for (Segment* seg = lastMeas->last(); seg; seg = seg->prev()) { |
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.
Maybe something like this is more concise
| for (Segment* seg = lastMeas->last(); seg; seg = seg->prev()) { | |
| Segment* seg = lastMeas->last(SegmentType::BarLineType); | |
| endX = seg ? seg->systemPos().x() : endX; |
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.
Ha, yes thanks, I forgot we had that!
miiizen
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.
Excellent stuff!
Hammer-on and pull-off implementation