Am Di., 8. Aug. 2023 um 11:14 Uhr schrieb Lukas-Fabian Moser <l...@gmx.de>: > > Hi Alasdair, > > > Thank you very much - that is quite amazing! > You're very welcome. > > But it does show what I have long suspected: that without some extra > > programming, Lilypond does not have a current facility to extract the > > rhythm from a music definition. All of the tablatures I've seen in > > Lilypond require the music to be entered twice: once fully, and the > > other as durations only. As well, the tablature section in the > > documentation nowhere shows how to do this: to create a tablature > > score with just the rhythm above it. Maybe this will be amended in > > future versions? > > [...] > > I should add that those remarks of mine were not meant as complaints > > about Lilypond; merely as observations. I'm very aware that as an > > open-source project, Lilypond's strength derives from the hard, > > unpaid, tireless and often thankless work by its developers. It is > > often said about open source projects that if you want some > > particular functionality, you should write it yourself and submit it > > for review. However, my programming skills (at least in scheme) are > > too poor for this myself. > Well, I think the point with LilyPond is that - unlike other open-source > projects - you actually don't have to modify the program itself in order > to add new functionality, but instead, you can implement the function > you want _inside_ your own .ly file which you can re-use, share and put > on a snippet repository. I have lots of custom-tailored functions like > this in an include file (.ily) on my computer which I simply \include in > any project where I need them. > > So that's what I recommend for you: Just copy the relevant parts of my > code into a .ily file and \include it whenever you need to use tablature. > > Of course I concede that I needed to know a bit about LilyPond's inner > workings and about Scheme to write a function like this. But nowadays > there's even lots of well-written documentation that can get you > started; do you know Jean's manual on https://extending-lilypond.gitlab.io ? > > > But maybe your code could be submitted to be part of Lilypond in future? > That's always a possibility, but the way I see it, there are two > requirements for this: > > 1) The desired functionality should be sufficiently "general" or > "standard" that there's a chance that it'll actually be being used. I > don't know much about tabulature, so I can't really judge if the > notation you want to use is standard in some area. > > 2) The submitted code should be of high quality. That's definitely not > the case with the function I wrote yesterday; it would need quite a bit > of polishing in order to gracefully deal with special cases and so on. > (E.g. how should we deal with polyphony inside the given music?) > > At the moment I feel that my function would probably best be put in a > LSR snippet, so maybe I should do this. > > As a side remark: In order to put music into a RhythmicStaff, one > doesn't even have to remove the pitches, they will just be ignored. But > I noticed yesterday that LilyPond does not behave very well with chords > in that situation: > > \version "2.24.0" > > mus = { c' d' <e' g' b'>4. f'8 } > > << > \new RhythmicStaff \mus > \new Staff \mus > >> > > I'm not sure whether that should be called a bug: one would have to > think a bit about the most natural way to deal with chords here. > > Lukas > > >
There's also an old thread on -devel https://lists.gnu.org/archive/html/lilypond-devel/2016-09/msg00023.html This is the last public code. After that the discussion went offlist. Anway, this code is unfinished, maybe one gets some ideas, though. Cheers, Harm