Changing horizontal position of dots on dotted notes

2016-09-20 Thread Paul

Hi all,
I'm interested in changing the horizontal position of dots on dotted 
notes.  So far I've only been able to make this happen by overriding 
Dots.extra-offset.  That's fine and it will work for me, but it bypasses 
the layout/spacing engine, and I'd rather not do that if there is 
another way that I'm missing.  Here's what I've tried:


\version "2.19.42"
{
  \time 3/4
  c'4.
  \once \override Dots.X-offset = #1
  c'4.
  \once \override DotColumn.X-offset = #1
  c'4.
  \once \override DotColumn.extra-offset = #'(1 . 0)
  c'4.
  % extra-offset moves the dot away from the stem,
  % but it bypasses layout/spacing engine...
  \once \override Dots.extra-offset = #'(2 . 0)
  c'4.
}

The use case is custom double stems that are wider (used in Clairnote 
notation, see http://clairnote.org).  See attached image.  It looks like 
LilyPond does not adjust the position of the dots based on the width of 
the stem (neither from its stencil nor its X-extent).


\version "2.19.42"
{
  \time 3/4
  c'4.
  % dot position is not affected by stem X-extent
  \once \override Stem.X-extent = #'(-10 . 10)
  c'4.
  % thickness increases to the left, not the right
  % so doesn't affect dot position, can't be used as test case
  \once \override Stem.thickness = #10
  c'4.
  % extreme scaling of the stem stencil, no change in dot position
  \once \override Stem.stencil =
  #(lambda (grob) (ly:stencil-scale (ly:stem::print grob) 10 1))
  c'4.
  % putting it together
  \once \override Stem.stencil =
  #(lambda (grob) (ly:stencil-scale (ly:stem::print grob) 10 1))
  \once \override Dots.extra-offset = #'(0.5 . 0)
  c'4.
}

Thanks for any tips,
-Paul


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


filtering out common elements (e.g., markup) in partcombine

2016-09-20 Thread Kieren MacMillan
Hello all,

Consider the following snippet:

  SNIPPET BEGINS
\version "2.19"
partA = { c’’1\p^\markup { soli } }
partB = { e’1\p^\markup { soli } }
\partcombine \partA \partB
  SNIPPET ENDS

I would like “soli” to appear in each part (code not shown here), but only have 
it shown once when partcombined in the score (the snippet above). Is there a 
way to do that without using \tag?

The partcombine mechanism is smart enough to filter out identical dynamics (see 
snippet output) — I was hoping it would be (or could be coerced into being) 
similarly intelligent with respect to markup.

Thanks,
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: Please help with Lilypond calling Scheme

2016-09-20 Thread Thomas Morley
2016-09-20 23:30 GMT+02:00 Malte Meyn :
>
>
> Am 20.09.2016 um 19:12 schrieb PMA:
>>
>> (define (colorNote n)
>>   (cond ((eq? (- n) 1) 'red )
>> ((eq? (- n) 2) 'blue)))
>
>
> This returns the symbol 'red or the symbol 'blue, not the constant named red
> (value (1.0 0.0 0.0)) or the constant named blue.

For the record, with x11-color you can use symbols.

#(define (colorNote n)
  (case n
((-1) 'red)
((-2) 'blue)
(else '(

FS =
#(define-music-function (parser location offset) (number?)
  #{
\override NoteHead.font-size = #offset
\override NoteHead.color = #(x11-color (colorNote offset))
  #})

{ \FS -1 c'1 }

Cheers,
  Harm

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


Re: cross staff slur

2016-09-20 Thread MING TSANG
Simon,Thank you very much for the help.Ming.

  From: Simon Albrecht 
 To: MING TSANG ; Lilypond-usermailinglist 
 
 Sent: Tuesday, September 20, 2016 10:27 AM
 Subject: Re: cross staff slur
   
Hi Ming,

On 20.09.2016 14:32, MING TSANG wrote:
> hi, lilyponders:
> I have difficulty to generate the following by lilypond v2.19.47
> 1.  in clef bass bar2  I cannot generate " f'2. "-- it warns bar 
> check, i can only make it " f'2 "

You need parallel music expressions.

> 2.  in clef bass bar3  I don't know how to code the " d'4 "  -- why 
> produces cross staff beam?

The d' also requires a parallel music expression; the cross staff beam 
is produced because in 4/4, eigth notes are normally beamed by half bar. 
If you really don’t want the beam, you can either use manual beaming [] 
or adjust automatic behaviour by \set Timing.beamExceptions = #'() or by 
adjusting the default for 4/4 with \overrideTimeSignatureSettings. This 
is described in NR 1.2.4, ‘Setting automatic beam behavior’.

> 3.  starting slur is too high bar 2

Try \shape.

HTH, Simon


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


Re: Please help with Lilypond calling Scheme

2016-09-20 Thread Malte Meyn



Am 20.09.2016 um 19:12 schrieb PMA:

(define (colorNote n)
  (cond ((eq? (- n) 1) 'red )
((eq? (- n) 2) 'blue)))


This returns the symbol 'red or the symbol 'blue, not the constant named 
red (value (1.0 0.0 0.0)) or the constant named blue.



\override NoteHead.font-size = #offset  % This line works.


Here you use # to switch from LilyPond to Scheme so you can use the 
Scheme variable offset.



\override NoteHead.color = #(colorNote #offset) % *ERRORS*.


Here the first # switches to Scheme so the second # isn’t necessary anymore.

Slightly off-topic: your colorNote function is more complicated than 
necessary. (eq? (- n) 1) can be simplified to (eq? n -1) and I would 
recommend to use case instead of cond and eq?.


%%%

\version "2.18.2"

#(define (colorNote n)
  (case n
((-1) red)
((-2) blue)
(else '(
% the else case isn’t really necessary here but it prevents warnings or 
% errors if colorNote (or FS) is called with another value like 5

% (see example below)

FS =
#(define-music-function (parser location offset) (number?)
   #{
 \override NoteHead.font-size = #offset
 \override NoteHead.color = #(colorNote offset)
   #})

% example usage
{
  \FS -1 c' d' \FS -2 e' f' \FS 5 g' a'
}

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


Re: Please help with Lilypond calling Scheme

2016-09-20 Thread Urs Liska
The # switches from LilyPond to Scheme.  This means that once you are in Scheme 
you don't need it again.

#(colorNote #offset)  

should read

#(colorNote offset) 

HTH
Urs


Am 20. September 2016 19:12:26 MESZ, schrieb PMA :
>Hi Lilypond Gurus!
>
>I need help, when you can spare the time, to get an already-
>working Lilypond music function to call my just-added Scheme
>routine.
>
>This Scheme procedure works when called directly from Guile:
>entering "(colorNote -1)" get output "red".
>
>(define (colorNote n)
>   (cond ((eq? (- n) 1) 'red )
> ((eq? (- n) 2) 'blue)))
>
>
>But in trying to evoke the procedure, the following Lilypond
>function hits two snags: it apparently doesn't see colorNote
>at all, and even if it did, it still would not convert the
>returned "red" to "#red".  (I've omitted irrelevant lines.)
>
>FS =
>#(define-music-function (parser location offset) (number?)
>   #{
> \override NoteHead.font-size = #offset  % This line works.
>%\override NoteHead.color = #red % This line worked.
> \override NoteHead.color = #(colorNote #offset) % *ERRORS*.
>   #})
>
>
>I suspect that a fix here is easy.  But it's beyond my naive
>struggles.  I'd appreciate any suggestions.
>
>Pete
>
>
>___
>lilypond-user mailing list
>lilypond-user@gnu.org
>https://lists.gnu.org/mailman/listinfo/lilypond-user

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Please help with Lilypond calling Scheme

2016-09-20 Thread PMA

Oh dear.  *NEVER MIND*.  I just now got it working.

Thanks anyway!
Pete


On 09/20/2016 01:12 PM, PMA wrote:

Hi Lilypond Gurus!

I need help, when you can spare the time, to get an already-
working Lilypond music function to call my just-added Scheme
routine.

This Scheme procedure works when called directly from Guile:
entering "(colorNote -1)" get output "red".

(define (colorNote n)
   (cond ((eq? (- n) 1) 'red )
 ((eq? (- n) 2) 'blue)))


But in trying to evoke the procedure, the following Lilypond
function hits two snags: it apparently doesn't see colorNote
at all, and even if it did, it still would not convert the
returned "red" to "#red".  (I've omitted irrelevant lines.)

FS =
#(define-music-function (parser location offset) (number?)
   #{
 \override NoteHead.font-size = #offset  % This line works.
%\override NoteHead.color = #red % This line worked.
 \override NoteHead.color = #(colorNote #offset) % *ERRORS*.
   #})


I suspect that a fix here is easy.  But it's beyond my naive
struggles.  I'd appreciate any suggestions.

Pete



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


Please help with Lilypond calling Scheme

2016-09-20 Thread PMA

Hi Lilypond Gurus!

I need help, when you can spare the time, to get an already-
working Lilypond music function to call my just-added Scheme
routine.

This Scheme procedure works when called directly from Guile:
entering "(colorNote -1)" get output "red".

(define (colorNote n)
  (cond ((eq? (- n) 1) 'red )
((eq? (- n) 2) 'blue)))


But in trying to evoke the procedure, the following Lilypond
function hits two snags: it apparently doesn't see colorNote
at all, and even if it did, it still would not convert the
returned "red" to "#red".  (I've omitted irrelevant lines.)

FS =
#(define-music-function (parser location offset) (number?)
  #{
\override NoteHead.font-size = #offset  % This line works.
   %\override NoteHead.color = #red % This line worked.
\override NoteHead.color = #(colorNote #offset) % *ERRORS*.
  #})


I suspect that a fix here is easy.  But it's beyond my naive
struggles.  I'd appreciate any suggestions.

Pete


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


Re: Write a custom backend?

2016-09-20 Thread Paul

On 09/20/2016 11:44 AM, Urs Liska wrote:


There's a fixed review cycle (controlled by automated tests) of
new->review->countdown->push.


See also documentation in the contributor's guide here:
http://lilypond.org/doc/v2.19/Documentation/contributor/the-patch-review-cycle

-Paul

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


Re: time signature is printed after first bar line

2016-09-20 Thread Malte Meyn



Am 20.09.2016 um 17:28 schrieb Roderick Mackenzie:

I am still trying to print bagpipe tunes with Lilypond, with a repeat
bar at the start of each part. I am almost there; my only problem now
is that the time signature is printed after the first bar line (the
repeat bar line).

How do I get the time signature to print before the first bar line?


Just use a newer version of LilyPond ;)

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


Re: Write a custom backend?

2016-09-20 Thread Urs Liska


Am 20.09.2016 um 17:31 schrieb Mathieu Demange:
> Hi Urs,
>
>> is it possible that you didn't notice this:
>> https://codereview.appspot.com/308430043/?
> Oh my! I see I'm lacking some "what's up with Lily" bookmarks, right now...
>
> That's exactly it! Thanks Urs! And thanks Paul!
>
> I'm curious about Lily dev cycle. AFAIK this patch is simple, effective, 
> clean and respectful (regression tests, documentation, convert-ly, etc), so I 
> really wonder if it'll make its way, and how fast? I mean, I (very humbly) 
> think even I could have done something like that but I was kind of scary 
> about even touching LilyPond itself. That's very encouraging me to (at least 
> try) if that's really "that easy" and welcome, I guess.

There's a fixed review cycle (controlled by automated tests) of
new->review->countdown->push. That means if a patch isn't debated it
usually takes a few days until it can be pushed (and will then be
included in the next dev release automatically).
Changes required during review *may* be integrated along the ways, or
they *may* force you to restart from the beginning, even shortly before
you expect to get the "push" signal ...

In any case it's worth a try. For first patches it's a good idea to
signal your intentions *before* doing any coding, just to avoid
misunderstandings.

Urs

>
> Cheers,
>
> Mathieu


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


Re: Write a custom backend?

2016-09-20 Thread Mathieu Demange
Hi Urs,

> is it possible that you didn't notice this:
> https://codereview.appspot.com/308430043/?

Oh my! I see I'm lacking some "what's up with Lily" bookmarks, right now...

That's exactly it! Thanks Urs! And thanks Paul!

I'm curious about Lily dev cycle. AFAIK this patch is simple, effective, clean 
and respectful (regression tests, documentation, convert-ly, etc), so I really 
wonder if it'll make its way, and how fast? I mean, I (very humbly) think even 
I could have done something like that but I was kind of scary about even 
touching LilyPond itself. That's very encouraging me to (at least try) if 
that's really "that easy" and welcome, I guess.

Cheers,

Mathieu

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


Re: What to do wanting a 4th order Bézier?

2016-09-20 Thread Urs Liska


Am 20.09.2016 um 13:53 schrieb Trevor Daniels:
> Impressive work, Urs!  Kudos!
>  

Thanks :-)

But I'm not finished yet. I assume I'm much more than halfway through to
supporting an arbitrary number of segments with a very manageable interface.
I'll presumably leave supporting broken slurs to a later attempt or
someone else, though.

Urs

> Trevor
>  
>
> - Original Message -
> *From:* Urs Liska 
> *To:* lilypond-user@gnu.org 
> *Sent:* Monday, September 19, 2016 11:40 PM
> *Subject:* Re: What to do wanting a 4th order Bézier?
>
>
>
> Am 19.09.2016 um 22:49 schrieb Urs Liska:
>> Am 19.09.2016 um 20:50 schrieb David Kastrup:
>>> Urs Liska  writes:
>>>
>>> [...]
>>>
>>> You are working with slopes here.  Don't.  They don't support vertical
>>> lines.
>>>
>> Yes, that's what I realized ...
>>
>>> Please take a look at the recently added functions
>>>
>>>ly:length ly:angle ly:directed
>>>
>>> They will usually make it easy to do the operations you want.  In
>>> particular ly:directed can also use a vector as a direction without ever
>>> calculating its angle.
>> Thanks! From looking at the docs it seems they'll do exactly what I want
>> (and had partially implemented in Scheme). Can't wait to return to my
>> LilyPond computer :-)
>>
>
> I think I now have it in a state where we can work from. The angle
> of the inflection is now given as an angle relative to the line
> connecting the end points of the whole slur. While an angle
> relative to the horizontal line would be somewhat more
> straightforward I think this approach is more robust against
> changes (for example when the slur is cross-staff and the
> staff-staff distance changes).
>
> TODO:
>
>   * support more than two segments
> (shouldn't be *that* difficult, just tedious and slightly
> complex)
>   * support broken slurs
> (each sibling should be togglable between multi-segment or
> not, and it should be \shape-able)
>   * support Slur, PhrasingSlur and Tie (like \shape)
>   * specify shapes as polar coordinates (or all options that
> \shapeII has)
>
> The code is now at
> 
> https://github.com/openlilylib/snippets/tree/compound-slur/notation-snippets/shaping-bezier-curves
>
> Best
> Urs
>
> 
> ___
> 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


time signature is printed after first bar line

2016-09-20 Thread Roderick Mackenzie
Hallo,

I am still trying to print bagpipe tunes with Lilypond, with a repeat
bar at the start of each part. I am almost there; my only problem now
is that the time signature is printed after the first bar line (the
repeat bar line).

Here is a simple script:

\version "2.16.2"
\include "bagpipe.ly"
\layout {
  indent = 0.0\cm
  \context { \Score \remove "Bar_number_engraver" }
}

{
\hideKeySignature
\time 2/4
\bar "|:"
\repeat volta 2 {
\partial 8 e8
c4 e
c e
c a8
}

}

* end of script *

How do I get the time signature to print before the first bar line?

Roddy


basic.pdf
Description: Adobe PDF document
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Write a custom backend?

2016-09-20 Thread Paul

On 09/20/2016 10:38 AM, Mathieu Demange wrote:


now I'm simply looking for a way to put extra attributes in  tags.


Hi Mathieu, Look no further:

https://sourceforge.net/p/testlilyissues/issues/4974/

:-)  I finished working on this over the weekend and submitted a patch.  
So it should just be a matter of time before it makes its way into LilyPond.


Cheers,
-Paul

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


Re: cross staff slur

2016-09-20 Thread Simon Albrecht

Hi Ming,

On 20.09.2016 14:32, MING TSANG wrote:

hi, lilyponders:
I have difficulty to generate the following by lilypond v2.19.47
1.  in clef bass bar2  I cannot generate " f'2. "-- it warns bar 
check, i can only make it " f'2 "


You need parallel music expressions.

2.  in clef bass bar3  I don't know how to code the " d'4 "   -- why 
produces cross staff beam?


The d' also requires a parallel music expression; the cross staff beam 
is produced because in 4/4, eigth notes are normally beamed by half bar. 
If you really don’t want the beam, you can either use manual beaming [] 
or adjust automatic behaviour by \set Timing.beamExceptions = #'() or by 
adjusting the default for 4/4 with \overrideTimeSignatureSettings. This 
is described in NR 1.2.4, ‘Setting automatic beam behavior’.



3.  starting slur is too high bar 2


Try \shape.

HTH, Simon
\version "2.19.47"
\language "english"
expandVar =
#(define-music-function (xx start stop) (list? index? index?)
   #{ #@(map (lambda (i) #{ $xx . #i #}) (iota (- stop start -1) start)) #})


#(set-global-staff-size 18.0)

\header {
  title = "無盡感恩"
  subtitle = "Forever Thanks"
  composer = "曲詞 : 鄭鎧賢"
  arranger = "编 : 余遠淳"
}

\layout {
  \context {
\Voice
\consists "Melody_engraver"
\override Stem #'neutral-direction = #'()
  }
}

global = {
  \key ef \major
  \numericTimeSignature
  \time 4/4
  \partial 4
  \tempo "Andante" 4=86
}



rht.116 = { bf''8 g'' |\break }

rht.117 = { \time 2/4 2 | }
rht.118 = { \time 4/4 r4 s2. }
rht.119 = { r4 s2. | }
rht.120 = { 2  | }
rht.121 = { s1 | }
rht.122 = { s1 | }
right =  {
  \global
  \expandVar \rht 116 122
}

lft.116 = { r4 | }
lft.117 = { \time 2/4 2 | }
lft.118 = <<
  { \time 4/4 s4 f'2. | }
  \new Voice { ef8( bf \change Staff = right r8 g'8 2) | }
>>
lft.119 = <<
  { s4 d' 2 }
  \new Voice { c8( g \change Staff = right g'8 c'' 2) }
>>
lft.120 = { 2  |}
lft.121 = { ef,16( bf, ef f g bf ef' f' \change Staff = right g'16 bf' ef'' f'' g'' bf'' ef''' f''' |  }
lft.122 = { g'''1\fermata) |}
left =  {
  \global
  \expandVar \lft 116 122
}



pianoPart = \new PianoStaff \with {
  instrumentName = "Piano"
} <<
  \new Staff = "right" \with {
midiInstrument = "acoustic grand"
  } \right
  \new Staff = "left" \with {
midiInstrument = "acoustic grand"
  } {  \clef bass  \left }
>>

\score {
  <<
\pianoPart
  >>
  \layout { }

}

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


Re: Write a custom backend?

2016-09-20 Thread Urs Liska
Hi Matheiu,

is it possible that you didn't notice this:
https://codereview.appspot.com/308430043/?

Urs


Am 20.09.2016 um 16:38 schrieb Mathieu Demange:
>> The latter seem to be dealt with sufficiently by working with Midi and
>> external tool chains: after all, the main point of LilyPond is turning a
>> music description to an equivalent output. Though _if_ outputs can
>> reasonably easy be defined in Scheme, being able to control most of the
>> external tool chain from inside a LilyPond file in a manner synchronized
>> to the music might make for a nicer interface.
> That's my motivation. I don't want to turn LilyPond into what it has not been 
> intended to be, but by simply having a more meaningful output, it could 
> really help external tools. I'm heavily focused on the SVG output, here. Paul 
> made a great contribution to lilypond-html-live-score by re-implementing the 
> whole timing calculation in scheme and now I'm simply looking for a way to 
> put extra attributes in  tags. I tried to (re)define 
> start-enclosing-node-id but id doesn't work as I believe backend scheme code 
> might be loaded after input files have been processed. Thus my question about 
> custom backends. But if someone knows how to redefine a backend scheme 
> function, please let me know :)
>
> Cheers,
>
> Mathieu
>
> ___
> 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: Write a custom backend?

2016-09-20 Thread Mathieu Demange

> The latter seem to be dealt with sufficiently by working with Midi and
> external tool chains: after all, the main point of LilyPond is turning a
> music description to an equivalent output. Though _if_ outputs can
> reasonably easy be defined in Scheme, being able to control most of the
> external tool chain from inside a LilyPond file in a manner synchronized
> to the music might make for a nicer interface.

That's my motivation. I don't want to turn LilyPond into what it has not been 
intended to be, but by simply having a more meaningful output, it could really 
help external tools. I'm heavily focused on the SVG output, here. Paul made a 
great contribution to lilypond-html-live-score by re-implementing the whole 
timing calculation in scheme and now I'm simply looking for a way to put extra 
attributes in  tags. I tried to (re)define start-enclosing-node-id but id 
doesn't work as I believe backend scheme code might be loaded after input files 
have been processed. Thus my question about custom backends. But if someone 
knows how to redefine a backend scheme function, please let me know :)

Cheers,

Mathieu

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


Re: What to do wanting a 4th order Bézier?

2016-09-20 Thread Trevor Daniels
Impressive work, Urs!  Kudos!

Trevor

  - Original Message - 
  From: Urs Liska 
  To: lilypond-user@gnu.org 
  Sent: Monday, September 19, 2016 11:40 PM
  Subject: Re: What to do wanting a 4th order Bézier?







  Am 19.09.2016 um 22:49 schrieb Urs Liska:

Am 19.09.2016 um 20:50 schrieb David Kastrup:
Urs Liska  writes:

[...]

You are working with slopes here.  Don't.  They don't support vertical
lines.

Yes, that's what I realized ...

Please take a look at the recently added functions

   ly:length ly:angle ly:directed

They will usually make it easy to do the operations you want.  In
particular ly:directed can also use a vector as a direction without ever
calculating its angle.
Thanks! From looking at the docs it seems they'll do exactly what I want
(and had partially implemented in Scheme). Can't wait to return to my
LilyPond computer :-)


  I think I now have it in a state where we can work from. The angle of the 
inflection is now given as an angle relative to the line connecting the end 
points of the whole slur. While an angle relative to the horizontal line would 
be somewhat more straightforward I think this approach is more robust against 
changes (for example when the slur is cross-staff and the staff-staff distance 
changes).

  TODO:

a.. support more than two segments
(shouldn't be *that* difficult, just tedious and slightly complex) 
b.. support broken slurs
(each sibling should be togglable between multi-segment or not, and it 
should be \shape-able) 
c.. support Slur, PhrasingSlur and Tie (like \shape) 
d.. specify shapes as polar coordinates (or all options that \shapeII has) 
  The code is now at 
https://github.com/openlilylib/snippets/tree/compound-slur/notation-snippets/shaping-bezier-curves

  Best
  Urs




--


  ___
  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: What to do wanting a 4th order Bézier?

2016-09-20 Thread Simon Albrecht

On 20.09.2016 00:40, Urs Liska wrote:

support Slur, PhrasingSlur and Tie (like \shape)


Don’t you agree that it shouldn’t be done for ties? Having such a 
complex shape for a tie seems like a really bad idea.


Best, Simon

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


Re: Horizontal alingment of lyrics hyphens?

2016-09-20 Thread Simon Albrecht

On 19.09.2016 17:48, kmg wrote:
From what I read, hyphens are always centered between syllables, so my 
question: is there a way to avoid them getting into barlines,


I use the following in my standard style sheet:

%
\version "2.19.32"
% the following layer values need to _descend_ in this order
lyric-text-layer = #-3
lyric-aux-layer = #-4
span-bar-layer = #-5

\layout {
  \context {
\Lyrics
% match LyricExtender’s thickness to that of LyricHyphen
\override LyricExtender.thickness = 1.3
% LyricHyphen and LyricExtender below LyricText,
% to prevent the whiteout from ‘biting’ the letters
\override LyricHyphen.layer = \lyric-aux-layer
\override LyricExtender.layer = \lyric-aux-layer
\override LyricHyphen.whiteout-style = #'outline
\override LyricHyphen.whiteout = 1.4
\override LyricExtender.whiteout-style = #'outline
\override LyricExtender.whiteout = 1.4
\override LyricText.layer = \lyric-text-layer
\override LyricText.whiteout = 0.2
  }
  \context {
\Score
\override SpanBar.layer = \span-bar-layer
  }
}


or align them in verses? 


That is usually not done. Centering between the syllables in each verse 
is the way to go.


HTH, Simon

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