Silently skiping unimplemented parts of an operation
I ran into a case where MuseScore quietly skips doing a part of an operation it was requested to do. This brings up the question whether or not it should bring up a dialog box warning the user that it was unable to perform all of the operation it was requested to do. The particular case I ran into was merging vocal parts from four staffs (S A T B) to two (SA TB). Since this is you would typically do after you have completed working the individual parts and are reducing the score for printing, it is likely to be done on an entire score. Therefore, having the operation not performed on a few notes within the score can easily go unnoticed until fixing the problems introduced can be difficult.
The details are as follows:
The new voice-move algorithm did a great job when I used it to perform the merges. All I had to do to combine Soprano and Alto parts was to move the Alto part to Voice 2 and then cut the Soprano part from its staff and paste it into the staff where the Alto part was located. I then repeated the process for Tenor into Bass. This worked great because the method I used to move the Alto part to Voice 2 was to use Edit : Voices : Exchange Voice 1-2.
There would appear to be an alternate one-click method of switching the notes in a measure from Voice 1 to Voice 2: just click on the Voice 2 number button in the note entry palate. However, clicking on the Voice 2 button with measures selected is intended to mash all the notes into Voice 2. When the only notes present are in Voice 1 the results will be the same with very important exceptions. Combining duplets with other (non-null) voices is virtually impossible and combining tied notes is very difficult. MuseScore does not attempt to perform merge these notes into Voice 2 but rather leaves them in Voice 1. No notes disappear. When the notes from the other staff are pasted into the staff where most notes were moved to Voice 2, all looks fine. However on closer examination, the tied and duplet notes that were left in Voice 1 are now gone. They are over-written by the Voice 1 content that was pasted into their staff. Performing the operation on those notes that could be merged and presenting a warning dialog box would at least warn the user that something was not done.