Dear fellow users, I have managed to design some simple music functions, but I haven't succeeded with this one.
The score (SATB choral) is short but has a certain complexity (a number of repeated passages, pronunciation notes under lyrics, large markup text appearing mid-score, etc.). After getting a lot of help on a number of issues from the forum (thank you, Harm, in particular!), I wrangled unsuccessfully with flexible vertical spacing, so I decided to position the systems and staves manually. I fairly quickly got the result I wanted in terms of appearance, after a little juggling, but now my file is cluttered up with code like this: \overrideProperty #"Score.NonMusicalPaperColumn" #'line-break-system-details #'((Y-offset . 20) (alignment-distances . (10 10 10))) It seemed to me that a darling little music function should be able do the trick, and hoped to get it to work with syntax something like this: \SATBVert [SystemVerticalPosition] [SopToAltoStaves] [AltoToTenorStaves] [TenorToBassStaves] e.g. \SATBVert #20 #10 #10 #10 I tried to write a function along the following lines, but it didn't work: SATBVert = #(define-music-function (parser location sysvert StoA AtoT TtoB) (number? number? number? number?) #{ \overrideProperty #"Score.NonMusicalPaperColumn" #'line-break-system-details #'( (Y-offset . $sysvert) (alignment-distances . ($StoA $AtoT $TtoB))) #}) I'm pretty sure, from what I've read, that what I'm missing is type predicates, but my tiny and inexperienced brain hasn't discovered or worked out the syntax for how to include them. (I won't trouble you with reproducing my failed experiments.) Or maybe there's something else wrong that I haven't discovered. If someone could point me in the right direction -- a relevant example would be great -- I would be very grateful. Cheers, Philip _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user