-
Notifications
You must be signed in to change notification settings - Fork 43
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
better defaults for ledger lines #1215
Comments
Any suggestions for the heuristic to use here? Extend the ledger lines to the ends of the glyph? |
I think it could be that when the ledger line crosses a line, the note (after/before) the line should be taken into account too... what do you think? |
Then I guess it's unclear to me what I should fix. Should all five figures be changed? If I read your rule strictly, then bb, cc, dd, and ee should be changed. Is that your intent? |
hmm here only the first shouldn't change, all the others should, because the ledger line crosses a inter-note line from the glyph. I'm not quite sure about your aa, bb, etc. examples... what do you mean? |
In the above gabc, you have figures for syllable text aa, bb, cc, dd, and ee. I was referring to that, but your answer made it clear that all except aa should be modified. |
Trying to wrap my head around this, I think it will be complicated by the queue size adjustments. |
indeed... well, for the high figures I think it's feasible, for the lower ones... that's difficult indeed... maybe an option on the TeX side such as |
This is a non-trivial change. The current manually-specified ledger line feature is texverb-based, making it difficult to inject post-processing. I am currently considering how best to implement everything (i.e., adding an additional way of specifying a ledger line versus refactoring the current method into something that can be used more commonly). |
I haven't had much time to formulate my solution, and I may not have time for a while, so I've unassigned myself. |
I gave this some thought, and I need some guidance / opinions. Currently we have:
Implementing the feature from this issue would mark a given note as having a forced ledger line on it, which is actually neither of the above constructs. It is some new construct that means "draw a ledger line over/under this note" and of course should the value which Whether we come up with some new syntax or overload some of the above, this introduces a fourth way of specifying something about ledger lines:
So the first question is, am I understanding the problem correctly? The second question, if the answer to the first is "yes", is what the new syntax should be. There are probably an infinite number of ways to do it, but here are three I came up with:
Overloading What do you think? |
The first option looks the best to me though I'm not strong-minded about
it... I think the solution you're proposing is very generic and clean,
thanks!
|
Part of the implementation for gregorio-project#1215.
Part of the implementation for gregorio-project#1215.
Part of the implementation for gregorio-project#1215.
Part of the implementation for gregorio-project#1215.
I think the only thing remaining here is the question of queue size on low notes. Do we still need to do that? If so, can someone describe what the C code should emit to allow the "LongClivisQueues" option to work? |
Thoughts? |
Hmm I admit I hesitate between closing and making the C code emit a ledger line on the first note of a clivis when the second note is below |
As I mentioned above, I am in favor of doing exactly that—which is what I think the algorithm currently does. It keeps the algorithm simpler and easier to predict/explain. |
ok let's close it then |
The gabc
(c4) Aa(klk) bb(kml) space() cc(lmk) dd(da) ee(ca)
gives the following result:which is obviously imperfect (unbalanced ledger lines). The ledger line could be automatically (optionally?) extended if it crosses a line
The text was updated successfully, but these errors were encountered: