Skip to content
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

fix #105936 and move tempo selection to timesig page of New Wizard #3671

Conversation

JGreenlee
Copy link
Contributor

Fixes https://musescore.org/en/node/105936
And, as suggested in the issue, moves the tempo field in the New Wizard to the more logical page dealing with time signatures, as opposed to the page dealing with key signatures as it had been before.

@anatoly-os
Copy link
Contributor

anatoly-os commented May 14, 2018

The code looks good, but I didn't test, yet.

@lasconic
Copy link
Contributor

lasconic commented May 15, 2018

I just compiled it on Mac. It looks like this in the new score wizard. Is the shift of the tempo checkbox on purpose?

capture d ecran 2018-05-15 21 10 02

@JGreenlee JGreenlee force-pushed the 105936-new-wizard-tempo-migration-and-fix branch from ead1d01 to 501d36a Compare May 15, 2018 21:30
@JGreenlee
Copy link
Contributor Author

@lasconic That was NOT intentional; good catch.

That was actually the result of a bigger problem; I wasn't following the form with which the other time elements had been constructed. For some reason the key signature page followed a different form than this page.

I just amended my commit to address this.

@JGreenlee JGreenlee force-pushed the 105936-new-wizard-tempo-migration-and-fix branch from 501d36a to e7d328c Compare May 15, 2018 21:51
@lasconic
Copy link
Contributor

lasconic commented May 16, 2018

It's better, but not perfect yet ;) Could you pad controls to the left ?

capture d ecran 2018-05-16 09 57 49

setAccessibleName(title());
setAccessibleDescription(subTitle());

w = new TimesigWizard;
QGridLayout* grid = new QGridLayout;
grid->addWidget(w, 0, 0);

Copy link
Contributor

Choose a reason for hiding this comment

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

Also, please remove this code if it's not needed.

mscore/file.cpp Outdated
@@ -725,10 +725,52 @@ MasterScore* MuseScore::getNewFile()
delete nvb;
}

if (newWizard->createTempo()) {
double tempo = newWizard->tempo();
double tempo = 80;
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't this be 120?

<number>120</number>
</property>
</widget>
</item>
Copy link
Contributor

Choose a reason for hiding this comment

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

Probably need to add a horizontal space here

    <item>
     <spacer name="horizontalSpacer">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
      </property>
      <property name="sizeHint" stdset="0">
       <size>
        <width>40</width>
        <height>20</height>
       </size>
      </property>
     </spacer>
    </item>

@JGreenlee JGreenlee force-pushed the 105936-new-wizard-tempo-migration-and-fix branch from e7d328c to 6712db1 Compare May 16, 2018 19:28
@JGreenlee
Copy link
Contributor Author

JGreenlee commented May 16, 2018

screenshot from 2018-05-16 18-49-55

@lasconic
Copy link
Contributor

OK, the UI looks good now.
What about the logic ? I believe we are changing the logic here, maybe for the best ?

Thorough MuseScore, BPM means quarter per minute (and not beat per minute), probably inherited from MIDI.
Now, with this PR, when the user chooses 6/8, and 120BPM, we insert a "dotted quarter = 120"... When text handling is unbroken and "follow text" works again. It will end up with a tempo text at 180BPM.
So this PR will change the semantic of BPM in the new score wizard, are we ok with this ??

@JGreenlee
Copy link
Contributor Author

JGreenlee commented May 18, 2018

@lasconic I agree that this PR does change the logic. I do think it's for the best. Your opinion matters more than mine, but I shall state it anyways:

On one hand, it is good to be consistent with what Musescore defines as BPM.
On the other hand, the logical definition of BPM is just that: beats per minute.
While it's convenient in many ways to handle all tempos with respect to quarter notes, I think this should be limited to the backend, and encapsulated so that tempos shown to the user reflect the musical definition of BPM. So in your example, the tempo would be stored and handled in the code as 180, but shown to the user as 120. As a user, this was the behaviour I first expected until I realized everything was being measured in quarter notes.
Granted, the rest of Musescore (play panel, inspector) still define BPM with respect to the quarter note. Should we decide to go in the direction I propose, there should be some measure taken to prevent confusion while the rest of Musescore is under construction in this aspect.

How about if I add an indication to the tempo selection in the wizard that shows "quarter note equals" or "dotted quarter equals" depending on the time signature? Would that be good?

Edit: to clarify, for the proposed indication I mean the quarter note symbol and equals sign, not the literal text "quarter note equals"

@Jojo-Schmitz
Copy link
Contributor

Jojo-Schmitz commented May 18, 2018

I'd rather have 120 quarter notes per minute staying the default, so recalculate the number for display?

@lasconic
Copy link
Contributor

How about if I add an indication to the tempo selection in the wizard that shows "quarter note equals" or "dotted quarter equals" depending on the time signature? Would that be good?
Yes, I believe that would be better but the user needs to be able to edit it.

Unlike Jojo, I wouldn't mind if we keep 120 unit per minute. @Jojo-Schmitz why do you think it's better to keep 120 QPM ?

@Jojo-Schmitz
Copy link
Contributor

Jojo-Schmitz commented May 22, 2018

I'd rather keep the established default of 120 quarter notes per minute, which for non x/4 meters might mean to have to show the recalculated values, so quarter equals 120 but dotted quarter equals 80, half note equals 60 etc. for it to show what the default is if tempo text is not enabled.

I'd like to see the same in the tempo text palette

@lasconic
Copy link
Contributor

Yes, I got that but why ? :)

@Jojo-Schmitz
Copy link
Contributor

Because I'd like it to show the default, at least as long as it is disabled

@JGreenlee
Copy link
Contributor Author

What is exactly is my job here? Have we decided on a course of action?

@JGreenlee JGreenlee closed this Apr 14, 2019
@Jojo-Schmitz
Copy link
Contributor

Why?

@Jojo-Schmitz
Copy link
Contributor

Resurrected in PR #5957

@JGreenlee JGreenlee deleted the 105936-new-wizard-tempo-migration-and-fix branch May 16, 2021 05:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants