Skip to content

GSoC 2020: Measure repeats for Mu3#519

Draft
Jojo-Schmitz wants to merge 4 commits into
3.xfrom
3.x-measure-repeats
Draft

GSoC 2020: Measure repeats for Mu3#519
Jojo-Schmitz wants to merge 4 commits into
3.xfrom
3.x-measure-repeats

Conversation

@Jojo-Schmitz

@Jojo-Schmitz Jojo-Schmitz commented Jun 24, 2024

Copy link
Copy Markdown
Owner

Backport of musescore#6365

Resolves: #438

  • Re-enable NOBREAK with fixes and new functionality

    • Fix #279071: "Don't Break" element creates hole at end of system
    • Allow more than two measures to be grouped
    • Allow adding/toggling NOBREAK by clicking palette
    • Rename to "Group Measures"
    • Adjust placement of break symbols
      Co-authored-by: MarcSabatella marc@outsideshore.com

    commit 1, plus some includes cleanup and fixing some clazy warnings

This part has been merged via #1112 already

  • commit 2 is just about some Mu4 code style stuff which doesn't apply to Mu3, so let's skip it

  • Fix #10220: Replace RepeatMeasure with MeasureRepeat, add subtypes 1/2/4

    • Draw with font symbols instead of QPainterPath
    • Automatically group measures and delete contents when adding MeasureRepeat
    • Hide rests by making measures (per MStaff) aware if they are part of measure repeat group
    • Keep measures and element in sync at all times by handling (preventing/warning/special-casing) many user actions
    • Add style options for numbering consecutive one-measure repeats

    commit 3, plus some includes cleanup and fixing some clazy warnings

  • MusicXML import/export and (probably) Guitar Pro import MeasureRepeats
    commit 4 and fixing some clazy warnings

  • Add/update tests for MMRests and MeasureRepeats
    MMRests:

    • Add vtests for old-style (all fonts), h-bar thickness and margin (Bravura)

    MeasureRepeats:

    • Add script tests for adding, cutting/copying with partial group selected, pasting into group, repeating selection from before group, executing split/join/insert/delete measure commands, adding repeat barlines, and adding time signature
    • Add mtests for parts, MIDI, and MusicXML import/export
    • Add vtests
    • Update ref files

    commit 5 ( I might better integrate them into the other commits as needed though)

  • commit 6 is about Additional changes needed after rebasing, shouldn't apply here, so let's skip it too

Backport of musescore#19356

Resolves: musescore#18961

  • Adjusts repeat measure number to clear whichever's highest - the top staff line, repeat symbol or, in the case of a 1 line stave, the barline

@Jojo-Schmitz Jojo-Schmitz changed the title GSoC 2020: measure repeats GSoC 2020: measure repeats for Mu3 Jun 24, 2024
@Jojo-Schmitz Jojo-Schmitz changed the title GSoC 2020: measure repeats for Mu3 GSoC 2020: Measure repeats for Mu3 Jun 24, 2024
@Jojo-Schmitz
Jojo-Schmitz force-pushed the 3.x-measure-repeats branch 3 times, most recently from 37793a2 to 6cc2682 Compare June 26, 2024 15:08
@Jojo-Schmitz Jojo-Schmitz added the strings Affects translatable strings label Sep 9, 2024
@Jojo-Schmitz
Jojo-Schmitz force-pushed the 3.x-measure-repeats branch 3 times, most recently from 86c4d91 to e48f451 Compare November 17, 2024 12:05
@Jojo-Schmitz

Copy link
Copy Markdown
Owner Author

the mtests and vtests failures are (mostly) due to crashes, so more work to do...

@Jojo-Schmitz
Jojo-Schmitz force-pushed the 3.x-measure-repeats branch 3 times, most recently from 4af7cfb to 5343255 Compare November 17, 2024 16:04
@Jojo-Schmitz

Copy link
Copy Markdown
Owner Author

@IsaacWeiss do you have any insights on why my backport crashes all over the place?

@IsaacWeiss

Copy link
Copy Markdown

Sadly I have no time to investigate. Good luck, and thank you for your efforts in this.

@zorba77

zorba77 commented Dec 13, 2024

Copy link
Copy Markdown

image
this is the output of the debugger, is it useful?

@Jojo-Schmitz

Copy link
Copy Markdown
Owner Author

No

@zorba77

zorba77 commented Dec 13, 2024

Copy link
Copy Markdown

What can I do to help you?

@Jojo-Schmitz

Copy link
Copy Markdown
Owner Author

Fix the code ;-)

@Jojo-Schmitz
Jojo-Schmitz force-pushed the 3.x branch 2 times, most recently from bf247bf to 922a518 Compare December 23, 2024 13:25
@Jojo-Schmitz
Jojo-Schmitz force-pushed the 3.x branch 2 times, most recently from 9326c7c to 88927e8 Compare January 6, 2025 11:42
@Jojo-Schmitz
Jojo-Schmitz force-pushed the 3.x branch 3 times, most recently from f77e37d to e211c8c Compare January 8, 2025 19:21
@Jojo-Schmitz
Jojo-Schmitz marked this pull request as draft March 30, 2025 09:34
@Jojo-Schmitz
Jojo-Schmitz force-pushed the 3.x branch 2 times, most recently from ecb56f3 to 2ac34cf Compare September 18, 2025 18:08
@Jojo-Schmitz
Jojo-Schmitz force-pushed the 3.x branch 3 times, most recently from ec719c0 to 67e0ef8 Compare June 11, 2026 08:51
@Jojo-Schmitz
Jojo-Schmitz force-pushed the 3.x branch 7 times, most recently from 7042a6d to a524bb9 Compare July 5, 2026 11:09
@Jojo-Schmitz
Jojo-Schmitz force-pushed the 3.x-measure-repeats branch from 73935e7 to 1d00a66 Compare July 7, 2026 11:21
@Jojo-Schmitz Jojo-Schmitz added enhancement backport Needs a backport from upstream and removed backport Needs a backport from upstream labels Jul 7, 2026
Jojo-Schmitz added a commit that referenced this pull request Jul 7, 2026
- Fix [#279071](https://musescore.org/en/node/279071): "Don't Break" element creates hole at end of system
- Allow more than two measures to be grouped
- Allow adding/toggling `NOBREAK` by clicking palette
- Rename to "Keep measures on the same system" (like in Mu4 meanwhile)
- Adjust placement of break symbols
Co-authored-by: MarcSabatella <marc@outsideshore.com>

Backport of musescore#6365, commit 1, plus some includes cleanup and fixing some clazy warnings.

Part of #519, but potentially usefull on its own, esp. the ability to import these `NOBREAK`s from Mu4.

Probably a backport of musescore#21216 (to fix [musescore#21212](https://www.github.com/musescore/MuseScore/issues/21212), apparently introduced by musescore#6365) is also needed. So that's included too now

Also added a showrtcut for `NOBREAK`
IsaacWeiss and others added 4 commits July 7, 2026 19:32
…btypes 1/2/4

- Draw with font symbols instead of QPainterPath
- Automatically group measures and delete contents when adding MeasureRepeat
- Hide rests by making measures (per MStaff) aware if they are part of measure repeat group
- Keep measures and element in sync at all times by handling (preventing/warning/special-casing) many user actions
- Add style options for numbering consecutive one-measure repeats

Backport of musescore#6365, commit 3, plus some includes cleanup and fixing some clazy warnings
Backport of musescore#6365, commit 4, plus some includes cleanup and fixing a few clazy warnings
MMRests:

- Add vtests for old-style (all fonts), h-bar thickness and margin (Bravura)

MeasureRepeats:

- Add script tests for adding, cutting/copying with partial group selected, pasting into group, repeating selection from before group, executing split/join/insert/delete measure commands, adding repeat barlines, and adding time signature
- Add mtests for parts, MIDI, and MusicXML import/export
- Add vtests
- Update ref files

Backport of musescore#6365, commit 4
@Jojo-Schmitz
Jojo-Schmitz force-pushed the 3.x-measure-repeats branch from f69c775 to cc4a8bc Compare July 7, 2026 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement strings Affects translatable strings

Projects

None yet

Development

Successfully merging this pull request may close these issues.

add 2 bars and 4 bars repeat

4 participants