Help with espressivo adjustments

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Help with espressivo adjustments

SoundsFromSound
Hello all,

I'm trying to adjust the length (not size, per se) of the espressivo markings in this particular score and I can't figure out what I'm doing wrong.  

I've checked out a previous thread here:

http://lilypond.1069038.n5.nabble.com/Changing-hairpin-size-in-espressivo-td21181.html

...however, that override solution seems to increase the overall size of the hairpins, not simply elongate them (horizontally only).

Ideally I would love to be able to make my espressivo markings just a little bit longer without making them increase in height/size as well.

The images I attached show a) how the hairpin is too large for what I'm trying to achieve using the override; b) the default LilyPond espressivo size; and c) ideally what I am trying to do.  

Is there a way to only elongate/stretch espressivo markings similar to how a normal hairpin would appear generally?

Could someone help me with this?

Thank you for any help, much appreciated.

Ben

my code:
_____

\version "2.17.15"
\language "english"

\relative c'' {
  \override Script #'font-size = #+8
  c e f\espressivo g |
  f e g f |
 
}

_____


____

_____

(rough idea of what I would like to do)
composer | sound designer | asmr artist
LilyPond video tutorials: http://bit.ly/LearnLilyPond
Reply | Threaded
Open this post in threaded view
|

Re: Help with espressivo adjustments

Thomas Morley
2013/4/12 SoundsFromSound <[hidden email]>:
> Hello all,
>
> I'm trying to adjust the length (not /size/, per se) of the espressivo
> markings in this particular score and I can't figure out what I'm doing
> wrong.

Hi Ben,

try:

\version "2.17.15"
\language "english"

#(define ((longer-script x) grob)
  (let* ((stil (ly:script-interface::print grob)))
  (ly:stencil-scale stil x 1)))

scaleEspr =
#(define-event-function (parser location x-val)(number?)
#{
        \tweak #'stencil #(longer-script x-val)
        \espressivo
#})

\relative c'' {
  c4 e f\scaleEspr #2 g |
  f e g f |
}

HTH,
  Harm

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Help with espressivo adjustments

SoundsFromSound
Thomas:

That works beautifully!  

When you get a free moment, could you please break down that code for me piece by piece so I can understand how I may be able to edit it in the future, if need be (for further adjustments / size changes)?

Thank you again,

Ben


Thomas Morley wrote
2013/4/12 SoundsFromSound <[hidden email]>:
> Hello all,
>
> I'm trying to adjust the length (not /size/, per se) of the espressivo
> markings in this particular score and I can't figure out what I'm doing
> wrong.

Hi Ben,

try:

\version "2.17.15"
\language "english"

#(define ((longer-script x) grob)
  (let* ((stil (ly:script-interface::print grob)))
  (ly:stencil-scale stil x 1)))

scaleEspr =
#(define-event-function (parser location x-val)(number?)
#{
        \tweak #'stencil #(longer-script x-val)
        \espressivo
#})

\relative c'' {
  c4 e f\scaleEspr #2 g |
  f e g f |
}

HTH,
  Harm

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
composer | sound designer | asmr artist
LilyPond video tutorials: http://bit.ly/LearnLilyPond
Reply | Threaded
Open this post in threaded view
|

Re: Help with espressivo adjustments

Thomas Morley
2013/4/12 SoundsFromSound <[hidden email]>:

> Thomas:
>
> That works beautifully!
>
> When you get a free moment, could you please break down that code for me
> piece by piece so I can understand how I may be able to edit it in the
> future, if need be (for further adjustments / size changes)?
>
> Thank you again,
>
> Ben

Ok, I'll try, though, please remember I'm not a programmer. My
explanations may be not complete.

I decided to develope the code in step by step manner.
(You'll notice that in the end the code is changed a bit, compared
with my previous post.)

I) PROBLEM
With { f\espressivo } the "espressivo"-sign (i.e. every small hairpin)
should become longer, but not higher.

II) possible SOLUTIONS
a) create a new stencil
b) scale the default-stencil in direction of X-axis

III) THOUGHTS about II)
Solution a) is doable. But will result in a higher coding effort.
Solution b) is cheaper. It's disadvantage is that it will not print
acceptable results in all cases.
(Although you may not know this before you've tried :) )
Result: choose solution b)

IV) CODING
i) If you want to manipulate the default-stencil you have to find/get it.
Looking in the IR
http://lilypond.org/doc/v2.17/Documentation/internals/script
shows:
  stencil (stencil):
      ly:script-interface::print

Let us test if it is correct.
To be sure that I affect the correct grob, I often use colors. There
is a predefined function, which does so:
From IR
http://lilypond.org/doc/v2.17/Documentation/internals/scheme-functions
  Function: ly:stencil-in-color stc r g b
      Put stc in a different color.

This will result in:

colorDefaultStencil =
\once \override Script #'stencil =
  ;; `lambda´ starts a procedure, it's argument is `grob´
  #(lambda (grob)
     ;; In `let´ local variables are defined.
     (let ((stil (ly:script-interface::print grob)))
     ;; The procedure returns the colored default-stencil:
     (ly:stencil-in-color
       stil
      1 0 0)))

     { \colorDefaultStencil f''\espressivo }

Fine, works.

ii) Wanting to get a scaled stencil, we have to use
  Function: ly:stencil-scale stil x y
      Scale stil using the horizontal and vertical scaling factors x and y.
from the same IR-chapter.

Resulting in:

scaleColorDefaultStencil =
\once \override Script #'stencil =
  #(lambda (grob)
     (let ((stil (ly:script-interface::print grob)))
     (ly:stencil-in-color
       (ly:stencil-scale
         stil
         ;; 1 is the neutrat element with ly:stencil-scale
         ;; i.e. scaling with: 1 1 (for x- and y-axis) returns a not (visible)
         ;; changed stencil.
         2 1)
      1 0 0)))

     { \scaleColorDefaultStencil f''\espressivo }

Well, apart from the color that seems to be the desired output.

iii) Though, there are some problems.

Look at:

     { \scaleColorDefaultStencil <f'' a''>_\espressivo ^\fermata }

a) The fermata is scaled, too.
b) Typing the command before and \espressivo after the note(s) is annoying.

Solution for both: use tweak!

     {
          <f'' a''>
          -\tweak #'stencil
          #(lambda (grob)
                      (let ((stil (ly:script-interface::print grob)))
                      (ly:stencil-in-color
                        (ly:stencil-scale
                          stil
                          2 1)
                       1 0 0)))
          _\espressivo ^\fermata
     }

Does what we want, though, typing this isn't nice.

Ok, let's define a variable and use it with the tweak.

With some copy/paste we get:

#(define longer-script  ;;[1]
  (lambda (grob)
          (let ((stil (ly:script-interface::print grob)))
          (ly:stencil-in-color
            (ly:stencil-scale stil 2 1)
            1 0 0))))

     {
          <f'' a''>
          -\tweak #'stencil #longer-script
          _\espressivo ^\fermata
     }

Works fine, though the scaling values are hard-coded and there might
be the possibility to avoid typing of
   -\tweak #'stencil #longer-script

First, let's introduce some variables in `longer-script´ for scaling
in x- and y-axis:

#(define (longer-script x y)
  (lambda (grob)
          (let ((stil (ly:script-interface::print grob)))
          (ly:stencil-in-color
            (ly:stencil-scale stil x y)
            1 0 0))))

Second, to reduce typing-effort we define an event-function:

scaleScript =
#(define-event-function (parser location x-val y-val)(number? number?)
#{
        \tweak #'stencil #(longer-script x-val y-val)
        \espressivo
#})

{ <f'' a''>_\scaleScript #2 #1 ^\fermata }

Works as expected, fine!

iv) Clean up
- We only want scaling in x-direction: Let's hardcode y-scaling in the
event-function.
- Delete the color.

V) THE FINISHED CODE

\version "2.17.15"

#(define (longer-script x y) ;; [2]
  (lambda (grob)
          (let ((stil (ly:script-interface::print grob)))
          (ly:stencil-scale stil x y))))

longEspressivo =
#(define-event-function (parser location x-val)(number?)
#{
        \tweak #'stencil #(longer-script x-val 1)
        \espressivo
#})

     { f''^\longEspressivo #2 _\fermata }

VI) REMARKS
[1] Coding
    #(define (longer-script x y)
      (lambda (grob)
       ...
or
    #(define ((longer-script x y) grob)
       ...
is nearly the same. It's more a matter of taste.
Sometimes the use of `lambda´ is regarded the more elegant method.

[2] It's possible to affect every grob with this definition, as long
the default-stencil is
`ly:script-interface::print´

In general:
Explaining/commenting is more work than coding itself.
That's the reason why our documentation is sometimes not on the same
level as the functionality of the program. ;)

There might be special, more complex cases, where the code above will not work.
I omitted any comment about these. This would belong to a new thread.

VI) LAST
I didn't explain predefined guile-procedures/macros etc
i.e. "define", "let", "number?"
(or at least not very verbose)
If you're interested to dive in deeper, you may refer to the
guile-manual and/or one of the scheme-tutorials available online.


I hope I forgot nothing important and did not to many typos. ;)



Cheers,
  Harm

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Help with espressivo adjustments

SoundsFromSound
Thomas:

I cannot thank you enough for this detailed post.  You have given me much to think about and I feel confident now that I can tackle similar problems on my own.  :)

Thank you so much,

Ben


Thomas Morley wrote
2013/4/12 SoundsFromSound <[hidden email]>:
> Thomas:
>
> That works beautifully!
>
> When you get a free moment, could you please break down that code for me
> piece by piece so I can understand how I may be able to edit it in the
> future, if need be (for further adjustments / size changes)?
>
> Thank you again,
>
> Ben

Ok, I'll try, though, please remember I'm not a programmer. My
explanations may be not complete.

I decided to develope the code in step by step manner.
(You'll notice that in the end the code is changed a bit, compared
with my previous post.)

I) PROBLEM
With { f\espressivo } the "espressivo"-sign (i.e. every small hairpin)
should become longer, but not higher.

II) possible SOLUTIONS
a) create a new stencil
b) scale the default-stencil in direction of X-axis

III) THOUGHTS about II)
Solution a) is doable. But will result in a higher coding effort.
Solution b) is cheaper. It's disadvantage is that it will not print
acceptable results in all cases.
(Although you may not know this before you've tried :) )
Result: choose solution b)

IV) CODING
i) If you want to manipulate the default-stencil you have to find/get it.
Looking in the IR
http://lilypond.org/doc/v2.17/Documentation/internals/script
shows:
  stencil (stencil):
      ly:script-interface::print

Let us test if it is correct.
To be sure that I affect the correct grob, I often use colors. There
is a predefined function, which does so:
From IR
http://lilypond.org/doc/v2.17/Documentation/internals/scheme-functions
  Function: ly:stencil-in-color stc r g b
      Put stc in a different color.

This will result in:

colorDefaultStencil =
\once \override Script #'stencil =
  ;; `lambda´ starts a procedure, it's argument is `grob´
  #(lambda (grob)
     ;; In `let´ local variables are defined.
     (let ((stil (ly:script-interface::print grob)))
     ;; The procedure returns the colored default-stencil:
     (ly:stencil-in-color
       stil
      1 0 0)))

     { \colorDefaultStencil f''\espressivo }

Fine, works.

ii) Wanting to get a scaled stencil, we have to use
  Function: ly:stencil-scale stil x y
      Scale stil using the horizontal and vertical scaling factors x and y.
from the same IR-chapter.

Resulting in:

scaleColorDefaultStencil =
\once \override Script #'stencil =
  #(lambda (grob)
     (let ((stil (ly:script-interface::print grob)))
     (ly:stencil-in-color
       (ly:stencil-scale
         stil
         ;; 1 is the neutrat element with ly:stencil-scale
         ;; i.e. scaling with: 1 1 (for x- and y-axis) returns a not (visible)
         ;; changed stencil.
         2 1)
      1 0 0)))

     { \scaleColorDefaultStencil f''\espressivo }

Well, apart from the color that seems to be the desired output.

iii) Though, there are some problems.

Look at:

     { \scaleColorDefaultStencil <f'' a''>_\espressivo ^\fermata }

a) The fermata is scaled, too.
b) Typing the command before and \espressivo after the note(s) is annoying.

Solution for both: use tweak!

     {
          <f'' a''>
          -\tweak #'stencil
          #(lambda (grob)
                      (let ((stil (ly:script-interface::print grob)))
                      (ly:stencil-in-color
                        (ly:stencil-scale
                          stil
                          2 1)
                       1 0 0)))
          _\espressivo ^\fermata
     }

Does what we want, though, typing this isn't nice.

Ok, let's define a variable and use it with the tweak.

With some copy/paste we get:

#(define longer-script  ;;[1]
  (lambda (grob)
          (let ((stil (ly:script-interface::print grob)))
          (ly:stencil-in-color
            (ly:stencil-scale stil 2 1)
            1 0 0))))

     {
          <f'' a''>
          -\tweak #'stencil #longer-script
          _\espressivo ^\fermata
     }

Works fine, though the scaling values are hard-coded and there might
be the possibility to avoid typing of
   -\tweak #'stencil #longer-script

First, let's introduce some variables in `longer-script´ for scaling
in x- and y-axis:

#(define (longer-script x y)
  (lambda (grob)
          (let ((stil (ly:script-interface::print grob)))
          (ly:stencil-in-color
            (ly:stencil-scale stil x y)
            1 0 0))))

Second, to reduce typing-effort we define an event-function:

scaleScript =
#(define-event-function (parser location x-val y-val)(number? number?)
#{
        \tweak #'stencil #(longer-script x-val y-val)
        \espressivo
#})

{ <f'' a''>_\scaleScript #2 #1 ^\fermata }

Works as expected, fine!

iv) Clean up
- We only want scaling in x-direction: Let's hardcode y-scaling in the
event-function.
- Delete the color.

V) THE FINISHED CODE

\version "2.17.15"

#(define (longer-script x y) ;; [2]
  (lambda (grob)
          (let ((stil (ly:script-interface::print grob)))
          (ly:stencil-scale stil x y))))

longEspressivo =
#(define-event-function (parser location x-val)(number?)
#{
        \tweak #'stencil #(longer-script x-val 1)
        \espressivo
#})

     { f''^\longEspressivo #2 _\fermata }

VI) REMARKS
[1] Coding
    #(define (longer-script x y)
      (lambda (grob)
       ...
or
    #(define ((longer-script x y) grob)
       ...
is nearly the same. It's more a matter of taste.
Sometimes the use of `lambda´ is regarded the more elegant method.

[2] It's possible to affect every grob with this definition, as long
the default-stencil is
`ly:script-interface::print´

In general:
Explaining/commenting is more work than coding itself.
That's the reason why our documentation is sometimes not on the same
level as the functionality of the program. ;)

There might be special, more complex cases, where the code above will not work.
I omitted any comment about these. This would belong to a new thread.

VI) LAST
I didn't explain predefined guile-procedures/macros etc
i.e. "define", "let", "number?"
(or at least not very verbose)
If you're interested to dive in deeper, you may refer to the
guile-manual and/or one of the scheme-tutorials available online.


I hope I forgot nothing important and did not to many typos. ;)



Cheers,
  Harm

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
composer | sound designer | asmr artist
LilyPond video tutorials: http://bit.ly/LearnLilyPond
Reply | Threaded
Open this post in threaded view
|

Re: Help with espressivo adjustments

janek.lilypond
In reply to this post by Thomas Morley
This excellent!  it's premium material for extending manual - could
you post it as a patch?  If you don't have time to texinfo it, let's
at least add an issue to the tracker.

Janek

2013/4/13 Thomas Morley <[hidden email]>:

> 2013/4/12 SoundsFromSound <[hidden email]>:
>> Thomas:
>>
>> That works beautifully!
>>
>> When you get a free moment, could you please break down that code for me
>> piece by piece so I can understand how I may be able to edit it in the
>> future, if need be (for further adjustments / size changes)?
>>
>> Thank you again,
>>
>> Ben
>
> Ok, I'll try, though, please remember I'm not a programmer. My
> explanations may be not complete.
>
> I decided to develope the code in step by step manner.
> (You'll notice that in the end the code is changed a bit, compared
> with my previous post.)
>
> I) PROBLEM
> With { f\espressivo } the "espressivo"-sign (i.e. every small hairpin)
> should become longer, but not higher.
>
> II) possible SOLUTIONS
> a) create a new stencil
> b) scale the default-stencil in direction of X-axis
>
> III) THOUGHTS about II)
> Solution a) is doable. But will result in a higher coding effort.
> Solution b) is cheaper. It's disadvantage is that it will not print
> acceptable results in all cases.
> (Although you may not know this before you've tried :) )
> Result: choose solution b)
>
> IV) CODING
> i) If you want to manipulate the default-stencil you have to find/get it.
> Looking in the IR
> http://lilypond.org/doc/v2.17/Documentation/internals/script
> shows:
>   stencil (stencil):
>       ly:script-interface::print
>
> Let us test if it is correct.
> To be sure that I affect the correct grob, I often use colors. There
> is a predefined function, which does so:
> From IR
> http://lilypond.org/doc/v2.17/Documentation/internals/scheme-functions
>   Function: ly:stencil-in-color stc r g b
>       Put stc in a different color.
>
> This will result in:
>
> colorDefaultStencil =
> \once \override Script #'stencil =
>   ;; `lambda´ starts a procedure, it's argument is `grob´
>   #(lambda (grob)
>      ;; In `let´ local variables are defined.
>      (let ((stil (ly:script-interface::print grob)))
>      ;; The procedure returns the colored default-stencil:
>      (ly:stencil-in-color
>        stil
>       1 0 0)))
>
>      { \colorDefaultStencil f''\espressivo }
>
> Fine, works.
>
> ii) Wanting to get a scaled stencil, we have to use
>   Function: ly:stencil-scale stil x y
>       Scale stil using the horizontal and vertical scaling factors x and y.
> from the same IR-chapter.
>
> Resulting in:
>
> scaleColorDefaultStencil =
> \once \override Script #'stencil =
>   #(lambda (grob)
>      (let ((stil (ly:script-interface::print grob)))
>      (ly:stencil-in-color
>        (ly:stencil-scale
>          stil
>          ;; 1 is the neutrat element with ly:stencil-scale
>          ;; i.e. scaling with: 1 1 (for x- and y-axis) returns a not (visible)
>          ;; changed stencil.
>          2 1)
>       1 0 0)))
>
>      { \scaleColorDefaultStencil f''\espressivo }
>
> Well, apart from the color that seems to be the desired output.
>
> iii) Though, there are some problems.
>
> Look at:
>
>      { \scaleColorDefaultStencil <f'' a''>_\espressivo ^\fermata }
>
> a) The fermata is scaled, too.
> b) Typing the command before and \espressivo after the note(s) is annoying.
>
> Solution for both: use tweak!
>
>      {
>              <f'' a''>
>              -\tweak #'stencil
>              #(lambda (grob)
>                       (let ((stil (ly:script-interface::print grob)))
>                       (ly:stencil-in-color
>                         (ly:stencil-scale
>                           stil
>                           2 1)
>                        1 0 0)))
>              _\espressivo ^\fermata
>      }
>
> Does what we want, though, typing this isn't nice.
>
> Ok, let's define a variable and use it with the tweak.
>
> With some copy/paste we get:
>
> #(define longer-script  ;;[1]
>   (lambda (grob)
>           (let ((stil (ly:script-interface::print grob)))
>           (ly:stencil-in-color
>             (ly:stencil-scale stil 2 1)
>             1 0 0))))
>
>      {
>              <f'' a''>
>              -\tweak #'stencil #longer-script
>              _\espressivo ^\fermata
>      }
>
> Works fine, though the scaling values are hard-coded and there might
> be the possibility to avoid typing of
>    -\tweak #'stencil #longer-script
>
> First, let's introduce some variables in `longer-script´ for scaling
> in x- and y-axis:
>
> #(define (longer-script x y)
>   (lambda (grob)
>           (let ((stil (ly:script-interface::print grob)))
>           (ly:stencil-in-color
>             (ly:stencil-scale stil x y)
>             1 0 0))))
>
> Second, to reduce typing-effort we define an event-function:
>
> scaleScript =
> #(define-event-function (parser location x-val y-val)(number? number?)
> #{
>         \tweak #'stencil #(longer-script x-val y-val)
>         \espressivo
> #})
>
> { <f'' a''>_\scaleScript #2 #1 ^\fermata }
>
> Works as expected, fine!
>
> iv) Clean up
> - We only want scaling in x-direction: Let's hardcode y-scaling in the
> event-function.
> - Delete the color.
>
> V) THE FINISHED CODE
>
> \version "2.17.15"
>
> #(define (longer-script x y) ;; [2]
>   (lambda (grob)
>           (let ((stil (ly:script-interface::print grob)))
>           (ly:stencil-scale stil x y))))
>
> longEspressivo =
> #(define-event-function (parser location x-val)(number?)
> #{
>         \tweak #'stencil #(longer-script x-val 1)
>         \espressivo
> #})
>
>      { f''^\longEspressivo #2 _\fermata }
>
> VI) REMARKS
> [1] Coding
>     #(define (longer-script x y)
>       (lambda (grob)
>        ...
> or
>     #(define ((longer-script x y) grob)
>        ...
> is nearly the same. It's more a matter of taste.
> Sometimes the use of `lambda´ is regarded the more elegant method.
>
> [2] It's possible to affect every grob with this definition, as long
> the default-stencil is
> `ly:script-interface::print´
>
> In general:
> Explaining/commenting is more work than coding itself.
> That's the reason why our documentation is sometimes not on the same
> level as the functionality of the program. ;)
>
> There might be special, more complex cases, where the code above will not work.
> I omitted any comment about these. This would belong to a new thread.
>
> VI) LAST
> I didn't explain predefined guile-procedures/macros etc
> i.e. "define", "let", "number?"
> (or at least not very verbose)
> If you're interested to dive in deeper, you may refer to the
> guile-manual and/or one of the scheme-tutorials available online.
>
>
> I hope I forgot nothing important and did not to many typos. ;)
>
>
>
> Cheers,
>   Harm
>
> _______________________________________________
> lilypond-user mailing list
> [hidden email]
> https://lists.gnu.org/mailman/listinfo/lilypond-user

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Help with espressivo adjustments

luis jure
In reply to this post by Thomas Morley

on 2013-04-13 at 02:23 Thomas Morley wrote:

> Ok, I'll try, though, please remember I'm not a programmer. My
> explanations may be not complete.

excellent tutorial, thank you. i found it very instructive.


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Help with espressivo adjustments

Marc Hohl
Am 13.04.2013 14:09, schrieb luis jure:
>
> on 2013-04-13 at 02:23 Thomas Morley wrote:
>
>> Ok, I'll try, though, please remember I'm not a programmer. My
>> explanations may be not complete.
>
> excellent tutorial, thank you. i found it very instructive.

+1

Kudos!

Marc
>
>
> _______________________________________________
> lilypond-user mailing list
> [hidden email]
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Help with espressivo adjustments

Thomas Morley-2
In reply to this post by janek.lilypond
2013/4/13 Janek Warchoł <[hidden email]>:
> This excellent!  it's premium material for extending manual - could
> you post it as a patch?  If you don't have time to texinfo it, let's
> at least add an issue to the tracker.
>
> Janek

Hi Janek,

for some time I'm thinking about writing a tutorial about overriding
stencils, manipulating them, adding or combining sth, how to create a
new etc, etc ...
I'm not familiar with texinfo, though the main problem is my lack of time.
And currently I've less than usual; this will last for perhaps two more months.
Maybe then ...

Regards,
  Harm

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Help with espressivo adjustments

janek.lilypond
Hi,

2013/4/15 Thomas Morley <[hidden email]>:
> for some time I'm thinking about writing a tutorial about overriding
> stencils, manipulating them, adding or combining sth, how to create a
> new etc, etc ...
> I'm not familiar with texinfo, though the main problem is my lack of time.
> And currently I've less than usual; this will last for perhaps two more months.
> Maybe then ...

sure, i understand.  Right now i've added this as
http://code.google.com/p/lilypond/issues/detail?id=3315 so that it
won't get forgotten or lost accidentally.
best,
Janek

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user