Re: arpeggioArrowUp

2015-01-29 Thread Thomas Morley
2015-01-29 18:08 GMT+01:00 tisimst :
> Noeck wrote
>> Dear Harm,
>>
>> Am 15.01.2015 um 03:22 schrieb Thomas Morley:
>>> arpeggioUp =
>>> -\tweak #'stencil #ly:arpeggio::print
>>> -\tweak #'X-extent #ly:arpeggio::width
>>> -\tweak #'arpeggio-direction #UP
>>> \arpeggio
>>
>> I came back to this today and I like this simple approach most.
>>
>> One more question: what are the first two tweaks needed for?
>> I see no difference if I omit them.
>
> +1*10!
> Oh! That is very nice!
>
> The first two tweaks revert the arpeggio to the squiggle when the user has
> otherwise used "\arpeggioBracket" or similar, like:
>
> %<-- SNIP -
>
> \version "2.18.2"
>
> arpeggioUp =
> -\tweak #'stencil #ly:arpeggio::print
> -\tweak #'X-extent #ly:arpeggio::width
> -\tweak #'arpeggio-direction #UP
> \arpeggio
>
> arpeggioDown =
> -\tweak #'stencil #ly:arpeggio::print
> -\tweak #'X-extent #ly:arpeggio::width
> -\tweak #'arpeggio-direction #DOWN
> \arpeggio
>
> \relative c'' {
>   \arpeggioBracket
>   4\arpeggioUp
>   q\arpeggio  % <--- still uses the bracket
>   q\arpeggioDown
> }
>
> %<-- SNIP -
>
> I really like this "-\tweak" approach because it automatically only applies
> the changes to the current chord and is easily repeatable without much extra
> typing. Nice work, Harm!
>
> Anyone willing to help get this (and similar code for "arpeggioDown") pushed
> into "property-init.ly"? Shouldn't be too hard to get through and would be a
> nice (i.e., more intuitive) syntax, especially for new users, IMHO.
>
> In fact, all the different arpeggio types could be converted to the
> "-\tweak" syntax and I think that it would make them all a little easier to
> use.
>
> -Abraham

Hi Abraham,

I've currently not the time to create a patch and write the necessary
documentation.

Though, I had once more a look at it and I'm not convinced that we
should change all the commands to tweak commands for some reasons:

%%%
1)
%%%

arpeggioArrowUp is currently defined as

arpeggioArrowUp = {
  \revert Arpeggio.stencil
  \revert Arpeggio.X-extent
  \override Arpeggio.arpeggio-direction = #UP
}

That makes it possible to set it in layout, a tweak would not work.
I'm never a friend of _loosing_ functionality, although I've to admit
putting arpeggioArrowUp into layout may be a very rare case.
It could be _added_, though.

%%%
2)
%%%

To revert a previous user-command affecting the stencil I inserted the
_default_ procedure. (Same for X-extent)
This will not always lead to the same results compared with reverting
a previous stencil-_override_.

See the following example where I demonstrate stencil overrides and
reverts and a tweak (with default-stencil-procedure) for different
stencil-colors of Fingering.
You will see there's a difference between the tweak and the first revert.

\version "2.19.15"

clr-fing-stil-override =
#(define-music-function (parser location clr)(color?)
;; a shortcut for outputting a colored stencil
#{
  \override Fingering.stencil =
#(lambda (grob)
  (stencil-with-color
(ly:text-interface::print grob)
clr))
#})


\score {
  \relative c' {
1
\temporary \clr-fing-stil-override #red


1
\revert Fingering.stencil

\revert Fingering.stencil

  }
  \layout {
\clr-fing-stil-override #green
  }
}

I don't know a method to _revert_ an override from inside a tweak. I
doubt it's possible.
Ofcourse an entry to "known issues and warnings" could be created.

%%%
3)
%%%
It mixes affecting the printed output and music.
I'm not a friend of it.
Though, maybe acceptable as syntactic sugar ...


So far my concerns.
The way to proceed would be to discuss it on devel, imho.
Or to put up a patch for review.

Though again, I've not the time for it right now.
(If I can spare some time, I'll start to rewrite chord-namings...)


Cheers,
  Harm

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-29 Thread Noeck
Am 29.01.2015 um 18:08 schrieb tisimst:
> Nice work, Harm! 

+1

> Anyone willing to help get this (and similar code for "arpeggioDown") pushed
> into "property-init.ly"? Shouldn't be too hard to get through and would be a
> nice (i.e., more intuitive) syntax, especially for new users, IMHO. 

+1
I also think this would make it easier and more intuitive.

Cheers,
Joram

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-29 Thread tisimst
Noeck wrote
> Dear Harm,
> 
> Am 15.01.2015 um 03:22 schrieb Thomas Morley:
>> arpeggioUp =
>> -\tweak #'stencil #ly:arpeggio::print
>> -\tweak #'X-extent #ly:arpeggio::width
>> -\tweak #'arpeggio-direction #UP
>> \arpeggio
> 
> I came back to this today and I like this simple approach most.
> 
> One more question: what are the first two tweaks needed for?
> I see no difference if I omit them.

+1*10!
Oh! That is very nice! 

The first two tweaks revert the arpeggio to the squiggle when the user has
otherwise used "\arpeggioBracket" or similar, like:

%<-- SNIP -

\version "2.18.2"

arpeggioUp = 
-\tweak #'stencil #ly:arpeggio::print
-\tweak #'X-extent #ly:arpeggio::width
-\tweak #'arpeggio-direction #UP
\arpeggio

arpeggioDown = 
-\tweak #'stencil #ly:arpeggio::print
-\tweak #'X-extent #ly:arpeggio::width
-\tweak #'arpeggio-direction #DOWN
\arpeggio

\relative c'' {
  \arpeggioBracket
  4\arpeggioUp
  q\arpeggio  % <--- still uses the bracket
  q\arpeggioDown
}

%<-- SNIP -

I really like this "-\tweak" approach because it automatically only applies
the changes to the current chord and is easily repeatable without much extra
typing. Nice work, Harm! 

Anyone willing to help get this (and similar code for "arpeggioDown") pushed
into "property-init.ly"? Shouldn't be too hard to get through and would be a
nice (i.e., more intuitive) syntax, especially for new users, IMHO. 

In fact, all the different arpeggio types could be converted to the
"-\tweak" syntax and I think that it would make them all a little easier to
use.

-Abraham



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/arpeggioArrowUp-tp170464p171231.html
Sent from the User mailing list archive at Nabble.com.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-29 Thread Noeck
Dear Harm,

Am 15.01.2015 um 03:22 schrieb Thomas Morley:
> arpeggioUp =
> -\tweak #'stencil #ly:arpeggio::print
> -\tweak #'X-extent #ly:arpeggio::width
> -\tweak #'arpeggio-direction #UP
> \arpeggio

I came back to this today and I like this simple approach most.

One more question: what are the first two tweaks needed for?
I see no difference if I omit them.

Cheers,
Joram

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-17 Thread Pierre Perol-Schneider
Thank you Harm.
Cheers,
Pierre
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-16 Thread Thomas Morley
2015-01-17 1:59 GMT+01:00 Thomas Morley :
> 2015-01-16 1:42 GMT+01:00 Thomas Morley :
>> 2015-01-16 0:26 GMT+01:00 Thomas Morley :
>>> 2015-01-15 15:02 GMT+01:00 tisimst :
 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"
>   4\arpeggio
>   4^\arpeggio
>   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'' {
>>   4\arpeggio
>>   4^\arpeggio
>>   4_\arpeggio
>> }
>
> Here an improved version, works cross-context as well:
>
> \version "2.19.15"
>
> \paper { indent = 0 }
>
> 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))
>  ;; Is this needed?
>  ;(ly:event-set-property! event 'direction '())
>  )))
> (acknowledgers
>  (arpeggio-interface
>.
>,(lambda (engraver grob source-engraver)
>   (set! (ly:grob-property grob 'arpeggio-direction) dir)))
>
> 
> %% EXAMPLES
> 
>
> \new Staff \with { \consists #direction-to-arpeggio-direction-engraver }
> \relative c'' {
>   4\arpeggio
>   4^\arpeggio
>   4_\arpeggio
> }
>
> %% Note:
> %% If used cross-context, only the last direction-indicator
> %% for each time-step counts
> \new Staff
>   \with {
> \consists "Span_arpeggio_engraver"
> \consists #direction-to-arpeggio-direction-engraver
>   }
>   \relative c' {
> \set Staff.connectArpeggios = ##t
> <<
>   \new Voice { \voiceOne 4\arpeggio  2\arpeggio }
>   \new Voice { \voiceTwo 2^\arpeggio 2_\arpeggio }
> >>
>   }
>
> \new PianoStaff
> \with {
> \consists #direction-to-arpeggio-direction-engraver
>   }
>   <<
> \set PianoStaff.connectArpeggios = ##t
> \new Staff {
>   \relative c' {
> \key b \major
> \time 6/8
> b8-.(^\arpeggio fis'-.\> cis-. e-. gis-. b-.)\!\fermata^\laissezVibrer
> \bar "||"
>   }
> }
> \new Staff {
>   \relative c' {
> \clef bass
> \key b \major
> <<
>   {
> 2\arpeggio
>   }
>   \\
>   {
> 2.^\arpeggio
>   }
> >>
>   }
> }
>   >>

Delete the following. It's some syntax-testing, copied by accident

> \score {
>   \relative c'' {
> \markLengthOn
>
> <>^"default"
> 4\arpeggio
>
> <>^"^ indicator"
> 4^\arpeggio
>
> <>

Re: arpeggioArrowUp

2015-01-16 Thread Thomas Morley
2015-01-16 1:42 GMT+01:00 Thomas Morley :
> 2015-01-16 0:26 GMT+01:00 Thomas Morley :
>> 2015-01-15 15:02 GMT+01:00 tisimst :
>>> 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"
   4\arpeggio
   4^\arpeggio
   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'' {
>   4\arpeggio
>   4^\arpeggio
>   4_\arpeggio
> }

Here an improved version, works cross-context as well:

\version "2.19.15"

\paper { indent = 0 }

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))
 ;; Is this needed?
 ;(ly:event-set-property! event 'direction '())
 )))
(acknowledgers
 (arpeggio-interface
   .
   ,(lambda (engraver grob source-engraver)
  (set! (ly:grob-property grob 'arpeggio-direction) dir)))


%% EXAMPLES


\new Staff \with { \consists #direction-to-arpeggio-direction-engraver }
\relative c'' {
  4\arpeggio
  4^\arpeggio
  4_\arpeggio
}

%% Note:
%% If used cross-context, only the last direction-indicator
%% for each time-step counts
\new Staff
  \with {
\consists "Span_arpeggio_engraver"
\consists #direction-to-arpeggio-direction-engraver
  }
  \relative c' {
\set Staff.connectArpeggios = ##t
<<
  \new Voice { \voiceOne 4\arpeggio  2\arpeggio }
  \new Voice { \voiceTwo 2^\arpeggio 2_\arpeggio }
>>
  }

\new PianoStaff
\with {
\consists #direction-to-arpeggio-direction-engraver
  }
  <<
\set PianoStaff.connectArpeggios = ##t
\new Staff {
  \relative c' {
\key b \major
\time 6/8
b8-.(^\arpeggio fis'-.\> cis-. e-. gis-. b-.)\!\fermata^\laissezVibrer
\bar "||"
  }
}
\new Staff {
  \relative c' {
\clef bass
\key b \major
<<
  {
2\arpeggio
  }
  \\
  {
2.^\arpeggio
  }
>>
  }
}
  >>

\score {
  \relative c'' {
\markLengthOn

<>^"default"
4\arpeggio

<>^"^ indicator"
4^\arpeggio

<>^"direction-tweak"
4-\tweak #'direction #RIGHT \arpeggio

<>^"direction-override"
\once \override Arpeggio.direction = #RIGHT
4\arpeggio
  }
  \layout {
ragged-right = ##f
  }
}


Cheers,
  Harm

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-15 Thread Thomas Morley
2015-01-16 0:26 GMT+01:00 Thomas Morley :
> 2015-01-15 15:02 GMT+01:00 tisimst :
>> 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"
>>>   4\arpeggio
>>>   4^\arpeggio
>>>   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'' {
  4\arpeggio
  4^\arpeggio
  4_\arpeggio
}

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-15 Thread Thomas Morley
2015-01-15 15:02 GMT+01:00 tisimst :
> 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"
>>   4\arpeggio
>>   4^\arpeggio
>>   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 '(


%% EXAMPLE


\layout {
  \context {
\Score
\consists #direction-to-arpeggio-direction-engraver
  }
}


Cheers,
  Harm

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-15 Thread tisimst
On Wed, Jan 14, 2015 at 11:47 PM, Schneidy [via Lilypond] 
 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"
>>   4\arpeggio
>>   4^\arpeggio
>>   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




--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/arpeggioArrowUp-tp170464p170519.html
Sent from the User mailing list archive at Nabble.com.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-14 Thread Pierre Perol-Schneider
Hi Harm,

2015-01-15 3:22 GMT+01:00 Thomas Morley :


> 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"
>   4\arpeggio
>   4^\arpeggio
>   4_\arpeggio
> }
>

I like this one.
Cheers,
Pierre
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-14 Thread Thomas Morley
2015-01-14 22:12 GMT+01:00 Noeck :
> 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\""
  2\arpeggio

  \mark "\"some overrides applied\""
  \override Arpeggio.stencil =
#(lambda (grob) (grob-interpret-markup grob "xy"))
  \override Arpeggio.X-extent = #'(0 . 5)
  \arpeggio

  \mark
\markup
  \column { "\"new short-cut\"" "\"previous overrides not in action\"" }
  \arpeggioUp

  \mark "\"overrides persists!\""
  \arpeggio

  \mark "\"arpeggioArrowUp clears overrides\""
  \arpeggioArrowUp
  \arpeggio


  \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"
  4\arpeggio
  4^\arpeggio
  4_\arpeggio
}


Cheers,
  Harm

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-14 Thread Noeck
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




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-14 Thread Alistair Millar
tisimst and Hwaen - Thanks for your replies. Like may things, the answer is
simple once it is pointed out to you. 
Alistair



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/arpeggioArrowUp-tp170464p170478.html
Sent from the User mailing list archive at Nabble.com.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-14 Thread Hwaen Ch'uqi
Greetings Alistair,

The solution is actually quite simple. \arpeggioArrowUp is an override
setting of \arpeggio, so it must be entered before the chord you want
arpeggiated. Then, append \arpeggio to your chord, and all should be
fine. But remember then to revert to the arpeggio default with
\arpeggioNormal, otherwise, all future arpeggiated chords will be
altered!

Hwaen Ch'uqi


On 1/14/15, Alistair Millar  wrote:
> I hope this is enough. Thanks
>
> \version "2.18.2"
>
> \language "english"
>
> \relative c'
>
> {
>   \clef "treble"
>   \time 4/4
>   \key g \major
>
>   4\arpeggio
>   4\arpeggioArrowUp
>
>   \bar "|."
>
> }
>
>
>
> --
> View this message in context:
> http://lilypond.1069038.n5.nabble.com/arpeggioArrowUp-tp170464p170466.html
> Sent from the User mailing list archive at Nabble.com.
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-14 Thread tisimst
Alistair Millar wrote
> I hope this is enough. Thanks
> 
> \version "2.18.2"
> 
> \language "english"
> 
> \relative c'
> 
> {
>   \clef "treble"
>   \time 4/4
>   \key g \major
> 
>   
> 
> 4\arpeggio
>   
> 
> 4\arpeggioArrowUp
>   
>   \bar "|."
>   
> }

Alistair,

It does work, just not in the way you (or I) think it should. Here's an
example of how you use it:

{ \arpeggioArrowUp \arpeggio }

Does that help? In words, you need both, putting the \arpeggioArrow[Up/Down]
PRIOR to the music where the actual arpeggio is.

Regards,
Abraham

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 don't know. Looking at the internals, \arpeggioArrow[Up/Down]
are just a couple of overrides, so I don't know why it couldn't be wrapped
in a function like:

arpeggioUp = #(define-music-function (parser location music) (ly:music?)
  #{
\arpeggioArrowUp $music\arpeggio
  #})

But for some reason, this code isn't working. Any ideas of what I'm missing,
anyone? If it worked, it would be then as easy as:

\arpeggioUp 

Though it would be preferred to have it be:

\arpeggioUp

but I haven't looked deeply enough into this. Just saying...



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/arpeggioArrowUp-tp170464p170468.html
Sent from the User mailing list archive at Nabble.com.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-14 Thread Alistair Millar
I hope this is enough. Thanks

\version "2.18.2"

\language "english"

\relative c'

{
  \clef "treble"
  \time 4/4
  \key g \major

  4\arpeggio
  4\arpeggioArrowUp
  
  \bar "|."
  
}



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/arpeggioArrowUp-tp170464p170466.html
Sent from the User mailing list archive at Nabble.com.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: arpeggioArrowUp

2015-01-14 Thread Phil Holmes
- Original Message - 
From: "Alistair Millar" 

To: 
Sent: Wednesday, January 14, 2015 3:40 PM
Subject: arpeggioArrowUp


Can anyone tell me why \arpeggio works OK but \arpeggioArrowUp does not? 
When

I use it, no arpeggio line is displayed, not even one without an arrow.
Thanks
Alistair Millar
Edinburgh


Could you provide a short, non-working example for us to see?

--
Phil Holmes 



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \arpeggioArrowUp and polyphony

2011-08-18 Thread Mario Moles
Oohhh!
Yes! Yes! Yes! 
Thank you!
> No arrow on the arpeggio with 2.15.8 either, but you can use the following:
> 
> \version "2.15.7"
> 
> \paper { ragged-right = ##t }
> 
> \new Staff
> \with
> {
> \consists "Span_arpeggio_engraver"
> }
> 
> \relative c''
> {
> \set Staff.connectArpeggios = ##t
> \override Staff.Arpeggio  #'arpeggio-direction = #UP
> <<
> { ces\arpeggio }
> \\
> { es,\arpeggio }
> 
> }

-- 
oiram/bin/selom
MkarlM-HomePage 
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \arpeggioArrowUp and polyphony

2011-08-18 Thread Nick Payne

On 19/08/11 01:57, Mario Moles wrote:


> Your code compiles fine, giving a nice output with 2.14.2 ! ???

>

> Harm

You are sure? Your pdf output print the arrow?

In the mine no!



No arrow on the arpeggio with 2.15.8 either, but you can use the following:

\version "2.15.7"

\paper { ragged-right = ##t }

\new Staff
\with
{
\consists "Span_arpeggio_engraver"
}

\relative c''
{
\set Staff.connectArpeggios = ##t
\override Staff.Arpeggio  #'arpeggio-direction = #UP
<<
{ ces\arpeggio }
\\
{ es,\arpeggio }
>>
}

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \arpeggioArrowUp and polyphony

2011-08-18 Thread Mario Moles
 
> Your code compiles fine, giving a nice output with 2.14.2 ! ???
> 
> Harm
You are sure? Your pdf output print the arrow?
In the mine no!
-- 
oiram/bin/selom
MkarlM-HomePage 
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \arpeggioArrowUp and polyphony

2011-08-18 Thread harm6


oiram73 wrote:
> 
> Hi!
> \arpeggioArrowUp don't work in the polyphony!
> \version "2.15.7"
> \paper { ragged-right = ##t }
> \new Staff
>  \with
>  {
>   \consists "Span_arpeggio_engraver"
>  }
>  \relative c''
>  {
>   \set Staff.connectArpeggios = ##t
>   <<
> {\arpeggioArrowUp ces\arpeggio}
> \\
> {\arpeggioArrowUp es,\arpeggio }
>   >>
>  }
> 
> -- 
> oiram/bin/selom
> MkarlM-HomePage 
> 

Your code compiles fine, giving a nice output with 2.14.2 ! ???

Harm
-- 
View this message in context: 
http://old.nabble.com/%5CarpeggioArrowUp-and-polyphony-tp32288350p32288521.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \arpeggioArrowUp across staves

2009-08-02 Thread Mark Polesky

Jonathan Wilkes wrote:

> I guess I would have expected \arpeggioArrowUp to affect all the
> following arpeggios, regardless of whether they are connected or not.
> 
> What do you think?

Ah, I put a "context" where I meant to put a "parent". This is why
I need someone to test this stuff. You can fix it this way:

In the block that starts
#(define move-arpeggio-to-this-context
a couple lines below that, there's a line that says
  (let* ((Arpeggio (ly:context-grob-definition context 'Arpeggio))
Change it to
  (let* ((Arpeggio (ly:context-grob-definition parent 'Arpeggio))

That should fix it (hopefully it doesn't break something else).
Any other observations? This is helpful.

Thanks so much for testing this.
- Mark



  


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \arpeggioArrowUp across staves

2009-08-02 Thread Jonathan Wilkes



--- On Mon, 8/3/09, Mark Polesky  wrote:

> From: Mark Polesky 
> Subject: Re: \arpeggioArrowUp across staves
> To: "Jonathan Wilkes" , "Mats Bengtsson" 
> , "lilypond-user" 
> Date: Monday, August 3, 2009, 2:05 AM
> 
> Jonathan Wilkes wrote:
> > I think a note about "arrowed" arpeggios that cross
> staves would
> > be helpful under the Arpeggios->"Known issues and
> warnings"
> > subheading in NR 1.3.3.  There's such a note
> about cross-staff
> > tremolos being tricky, which saved me from trying a
> bunch of
> > unnecessary tweaks to get them to work.
> 
> Jonathan,
> 
> I made an attempt to rewrite the arpeggio commands so
> they'd be
> more intuitive for the user, and I'd like to see of someone
> can
> test it out. You don't have to, but I'm hoping you'll be
> interested.
> 
> Of course, if anyone else would like to experiment with
> this,
> that would be great. I'd be curious to know if anything
> comes out
> differently than you'd expect or if anything just comes out
> plain
> wrong. Feel free to try fancy things to see what the limits
> are.
> 
> Also notice that the syntax has been simplified. So don't
> use
> these anymore:
> \set PianoStaff.connectArpeggios = ##t
> \set PianoStaff.connectArpeggios = ##f
> 
> Use these instead:
> \connectArpeggiosOn
> \connectArpeggiosOff
> 
> Also, don't use this type of thing anymore:
> \override PianoStaff.Arpeggio #'arpeggio-direction = #UP
> 
> Use these commands in all situations (connected and
> unconnected):
> \arpeggioArrowUp
> \arpeggioArrowDown
> \arpeggioNormal
> \arpeggioBracket
> 
> These are still not to be used in connected situations:
> \arpeggioParenthesis
> \arpeggioParenthesisDashed
> 
> The file is here:
> http://lists.gnu.org/archive/html/lilypond-devel/2009-08/txtDIrSYMGg1c.txt
> 
> You can start with the example given at the bottom of that
> file
> and go from there.
> 
> Thanks!
> - Mark

Hi Mark,
 I just tried it, and made some changes to the demo to see what 
happens:

\new PianoStaff \relative <<
  \new Staff {
\arpeggioArrowDown
4\arpeggio

\connectArpeggiosOn
\arpeggioArrowUp
4\arpeggio

4\arpeggio

\connectArpeggiosOff
\arpeggio
  }
  \new Staff {
\clef bass

4\arpeggio

\arpeggio

\arpeggio
  }
>>

I notice that \arpeggioArrowUp applies to both connected arpeggios. 
Once you turn it back off, it reverts back to \arpeggioArrowDown.

I guess I would have expected \arpeggioArrowUp to affect all the following 
arpeggios, regardless of whether they are connected or not.

What do you think?

I'll try messing with the brackets too when I get a chance.

-Jonathan





___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \arpeggioArrowUp across staves

2009-08-02 Thread Mark Polesky

Jonathan Wilkes wrote:
> I think a note about "arrowed" arpeggios that cross staves would
> be helpful under the Arpeggios->"Known issues and warnings"
> subheading in NR 1.3.3.  There's such a note about cross-staff
> tremolos being tricky, which saved me from trying a bunch of
> unnecessary tweaks to get them to work.

Jonathan,

I made an attempt to rewrite the arpeggio commands so they'd be
more intuitive for the user, and I'd like to see of someone can
test it out. You don't have to, but I'm hoping you'll be
interested.

Of course, if anyone else would like to experiment with this,
that would be great. I'd be curious to know if anything comes out
differently than you'd expect or if anything just comes out plain
wrong. Feel free to try fancy things to see what the limits are.

Also notice that the syntax has been simplified. So don't use
these anymore:
\set PianoStaff.connectArpeggios = ##t
\set PianoStaff.connectArpeggios = ##f

Use these instead:
\connectArpeggiosOn
\connectArpeggiosOff

Also, don't use this type of thing anymore:
\override PianoStaff.Arpeggio #'arpeggio-direction = #UP

Use these commands in all situations (connected and unconnected):
\arpeggioArrowUp
\arpeggioArrowDown
\arpeggioNormal
\arpeggioBracket

These are still not to be used in connected situations:
\arpeggioParenthesis
\arpeggioParenthesisDashed

The file is here:
http://lists.gnu.org/archive/html/lilypond-devel/2009-08/txtDIrSYMGg1c.txt

You can start with the example given at the bottom of that file
and go from there.

Thanks!
- Mark


  


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \arpeggioArrowUp across staves

2009-07-28 Thread Jonathan Wilkes

> Why not add it to the LSR?
> 
>    /Mats
>

I think a note about "arrowed" arpeggios that cross staves would be helpful 
under the Arpeggios->"Known issues and warnings" subheading in NR 1.3.3.  
There's such a note about cross-staff tremolos being tricky, which saved me 
from trying a bunch of unnecessary tweaks to get them to work.

-Jonathan


 


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \arpeggioArrowUp across staves

2009-07-28 Thread Mark Polesky

Mats Bengtsson wrote:

> > Yes, but this is tricky enough that I think something should be
> > added to the docs. Maybe when I have some time I can do that, 
> Why not add it to the LSR?

First I'd like to see what the general opinion is on this:
http://lists.gnu.org/archive/html/lilypond-devel/2009-07/msg00849.html
- Mark



  


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \arpeggioArrowUp across staves

2009-07-28 Thread Mats Bengtsson

Mark Polesky wrote:



Yes, but this is tricky enough that I think something should be
added to the docs. Maybe when I have some time I can do that, 

Why not add it to the LSR?

  /Mats


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \arpeggioArrowUp across staves

2009-07-28 Thread Jonathan Wilkes

Wow that was quick.  Thanks!

-Jonathan

--- On Wed, 7/29/09, Mark Polesky  wrote:

> From: Mark Polesky 
> Subject: Re: \arpeggioArrowUp across staves
> To: "Jonathan Wilkes" , lilypond-user@gnu.org
> Date: Wednesday, July 29, 2009, 7:01 AM
> 
> Jonathan Wilkes wrote:
> 
> > I've tried every combination of \arpeggioArrowUp,
> connectArpeggios, and/or 
> > arpeggio-direction to get a squiggly arpeggio with an
> upward arrow that 
> > spans both staves of a PianoStaff, but nothing seems
> to work.
> > 
> > Is it possible?  I'm looking at the arpeggio
> examples in 1.3.3 as a guide.
> 
> Yes, but this is tricky enough that I think something
> should be
> added to the docs. Maybe when I have some time I can do
> that, but
> in the meantime, here's the solution:
> 
> - Mark
> 
> \new PianoStaff \relative c'' <<
>   \set PianoStaff.connectArpeggios = ##t
>   \new Staff {
>     \override PianoStaff.Arpeggio
> #'arpeggio-direction = #UP
>     4\arpeggio
>   }
>   \new Staff {
>     \clef bass
>       4\arpeggio
>   }
> >>
> 
> 
> 
>       
> 





___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \arpeggioArrowUp across staves

2009-07-28 Thread Mark Polesky

Jonathan Wilkes wrote:

> I've tried every combination of \arpeggioArrowUp, connectArpeggios, and/or 
> arpeggio-direction to get a squiggly arpeggio with an upward arrow that 
> spans both staves of a PianoStaff, but nothing seems to work.
> 
> Is it possible?  I'm looking at the arpeggio examples in 1.3.3 as a guide.

Yes, but this is tricky enough that I think something should be
added to the docs. Maybe when I have some time I can do that, but
in the meantime, here's the solution:

- Mark

\new PianoStaff \relative c'' <<
  \set PianoStaff.connectArpeggios = ##t
  \new Staff {
\override PianoStaff.Arpeggio #'arpeggio-direction = #UP
4\arpeggio
  }
  \new Staff {
\clef bass
  4\arpeggio
  }
>>



  


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \arpeggioArrowUp across staves

2009-07-28 Thread Jonathan Wilkes

Oh, I'm using version 2.12.2 on winxp.

--- On Wed, 7/29/09, Jonathan Wilkes  wrote:

> From: Jonathan Wilkes 
> Subject: \arpeggioArrowUp across staves
> To: lilypond-user@gnu.org
> Date: Wednesday, July 29, 2009, 6:50 AM
> Hi,
> 
> I've tried every combination of \arpeggioArrowUp,
> connectArpeggios, and/or 
> arpeggio-direction to get a squiggly arpeggio with an
> upward arrow that 
> spans both staves of a PianoStaff, but nothing seems to
> work.
> 
> Is it possible?  I'm looking at the arpeggio examples
> in 1.3.3 as a guide.
> 
> Thanks,
> Jonathan
> 
> 
> 
>       
> 





___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user