Skip to content

Preserve per-note Guitar Pro velocity metadata - #3022

Open
sgabenov wants to merge 2 commits into
CoderLine:developfrom
sgabenov:feature/gp-note-dynamics
Open

sgabenov wants to merge 2 commits into
CoderLine:developfrom
sgabenov:feature/gp-note-dynamics

Conversation

@sgabenov

@sgabenov sgabenov commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

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.

Issues

Fixes #3021

The issue has not yet been triaged or accepted.

Proposed changes

A Guitar Pro import/export round trip currently drops per-note Velocity and
RelativeVelocity GPIF values. Preserve those optional fields in the note model,
cloning and serialization, and read and write them in the GP importer/exporter.
The model fields retain metadata and do not change alphaTab playback, which
continues to use note dynamics.

Add a test that performs two round trips with positive and negative fractional
relative values, and update the generated serializer schema and release notes.

Validation

  • On unmodified develop ec751a23, a synthetic GP archive with Velocity=100
    and RelativeVelocity=2.75 lost both values after import/export.
  • The new TypeScript repeated-round-trip test passed on Windows, Node.js 24.22.1.
  • All 28 tests in Gp7Exporter.test.ts passed with two Windows CRLF snapshots
    temporarily normalized to LF; the original bytes were restored after the run.
  • TypeScript type checking, a clean TypeScript generation and build-web passed.
  • C# and Kotlin transpilation completed. The C# solution built with .NET SDK
    8.0.427, and the generated repeated-round-trip test passed. Kotlin runtime
    tests have not yet been run for this branch.
  • The website build passed after building its required local dependencies.

Checklist

  • I consent that this change becomes part of alphaTab under its current or any future open source license
  • This PR is linked to an accepted issue
  • Changes are implemented
  • New tests were added
  • I have read AGENTS.md if an AI helped draft any part of this PR

AI authorship disclosure

  • No AI agent authored any part of this PR (description, code, tests, or commit messages)
  • An AI agent contributed to this PR. The AI-authored disclosure block
    (alphatab-ai-authored-v1) is present at the top of this body, and I have
    personally reviewed every change and can explain each one

Further details

  • This is a breaking change
  • Docs / release notes updated in website/

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Guitar Pro round trips discard per-note velocity metadata

1 participant