Vibrato spanning over multiple notes

29 views
Skip to first unread message

Balazs Forian-Szabo

unread,
Aug 15, 2016, 12:55:57 PM8/15/16
to vexflow
Hi, I'd like to add a new feature to my fork of VexFlow that displays vibrato effect spanning over multiple notes.

Synopsis: 
It happens quite often that a vibrato effect is being hold for several (linked) notes. The current version of VexFlow can add vibrato effect to single notes:

Proposal:
A new feature called 'VibratoBracket' (or something else that you like) could help solving this issue by drawing vibrato effect over multiple notes.
The implementation would follow the logic of the existing TextBracket class.

I'd be happy to share this feature when implemented.
What do you think?


Mohit Muthanna Cheppudira

unread,
Aug 16, 2016, 9:02:19 PM8/16/16
to vexflow
Thanks Balazs. I just saw your pull request, but how about this alternative: Add a parameter to Vibrato called `endNote` (or some such). Then render the Vibrato all the way to `endNote.getAbsoluteX()`, and leave the width as is (0 or some small padding.)

Wouldn't that be simpler than a new class?

--
--
You received this message because you are subscribed to the Google
Groups "vexflow" group.
To post to this group, send email to vex...@googlegroups.com
To unsubscribe from this group, send email to
vexflow+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/vexflow?hl=en

---
You received this message because you are subscribed to the Google Groups "vexflow" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vexflow+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Mohit Muthanna [mohit (at) muthanna (uhuh) com]

Balazs Forian-Szabo

unread,
Aug 17, 2016, 4:14:22 AM8/17/16
to vexflow, mo...@muthanna.com
Hi Mohit, Thanks for your response. I've been thinking about your alternative and I found two minor drawbacks:

(1) In the current VexFlow architecture all the symbols that connect multiple notes (e.g. ties, slides, text brackets) are not treated as modifiers. They're rendered from a separate function call, after calling voice.draw. The new vibrato class is closer to these classes in it's inner structure.

(2) In some cases you have a line break in the score and you split a vibrato into two lines. The 2nd vibrato starts from the beginning of the stave and it has no start note, just an ending note. The new vibrato class offers a somewhat cleaner solution for the parametrisation of such cases. It has a start note and a stop note parameter. A null value for the start or stop note indicates that the vibrato is drawn from the beginning or until the end of the stave accordingly.

The new class can add vibrato to a single note as well. Even though, it cannot modify the width of that note as a modifier. What do you think? How about making the existing vibrato class deprecated?

On Wednesday, August 17, 2016 at 3:02:19 AM UTC+2, Mohit Muthanna Cheppudira wrote:
Thanks Balazs. I just saw your pull request, but how about this alternative: Add a parameter to Vibrato called `endNote` (or some such). Then render the Vibrato all the way to `endNote.getAbsoluteX()`, and leave the width as is (0 or some small padding.)

Wouldn't that be simpler than a new class?
On Mon, Aug 15, 2016 at 12:55 PM, Balazs Forian-Szabo <balazs.fo...@gmail.com> wrote:
Hi, I'd like to add a new feature to my fork of VexFlow that displays vibrato effect spanning over multiple notes.

Synopsis: 
It happens quite often that a vibrato effect is being hold for several (linked) notes. The current version of VexFlow can add vibrato effect to single notes:

Proposal:
A new feature called 'VibratoBracket' (or something else that you like) could help solving this issue by drawing vibrato effect over multiple notes.
The implementation would follow the logic of the existing TextBracket class.

I'd be happy to share this feature when implemented.
What do you think?


--
--
You received this message because you are subscribed to the Google
Groups "vexflow" group.
To post to this group, send email to vex...@googlegroups.com
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/vexflow?hl=en

---
You received this message because you are subscribed to the Google Groups "vexflow" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vexflow+u...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages