Dear community, I wanted to add an octavation only to specific pitches. I hope that the following snippet shows better what I want. Unfortunately it doesn't work. %%%%%%%%%%%% SNIPPET \version "2.20.0"
% a pitch filter whenPitchAbove = #(define-scheme-function (pitch proc) (ly:pitch? procedure?) (lambda (m) (let ((p (ly:music-property m 'pitch))) (if (and (ly:pitch? p) (ly:pitch<? pitch p)) (proc m) m)))) % add octave below okT = #(define-music-function (x) (ly:music?) #{ \context Voice << $x \transpose c' c { $x } >> #}) global = { \time 6/8 \clef "treble_8" } Music = { \global dis'' fis' a' d'' fis' a' dis'' fis' e'' f' dis'' fis' a' d'' fis' a' dis'' fis' e'' f' } MusicWithOnlySomeOctaves = { \musicMap \whenPitchAbove c'' \okT \Music } %%%%%%%%%%%% END OF THE SNIPPET %%%%%%%%%%%%%%%%%%%%%% > At 10:51 on 28 Nov 2020, Stefan Thomas wrote: > >* Dear community,* > >* I would like to add automatically an octabe to certain pitches, e.g.* > >* higher than d''.* > >* I have in mind something like this:* > >* %%%%%%%%%% SNIPPET* > >* \version "2.18.2"* > >* global = {* > >* \time 6/8 \clef "treble_8" }* > >* okT = #(define-music-function (x) (ly:music?)* > >* #{* > >* \context Voice << $x \transpose c' c { $x } >>* > >* #})* > >* Music = {* > >* \global dis'' fis' a' d'' fis' a' dis'' fis' e'' f'* > >* dis'' fis' a' d'' fis' a' dis'' fis' e'' f' }* > >* MusicWithOctaves = {* > >* \global \okT dis'' fis' a' d'' fis' a' \okT dis'' fis' \okT e'' f'* > >* \okT dis'' fis' a' \okT d'' fis' a' \okT dis'' fis' \okT e'' f'* > >* }* > >* %%%%%%%%%% END SNIPPET* > >* I thought it could be done with musicMap but I can't get it to work.* > >* Has someone a hint for me?* > http://lsr.di.unimi.it/LSR/Item?id=445 > > > -- > Mark Knoop > >