alphaTab Documentation

website·Indexed 33 days ago

https://alphatab.net

API reference and type definitions for alphaTab, featuring music notation engraving, audio playback settings, and the alphaTex parser for translating source into an AST. Includes detailed JSON settings for engraving, display, notation, and player behavior, as well as platform-specific canvas interfaces.

Tokens
604K
Snippets
4.8K
Records
5.8K
Agent score
65%

What's inside alphaTab

  1. Overview of AlphaSynth

    AlphaSynth is the primary synthesizer component in the library. It is used to play a MidiFile through an ISynthOutput implementation. It extends AlphaSynthBase and provides a comprehensive set of properties and methods for controlling MIDI playback, volume, and state.
    class AlphaSynth extends AlphaSynthBase
  2. Overview of the 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>
  3. Overview of EngravingSettings

    The EngravingSettings class manages the spacing, thickness, and scaling metrics used for engraving music notation 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 the SMuFL specification or filled from font metadata files.
    • 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.
    class EngravingSettings
  4. Overview of IBackingTrackSynthOutput

    The IBackingTrackSynthOutput interface is used for managing and playing backing tracks. It extends ISynthOutput, inheriting general audio output capabilities while adding specific controls for backing track duration, loading, and seeking.
    interface IBackingTrackSynthOutput extends ISynthOutput
  5. Overview of EngravingSettingsJson for music notation

    The EngravingSettingsJson interface is used to configure detailed spacing, thickness, and scaling metrics for individual music symbols. These settings allow for precise control over visual rendering and 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 the font size), the values in EngravingSettingsJson are converted to pixels.
    • Availability: Most settings are available since version 1.7.0.
    interface EngravingSettingsJson
  6. Overview of alphaTab 1.0.0 capabilities

    alphaTab 1.0.0 is a stable release providing a music notation and tablature rendering engine. It supports multiple file formats, rendering backends for different platforms, and integrated audio playback.
  7. Overview of EngravingSettings

    The EngravingSettings class manages the spacing, thickness, and scaling metrics used to engrave music notation. While general layout is handled via display settings, EngravingSettings provides deep control over individual music symbols to maintain compliance with the Standard Music Font Layout (SMuFL).

    In SMuFL, sizes and coordinates are expressed in 'staff space' units (1/4 of the configured font size); however, within the EngravingSettings data structure, these values are converted to pixels.

  8. Overview of MidiTickLookup

    The MidiTickLookup class tracks when MasterBar and Beat objects are played. It organizes data into MasterBarTickLookup objects (defining start/end times for bars) and BeatTickLookup objects (slices of a masterbar separated by voices and beats across all tracks). This structure allows the system to determine which beats are active at a specific MIDI tick, which is essential for rendering the playback cursor and highlighting active beats based on visible tracks.
  9. Overview of AlphaTexParser

    The AlphaTexParser class is used to translate alphaTex source strings into an Abstract Syntax Tree (AST). This AST is subsequently used by alphaTex importers, editors, and other related components to process musical notation.
    // The AlphaTexParser class is used for translating alphaTex source into an AST