Skip to content

Guitar Pro export does not show the embedded backing audio panel #3023

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.

AI authorship

AI-assisted (disclosure block included).

Current Behavior

When I open a GP file exported by alphaTab with embedded backing audio in Guitar
Pro 8, the backing track is listed in the mixer but its audio panel is not open.

Expected Behavior

When opening a score that includes embedded backing audio, the audio panel should
be visible so the audio track can be inspected without first finding the panel
visibility control.

Steps To Reproduce

On the develop revision below, save this test as
packages/alphatab/test/exporter/AudioPanelRepro.test.ts and run
npm test --workspace=packages/alphatab -- test/exporter/AudioPanelRepro.test.ts.
It creates a short synthetic WAV tone inside audio-panel-repro.gp in the
packages/alphatab directory. Open that file in Guitar Pro 8:

import { Gp7Exporter } from '@coderline/alphatab/exporter/Gp7Exporter';
import { ScoreLoader } from '@coderline/alphatab/importer/ScoreLoader';
import { BackingTrack } from '@coderline/alphatab/model/BackingTrack';
import { writeFileSync } from 'node:fs';
import { it } from 'vitest';

it('creates a GP file with a backing track', () => {
    const samples = 44100;
    const wav = Buffer.alloc(44 + samples * 2);
    wav.write('RIFF', 0); wav.writeUInt32LE(wav.length - 8, 4);
    wav.write('WAVEfmt ', 8); wav.writeUInt32LE(16, 16);
    wav.writeUInt16LE(1, 20); wav.writeUInt16LE(1, 22);
    wav.writeUInt32LE(44100, 24); wav.writeUInt32LE(88200, 28);
    wav.writeUInt16LE(2, 32); wav.writeUInt16LE(16, 34);
    wav.write('data', 36); wav.writeUInt32LE(samples * 2, 40);
    for (let i = 0; i < samples; i++) {
        wav.writeInt16LE(Math.round(Math.sin(i * 2 * Math.PI * 440 / 44100) * 10000), 44 + i * 2);
    }
    const score = ScoreLoader.loadAlphaTex('3.3.4');
    score.backingTrack = new BackingTrack();
    score.backingTrack.rawAudioFile = wav;
    writeFileSync('audio-panel-repro.gp', new Gp7Exporter().export(score, null));
});

In my check, the Audio Track row was present, but the panel beneath the score
was closed. This check did not establish playback or synchronization behavior.

Version and Environment

[AlphaTab][VersionInfo] alphaTab 1.10.0
[AlphaTab][VersionInfo] commit: ec751a23f2e1f9601abb3ce2022300001c096565
[AlphaTab][VersionInfo] build date: 2026-11-08T22:36:57.508Z
[AlphaTab][VersionInfo] High DPI: 1
[AlphaTab][VersionInfo] Platform: NodeJs
[AlphaTab][VersionInfo] WebPack: false
[AlphaTab][VersionInfo] Vite: false
[AlphaTab][VersionInfo] Turbopack: false

Node.js 24.22.1 and Guitar Pro 8.1.4 Build 43 on Windows. The alphaTab
environment output was obtained with Environment.printEnvironmentInfo()
from the same unmodified develop revision.

Platform

Node.js

Activity

  1. github-actions commented on Nov 8, 2026

    @github-actions

    Thanks for opening this. Before we dig in, a couple of things need addressing in the description:

    • Complete the 🕷️ Bug Report template. The description is missing sections of the 🕷️ Bug Report template: Is there an existing issue for this?, I have read the contribution rules, Link to jsFiddle, CodePen, Project, Anything else?. Please include them — even a short answer keeps the report actionable.

    If the description isn't updated within 7 days, this issue will be closed automatically and labeled state-rules-not-followed. Reopen any time — an edit to the description is all it takes.

    If an AI helped draft this, AGENTS.md covers the same expectations from the AI side.

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