lilypond-user
[Top][All Lists]
Advanced

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

Re: Combining notes and articualtions


From: Leo Correia de Verdier
Subject: Re: Combining notes and articualtions
Date: Tue, 21 Dec 2021 00:12:51 +0100

Thanks a lot!

It’s a perfect solution for the typesetting, but I wonder if it would be 
possible to process them earlier, so I could have them work with the articulate 
script or at least consistently affect midi playback.

Best wishes 
/Leo


> 20 dec. 2021 kl. 23:36 skrev Jean Abou Samra <jean@abou-samra.fr>:
> 
> Le 20/12/2021 à 22:28, Leo Correia de Verdier a écrit :
>> Dear list!
>> 
>> Could you help me with a clever way to copy/clone the articulations from 
>> simultaneous notes in one sequential expression to another?
>> So that I could for instance enter the total articulations of a phrase as
>> 
>> \version "2.23.3"
>> 
>> <<
>>  \new RhythmicStaff \with { \override Script.Y-offset = #-1.7 }
>> << { s16_> s16_> s16 s16_. s16_- s8_> s16_! s8__ s8__ s16_.  s8_- s16_. }
>>   { f'16 16 16 16 16 8 16 8 8 16 8 16 } >>
>> 
>> % but also apply the first sequential expressions, with the articulations, 
>> to for instance
>> 
>> \new RhythmicStaff { c'8. 16 8. 16 8 r8 8. 16 }
>> 
>> % so that the result would be
>> 
>> \new RhythmicStaff { c'8._> 16-. 8._- 16_! 8__  r8 8.-. 16-. }
>> 
>> % or to
>> 
>> \new RhythmicStaff {c'16 16 16 16 r8. 16 r8 16 16 r16 8. }
>> 
>> % getting
>> 
>> \new RhythmicStaff {c'16_> 16_> 16 16_. r8. 16_! r8 16__ 16 r16 8._- }
>> Thanks a lot!
>> /Leo
> 
> 
> I'd do this:
> 
> \version "2.22.1"
> 
> \layout {
>   \override Voice.Script.before-line-breaking =
>     #(lambda (grob)
>        (let ((parent (ly:grob-parent grob X)))
>          (if (or (not (grob::has-interface parent 'note-column-interface))
>                  (not (null? (ly:grob-object parent 'rest))))
>            (ly:grob-suicide! grob))))
> }
> 
> articulations = { s16_> s16_> s16 s16_. s16_- s8_> s16_! s8__ s8__ s16_.  
> s8_- s16_. }
> 
> \new RhythmicStaff \with { \override Script.Y-offset = #-1.7 }
> \new Voice << \articulations { f'16 16 16 16 16 8 16 8 8 16 8 16 } >>
> 
> \new RhythmicStaff \new Voice << \articulations { c'8. 16 8. 16 8 r8 8. 16 } 
> >>
> 
> \new RhythmicStaff \new Voice << \articulations { c'16 16 16 16 r8. 16 r8 16 
> 16 r16 8. } >>
> 
> 
> Best,
> Jean
> 




reply via email to

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