Learning Lilypond internals

2022-08-11 Thread Andrew Bernard
Although I have long experience in software development, the Lilypond source is a body of work that I have never really been able to comprehend. This is a pity as I always wanted to help with development. Now, when I have technical issues need knowledge of internals, such as my recent effort re

Re: Circles

2022-08-11 Thread Andrew Bernard
Thanks Silvain, As I mentioned previously on the list my background is maths and I understand Beziers, and I have implemented very compact code to do this. I appreciate your help in any case. Actaully, the main basis for the original post was to query what approach Lilypond takes. I also giv

Re: first repeat at low dynamic; next repeat at higher dynamic; how to do this for midi output?

2022-08-11 Thread Kenneth Wolcott
Thanks to you all for your forbearance with me. Well, the answer is really obvious, of course :-) It was pointed out to me privately that I wasn't taking advantage of my own midi-specific variables that had the \volta implemented. So using \rh_midi in place of \rh and \lh_midi in place of \lh s

Re: first repeat at low dynamic; next repeat at higher dynamic; how to do this for midi output?

2022-08-11 Thread Jean Abou Samra
Le 11/08/2022 à 20:56, Kenneth Wolcott a écrit : HI David; I'm sorry that I'm so dense :-( I've searched the 2.22.2 documentation and I do not find a "\volta" command referenced. I'll read your reply many times, ponder it and try to figure out why I just don't get your very simple

Re: first repeat at low dynamic; next repeat at higher dynamic; how to do this for midi output?

2022-08-11 Thread Kenneth Wolcott
HI David; I'm sorry that I'm so dense :-( I've searched the 2.22.2 documentation and I do not find a "\volta" command referenced. I'll read your reply many times, ponder it and try to figure out why I just don't get your very simple explanation, and experiment a lot, maybe I'll get it. Th

Re: shift accidental

2022-08-11 Thread Jean Abou Samra
Le 11/08/2022 à 16:47, Orm Finnendahl a écrit : Hi, below is a snippet and attached a pdf which shows the f sharp accidental in the lower voice on the downbeat of bar 2 too far away from the notehead. The distance seems to be related to the tied note in the upper voice. Although the acciden

shift accidental

2022-08-11 Thread Orm Finnendahl
Hi, below is a snippet and attached a pdf which shows the f sharp accidental in the lower voice on the downbeat of bar 2 too far away from the notehead. The distance seems to be related to the tied note in the upper voice. Although the accidental is not repeated there, it is taken into account fo

Re: Help with custom noteheads

2022-08-11 Thread Jean Abou Samra
Le 11/08/2022 à 14:32, Valentin Petzel a écrit : Hello Andrew, is there any reason for using a custom circle approximation instead of simply using (make-circle-stencil r th #f)? The reason why your note heads are off is that a path stencil does not have an extent. A path cotains arbitrary drawi

Re: Circles

2022-08-11 Thread Silvain Dupertuis
You can draw a quasi perfect circle with a Bezier curve (cubic) with 4 main points. The optimal distance between main and secondary control points is 0.5517847391957151 * radius (you do not need as many decimal places...!) (optimal value calculated with wxMaxima and checked with Inkscape) Le

Re: Help with custom noteheads

2022-08-11 Thread Jean Abou Samra
Le 11/08/2022 à 13:40, Andrew Bernard a écrit : So here is an MWE showing the start of what I want to do - make circular unfilled noteheads, and fitting in the staff size. This is only a start, as the set of note styles I need have many extra doodads, so this is just to get going. It's been a

Re: Help with custom noteheads

2022-08-11 Thread Valentin Petzel
Hello Andrew, is there any reason for using a custom circle approximation instead of simply using (make-circle-stencil r th #f)? The reason why your note heads are off is that a path stencil does not have an extent. A path cotains arbitrary drawing commands, which means that Lilypond does not

Re: Circles

2022-08-11 Thread David Kastrup
Werner LEMBERG writes: >>> Well, Metafont uses a third-order Bézier approximation to build up >>> circles (from four quarter circles). However, the Metafont book >>> says that the difference to a real circle is less than 0.06%, which >>> is thus imperceptible. >>> >>> The same holds for PostScri

Help with custom noteheads

2022-08-11 Thread Andrew Bernard
So here is an MWE showing the start of what I want to do - make circular unfilled noteheads, and fitting in the staff size. This is only a start, as the set of note styles I need have many extra doodads, so this is just to get going. It's been a long time since I have done any Lilypond Scheme.

Re: Circles

2022-08-11 Thread Werner LEMBERG
>> Well, Metafont uses a third-order Bézier approximation to build up >> circles (from four quarter circles). However, the Metafont book >> says that the difference to a real circle is less than 0.06%, which >> is thus imperceptible. >> >> The same holds for PostScript-based fonts. > > PostScrip

Re: Circles

2022-08-11 Thread David Kastrup
Werner LEMBERG writes: >>> There's a lot of oldish webpages with complex Bezier curve >>> constructions for circles. >> >> Those must be approximate constructions. It is not mathematically >> possible to construct a Bézier curve which is at the same time an >> exact circle. > > Well, Metafont us

Re: first repeat at low dynamic; next repeat at higher dynamic; how to do this for midi output?

2022-08-11 Thread David Kastrup
Kenneth Wolcott writes: > HI David; > > Thank you! > > Now what happens when I have multiple repeats with this situation? > > Ken > > On Wed, Aug 10, 2022 at 7:51 PM David Kastrup wrote: >> >> Kenneth Wolcott writes: >> >> > HI; >> > >> > first repeat at low dynamic; next repeat at higher d

Re: Circles

2022-08-11 Thread Andrew Bernard
There are a whole lot of custom noteheads I need that are based on circles with all sorts of additions like dots and things for a contemporary modernist work. Very special case, but they may end up being useful for others when I finish. I'll see if draw-circle can fit into the scheme of things

Re: Circles

2022-08-11 Thread Jean Abou Samra
> Le 11 août 2022 à 09:38, Andrew Bernard a écrit : > > All my other custom noteheads use curveto heavily. I was wondering if I could > scrimp time by using an arc command. I'm trying to avoid raw postscript as I > think that obviates the ability to output SVG - not that I use it but others

Re: Circles

2022-08-11 Thread Andrew Bernard
All my other custom noteheads use curveto heavily. I was wondering if I could scrimp time by using an arc command. I'm trying to avoid raw postscript as I think that obviates the ability to output SVG - not that I use it but others do, Thanks all! Andrew On 11/08/2022 5:16 pm, Jean Abou Sam

Re: Circles

2022-08-11 Thread Jean Abou Samra
> Le 11 août 2022 à 09:06, Andrew Bernard a écrit : > > As to the _real_ question (XY? ;-) ), I am needing to do custom circular > noteheads, also with bits and bobs such as middle dots and so on and I was > not able to find an arc operator in the markup path commands, so one needs to > us

Re: Circles

2022-08-11 Thread Andrew Bernard
As to the _real_ question (XY? ;-) ), I am needing to do custom circular noteheads, also with bits and bobs such as middle dots and so on and I was not able to find an arc operator in the markup path commands, so one needs to user curveto, which is a Bezier operator. Is that right? Andrew

Re: Circles

2022-08-11 Thread Andrew Bernard
Thanks all, Comments much appreciated, but I know all that, as my background is maths. I was just wanting to see how Lilypond does it. And of course after I posted about oldish pages I recall of course that you have to do circles with Beziers in fonts, as the arc operator is not available. T