-
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
Improvement of flats line by line #157
Comments
This feature is currently just impossible to do. I'm lobbying for the LuaTeX team to release the code to build paragraphs in Lua, as it would make it possible (but not obvious at all!) to do this... Or maybe there would be tricks with discretionary... nothing obvious... |
While it can still be handled by explicitly flatting all flats, it might be worth considering a natural if the clef includes a flat. |
Also, I think the Vatican edition rules are doable with the gregorio executable. As for the Dominican rules, I'll take your word that it's impossible with the current LuaTeX. |
Indeed, we could implement the vatican rules in a next release... what about a |
Sounds like a good way to do it to me. |
Thinking about this, the Vatican edition rules actually does not change depending on how the score falls on the page, so it requires no tweaking at all when the lines break. The only reason to add this complexity for the Vatican edition rules is if you want to switch the rule sets by changing a single property. Therefore, I don't think it's necessary to implement this until we know what needs to be done in some future version of LuaTeX to support the Dominican rules. |
I think that the Dominican rules could be supported. We can tell when a new line begins because GregorioTeX needs to print the staff lines at the beginning of each line (as well as the clef that goes at the beginning of the line). By piggy backing onto an event like this, we can reset a visibility tracker which determines whether or not an accidental needs to be shown. |
It's not as simple as you might think... Again, can you show a minimal example writing something like |
I think the line ending detection for variable line heights may be a useful start for the Dominican flatting rules. |
Absolutely! |
Thinking about this, if we use the current algorithm, which detects line endings at the end of the score, when the callback is called, it seems we would need as many passes as lines with flats on them. Each pass would get one line right which would displace the following lines, requiring another pass, unless we happen get lucky because of word spacing. Any thoughts on a better way with the current algorithm, or is it infeasible? |
As this is not an emergency, maybe it's best to wait for Hans Hagen to release the lua paragaph builder from ConTeXt, this would make this feature feasible in a more deterministic and straightforward way. I don't know when that's going to happen though (I recall it to him from time to time). |
It seems Solesmes Graduale considers the flat valid only until the end of the word (but still being canceled by a line break). See: http://gregobase.selapa.net/chant.php?id=713 That said, I wonder which rule is to be applied to the first line of page 402. Are the bs of populi and nostri supposed to be flattened? The question of the automatic flattening comes on the 4th line of the GregoBase retranscription: depending on how the music falls relative to line breaks, a flat would be needed or not. |
Flats can have convoluted meanings, and occur until the end of the line, so Gregorio should know be able to add flats or naturals at beginning of line.
More details explanation, from a mail on the mailing-list.
Currently this is the part of score production that is most laborious for me, because the flats and naturals have to be readjusted manually each time depending on the width and text/chant size of the score. If we were able to have a more absolute system of flats that could appear or not appear depending on the context, that would go a long way towards making an individual GABC file much more flexible.
As far as I know, there are two different systems in 19th/20th century chant books for notating flats and naturals.
In the Vatican edition, a flat applies until a natural, or a division line, or a new word.
In Dominican chant books, a flat applies until a natural or the end of a line.
I think that the best way to notate flats in GABC should be to put a flat indication on every note that ought to be flat, and then have Gregorio determine when to actually print the flats in relation to the rules of the flats. If this change was to be implemented, perhaps it could be done in a way that left that current system in place (and would thus be backwards compatible) but which added a flat or natural to a note in a way analogous to the notations that add a rhythmic mark to a note, i.e., by putting a letter after the pitch/height indication. As an offhand suggestion, you could use % for flat: [e.g.: A(i%)men.(j)]
A specific letter-notation for natural would not be necessary because a natural would be added automatically if the flat was not present in the notation.
The text was updated successfully, but these errors were encountered: