-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Render lilypond33c #201
Render lilypond33c #201
Conversation
@rvilarl is there a way to tell a |
I see... |
They do not have to be notes of the same pitch, but the ties have to go from notehead to notehead. For example, you cannot do that with a curve: |
Leaving some notes here for implementation.
I need an algorithm for determining curve options. I propose the following:
|
After experimenting a bunch, I'm coming to the conclusion that I'll need to calculate the control points of the bezier curve for slurs. There's some prior art in OSMD, but this is an expensive detour right now. I'm going to try to find a simple solution that works for lilypond33c, and then a more complete solution later. |
Let me know if some logic should be added to vexflow |
@rvilarl, yes actually, that would be great. I feel like
|
@jaredjj3 please raise the issue and wait. |
I think I can get away not calculating control points. I played with I just need to figure out the |
src https://jsfiddle.net/jco31qxn/184/ slur placement above, voice ascending
slur placement above, voice descending
slur placement below, voice ascending
slur placement below, voice descending
slur placement above, voice neutral
slur placement below, voice neutral
|
Ok, I think I figured out how to calculate the curve opening direction. In https://jsfiddle.net/jco31qxn/212/ I set
|
This PR renders lilypond33c. It supports the
slur[placememt]
attribute.I decided to keep the solution as bare bones as possible while 0xfe/vexflow#1607 is deliberated. Eventually, we need to honor the bezier curve attributes in the
<slur>
element. These translate to control points invexflow
.Divergences
lilypond
seems to omit a slur in the second measure.lilypond
does not honor theslur[placement]
attribute.vexml
's slur collides in measure 2.lilypond
vexml
osmd
MuseScore 4
Guitar Pro 7
Soundslice