Skip to content

[MU3] Engraving improvements dialog #6791

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

Merged
merged 17 commits into from
Nov 13, 2020

Conversation

vpereverzev
Copy link
Member

@vpereverzev vpereverzev commented Oct 29, 2020

Peek 2020-10-29 23-54

Design provided by @Tantacrul, although it's might be not a final version

This dialog will also include more handlers soon. For example: "Automatic score ordering and bracketing" - #6479 and "Algorithm for spreading staves/systems over a page" - #6538 (@njvdberg )

Also this PR includes the "First system indentation" handler (https://trello.com/c/kj5W4AQP)
Peek 2020-09-24 21-57

mtests failure is expected

@Jojo-Schmitz
Copy link
Contributor

Jojo-Schmitz commented Oct 30, 2020

The mtests don't like that MSC_VERSION change at all

Note to self: conflicts with #6255 (esp. that "Never ask this again")

@Jojo-Schmitz
Copy link
Contributor

Well, along with the (still to be added) new fonts Leland, Leland Text and the Edwin family, we're gonna have backwards compatibility problem anyway I guess, so maybe we need to live with this then?

IScoreMigrationHandler() = default;
virtual ~IScoreMigrationHandler() = default;

virtual bool handle(Ms::Score* score) = 0;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At this moment, the migration handlers have one argument only Ms::Score*. However, the Instrument Ordering handler will required another argument Ms::MuseScore* mscore (required to open the Instrument form which is part of the MuseScore class).

Do you prefer a new PR for this change or shall I add a remark at all files to be modified?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it's only needed for instrument handlers, so I suggest to use Ms::mscore directly, it's an external variable

All you need here is to include "mscore/musescore.h"

@Jojo-Schmitz
Copy link
Contributor

rebase needed (sorry, I think at least partly my #6255's fault)

@vpereverzev
Copy link
Member Author

vpereverzev commented Nov 12, 2020

Well, along with the (still to be added) new fonts Leland, Leland Text and the Edwin family, we're gonna have backwards compatibility problem anyway I guess, so maybe we need to live with this then?

Yes, that was the one of the main motivations for 3.02 introduction along with new engraving improvements, because it's a literally new version of the format anyway

@Jojo-Schmitz
Copy link
Contributor

That backwards compatibility issue is a very bad thing! And as explained in the Telegram chats, not needed at all, if you just change the internally coded defaults, i.e. change those to Leland and not record that in the score.

@@ -7646,7 +7646,7 @@ MuseScoreApplication::CommandLineParseResult MuseScoreApplication::parseCommandL
parser.addOption(QCommandLineOption({"M", "midi-operations"}, "Specify MIDI import operations file", "file"));
parser.addOption(QCommandLineOption({"w", "no-webview"}, "No web view in start center"));
parser.addOption(QCommandLineOption({"P", "export-score-parts"}, "Use with '-o <file>.pdf', export score and parts"));
parser.addOption(QCommandLineOption( "no-fallback-font", "Don't use Bravura as fallback musical font"));
parser.addOption(QCommandLineOption( "no-fallback-font", "Don't use Leland as fallback musical font"));
Copy link
Contributor

@Jojo-Schmitz Jojo-Schmitz Nov 12, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure what to make out of this, in connection with my proposal for Petaluma to fall back to MuseJazz first.

Maybe just "Don't use a fallback musical font"?

Or leave it Bravura, as even Leland falls back to Bravura in the end

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See #6856

@vpereverzev
Copy link
Member Author

That backwards compatibility issue is a very bad thing! And as explained in the Telegram chats, not needed at all, if you just change the internally coded defaults, i.e. change those to Leland and not record that in the score.

I think this is not really an option, because it means that once the user changes the font from the standard Leland to, say, Bravura, they can never change it back and save again if we'll not write it in the score. Therefore, every time he opens his score, he will have to go into the styles dialog and temporarily return Leland :)

From my perspective, upgrading the format version is quite natural here, because we will greatly upgrade the engraving rules. It would be wrong if such drastic changes did not affect the format version. Perhaps @Tantacrul might add a few words here.

@vpereverzev
Copy link
Member Author

That dialog needs to get made working for the dark theme! Currently it leaves the user in the dark (pun intended):
dialog
Also #6255 changed (or rather: was supposed to change) that "Never ask this again" to the clearer "Remember my choice and don't ask again". In a different dialog (importing pre-3.x scores), but IMHO the same string makes sense here too.

THX, fixed

@vpereverzev vpereverzev added the vtests This PR produces approved changes to vtest results label Nov 13, 2020
@Jojo-Schmitz
Copy link
Contributor

Jojo-Schmitz commented Nov 13, 2020

Leland and Edwin should get an 'honorable mention' in fonts/Readme.md

See #6856

@@ -40,6 +40,8 @@ if (MSVC)
endif (MSVC)

QT5_ADD_RESOURCES(qrc_files ${PROJECT_SOURCE_DIR}/mtest/mtest.qrc
${PROJECT_SOURCE_DIR}/mscore/musescorefonts-Leland.qrc
${PROJECT_SOURCE_DIR}/mscore/musescorefonts-Edwin.qrc
Copy link
Contributor

@Jojo-Schmitz Jojo-Schmitz Nov 13, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For some reason ${PROJECT_SOURCE_DIR}/mscore/musescorefonts-Campania.qrc is missing in this file.
Not a fault of this PR, not causing any issue yet, still something to fix IMHO

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, solved ;-)

<property name="text">
<string notr="true">Leland</string>
</property>
</item>
<item>
Copy link
Contributor

@Jojo-Schmitz Jojo-Schmitz Nov 13, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Leland Text" missing (in the next pull down) (even if it is just cosmetical, but so it this one here too)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. solved

@Jojo-Schmitz
Copy link
Contributor

Leland.mss needs to get installed into the styles folder (next to MuseJazz.mss), here in the GitHub repo only it doesn't help anybody ;-)

@vpereverzev
Copy link
Member Author

Leland.mss needs to get installed into the styles folder (next to MuseJazz.mss), here in the GitHub repo only it doesn't help anybody ;-)

ah, very useful, TY
I've tried to find something related to Bravura

@AntonioBL
Copy link
Contributor

Ciao.
There is apparently a problem with vtest emmentaler-4, here is how it appears with this PR:
emmentaler-4-1

I didn't check, but are all "Emmentaler-*" vtests affected by this PR (not only their text, but also their musical symbols) just because they rely on Emmentaler being the (previous) default font (and thus they do not explicitly mention this font in the file structure)?

Additional note: isn't the percussion clef a little decentered? See for example vtest fmrest-1.
fmrest-1-1

@Jojo-Schmitz
Copy link
Contributor

Jojo-Schmitz commented Nov 13, 2020

I guess we'd need a whole new set of Leland vtests, and make those Emmentaler test files explicitly using Emmentaler.
Or just rename them all to Leland* (and create a set of Emmentaler vtests, but maybe that is optional?)

@@ -0,0 +1,1097 @@
<?xml version="1.0" encoding="UTF-8"?>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fine, but we now have a duplicate, that other in fonts/Leland?

@its-not-nice
Copy link
Contributor

its-not-nice commented Nov 13, 2020

Additional note: isn't the percussion clef a little decentered? See for example vtest fmrest-1.

Clefs are all left-justified, and SMuFL recommends setting zero sidebearings for most symbols, so that's why it looks like this (as it does in Bravura).
Emmentaler/MScore sets a wideish left sidebearing to quasi-centre the percussion clef. We might consider it as an option.

@vpereverzev
Copy link
Member Author

I guess we'd need a whole new set of Leland vtests, and make those Emmentaler test files explicitly using Emmentaler.
Or just rename them all to Leland* (and create a set of Emmentaler vtests, but maybe that is optional?)

Yes, that is exact plan for us

@vpereverzev vpereverzev merged commit f1c4951 into musescore:3.x Nov 13, 2020
@MarcSabatella
Copy link
Contributor

The handling of clefs (up through 3.5) involves some special-casing in the code, in order to support the way clefs had previously been justified within the font. I forget the details, but it will be good to review how clefs are positioned in all the different places they occur - beginning of score, mid-measure changes (especially if there are notes on other staves that might overlap), clef changes before barline, courtesy clefs, etc.

vpereverzev added a commit to vpereverzev/MuseScore that referenced this pull request Nov 14, 2020
igorkorsukov added a commit to igorkorsukov/MuseScore that referenced this pull request Feb 8, 2021
vpereverzev pushed a commit that referenced this pull request Feb 8, 2021
igorkorsukov added a commit to igorkorsukov/MuseScore that referenced this pull request Feb 8, 2021
igorkorsukov added a commit that referenced this pull request Feb 8, 2021
@vpereverzev vpereverzev deleted the 3.6_scores_upgrade branch July 3, 2021 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
vtests This PR produces approved changes to vtest results
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants