Re: shifting accidentals horizontally

2023-06-12 Thread Werner LEMBERG
> @Werner I’ve added a small fix concerning the case when there is no > NoteCollision grob (in which case this should not be relevant in the > first place). Thanks a lot! I think this would be a great snippet for the LSR. Note, however, that there are alignment problems with other staves, see b

Re: shifting accidentals horizontally

2023-06-12 Thread Werner LEMBERG
> Even though I can imagine this happening, I don't recall seeing it > as a pianist. Even if you tweak it to swap the note columns, I > think it will still be a bit confusing. As Damian has observed, there are plenty of examples in Bartók's piano sonata. Other, similar situations can be found i

Re: shifting accidentals horizontally

2023-06-12 Thread Damian leGassick
> Even though I can imagine this happening, I don't recall seeing > it as a pianist. Even if you tweak it to swap the note columns, > I think it will still be a bit confusing. > > There are two obvious fixes: if you are the composer, you could > consider changing the B♭ into an A♯. And the other

Re: shifting accidentals horizontally

2023-06-12 Thread Valentin Petzel
Hello Jean, I think a possible case would be something like the appended case, so if we have some sort of superimposed patterns. @Werner I’ve added a small fix concerning the case when there is no NoteCollision grob (in which case this should not be relevant in the first place). Cheers, Valen

Re: shifting accidentals horizontally

2023-06-12 Thread Jean Abou Samra
Le lundi 12 juin 2023 à 17:02 +, Werner LEMBERG a écrit : > Please consider the example code below.  The first line shows > LilyPond's default, the second line shows what I need.  As can be > seen, the solution in the second line is imperfect – I just did the > most basic changes to demonstrate

Re: shifting accidentals horizontally

2023-06-12 Thread Valentin Petzel
Hello Werner, I’ve tried something using an engraver that sends of accidentals from the given context to a separate AccidentalPlacement grob: % #(define (which lst) (define (impl lst count) (if (null? lst) #f (if (car lst) count (impl (cdr

Re: shifting accidentals horizontally

2023-06-12 Thread Werner LEMBERG
> Not the answer to the Lilypond question, but as a reference of > comparison, here is what Dorico does in this situation by default, > and I believe this to be correct standard practice. Well, it can't be generalized – sometimes LilyPond's default is the right choice. However, it would be nice

Re: shifting accidentals horizontally

2023-06-12 Thread Andrew Bernard
Not the answer to the Lilypond question, but as a reference of comparison, here is what Dorico does in this situation by default, and I believe this to be correct standard practice. Andrew

shifting accidentals horizontally

2023-06-12 Thread Werner LEMBERG
Please consider the example code below. The first line shows LilyPond's default, the second line shows what I need. As can be seen, the solution in the second line is imperfect – I just did the most basic changes to demonstrate what I want, namely the down-stemmed note to be positioned after the

Re: How to generate \scaleDurations values procedurally

2023-06-12 Thread Jean Abou Samra
Le lundi 12 juin 2023 à 13:49 +0200, Lib Lists a écrit : > > Dear Jean, fantastic, thank you so much! And all clear. > > Concerning the staff size and page layout, I think I've found > something that is not clear to me from the documentation. When > reducing the staff size to accommodate all the

Re: How to generate \scaleDurations values procedurally

2023-06-12 Thread Lib Lists
On Mon, 12 Jun 2023 at 12:44, Jean Abou Samra wrote: > > [Adding back the list] Oops, thank you! > > Le lundi 12 juin 2023 à 12:23 +0200, Lib Lists a écrit : > > > On Mon, 12 Jun 2023 at 10:58, Jean Abou Samra > > <[j...@abou-samra.fr](mailto:j...@abou-samra.fr)> wrote: > > Dear Jean, all clear

Re: How to generate \scaleDurations values procedurally

2023-06-12 Thread Jean Abou Samra
[Adding back the list] Le lundi 12 juin 2023 à 12:23 +0200, Lib Lists a écrit : > On Mon, 12 Jun 2023 at 10:58, Jean Abou Samra > <[j...@abou-samra.fr](mailto:j...@abou-samra.fr)> wrote: > Dear Jean, all clear, thank you so much! I was exactly trying to > figure out the accidental issue and real

Re: How to make a blank page

2023-06-12 Thread Valentin Petzel
Hello Silvain, it might help to understand that \pageBreak is not an instruction to insert a pageBreak. Think of \noPageBreak: This is a token that prevents a pageBreak to happen at the given place. Similarly \pageBreak is a token that enforces a pageBreak to happen at the given place (in other

Re: How to generate \scaleDurations values procedurally

2023-06-12 Thread Valentin Petzel
Hello Lib, #(ly:music-transpose {\mus} i) does not make sense. \mus is Lilypond syntax, not scheme. Either do #{ \mus #} to parse this as Lilypond expression, or do mus (instead of { \mus }) to scope this as Scheme object. Also ly:music-transpose does take a pitch as second argument, so if you

Re: How to generate \scaleDurations values procedurally

2023-06-12 Thread Jean Abou Samra
Le lundi 12 juin 2023 à 10:23 +0200, Lib Lists a écrit : > In your example, I changed the line: #{ \new Staff { \scaleDurations #(cons > 60 i) \mus } #}) > to this: #{ \new Staff { \scaleDurations #(cons 60 i)  #(ly:music-transpose > {\mus} i)  } #}) > but clearly there's something wrong, Well,

Re: How to generate \scaleDurations values procedurally

2023-06-12 Thread Lib Lists
On Mon, 12 Jun 2023 at 00:08, Jean Abou Samra wrote: > > Le dimanche 11 juin 2023 à 23:55 +0200, Lib Lists a écrit : > > Hello, I'm (re)working on a series of pieces for player piano. I'd like to > find a way to generate all the \scaleDurations values so that I don't have to > type them by hand.