Skip to content

Guitar Pro export does not preserve a populated YouTubeVideoUrl #3026

Open

Description

@sgabenov

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.

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 AGENTS.md.

AI authorship

AI-assisted (disclosure block included as described in AGENTS.md)

Current Behavior

When a Guitar Pro 8 file contains a non-empty YouTubeVideoUrl in its backing track, importing and exporting the score loses that URL. After the round trip, the original URL is no longer present in the exported .gp file.

Expected Behavior

When a Guitar Pro file containing a YouTube URL is imported and exported, the URL should be preserved. This would allow player applications to keep the associated recording with the score.

I’m experimenting with an alphaTab-based player UI; if useful, parts of the interface could potentially be reused. The demo opens a score automatically. Select Video to see its YouTube recording, or use Export → Guitar Pro (.gp) and reopen the exported file to check the URL in Video settings. The demo handles the URL at the application level; it does not demonstrate a fix in alphaTab.

Steps To Reproduce

  1. Download canon-audio-track.gp from the alphaTab repository and make a copy.
  2. Open the copy as a ZIP archive. In Content/score.gpif, find YouTubeVideoUrl directly under BackingTrack and set it to https://www.youtube.com/watch?v=M7lc1UVf-VE. Leave the existing Source and other data unchanged, then save the archive as input.gp.
  3. In a Node.js project with @coderline/alphatab installed, load input.gp using importer.ScoreLoader.loadScoreFromBytes and export it using exporter.Gp7Exporter. Save the result as output.gp.
  4. Open output.gp as a ZIP archive and inspect Content/score.gpif. The YouTube URL is absent.

Link to jsFiddle, CodePen, Project

alphaTab's canon-audio-track.gp test file; the steps above show how to make the test input from it.

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
Node v26.11.0

Platform

Node.js

Anything else?

The test uses a modified copy of a sample bundled in the alphaTab repository; it does not rely on a private or copyrighted song file.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    Priority

    None yet

    Area

    None yet

    Platform

    None yet

    Work State

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions