Voices can destroy timing + cursor always start at beginning of measure when switching voices

• Mar 1, 2010 - 21:22
Type
Functional
Severity
S4 - Minor
Status
closed
Regression
No
Workaround
No
Project

... and the cursor moves back to the beginning of the bar where it assumes that the second notes MUST be re-enter from the beginning of the bar. Can we check to see if the particular bar has already got the second voice or not first and only put the cursor at the beginning of the bar if the second voice has not been created, but starts the cursor from the current note if the second-voice has been created up-to that point?


Comments

Create a 4/4 time, A major key (C#, F#, G#), ie. 3#, with a voice track with 1 bar.

using the following keyboard sequence:

n, 6, e, 5, space, 4, e, e, Esc (e Half-note, crochet rest, e quaver, e quaver)

Click mouse on the first e (half-note) and enter the following keyboard sequence:

n, Ctrl+i, Ctrl+2, 6, e, 5, space, 4, e, e, Esc (save as above on voice-2 - green)

Now using mouse to select and delete the last 2 e (quavers, black notes with single stem) which will remove 2 notes on the 2nd voice,

Using mouse to select the first quaver note (eighth note) on the first voice (blue highlighted) then enter the following keyboard sequence:

n, Ctrl+i, Ctrl+2, 4, e (enter the note entry mode, change to the voice-2, select quaver, enter e).

You'll see that the cursor moved back to the position behind the half-note (white with stem up) and the software generated 3 notes, 2 quavers and 1 crochet, when the 2nd voice of the bar already existed.

Expected result:
Cursor appear before the first quaver, when entering e, the first quaver of the 2nd voice appeared over the note of the 1st voice, with a stem points downward, a quaver rest (green) appears under the position of the second quaver, expecting to see another quaver note to be entered.

I'm having a little difficult understanding your description of the expected result. Here's what I can make out (correct me if I'm wrong). In the future please include a description of the actual result as well. It help point out the contrast, what to look for, and confirms whether we are understanding.

1. You expect the first quaver head in voice 2 to be vertically aligned with the half-note in voice 1. Actual result: voice 2 is off to the side. My commentary: You can manually change the horziontal position of a note (double click on the misplaced notehead and use the arrow keys to move it). However it is not standard notation for this situation and it makes the half note look like a quarter note.

2. You expect voice 2 to change to quaver note, quaver rest, quarter note... Actual: result voice 2 has quaver note, quaver note, quarter note. my commentary: Can you describe why the former is more desirable?

Please see the attached image in this post to see the expected result. When starting enter the Voice-2 mode at the selected note (by using Ctrl+i, Ctrl+2), the cursor will be put infront of the selected note, ready for entering notes with a desired duration. This is due to the fact that the bar already has Voice-2 track and that the duration of notes has filled up to the selected point, otherwise, put the cursor at the last position where Voice-2 has been entered, or at the beginning of the bar if there is no Voice-2 in the bar. If all duration has been filled, highlights the selected note using Voice-2 colour, allowing the modification of note, using arrow key (up/down), or changing the duration value of the note etc..

Title Cannot choose 2nd voice from a particular note within the bar when 2nd voice has already been created... Voices can destroy timing + cursor always start at beginning of measure when switching voices
Status (old) needs info active

r2811

There are at least two bugs. First one is an ergonomy problem.

  1. Open the attached file
  2. Select first 8th note in first measure
  3. Enter note entry mode
  4. Switch to voice2
  5. Enter a 8th note E

Expected and actual result are included in the file.
In the expected result, MuseScore needs to figure out that the user want to add the notes on the 4th beat.

Second one is more critical and corrupts the timing of the score

  1. Open the attached file
  2. Copy paste the first measure of the second line to the next measure
  3. Select and delete the 8 notes on voice 2
  4. Select the first eight note
  5. Enter note entry mode and switch to voice 2
  6. Because of the first bug, enter a half note E, a quarter rest, and 2 eights notes in voice 2

Expected result : the same measure than the first one.
Actual result : A kind of 5 beats measure. See attachement

Attachment Size
voice_problem.jpg 7.09 KB
voice2cursor.mscz 1.91 KB

I get an error

Fatal error: Call to undefined function project_issue_state() in /persistent/html/pressflow/sites/all/modules/project_issue/views/handlers/project_issue_handler_filter_issue_status.inc on line 30

if I try to download the files attached to comment #5. This happens IMHO always if you first upload a file and then click on preview button. As a workaround always preview first then attach files.

Thank you for re-uploaded files. I played around with the second issue and it looks as if MuseScore were unable to handle missing rests when deleting notes in a voice other than the first one.

Once a note of the second voice is deleted, MuseScore drops the time value of the deleted note from the total duration of the measure and the only way to recover is to delete all notes in the second voice in this measure and enter them again. The workaround: never delete but replace notes with rests and set the rests invisible.

  1. Open the attached "voice_2_timing_corruption.mscz", select D in the second voice in the first measure
  2. Press Del
  3. Switch into Note Input Mode for the second voice and try to replace the first quarter with a half
  4. Actual results: the note on the 3rd beat in the second voice is overwritten as if the time signature were 3/4.
    Expected results: only the quarter on the first and the imaginary rest on the second beat are replaced by a half note.

    When deleting notes in the first voice, MuseScore automatically replaces them with rests. Maybe MuseScore should proceed this way with all voices?

    r2816, Ubuntu 9.10, Qt 4.6.1

Attachment Size
voice_2_timing_corruption.mscz 1.53 KB

Some of the problems are fixed. Especially the score should not be corrupted anymore so i want to change the priority from critical to normal.