Removing all measures in a score leads to all pages disappearing. Leaves empty page instead.

• Feb 18, 2017 - 01:35
Reported version
P3 - Low
S5 - Suggestion
PR created

On 3.0dev fade47128 Windows 10 x86-64.

Replication steps:

  1. New Score
  2. Select All Measures
  3. Delete All Measures

1 Ms::MeasureBase::prev measurebase.h 98 0xdb7f28
2 Ms::MeasureBase::prevMeasureMM measurebase.cpp 241 0x8214f3
3 Ms::Score::doLayoutRange layout.cpp 3405 0x8740f4
4 Ms::Score::update cmd.cpp 219 0x7834f3
5 Ms::Score::endCmd cmd.cpp 179 0x783261
6 Ms::Score::cmd cmd.cpp 3281 0x790b72
7 Ms::ScoreView::cmd scoreview.cpp 3266 0x414549
8 Ms::MuseScore::cmd musescore.cpp 4989 0x49ea12
9 Ms::MuseScore::cmd musescore.cpp 4539 0x49c678
10 Ms::MuseScore::qt_static_metacall moc_musescore.cpp 733 0x68a4a4
11 ZN11QMetaObject8activateEP7QObjectiiPPv 0x68a08842
12 Ms::ScoreTab::actionTriggered moc_scoretab.cpp 182 0x6905b3
13 Ms::ScoreTab::qt_static_metacall moc_scoretab.cpp 95 0x6902e8
14 ZN11QMetaObject8activateEP7QObjectiiPPv 0x68a08842
15 ZN12QActionGroup7hoveredEP7QAction 0x61dc5295
16 ?? 0x248d8ad0
17 ZN7QAction8activateENS_11ActionEventE 0x61dc4248
18 ?? 0x1ebccd78
19 ?? 0x219332e0
20 ZN7QThread18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv 0x68a67dd0


Made some edits to another score, then delete all but the initial frame, and got assert failure:

Debug: 0x252100a8 0-0 (C:\Users\Eric\Documents\GitHub\MuseScore\libmscore\layout.cpp:3381, void Ms::Score::doLayoutRange(int, int))
Fatal: ASSERT: "firstMeasure()" in file C:\Users\Eric\Documents\GitHub\MuseScore\libmscore\utils.cpp, line 51 (:0, )

Severity S2 - Critical S3 - Major
Tags View Changes

On the current master deleting all measures lead to disappearing score page.
It is seemed to be incorrect and incompatible with 2.X behavior (white clean page after deleting all measures).

I support the current 3.0 behavior for the following reasons:
- Pages are created as needed, and unnecessary pages are automatically removed.
- It takes zero pages to render a score with no measures and no frames.
- You cannot type on a blank page, and you cannot drag elements to a blank page.

I think that it would be more helpful to have something else in the empty space. Perhaps a message directing the user to the "Add" menu to append measures or frames. Or even a way to access those functions with a single click.

Jojo, are you suggesting that if a user deletes all measures and frames, a vertical frame should be automatically added to the score just to prevent the page from disappearing? If so, I have a few suggestions of my own:
- The frame would contain a message like the one I described. The text of the message would be marked as invisible.
- Neither the frame nor its contents would be selectable or editable.
- The frame would be deleted if the user were to add more frames and/or measures.

Sorry for the late reply, I've missed your question.

Well actually I'm thinking about templates, which don't need to have any measure nor any frame, as those would get removed/recreated for the score created from that template anyway. A set of instruments and style settings is (or should be) enough for a template

Title Score w/out any Measures causes crash when doLayoutRange() trying to dereference non-existent lastMeasure() Removing all measures in a score leads to disappearing all pages. Leave empty page instead.
Priority P2 - Medium P3 - Low
Severity S1 - Blocker S5 - Suggestion
Tags View Changes
Title Removing all measures in a score leads to disappearing all pages. Leave empty page instead. Removing all measures in a score leads to all pages disappearing. Leaves empty page instead.

Fixed grammar

Just found an interesting message in the SimpleMind app. We could use similar message box when a user wants to delete everything from the score:
Monosnap 2019-03-10 16-03-58.png