Add support for multiple tempo changes (automations) in one masterbar. #1207
Labels
area-core
Related to some core parts of alphaTab
area-file-formats
Related to supported file formats
area-player
Related to the audio playback engine.
area-rendering
Everything related to the rendering
platform-all
Affects all platforms
state-accepted
This is a valid topic to work on.
Milestone
alphaTab currently assumes a single tempo change per master bar but this is not correct. Guitar Pro and many other formats can have multiple tempo changes (and other automations) within a single bar.
We currently already read the automations correctly into the beats. but for tempo automations which are having an impact on master bar level we only treat one change.
Related code places:
https://github.com/CoderLine/alphaTab/blob/develop/src/importer/Gp3To5Importer.ts#L867 (GP3-5 importer)
https://github.com/CoderLine/alphaTab/blob/develop/src/importer/GpifParser.ts#L2328 (Gp6-8 importer)
https://github.com/CoderLine/alphaTab/blob/develop/src/importer/AlphaTexImporter.ts#L1889 (alphaTex importer)
https://github.com/CoderLine/alphaTab/blob/develop/src/model/MasterBar.ts#L111 (data model)
https://github.com/CoderLine/alphaTab/blob/develop/src/midi/MidiFileGenerator.ts#L187 (midi generation)
https://github.com/CoderLine/alphaTab/blob/develop/src/rendering/effects/TempoEffectInfo.ts (rendering)
https://github.com/CoderLine/alphaTab/blob/develop/src/midi/MidiTickLookup.ts#L201 (midi tick)
This change will have significant impact on certain duration calculations.
The text was updated successfully, but these errors were encountered: