lilypond-user
[Top][All Lists]
Advanced

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

Re: Change size of all notes in one voice with partCombine


From: Leo Correia de Verdier
Subject: Re: Change size of all notes in one voice with partCombine
Date: Thu, 1 Jul 2021 10:54:13 +0200

This is the intended behavior of partCombine. In the usual use case, with the 
same notehead size you still want to be able to follow each voice, so 
partCombine doesn’t merge them into chords when they’re crossed. (This is 
obscured in your first example because you are using \stemUp there, otherwise 
you would see the stems indicating the voicing).

Anyway you can easily override this behavior by using partCombineChords, like
…
%%%%
basso = { \partCombineChords d'4 e' \stemUp f'' g' a'2 }
%%%%
…
HTH
/Leo

> 1 juli 2021 kl. 06:52 skrev Dinh Hoang Tu <dhoangtu@gmail.com>:
> 
> Sorry for short description in my last email.
> I mean when 2nd voice has notes going upper and lower than 1st voice, 
> \partCombine won't combine 2 notes.
> There is a gap between 2 stems, as in attached image.
> 
> Many thanks,
> Tu'
> 
> On Thu, 1 Jul 2021 at 09:35, Dinh Hoang Tu <dhoangtu@gmail.com> wrote:
> Hello Jean and all,
> 
> I would love to contribute if I can :)
> 
> Using this in one music sheet, if 2nd voice has notes going upper and lower 
> than 1st voice, \partCombine will not work.
> 
> \version "2.22.1"
> localFontSize =
> #(define-music-function (font-size music) (number? ly:music?)
>    (for-some-music
>      (lambda (m)
>        (if (music-is-of-type? m 'rhythmic-event)
>            (begin
>              (set! (ly:music-property m 'tweaks)
>                    (cons `(font-size . ,font-size)
>                          (ly:music-property m 'tweaks)))
>              #t)
>            #f))
>      music)
>    music)
> soprano = { f'4 g'4 a'4 b'4 c''2 }
> alto = { d'4 e' \stemUp f'' g' a'2 }
> basso = { d'4 e' \stemUp f'' g' a'2 }
> tenor = { d'4 e' \stemUp \tweak font-size #-3 f'' g' a'2 }
> \new Score { \new Staff << \partCombine \soprano \alto >> }
> \new Score { \new Staff << \partCombine \soprano \localFontSize -3 \basso >> }
> \new Score { \new Staff << \partCombine \soprano \tenor >> }
> 
> Many thanks again to any help.
> 
> Best,
> Tu'
> 
> On Thu, 1 Jul 2021 at 04:00, Jean Abou Samra <jean@abou-samra.fr> wrote:
>> Le 30/06/2021 16:47, Dinh Hoang Tu <dhoangtu@gmail.com> a écrit :
>> 
>> 
>> Hello Jean, Xavier,
>> 
>> I think these music functions are useful enough to be integrated into 
>> Lilypond itself.
>> I put them in my local music-functions-init.ly for personal use.
>> But it will be helpful for Lilypond users, including myself, to have these 
>> handy features by default. 
>> 
>> Thank you and have a good day.
>> 
>> Tu'
> 
> Hello, 
> 
> Actually this particular music function is rather hacky. It only applies to 
> notes and rests (not articulations or dynamics) and would fail with things 
> like quoted music or events inserted via the edition engraver. In summary: it 
> is not mature enough to be integrated in the core right away. 
> 
> As described in my previous email, one of the projects on my stack would make 
> \override just work as expected, so I would prioritize working on this. 
> 
> Best regards, 
> Jean 




reply via email to

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