> On 13 Dec 2019, at 02:53, Freeman Gilmore <freeman.gilm...@gmail.com> wrote: > >> On Thu, Dec 12, 2019 at 7:13 PM Andrew Bernard <andrew.bern...@gmail.com> >> wrote: >> Hi Freeman, >> >> I still don't understand your aim here. Are you just trying to >> understand the lilypond code or do you have some specific purpose or >> application? It would help to know. >> >> Andrew > > Someday I may write a markup up for some accidentals. This may help me > understand what I am doing with markup. For how I just want to know a > little about how lexer reads the pitch, the octave. accidental and note size; > and I may not be able to do that any way. I know nothing about flex and > just learned it existed today. Also, I would like to see how the markup > works around the accidental to place a string in it space. I read some of > Separating input language and formatter in GNU Lilypond, and found it > interesting. Looking for more details. > > I do not need to know all this to learn how to write a markup; just like to > understand a little about how it works around the accidental. But I do > need to learn more about scheme and markups.
LilyPond lack a way to indicate intervals, and accidentals are merely intervals of relative scale degree zero. A 5th has a relative scale degres 4, changes the position on the staff 4 steps, and similar for other intervals. The accidentals do not change the position on the staff. In addition to ly:make-pitch, you might have ly:make-interval. Then one should be able to add and subtract intervals, add then to pitches, and the difference two pitches is an interval. LilyPond already has the internals for that, I would think, but lacks a suitable API and input syntax.