Hi,
My colleague and I have been building a (browser based) editor using Vexflow which is already at quite an advanced stage - however, we have repeatedly come up against one problem which is a bit of a showstopper, which is to do with how Vexflow handles automatic beaming
(i.e. beaming using applyAndGetBeams). In order to make sure that it is not our code that is the problem, I have tested all these issues in the Vextab sandbox with exactly the same results.
It appears that automatic beaming does not take into account factors such as time signatures and beat boundaries.
So, for example, in 6/8 time, Vexflow (Vextab) beams 6 eighth notes in 3 groups of 2, instead of 2 groups of 3.
Eg:
tabstave notation=true tablature=false time=6/8
notes :8 5/4 7/4 8/5 :8 6/3 5/4 5/5
Another example is how beaming is handled following a dotted note:
Eg:
tabstave notation=true time=4/4 key=Ab tuning=eb
notes :qd 5/2 :8 5/4 5/4 5/4 5/4 5/4
You would expect the 1st 8th note after the dotted quarter note to be separate, followed by 4 beamed 8th notes
There are other examples of beaming anomalies of a similar kind. Here is one:
Inserting a 16th note(s) after a quarter note triplet - the beaming starts on the second 16th note, leaving the first one an orphan and upsetting the relationship with the (quarter note) beat.
tabstave notation=true tablature=false time=4/4 key=Ab tuning=eb
notes :q 5/5 5/4 5/3 ^3^ :16 5/5 5/5 6/5 7/5 6/5
We are not sure how to proceed - one option would be to turn off automatic beaming altogether or for some specific cases where it is problematic, but this means adding another layer of complexity to the code which we want to avoid if possible - I am also assuming that these issues are going to be problematic for other users too.
It may be that we have missed something here and that there is a fix or solution for these issues that we haven't spotted - if so apologies in advance, and we would appreciate any help/feedback.
Regards,
Richard Gonski