Stem direction doesn't always change appropriately when tranposing.

• Dec 22, 2010 - 08:15
Type
Graphical (UI)
Severity
S4 - Minor
Status
by design
Project

I am using Musescore 0.9.6.3 and am encountering a bug when transposing.

Sometimes when transposing, the stems simply remain pointed in the same direction (up or down) even when they should switch from an up stem to a down stem or vice versa. For example, transposing from G above middle-C to C an octave above middle-C should cause an up stem to switch to a down stem, but this often doesn't happen.

I've seen the stems change properly and I've seen them remain unchanged. Right now I'm seeing them remain unchanged when transposing. I don't know what causes them to behave properly sometimes but not others.

The file I am currently experiencing problems with was originally an MXL file downloaded from Wikifonia.org, then subsequently saved as a MuseScore file. The song is the November 19, 2008 revision of Away in a Manger which came from http://www.wikifonia.org/node/872#/C/0/1

I have attached before and after screenshots.

Attachment Size
Transpose-before.png 5.83 KB
Transpose-after.png 5.44 KB

Comments

David Bolton made the following comment:

The stem direction changes direction unless MuseScore is told specifically whether the stem should be up or down. Usually this only happens if you flip the stem direction (using X) during editing. In this particular instance the MusicXML file explicitly specifed the stem direction for every note (MuseScore is simply complying with this information).

To set the stem directions back to "auto": select all, right click on a note head and choose "Note Properties", change stem direction back to "Auto".

A bit unintuitive, but OK. I'm no expert musician, but I thought that stem behavior in music notation simply followed certain rules based on where the note was on a staff. Is there a benefit (that outweighs the cost of user confusion) to allowing users to break the standard music notation rules?

I agree that it is odd that the file specified the stem direction for every note, but it is important for MuseScore (and any significant editor) to support stem directions other than the default. There are many occasions when opposite stem directions are required: notes on center line can change depending on what looks best, multi-voice harmony such as four-part hymnals, etc.

It is odd that the file specified the stem direction for every note, but MuseScore is the app doing it.

Try this:

1) Open a MuseScore (.mscz) file. Make sure all notes have stem direction set to "auto".
2) Confirm that stem direction changes when you transpose. Then undo your transposition change.
3) Save a copy of the file in MXL format and another in XML format.
4) Open the MXL file you just saved.
5) Transpose the MXL file just as you did with the MSCZ file. Notice that stems don't change direction this time.
6) Open the XML file in a text editor. Notice that notes have the stem position specified, even though your MuseScore setting for stems was "auto".

Stem position is not a required attribute according to the MusicXML 2.0 DTD. MuseScore should probably not be saving stem direction/position to MXL files if the setting is "auto", but it is.

Another interesting observation: When MuseScore reads in a MusicXML file, it maintains note stem position as specified in the MusicXML file when transposing. When Wikifonia, which uses Lilypond, reads in a MusicXML file, it ignores note stem position as specified in the MusicXML file when transposing.