Hi Yoshi,
Thanks for the help on this, I was definitely unsure on how to proceed,
but this method (the second example with additional params) seems to be
extensible and probably what I need.
I'm still a bit of a newbie at Scheme (Python is my main language, so
all the parens still mess with my head a bit), but I'm going to try and
play with this and get it to result in the outcome I'm looking for.
Admittedly, I'm not sure where to begin in terms of adding multiple
points to the squiggle tho.
Thanks a ton for the help!
~Steph
------ Original Message ------
From "Yoshiaki Onishi" <i...@yoshionishi.com>
To stephbotco...@gmail.com
Cc lilypond-user@gnu.org
Date 12/18/2024 10:46:56 AM
Subject "Wild" Harp Glisses
Engraving a musical theater score and I've got a handful of spots that have some ad
lib./"wild" harp glisses (as seen in the example images below.) Does anyone
have a good reliable/reusable way to engrave these without needing to manually adjust the
positions of the glissando spans for every single instance? I've got more than just two
situations where this is used, so I'm thinking some kind of function or engraver, but I'm
still getting comfortable with extending LilyPond and writing those kinds of things.
Dear Steph,
I am not sure if you have been helped here or if you figured something out. But
in case none of that has happened yet:
I see this as an excellent opportunity to become more familiar with Scheme, as
well as Postscript (I do know, however, that the LilyPond manual states that
the Postscript should be used as the last resort when making a markup…). With
that in mind, in the attached .ly file, you will see two examples. Both
examples draw a same squiggly line using Postscript code via \markup, which is
then attached to the notehead via grob-transformer, attached to
NoteHead.stencil.
First example is a hard-coded one where you can invoke the variable and it
would draw the same shape every time you do so.
The second example shows a possibility where you can add arguments to alter
some parameters in the Postscript code, taking advantage of some Scheme
functions. In that example, I decided to turn the thickness of the line as an
argument. This means that, depending on what kind of arguments you set, you can
change the shape of the curve, you can set how many curves you want, how long
the line as a whole should be, etc. etc..
This was the approach I took in one of the snippets (Slashed Notehead) I made
as part of the contemporary notation cookbook I announced in the mailing list a
few days ago. And I took the inspiration for that from a code that Jean Abou
Samra made in this thread:
https://lists.gnu.org/archive/html/lilypond-user/2022-11/msg00333.html
Good luck!!!!
Yoshi