lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Moving ClefModifiers vertically


From: Jean Abou Samra
Subject: Re: Moving ClefModifiers vertically
Date: Tue, 31 May 2022 14:18:02 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1

Hi Simon,

Le 31/05/2022 à 13:33, Simon Bailey a écrit :
Hi Jean,

On Tue, 31 May 2022 at 11:46, Jean Abou Samra <jean@abou-samra.fr> wrote:
Le 31/05/2022 à 12:14, Simon Bailey a écrit :
The pairs in clef-alignments are not (x . y) but (x-down . x-up),
where x-down and x-up respectively control the horizontal
alignment for clef modifiers that lower or raise the octave.
Well, that's my facepalm moment of the day… How easy/hard/burocratic
is it to submit a patch for the documentation to make that a bit
clearer?


The tough part with the contribution setup is getting
LilyPond to compile. For such a simple patch, that
is unnecessary, so it's quite easy overall. You can even
do that with zero setup at all using the GitLab Web
IDE. The file in question is here:

https://gitlab.com/lilypond/lilypond/-/blob/master/scm/define-grob-properties.scm#L182

I've never done this before, so I can't guarantee that
it will work exactly like this, but I think the steps
you need to take are:

- Create a GitLab account on https://gitlab.com if you
  don't already have one,
- Fork the LilyPond repository, by visiting
  https://gitlab.com/lilypond/lilypond
  and clicking 'Fork' on the top right,
- Edit the file in the Web IDE (I *think* that you
  need to do this in your fork and not in the main
  repository, i.e. navigate to the file on your fork's
  page or just replace gitlab.com/lilypond/lilypond
  with gitlab.com/your-user-name/lilypond in the URL
  above),
- Commit and start merge request.


Apart from this solution, which should work for very simple
patches, the workflow to prepare a patch locally and submit
it is thoroughly described in a tutorial style at

https://lilypond.org/doc/v2.23/Documentation/contributor/working-with-source-code

(Be sure to use the 2.23 version of the contributor's guide
here as it has seen some recent updates)



I have absolutely no clue what's happening here, but it does the trick
:D 20 years in and I still don't really understand Scheme. Maybe
someday I'll be able to work these things out on my own.


I wouldn't have imagined myself saying this a few years
back, but Scheme is actually very simple. Very simple.
Just very "weird" for beginners coming from other languages.
Okay, there are some complex corners, like the 401.5 flavors
of continuations or the macro system, but you only need
these rarely, in advanced usage. In a few days, you can
learn a subset of Scheme that is enough to understand 95%
of LilyPond's Scheme code. In my experience, what takes a bit
of effort is to learn how to program in functional style.
After that, there's nothing hard. The tutorial I used is
a LilyPond-specific one by Urs Liska:

https://scheme-book.ursliska.de/scheme/index.html

Some have praised this one (general):

https://ds26gte.github.io/tyscheme/index-Z-H-1.html

There's also "Teach yourself Scheme in Fixnum days":

https://ds26gte.github.io/tyscheme/index-Z-H-1.html

Just in case, I actually also wrote one, but in French:

https://tutoriel-scheme.readthedocs.io/

Of course, this list also welcomes questions on using Scheme
in LilyPond.

Best,
Jean




reply via email to

[Prev in Thread] Current Thread [Next in Thread]