(I've added in the devel list, because this is turning into a development
question.  If you're going to do development, it would be a good idea to
subscribe to lilypond-devel.)

On Sat, Nov 23, 2024 at 6:06 PM Stefan E. Mueller <stefan.e.muel...@gmx.de>
wrote:

> Hi Carl,
>
> I found the lilypond development repository on gitlab and the
> fret-diagram.scm-file. My current installation is based on
> lilypond-2.25.1-linux-x86_64.tar.gz, so I think I only have libraries and
> executables.
>

Every lilypond installation has a scm/ directory; you will have that in the
tree that comes out of the tar.gz file, although the files may be hidden.


>
> So probably I need to find out how to build Lilypond from the sources in
> order to apply your changes.
>

If you want to make changes that are added to the upstream, you should find
out how to build LilyPond from source, because we add changes as merge
requests.  But if you only want to change your installation, you can just
change the scm file in your installation (I promise you, it's there).


>
> Anyway, let's see if I understand:
>
> >                   (* size fret-distance ( (fret-count fret-range)))) ;
> this
> > is the new line
> >                   ;(* size fret-distance (1+ (fret-count fret-range))))
> ;
> > this was the previous line
>
> So rather than adding a fifth fret-line, this line just stops the string
> lines at the fourth fret, right? That makes sense (and if I really would
> like to have a 5th fret line in the diagram, I could simply enlarge the
> fret-count).
>

Yes that is exactly right.


>
> One could add a parameter to "fret-diagram-details" which is set to "0" in
> case the diagram should end at the 4th fret, or "1" if string-overhang is
> wanted.
>

I would think that the parameter would be something like string-overhang,
and it could have any value you wanted.  0 would be no overhang; 1 would be
a full fret-space overhang; 0.5 would be a half-space overhang.


>
> Then the line would be
>
> (* size fret-distance (string-overhang+ (fret-count fret-range)))) ;
>
> or something like this.
>

Exactly.


>
> For what concerns the barre-thickness, the line
>
> (* 2 scale-dot-radius))) ; New line -- change the 2 as desired to adjust
> the thickness
>
> could be substituted by
>
> (barre-thickness)))
>
> where barre-thickness is a new parameter which defaults to
> "scale-dot-radius". I'd probably have the "barre-thickness" given in
> absolute
> values rather than relative to the dot radius, but other people might have
> different needs (I hope I interpreted "scale-dot-radius" correctly as the
> radius of the dot, not sure what the "scale" means in this context).
>

scale-dot-radius means it's scaled according to the size of the fret
diagram.

I think it would be fine to have barre-thickness given in units independent
of the dot size, but they should probably be either a fraction of the fret
space or a multiple of the fret line thickness, rather than an absolute
line thickness.  That helps the diagrams scale properly.


>
> For what concerns properties of individual dots, it seems currently only
>
> [finger-value] [color-modifier] [color] ['parenthesized
> ['default-paren-color]]
>

dot-size is configurable for all the dots in the diagram, IIRC, but not for
individual dots.  Individual dot sizes could be configured just like dot
colors are (a default for the diagram, and specifics for individual dots).
It looks like all those individual configurations are found in
subtract-base-fret (it started there because you need to change the fret
location to account for shifted diagrams).

>
> are configurable, not sure how feasible it would be to add dot-size or
> even dot-shape to that.
>
> Shouldn't be super hard; you just have to add additional optional
parameters;,

Looks to me like you have a perfect handle on the project!

I'll help all I can.

Carl

>
>

Reply via email to