Re: Customizing fretboard diagram
"Stefan E. Mueller" <[email protected]>
| Newsgroups | gmane.comp.gnu.lilypond.devel |
|---|---|
| Message-ID | <[email protected]> |
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 [email protected] 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 <[email protected]> > 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 > > >