Skip to content

Conversation

@RMRattray
Copy link
Contributor

@RMRattray RMRattray commented Feb 7, 2026

Resolves, in part: #14815

Towards parts 4-6 of that issue, this changes the ShadowNote::drawArticulations method to layout articulations similarly to how the ChordLayout::layoutArticulations functions do, albeit assuming default styling and treating the shadow note independently (rather than accessing a LayoutContext or other objects).

The methods it called, drawArticulation and drawMarcato, were replaced with drawCloseArticulation (for staccato and tenuto) and drawFarArticulation (including marcato, accent, and laissez-vibrer), based on (an equivalent to)* Articulation::layoutCloseToNote, because those categories are treated differently in chordLayout.

*(layoutCloseToNote itself is not used, as the ShadowNote has a set of SymIds, not real articulations in the DOM).

Screenshot from 2026-02-07 16-05-31

Tested with staccato, tenuto, marcato, and accent. ⚠️ Notably not tested with laissez-vibrer: those would still be drawn where 1cb862b left them drawn, and are not accounted for by staccato and tenuto marks - but it seems that laissez-vibrer isn't an option for the shadow note's note input method currently.

  • I signed the CLA
  • The title of the PR describes the problem it addresses
  • Each commit's message describes its purpose and effects, and references the issue it resolves
  • If changes are extensive, there is a sequence of easily reviewable commits
  • The code in the PR follows the coding rules
  • There are no unnecessary changes
  • The code compiles and runs on my machine, preferably after each commit individually
  • I created a unit test or vtest to verify the changes I made (if applicable)

@RMRattray RMRattray force-pushed the fix-shadownote-articulations branch from 39b9d57 to e30ff6f Compare February 9, 2026 15:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant