alphaTab Reference

website·Indexed 33 days ago

https://next.alphatab.net

API reference for alphaTab, featuring documentation on MIDI event types, JSON configuration settings for engraving and playback, and the alphaTex importer parser and AST nodes. Supports C#, Kotlin, and Script.

Tokens
312.9K
Snippets
2.6K
Records
3K
Agent score
54%

What's inside alphaTab

  1. Overview of IUiFacade interface

    The IUiFacade<TSettings> interface represents the UI abstraction between alphaTab and the corresponding UI framework. It is used to decouple the core music notation logic from the platform-specific UI implementation.
    interface IUiFacade<TSettings>
  2. Overview of Guitar Pro 3.5 support in alphaTab

    alphaTab provides mature and well-tested support for the proprietary binary file format used by Guitar Pro versions 3 through 5. The implementation is based on official version 4 documentation and reverse-engineering of subsequent versions. Overall, alphaTab supports approximately 96% of the total features (80/83) and 95% of relevant features (66/69) found in the Guitar Pro 3.5 format.
  3. Overview of EngravingSettingsJson

    The EngravingSettingsJson interface is used to configure detailed spacing, thickness, and scaling metrics for music notation engraving in alphaTab. These settings allow for precise control over individual music symbols to ensure compliance with the Standard Music Font Layout (SMuFL).

    Key concepts:

    • SMuFL Compliance: Properties marked with SMuFL tags should be aligned with SMuFL specification metadata files.
    • Units: While SMuFL uses 'staff space' units (1/4 of font size), alphaTab converts these values to pixels in this data structure.
    • Availability: Most settings are available since version 1.7.0.
  4. Overview of the IUiFacade interface

    The IUiFacade<TSettings> interface serves as the UI abstraction layer between alphaTab and the specific UI framework being used. It defines the properties and methods necessary for the core engine to interact with the host environment's UI elements, rendering lifecycle, and worker support.
    interface IUiFacade<TSettings>
  5. Overview of MidiTickLookup

    The MidiTickLookup class manages the timing information for when MasterBar and Beat objects are played. It organizes data into MasterBarTickLookup objects (defining start and end times for master bars) and BeatTickLookup objects (slices of a master bar separated by voices and beats across all tracks). This structure is used to highlight currently played bars and determine the position of the beat cursor based on visible tracks.
  6. Overview of MidiTickLookup

    The MidiTickLookup class manages the timing information for when MasterBar and Beat objects are played. It organizes data into MasterBarTickLookup objects (defining start and end times for master bars) and BeatTickLookup objects (slices of a master bar separated by voices and beats across all tracks). This structure is used to highlight currently played bars and determine the position of the beat cursor during playback, specifically by deriving MidiTickLookupFindBeatResult objects based on which tracks are currently visible.
  7. Overview of IAudioExporterWorker interface

    IAudioExporterWorker is an internal worker interface implemented by IAudioExporters. It provides the necessary internal APIs to spawn new exporters and is primarily used to simplify the public API exposed to users of the exporters.
    interface IAudioExporterWorker extends IAudioExporter
  8. Overview of EngravingSettings

    The EngravingSettings class manages spacing, thickness, and scaling metrics for music notation engraving in alphaTab. These settings provide fine-grained control over individual music symbols to ensure compliance with the Standard Music Font Layout (SMuFL).

    Key concepts:

    • SMuFL Compliance: Properties marked with SMuFL tags should be aligned with SMuFL specification metadata files shipped with fonts.
    • Units: While SMuFL uses "staff space" units (1/4 of the font size), EngravingSettings converts these values to pixels.
    • Availability: Most settings are available since version 1.7.0.