-
Notifications
You must be signed in to change notification settings - Fork 44
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
Rewrite of episema positioning #401
Conversation
It now takes into account the entire syllable and vertical episemae when positioning the horizontal episemae. Fixes gregorio-project#389 and gregorio-project#395.
It now takes into account the entire syllable and vertical episemae when positioning the horizontal episemae. Fixes gregorio-project#389 and gregorio-project#395.
What about merging that in a |
Adding these in
would make things a bit easier but would keep the current structure... But maybe it would be clearer with a pointer to a bigger h_episemus structure, with something like
? |
It sounds like you really want to support both top and bottom episemae at the same time. Can you explain the use case? |
The case you described in #40, |
I admit I'm doubting a bit right now... I cannot find any case in gregobase... |
No need for a reference; I'll do it. I just need to rethink the algorithm which figures out the episemae. It probably needs to figure out the top and bottom simultaneously. |
The problem with |
You know, it's very possible that I'm wrong: I'm a Gregorio developer, not a gregorianist... I admit I don't understand what you mean in your last comment though, can you explain a bit more? |
I mean in the lexical analysis, As I've coded it (which is admittedly a little different than the present version), We need to decide on a way to allow the user to unambiguously specify both a bottom and a top specification for a note. There are several options. The first which come to mind are:
I think it can become very confusing to look at for a user. I am actually in favor of the first option because of this. |
I prefer the first option too, |
Do you still want me to create a branch or should I work on this a bit more before I do that? |
Also, you (and I) would probably be surprised what users expect :) |
For sure, users expectations are always surprising! :) If you feel like it, you can continue this PR, I just thought you'd be a bit discouraged and would need some help |
See the
is a real-world example from Antiphonale Monasticum 1933, p. 296.
in the same book, page 291 (Antiphona Venit lumen tuum). Here the upper bar is across all 4 notes, and lower horizontal episema below the podatus, and ictus below the first virga inclinata. |
I got @jakubjelinek's cases working. I think now I can finally start the changes for #40. |
Seems good to me! Thanks a lot! |
The implementation of #40 is done. This is more-or-less ready to merge. Tests fail in an acceptable manner given these changes. I will commit the broken expectations when/if this is merged into |
Note: I left the feature in TeX that can use two different heights if bridges are disabled, but the Gregorio code currently doesn't compute an additional height for when bridges are disabled with |
What do you think of merging, updating gregorio-test, and then I add a few tests? (also, I concur with the idea to merge gregorio-test into the main repo, but that can be for later) |
Also, why not symbolize the offset cases, yes. And thank you very much for this work, I think (at least I hope) this finalizes the horizontal episemus code in Gregorio... |
Yes, if you are OK with the last change, I will merge this. |
Seems fine yes |
I don't know where it's best to report that, but |
oops, my tests were wrong, sorry! |
I admit I can't make sense of my tests... When I do something like
I get no episemus for the first two (even in the gtex file) and a misplaced episemus for the last one... Is there something wrong in my tests? |
@henryso can you confirm/infirm the bugs? |
You're getting a quite normal result... I can't understand where the bugs come from... are you sure you pushed everything? I get the correct results in dump, but in gregoriotex, I don't have any hepisemus for the first two syllables... Anyway, there is still a "bug" ("a bad explanation from my side" would be more accurate I believe) in your result: the small episemus should be just above their corresponding notes, that's what makes the feature interesting... The feature was made for this figure Thank you! |
I think everything is pushed... unless something was ignored. Did you rebuild your fonts? I will try a clean clone and see if there's a problem. I understand what you are saying about that bug... There are a number of other tweaks I'm noticing as I try out different scores. Also the ambitus > 3 breaking a bridge between glyphs. I will work on these in the next few days. For now, keep throwing these examples at me so I can get them all working properly. |
I compared a fresh clone with my normal build directory, and the source files are identical. |
There was indeed something wrong with the fonts, but the produced .gtex is still wrong, there are no episemus for the second syllable, I really don't know where it can come from... I'll make a fresh clone, and debug on my side. |
By the way, @jperon's suggested spacing change has broken (expectedly) the test expectations. I will update them later today. |
There is indeed a problem on my side, as a fresh clone works fine... I've completely cleaned the |
Well, it works again, no idea why... Anyway, the use cases I meant were: |
@eroux I found some issue if I compile with |
Very weird. It is a bug in the code, a missing return statement. However, when compiling with |
Didn't the compiler warn about the missing return? Generally, I'm seeing tons of less severe warnings on gregorio code (e.g. -Wparentheses -Wswitch -Wunused-but-set-variable -Wunused-function -Wunused-variable warnings), would be nice to fix them all eventually (can help with that later). |
No, it didn't. I think warnings are off. I had assumed they would be on because we have |
the |
Random set of fixes for problems stemming from #401.
This pull request includes:
Ready to be pushed into https://github.com/gregorio-project/gregorio-test: