Skip to content
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

error:pitch difference too high to set automatic custo (z0) #446

Closed
jperon opened this issue May 21, 2015 · 4 comments
Closed

error:pitch difference too high to set automatic custo (z0) #446

jperon opened this issue May 21, 2015 · 4 comments
Assignees

Comments

@jperon
Copy link
Contributor

jperon commented May 21, 2015

I encounter this error on a real case : the Univérsi gradual. When changing from f3 to c4 with z0::c4, gregorio throws this error. A possible workaround (inspired by GregoBase) would be f+!//::c4, but if this could be automatically computed, this would be better.

@rpspringuel
Copy link
Contributor

This is a wrap-around issue:

Gregorio assumes that the FA of the f3 clef is the FA above the DO of the c4 clef. This puts the custos for the RE note that begins the c4 section outside the range of the f3 section (it would be well below the staff under this assumption). The marking in the book indicates, however, that the FA of the f3 clef should be considered the FA below the DO of the c4 clef. This puts the RE custos in the f position (as shown in the example).

What appears to be needed, then, is a way to specify whether a clef change is introducing higher notes or lower ones.

In pictures:

Gregorio assumes the following mapping between f3 and c4:

f3:                FA SO LA TI DO RE MI FA SO LA TI DO RE
c4: LA TI DO RE MI FA SO LA TI DO RE MI FA

Note the RE in the d position on the c4 staff is below the available notes in the f3 staff.

What's needed (in this case at least) is the following mapping:

f3: FA SO LA TI DO RE MI FA SO LA TI DO RE
c4:       LA TI DO RE MI FA SO LA TI DO RE MI FA

Here there is a correspondence on that d position RE which shows the custos to be printed at the end of the f3 section.

One could also envision two other mappings, which are even more extreme (and thus far less likely to be really practical):

f3:                                     FA SO LA TI DO RE MI FA SO LA TI DO RE
c4: LA TI DO RE MI FA SO LA TI DO RE MI FA
f3: FA SO LA TI DO RE MI FA SO LA TI DO RE
c4:                            LA TI DO RE MI FA SO LA TI DO RE MI FA

I think both of the first two cases are valid and should be allowed. What we need, then is a way to indicate in the gabc which is desired and then the appropriate code to do the calculations correctly. I don't think the last to cases are as important to support, I just thought I'd point out those possibilities for completeness sake.

Other clef changes may have similar issues.

@henryso
Copy link
Contributor

henryso commented May 21, 2015

I would postulate that the manual custos is the way to simply override whatever Gregorio does by default. That said, before throwing the error message back at the user, I would suggest that Gregorio try the "other octave" to see if it can be used. If the user doesn't like what they get, they can always just use the manual custos.

@eroux
Copy link
Contributor

eroux commented May 21, 2015

I agree with @henryso

@henryso
Copy link
Contributor

henryso commented May 22, 2015

Fix is in #449, ready for review.

@eschwab eschwab closed this as completed May 22, 2015
rpspringuel added a commit to rpspringuel/gregorio that referenced this issue May 23, 2015
…texrenaming

* commit 'bb48b9589e5f1f183ebdd31e080267cb2d3a389c':
  Forced the pitch into range for an automatic custos on clef change. Fixes gregorio-project#446.
  Modified to pass the heights (pitches) as numbers to TeX.  Fixes gregorio-project#447.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants