Concert pitch button does not affect key signature
When I create a new score using the Chamber Orchestra or Concert Band template with C major as the key signature, the "concert pitch" button does not work properly. It transposes the notes, but the key signature remains C major, thus introducing accidentals. Eg. if I enter a C major scale: c d e f g ... (concert pitch) in the clarinet voice, it will correctly transpose the notes to d e f# g a but using a C major key signature and an accidental sharp for the f#.
To see this in action, do the following:
1) New -> Create new score from template -> next -> Chamber Orchestra.mscx -> Next -> (select C major / A minor) -> Finish
2) Toggle the Concert Pitch button.
3) Observe that the key signature for the clarinets, horns and trumpets do not change.
The problem does not occur when I choose a different key signature to begin with (eg. F major works fine, Bb clarinets and trumpets correctly transpose to G major key signature and horns to C major).
Versions:
This was tested in version 1.0. I tried two different nightly builds (r4217 and r4245) to see if there was any difference, but they were actually worse, with the problem occuring in all key signatures.
Workaround:
1) Manually adding the correct transposed key signature to each instrument (eg. D major for the Bb clarinets) seems to solve the problem without causing any side effects.
2) Saving the file, closing Musescore and opening the file again also seems to solve the problem.
Severity:
Not severe, since there are simple workarounds available. But still very annoying and giving newcomers a bad start at the very beginning of creating a score.
Comments
I've seen this behavior in 1.0 only very rarely, but the two templates that include transposing instruments do trigger it. Works normally when creating a score from scratch,or if using a key signature other than C with the template.
I wish there were a way to *force* the non-transposing key signature. I only use key signatures when writing relatively straightforward tonal music, which is probably less than half of what I do. So the idea of a C major key signature that doesn't transpose is actually very high on my wish list. If I knew there were a reliable way to force that behavior, I'd be very happy.
I'm pretty hopeful that 2.0 will provide something along these lines, but as you've noticed, transposition is completely broken. Key signatures don't transpose at all, and courtesy accidentals transpose incorrectly. I think I'll submit an issue on this, since it's been that way for quite a while now. I had mentioned these behaviors in earlier reports, but I don't think there are issues in the tracker relating to 2.0 specifically.
In reply to I've seen this behavior in by Marc Sabatella
Hi Marc
Good to know I'm not the only one this happens to. As I said, it's not a major issue, but it's a shame it doesn't just work. I really like Musescore and would like to recommend it to many of my friends who literally spend hundreds of dollars on Sibelius and updates for it. But as long as these kinds of errors in basic functionality persist, I know my friends will be hard to win over to "our" side.
I guess you're right that non-transposing key signatures would be better for atonal music. There's no point in an atonal clarinet part being notated in eg. D major, it probably only makes it more confusing for the clarinettist. You should suggest this feature in the apropriate forum, if you haven't already done so. It shouldn't be too hard to implement either.
Speaking of which, why does Musescore have so much trouble with transposing? It shouldn't be too hard to do it correctly. Of the the many features Musescore provides, this is technically a pretty simple one. I'm well versed in music theory (completed most of a BA in musicology and have taught several students in analysis, choral hamonization, transposition and more) and have a pretty good understanding of algorithms, data structures etc. I'd love to talk to whoever is maintaining the code if they want my help. But my C++ is shaky and don't think I've ever written any code above 1000 lines of code, so I'm not sure I want to be involved in much of the actual coding. Sorry if I sound ignorant or arrogant. I know that creating something like Musescore is a daunting task (especially everything that has to do with layout), which is why I've never dared to actually read the source code. But writing reliable algorithms for transposing (ie. calculating key signatures, pitches, accidentals) is something I'm pretty comfortable with. Maybe I should go visit the IRC channel and mailing list after all...