Re: How to tie the last note of one variable to the first note of another variable?

2011-01-24 Thread Xavier Scheuer
On 24 January 2011 07:53, Jürgen Ibelgaufts juri...@gmx.de wrote:

 hi,

 maybe I'm missing something. I did not try your solution, but I suppose it
 works fine. but how would you append lyrics? \addlyrics gives a syntax error
 (unexpected \addlyrics), and \lyricsto requires different named voice
 contexts in which I could not get your solution to work.

Why different named voice contexts?
I use a single voice, I can use a single  Lyrics \lyricsto .

This works fine:

\version 2.13.46

partOne = \relative c' {
 c4 e g e~
}

partTwo = \relative c' {
 e1
 c4 e g e~
 e1
}

versePartOne = \lyricmode {
  ta ra ta taa
}

versePartTwo = \lyricmode {
  tu ru tu tuu
}


\score {
  
\new Staff {
  \tempo 4 = 120
  \new Voice = melody {
\partOne
\partTwo
  }
}
\new Lyrics \lyricsto melody {
  \versePartOne
  \versePartTwo
}
 
 \midi { }
 \layout {}
}


Cheers,
Xavier

-- 
Xavier Scheuer x.sche...@gmail.com

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


Re: Bug in ties over barlines

2011-01-24 Thread Phil Holmes
- Original Message - 
From: Jan Warchoł lemniskata.bernoulli...@gmail.com



I don't agree. *Theoretically* accidental is not needed, but if it
would be omitted, how can you tell the difference between aes~ | aes
and aes( | a) ?
In my opinion accidental here is necessary (surely it may be
parenthesized). If it's necessary, it should be printed automatically
in my opinion.



cheers,
Janek


If you use

#(set-accidental-style 'modern-cautionary)

then you get the parenthesised accidental automatically, as requested.


--
Phil Holmes



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


Re: Using lyrics in a markup

2011-01-24 Thread jakob lund
Hi

2011/1/23 jakob lund jakob.be...@gmail.com:
 2011/1/23 Jan-Peter Voigt jp.vo...@gmx.de:
 Hello and thank you Jakob, hello list,

 this piece is a great work. It compiles well in 2.13(.47 lilybuntu) and adds 
 a very useful function to lily!
 The .ly is attached again, because I think it is good to have it on the 
 devel-list.
 I would like to add it to LSR to have it in the main distro once. But it 
 doesn't compile in 2.12(.3) stable, so it can't be uploaded right now.
 What else should we do now?

 Lilypond 2.12 complains about these lines:
 ...
 #(define-markup-command (verse layout props lyrics) (ly:music?)
 #:properties ((display-nl #f)
 (make-line make-justify-markup))
 ...

 by the way: Is this #:properties(()) notation a new functionality in 2.13? I 
 haven't seen it before?

 You're probably right about the #:properties syntax -- it should be
 easy enough to swap make-line and display-nl with their default values
 (make-justify-markup resp. #f) in the macro code to make it compile in
 2.12 (which I don't have installed so I'm not gonna test it) ... ?

I realized I had 2.12 installed as well..  After removing the
#:properties stuff and adding { } to \addlyrics, the new version
compiles in both 2.12 and 2.13 (the markup looks better in the 2.12
version though; seems that in 2.13, the lines are a little too close?)


Cheers Jakob.

% \version 2.13


#(define linebreakindicator \\)

% \nl command that inserts the placeholder event into a lyrics
nl = #(make-music 'LineBreakEvent)

%% Function to extract strings from lyrics.
%  
#(define (lyrics-list lyrics)
Return only syllables and hyphens from  @code{lyrics}.
 (if (ly:music? lyrics)
 (cond 
   ((eq? (ly:music-property lyrics 'name) 'LyricEvent) 
(ly:music-property lyrics 'text))
   ((eq? (ly:music-property lyrics 'name) 'HyphenEvent) 
(list --))
   ((eq? (ly:music-property lyrics 'name) 'LineBreakEvent)
(list linebreakindicator))
   (else (let ((elt (ly:music-property lyrics 'element))
   (elts (ly:music-property lyrics 'elements)))
   (if (ly:music? elt)
   (lyrics-list elt)
   (if (null? elts)
   '()
   (map (lambda(x)
   (lyrics-list x))
elts)
 )
 '()))

#(define (flatten-nonmarkup-list x)
  Unnest list, but don't flatten markup constructs!
  (cond ((null? x) '())
((not (pair? x)) (list x))
(else (append (if (markup? (car x)) 
  (list (car x)) 
  (flatten-nonmarkup-list (car x)))
  (flatten-nonmarkup-list (cdr x))

#(define (reduce-hyphens text) 
 (let eat ((wd (car text)) (wds (cdr text)))
 (cond 
   ((null? wds) (list wd))
   ((and (equal? -- (car wds)) (not (null? (cdr wds
(eat (markup #:concat (wd (cadr wds)))
 (cddr wds)))
   (else (cons (markup wd) (eat (car wds) (cdr wds)))

#(define (split-on predicate? l) 
(let loop ((h '()) (r l))
  (cond 
((null? r)
 (if (null? h) h (list (reverse h
((predicate? (car r)) 
 (if (null? h)
 (loop h (cdr r))
 (cons (reverse h) (loop '() (cdr r)
(else 
  (loop (cons (car r) h) (cdr r))

#(define-markup-command (verse layout props lyrics) (ly:music?)
;  #:properties ((display-nl #f)
;(make-line make-justify-markup))
  Verse command that marks up a column of \\nl-separated lines
  (let* (
  ;; The first three associations replace the two commented
  ;; lines above in a (presumably?) 2.12-compatible way...
 (property (lambda (key default) 
   (let ((a (assoc key (apply append props
(if (-bool a) (cdr a) default
 (display-nl (property 'display-nl #f))
 (make-line (property 'make-line make-justify-markup))
 (split-cond? (lambda (a) 
(and (not display-nl)
 (equal? a linebreakindicator
 (list-of-lines (map 
 (lambda (l) (make-line (reduce-hyphens l)))   
 (split-on split-cond? (flatten-nonmarkup-list (lyrics-list lyrics)
)
(interpret-markup layout props (make-column-markup list-of-lines)))
)


test = \lyricmode{ 
  Du lil -- le \markup \italic fis -- \markup \italic ker \nl 
  Du \markup \italic lil -- \markup \italic le fis -- ker }

%{

  \new Voice = mel \relative c'' { \partial 4. g8 a g e c r4 r8 g' a g | f d}
  \new Lyrics \lyricsto mel \test

%}


Re: How to start translate documents without running autoconf.sh

2011-01-24 Thread Jan Nieuwenhuizen
Hi Ben,

 I translated priority 1 files to Chinese. 

That's just great; thanks!

 How can I submit to key
 person? I can not find the way.

Please send them to Francisco and read the contributor's guide;
and please send any questions you may have.  This may be just
in time to have a Chinese website for our 2.14 release -- that's
worth an item in Changes I think.

Welcome aboard as a translator!

Jan.

-- 
Jan Nieuwenhuizen jann...@gnu.org | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl  


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


Re: Using lyrics in a markup

2011-01-24 Thread Jan-Peter Voigt

Hi Jakob, hello list,

I was about to answer with my 2.12-version ;-)
It is essentially like your version (using let and assoc props ...) but 
yours is open for override extension ...

Now its posted to LSR and has to be approved.

Best regards and cheers!
Jan-Peter

On 24.01.2011 10:35, jakob lund wrote:

Hi

...

I realized I had 2.12 installed as well..  After removing the
#:properties stuff and adding { } to \addlyrics, the new version
compiles in both 2.12 and 2.13 (the markup looks better in the 2.12
version though; seems that in 2.13, the lines are a little too close?)


Cheers Jakob.


\version 2.12.3

#(define linebreakindicator \\)

% \nl command that inserts the placeholder event into a lyrics
nl = #(make-music 'LineBreakEvent)

%% Function to extract strings from lyrics.
%  
#(define (lyrics-list lyrics)
Return only syllables and hyphens from  @code{lyrics}.
(if (ly:music? lyrics)
(cond 
  ((eq? (ly:music-property lyrics 'name) 'LyricEvent) 
   (ly:music-property lyrics 'text))
  ((eq? (ly:music-property lyrics 'name) 'HyphenEvent) 
   (list --))
  ((eq? (ly:music-property lyrics 'name) 'LineBreakEvent)
   (list linebreakindicator))
  (else (let ((elt (ly:music-property lyrics 'element))
  (elts (ly:music-property lyrics 'elements)))
 (if (ly:music? elt)
 (lyrics-list elt)
 (if (null? elts)
 '()
 (map (lambda(x)
 (lyrics-list x))
  elts)
)
'()))

#(define (flatten-nonmarkup-list x)
Unnest list, but don't flatten markup constructs!
(cond ((null? x) '())
  ((not (pair? x)) (list x))
  (else (append (if (markup? (car x)) 
(list (car x)) 
(flatten-nonmarkup-list (car x)))
(flatten-nonmarkup-list (cdr x))

#(define (reduce-hyphens text) 
(let eat ((wd (car text)) (wds (cdr text)))
 (cond 
   ((null? wds) (list wd))
   ((and (equal? -- (car wds)) (not (null? (cdr wds
(eat (markup #:concat (wd (cadr wds)))
 (cddr wds)))
   (else (cons (markup wd) (eat (car wds) (cdr wds)))

#(define (split-on predicate? l) 
(let loop ((h '()) (r l))
  (cond 
((null? r)
 (if (null? h) h (list (reverse h
((predicate? (car r)) 
 (if (null? h)
 (loop h (cdr r))
 (cons (reverse h) (loop '() (cdr r)
(else 
  (loop (cons (car r) h) (cdr r))

#(define-markup-command (verse layout props lyrics) (ly:music?)
  Verse command that marks up a column of \\nl-separated lines
  (let ((display-nl (chain-assoc-get 'display-nl props #f))
(make-line (chain-assoc-get 'make-line props make-justify-markup)))
   (let*
 ((split-cond? (lambda (a) (and 
  (not display-nl )
  (equal? a linebreakindicator
  (list-of-lines (map 
  (lambda (l) (make-line (reduce-hyphens l)))   
  (split-on split-cond? (flatten-nonmarkup-list (lyrics-list lyrics)
 )
 (interpret-markup layout props (make-column-markup list-of-lines)))
))


test = \lyricmode {
  Du lil -- le \markup \italic fis -- \markup \italic ker \nl 
  Du \markup \italic lil -- \markup \italic le fis -- ker }

textA = \lyricmode {
  \set stanza = 1.
  Toch -- ter __ Zi -- on, freu -- e dich, \nl
  jauch -- ze laut, Je -- ru -- sa -- lem. \nl
  Sieh, __ dein Kö -- nig kommt zu dir, \nl
  ja, __ er kommt, der Frie -- de -- fürst. \nl
  Toch -- ter Zi -- on, freu -- e dich, \nl
  jauch -- ze laut, Je -- ru -- sa -- lem.
}

\bookpart {
  \score {

  \relative c'' { \partial 4. g8 a g e c r4 r8 g' a g | f d r4 }
  \addlyrics { \test }

  }
  \markup { \line { \bold { With line breaks (no overrides) } } }
  \markup { \verse #test }
  \markup { \line { \bold { With visible line break character } } }
  \markup { \override #'(display-nl . #t) \verse #test }
  
  \score {
\relative c'' {
  \time 2/2
  \key ees \major
  \dynamicUp \autoBeamOff
  
  bes2 g4.( aes8) | bes2 ees, | f8([ g aes bes] aes4) g | f1 |
  g8([ aes bes c] bes4) bes | ees2 bes | aes4( g8[ aes] f4.) ees8 | ees2. r4 |
  g8([ f g aes] g4) g | f2 ees | aes4( g f) ees | d1 |
  ees8([ d ees f] ees4) ees | c'2 a! | bes4( c8[ bes] a!4.) bes8 | bes2.\ r4\! |
  bes2 g4.( aes8) | bes2 ees, | f8([ g aes bes] aes4) g | f1 |

Re: Using lyrics in a markup

2011-01-24 Thread Jan-Peter Voigt

Hi,

On 24.01.2011 13:22, jakob lund wrote:

By the way, the first version (no line breaks) is here
http://lsr.dsi.unimi.it/LSR/Item?id=744
might as well just update that entry if possible?
This has to be done by an LSR-administrator ;-) If someone is able and 
willing to do this, go ahead and decide wether to take Jakobs or my 
version ;-)


Cheers,
Jan-Peter.

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


Re: Using lyrics in a markup

2011-01-24 Thread jakob lund
Hi

2011/1/24 Jan-Peter Voigt jp.vo...@gmx.de:
 Hi Jakob, hello list,

 I was about to answer with my 2.12-version ;-)
 It is essentially like your version (using let and assoc props ...) but
 yours is open for override extension ...

Why? The only difference (AFAICT) is that you did the clever thing and
used chain-assoc-get instead of reinventing the wheel like I did... I
oughtta have guessed there was already a function to do that :-)


 another question: This snippet is mostly your work, but I posted it to LSR 
 with my name. Shall I add a text:
 created by Jakob Lund or something similar?

No, never mind... And in fact, Marc wrote the first bit, if you look
up the thread :-)


Cheers

Jakob.

 Now its posted to LSR and has to be approved.

 Best regards and cheers!
 Jan-Peter

 On 24.01.2011 10:35, jakob lund wrote:

 Hi

 ...

 I realized I had 2.12 installed as well..  After removing the
 #:properties stuff and adding { } to \addlyrics, the new version
 compiles in both 2.12 and 2.13 (the markup looks better in the 2.12
 version though; seems that in 2.13, the lines are a little too close?)


 Cheers Jakob.



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


Re: Using lyrics in a markup

2011-01-24 Thread Phil Holmes
I've slightly lost the plot of what's needed here.  There's 
http://lsr.dsi.unimi.it/LSR/Item?id=744 which I think could be edited for 
the new improvements, and there's an improved version waiting for approval. 
Please let me know if the old version is to be edited or deleted, and 
whether the new version should be approved.


--
Phil Holmes



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


Re: Using lyrics in a markup

2011-01-24 Thread Jan-Peter Voigt

Hello Phil,

I posted the improved version this morning with a bit more text about 
the possible overrides. So you can approve that and delete the old one 
or copy either the code of the new snippet (or the attached one) to the 
old and delete the new one. ... huh???

OK, I try once more ;-)

- Delete old snippet and approve new one
or
- update old snippet with code from the new one (or the attached) and 
delete pending new snippet.


The uploaded code and the attached differ only very slightly in the 
verse-markup-command. (howto get override props)


Cheers,
Jan-Peter


On 24.01.2011 15:12, Phil Holmes wrote:
I've slightly lost the plot of what's needed here.  There's 
http://lsr.dsi.unimi.it/LSR/Item?id=744 which I think could be edited 
for the new improvements, and there's an improved version waiting for 
approval. Please let me know if the old version is to be edited or 
deleted, and whether the new version should be approved.


--
Phil Holmes





\version 2.12.3

#(define linebreakindicator \\)

% \nl command that inserts the placeholder event into a lyrics
nl = #(make-music 'LineBreakEvent)

%% Function to extract strings from lyrics.
%  
#(define (lyrics-list lyrics)
Return only syllables and hyphens from  @code{lyrics}.
(if (ly:music? lyrics)
(cond 
  ((eq? (ly:music-property lyrics 'name) 'LyricEvent) 
   (ly:music-property lyrics 'text))
  ((eq? (ly:music-property lyrics 'name) 'HyphenEvent) 
   (list --))
  ((eq? (ly:music-property lyrics 'name) 'LineBreakEvent)
   (list linebreakindicator))
  (else (let ((elt (ly:music-property lyrics 'element))
  (elts (ly:music-property lyrics 'elements)))
 (if (ly:music? elt)
 (lyrics-list elt)
 (if (null? elts)
 '()
 (map (lambda(x)
 (lyrics-list x))
  elts)
)
'()))

#(define (flatten-nonmarkup-list x)
Unnest list, but don't flatten markup constructs!
(cond ((null? x) '())
  ((not (pair? x)) (list x))
  (else (append (if (markup? (car x)) 
(list (car x)) 
(flatten-nonmarkup-list (car x)))
(flatten-nonmarkup-list (cdr x))

#(define (reduce-hyphens text) 
(let eat ((wd (car text)) (wds (cdr text)))
 (cond 
   ((null? wds) (list wd))
   ((and (equal? -- (car wds)) (not (null? (cdr wds
(eat (markup #:concat (wd (cadr wds)))
 (cddr wds)))
   (else (cons (markup wd) (eat (car wds) (cdr wds)))

#(define (split-on predicate? l) 
(let loop ((h '()) (r l))
  (cond 
((null? r)
 (if (null? h) h (list (reverse h
((predicate? (car r)) 
 (if (null? h)
 (loop h (cdr r))
 (cons (reverse h) (loop '() (cdr r)
(else 
  (loop (cons (car r) h) (cdr r))

#(define-markup-command (verse layout props lyrics) (ly:music?)
  Verse command that marks up a column of \\nl-separated lines
  (let ((display-nl (chain-assoc-get 'display-nl props #f))
(make-line (chain-assoc-get 'make-line props make-justify-markup)))
   (let*
 ((split-cond? (lambda (a) (and 
  (not display-nl )
  (equal? a linebreakindicator
  (list-of-lines (map 
  (lambda (l) (make-line (reduce-hyphens l)))   
  (split-on split-cond? (flatten-nonmarkup-list (lyrics-list lyrics)
 )
 (interpret-markup layout props (make-column-markup list-of-lines)))
))


test = \lyricmode {
  Du lil -- le \markup \italic fis -- \markup \italic ker \nl 
  Du \markup \italic lil -- \markup \italic le fis -- ker }

textA = \lyricmode {
  \set stanza = 1.
  Toch -- ter __ Zi -- on, freu -- e dich, \nl
  jauch -- ze laut, Je -- ru -- sa -- lem. \nl
  Sieh, __ dein Kö -- nig kommt zu dir, \nl
  ja, __ er kommt, der Frie -- de -- fürst. \nl
  Toch -- ter Zi -- on, freu -- e dich, \nl
  jauch -- ze laut, Je -- ru -- sa -- lem.
}

\bookpart {
  \score {

  \relative c'' { \partial 4. g8 a g e c r4 r8 g' a g | f d r4 }
  \addlyrics { \test }

  }
  \markup { \line { \bold { With line breaks (no overrides) } } }
  \markup { \verse #test }
  \markup { \line { \bold { With visible line break character } } }
  \markup { \override #'(display-nl . #t) \verse #test }
  
  \score {
\relative c'' {
  \time 2/2
  \key ees \major
  \dynamicUp \autoBeamOff

Re: Using lyrics in a markup

2011-01-24 Thread Phil Holmes
- Original Message - 
From: Jan-Peter Voigt jp.vo...@gmx.de

To: Phil Holmes m...@philholmes.net
Cc: jakob lund jakob.be...@gmail.com; Lilypond-User 
lilypond-user@gnu.org

Sent: Monday, January 24, 2011 2:33 PM
Subject: Re: Using lyrics in a markup



Hello Phil,

I posted the improved version this morning with a bit more text about
the possible overrides. So you can approve that and delete the old one
or copy either the code of the new snippet (or the attached one) to the
old and delete the new one. ... huh???
OK, I try once more ;-)

- Delete old snippet and approve new one
or
- update old snippet with code from the new one (or the attached) and
delete pending new snippet.

The uploaded code and the attached differ only very slightly in the
verse-markup-command. (howto get override props)

Cheers,
Jan-Peter



I've updated the old snippet with the new code and description.

--
Phil Holmes



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


Re: How to tie the last note of one variable to the first note ofanother variable?

2011-01-24 Thread Robin Bannister

Xavier Scheuer wrote:

[...] James Bailey wrote: 

I haven't checked it, but they're probably in different voice contexts.
Possible explicity doing a \new Voice = first and \context Voice = first
where appropriate may solve the problem.


Yes, or simply putting all in a \new Voice works: 
  
  
The idea being to obviate the implicit Voice creation?  
But this is surely not the whole story; 
reformulating the variables with absolute pitches works too.   
  
So is it due to an initial \relative messing up the automagic dataflow? 
  
And does the following snippet indicate an additional aspect? 
The output makes it apparent why the (first) tie might be suppressed, 
but I would very much like to understand what is going on here.  
  
  
{

 \relative c' b1
 \partOne
 \partTwo
 b1
 \partOne
 \partTwo
}
  
  
Cheers, 
Robinattachment: absolutelybetter.png___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: How to tie the last note of one variable to the first note of another variable?

2011-01-24 Thread Jürgen Ibelgaufts

Hi Xavier,

I gave it a try and it seems that my thoughts were too complicated, your
code looks very clean. But... in my case having \voiceOne and \voiceTwo and
having them printed in different colors, things get confusing very quickly,
and it seems that I still can't omit having several Voices. Many thanks for
your advice anyway, it helps me getting rid of many unnecessary lines of
code.

Cheers
Jürgen
-- 
View this message in context: 
http://old.nabble.com/How-to-tie-the-last-note-of-one-variable-to-the-first-note-of-another-variable--tp30737881p30748073.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.


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


Re: Using lyrics in a markup

2011-01-24 Thread Marc Hohl

Am 24.01.2011 15:33, schrieb Jan-Peter Voigt:

Hello Phil,

I posted the improved version this morning with a bit more text 
about the possible overrides. So you can approve that and delete the 
old one or copy either the code of the new snippet (or the attached 
one) to the old and delete the new one. ... huh???

OK, I try once more ;-)

- Delete old snippet and approve new one
or
- update old snippet with code from the new one (or the attached) and 
delete pending new snippet.


The uploaded code and the attached differ only very slightly in the 
verse-markup-command. (howto get override props)


Whatever - looks great! Thanks to you both, Jan-Peter and Jakob for 
improving this stuff,

it will be very helpful for my current project!

Regards,

Marc


Cheers,
Jan-Peter


On 24.01.2011 15:12, Phil Holmes wrote:
I've slightly lost the plot of what's needed here.  There's 
http://lsr.dsi.unimi.it/LSR/Item?id=744 which I think could be edited 
for the new improvements, and there's an improved version waiting for 
approval. Please let me know if the old version is to be edited or 
deleted, and whether the new version should be approved.


--
Phil Holmes






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



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


Re: Extender style

2011-01-24 Thread Marc Hohl

Am 24.01.2011 04:24, schrieb Robert Stoddard:

Undoubtedly, this is a simple request for those who understand Scheme...

I don't think so, see

http://lists.gnu.org/archive/html/lilypond-user/2008-05/msg00254.html



How can I change the lyric extender from a solid line to a dotted one? 
 Nothing in the LSR or manuals discusses this.




Digging through the sources, it looks as if the LyricExtender is hard-coded
in the sources, so the is no easy way to change it, but perhaps you can
(mis)use a text spanner?

http://lists.gnu.org/archive/html/lilypond-user/2010-12/msg00797.html

With text spanners, customized dashed lines are easily created.

HTH,

Marc

Thanks,
Robert
www.bostonsing.org http://www.bostonsing.org


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



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


Re: Extender style

2011-01-24 Thread Marc Hohl

Am 24.01.2011 21:24, schrieb Marc Hohl:

[...]
With text spanners, customized dashed lines are easily created.
Oops, you needed dotted lines, not dashed ones ... sorry, I have no clue 
at the moment.




HTH,

Marc

Thanks,
Robert
www.bostonsing.org http://www.bostonsing.org


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



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




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


Understanding herd of curly braces

2011-01-24 Thread Seth Williamson
I have turned out a few simple jobs with LilyPond, mainly simple copying
jobs just for practice and -- as a practical matter -- a few pieces that I
needed to transpose into another key.

However, as I look at LilyPond code generated by others, it's not obvious to
me (usually near the end of a document) what each closing curly brace refers
to.

Am I even SUPPOSED to be able to figure that out by looking at all the
closed curly braces, usually at different indentations on different lines?
 Are you supposed to see these things and know to what they apply in the
code above?  Is there a logic here that I'm missing?

I am trying to figure out the logic of why the close braces (in particular)
appear where they are and at a given indentation.  So far there's nothing
intuitive about it.

Such documentation as I've been able to find at the LilyPond site and
elsewhere has been of limited utility in this regard.

Is this something you just learn by doing?  Or can anybody help me out?

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


Re: Understanding herd of curly braces

2011-01-24 Thread Michael Ellis
Hi Seth,

It sounds as though you've not had previous exposure to programming
languages where nested braces (curly and otherwise) are common.  The
short answer to your question is that the braces identify which pieces
of text go with which command.   The indentation levels are only
significant in the sense that they make the file easier for humans to
read.  The computer doesn't care as long as the opening and closing
braces are matched.

Most programmers use special text editors with features that help you
see which opening and closing braces belong with each other, e.g.  if
you put the cursor on a particular brace, the editor will highlight
its mate.  I won't presume to recommend a particular editor to you --
better to find a friend who's a programmer and get him/her to help you
choose one and get started using it.

I know this probably isn't much help, but at least it may point you in
the right direction.

Cheers,
Mike


On Mon, Jan 24, 2011 at 4:07 PM, Seth Williamson hazelmo...@gmail.com wrote:

 I have turned out a few simple jobs with LilyPond, mainly simple copying jobs 
 just for practice and -- as a practical matter -- a few pieces that I needed 
 to transpose into another key.
 However, as I look at LilyPond code generated by others, it's not obvious to 
 me (usually near the end of a document) what each closing curly brace refers 
 to.
 Am I even SUPPOSED to be able to figure that out by looking at all the closed 
 curly braces, usually at different indentations on different lines?  Are you 
 supposed to see these things and know to what they apply in the code above?  
 Is there a logic here that I'm missing?
 I am trying to figure out the logic of why the close braces (in particular) 
 appear where they are and at a given indentation.  So far there's nothing 
 intuitive about it.
 Such documentation as I've been able to find at the LilyPond site and 
 elsewhere has been of limited utility in this regard.
 Is this something you just learn by doing?  Or can anybody help me out?
 Seth Williamson
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 http://lists.gnu.org/mailman/listinfo/lilypond-user


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


Re: Understanding herd of curly braces

2011-01-24 Thread James Bailey

On Jan 24, 2011, at 10:07 PM, Seth Williamson wrote:

 I have turned out a few simple jobs with LilyPond, mainly simple copying jobs 
 just for practice and -- as a practical matter -- a few pieces that I needed 
 to transpose into another key.
 
 However, as I look at LilyPond code generated by others, it's not obvious to 
 me (usually near the end of a document) what each closing curly brace refers 
 to.
 
 Am I even SUPPOSED to be able to figure that out by looking at all the closed 
 curly braces, usually at different indentations on different lines?  Are you 
 supposed to see these things and know to what they apply in the code above?  
 Is there a logic here that I'm missing?
 
 I am trying to figure out the logic of why the close braces (in particular) 
 appear where they are and at a given indentation.  So far there's nothing 
 intuitive about it.
 
 Such documentation as I've been able to find at the LilyPond site and 
 elsewhere has been of limited utility in this regard.
 
 Is this something you just learn by doing?  Or can anybody help me out?
 
 Seth Williamson

Because this is something not limited to lilypond, the documentation in 
lilypond is rather scant on the subject. Editors of programs which use braces 
extensively usually have features to make indentation and bracket matching more 
transparent and easier to use. They are also usually highly modifiable, and 
each person learns and finds a method that works for him. There are some 
suggested editors for lilypond, and each of those should have some means of 
making understanding indentation and brackets (and matching them) more 
transparent and easy to understand.

Most of these programs should have a way of easily jumping between matching 
brackets, and adjusting the indentation of a region.

If you haven't yet, I highly recommend reading through the learning manual, 
aside from the ins and outs of how lilypond works, it also has some helpful 
tips on how to organize brackets and indentation in your own files. (At least, 
it did the last time I read it.)

Hope this helps,

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


Re: Understanding herd of curly braces

2011-01-24 Thread Nick Payne

On 25/01/11 08:07, Seth Williamson wrote:
I have turned out a few simple jobs with LilyPond, mainly simple 
copying jobs just for practice and -- as a practical matter -- a few 
pieces that I needed to transpose into another key.


However, as I look at LilyPond code generated by others, it's not 
obvious to me (usually near the end of a document) what each closing 
curly brace refers to.


Am I even SUPPOSED to be able to figure that out by looking at all the 
closed curly braces, usually at different indentations on different 
lines?  Are you supposed to see these things and know to what they 
apply in the code above?  Is there a logic here that I'm missing?


I am trying to figure out the logic of why the close braces (in 
particular) appear where they are and at a given indentation.  So far 
there's nothing intuitive about it.


Such documentation as I've been able to find at the LilyPond site and 
elsewhere has been of limited utility in this regard.


Is this something you just learn by doing?  Or can anybody help me out?


Good programming text editors will match braces for you. Position the 
cursor on an opening or closing brace and the editor will highlight the 
corresponding closing or opening brace. I like jEdit, which does this, 
is available on any platform that supports Java, and has a 
Lilypond-specific plugin (Lilypondtool).


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


Re: Odd vertical spacing of lyrics

2011-01-24 Thread James Bailey

On Jan 19, 2011, at 7:25 PM, James Bailey wrote:

 
 On Jan 19, 2011, at 1:27 AM, Keith OHara wrote:
 …
 
 The old LilyPond collapsed everything in each system to take
 only the vertical space needed.  For lyrics, it seems that did
 pretty much the right thing. The new LilyPond will spread things
 vertically to use the space available, which reveals her 
 ignorance in how things are supposed to be attached.
 
 Lilypond lets us associate lyrics (for timing purposes, \lyricsto)
 to any voice anywhere, so to have her know whether they should go
 close to the next staff up or down seems to require a search for
 which Staff contains the associate Voice. Another approach would
 be to put a staff-affinity=#CENTER marker at the top and bottom
 of each system, so the bit of code producing that warning staff-
 affinities should only decrease would ensure that Lyrics have
 'affinity' pointing to something within their own system.
 
 …
 
 I have been meaning to work on that centering-lyrics snippet
 (and will not be hurt if somebody else steals the job) to try
 to boil down the complicated overrides into a small useful set
 of predefines, so we can just say: \lyricAttachDown or 
 \lyricsCenter or \lyricsCollapse and remain blissfully ignorant
 of the complexity underneath.

After some fiddling, apparently, all I needed to do was add \override 
VerticalAxisGroup #'staff-affinity = #CENTER to the main lyrics. That solved 
all of my problems. I won't even pretend to understand what exactly the 
affinities do, but it worked for me.
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user