Re: music function playing well with context

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 22:17, Alberto Simões wrote:

> Understood. Thank you .
> After looking to the example, it makes sense, but it wasn't easy to get there 
> :-)> Always great to learn!


Perhaps you will have an easier time building custom functions after
reading pages like these:

https://lilypond.org/doc/v2.24/Documentation/extending/building-complicated-functions
https://extending-lilypond.gitlab.io/en/extending/music.html#music-expressions

Best,
Jean



OpenPGP_signature
Description: OpenPGP digital signature


Re: music function playing well with context

2023-02-07 Thread Alberto Simões
On Tue, Feb 7, 2023 at 9:07 PM Jean Abou Samra  wrote:

> On 07/02/2023 21:57, Alberto Simões wrote:
> > Hello
> >
> > I am transcribing a piece that has a lot of tuplets:
> >
> >\tuplet 3/2 { a4 b8 }
> >
> > The duration of the notes is always this, just the pitch changes.
> > I tried to create a music function with this code
> >
> > myT = #(define-music-function (pa pb) (ly:pitch? ly:pitch?)
> > #{
> > \tuplet 3/2 { $pa 4 $pb 8 }
> > #})
> >
> > it works well, but I can't combine it with the context, for instance,
> adding slurs:
> >
> >   \myT c( gis  a4_.)
> >
> > also, I will need to attach other stuff to the notes:
> >
> >   \myT c_. d^^ e4
> >
> > I understand that having a ly:pitch argument, I can only use... pitch
> > But changing it to ly:music?, I am not being able to control the notes
> duration.
> >
> > This is my first function, so sorry if this is too basic :-)
>
>
>
> This is not a dumb question. Try this:
>
> \version "2.24.0"
>
> myT =
> #(define-music-function (pa pb) (ly:music? ly:music?)
>(ly:music-set-property! pa 'duration #{ 4 #})
>(ly:music-set-property! pb 'duration #{ 8 #})
> #{ \tuplet 3/2 { #pa #pb } #})
>
> {
>   \myT c( gis a4_.)
>   \myT c_. d^^ e4
> }
>
>
> You need to receive the argument as ly:music? so as to allow
> articulations on the note. Then, you can override the duration,
> with ly:music-set-property! .
>

Understood. Thank you .
After looking to the example, it makes sense, but it wasn't easy to get
there :-)
Always great to learn!


> Also, you may already know this, but I want to make sure:
> \tuplet supports a form that allows writing consecutive
> tuplets with a single \tuplet command, like this:
> {
>   \tuplet 3/2 4. { c4( gis8 c4_. d8^^) }
> }
>
>
Didn't knew, but in my case it doesn't help much :-)

Thank you,
Alberto


Re: music function playing well with context

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 21:57, Alberto Simões wrote:
> Hello
> 
> I am transcribing a piece that has a lot of tuplets:
>  
>    \tuplet 3/2 { a4 b8 }
> 
> The duration of the notes is always this, just the pitch changes.
> I tried to create a music function with this code
> 
> myT = #(define-music-function (pa pb) (ly:pitch? ly:pitch?)
>         #{
>             \tuplet 3/2 { $pa 4 $pb 8 }
>         #})
> 
> it works well, but I can't combine it with the context, for instance, adding 
> slurs:
> 
>   \myT c( gis  a4_.)
> 
> also, I will need to attach other stuff to the notes:
> 
>   \myT c_. d^^ e4
> 
> I understand that having a ly:pitch argument, I can only use... pitch
> But changing it to ly:music?, I am not being able to control the notes 
> duration.
> 
> This is my first function, so sorry if this is too basic :-)



This is not a dumb question. Try this:

\version "2.24.0"

myT =
#(define-music-function (pa pb) (ly:music? ly:music?)
   (ly:music-set-property! pa 'duration #{ 4 #})
   (ly:music-set-property! pb 'duration #{ 8 #})
#{ \tuplet 3/2 { #pa #pb } #})

{
  \myT c( gis a4_.)
  \myT c_. d^^ e4
}


You need to receive the argument as ly:music? so as to allow
articulations on the note. Then, you can override the duration,
with ly:music-set-property! .

Also, you may already know this, but I want to make sure:
\tuplet supports a form that allows writing consecutive
tuplets with a single \tuplet command, like this:

\version "2.24.0"

{
  \tuplet 3/2 4. { c4( gis8 c4_. d8^^) }
}


Best,
Jean




OpenPGP_signature
Description: OpenPGP digital signature


music function playing well with context

2023-02-07 Thread Alberto Simões
Hello

I am transcribing a piece that has a lot of tuplets:

   \tuplet 3/2 { a4 b8 }

The duration of the notes is always this, just the pitch changes.
I tried to create a music function with this code

myT = #(define-music-function (pa pb) (ly:pitch? ly:pitch?)
#{
\tuplet 3/2 { $pa 4 $pb 8 }
#})

it works well, but I can't combine it with the context, for instance,
adding slurs:

  \myT c( gis  a4_.)

also, I will need to attach other stuff to the notes:

  \myT c_. d^^ e4

I understand that having a ly:pitch argument, I can only use... pitch
But changing it to ly:music?, I am not being able to control the notes
duration.

This is my first function, so sorry if this is too basic :-)
Kindest regards
Alberto


RE: Installation of Lilypond 2.24.0 on a Windows 11 computer

2023-02-07 Thread tommy_strandberg
Hi,

As I already said, I'm not an expert in this so it's more a solution partially 
on trial and error.

For information, I've never changed anything while installing any program, 
Frescobaldi or Lilypond on my almost new Windows 11 computer. V2.22.2 was 
obviously installed using the installer which by default put it into C:\Program 
Files (x86).  The same happened with Frescobaldi.  The version 2.24.0 I, at 
first, uncompressed into my "home" directory 
C:\Users\tommy\Documents\_DellDaten\60_Programs\Lilypond as suggested by the 
manual and in Frescobaldi linked in the 2.24.0 version under preferences as 
written in the manual but I kept the link to v2.22.2 and declared 2.24.0 as 
default.  By the way, v2.22.2 still worked without any error messages despite 
the problems with 2.24.0, but now it's uninstalled of course.

I've now uninstalled 2.22.2 and reinstalled Frescobaldi, and uncompressed 
2.24.0 into the same directory, i.e. C:\Program Files.  I don’t' know why, but 
now it works without error messages.

I fully agree, It's no good to install anything with admin rights into 
C:\Program Files or C:\Program Files (x86).  

I'll try your suggestion tomorrow but anyway, thanks for the help.

BR
Tommy

-Original Message-
From: Jean Abou Samra  
Sent: Tuesday, February 7, 2023 7:43 PM
To: tommy_strandb...@web.de; 'Paul Hodges' ; 
lilypond-user@gnu.org
Subject: Re: Installation of Lilypond 2.24.0 on a Windows 11 computer

On 07/02/2023 19:25, tommy_strandb...@web.de wrote:
>  2. The handbook is very misleading as it states ( 
> https://lilypond.org/doc/v2.23/Documentation/learning/graphical-setup-under-windows
>  
> )
> “Place the resulting directory lilypond-x.y.z-mingw-x86_64 in a permanent 
> location; the actual folder doesn’t matter; you just need to put it somewhere 
> you won’t move it afterwards. For example, you could choose your home folder.”
> 
> With the experience of today and my problems, this seems to be 
> completely wrong and should be updated.



I disagree. There is no obvious reason why it should be so.

That section from the manual was written by me, and as the screenshots show, I 
tested the installation procedure step by step, and it worked.
I definitely did not install anything into C:\Program Files or C:\Program Files 
(x86) and I would recommend against doing so (there is a reason why it requires 
admin rights). You are also the first one to report this problem, two months 
after the release of version 2.24.0, which means it is working for other people.

I don't know if the install location has anything to do with it, but LilyPond 
is supposed to work while installed anywhere. If it doesn't, there is a bug 
either in LilyPond, or in Fontconfig (the library LilyPond uses to search 
fonts), or in your setup (it could have been messed up by a completely 
different application), but not in the documentation.

Which brings me back to the question about FC_DEBUG.

Regards,
Jean





Re: Installation of Lilypond 2.24.0 on a Windows 11 computer

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 19:25, tommy_strandb...@web.de wrote:
>  2. The handbook is very misleading as it states ( 
> https://lilypond.org/doc/v2.23/Documentation/learning/graphical-setup-under-windows
>  
> )
> “Place the resulting directory lilypond-x.y.z-mingw-x86_64 in a permanent 
> location; the actual folder doesn’t matter; you just need to put it somewhere 
> you won’t move it afterwards. For example, you could choose your home folder.”
> 
> With the experience of today and my problems, this seems to be completely 
> wrong and should be updated.     



I disagree. There is no obvious reason why it should be so.

That section from the manual was written by me, and as the screenshots
show, I tested the installation procedure step by step, and it worked.
I definitely did not install anything into C:\Program Files or
C:\Program Files (x86) and I would recommend against doing so (there
is a reason why it requires admin rights). You are also the first one
to report this problem, two months after the release of version 2.24.0,
which means it is working for other people.

I don't know if the install location has anything to do with it,
but LilyPond is supposed to work while installed anywhere. If
it doesn't, there is a bug either in LilyPond, or in Fontconfig
(the library LilyPond uses to search fonts), or in your setup
(it could have been messed up by a completely different application),
but not in the documentation.

Which brings me back to the question about FC_DEBUG.

Regards,
Jean



OpenPGP_signature
Description: OpenPGP digital signature


Re: writing score in absolute time

2023-02-07 Thread Knute Snortum
On Tue, Feb 7, 2023 at 8:58 AM Aaron Hill  wrote:
>
> On 2023-02-07 8:22 am, Knute Snortum wrote:
> > Setting the paper size to A4 should be as simple as:
> >
> > \paper {
> >   #(set-paper-size "letter")
> > }
>
> Well, that produces US letter size: 8.5" x 11".

Oops, copy/paste error.  Thanks, Aaron, for catching that.


--
Knute Snortum



RE: Installation of Lilypond 2.24.0 on a Windows 11 computer

2023-02-07 Thread tommy_strandberg
Dear all,

 

I tried the simple suggestion from Paul first.

 

If you need to uncompress the delivered zip-files into Programs C:\Program 
Files you must, on Windows 11 at least, have administrator rights.  I put the 
uncompressed files here because the new version of Lilypond is 64-bit versions 
as a folder “lilypond-2.24.0-mingw-x86_64”.  This is not the place where 
Frescobaldi gets installed, at least not on my computer, because I believe, 
it’s still a 32-bit application.  By default, it therefore, gets installed in 
C:\Program Files (x86).

 

To make a short, at first it worked until I started to “play around” with the 
installation to see exactly when and why the error messages occurred before.  
Then after some hassle and trial and error  and many re-starts of the computer, 
I got it running again.

 

This is not a full installation investigation but there are a few things I 
believe are important or even mandatory:

 

A.  When the zip-file is uncompressed, it seems necessary to keep the 
structure and names of the directories unchanged.  For LP 2.24.0 it is 

 lilypond-2.24.0-mingw-x86_64

|_ lilypond-2.24.0

In my test when I just copied and pasted lilypond-2.24.0 into C:\Program Files, 
I got the same error messages as before.

It appears necessary that Frescobaldi is installed in the same directory as 
Lilypond.  In my case, I had to specifically select C:\Program Files instead of 
the default installation directory C:\Program Files (x86).



B.  The handbook is very misleading as it states ( 
https://lilypond.org/doc/v2.23/Documentation/learning/graphical-setup-under-windows)
“Place the resulting directory lilypond-x.y.z-mingw-x86_64 in a permanent 
location; the actual folder doesn’t matter; you just need to put it somewhere 
you won’t move it afterwards. For example, you could choose your home folder.”

With the experience of today and my problems, this seems to be completely wrong 
and should be updated.  

 

Thanks for the support.

 

BR

Tommy

 

 

 

From: Paul Hodges  
Sent: Tuesday, February 7, 2023 5:45 PM
To: tommy_strandb...@web.de; lilypond-user@gnu.org
Subject: Re: Installation of Lilypond 2.24.0 on a Windows 11 computer

 

What directory have you unpacked the LilyPond directory to?  I have put it into 
C:\Program Files (which is where Frescobaldi also gets installed) and I have no 
such problem.

 

It may be that if you have LilyPond and Frescobaldi in different places, then 
something may not get the permissions it expects, but that's just a hunch.

 

Paul



From: mailto:tommy_strandb...@web.de> > 
To: mailto:lilypond-user@gnu.org> > 
Sent: 07/02/2023 16:00 
Subject: Installation of Lilypond 2.24.0 on a Windows 11 computer 

Hi,

 

I’m a little annoyed over problems in getting Lilypond 2.24.0 properly running 
on my computer.  My previous installation was Lilypond 2.22.2 together with 
Frescobaldi 3.2.  Everything worked fine and the main reason for switching to 
2.24 was new features making score-writing simpler.

 

Now, Lilypond 2.22.2was installed using a Windows installer.  For Lilypond 
2.24.0 and above, there appears to be no installer anymore or, at least, I’ve 
not found any anywhere.  Instead, the handbook explains how to “install” the 
new version by uncompress them on a suitable place on your computer and link 
them to Frescobaldi under Preferences.  This I’ve done without problem and in 
principle Lilypond 2.24.0 works including the new features. But when compiling 
a score, I now get error messages “Fontconfig error: No writable cache 
directories”

 



Re: writing score in absolute time

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 16:57, Cordelia wrote:
> Totally, now it begins the game. But at least I’ve a starting point!
> 
> I’ve to understand better the tempo and rhythmic values in lilypond.
> I’ve already added the possibility to write cents for exemple for 
> microtonality (a simple way).
> 
> There’s 2 more things I could not figure out:
> - how can I allow the duration line to be over other notes

What do you mean by this?

> - now the possibility to range everything in an A4 format (I could do it with 
> ImageMagick, but I wonder if lilypond could)

See my other reply.

Another thing: this:

\after 4*#point { $pitch 4*$len \- } -#cent <>

isn't what you want. It passes -#cent as main music argument
to \after, effectively requesting "a note with a \- duration line
event, at a duration of 4*#point after the articulation -#cent".
It happens to put the articulation -#cent on the note because
of an implementation detail of \after, but better not to
rely on it, and it outputs a warning too. You need to move
-#cent inside the braces.

\after 4*#point { $pitch 4*$len \- -#cent } <>




OpenPGP_signature
Description: OpenPGP digital signature


Re: writing score in absolute time

2023-02-07 Thread Cordelia
Yap, totally.
I’m almost there in order to cut everything inside one page.
It’s pretty amazing! We could imagine to print in score also some editing with 
Reaper and some other stuff!!
Awww..

And do u have a solution for the duration line break if meet other notes?



> On 7 Feb 2023, at 18:00, Jean Abou Samra  wrote:
> 
> On 07/02/2023 17:57, Aaron Hill wrote:
>> On 2023-02-07 8:22 am, Knute Snortum wrote:
>>> Setting the paper size to A4 should be as simple as:
>>> 
>>> \paper {
>>>   #(set-paper-size "letter")
>>> }
>> 
>> Well, that produces US letter size: 8.5" x 11".  For A4, you would naturally 
>> use "a4".
>> 
>> The Notation Reference lists all of the paper sizes [1] that are built-in.
>> 
>> [1]: 
>> https://lilypond.org/doc/v2.24/Documentation/notation/predefined-paper-sizes
> 
> 
> 
> 
> That is the default anyway. But the setting
> 
> \paper {
>page-breaking = #ly:one-line-auto-height-breaking
> }
> 
> overrides it. If an A4 score is desired, this definition of
> page-breaking should be removed.
> 
> 
> 




Re: writing score in absolute time

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 17:57, Aaron Hill wrote:
> On 2023-02-07 8:22 am, Knute Snortum wrote:
>> Setting the paper size to A4 should be as simple as:
>>
>> \paper {
>>   #(set-paper-size "letter")
>> }
> 
> Well, that produces US letter size: 8.5" x 11".  For A4, you would naturally 
> use "a4".
> 
> The Notation Reference lists all of the paper sizes [1] that are built-in.
> 
> [1]: 
> https://lilypond.org/doc/v2.24/Documentation/notation/predefined-paper-sizes




That is the default anyway. But the setting

\paper {
page-breaking = #ly:one-line-auto-height-breaking
}

overrides it. If an A4 score is desired, this definition of
page-breaking should be removed.





OpenPGP_signature
Description: OpenPGP digital signature


Re: writing score in absolute time

2023-02-07 Thread Aaron Hill

On 2023-02-07 8:22 am, Knute Snortum wrote:

Setting the paper size to A4 should be as simple as:

\paper {
  #(set-paper-size "letter")
}


Well, that produces US letter size: 8.5" x 11".  For A4, you would 
naturally use "a4".


The Notation Reference lists all of the paper sizes [1] that are 
built-in.


[1]: 
https://lilypond.org/doc/v2.24/Documentation/notation/predefined-paper-sizes



-- Aaron Hill



Re: Installation of Lilypond 2.24.0 on a Windows 11 computer

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 17:00, tommy_strandb...@web.de wrote:
> Hi,
> 
> I’m a little annoyed over problems in getting Lilypond 2.24.0 properly 
> running on my computer.  My previous installation was Lilypond 2.22.2 
> together with Frescobaldi 3.2.  Everything worked fine and the main reason 
> for switching to 2.24 was new features making score-writing simpler.
> 
> Now, Lilypond 2.22.2was installed using a Windows installer.  For Lilypond 
> 2.24.0 and above, there appears to be no installer anymore or, at least, I’ve 
> not found any anywhere.  Instead, the handbook explains how to “install” the 
> new version by uncompress them on a suitable place on your computer and link 
> them to Frescobaldi under Preferences.  This I’ve done without problem and in 
> principle Lilypond 2.24.0 works including the new features. But when 
> compiling a score, I now get error messages “Fontconfig error: No writable 
> cache directories”
> 
> To me, it looks like Lilypond is not correctly linked to the Windows 
> environment and I'm wondering if this simple linking to an Lilypond.exe file 
> in Frescobaldi is sufficient to set up the working environment for Lilypond.  
> Also, why isn’t there any Windows installer anymore but if, where can it be 
> found?



There isn't a Windows installer anymore because

- The minimalistic LilyPad editor has been discontinued, so it's
  less necessary.

- The new binaries are simpler for us to build. I'm sure all users
  like when LilyPond releases get out and don't like it when they are
  stuck due to build problems.

- It makes it easier to install several versions in parallel.

- It makes the binaries have the same form across all platforms.

And, yes, pointing Frescobaldi to the executable is sufficient.

Back to your problem: one thing that would help debugging would
be the output of LilyPond with the FC_DEBUG environment variable
set to 48. I haven't used Windows in ages, but I think you
should be able to run it this way by

- Navigating in the file explorer to the folder where lilypond.exe
  is (inside the bin folder in the folder where LilyPond lives).

- Opening Powershell there:
  
https://adamtheautomator.com/wp-content/uploads/2021/01/ALT_F_S_R_PowerShell.gif

- Running the commands

  $env:FC_DEBUG = 48

  then

  .\lilypond.exe

Then send us what this outputs in the console.

Best,
Jean




OpenPGP_signature
Description: OpenPGP digital signature


Re: Installation of Lilypond 2.24.0 on a Windows 11 computer

2023-02-07 Thread Paul Hodges
What directory have you unpacked the LilyPond directory to?  I have put it into 
C:\Program Files (which is where Frescobaldi also gets installed) and I have no 
such problem.


It may be that if you have LilyPond and Frescobaldi in different places, then 
something may not get the permissions it expects, but that's just a hunch.


Paul



 From:
 To:
 Sent:   07/02/2023 16:00 
 Subject:   Installation of Lilypond 2.24.0 on a Windows 11 computer 





Hi,
 
I’m a little annoyed over problems in getting Lilypond 2.24.0 properly running 
on my computer.  My previous installation was Lilypond 2.22.2 together with 
Frescobaldi 3.2.  Everything worked fine and the main reason for switching to 
2.24 was new features making score-writing simpler.
 
Now, Lilypond 2.22.2was installed using a Windows installer.  For Lilypond 
2.24.0 and above, there appears to be no installer anymore or, at least, I’ve 
not found any anywhere.  Instead, the handbook explains how to “install” the 
new version by uncompress them on a suitable place on your computer and link 
them to Frescobaldi under Preferences.  This I’ve done without problem and in 
principle Lilypond 2.24.0 works including the new features. But when compiling 
a score, I now get error messages “Fontconfig error: No writable cache 
directories”



Re: writing score in absolute time

2023-02-07 Thread Knute Snortum
On Tue, Feb 7, 2023 at 7:58 AM Cordelia  wrote:
>
> Totally, now it begins the game. But at least I’ve a starting point!
>
> I’ve to understand better the tempo and rhythmic values in lilypond.
> I’ve already added the possibility to write cents for exemple for 
> microtonality (a simple way).
>
> There’s 2 more things I could not figure out:
> - how can I allow the duration line to be over other notes
> - now the possibility to range everything in an A4 format (I could do it with 
> ImageMagick, but I wonder if lilypond could)

Setting the paper size to A4 should be as simple as:

\paper {
  #(set-paper-size "letter")
}


--
Knute Snortum



Installation of Lilypond 2.24.0 on a Windows 11 computer

2023-02-07 Thread tommy_strandberg
Hi,

 

I’m a little annoyed over problems in getting Lilypond 2.24.0 properly running 
on my computer.  My previous installation was Lilypond 2.22.2 together with 
Frescobaldi 3.2.  Everything worked fine and the main reason for switching to 
2.24 was new features making score-writing simpler.

 

Now, Lilypond 2.22.2was installed using a Windows installer.  For Lilypond 
2.24.0 and above, there appears to be no installer anymore or, at least, I’ve 
not found any anywhere.  Instead, the handbook explains how to “install” the 
new version by uncompress them on a suitable place on your computer and link 
them to Frescobaldi under Preferences.  This I’ve done without problem and in 
principle Lilypond 2.24.0 works including the new features. But when compiling 
a score, I now get error messages “Fontconfig error: No writable cache 
directories”

 

To me, it looks like Lilypond is not correctly linked to the Windows 
environment and I'm wondering if this simple linking to an Lilypond.exe file in 
Frescobaldi is sufficient to set up the working environment for Lilypond.  
Also, why isn’t there any Windows installer anymore but if, where can it be 
found?

 

In fact, by just creating and empty score with only the version number and 
compiling it, I get the following error messages in the log

 

Starting lilypond.exe 2.24.0 [Untitled]...

Fontconfig error: No writable cache directories

Fontconfig error: No writable cache directories

Fontconfig error: No writable cache directories

Processing 
`C:/Users/tommy/AppData/Local/Temp/frescobaldi-igbl5ykb/tmpk46mf8bx/document.ly'

Parsing...

Success: compilation successfully completed

Completed successfully in 1.2".

 

I get the same error messages if I compile a file with just \version "2.25.1" 
inserted.

 

If I do the same with Lilypond 2.22.2, the log-file is “clean”, i.e.

 

Starting lilypond.exe 2.22.2 [Untitled]...

Processing 
`C:/Users/tommy/AppData/Local/Temp/frescobaldi-ole08v_n/tmp189xatib/document.ly'

Parsing...

Success: compilation successfully completed

Completed successfully in 2.2".

 

Despite these error messages and bunch of other as well, the score is still 
generated seemingly correct but it’s extremely annoying and as far as I can 
see, the manuals do not provide any help how to solve this. 

 

I must admit that I’m not a programmer or a Windows expert but I’ve been 
working with satellite onboard software for almost 40 years, so I have some SW 
experience but this “kills me” and I’ve not received any response from user 
forums or Facebook group so far.

 

So, for me, what’s the way forward.  Any help would be appreciated.

 

BR

Tommy

 

Tommy Strandberg

 

Tel.: +49 172 7302857

Mail: tommy_strandb...@web.de

 



Re: writing score in absolute time

2023-02-07 Thread Cordelia
Totally, now it begins the game. But at least I’ve a starting point!

I’ve to understand better the tempo and rhythmic values in lilypond.
I’ve already added the possibility to write cents for exemple for microtonality 
(a simple way).

There’s 2 more things I could not figure out:
- how can I allow the duration line to be over other notes
- now the possibility to range everything in an A4 format (I could do 
it with ImageMagick, but I wonder if lilypond could)

Updated code for those interested:

\version "2.24.0"

\paper {
page-breaking = #ly:one-line-auto-height-breaking
}

\layout {
\context {
\Score
proportionalNotationDuration = #(ly:make-moment 1/64)
\override SpacingSpanner.uniform-stretching = ##t
\override DurationLine.bound-details.right.end-style = #'hook
\override DurationLine.thickness = 2
}
\context {
\Voice
\consists Duration_line_engraver
\remove Stem_engraver
\remove Dots_engraver
\override NoteHead.duration-log = 2
}
}

at =
#(define-music-function (instrument point pitch len cent) (string? 
exact-rational? ly:pitch? exact-rational? string?)
 #{ \context Staff = #instrument \after 4*#point { $pitch 4*$len \- } 
-#cent <> #})

<<
\new Staff = piano { s1*10 }
\new Staff = violin { s1*10 }
\cadenzaOn
\at piano ##e1.67 e' ##e1 "-31.75¢"
\at piano ##e5.96 a' ##e2 "+7.51¢"
\at violin ##e2.8 c' ##e3 "+38.42¢"
\at violin ##e1.89 e' ##e4 "+14.04¢"
\at violin ##e5.37 d' ##e5 "+23.6¢"
>>



> On 7 Feb 2023, at 15:57, David Wright  wrote:
> 
> On Tue 07 Feb 2023 at 15:29:29 (+0100), Jean Abou Samra wrote:
>> On 07/02/2023 14:58, Cordelia wrote:
>>> Amazing, really.
>>> I lastly just wonder now, if it’s possible to write the duration in 
>>> seconds.. But I understood that’s not the way of working of lilypond.
>>> Thank you!
>> 
>> 
>> This can be done too.
>> 
>> \version "2.24.0"
> 
> [ … ]
> 
> Next problem: squeezing in the accidentals. One solution: a grand
> staff with lines and spaces for each note of the chromatic scale.
> Unintended benefit: punch out the inked sections and you've got
> yourself a piano roll.
> 
> Cheers,
> David.



Re: writing score in absolute time

2023-02-07 Thread David Wright
On Tue 07 Feb 2023 at 15:29:29 (+0100), Jean Abou Samra wrote:
> On 07/02/2023 14:58, Cordelia wrote:
> > Amazing, really.
> > I lastly just wonder now, if it’s possible to write the duration in 
> > seconds.. But I understood that’s not the way of working of lilypond.
> > Thank you!
> 
> 
> This can be done too.
> 
> \version "2.24.0"

[ … ]

Next problem: squeezing in the accidentals. One solution: a grand
staff with lines and spaces for each note of the chromatic scale.
Unintended benefit: punch out the inked sections and you've got
yourself a piano roll.

Cheers,
David.


Re: writing score in absolute time

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 14:58, Cordelia wrote:
> Amazing, really.
> I lastly just wonder now, if it’s possible to write the duration in seconds.. 
> But I understood that’s not the way of working of lilypond.
> Thank you!


This can be done too.

\version "2.24.0"

\paper {
  page-breaking = #ly:one-line-auto-height-breaking
}

\layout {
  \context {
\Score
proportionalNotationDuration = #(ly:make-moment 1/4)
\override SpacingSpanner.uniform-stretching = ##t
  }
  \context {
\Voice
\consists Duration_line_engraver
\omit NoteHead
\remove Stem_engraver
\remove Dots_engraver
  }
}

at =
#(define-music-function (instrument point pitch len) (string? exact-rational? 
ly:pitch? exact-rational?)
   #{ \context Staff = #instrument \after 4*#point { $pitch 4*$len \- } <> #})

<<
  \new Staff = piano { s1*10 }
  \new Staff = violin { s1*10 }
  \cadenzaOn
  \at piano ##e0.5 e' ##e1.0
  \at violin ##e0.6 e' ##e1.5
  \at piano ##e0.75 f' ##e1.0
  \at piano ##e1.0 g' ##e4
  \at piano ##e2.5 c' ##e0.5
  \at violin ##e3.0 c'' ##e0.125
>>





Best,
Jean






OpenPGP_signature
Description: OpenPGP digital signature


Re: writing score in absolute time

2023-02-07 Thread Cordelia
Amazing, really.
I lastly just wonder now, if it’s possible to write the duration in seconds.. 
But I understood that’s not the way of working of lilypond.
Thank you!



> On 7 Feb 2023, at 14:36, Jean Abou Samra  wrote:
> 
> On 07/02/2023 14:12, Cordelia wrote:
>> Oh, yeah. Thank you very very much. It gives me a lot of ideas!! It’s what I 
>> was looking for.
>> 
>> Do you have just an idea if it could be possible to write just a line (with 
>> a lil’ bar at the end maybe) that could represent the duration of the note?
>> Something as Grisey you know.
>> thanks,
> 
> 
> Hi,
> 
> Adding back the list, please keep it CCed in replies so everyone can
> participate (I suppose the off-list reply was accidental?).
> 
> These lines are called "duration lines" and documented here:
> 
> https://lilypond.org/doc/v2.24/Documentation/notation/graphical-notation
> 
> 
> 
> \version "2.24.0"
> 
> \paper {
>  page-breaking = #ly:one-line-auto-height-breaking
> }
> 
> \layout {
>  \context {
>\Score
>proportionalNotationDuration = #(ly:make-moment 1/4)
>\override SpacingSpanner.uniform-stretching = ##t
>  }
>  \context {
>\Voice
>\consists Duration_line_engraver
>\omit NoteHead
>\remove Stem_engraver
>\remove Dots_engraver
>  }
> }
> 
> at =
> #(define-music-function (instrument point note) (string? exact-rational? 
> ly:music?)
>   #{ \context Staff = #instrument \after 1*#point { #note \- } <> #})
> 
> <<
>  \new Staff = piano { s1*10 }
>  \new Staff = violin { s1*10 }
>  \cadenzaOn
>  \at piano ##e0.5 e'4
>  \at violin ##e0.6 e'4.
>  \at piano ##e0.75 f'4
>  \at piano ##e1.0 g'1
>  \at piano ##e2.5 c'8
>  \at violin ##e3.0 c''32
>>> 
> 
> 
> 
> Best,
> Jean
> 
> 




Re: writing score in absolute time

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 14:12, Cordelia wrote:
> Oh, yeah. Thank you very very much. It gives me a lot of ideas!! It’s what I 
> was looking for.
> 
> Do you have just an idea if it could be possible to write just a line (with a 
> lil’ bar at the end maybe) that could represent the duration of the note?
> Something as Grisey you know.
> thanks,


Hi,

Adding back the list, please keep it CCed in replies so everyone can
participate (I suppose the off-list reply was accidental?).

These lines are called "duration lines" and documented here:

https://lilypond.org/doc/v2.24/Documentation/notation/graphical-notation



\version "2.24.0"

\paper {
  page-breaking = #ly:one-line-auto-height-breaking
}

\layout {
  \context {
\Score
proportionalNotationDuration = #(ly:make-moment 1/4)
\override SpacingSpanner.uniform-stretching = ##t
  }
  \context {
\Voice
\consists Duration_line_engraver
\omit NoteHead
\remove Stem_engraver
\remove Dots_engraver
  }
}

at =
#(define-music-function (instrument point note) (string? exact-rational? 
ly:music?)
   #{ \context Staff = #instrument \after 1*#point { #note \- } <> #})

<<
  \new Staff = piano { s1*10 }
  \new Staff = violin { s1*10 }
  \cadenzaOn
  \at piano ##e0.5 e'4
  \at violin ##e0.6 e'4.
  \at piano ##e0.75 f'4
  \at piano ##e1.0 g'1
  \at piano ##e2.5 c'8
  \at violin ##e3.0 c''32
>>



Best,
Jean




OpenPGP_signature
Description: OpenPGP digital signature


Re: Command Alises

2023-02-07 Thread Valentin Petzel
Hello Paolo,

This is slightly OT, but there are other ways to alias things. \... is used in 
Lilypond either for evaluating a function, accessing some scheme object or 
evaluating some reserved parser keywords (such as \override). sustainOn is in 
fact a music object (not a function).

Now, when name is a function then \name ... will evaluate this function, and 
\name (leaving out the arguments) will cause an issue. If name is bound to 
some music object then \name will return a copy of this object.

But you can directly access the scheme bindings using #name. So in your case 
you can do

pdown = #sustainOn

Doing this does *not* create a copy but will reference the same music object, 
which might be more what we expect from an alias. We can see this here 
(replacing sustain by \cresc, because sustain is a bit boring):

cA = \cresc
cB = #cresc

#(display (eq? cA cresc))
#(newline)
#(display (eq? cB cresc))
#(newline)

{
  1\cresc 1\!
  1\cA 1\!
  1\cB 1\!
}

#(ly:music-set-property! cresc 'direction UP)

{
  1\cresc 1\!
  1\cA 1\!
  1\cB 1\!
}

>From the output we see that cA (\cresc) is not the same object as #cresc, but 
cB (#cresc) is the same object as cresc. Further we see if we then change the 
object bound to cresc (in this case by setting the direction property to UP) 
this will affect cB, but not cA (as cA was copied before we modified the 
underlying object).

Since we are only creating a binding to an existing thing this will also 
easily allow aliasing of functions:

tp = #tuplet

{ \tp 3/2 { c' d' e' } }

So this syntax does have the advantage of being usable for both objects and 
functions.

The other options would be to wrap the function:

tp =
#(define-music-function (frac mus) (fraction? ly:music?)
   (tuplet frac mus))

{ \tp 3/2 { c' d' e' } }

This way means that we alias not to the value of a binding, but to the binding 
itself, as the binding is resolved only when the function is called. So doing 
this:

tpA = #tuplet
tpB =
#(define-music-function (frac mus) (fraction? ly:music?)
   (tuplet frac mus))

{ \tpA 3/2 { c' d' e' } \tpB 3/2 { c' d' e' } }

tuplet =
#(define-music-function (frac mus) (fraction? ly:music?)
   mus)

{ \tpA 3/2 { c' d' e' } \tpB 3/2 { c' d' e' } }

We see that tpA will not be affected by binding the name tuplet to a different 
value (as it points to the function that was bound to tuplet before 
rebinding), but tpB will be affected. Similarly if we do not have a function 
but some music object we can also wrap this in a 0-argument function to 
actually alias the name (instead of the value):

pdown =
#(define-music-function () () #{ \sustainOn #})

Even if in this case (and in fact in most cases) this does not really make any 
difference I think it is useful to be aware of these differences.

Cheers,
Valentin


Am Dienstag, 7. Februar 2023, 12:45:34 CET schrieb p...@ocmatos.com:
> On 2023-02-03 16:46, Aaron Hill wrote:
> > Well, and those names are non-sensical.  \sustainOn implies depressing
> > the pedal.
> > 
> > 
> > \version "2.22.0"
> > 
> > pdown = -\sustainOn
> > pup = -\sustainOff
> > pupdown = -\sustainOff \sustainOn
> > 
> > { b'4\pdown 2 4\pupdown 2. 4\pup }
> > 
> > 
> > That probably makes more sense.
> 
> Right, I confused the names, thanks for the help. One further question,
> why the need to prefix the commands with a - ? Does it start some sort
> of command mode?



signature.asc
Description: This is a digitally signed message part.


Re: chord placement in Scores

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 12:51, Jean Abou Samra wrote:
> On 07/02/2023 05:44, Jeff Kopmanis wrote:
>> I've found that when I put chords in my score, it's printing them /below/ 
>> the staff rather than above, as usual.  Things are normal if I'm not 
>> building a score, but I'm wondering why this is happening.  I've included my 
>> (big) .ly document and just the score PDF.  It was just very weird and I'd 
>> thought I'd coded things /just like in the examples/.
> 
> 
> What is weird here exactly?
> 
> The relevant part from your code is
> 
>   \new PianoStaff \with {
> instrumentName = "Piano"
> shortInstrumentName = "Piano"
>   }<<
> \new Staff = "rh" \pianoRHMusic
> \new Dynamics \pianoDynamics
> <<
> \new ChordNames { \songChords }
> \new Staff = "lh" \pianoLHMusic
> >>
>   >>
> 
> 
> The contexts are being printed exactly in the vertical order that you 
> specified.




Now I see that I misunderstood your problem, sorry.

For my defense, it is difficult to quickly digest a huge file.
This is why we ask for giving a minimal example when feasible.

https://lilypond.org/tiny-examples.html

Here is a tiny example demonstrating the problem:
 
\version "2.24.0"

\new Staff <<
  \new ChordNames \chordmode { c1 }
  { c'1 }
>>


The Staff context that \new Staff introduces cannot contain ChordNames contexts,
so the ChordNames gets moved out of it automatically. (This behavior is what 
makes
ossia staves work.) Instead, you want

\version "2.24.0"

<<
  \new ChordNames \chordmode { c1 }
  \new Staff { c'1 }
>>


Best,
Jean



OpenPGP_signature
Description: OpenPGP digital signature


Re: chord placement in Scores

2023-02-07 Thread Michael Werner
On Mon, Feb 6, 2023 at 11:44 PM Jeff Kopmanis  wrote:

> I've found that when I put chords in my score, it's printing them *below* the
> staff rather than above, as usual.  Things are normal if I'm not building a
> score, but I'm wondering why this is happening.  I've included my (big) .ly
> document and just the score PDF.  It was just very weird and I'd thought
> I'd coded things *just like in the examples*.
>
> Thanks for any help,
>
> -Jeff. :)
>


Is this more what you were expecting?

[image: image.png]
If so, all that was needed was to move where each of the ChordNames
contexts get called, like so:

  \score {
<<
  \new StaffGroup = "horns" <<
\new ChordNames { \transpose c a { \soloChords } }
\new Staff \with {
  instrumentName = "Alto 1"
  shortInstrumentName = "Alto 1"
}<<
  %\new ChordNames { \transpose c a { \soloChords } }
  \altoIMusic
>>
\new ChordNames { \transpose c d { \soloChords }}
\new Staff \with {
  instrumentName = "Tenor 2"
  shortInstrumentName = "Tenor 2"
} <<
  %\new ChordNames { \transpose c d { \soloChords }}
  \tenorIIMusic
>>
\new Staff \with {
  instrumentName = "Trombone  3"
  shortInstrumentName = "Tbone 3"
} \tromboneIIIMusic
  >>
  \new ChordNames { \soloChords }
  \new Staff \with {
instrumentName = "Guitar"
shortInstrumentName = "Guitar"
  }<<
%\new ChordNames { \soloChords }
\guitarMusic
  >>
  \new ChordNames { \songChords }
  \new PianoStaff \with {
instrumentName = "Piano"
shortInstrumentName = "Piano"
  }<<
\new Staff = "rh" \pianoRHMusic
\new Dynamics \pianoDynamics
<<
  %\new ChordNames { \songChords }
  \new Staff = "lh" \pianoLHMusic
>>
  >>
  \new ChordNames \soloChords
  \new Staff \with {
instrumentName = "Bass"
shortInstrumentName = "Bass"
  }<<
%\new ChordNames \soloChords
\bassGuitarMusic
  >>
  \new DrumStaff \with {
instrumentName = "Drum Set"
shortInstrumentName = "Drums"
  }\drumSetMusic
>>

I've left the originals in place, just commented out. Basically, lilypond
will place each context where you call them. In this case, to put the
chords above the staff, just call the ChordNames and *then* call the
related Staff. This mechanism lets you mix and match each of the various
contexts as you wish. And if that image wasn't what you were wanting,
hopefully this'll at least help point you in the right direction.


Re: writing score in absolute time

2023-02-07 Thread Jean Abou Samra
On 04/02/2023 18:28, Jacopo Greco d'Alceo wrote:
> Thank you Gregory for your complete answer.
> And you’ve seen it right. I’m not yet an Abjad user, but I looked at it with 
> interest - but never drown inside.
> I’m just another composer still dreaming about writing music easily with a 
> computer.
> I’ll take a look at what you sent me, but, joining Jean’s argument, i think I 
> did not have been clear.
> 
> Long time ago I started a project for a piece for diskclavier where I wrote a 
> score on the picture of the spectrogram of the electronic part.
> I used, as I said, bach inside max because you can quickly do and export in 
> .png a proportional notation. I just wrote a value and an absolute time for 
> each note and the game was done. Obviously bach is really approximative.
> An idea of what I would like to transpose in a score is a Csound score:
> 
> i.e.:
> 
>   namenote starting   
> durationmidi note
>   of the staffpoint in secondsof the 
> note (or cent wherever..)
> 
> i “violin”0   
> 3s  69
> i “violin”.234s   
> 1.4s50
> i “violin”.345s   
> 2.1s34
> i “piano” 0   
> 3s  69
> i “violin”0   
> 3s  54
> 
> and generate an A4 or just en image.


So you want something like this? Apologies if this isn't what
you're looking for, but the specifics still aren't very clear
to me.

\version "2.24.0"

\paper {
  page-breaking = #ly:one-line-auto-height-breaking
}

\layout {
  \context {
\Score
proportionalNotationDuration = #(ly:make-moment 1/4)
\override SpacingSpanner.uniform-stretching = ##t
  }
}

at =
#(define-music-function (instrument point note) (string? exact-rational? 
ly:music?)
   #{ \context Staff = #instrument \after 1*#point #note <> #})

<<
  \new Staff = piano { s1*10 }
  \new Staff = violin { s1*10 }
  \cadenzaOn
  \at piano ##e0.5 e'4
  \at violin ##e0.6 e'4
  \at piano ##e0.75 f'4
  \at piano ##e1.0 g'1
  \at piano ##e2.5 c'8
  \at violin ##e3.0 c''32
>>


Of course, as others have noted, proportional notation doesn't work
anymore if you insert lots of very small notes, because LilyPond will
feel forced to avoid them colliding in spite of the proportional notation
setting. However, it should be possible to effectively stretch
proportionalNotationDuration automatically until there is enough
space for the entire score to be perfectly proportional. I guess
this isn't too much of an issue in practice, though?

Best,
Jean




OpenPGP_signature
Description: OpenPGP digital signature


Re: Dynamics for both staves

2023-02-07 Thread p

On 2023-02-07 12:47, Jean Abou Samra wrote:

On 07/02/2023 12:44, p...@ocmatos.com wrote:

On 2023-02-03 17:41, Knute Snortum wrote:


What I do is have a separate dynamics variable, then include that
variable in both staves of the piano staff in the midi block.  Then I
switch the dynamic performer to the staff level.  It looks like this
(for only one staff):



Thanks. What is the meaning of two scores though? I thought scores 
were something that were going to be rendered. Yet you have two scores 
but only one rendered. How does lilypond decide what to render and 
what to not render?



\score has no \midi or \layout blocks ⇒ PDF
\score has a \midi block but no \layout block ⇒ only MIDI
\score has a \layout block but no \midi block ⇒ PDF
\score has both a \layout block and a \midi block ⇒ MIDI and PDF

See 
https://lilypond.org/doc/v2.24/Documentation/notation/the-midi-block


Awesome - thanks.



Re: chord placement in Scores

2023-02-07 Thread Robin Bannister

Jeff Kopmanis wrote:

I've found that when I put chords in my score, it's printing them *below* the
staff rather than above, as usual.  Things are normal if I'm not building a
score, but I'm wondering why this is happening. 


Well, I'm not sure.
But, to be clear, I see this happening only on the "Bass" line.

If you swap "Guitar" and "Bass", it happens only with "Guitar".
So it is happening when "Bass" is at the bottom.

Well it isn't really at the bottom, because "Drum Set" is declared last.
If you make the drum line last as long as everything else
(by appending  s2. s1*85  to drumSetMusic)
then "Drum Set" is always at the bottom.
With that configuration, the "Bass" chords drop down onto the drum line.


To keep the chords and the music together, try the following:
  - introduce the Bass line with\new StaffGroup
  - introduce \bassGuitarMusic with\new Staff


That you got strange layout rather than an error message was probably 
thanks to automagic trying to cope.



Cheers,
Robin




Re: Command Alises

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 12:59, Jean Abou Samra wrote:
> On 07/02/2023 12:45, p...@ocmatos.com wrote:
> 
>> Right, I confused the names, thanks for the help. One further question, why 
>> the need to prefix the commands with a - ? Does it start some sort of 
>> command mode?
> 
> 
> You don't have to. It's just a neutral direction indicator. It is
> implicit if you leave it off. If you replace it with "^", you will
> get the pedal markings above the staff, just as if you had written
> "note^\sustainOn" etc. in the music. You could also use "_", but
> that would be the same as the default.


Oops, this is wrong, sorry. Pedals appear not to understand
direction indicators. So it's just something that is part of
the syntax of articulations in general, but has no use in the
case of pedals.



OpenPGP_signature
Description: OpenPGP digital signature


Re: Command Alises

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 12:45, p...@ocmatos.com wrote:

> Right, I confused the names, thanks for the help. One further question, why 
> the need to prefix the commands with a - ? Does it start some sort of command 
> mode?


You don't have to. It's just a neutral direction indicator. It is
implicit if you leave it off. If you replace it with "^", you will
get the pedal markings above the staff, just as if you had written
"note^\sustainOn" etc. in the music. You could also use "_", but
that would be the same as the default.



OpenPGP_signature
Description: OpenPGP digital signature


Re: chord placement in Scores

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 05:44, Jeff Kopmanis wrote:
> I've found that when I put chords in my score, it's printing them /below/ the 
> staff rather than above, as usual.  Things are normal if I'm not building a 
> score, but I'm wondering why this is happening.  I've included my (big) .ly 
> document and just the score PDF.  It was just very weird and I'd thought I'd 
> coded things /just like in the examples/.


What is weird here exactly?

The relevant part from your code is

  \new PianoStaff \with {
instrumentName = "Piano"
shortInstrumentName = "Piano"
  }<<
\new Staff = "rh" \pianoRHMusic
\new Dynamics \pianoDynamics
<<
\new ChordNames { \songChords }
\new Staff = "lh" \pianoLHMusic
>>
  >>


The contexts are being printed exactly in the vertical order that you specified.

Regards,
Jean




OpenPGP_signature
Description: OpenPGP digital signature


Re: Dynamics for both staves

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 12:44, p...@ocmatos.com wrote:
> On 2023-02-03 17:41, Knute Snortum wrote:
>>
>> What I do is have a separate dynamics variable, then include that
>> variable in both staves of the piano staff in the midi block.  Then I
>> switch the dynamic performer to the staff level.  It looks like this
>> (for only one staff):
>>
> 
> Thanks. What is the meaning of two scores though? I thought scores were 
> something that were going to be rendered. Yet you have two scores but only 
> one rendered. How does lilypond decide what to render and what to not render?


\score has no \midi or \layout blocks ⇒ PDF
\score has a \midi block but no \layout block ⇒ only MIDI
\score has a \layout block but no \midi block ⇒ PDF
\score has both a \layout block and a \midi block ⇒ MIDI and PDF

See https://lilypond.org/doc/v2.24/Documentation/notation/the-midi-block



OpenPGP_signature
Description: OpenPGP digital signature


Re: Command Alises

2023-02-07 Thread p

On 2023-02-03 16:46, Aaron Hill wrote:



Well, and those names are non-sensical.  \sustainOn implies depressing
the pedal.


\version "2.22.0"

pdown = -\sustainOn
pup = -\sustainOff
pupdown = -\sustainOff \sustainOn

{ b'4\pdown 2 4\pupdown 2. 4\pup }


That probably makes more sense.




Right, I confused the names, thanks for the help. One further question, 
why the need to prefix the commands with a - ? Does it start some sort 
of command mode?


--
Paulo Matos



Re: Translating “Extending LilyPond” — any takers?

2023-02-07 Thread Jean Abou Samra
On 07/02/2023 10:52, Kenneth Flak wrote:
> 
> Hi Jean,
> 
> Thanks so much for continuing to develop this invaluable resource! I have one 
> small issue with the site in dark mode (which seems to be the default on my 
> linux system and android phone): some of the writing is barely legible, with 
> a very low contrast ratio. Including a couple of screenshots to show what it 
> looks like. In chromium the page displays as a light theme, and is fully 
> legible.


Thanks for the feedback. I had disabled the light/dark mode toggle, but didn't
think about people who have dark mode in their system configuration. I have
disabled dark mode entirely now, which should make the page appear in light mode
for everyone; can you try again? (You might have to clear your browser's cache 
for
that site in order for the change to take effect; I think it will otherwise 
remember
the mode from your last visit.)

The basic issue is that the syntax highlighting of the LilyPond code examples,
using the Pygments library, uses a color scheme that is LilyPond-specific
(because it's done based on concepts like "grobs", "engravers" that don't
easily translate into the "strings literals", "function names" etc. that most
Pygments styles understand). There are two such styles in the wild, one built
into Pygments and one found in the LilyPond documentation (plus a 
black-and-white
one in the LilyPond documentation, for PDF output). Currently, neither of these
has a dark mode variant. If someone wants to make dark mode work well on this
site, the first step would be to create an adapted version of Pygments' LilyPond
color scheme.

Best,
Jean



OpenPGP_signature
Description: OpenPGP digital signature


Re: Dynamics for both staves

2023-02-07 Thread p

On 2023-02-03 17:41, Knute Snortum wrote:


What I do is have a separate dynamics variable, then include that
variable in both staves of the piano staff in the midi block.  Then I
switch the dynamic performer to the staff level.  It looks like this
(for only one staff):



Thanks. What is the meaning of two scores though? I thought scores were 
something that were going to be rendered. Yet you have two scores but 
only one rendered. How does lilypond decide what to render and what to 
not render?

--
Paulo



Re: Translating “Extending LilyPond” — any takers?

2023-02-07 Thread Kenneth Flak

Hi Jean,

Thanks so much for continuing to develop this invaluable resource! I have one 
small issue with the site in dark mode (which seems to be the default on my 
linux system and android phone): some of the writing is barely legible, with a 
very low contrast ratio. Including a couple of screenshots to show what it 
looks like. In chromium the page displays as a light theme, and is fully 
legible.

All the best,
Kenneth

--
Roosna & Flak - Contemporary Dance & Music
Web: roosnaflak.com
Code: {github,gitlab}.com/kflak
Mastodon: @k...@sonomu.club
On  6 Feb 2023  20:26, Jean Abou Samra wrote:
>Just a small note: for various reasons, the guide has moved
>from ReadTheDocs to GitLab pages. The new URL is
>
>https://extending-lilypond.gitlab.io
>
>(old URLs have been turned into redirects).
>
>Best,
>Jean