Hello Carl, I have a modified version of the file fret-diagrams.scm, which implements the possibiltiy to set both "string-overhang" (in units of fret-distance) and barre-thickness (in units of dot-radius).
I also included an example in the customizing-fretboard-fret-diagrams.ly snippet file (and succesfully managed to run the makelsr.pl on it). What else needs to be done? How does one update the Lilypond Internals Reference (Sec. 3.2.53 should contain the new properties of fret-diagram-details)? Once I have all the changes in place, how do they eventually end up in a review or a new version of Lilypond? I probably can't create a branch in the repository, as only Members are able to do this. Should I send the modified files to the list, or to a developer? Stefan -- Stefan E. Mueller stefan.e.muel...@gmx.de On Sat, 23 Nov 2024, Carl Sorensen wrote:
(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