[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
>