Re: Lyric tie inside word?

2016-09-16 Thread Thomas Morley
2016-09-16 23:36 GMT+02:00 Knut Petersen :
> Am 16.09.2016 um 21:59 schrieb Thomas Morley:
>>
>> 2016-09-16 13:20 GMT+02:00 Knut Petersen :
>>>
>>> Am 06.05.2015 um 01:08 schrieb Thomas Morley:
>>>
>>> I had a hard time to find that code, I needed some kind of tunable
>>> \undertie
>>>
>>>
>>> Well,
>>>
>>> commit 4e9fd2773a496f31bf6f3a2c1a900fbc4d647487
>>> Author: Thomas Morley thomasmorle...@gmail.com
>>> Date: Tue Nov 3 22:05:50 2015 +0100
>
>
> rotfl ;-)
>
> http://lilypond.org/doc/v2.19/Documentation/notation/common-notation-for-vocal-music#multiple-syllables-to-one-note
> definitely does need an update ;-)

Well, at first the tie-markup-commands are markup-commands and
documented as such.
Ofcourse they can be used in Lyrics as every other markup-command.
Whereas the "~" in lyricmode does indeed something special.

I'm not sure, if the tie-markup-commands should be mentioned in this
section, maybe...

But I'm very bad in writing docs.
Any proposal?

Cheers,
  Harm

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


Re: Lyric tie inside word?

2016-09-16 Thread Knut Petersen

Am 16.09.2016 um 21:59 schrieb Thomas Morley:

2016-09-16 13:20 GMT+02:00 Knut Petersen :

Am 06.05.2015 um 01:08 schrieb Thomas Morley:

I had a hard time to find that code, I needed some kind of tunable \undertie


Well,

commit 4e9fd2773a496f31bf6f3a2c1a900fbc4d647487
Author: Thomas Morley thomasmorle...@gmail.com
Date: Tue Nov 3 22:05:50 2015 +0100


rotfl ;-)

http://lilypond.org/doc/v2.19/Documentation/notation/common-notation-for-vocal-music#multiple-syllables-to-one-note
definitely does need an update ;-)

Cheers,
 Knut

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


Re: Lyric tie inside word?

2016-09-16 Thread Thomas Morley
2016-09-16 13:20 GMT+02:00 Knut Petersen :
> Am 06.05.2015 um 01:08 schrieb Thomas Morley:
>
> I had a hard time to find that code, I needed some kind of tunable \undertie
> for Hugo Distler: Mausfallensprüchlein
> I think that "ratio" should probably be tunable. Any idea why the code  has
> not already been
> incorporated into lilypond?
>
> cu,
>  Knut


Well,

commit 4e9fd2773a496f31bf6f3a2c1a900fbc4d647487
Author: Thomas Morley thomasmorle...@gmail.com
Date: Tue Nov 3 22:05:50 2015 +0100

Implement make-bow-stencil, make-tie-stencil for use in markup-commands
undertie and overtie

issue 3088

In a follow up it is planned to replace make-parenthesis-stencil with
an appropriate setting of make-bow-stencil and to partially rework the
parenthesize-markup-command



Which is in the source since 2.19.33

ratio in make-tie-stencil is hard-coded, though


Cheers,
  Harm

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


Re: Lyric tie inside word?

2016-09-16 Thread Knut Petersen

Am 06.05.2015 um 01:08 schrieb Thomas Morley:

I had a hard time to find that code, I needed some kind of tunable \undertie for Hugo 
Distler: Mausfallensprüchlein 

I think that "ratio" should probably be tunable. Any idea why the code  has not 
already been
incorporated into lilypond?

cu,
 Knut


2015-05-06 1:02 GMT+02:00 Tobias Braun :

Never mind. It's working now, thanks a lot!

Good night,
Tobias


Am 06.05.2015 um 00:51 schrieb Simon Albrecht :


So sorry. I should’ve tested the code before posting…
You need to use \line { } instead of a simple string in "". See attachment.


Am 06.05.2015 um 00:41 schrieb Tobias Braun:

I got it to work in \lyricmode now, but it still won't work in the \markup 
section.

If I do it like you say below, I just get the code printed in the lyrics. If I end the string 
before \override and start a new one after "köñiglichen", it works, but then I get line 
breaks around "königlichen". Adding \markup doesn't improve things either.

What exactly do "\override #'(word-space . 0)" and "\tied-lyric" do? When using "\override #'(word-space 
. 0)" inside a \lyricmode expression, "~" won't create a lyric tie (with a blank) anymore, but just literally 
print "~". I have to explicitly use \tied-lyric then.

They are markup commands. \override (the markup command) takes two arguments: a pair and 
a markup. The pair consists of property and value, given in Scheme syntax: #'(word-space 
. 0). The markup is produced using \tied-lyric, which takes a string (a series of 
characters enclosed in "") as its argument, again prefixed with # to make it a 
Scheme expression. And in order to use them in \lyricmode, you have to enclose them in 
\markup explicitly.

I hope that makes it a little clearer. Ein weites Feld…
Good night, :-)
Simon



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

How about:


\version "2.19.18"

%% https://code.google.com/p/lilypond/issues/detail?id=3088
%% extended

%%FIXME: add `\undertie "undertied"' to regression/markup-commands.ly

%% FIXME: c from stencil.scm -- define-public and remove copy
#(define (make-bezier-sandwich-stencil coords thick xext yext)
   (let* ((command-list `(moveto
 ,(car (list-ref coords 3))
 ,(cdr (list-ref coords 3))
 curveto
 ,(car (list-ref coords 0))
 ,(cdr (list-ref coords 0))
 ,(car (list-ref coords 1))
 ,(cdr (list-ref coords 1))
 ,(car (list-ref coords 2))
 ,(cdr (list-ref coords 2))
 curveto
 ,(car (list-ref coords 4))
 ,(cdr (list-ref coords 4))
 ,(car (list-ref coords 5))
 ,(cdr (list-ref coords 5))
 ,(car (list-ref coords 6))
 ,(cdr (list-ref coords 6))
 closepath)))
   (ly:make-stencil
 `(path ,thick `(,@' ,command-list) 'round 'round #t)
 xext
 yext)))

%% FIXME: rewrite generic wrt axes and replace make-parenthesis-stencil
#(define (make-bow-stencil width height thickness angularity)
  "Create a bow stencil.
  @var{width} is the width of the bow markup.
  @var{thickness} is the thickness of the bow.
  @var{height} is the heigth of the bow.
  The higher the value of number @var{angularity},
  the more angular the shape of the bow."
(let* ((line-width 0.1)
   (base-x (if (< width 0) (- width) 0))
   (base-y (if (< height 0) (- height) 0))
   (x-extent (ordered-cons 0 width))
   (y-extent (ordered-cons 0 height))
   (left-x (interval-start x-extent))
   (right-x (interval-end x-extent))
   (inner-y 0)
   (outer-y height)
   (left-end-point (cons left-x inner-y))
   (right-end-point (cons right-x inner-y))
   (outer-control-y (+ inner-y (* 4/3 outer-y)))
   (inner-control-y (+ outer-control-y
  (if (< height 0) thickness (- thickness
   ;; keeping angularity allows for refactoring and
   ;; merging with make-parenthesis-stencil
   (offset-index (- (* 0.6 angularity) 0.8))
   (left-control-x (interval-index x-extent offset-index))
   (right-control-x (interval-index x-extent (- offset-index)))
   (left-outer-control-point
  (cons left-control-x outer-control-y))
   (right-outer-control-point
  (cons right-control-x outer-control-y))
   (right-inner-control-point
  (cons right-control-x inner-control-y))
   (left-inner-control-point
   

Re: Lyric tie inside word?

2015-05-09 Thread Wilbert Berendsen
Op Wed, 6 May 2015 02:30:15 +0200
Thomas Morley thomasmorle...@gmail.com schreef:

 It's code by Jan Nieuwenhuizen and we already have a tracker for it.
 I did only a few extendings.

We used this in the Liedboek. Jan made it on my request :-)

-- 
Wilbert Berendsen
(http://www.wilbertberendsen.nl)


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


Re: Lyric tie inside word?

2015-05-06 Thread Tobias Braun
Hi Kieren,

I see, thanks!

Tobias


Am 06.05.2015 um 02:46 schrieb Kieren MacMillan kieren_macmil...@sympatico.ca:

 Hi Tobias,
 
 How would I put that character _below_ a word (as opposed to in-between two 
 words)?
 
 Maybe like:
 
 \version 2.19.17
 \markup \combine test \translate #'(0.85 . -0.5) ‿
 
 Hope this helps!
 Kieren.
 
 
 
 Kieren MacMillan, composer
 ‣ website: www.kierenmacmillan.info
 ‣ email: i...@kierenmacmillan.info
 


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


Re: Lyric tie inside word?

2015-05-05 Thread Tobias Braun
Whoa! This works and the output is nice-looking, but what the ***? That's a ton 
of code you hacked together there! Shouldn't such a solution go into LilyPond 
itself in some way? (Maybe with a proper API where you can specify start and 
end characters inside the word, similar to \( and \).)


Am 06.05.2015 um 01:08 schrieb Thomas Morley thomasmorle...@gmail.com:

 2015-05-06 1:02 GMT+02:00 Tobias Braun lists.tob...@braun-abstatt.de:
 Never mind. It's working now, thanks a lot!
 
 Good night,
 Tobias
 
 
 Am 06.05.2015 um 00:51 schrieb Simon Albrecht simon.albre...@mail.de:
 
 So sorry. I should’ve tested the code before posting…
 You need to use \line { } instead of a simple string in . See attachment.
 
 
 Am 06.05.2015 um 00:41 schrieb Tobias Braun:
 I got it to work in \lyricmode now, but it still won't work in the \markup 
 section.
 
 If I do it like you say below, I just get the code printed in the lyrics. 
 If I end the string before \override and start a new one after 
 köñiglichen, it works, but then I get line breaks around königlichen. 
 Adding \markup doesn't improve things either.
 
 What exactly do \override #'(word-space . 0) and \tied-lyric do? When 
 using \override #'(word-space . 0) inside a \lyricmode expression, ~ 
 won't create a lyric tie (with a blank) anymore, but just literally print 
 ~. I have to explicitly use \tied-lyric then.
 They are markup commands. \override (the markup command) takes two 
 arguments: a pair and a markup. The pair consists of property and value, 
 given in Scheme syntax: #'(word-space . 0). The markup is produced using 
 \tied-lyric, which takes a string (a series of characters enclosed in ) 
 as its argument, again prefixed with # to make it a Scheme expression. And 
 in order to use them in \lyricmode, you have to enclose them in \markup 
 explicitly.
 
 I hope that makes it a little clearer. Ein weites Feld…
 Good night, :-)
 Simon
 koeniglichen.ly
 
 
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 https://lists.gnu.org/mailman/listinfo/lilypond-user
 
 How about:
 
 
 \version 2.19.18
 
 %% https://code.google.com/p/lilypond/issues/detail?id=3088
 %% extended
 
 %%FIXME: add `\undertie undertied' to regression/markup-commands.ly
 
 %% FIXME: cp from stencil.scm -- define-public and remove copy
 #(define (make-bezier-sandwich-stencil coords thick xext yext)
  (let* ((command-list `(moveto
,(car (list-ref coords 3))
,(cdr (list-ref coords 3))
curveto
,(car (list-ref coords 0))
,(cdr (list-ref coords 0))
,(car (list-ref coords 1))
,(cdr (list-ref coords 1))
,(car (list-ref coords 2))
,(cdr (list-ref coords 2))
curveto
,(car (list-ref coords 4))
,(cdr (list-ref coords 4))
,(car (list-ref coords 5))
,(cdr (list-ref coords 5))
,(car (list-ref coords 6))
,(cdr (list-ref coords 6))
closepath)))
  (ly:make-stencil
`(path ,thick `(,@' ,command-list) 'round 'round #t)
xext
yext)))
 
 %% FIXME: rewrite generic wrt axes and replace make-parenthesis-stencil
 #(define (make-bow-stencil width height thickness angularity)
 Create a bow stencil.
 @var{width} is the width of the bow markup.
 @var{thickness} is the thickness of the bow.
 @var{height} is the heigth of the bow.
 The higher the value of number @var{angularity},
 the more angular the shape of the bow.
   (let* ((line-width 0.1)
  (base-x (if ( width 0) (- width) 0))
  (base-y (if ( height 0) (- height) 0))
  (x-extent (ordered-cons 0 width))
  (y-extent (ordered-cons 0 height))
  (left-x (interval-start x-extent))
  (right-x (interval-end x-extent))
  (inner-y 0)
  (outer-y height)
  (left-end-point (cons left-x inner-y))
  (right-end-point (cons right-x inner-y))
  (outer-control-y (+ inner-y (* 4/3 outer-y)))
  (inner-control-y (+ outer-control-y
 (if ( height 0) thickness (- thickness
  ;; keeping angularity allows for refactoring and
  ;; merging with make-parenthesis-stencil
  (offset-index (- (* 0.6 angularity) 0.8))
  (left-control-x (interval-index x-extent offset-index))
  (right-control-x (interval-index x-extent (- offset-index)))
  (left-outer-control-point
 (cons left-control-x outer-control-y))
  (right-outer-control-point
 (cons right-control-x outer-control-y))
  (right-inner-control-point
 (cons right-control-x inner-control-y))
  (left-inner-control-point
 (cons left-control-x 

Re: Lyric tie inside word?

2015-05-05 Thread Thomas Morley
2015-05-06 1:02 GMT+02:00 Tobias Braun lists.tob...@braun-abstatt.de:
 Never mind. It's working now, thanks a lot!

 Good night,
 Tobias


 Am 06.05.2015 um 00:51 schrieb Simon Albrecht simon.albre...@mail.de:

 So sorry. I should’ve tested the code before posting…
 You need to use \line { } instead of a simple string in . See attachment.


 Am 06.05.2015 um 00:41 schrieb Tobias Braun:
 I got it to work in \lyricmode now, but it still won't work in the \markup 
 section.

 If I do it like you say below, I just get the code printed in the lyrics. 
 If I end the string before \override and start a new one after 
 köñiglichen, it works, but then I get line breaks around königlichen. 
 Adding \markup doesn't improve things either.

 What exactly do \override #'(word-space . 0) and \tied-lyric do? When 
 using \override #'(word-space . 0) inside a \lyricmode expression, ~ 
 won't create a lyric tie (with a blank) anymore, but just literally print 
 ~. I have to explicitly use \tied-lyric then.
 They are markup commands. \override (the markup command) takes two 
 arguments: a pair and a markup. The pair consists of property and value, 
 given in Scheme syntax: #'(word-space . 0). The markup is produced using 
 \tied-lyric, which takes a string (a series of characters enclosed in ) as 
 its argument, again prefixed with # to make it a Scheme expression. And in 
 order to use them in \lyricmode, you have to enclose them in \markup 
 explicitly.

 I hope that makes it a little clearer. Ein weites Feld…
 Good night, :-)
 Simon
 koeniglichen.ly


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

How about:


\version 2.19.18

%% https://code.google.com/p/lilypond/issues/detail?id=3088
%% extended

%%FIXME: add `\undertie undertied' to regression/markup-commands.ly

%% FIXME: cp from stencil.scm -- define-public and remove copy
#(define (make-bezier-sandwich-stencil coords thick xext yext)
  (let* ((command-list `(moveto
,(car (list-ref coords 3))
,(cdr (list-ref coords 3))
curveto
,(car (list-ref coords 0))
,(cdr (list-ref coords 0))
,(car (list-ref coords 1))
,(cdr (list-ref coords 1))
,(car (list-ref coords 2))
,(cdr (list-ref coords 2))
curveto
,(car (list-ref coords 4))
,(cdr (list-ref coords 4))
,(car (list-ref coords 5))
,(cdr (list-ref coords 5))
,(car (list-ref coords 6))
,(cdr (list-ref coords 6))
closepath)))
  (ly:make-stencil
`(path ,thick `(,@' ,command-list) 'round 'round #t)
xext
yext)))

%% FIXME: rewrite generic wrt axes and replace make-parenthesis-stencil
#(define (make-bow-stencil width height thickness angularity)
 Create a bow stencil.
 @var{width} is the width of the bow markup.
 @var{thickness} is the thickness of the bow.
 @var{height} is the heigth of the bow.
 The higher the value of number @var{angularity},
 the more angular the shape of the bow.
   (let* ((line-width 0.1)
  (base-x (if ( width 0) (- width) 0))
  (base-y (if ( height 0) (- height) 0))
  (x-extent (ordered-cons 0 width))
  (y-extent (ordered-cons 0 height))
  (left-x (interval-start x-extent))
  (right-x (interval-end x-extent))
  (inner-y 0)
  (outer-y height)
  (left-end-point (cons left-x inner-y))
  (right-end-point (cons right-x inner-y))
  (outer-control-y (+ inner-y (* 4/3 outer-y)))
  (inner-control-y (+ outer-control-y
 (if ( height 0) thickness (- thickness
  ;; keeping angularity allows for refactoring and
  ;; merging with make-parenthesis-stencil
  (offset-index (- (* 0.6 angularity) 0.8))
  (left-control-x (interval-index x-extent offset-index))
  (right-control-x (interval-index x-extent (- offset-index)))
  (left-outer-control-point
 (cons left-control-x outer-control-y))
  (right-outer-control-point
 (cons right-control-x outer-control-y))
  (right-inner-control-point
 (cons right-control-x inner-control-y))
  (left-inner-control-point
 (cons left-control-x inner-control-y)))

   (make-bezier-sandwich-stencil
 (list right-inner-control-point
   left-inner-control-point
   left-end-point
   right-end-point
   left-outer-control-point
   right-outer-control-point
   right-end-point
   left-end-point)
 line-width
 x-extent
 y-extent)))

%% FIXME: replace make-parenthesis-stencil 

Re: Lyric tie inside word?

2015-05-05 Thread Tobias Braun
How would I put that character _below_ a word (as opposed to in-between two 
words)?
 

Am 06.05.2015 um 01:16 schrieb Kieren MacMillan kieren_macmil...@sympatico.ca:

 Hi all,
 
 Can’t you just use ‿ ??
 I’ve used it in the past, and it’s worked wonderfully for me.
 
 Hope this helps,
 Kieren.
 
 
 Kieren MacMillan, composer
 ‣ website: www.kierenmacmillan.info
 ‣ email: i...@kierenmacmillan.info
 


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


Re: Lyric tie inside word?

2015-05-05 Thread Tobias Braun
Never mind. It's working now, thanks a lot!

Good night,
Tobias


Am 06.05.2015 um 00:51 schrieb Simon Albrecht simon.albre...@mail.de:

 So sorry. I should’ve tested the code before posting…
 You need to use \line { } instead of a simple string in . See attachment.
 
 
 Am 06.05.2015 um 00:41 schrieb Tobias Braun:
 I got it to work in \lyricmode now, but it still won't work in the \markup 
 section.
 
 If I do it like you say below, I just get the code printed in the lyrics. If 
 I end the string before \override and start a new one after köñiglichen, 
 it works, but then I get line breaks around königlichen. Adding \markup 
 doesn't improve things either.
 
 What exactly do \override #'(word-space . 0) and \tied-lyric do? When 
 using \override #'(word-space . 0) inside a \lyricmode expression, ~ 
 won't create a lyric tie (with a blank) anymore, but just literally print 
 ~. I have to explicitly use \tied-lyric then.
 They are markup commands. \override (the markup command) takes two arguments: 
 a pair and a markup. The pair consists of property and value, given in Scheme 
 syntax: #'(word-space . 0). The markup is produced using \tied-lyric, which 
 takes a string (a series of characters enclosed in ) as its argument, again 
 prefixed with # to make it a Scheme expression. And in order to use them in 
 \lyricmode, you have to enclose them in \markup explicitly.
 
 I hope that makes it a little clearer. Ein weites Feld…
 Good night, :-)
 Simon
 koeniglichen.ly


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


Re: Lyric tie inside word?

2015-05-05 Thread Kieren MacMillan
Hi all,

Can’t you just use ‿ ??
I’ve used it in the past, and it’s worked wonderfully for me.

Hope this helps,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


Re: Lyric tie inside word?

2015-05-05 Thread Simon Albrecht

Nice one again, Harm! :-)
I love how every ‘normal’ person would come up with some twenty lines of 
‘ordinary’ code, whereas you deliver hundreds of lines of code with a 
fancy solution…

Kudos!
And, finally, (!) good night :-)

Am 06.05.2015 um 01:08 schrieb Thomas Morley:

How about:


\version 2.19.18

%% https://code.google.com/p/lilypond/issues/detail?id=3088
%% extended

%%FIXME: add `\undertie undertied' to regression/markup-commands.ly

%% FIXME: cp from stencil.scm -- define-public and remove copy
#(define (make-bezier-sandwich-stencil coords thick xext yext)
   (let* ((command-list `(moveto
 ,(car (list-ref coords 3))
 ,(cdr (list-ref coords 3))
 curveto
 ,(car (list-ref coords 0))
 ,(cdr (list-ref coords 0))
 ,(car (list-ref coords 1))
 ,(cdr (list-ref coords 1))
 ,(car (list-ref coords 2))
 ,(cdr (list-ref coords 2))
 curveto
 ,(car (list-ref coords 4))
 ,(cdr (list-ref coords 4))
 ,(car (list-ref coords 5))
 ,(cdr (list-ref coords 5))
 ,(car (list-ref coords 6))
 ,(cdr (list-ref coords 6))
 closepath)))
   (ly:make-stencil
 `(path ,thick `(,@' ,command-list) 'round 'round #t)
 xext
 yext)))

%% FIXME: rewrite generic wrt axes and replace make-parenthesis-stencil
#(define (make-bow-stencil width height thickness angularity)
  Create a bow stencil.
  @var{width} is the width of the bow markup.
  @var{thickness} is the thickness of the bow.
  @var{height} is the heigth of the bow.
  The higher the value of number @var{angularity},
  the more angular the shape of the bow.
(let* ((line-width 0.1)
   (base-x (if ( width 0) (- width) 0))
   (base-y (if ( height 0) (- height) 0))
   (x-extent (ordered-cons 0 width))
   (y-extent (ordered-cons 0 height))
   (left-x (interval-start x-extent))
   (right-x (interval-end x-extent))
   (inner-y 0)
   (outer-y height)
   (left-end-point (cons left-x inner-y))
   (right-end-point (cons right-x inner-y))
   (outer-control-y (+ inner-y (* 4/3 outer-y)))
   (inner-control-y (+ outer-control-y
  (if ( height 0) thickness (- thickness
   ;; keeping angularity allows for refactoring and
   ;; merging with make-parenthesis-stencil
   (offset-index (- (* 0.6 angularity) 0.8))
   (left-control-x (interval-index x-extent offset-index))
   (right-control-x (interval-index x-extent (- offset-index)))
   (left-outer-control-point
  (cons left-control-x outer-control-y))
   (right-outer-control-point
  (cons right-control-x outer-control-y))
   (right-inner-control-point
  (cons right-control-x inner-control-y))
   (left-inner-control-point
  (cons left-control-x inner-control-y)))

(make-bezier-sandwich-stencil
  (list right-inner-control-point
left-inner-control-point
left-end-point
right-end-point
left-outer-control-point
right-outer-control-point
right-end-point
left-end-point)
  line-width
  x-extent
  y-extent)))

%% FIXME: replace make-parenthesis-stencil by this:
#(define (make-parenthesis-stencil height width thick angularity)
   (ly:stencil-rotate-absolute
 (make-bow-stencil height width thick angularity)
 -90 0 0))

%% FIXME: cp from bezier-bow.cc
#(define (F0_1 x) (* (/ 2 PI) (atan (* PI x 0.5
#(define (slur-height w h_inf r_0)
(F0_1 (* (/ (* w r_0) h_inf) h_inf)))

#(define (make-tie-stencil width thickness direction)
   (let* ((height-limit 1)
  (ratio 0.25)
  (angularity 0.5)
  (height (slur-height width height-limit ratio)))
   (make-bow-stencil width (* direction height) thickness angularity)))

#(define-markup-command (undertie layout props arg)
   (markup?)
#:category font
#:properties ((thickness 1)
   (offset 2)
   (direction DOWN)
   (adjust-length 0)
   (adjust-x-pos 0))

@cindex undertie-ing text

Undertie @var{arg}. Looks at @code{thickness} to determine line
thickness, and @code{offset} to determine line y-offset.

@lilypond[verbatim,quote]
\\markup \\line {
\\undertie \undertied\
\\override #'(offset . 5)
\\override #'(thickness . 1)
\\undertie \undertied\
\\override #'(offset . 1)
\\override #'(thickness . 5)
\\undertie \undertied\
}
@end lilypond
   (let* ((line-thickness (ly:output-def-lookup layout 'line-thickness))
  (thick (* thickness line-thickness))
  (markup 

Re: Lyric tie inside word?

2015-05-05 Thread Thomas Morley
2015-05-06 1:19 GMT+02:00 Tobias Braun lists.tob...@braun-abstatt.de:
 Whoa! This works and the output is nice-looking, but what the ***? That's a 
 ton of code you hacked together there! Shouldn't such a solution go into 
 LilyPond itself in some way? (Maybe with a proper API where you can specify 
 start and end characters inside the word, similar to \( and \).)


 Am 06.05.2015 um 01:08 schrieb Thomas Morley thomasmorle...@gmail.com:

 2015-05-06 1:02 GMT+02:00 Tobias Braun lists.tob...@braun-abstatt.de:
 Never mind. It's working now, thanks a lot!

 Good night,
 Tobias


 Am 06.05.2015 um 00:51 schrieb Simon Albrecht simon.albre...@mail.de:

 So sorry. I should’ve tested the code before posting…
 You need to use \line { } instead of a simple string in . See attachment.


 Am 06.05.2015 um 00:41 schrieb Tobias Braun:
 I got it to work in \lyricmode now, but it still won't work in the 
 \markup section.

 If I do it like you say below, I just get the code printed in the lyrics. 
 If I end the string before \override and start a new one after 
 köñiglichen, it works, but then I get line breaks around königlichen. 
 Adding \markup doesn't improve things either.

 What exactly do \override #'(word-space . 0) and \tied-lyric do? When 
 using \override #'(word-space . 0) inside a \lyricmode expression, ~ 
 won't create a lyric tie (with a blank) anymore, but just literally print 
 ~. I have to explicitly use \tied-lyric then.
 They are markup commands. \override (the markup command) takes two 
 arguments: a pair and a markup. The pair consists of property and value, 
 given in Scheme syntax: #'(word-space . 0). The markup is produced using 
 \tied-lyric, which takes a string (a series of characters enclosed in ) 
 as its argument, again prefixed with # to make it a Scheme expression. And 
 in order to use them in \lyricmode, you have to enclose them in \markup 
 explicitly.

 I hope that makes it a little clearer. Ein weites Feld…
 Good night, :-)
 Simon
 koeniglichen.ly


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

 How about:


 \version 2.19.18


Did you notice this comment and followed the link?

 %% https://code.google.com/p/lilypond/issues/detail?id=3088
 %% extended

It's code by Jan Nieuwenhuizen and we already have a tracker for it.
I did only a few extendings.

Cheers,
  Harm

 %%FIXME: add `\undertie undertied' to regression/markup-commands.ly

 %% FIXME: cp from stencil.scm -- define-public and remove copy
 #(define (make-bezier-sandwich-stencil coords thick xext yext)
  (let* ((command-list `(moveto
,(car (list-ref coords 3))
,(cdr (list-ref coords 3))
curveto
,(car (list-ref coords 0))
,(cdr (list-ref coords 0))
,(car (list-ref coords 1))
,(cdr (list-ref coords 1))
,(car (list-ref coords 2))
,(cdr (list-ref coords 2))
curveto
,(car (list-ref coords 4))
,(cdr (list-ref coords 4))
,(car (list-ref coords 5))
,(cdr (list-ref coords 5))
,(car (list-ref coords 6))
,(cdr (list-ref coords 6))
closepath)))
  (ly:make-stencil
`(path ,thick `(,@' ,command-list) 'round 'round #t)
xext
yext)))

 %% FIXME: rewrite generic wrt axes and replace make-parenthesis-stencil
 #(define (make-bow-stencil width height thickness angularity)
 Create a bow stencil.
 @var{width} is the width of the bow markup.
 @var{thickness} is the thickness of the bow.
 @var{height} is the heigth of the bow.
 The higher the value of number @var{angularity},
 the more angular the shape of the bow.
   (let* ((line-width 0.1)
  (base-x (if ( width 0) (- width) 0))
  (base-y (if ( height 0) (- height) 0))
  (x-extent (ordered-cons 0 width))
  (y-extent (ordered-cons 0 height))
  (left-x (interval-start x-extent))
  (right-x (interval-end x-extent))
  (inner-y 0)
  (outer-y height)
  (left-end-point (cons left-x inner-y))
  (right-end-point (cons right-x inner-y))
  (outer-control-y (+ inner-y (* 4/3 outer-y)))
  (inner-control-y (+ outer-control-y
 (if ( height 0) thickness (- thickness
  ;; keeping angularity allows for refactoring and
  ;; merging with make-parenthesis-stencil
  (offset-index (- (* 0.6 angularity) 0.8))
  (left-control-x (interval-index x-extent offset-index))
  (right-control-x (interval-index x-extent (- offset-index)))
  (left-outer-control-point
 (cons left-control-x outer-control-y))
  

Re: Lyric tie inside word?

2015-05-05 Thread Kieren MacMillan
Hi Tobias,

 How would I put that character _below_ a word (as opposed to in-between two 
 words)?

Maybe like:

\version 2.19.17
\markup \combine test \translate #'(0.85 . -0.5) ‿

Hope this helps!
Kieren.



Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


Re: Lyric tie inside word?

2015-05-05 Thread Tobias Braun
I got it to work in \lyricmode now, but it still won't work in the \markup 
section.

If I do it like you say below, I just get the code printed in the lyrics. If I 
end the string before \override and start a new one after köñiglichen, it 
works, but then I get line breaks around königlichen. Adding \markup doesn't 
improve things either.

What exactly do \override #'(word-space . 0) and \tied-lyric do? When using 
\override #'(word-space . 0) inside a \lyricmode expression, ~ won't create 
a lyric tie (with a blank) anymore, but just literally print ~. I have to 
explicitly use \tied-lyric then.

Tobias


Am 06.05.2015 um 00:19 schrieb Simon Albrecht simon.albre...@mail.de:

 Just include everything except \markup instead of the word:
 
 \markup {
   \fill-line {
 \hspace #0.1
  \column {
  \vspace #0.5
   \line { \bold 2.
 \column {
   Er ging aus der Kammer sein, / dem \override #'(word-space . 0) 
 \tied-lyric #kö~niglichen Saal so rein, /
   Gott von Art und Mensch, ...
 }
   }
 
 (It might even work with nested \markup commands)
 
 For use in \lyricmode consider 
 http://lilypond.org/doc/v2.18/Documentation/notation/common-notation-for-vocal-music#multiple-syllables-to-one-note.
  With german text, however, you still need to override word-space, so see 
 attachment. Alternatively, just leave the tie out…
 
 Yours, Simon
 
 Am 05.05.2015 um 23:52 schrieb Tobias Braun:
 Hello Simon,
 
 Thanks a lot! Marvelous, I'd never have been able to come up with this.
 
 I'm just not quite sure yet how to integrate it with the rest of my lyrics. 
 At the moment, it looks something like this:
 
 \markup {
   \fill-line {
 \hspace #0.1
  \column {
  \vspace #0.5
   \line { \bold 2.
 \column {
   Er ging aus der Kammer sein, / dem königlichen Saal so rein, /
   Gott von Art und Mensch, ...
 }
   }
 
 Where exactly do I put the code you posted below? It's working as a 
 standalone line in my LilyPond file, but I couldn't figure out how to 
 integrate it into the code above. (Neither did I get it to work inside a 
 \lyricmode expression for use in lyrics directly below the notes.)
 
 Tobias
 
 
 Am 05.05.2015 um 23:35 schrieb Simon Albrecht simon.albre...@mail.de:
 
 Hello Tobias,
 
 I’m not sure what you tried previously, but this should do what you want:
 
 \markup \override #'(word-space . 0) \tied-lyric #kö~niglichen
 
 See http://lilypond.org/doc/v2.18/Documentation/notation/music
 Admittedly, it’s not as elegant as the one in the EG :-) – that would 
 require a manually tweaked version – but it’s clear.
 
 Yours, Simon
 
 Am 05.05.2015 um 23:23 schrieb Tobias Braun:
 Hi,
 
 How can I achieve a lyric tie inside a word, as seen in the second verse 
 of the attached music?
 
 Putting a '~' inside the word creates a lyric tie, but also inserts a 
 space, splitting my word into two words.
 
 Moreover, how can I achieve this in a \markup section below the actual 
 score? Down there, it is far more useful than in the lyrics directly below 
 the notes. But in the \markup section, I couldn't even get the lyric tie 
 with a space in it to work. I suppose I'd somehow have to make the \markup 
 section into a \lyricmode one? That didn't work either, unfortunately.
 
 Thanks,
 Tobias
 
 
 
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 https://lists.gnu.org/mailman/listinfo/lilypond-user
 
 
 
 lyr-tie-german.ly

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


Re: Lyric tie inside word?

2015-05-05 Thread Simon Albrecht

So sorry. I should’ve tested the code before posting…
You need to use \line { } instead of a simple string in . See attachment.


Am 06.05.2015 um 00:41 schrieb Tobias Braun:
I got it to work in \lyricmode now, but it still won't work in the 
\markup section.


If I do it like you say below, I just get the code printed in the 
lyrics. If I end the string before \override and start a new one after 
köñiglichen, it works, but then I get line breaks around 
königlichen. Adding \markup doesn't improve things either.


What exactly do \override #'(word-space . 0) and \tied-lyric do? 
When using \override #'(word-space . 0) inside a \lyricmode 
expression, ~ won't create a lyric tie (with a blank) anymore, but 
just literally print ~. I have to explicitly use \tied-lyric then.
They are markup commands. \override (the markup command) takes two 
arguments: a pair and a markup. The pair consists of property and value, 
given in Scheme syntax: #'(word-space . 0). The markup is produced using 
\tied-lyric, which takes a string (a series of characters enclosed in 
) as its argument, again prefixed with # to make it a Scheme 
expression. And in order to use them in \lyricmode, you have to enclose 
them in \markup explicitly.


I hope that makes it a little clearer. Ein weites Feld…
Good night, :-)
Simon
\version 2.19.17

\markup {
  \fill-line {
\hspace #0.1
\column {
  \vspace #0.5
  \line {
\bold 2.
\column {
  \line {
Er ging aus der Kammer sein, / dem
\override #'(word-space . 0)
\tied-lyric #kö~niglichen Saal so rein, /
  }
  Gott von Art und Mensch, ...
}
  }
}
  }
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lyric tie inside word?

2015-05-05 Thread Simon Albrecht

Just include everything except \markup instead of the word:

\markup {
  \fill-line {
\hspace #0.1
 \column {
\vspace #0.5
  \line { \bold 2.
\column {
  Er ging aus der Kammer sein, / dem \override #'(word-space . 
0) \tied-lyric #kö~niglichen Saal so rein, /

  Gott von Art und Mensch, ...
}
  }

(It might even work with nested \markup commands)

For use in \lyricmode consider 
http://lilypond.org/doc/v2.18/Documentation/notation/common-notation-for-vocal-music#multiple-syllables-to-one-note. 
With german text, however, you still need to override word-space, so see 
attachment. Alternatively, just leave the tie out…


Yours, Simon

Am 05.05.2015 um 23:52 schrieb Tobias Braun:

Hello Simon,

Thanks a lot! Marvelous, I'd never have been able to come up with this.

I'm just not quite sure yet how to integrate it with the rest of my 
lyrics. At the moment, it looks something like this:


\markup {
  \fill-line {
\hspace #0.1
 \column {
\vspace #0.5
  \line { \bold 2.
\column {
  Er ging aus der Kammer sein, / dem königlichen Saal so rein, /
  Gott von Art und Mensch, ...
}
  }

Where exactly do I put the code you posted below? It's working as a 
standalone line in my LilyPond file, but I couldn't figure out how to 
integrate it into the code above. (Neither did I get it to work inside 
a \lyricmode expression for use in lyrics directly below the notes.)


Tobias


Am 05.05.2015 um 23:35 schrieb Simon Albrecht simon.albre...@mail.de 
mailto:simon.albre...@mail.de:



Hello Tobias,

I’m not sure what you tried previously, but this should do what you want:

\markup \override #'(word-space . 0) \tied-lyric #kö~niglichen

See http://lilypond.org/doc/v2.18/Documentation/notation/music
Admittedly, it’s not as elegant as the one in the EG :-) – that would 
require a manually tweaked version – but it’s clear.


Yours, Simon

Am 05.05.2015 um 23:23 schrieb Tobias Braun:

Hi,

How can I achieve a lyric tie inside a word, as seen in the second verse of the 
attached music?

Putting a '~' inside the word creates a lyric tie, but also inserts a space, 
splitting my word into two words.

Moreover, how can I achieve this in a \markup section below the actual score? 
Down there, it is far more useful than in the lyrics directly below the notes. 
But in the \markup section, I couldn't even get the lyric tie with a space in 
it to work. I suppose I'd somehow have to make the \markup section into a 
\lyricmode one? That didn't work either, unfortunately.

Thanks,
Tobias



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






\version 2.19.17

\score {
  
\new Staff { c'4 d'4. c'8 }
\addlyrics {
  \markup \override #'(word-space . 0)
  \tied-lyric #kö~nig -- li -- chen
}
  
}

\score {
  
\new Staff { c'4 d'4. c'8 }
\addlyrics { könig -- li -- chen }
  
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lyric tie inside word?

2015-05-05 Thread Simon Albrecht

Hello Tobias,

I’m not sure what you tried previously, but this should do what you want:

\markup \override #'(word-space . 0) \tied-lyric #kö~niglichen

See http://lilypond.org/doc/v2.18/Documentation/notation/music
Admittedly, it’s not as elegant as the one in the EG :-) – that would 
require a manually tweaked version – but it’s clear.


Yours, Simon

Am 05.05.2015 um 23:23 schrieb Tobias Braun:

Hi,

How can I achieve a lyric tie inside a word, as seen in the second verse of the 
attached music?

Putting a '~' inside the word creates a lyric tie, but also inserts a space, 
splitting my word into two words.

Moreover, how can I achieve this in a \markup section below the actual score? 
Down there, it is far more useful than in the lyrics directly below the notes. 
But in the \markup section, I couldn't even get the lyric tie with a space in 
it to work. I suppose I'd somehow have to make the \markup section into a 
\lyricmode one? That didn't work either, unfortunately.

Thanks,
Tobias



___
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: Lyric tie inside word?

2015-05-05 Thread Tobias Braun
Hello Simon,

Thanks a lot! Marvelous, I'd never have been able to come up with this.

I'm just not quite sure yet how to integrate it with the rest of my lyrics. At 
the moment, it looks something like this:

\markup {
  \fill-line {
\hspace #0.1
 \column {
\vspace #0.5
  \line { \bold 2.
\column {
  Er ging aus der Kammer sein, / dem königlichen Saal so rein, /
  Gott von Art und Mensch, ...
}
  }

Where exactly do I put the code you posted below? It's working as a standalone 
line in my LilyPond file, but I couldn't figure out how to integrate it into 
the code above. (Neither did I get it to work inside a \lyricmode expression 
for use in lyrics directly below the notes.)

Tobias


Am 05.05.2015 um 23:35 schrieb Simon Albrecht simon.albre...@mail.de:

 Hello Tobias,
 
 I’m not sure what you tried previously, but this should do what you want:
 
 \markup \override #'(word-space . 0) \tied-lyric #kö~niglichen
 
 See http://lilypond.org/doc/v2.18/Documentation/notation/music
 Admittedly, it’s not as elegant as the one in the EG :-) – that would require 
 a manually tweaked version – but it’s clear.
 
 Yours, Simon
 
 Am 05.05.2015 um 23:23 schrieb Tobias Braun:
 Hi,
 
 How can I achieve a lyric tie inside a word, as seen in the second verse of 
 the attached music?
 
 Putting a '~' inside the word creates a lyric tie, but also inserts a space, 
 splitting my word into two words.
 
 Moreover, how can I achieve this in a \markup section below the actual 
 score? Down there, it is far more useful than in the lyrics directly below 
 the notes. But in the \markup section, I couldn't even get the lyric tie 
 with a space in it to work. I suppose I'd somehow have to make the \markup 
 section into a \lyricmode one? That didn't work either, unfortunately.
 
 Thanks,
 Tobias
 
 
 
 ___
 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