[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: arpeggioArrowUp
From: |
Thomas Morley |
Subject: |
Re: arpeggioArrowUp |
Date: |
Thu, 15 Jan 2015 03:22:10 +0100 |
2015-01-14 22:12 GMT+01:00 Noeck <address@hidden>:
> Hi Abraham,
>
> Am 14.01.2015 um 17:24 schrieb tisimst:
>> P.S. I'm with Alistair, though. Is there any reason \arpeggioArrow[Up/Down]
>> isn't designed to work by itself rather than requiring another explicit
>> \arpeggio?
>
> I think, it is simply implemented in analogy to all the other Up/Down/Neutral
> settings: { \slurUp a( a) \slurNeutral a( a) } etc.
> In that sense it is very consistent: You set the direction before you use it
> and
> it is valid until you reset the direction to netural again. It is just a
> shortcut for overrides as the other direction settings are.
>
> However, I feel like the arpeggio is a bit odd in this list:
> arpeggio, slurs, phrasing slurs, stems, tuplet brackets, augmentation dots
> etc.
> first because it is more often than not a one-time thing and second because it
> is written in a long form anyway: '\arpeggio' and not like slurs '(' or
> implicitly by the duration '4.'. So writing '\arpeggioUp' would not hurt. And,
> in contrast to slur for example, the direction markers ^ and _ do not work to
> set the direction of the arpeggio arrow.
>
> So I understand why it works the way it is – and it has some logic – but at
> the
> same time I understand you, that there would be more straight forward (more
> easy
> to understand) solutions. It is perhaps a case where consistency is not the
> primary goal.
>
> Cheers,
> Joram
Some coding ideas, not all convincing, imho.
Just a little brain-storming:
\version "2.19.15"
\paper { indent = 0 }
\layout {
\markLengthOn
\override Score.RehearsalMark.self-alignment-X = #LEFT
}
arpeggioUp =
-\tweak #'stencil #ly:arpeggio::print
-\tweak #'X-extent #ly:arpeggio::width
-\tweak #'arpeggio-direction #UP
\arpeggio
\relative c'' {
\mark "\"default\""
<g b d g>2\arpeggio
\mark "\"some overrides applied\""
\override Arpeggio.stencil =
#(lambda (grob) (grob-interpret-markup grob "xy"))
\override Arpeggio.X-extent = #'(0 . 5)
<g b d g>\arpeggio
\mark
\markup
\column { "\"new short-cut\"" "\"previous overrides not in action\"" }
<g b d g>\arpeggioUp
\mark "\"overrides persists!\""
<g b d g>\arpeggio
\mark "\"arpeggioArrowUp clears overrides\""
\arpeggioArrowUp
<g b d g>\arpeggio
<g b d g>\arpeggio
}
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
}
Cheers,
Harm
- 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 <=
- 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, 2015/01/15
- 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