On Saturday, March 30th, 2024 at 18:01, Jean Abou Samra <j...@abou-samra.fr> wrote:
> Le samedi 30 mars 2024 à 16:47 +0000, Lovis B. Suchmann a écrit : > > > \version "2.24.3" > > > > % Repeated chords (via "q") are not rendered when using ly:book-process. > > > > test = { r4 <c' e'> r q | } > > > > \book { \score { \test \layout {} } } > > > > #(ly:book-process (ly:make-book $defaultpaper > > #f > > (ly:make-score test)) > > $defaultpaper > > $defaultlayout > > (string-append (ly:parser-output-name) "-1")) > > > > > This isn't a bug. You probably want to use scorify-music instead of > the low-level function ly:make-score. Thank you so much, that did the trick. The naming of lilypond scheme functions can be really unintuitive sometimes. At the very least, the internals reference could use some major extensions making clear what the functions do and how, with examples. Via [1], it would have been impossible for me to understand what scorify-music does or that I need this function over ly:make-score. Am I missing some other place where this is already documented in more detail? If not, I'd be happy to start investing my time to contribute to the Internals reference documentation, especially Section 4 "Scheme functions". In addition to better explanatory texts this section could benefit from more crosslinks and examples - or maybe the examples should be in a different (new) section to keep this reference concise. I'd be happy to discuss this further. As a start, here are my suggestions for the two functions in question: - - - - - A) In Internals, Section 4 "Scheme functions", change the explanation text for "scorify-music" as follows: Preprocess _music_ and encapsulate it into a score smob. Among other things, preprocessing replaces chord repetitions via `q` with the correct actual chords. B) In Internals, Section 4 "Scheme functions", change the explanation text for "ly:make-score" as follows: Encapsulate _music_ into a score smob. Note: This is a low-level function that does not preprocess _music_ in any way. You might be looking for `scorify-music` instead, which also preprocesses _music_. - - - - - If someone else is already working improving this Section, you may let me know - I'd love to join in. Otherwise, as my understanding of the internals is still fragmentary, I'd need some help getting things right. I could just continue to send improvement suggestions as mentioned in [2] to this mailinglist (or lilypond-devel?) and someone corrects me if I get things wrong? Or is someone willing to "proofread" some suggestions of mine in advance so I do not add too much noise to the mailinglists? I could also give larger-scale structural improvement suggestion as a start for debate if you would consider this appropriate from a "newbie" to the mailinglists. I'd be thankful for any pointers on the best way to keep contributing to this part of the documentation and help this amazing project (which I have been using for many years!) become even better. Cheers! Lovis [1] https://lilypond.org/doc/v2.24/Documentation/internals/scheme-functions [2] https://lilypond.org/doc/v2.24/Documentation/contributor/documentation-suggestions