-
Notifications
You must be signed in to change notification settings - Fork 3k
[MU4] Preparation ScoreOrdering: part names in instruments form #8099
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
[MU4] Preparation ScoreOrdering: part names in instruments form #8099
Conversation
1e00aa6 to
3601da4
Compare
3601da4 to
010f9ed
Compare
|
The new position of the soloist button is working well, I think. We'll need to do a bit of UI cleanup on the button. One quick thing: I think we should reduce the distance between the edges of the text and the edge of the button I also think we need to create a special button style just for this. @njvdberg - are you comfortable implementing that or should I ask @cbjeukendrup or @Eism ? |
|
@Tantacrul Depends on how difficult the specs of this new button will be and on the urgency. If it isn't the most urgent job, I'm willing to give it try, always nice to explore new things. I suppose I can fallback on @cbjeukendrup and/or @Eism in case I'm running into problems. Nice MSoC project (Musescore Summer of Code) 😃 |
|
@njvdberg I would recommend to extend the existing FlatButton component, rather than creating a new one. You could add a property called something like Currently, the 'calculation' for the width is on one line, so when taking the new property into account, I think it's a good idea to write it out like |
d83c9d7 to
d38c9d2
Compare
|
@vshalkevich please, check this PR |
e0149f7 to
a62ecfe
Compare
|
@njvdberg Could you rebuild failed MU4 file for Window 10 x64 ? I would like to check also on it |
It must have failed due to the Chocolatey package manager server being down due to maintenance. Now, it should be working again, so when triggering the workflow again, it will build. |
I didn't realize that thing was down to whatever reason but I reckoned the cause was somewhere outside my scope 😉 |
| instrument.transpose.diatonic = reader.readElementText().toInt(); | ||
| } else if (reader.name() == "instrumentId") { | ||
| instrument.id = reader.readElementText(); | ||
| instrument.musicXMLid = reader.readElementText(); |
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.
Why are both "instrumentId" and "musicXMLid" going to instrument.musicXMLid?
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.
"instrumentId" is the unique identification, that's the one which we really need. "muscXMLid" is still used somewhere, e.g. when reading a score which doesn't have a id specified for an instrument. Then musicXMLid is used for guess what instrument it should be. It is also used for reading MU1 and MU2 scores.
So it is best keep this parameter (and up-to-date).
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.
Shouldn't "instrumentId" then go to instrument.id instead of instrument.musicXMLid?
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.
No, in the Instrument section of the score file, the MusicXMLid is called instrumentId (because was used as an id in older version of MuseScore. The same MusicXMLid is defined in instruments.xml with the musicXMLid tag.
An example:
In instruments.xml the Flute is defined as
<Instrument id="flute">
<family>flutes</family>
<longName>Flute</longName>
<shortName>Fl.</shortName>
<description>Standard Concert Flute</description>
<musicXMLid>wind.flutes.flute</musicXMLid>
.
.
In the score file the same Flute appears as
<Instrument id="flute">
<longName>Flute</longName>
<shortName>Fl.</shortName>
.
.
<instrumentId>wind.flutes.flute</instrumentId>
.
.
But welcome in the wonder world of instrument id's 😉 Here is some history....
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, now I understand! Thanks!
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.
My pleasure 😃
This drove me crazy last year, all these id's and in the meantime changing names.
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.
For MU4, I think we would be justified in changing <instrumentId> to <MusicXMLid> in the MSCX file format and using compatibility code to deal with old scores during import. There will already be other changes in the file format (e.g. for the Smart Tempos project), so it might be worth tidying up the syntax here and potentially a few other places too.
Edit: created issue https://musescore.org/en/node/322680
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.
Changing the tag <instrumentId> into <MusicXMLid> would be nice and makes thing more clear 😄
a62ecfe to
30721cd
Compare
…fined by the "id" attribute of the "instrument" tag in instruments.xml. Reasons for this change are: - musicXMLid isn't unique for instruments. - not all instruments have a musicXMLid defined.
…and use the instrument names otherwise. The behavior is now similar as it was in 3.x. The PR is required for the upcoming score ordering PR which needs part information for the ordering.
…ctedInstrumentInfo for each part and no longer for each instrument in each part.
Replace "instrument" in some variables/methods by "part" which actually is. Remove Excerpt when assoicated score is empty (doesn't contain any staves). This happens when all parts are rmoved from the excerpt.
…order names. Form will show initial "soloist" status and implements soloist toggling.
30721cd to
d4e619c
Compare
|
Just another rebase. |

This PR is the first of a number of PR's required to
PartsandExcerptsThe changes in this PR are:
-1 Replace MusicXMLid as an instrument id by the
idas given ininstruments.xmlThis solves the issue an Oboe suddenly becomes a Baroque Oboe when the instruments form is opened again. The reason for this name change is MusicxXMLid isn't unique, several instrument share the same MusicXMLid. Both Oboe and Baroque Oboe share the same MusicXMLid, wind.reed.oboe but there also 3 Cornets, 4 Bariton Horns and even 10 Horns share the same id. This similar to PR #7995 but since it was required here too it is include in this PR and PR #7995 is closed.
-2 Your score in instrument form now shows
Partsrather thanInstrumentsIn the list under Your score, "Instruments" should refer to
Parts, notInstruments. Please notePartis a class as used internally, not "Part" as seen on the UI, which is actually anExcerpt. And to complicate things even more, the word "Instrument" on the UI sometimes refers to aPart-class, sometime to anInstrument-class. The column Your score actually show thePartsfor anInstrument.By this change 2 issues are solved
With this PR the
Partis removed, what actually is supposed to happen. PR [MU4] Show part name in instrument form instead of instrument name. #8048 is partly doing the same but this PR is more elaborated and replaces PR [MU4] Show part name in instrument form instead of instrument name. #8048.-3 Soloist function implemented
When a part is made Soloist the part is made soloists. The form now also reflect the actual status of the part, soloist not no soloist. This is first step to implementing score ordering.
-4
Make soloistbutton movedOriginal the Make soloist button was in the header of the part list under Your score. To make more space for the score order name is was decided to move this button to the instrument line. For the discussion, see the discussion with @Tantacrul on Discord (
designchannel, April 15th, 2021).-5 Some minor typos corrected.
When encountered some minor typos are corrected.