Skip to content

Tab renderer: Hammer-on / Pull-off arcs missing H/P text labels #2608

@rafaelsales

Description

@rafaelsales

Summary

In AlphaTab's tab renderer (StaveProfile.Tab), hammer-on and pull-off connections are rendered as a curved arc between notes, but the standard H and P text labels that appear above the arc in conventional guitar tab notation are never drawn.

Expected behavior

When a hammer-on or pull-off arc is drawn between two tab notes, it should include a text label:

  • H for hammer-on (ascending fret, e.g. 5→7)
  • P for pull-off (descending fret, e.g. 7→5)

This is the universal convention in professional guitar tab publications (Guitar World, Hal Leonard songbooks, official artist transcriptions) and in Guitar Pro, the file format AlphaTab is largely designed to render.

Actual behavior

Only the arc is drawn. No text label appears regardless of whether the connection is ascending (hammer-on) or descending (pull-off).

Why this matters

  • Pedagogical clarity — learners need the label to know whether to hammer or pull. An unlabeled arc between two tab numbers is ambiguous; it could be a slur, a tie continuation, or a legato slide to a reader who isn't already expert.
  • Standard compliance — every major printed tab format uses H/P labels. Omitting them makes AlphaTab output look incomplete compared to any commercially published tab.
  • Accessibility — students and intermediate players rely on explicit technique annotations. Advanced players don't need them, but they don't hurt either.

Environment

  • AlphaTab version: 1.8.1 (latest as of this report)
  • Stave profile: Tab (also absent in TabMixed)
  • Format: AlphaTex and MusicXML (both affected, same rendering path)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-renderingEverything related to the renderingplatform-allAffects all platformsstate-acceptedThis is a valid topic to work on.

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions