Partial re-render of a measure #2466
Replies: 4 comments 8 replies
-
|
In addition insert rendered measure and delete rendered measure api calls would be the icing on the cake. |
Beta Was this translation helpful? Give feedback.
-
It is currently not directly on our radar to have built-in editor capabilities. But technically most bits should be available to build an own editor on top of alphaTab. In fact there is a project around which does this:
You might be very focused on a specific problem here which might not even exist. Behind the scenes alphaTab holds a data model with all information. Then you trigger a re-layout and rendering whenever edited. Generally alphaTab should be performant enough to always do a full re-render. The tricky thing is that any change might lead to a significant layout change which anyhow requires a proper full layout to be computed. Either you adjust the data model directly or you could also use alphaTex as a main source of truth and do manipulation of the abstract syntax tree using the new parser. The alphaTex AST might be a lot more lightweight for code based editing. Alternatively there is a JSON based flavor of the data model via
The trickiest thing is so handle the data consistency in the data model correctly but generally it is not rocket-science do manipulate the data model. Having more dynamic editing apis to insert new items into the data model is something I have on the roadmap, but it simply wasn't important enough compared to other features to make it to the backlog. 😅 |
Beta Was this translation helpful? Give feedback.
-
|
I personally would love to hear about the progress of anyone that does
create an editor for in app use.
My goal as well is to build one or work along with someone that wants to JV
on building one that works with AlphaTab.
Mine goes a bit deeper as I am trying to find someone that can help me
create a data AI model for song stem separating, and then to parse them
into tabs etc.
…On Fri, Dec 26, 2025 at 4:01 PM Daniel Kuschny ***@***.***> wrote:
From my brief research I understand (I may be wrong) that there are no
plans to extend the functionality to allow editing of notation.
It is currently not directly on our radar to have built-in editor
capabilities. But technically most bits should be available to build an own
editor on top of alphaTab. In fact there is a project around which does
this:
https://github.com/gallegretti/escala
https://gallegretti.github.io/escala/
It would be very helpful though if there was functionality added to the
api to re-render of a single measure using provided data or the original
source data.
You might be very focused on a specific problem here which might not even
exist. Behind the scenes alphaTab holds a data model
<https://alphatab.net/docs/reference/score> with all information. Then
you trigger a re-layout and rendering whenever edited.
Generally alphaTab should be performant enough to always do a full
re-render. The tricky thing is that any change might lead to a significant
layout change which anyhow requires a proper full layout to be computed.
Either you adjust the data model directly or you could also use alphaTex
as a main source of truth and do manipulation of the abstract syntax tree
using the new parser <https://alphatab.net/docs/alphatex/importer>. The
alphaTex AST might be a lot more lightweight for code based editing.
Alternatively there is a JSON based flavor of the data model via
alphaTab.model.JsonConverter which could be easier to manipulate.
In addition insert rendered measure and delete rendered measure api calls
would be the icing on the cake.
The trickiest thing is so handle the data consistency in the data model
correctly but generally it is not rocket-science do manipulate the data
model. Score.finish()
<https://github.com/CoderLine/alphaTab/blob/develop/packages/alphatab/src/model/Score.ts#L431>
tries to consolidate already most of the bits. The ModelUtils.consolidate
<https://github.com/CoderLine/alphaTab/blob/develop/packages/alphatab/src/model/ModelUtils.ts#L536>
is currently internal and very specific to the importer needs. But you
could learn from it to implement what you need.
Having more dynamic editing apis to insert new items into the data model
is something I have on the roadmap, but it simply wasn't important enough
compared to other features to make it to the backlog. 😅
—
Reply to this email directly, view it on GitHub
<#2466 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BNLESQGGSFCRJREHSEQA42D4DXD5XAVCNFSM6AAAAACQCKO3ZKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTKMZUHEZTINY>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
|
This is good stuff! And the end user is exactly what I have in mind.
I figured in order to do that. I will need to connect everything to a cloud
server for persistent memory and storage.
And especially, knowing that AI has its limitations, even on the apps
now’s that create tabs … it’s usually far from perfect. So having that as a
starting point, and then being able to correct the errors by the end users…
will be a beautiful thing. Tied in the some educational training videos or
learning modules for students who have never written tab before, etc. Very
exciting topic!!!
…On Sat, Dec 27, 2025 at 4:20 AM Daniel Kuschny ***@***.***> wrote:
alphaTab mainly aims to ship a core which can also be used to build an
editor. The whole UI/UX around an editor is very app specific.
The main gap I see in alphaTab there, are three things:
1. an easy-to-use API for doing data model modifications without
breaking any consistency rules within alphaTab.
2. an better API for getting position and sizing information for a
single bar to build a editor cursor.
The current solution to these problems are rather prone to errors:
1.a Use alternative representations of the data model (JSON or alphaTex
AST) which are a bit more lightweight for modifications.
1.b Implement things yourself by learning all relevant bits for
add/remove/edit of model elements.
2.a use the BoundsLookup as-is and re-implement some sizing bits using the
information in the EngravingSettings (smufl)
If I ever build a full editor for alphaTab, it will ony be to provide a
full alphaTab app for end users. 😁
—
Reply to this email directly, view it on GitHub
<#2466 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BNLESQCQX7WEVTQEPJTXFAT4DZ2Q3AVCNFSM6AAAAACQCKO3ZKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTKMZVGE3TMNA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.











Uh oh!
There was an error while loading. Please reload this page.
-
From my brief research I understand (I may be wrong) that there are no plans to extend the functionality to allow editing of notation.
It would be very helpful though if there was functionality added to the api to re-render of a single measure using provided data or the original source data.
This would make editing notation using alphaTab a possibility in conjunction with the other api calls alread available.
Beta Was this translation helpful? Give feedback.
All reactions