musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.02k stars 2.59k forks source link

Need to prevent notes being entered below the tuning range of the staff #20989

Open rgreen5 opened 7 months ago

rgreen5 commented 7 months ago

Issue type

UX/Interaction bug (incorrect behaviour)

Bug description

Using the guitar 8vb staff as an example. It is possible to enter notes accidentally below the tuning rage of the stave (i.e. below E) because the note input algorithm does not always choose the correct octave. This often happens when the previously-added note is low on the bass string. In this case it is clear that any subsequent note should be added at the higher octave so that it above the lower tuning limit of the guitar. Unfortunately this does not always happen and the note is added at the lower octave.

Suggestion: Institute a further check in note-input mode to ensure that the note is added at the appropriate octave, where there is ambiguity: i.e. above the minimum tuning range of the guitar.

No doubt this can also be applied to other instrunents.

MuseScore Version

MuseScore version (64-bit): 4.2.0-233521125, revision: github-musescore-musescore-eb8d33c

Regression

No.

Operating system

OS: Linux Mint 20.1, Arch.: x86_64,

XiaoMigros commented 7 months ago

I think this is by design; the octave is always chosen based on proximity to the lowest note in the previous chord. Implementing this on a wide scale would cause problems for instruments such as trumpets or violins (who can play well above the typical range on occasion) and implementing this partially would just be confusing.

rgreen5 commented 6 months ago

Just wanted to add that this feature would only need to apply to staves (such as the guitar) which have string tunings on them. In this case (IMV) it would appear to make sense to restrict the lowest note which can be entered to at or above the pitch of the open lowest string. Otherwise when entering notes in the lowest register it is not uncommon for the entered note to be pitched below that of the open bottom string.

rgreen5 commented 2 months ago

Try this:

  1. On a guitar staff add a low E (0 fret, 6th string).
  2. Now add an A, B, C, or D from the computer keyboard.

Expected result: The note should be added within the tuning range of the guitar (at the lowest possible fret position). Actual Result: The note is added in the wrong octave, below the tuning range of the guitar.

This is illogical and really annoying for the user; not to mention the extra number of clicks required to put it right.

MarcSabatella commented 2 months ago

I agree this could be a nice enhancement. However, it would come at a cost: it would mean for users who actually intend to enter lower notes (because they are calling for a modified tuning), results would be very unexpected since they are inconsistent with the behavior everywhere else on the fretboard and everywhere else for all other instruments. Yes, they could change tuning, but people not using tablature wouldn’t normally be required to do that. The proposed change could end up being a behavior that many users perceive as a bug.

So I’m not convinced the very small gain is worth the trade off. As mentioned, it’s already the case everywhere else that when entering notes by computer keyboard, a leap of a fifth or greater requires you to change octave. So I that would remain true for five of the six strings, and for all other instruments. And unless I’m missing something, regarding the “extra numbers of clicks required to put it right”, that number is “1” (Ctrl+Up).

sammik commented 2 months ago

Try this:

  1. On a guitar staff add a low E (0 fret, 6th string).
  2. Now add an A, B, C, or D from the computer keyboard.

Expected result: The note should be added within the tuning range of the guitar (at the lowest possible fret position). Actual Result: The note is added in the wrong octave, below the tuning range of the guitar.

This is weird. A after E should be always added above E, as quarta is closer than quinta. (It actually is added above E, in my MuseScore).

rgreen5 commented 2 months ago

This is weird. A after E should be always added above E, as quarta is closer than quinta. (It actually is added above E, in my MuseScore).

Actually, you're quite right. A after bottom E does give the correct octave; but B, C, or D, after a bottom E are entered in the wrong octaves.