Re: Need edition-engraver-compatible extended glissandi, will pay for solution if necessary

2018-05-20 Thread Mason Hock
On 05/20, Urs Liska wrote:
> I will find the code when I'm back home - and Piaras won't be faster ...

Great! Thank you, Urs.

Mason

> Am 20. Mai 2018 18:49:28 MESZ schrieb Mason Hock :
> >On 05/20, Urs Liska wrote:
> >> Hi Mason,
> >> 
> >> I'm not *fully* clear what you want to achieve, but the attached is
> >> something Piaras Hoban once shared with the list.
> >
> >Thanks for your response, Urs. This looks very close to what I need. If
> >I can modify the solution so that the glissando terminates on an
> >ordinary note (as opposed to a grace note) then it will be perfect.
> >
> >> If this is (close to) what
> >> you need you might search the archives for posts by him.
> >
> >In the archives I have found a post[1] by Piaras linking to a pdf of
> >various effects, including this one, but it does not include the code
> >used to acheive these effects. I also found a post[2] of yours in which
> >you demonstrate the syntax as
> >
> >\stemmedGlissando #'(15 . #f) c'4 
> >
> >which looks great, and state that Piaras wrote this function when you
> >asked for such a function on the list. However, I was unable to find
> >the thread in which he provided you with this function. Do you still
> >have the code?
> >
> >Piaras, I have cc'd you in case you can help out. I'll be very grateful
> >if either of you can provide the code for stemmedGlissando.
> >
> >Thanks,
> >
> >Mason
> >
> >[1]
> >https://lists.gnu.org/archive/html/lilypond-user/2014-10/msg00313.html 
> >[2]
> >https://lists.gnu.org/archive/html/lilypond-user/2014-10/msg00252.html
> >
> >> Good luck
> >> Urs
> >> 
> >> 
> >> Am 19.05.2018 um 23:16 schrieb Mason Hock:
> >> > \version "2.19.81"
> >> > \language "english"
> >> > 
> >> > % starts an extended glissand
> >> > glon = {
> >> >\override NoteColumn.glissando-skip = ##t
> >> >\hide NoteHead
> >> >\override NoteHead.no-ledgers = ##t
> >> >\override Stem.thickness = #0.5
> >> >\override Accidental #'stencil = ##f
> >> > }
> >> > % terminates an extended glissando
> >> > gloff = {
> >> >\revert NoteColumn.glissando-skip
> >> >\undo \hide NoteHead
> >> >\revert Glissando #'stencil
> >> >\revert NoteHead.no-ledgers
> >> >\revert Stem.thickness
> >> >\revert Accidental #'stencil
> >> > }
> >> > % slightly increase slope of glissando so that line is
> >> > % not perfectly horizontal when glissing between notes
> >> > % on same staff line/space
> >> > glup = { \once\override Glissando.extra-dy = #0.5 }
> >> > gldown = { \once\override Glissando.extra-dy = #-0.5 }
> >> > 
> >> > \relative c' {
> >> >\glup c8 \glissando \glon c-_ d-_ e-_ \tuplet 5/4 { e-_ f-_ g g
> >a } |
> >> >\gloff a a \gldown a \glissando \glon a a a \gloff af4 |
> >> >\gldown af2 \glissando \gldown g4( \glissando \glon f |
> >> >e) \gloff e r2 |
> >> > }
> >> 
> >
> >
> >> ___
> >> 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



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


Re: Need edition-engraver-compatible extended glissandi, will pay for solution if necessary

2018-05-20 Thread Urs Liska
I will find the code when I'm back home - and Piaras won't be faster ...

Am 20. Mai 2018 18:49:28 MESZ schrieb Mason Hock :
>On 05/20, Urs Liska wrote:
>> Hi Mason,
>> 
>> I'm not *fully* clear what you want to achieve, but the attached is
>> something Piaras Hoban once shared with the list.
>
>Thanks for your response, Urs. This looks very close to what I need. If
>I can modify the solution so that the glissando terminates on an
>ordinary note (as opposed to a grace note) then it will be perfect.
>
>> If this is (close to) what
>> you need you might search the archives for posts by him.
>
>In the archives I have found a post[1] by Piaras linking to a pdf of
>various effects, including this one, but it does not include the code
>used to acheive these effects. I also found a post[2] of yours in which
>you demonstrate the syntax as
>
>\stemmedGlissando #'(15 . #f) c'4 
>
>which looks great, and state that Piaras wrote this function when you
>asked for such a function on the list. However, I was unable to find
>the thread in which he provided you with this function. Do you still
>have the code?
>
>Piaras, I have cc'd you in case you can help out. I'll be very grateful
>if either of you can provide the code for stemmedGlissando.
>
>Thanks,
>
>Mason
>
>[1]
>https://lists.gnu.org/archive/html/lilypond-user/2014-10/msg00313.html 
>[2]
>https://lists.gnu.org/archive/html/lilypond-user/2014-10/msg00252.html
>
>> Good luck
>> Urs
>> 
>> 
>> Am 19.05.2018 um 23:16 schrieb Mason Hock:
>> > \version "2.19.81"
>> > \language "english"
>> > 
>> > % starts an extended glissand
>> > glon = {
>> >\override NoteColumn.glissando-skip = ##t
>> >\hide NoteHead
>> >\override NoteHead.no-ledgers = ##t
>> >\override Stem.thickness = #0.5
>> >\override Accidental #'stencil = ##f
>> > }
>> > % terminates an extended glissando
>> > gloff = {
>> >\revert NoteColumn.glissando-skip
>> >\undo \hide NoteHead
>> >\revert Glissando #'stencil
>> >\revert NoteHead.no-ledgers
>> >\revert Stem.thickness
>> >\revert Accidental #'stencil
>> > }
>> > % slightly increase slope of glissando so that line is
>> > % not perfectly horizontal when glissing between notes
>> > % on same staff line/space
>> > glup = { \once\override Glissando.extra-dy = #0.5 }
>> > gldown = { \once\override Glissando.extra-dy = #-0.5 }
>> > 
>> > \relative c' {
>> >\glup c8 \glissando \glon c-_ d-_ e-_ \tuplet 5/4 { e-_ f-_ g g
>a } |
>> >\gloff a a \gldown a \glissando \glon a a a \gloff af4 |
>> >\gldown af2 \glissando \gldown g4( \glissando \glon f |
>> >e) \gloff e r2 |
>> > }
>> 
>
>
>> ___
>> 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: Need edition-engraver-compatible extended glissandi, will pay for solution if necessary

2018-05-20 Thread Mason Hock
On 05/20, Urs Liska wrote:
> Hi Mason,
> 
> I'm not *fully* clear what you want to achieve, but the attached is
> something Piaras Hoban once shared with the list.

Thanks for your response, Urs. This looks very close to what I need. If I can 
modify the solution so that the glissando terminates on an ordinary note (as 
opposed to a grace note) then it will be perfect.

> If this is (close to) what
> you need you might search the archives for posts by him.

In the archives I have found a post[1] by Piaras linking to a pdf of various 
effects, including this one, but it does not include the code used to acheive 
these effects. I also found a post[2] of yours in which you demonstrate the 
syntax as

\stemmedGlissando #'(15 . #f) c'4 

which looks great, and state that Piaras wrote this function when you asked for 
such a function on the list. However, I was unable to find the thread in which 
he provided you with this function. Do you still have the code?

Piaras, I have cc'd you in case you can help out. I'll be very grateful if 
either of you can provide the code for stemmedGlissando.

Thanks,

Mason

[1] https://lists.gnu.org/archive/html/lilypond-user/2014-10/msg00313.html 
[2] https://lists.gnu.org/archive/html/lilypond-user/2014-10/msg00252.html

> Good luck
> Urs
> 
> 
> Am 19.05.2018 um 23:16 schrieb Mason Hock:
> > \version "2.19.81"
> > \language "english"
> > 
> > % starts an extended glissand
> > glon = {
> >\override NoteColumn.glissando-skip = ##t
> >\hide NoteHead
> >\override NoteHead.no-ledgers = ##t
> >\override Stem.thickness = #0.5
> >\override Accidental #'stencil = ##f
> > }
> > % terminates an extended glissando
> > gloff = {
> >\revert NoteColumn.glissando-skip
> >\undo \hide NoteHead
> >\revert Glissando #'stencil
> >\revert NoteHead.no-ledgers
> >\revert Stem.thickness
> >\revert Accidental #'stencil
> > }
> > % slightly increase slope of glissando so that line is
> > % not perfectly horizontal when glissing between notes
> > % on same staff line/space
> > glup = { \once\override Glissando.extra-dy = #0.5 }
> > gldown = { \once\override Glissando.extra-dy = #-0.5 }
> > 
> > \relative c' {
> >\glup c8 \glissando \glon c-_ d-_ e-_ \tuplet 5/4 { e-_ f-_ g g a } |
> >\gloff a a \gldown a \glissando \glon a a a \gloff af4 |
> >\gldown af2 \glissando \gldown g4( \glissando \glon f |
> >e) \gloff e r2 |
> > }
> 


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



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


Re: Need edition-engraver-compatible extended glissandi, will pay for solution if necessary

2018-05-20 Thread Urs Liska

Hi Mason,

I'm not *fully* clear what you want to achieve, but the attached is 
something Piaras Hoban once shared with the list. If this is (close to) 
what you need you might search the archives for posts by him.


Good luck
Urs


Am 19.05.2018 um 23:16 schrieb Mason Hock:

\version "2.19.81"
\language "english"

% starts an extended glissand
glon = {
   \override NoteColumn.glissando-skip = ##t
   \hide NoteHead
   \override NoteHead.no-ledgers = ##t
   \override Stem.thickness = #0.5
   \override Accidental #'stencil = ##f
}
% terminates an extended glissando
gloff = {
   \revert NoteColumn.glissando-skip
   \undo \hide NoteHead
   \revert Glissando #'stencil
   \revert NoteHead.no-ledgers
   \revert Stem.thickness
   \revert Accidental #'stencil
}
% slightly increase slope of glissando so that line is
% not perfectly horizontal when glissing between notes
% on same staff line/space
glup = { \once\override Glissando.extra-dy = #0.5 }
gldown = { \once\override Glissando.extra-dy = #-0.5 }

\relative c' {
   \glup c8 \glissando \glon c-_ d-_ e-_ \tuplet 5/4 { e-_ f-_ g g a } |
   \gloff a a \gldown a \glissando \glon a a a \gloff af4 |
   \gldown af2 \glissando \gldown g4( \glissando \glon f |
   e) \gloff e r2 |
}


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


Re: Need edition-engraver-compatible extended glissandi, will pay for solution if necessary

2018-05-19 Thread Jan-Peter Voigt

Hello Mason,

I just have an idea how I *would* try to approach a solution. Once I 
needed a lyrics syllable attached to an extender line at a given time. 
So I used the extender stencil and first attached the syllable on top of 
it at a given x-offset. Then I added a property to the corresponding 
note to receive an accurate x-offset. I'll have a look into that code later.
I can't say if it is easy to apply this technique on the 
*non*-horizontal glissando-line. We'll see.


Jan-Peter


Am 19.05.2018 um 23:16 schrieb Mason Hock:

In my music, I frequently use
- glissandi during which the performer rearticulates with a particular rhythm, 
represented with headless steams
- glissandi that extend longer than a bar or otherwise require intermediate 
headless stems to clarify duration, with a slur indicating that the performer 
should not rearticulate

My current solution is based on the hack[1] recommended in the documentation. 
Here is an example:


\version "2.19.81"
\language "english"

% starts an extended glissand
glon = {
   \override NoteColumn.glissando-skip = ##t
   \hide NoteHead
   \override NoteHead.no-ledgers = ##t
   \override Stem.thickness = #0.5
   \override Accidental #'stencil = ##f
}
% terminates an extended glissando
gloff = {
   \revert NoteColumn.glissando-skip
   \undo \hide NoteHead
   \revert Glissando #'stencil
   \revert NoteHead.no-ledgers
   \revert Stem.thickness
   \revert Accidental #'stencil
}
% slightly increase slope of glissando so that line is
% not perfectly horizontal when glissing between notes
% on same staff line/space
glup = { \once\override Glissando.extra-dy = #0.5 }
gldown = { \once\override Glissando.extra-dy = #-0.5 }

\relative c' {
   \glup c8 \glissando \glon c-_ d-_ e-_ \tuplet 5/4 { e-_ f-_ g g a } |
   \gloff a a \gldown a \glissando \glon a a a \gloff af4 |
   \gldown af2 \glissando \gldown g4( \glissando \glon f |
   e) \gloff e r2 |
}


This hack has several flaws.
- The stems are all different distances from the glissando line.
- Articulations have a noticably inconsistent slope.
- Selecting the least-bad pitch for each hidden note is tedious.
- Even slight changes to horizontal spacing can ruin the vertical position of 
the hidden notes.
- The position of a stem is not musical content and should not be represented 
by a pitch.

These flaws add up to a serious problem: Not only is the stem placement 
regardless of which hidden pitches I choose, but because horizontal spacing 
affects which pitches are least-bad, there is no way to choose the hidden 
pitches to be optimal for multiple editions. In order to fix this with edition 
engraver, I would have to tweak each stem individually for each edition, which 
would not realistically be maintainable.

A proper implementation of extended glissandi would place each intermediate 
stem a fixed distance from the gliss line. It would also be nice to tweak the 
slope of all gliss lines globally, something I can not do now because the 
extra-dy value is different for ascending and descending glissandi, but this 
would be a convenience, not a necessity.

The ideal syntax would resemble this:

c8 \gliss-end c c c c \gliss-end f

and result in a gliss from c to f, where
- the intermediate eighth note stems are all exactly the same distance from the 
gliss line
- the slope of the gliss line is slightly increased like in my example above

However, the bare minimum I need is for the stems to be automatically 
positioned vertically, and (if I need to tweak the slope manually) for them to 
be positioned relative to the gliss line *after the slope tweak*.

I don't understand Scheme or Lilypond's internals well enough to do this 
myself. If the solution is non-trivial for someone who does know Scheme and and 
Lilypond well, enough, I am willing to pay them for their time spent on the 
solution. The solution could be in the form of an include, or a feature of 2.19.

If anyone can help me with this, please let me know approximately how many 
hours of work you would expect it to take and what you would consider fair 
compensation for the amount of time spent.

Thanks,

Mason

[1] 
http://lilypond.org/doc/v2.19/Documentation/notation/expressive-marks-as-lines#glissando



___
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


Need edition-engraver-compatible extended glissandi, will pay for solution if necessary

2018-05-19 Thread Mason Hock
In my music, I frequently use
- glissandi during which the performer rearticulates with a particular rhythm, 
represented with headless steams
- glissandi that extend longer than a bar or otherwise require intermediate 
headless stems to clarify duration, with a slur indicating that the performer 
should not rearticulate

My current solution is based on the hack[1] recommended in the documentation. 
Here is an example:


\version "2.19.81"
\language "english"

% starts an extended glissand
glon = {
  \override NoteColumn.glissando-skip = ##t
  \hide NoteHead
  \override NoteHead.no-ledgers = ##t
  \override Stem.thickness = #0.5
  \override Accidental #'stencil = ##f
}
% terminates an extended glissando
gloff = {
  \revert NoteColumn.glissando-skip
  \undo \hide NoteHead
  \revert Glissando #'stencil
  \revert NoteHead.no-ledgers
  \revert Stem.thickness
  \revert Accidental #'stencil
}
% slightly increase slope of glissando so that line is
% not perfectly horizontal when glissing between notes
% on same staff line/space
glup = { \once\override Glissando.extra-dy = #0.5 }
gldown = { \once\override Glissando.extra-dy = #-0.5 }

\relative c' {
  \glup c8 \glissando \glon c-_ d-_ e-_ \tuplet 5/4 { e-_ f-_ g g a } |
  \gloff a a \gldown a \glissando \glon a a a \gloff af4 |
  \gldown af2 \glissando \gldown g4( \glissando \glon f |
  e) \gloff e r2 |
}


This hack has several flaws.
- The stems are all different distances from the glissando line.
- Articulations have a noticably inconsistent slope.
- Selecting the least-bad pitch for each hidden note is tedious.
- Even slight changes to horizontal spacing can ruin the vertical position of 
the hidden notes.
- The position of a stem is not musical content and should not be represented 
by a pitch.

These flaws add up to a serious problem: Not only is the stem placement 
regardless of which hidden pitches I choose, but because horizontal spacing 
affects which pitches are least-bad, there is no way to choose the hidden 
pitches to be optimal for multiple editions. In order to fix this with edition 
engraver, I would have to tweak each stem individually for each edition, which 
would not realistically be maintainable. 

A proper implementation of extended glissandi would place each intermediate 
stem a fixed distance from the gliss line. It would also be nice to tweak the 
slope of all gliss lines globally, something I can not do now because the 
extra-dy value is different for ascending and descending glissandi, but this 
would be a convenience, not a necessity.

The ideal syntax would resemble this:

   c8 \gliss-end c c c c \gliss-end f

and result in a gliss from c to f, where
- the intermediate eighth note stems are all exactly the same distance from the 
gliss line
- the slope of the gliss line is slightly increased like in my example above

However, the bare minimum I need is for the stems to be automatically 
positioned vertically, and (if I need to tweak the slope manually) for them to 
be positioned relative to the gliss line *after the slope tweak*.

I don't understand Scheme or Lilypond's internals well enough to do this 
myself. If the solution is non-trivial for someone who does know Scheme and and 
Lilypond well, enough, I am willing to pay them for their time spent on the 
solution. The solution could be in the form of an include, or a feature of 2.19.

If anyone can help me with this, please let me know approximately how many 
hours of work you would expect it to take and what you would consider fair 
compensation for the amount of time spent.

Thanks,

Mason 

[1] 
http://lilypond.org/doc/v2.19/Documentation/notation/expressive-marks-as-lines#glissando


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