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

Reply via email to