[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: arpeggioArrowUp
From: |
Thomas Morley |
Subject: |
Re: arpeggioArrowUp |
Date: |
Fri, 16 Jan 2015 01:42:54 +0100 |
2015-01-16 0:26 GMT+01:00 Thomas Morley <address@hidden>:
> 2015-01-15 15:02 GMT+01:00 tisimst <address@hidden>:
>> On Wed, Jan 14, 2015 at 11:47 PM, Schneidy [via Lilypond] <[hidden email]>
>> wrote:
>>
>> Hi Harm,
>>
>> 2015-01-15 3:22 GMT+01:00 Thomas Morley <[hidden email]>:
>>
>>>
>>> foo =
>>> #(define-music-function (parser location mus)(ly:music?)
>>> (music-map
>>> (lambda (m)
>>> (if (music-is-of-type? m 'arpeggio-event)
>>> (make-music
>>> 'ArpeggioEvent
>>> 'tweaks
>>> (list
>>> (cons 'arpeggio-direction
>>> (ly:music-property m 'direction))))
>>> m))
>>> mus))
>>>
>>>
>>> \foo
>>> \relative c'' {
>>> \mark "sort of post-processing"
>>> <g b d g>4\arpeggio
>>> <g b d g>4^\arpeggio
>>> <g b d g>4_\arpeggio
>>> }
>>
>>
>> I like this one.
>> Cheers,
>> Pierre
>>
>>
>> +1!
>>
>> However, I'd rather not have to use another function (\foo) to do this.
>> Otherwise, I don't think there's any benefit over what is currently required
>> with \arpeggioArrowUp. Can't it be put directly into a command that supports
>> the direction indicators? I can't seem to find in the documentation where
>> the post-fix syntax is described.
>>
>> -Abraham
>
>
>
> The direction indicators _ and ^ are setting the 'direction, as their
> name suggests ;).
> Though the arpeggio-arrow is printed, if the _'arpeggio-direction_ is set!
> Currently those are two different things. It may be discussable, if it
> _should_ be this way, but it has some logic, if you think about it.
> Nevertheless my 'foo'-function iterated through the music, setting
> 'arpeggio-direction to the value of 'direction.
> This is not very cheap, maybe better to use an engraver for this duty:
>
> \version "2.19.15"
>
> direction-to-arpeggio-direction-engraver =
> #(lambda (context)
> (let ((dir '()))
> `((listeners
> (arpeggio-event
> .
> ,(lambda (engraver event)
> ;; Not sure about following 'set!'
> ;; Is it save?
> (set! dir (ly:event-property event 'direction)))))
> (acknowledgers
> (arpeggio-interface
> .
> ,(lambda (engraver grob source-engraver)
> (set! (ly:grob-property grob 'arpeggio-direction) dir)
> (set! dir '())))))))
>
%% c/p error, here the whole example:
%%%%%%%%%%%%%%%%%%%%
%% EXAMPLE
%%%%%%%%%%%%%%%%%%%%
\layout {
\context {
\Score
\consists #direction-to-arpeggio-direction-engraver
}
}
\relative c'' {
<g b d g>4\arpeggio
<g b d g>4^\arpeggio
<g b d g>4_\arpeggio
}
- arpeggioArrowUp, Alistair Millar, 2015/01/14
- Re: arpeggioArrowUp, Phil Holmes, 2015/01/14
- Re: arpeggioArrowUp, Alistair Millar, 2015/01/14
- Re: arpeggioArrowUp, tisimst, 2015/01/14
- Re: arpeggioArrowUp, Noeck, 2015/01/14
- Re: arpeggioArrowUp, Thomas Morley, 2015/01/14
- Re: arpeggioArrowUp, Pierre Perol-Schneider, 2015/01/15
- Re: arpeggioArrowUp, tisimst, 2015/01/15
- Re: arpeggioArrowUp, Thomas Morley, 2015/01/15
- Re: arpeggioArrowUp,
Thomas Morley <=
- Re: arpeggioArrowUp, Thomas Morley, 2015/01/16
- Re: arpeggioArrowUp, Thomas Morley, 2015/01/16
- Re: arpeggioArrowUp, Pierre Perol-Schneider, 2015/01/17
- Re: arpeggioArrowUp, Noeck, 2015/01/29
- Re: arpeggioArrowUp, tisimst, 2015/01/29
- Re: arpeggioArrowUp, Noeck, 2015/01/29
- Re: arpeggioArrowUp, Thomas Morley, 2015/01/29
- Re: arpeggioArrowUp, Hwaen Ch'uqi, 2015/01/14
- Re: arpeggioArrowUp, Alistair Millar, 2015/01/14