Skip to content

feat(drums/tabs): allow showTablature for percussion (drums) notation#2591

Open
leocaseiro wants to merge 2 commits intoCoderLine:developfrom
leocaseiro:allow-tabs-for-drums
Open

feat(drums/tabs): allow showTablature for percussion (drums) notation#2591
leocaseiro wants to merge 2 commits intoCoderLine:developfrom
leocaseiro:allow-tabs-for-drums

Conversation

@leocaseiro
Copy link

Issues

Related to #474

Proposed changes

In this PR, I am allowing the display of tablature for drums as well.
This is useful to identify different patterns in drum guitar pro files. As some drummers use on kick (35) or another (36), or alternative toms that can be considered T1 (high), T2 (medium), or Floor Tom (low), but is quite different from gp file to file.

This feature is already available in Guitar Pro, Tux Guitar, and Soundslice.

Luckily for us, *.gp files already provide the string, and fret as an alternative tuning:

<Property name="Tuning">
    <Pitches>0 0 0 0 0 0</Pitches>
    <Flat></Flat>
    <Instrument>Undefined</Instrument>
    <Label>
        <![CDATA[]]>
    </Label>
    <LabelVisible>true</LabelVisible>
</Property>

eg.

<Note id="0">
    <InstrumentArticulation>8</InstrumentArticulation>
    <Properties>
        <Property name="ConcertPitch">
            <Pitch>
                <Step>C</Step>
                <Accidental></Accidental>
                <Octave>-1</Octave>
            </Pitch>
        </Property>
        <Property name="Fret">
            <Fret>36</Fret>
        </Property>
        <Property name="Midi">
            <Number>36</Number>
        </Property>
        <Property name="String">
            <String>4</String>
        </Property>
        <Property name="TransposedPitch">
            <Pitch>
                <Step>C</Step>
                <Accidental></Accidental>
                <Octave>-1</Octave>
            </Pitch>
        </Property>
    </Properties>
</Note>

Checklist

  • I consent that this change becomes part of alphaTab under it's current or any future open source license
  • Changes are implemented
  • New tests were added

Further details

  • This is a breaking change (I don't think it is)
  • This change will require update of the documentation/website (not sure tbh)

I have included, as part of test-data, an example with default values from GuitarPro. (drum-tabs.gp).
drum-tabs

GuitarPro allows customising the line for each note individually, so I also added a file with custom settings for the same note (e.g., bass drum - 36).

drum-custom-lines

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