Repository navigation
Description
If a MusicXML file with a scoop is imported to alphaTab, the scoop doesn't come through. I'm working on a dobro-related project, so I have lots of scoops in my tabs. (Per the AI description below, this is also true for plop, doit and falloff articulations.) I have a PR ready to open if I get the okay.
-Sage
(AI-drafted details below)
Is there an existing issue for this?
- I have searched the existing issues
I have read the contribution rules
- I have read CONTRIBUTING.md and, if any AI agent helped draft this issue, AGENTS.md.
AI authorship
AI-assisted (disclosure block included as described in AGENTS.md)
Current Behavior
Note
AI-authored disclosure (alphatab-ai-authored-v1)
Portions of this content were authored by an AI agent. The agent has read
AGENTS.md and the human submitter accepts responsibility for
compliance with the rules in that document.
Drafted with an AI assistant
A note with <scoop/> in its <articulations> is drawn with no mark: no line rising into the note, on a standard
staff or on tab. The same holds for <plop/>, <doit/> and <falloff/>. Loaded through the API, the note's
slideInType and slideOutType stay None.
alphaTab's own reference image for the MusicXML test suite file 32a-Notations.xml shows it: the notes labelled
"scoop", "plop", "doit" and "falloff" in bars 4 and 5 have no mark. The MusicXML feature table lists the four as not
supported.
Expected Behavior
MusicXML defines the four as indeterminate slides
(scoop: "an indeterminate slide attached
to a single note. The scoop appears before the main note and comes from below the main pitch"; plop from above; doit
and falloff after the note, up and down). alphaTab already draws and plays slides into and out of a note from Guitar
Pro and alphaTex files, so a scoop would show as a slide into the note from below, a plop from above, a doit as a
slide out upwards and a falloff downwards.
Steps To Reproduce
- Load this file (or
packages/alphatab/test-data/musicxml-testsuite/32a-Notations.xml, bars 4 and 5):
<?xml version="1.0" encoding="UTF-8"?>
<score-partwise version="4.0">
<part-list><score-part id="P1"><part-name>Voice</part-name></score-part></part-list>
<part id="P1">
<measure number="1">
<attributes>
<divisions>1</divisions>
<time><beats>4</beats><beat-type>4</beat-type></time>
<clef><sign>G</sign><line>2</line></clef>
</attributes>
<note>
<pitch><step>D</step><octave>5</octave></pitch><duration>1</duration><type>quarter</type>
<notations><articulations><scoop/></articulations></notations>
</note>
<note>
<pitch><step>D</step><octave>5</octave></pitch><duration>1</duration><type>quarter</type>
<notations><articulations><plop/></articulations></notations>
</note>
<note><rest/><duration>2</duration><type>half</type></note>
</measure>
</part>
</score-partwise>- Look at the first two notes: neither has a slide-in line.
- In Node:
alphaTab.importer.ScoreLoader.loadScoreFromBytes(bytes, new alphaTab.Settings()), then read
score.tracks[0].staves[0].bars[0].voices[0].beats[0].notes[0].slideInType: it is0(SlideInType.None).
Link to jsFiddle, CodePen, Project
No response
Version and Environment
[AlphaTab][VersionInfo] alphaTab 1.9.0
[AlphaTab][VersionInfo] commit: 9f1aa10460df1b326123d28a2222f7b20d081e61
[AlphaTab][VersionInfo] build date: 2026-10-31T21:16:42.187Z
[AlphaTab][VersionInfo] High DPI: 1
[AlphaTab][VersionInfo] Platform: NodeJs
[AlphaTab][VersionInfo] WebPack: false
[AlphaTab][VersionInfo] Vite: false
[AlphaTab][VersionInfo] Turbopack: false
Also seen in 1.8.4.
Platform
Node.js
Anything else?
Related: #2850 (other MusicXML articulations not imported).
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Area
Platform
Work State
Activity