View Issue Details

IDProjectCategoryView StatusLast Update
0000052MAIDENSCore Applicationpublic2021-07-18 15:55
Reporteradministrator Assigned Toadministrator  
PriorityhighSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformAllOSWindows & macOSOS Versionall supported
Product Version1.5 
Target Version1.5Fixed in Version1.5 
Summary0000052: Strange behaviour selecting wrong Note node
DescriptionWhen building a chord, after adding a new Note child to the cluster and editing its Pitch using the Editor, the selection, in the Project, Editor and Score stays on the Note node with the previous pitch (provided there is one). See the "Steps to Reproduce" for more insight.
Steps To Reproduce1. In a blank score, add a Cluster in Voice 1 of Measure 1, and a Note node to it. You should get a fourth/quaver with the pitch of middle C.
2. Add another Note node to the same cluster. The score will display a "unison" Cluster, sort of a note with two noteheads, both on the pitch of middle C; one of them will be selected;
3. WITHOUT changing the current selection, move the selected Note node's pitch from "C" to "G" in the Editor.

RESULTS: all panels keep the selection on the "C" Note node of the Cluster, whereas the "G" Note node should be selected.
TagsOSX, score editing, Windows

Activities

administrator

2020-05-01 11:38

administrator   ~0000016

On a side note, when using the "Transpose..." macro, with the "Keep existing" option enabled, new Note nodes are added in strange (possibly reversed) order, and the 1:1, score to model correspondence is broken, which results in erroneous selection (clicking a Note node in the score selects a wrong Note node in the Project and Editor).

This does not happen when adding/editing Note children by hand.

administrator

2021-07-02 12:58

administrator   ~0000036

Last edited: 2021-07-02 16:29

Note elements are not directly annotated in the ABC transport layer. Their DataElement score index is inferred based on their relative pitch, i.e., the lowest note is assumed to be at index 0, and that index is increased by each higher note. In order to make this reliable, Note elements are reordered by their pitch as the user adds, edits or deletes them. This has, historically caused quite some trouble.

A better approach would be to actually drop Notes representation as individually selectable objects: Note children would become a property of the Cluster Object, and displayed by the Editor as such; the Score would not allow note heads to be selected anymore, nor would the Project Tree. The virtual keyboard in the Editor would work in "sticky mode", thus alowwing for an arbitrary number of Notes to be added or removed to / from the current Cluster, simply by "toggling" the respective key. There remain a number of UI solutions to be found, such as starting ties from individual notes, or accidental spelling, or note-based articulations (is there such thing?) for individual notes. As a bonus, this approach would also provide faster speed for entering music.

administrator

2021-07-02 16:33

administrator   ~0000037

Worked around by forbidding same-voice unisons: added Notes to non-empty Clusters automatically shift up to prevent colision with existing pitches, and user is forbidden to set a Note's pitch to the same pitch as an existing Note's in the same Cluster (an error message shows and the edit operation is denied).

Issue History

Date Modified Username Field Change
2020-04-28 21:34 administrator New Issue
2020-04-28 21:34 administrator Status new => assigned
2020-04-28 21:34 administrator Assigned To => administrator
2020-04-28 21:34 administrator Tag Attached: OSX
2020-04-28 21:34 administrator Tag Attached: score editing
2020-04-28 21:34 administrator Tag Attached: Windows
2020-05-01 11:38 administrator Note Added: 0000016
2021-02-01 19:03 administrator Product Version 1.4.9 => 1.5
2021-02-01 19:03 administrator Target Version 1.4.9 => 1.5
2021-06-07 15:01 administrator Priority normal => high
2021-07-02 12:58 administrator Note Added: 0000036
2021-07-02 13:00 administrator Note Edited: 0000036
2021-07-02 16:29 administrator Note Edited: 0000036
2021-07-02 16:33 administrator Status assigned => resolved
2021-07-02 16:33 administrator Resolution open => fixed
2021-07-02 16:33 administrator Note Added: 0000037
2021-07-18 15:55 administrator Fixed in Version => 1.5