Re: Vertically centering lyrics between two staves?

2013-08-21 Thread Ted Walther
Thank you Carl, that is a perfect example.  For me, the gap on the right
hand side because of the forced break breaks the flow.  Also takes up more
space.  If I force breaks it is ok, but I prefer compact music.

Sounds like we are working on something similar, Carl.  I'm porting the
Reactor Core Hymn repository http://hymns.reactor-core.org/ over to
http://beautifulhymns.org/  Right now I'm doing what you're doing, but I'm
switching over to using a LISP framework with Django templates.  The LISP
framework lets me print out the 4 parts separately, and generate music
separately, etc.  One thing I'm tackling is this: for MIDI output, on some
verses you want two notes, because the word has two phrases, but in other
verses you want to respect the tie between two notes because there is just
one phrase.  So in the music, I insert some of my own codes that are
interpreted by the LISP framework: (tie print 1 3)  Would insert the ~
tie into the notes at that point, but only in the PDF output, and stanzas 1
and 3 of the MIDI output.  (tie) by itself just inserts ~ tie in all
stanzas and the print output.  I also added syntactic sugar for slur and
triplet (slur a b c)  (triplet a b c) generate the correct output.

I realized the need for this LISP framework when I got to some of the 5
part hymns in the Cantus Christi hymnal.  By 5 part, I mean they would have
4 verses with refrain then another four verses with a different
refrain... and another two verses to finish off!  And different melodies in
each part.  And I wanted to automate the Sacred Harp hymns as well.  And
stuff as simple as intros and outros.

Why go to all this trouble?  So that a change to the source will show up in
all generated outputs, the PDF file, the full MIDI file, the MIDI file for
each individual part, etc.  As someone who doesn't play a musical
instrument, I found it very hard to follow along when virtuosic performers
didn't follow the notes too closely.  Having the printed music and the
audible music matching perfectly really helps me with singing.

Ted



On 20 August 2013 20:46, Carl Peterson carlopeter...@gmail.com wrote:

 On Tue, Aug 20, 2013 at 6:02 PM, Eluze elu...@gmail.com wrote:

 Ted Walther wrote
  Another problem with that snippet is the amount to drop.  With a good
  centering command, it is centered.  But if I alter the font size, etc,
 the
  amount of raising and dropping needed to center the lyrics will alter.
  How
  can I predict that without a lot of kludgy code?  Again, I'm generating
  lilypond code from templates.  I can compensate for some complexity, but
  the simpler the better.

 it would be easier to talk about a real example - can you provide a scan
 or
 similar of what you'd like to get!?

 thanks
 Eluze


 See the refrain in http://www.hymnary.org/page/fetch/WASH1957/264/low for
 an example of what Ted's talking about.

 ___
 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: How to force a superfluous CombineTextScript to be printed?

2013-08-21 Thread Dominic
Thanks Ian, I'll try that.



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/How-to-force-a-superfluous-CombineTextScript-to-be-printed-tp149514p149574.html
Sent from the User mailing list archive at Nabble.com.

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


How to tweak/override the individual Glissando objects in a chord?

2013-08-21 Thread Dominic
Hello all, sorry for the frequent posting but I'm learning a lot!

Here is a small example:
/\relative c' { a'' b c1 \glissando c, d e1 }/

If I wanted to modify those glissando lines (e.g. move one of them slightly
lower), how would I go about doing that without affecting the other two?

/\relative c''' {
\once \override Glissando.extra-offset = #'(0 . -1)
a'' bes c1 \glissando c, d e1
}
/ affects all of them (of course), as does:

/a'' bes c1 -\tweak extra-offset #'(0 . -1) \glissando c, d e1/

/a'' \tweak extra-offset #'(0 . -1) bes c1 \glissando c, d e1/
moves the note itself, but

/a'' \tweak Glissando.extra-offset #'(0 . -1) bes c1 \glissando c, d e1/
has no effect.

What is the correct syntax for accessing the individual Glissando lines
separately?

Cheers everyone!

Dominic



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/How-to-tweak-override-the-individual-Glissando-objects-in-a-chord-tp149575.html
Sent from the User mailing list archive at Nabble.com.

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


Re: How to tweak/override the individual Glissando objects in a chord?

2013-08-21 Thread Janek Warchoł
Hi,

2013/8/21 Dominic dominicirv...@gmail.com:
 Hello all, sorry for the frequent posting

No problem!  I've noticed that you write excellent descriptive email
subjects - that's very good (and that's why i looked at this email) :)

 Here is a small example:
 /\relative c' { a'' b c1 \glissando c, d e1 }/

 If I wanted to modify those glissando lines (e.g. move one of them slightly
 lower), how would I go about doing that without affecting the other two?

Unfortunately there is no user-level syntax for this - you have to
write a Scheme function that will hook into formatting process.
Fortunately, i found an example (in Lily's regression tests
http://www.lilypond.org/doc/v2.17/input/regression/collated-files.html)
and was easy to modify it to do what you want:

\relative c' {
  \once \override Voice.Glissando.extra-offset =
#(lambda (grob)
   (if (= 1 (ly:grob-property grob 'glissando-index)) '(0.8 . 0.3)
'(0 . 0)))
  a'' b c1 \glissando c, d e1
}

best,
Janek

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


Re: Combining graphics and text in one stencil?

2013-08-21 Thread Mark Polesky
David Kastrup wrote:
 It's called interpret-markup and you obviously need 
 layout and props for it.  One variant that gets them
 itself from a grob is grob-interpret-markup.

Thank you.  It was right under my nose but I didn't 
understand it; and now I do.

- Mark

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


Re: How to tweak/override the individual Glissando objects in a chord?

2013-08-21 Thread Thomas Morley
2013/8/21 Janek Warchoł janek.lilyp...@gmail.com:
 Hi,

 2013/8/21 Dominic dominicirv...@gmail.com:
 Hello all, sorry for the frequent posting

 No problem!  I've noticed that you write excellent descriptive email
 subjects - that's very good (and that's why i looked at this email) :)

 Here is a small example:
 /\relative c' { a'' b c1 \glissando c, d e1 }/

 If I wanted to modify those glissando lines (e.g. move one of them slightly
 lower), how would I go about doing that without affecting the other two?

 Unfortunately there is no user-level syntax for this - you have to
 write a Scheme function that will hook into formatting process.
 Fortunately, i found an example (in Lily's regression tests
 http://www.lilypond.org/doc/v2.17/input/regression/collated-files.html)
 and was easy to modify it to do what you want:

 \relative c' {
   \once \override Voice.Glissando.extra-offset =
 #(lambda (grob)
(if (= 1 (ly:grob-property grob 'glissando-index)) '(0.8 . 0.3)
 '(0 . 0)))
   a'' b c1 \glissando c, d e1
 }

 best,
 Janek



Hi Dominic,

below a more elaborated function I made some time ago (version
2.15.39), still working up to 2.17.24.
It uses 'glissando-index like the regtest Janek mentioned already.
Using 2.17.24 you'll see a padding/collision-issue even with the
untweaked glissando.
Probably a bug.

\version 2.15.39

#(define (radians-degree radians)
  (/ (* radians 180) PI))

#(define ((gliss-plus-text padding text) grob)
  (let* ((text-stencil (grob-interpret-markup grob text))
 (spanner-stencil (ly:line-spanner::print grob))
 (left-bound-info (ly:grob-property grob 'left-bound-info))
 (y-left (cdar left-bound-info))
 (right-bound-info (ly:grob-property grob 'right-bound-info))
 (y-right (cdar right-bound-info))
 (slant (if ( y-right y-left) 1 -1))
 (spanner-stencil-x-length
(interval-length (ly:stencil-extent spanner-stencil X)))
 (spanner-stencil-y-length
(interval-length (ly:stencil-extent spanner-stencil Y)))
 (alpha
(radians-degree
  (atan (/ spanner-stencil-y-length spanner-stencil-x-length
 (spanner-center-X
(interval-center (ly:stencil-extent spanner-stencil X)))
 (label-center-X (interval-center (ly:stencil-extent text-stencil X
  (ly:stencil-combine-at-edge
spanner-stencil
Y UP
(ly:stencil-translate
  (ly:stencil-rotate text-stencil (* slant alpha) 0 0)
  (cons (- spanner-center-X label-center-X) 0))
(+ (* -0.5 spanner-stencil-y-length) padding

glissTweak =
#(define-music-function (parser location lst)(pair?)
#{
   \once \override Glissando #'after-line-breaking =
  #(lambda (grob)
(let ((gliss-count (ly:grob-property grob 'glissando-index)))
(map (lambda (x)
  (let ((gliss-nmbr (car x))
(property-value-alist (cdr x)))
(if (eq? gliss-nmbr gliss-count)
  (map
(lambda (y) (ly:grob-set-property! grob (car y) (cdr y)))
property-value-alist)
  #f)))
; $lst))) % for Version 2.14.2
  lst)))
   $(make-music 'EventChord 'elements (list (make-music 'GlissandoEvent)))
#})

tweakedGliss = {
\once \override Glissando #'minimum-length = #8
\once \override Glissando #'springs-and-rods =
  #ly:spanner::set-spacing-rods
}

\relative c' {
\override TextScript #'font-size = #-2

c e g bes d2\glissando^\no tweaks\
d, a' fis' c' e'

\tweakedGliss
\glissTweak
  #`((0 . ((color . ,red)
   (normalized-endpoints . (0 . 0.8))
   (stencil . ,(gliss-plus-text -1.8
 (markup #:italic #:fontsize -8 gliss.)
 (1 . ((style . zigzag)))
 (2 . ((style . trill)
   (color . (0.5 0.5 0.5
 (3 . ((style . dashed-line)))
 (4 . ((stencil . ,(gliss-plus-text 0
 (markup #:italic #:fontsize -8 gliss.)))
   (normalized-endpoints . (0 . 0.7))
   (color . ,green
c' e g bes d2^\some tweaks\
d, a' fis' c' e'

\once \override Glissando #'(bound-details right arrow) = ##t
\glissTweak
  #`((0 . ((style . dashed-line)
   (normalized-endpoints . (0 . -2.1
 (1 . ((stencil . #f)))
 (2 . ((stencil . #f)))
 (3 . ((stencil . #f)))
 (4 . ((style . dashed-line)
   (normalized-endpoints . (0 . -1.5)
c' e g bes d2^\some other tweaks\
d, a' fis' c' e'

}


Please note: I merely copied and pasted it from an old file and did no
revision so far, if you encounter any problem, please shout.
Attached image was created with 2.15.39

HTH,
  Harm
attachment: 

a script for building multiple independent lilyponds from source

2013-08-21 Thread Janek Warchoł
Hi all,

every now and then many of us need to use different versions of
LilyPond - this is especially true for developers.  In fact, most
developers usually want many concurrent LilyPond versions built from
the source code.

It was my dream for more than a year to automate the process of
compiling custom LilyPonds from source code in a way that would allow
to use these versions completely independently, and at the same time
have them linked together.  I think that i've finally succeeded -
attached is a script (build-lily.sh) that does just this.

I think that the script should be user-friendly enough to enable
non-developers easily build custom (i.e. unreleased) versions of
lilypond for themselves, without having to learn Git or any such
things - you just need to run a script, and then you can make this new
lilyponds available to Frescobaldi.  (Unfortunately LilyPond cannot be
built on Windows, you need Linux for that - but you could install one
in a virtual machine).

Detailed instructions are in the scrpit itself, you can see them by
running the script with '-h' option.

This script has proven itself very helpful in my daily lilypond work -
that's why i decided to share it with you.  Of course, i recommend
that non-technical users wait until experienced developers check if
i hadn't made any mistakes :)

cheers,
Janek

PS for those that don't have a clone of LilyPond source code yet, you
can use attached grab-lily-sources.sh (it's written for Ubuntu,
Debian and other systems that use apt-get.  Building script itself
should work with any major Linux distribution).

PPS you can find my repository containing this script here:
https://github.com/janek-warchol/cli-tools/tree/master/lilypond
(pull requests welcome).


grab-lily-sources.sh
Description: Bourne shell script


build-lily.sh
Description: Bourne shell script
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


question about multiple parts

2013-08-21 Thread Dave Phillips

Greetings,

I'm writing another article about the state of music notation software 
on Linux, and I decided to score some of my older pieces as focus 
projects. I'm using the Frescobaldi program on Ubuntu 12.04, everything 
is going very nicely but I do have an important question.


I transcribed parts for a trio one by one, i.e. I scored the flute, 
bassoon, and guitar parts separately, and I'd now like to conjoin them 
into a single score. Is there a nice easy way to do that, maybe with 
something like #include files ? I'll be happy if someone can just point 
me in the right direction in the documentation (which I still find 
rather confusing, btw).


I also want to take a moment to thank everyone involved with LilyPond 
and its helpers. In my opinion LP is one of the finest projects in the 
free software world, an outstanding example of collaboration and 
contribution.


Best regards,

Dave Phillips


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


Re: question about multiple parts

2013-08-21 Thread Mike Solomon

On 21 août 2013, at 15:11, Dave Phillips dlphill...@woh.rr.com wrote:

 Greetings,
 
 I'm writing another article about the state of music notation software on 
 Linux, and I decided to score some of my older pieces as focus projects. I'm 
 using the Frescobaldi program on Ubuntu 12.04, everything is going very 
 nicely but I do have an important question.
 
 I transcribed parts for a trio one by one, i.e. I scored the flute, bassoon, 
 and guitar parts separately, and I'd now like to conjoin them into a single 
 score. Is there a nice easy way to do that, maybe with something like 
 #include files ? I'll be happy if someone can just point me in the right 
 direction in the documentation (which I still find rather confusing, btw).


* flute.ly *

flute = \relative c'' { a1 }

* oboe.ly *

oboe = \relative c'' { a1 }

* full-score.ly *

\include flute.ly
\include oboe.ly


  \new Staff \flute
  \new Staff \oboe



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


Re: question about multiple parts

2013-08-21 Thread Urs Liska
And don't forget the closing angled brackets that may have been swallowed by 
email.



Mike Solomon m...@mikesolomon.org schrieb:


On 21 août 2013, at 15:11, Dave Phillips dlphill...@woh.rr.com wrote:

 Greetings,
 
 I'm writing another article about the state of music notation
software on Linux, and I decided to score some of my older pieces as
focus projects. I'm using the Frescobaldi program on Ubuntu 12.04,
everything is going very nicely but I do have an important question.
 
 I transcribed parts for a trio one by one, i.e. I scored the flute,
bassoon, and guitar parts separately, and I'd now like to conjoin them
into a single score. Is there a nice easy way to do that, maybe with
something like #include files ? I'll be happy if someone can just point
me in the right direction in the documentation (which I still find
rather confusing, btw).


* flute.ly *

flute = \relative c'' { a1 }

* oboe.ly *

oboe = \relative c'' { a1 }

* full-score.ly *

\include flute.ly
\include oboe.ly


  \new Staff \flute
  \new Staff \oboe



___
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: How to tweak/override the individual Glissando objects in a chord?

2013-08-21 Thread Thomas Morley
2013/8/21 Thomas Morley thomasmorle...@gmail.com:

 Hi Dominic,
[...]
 Using 2.17.24 you'll see a padding/collision-issue even with the
 untweaked glissando.
 Probably a bug.

Issue 2942
http://code.google.com/p/lilypond/issues/detail?id=2942

-Harm

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


Re: multiple versions on Linux

2013-08-21 Thread Janek Warchoł
Hi,

2013/7/24  bblo...@arcor.de:
 Provided is the unpacked source of the lilypond version to be installed. A 
 descripton of the steps to install lilypond one finds in INSTALL.txt. More 
 infos one may find at 
 http://lilypond.org/doc/v2.17/Documentation/contributor-big-page#compiling.

 Every version will be installed in a specific directory, say i. e. in a 
 directory with the version number. Makes sense beccause one remebers and 
 finds it easily. (Any directory name is possible as long as it is not already 
 present in the home directory.) Assumed, that one compiles from the 
 subdirectory build the first step is


I'm not sure what exactly did you mean, but i think that this thread
may be interesting to you:
http://lists.gnu.org/archive/html/lilypond-user/2013-08/msg00548.html

best,
Janek

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


currentBarnumber in layout?

2013-08-21 Thread Thomas Morley
Hi,

playing around with some code to answer a request about setting
BarNumber for the first measure at the german lilypond forum
http://www.lilypondforum.de/index.php?topic=1529.0
I've found:

\version 2.17.24

\layout {
  \context {
\Score
currentBarNumber = #10
  }
}

\new Staff
\relative c' { \bar  \repeat unfold 10 { c'1 \break } }

My naive expectation was that _every_ BarNumber would get value 10.
Though, it works.

Is this a recommended use?
If yes should it be mentioned somewhere in the docs?


Cheers,
  Harm

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


Re: shiftDuration and partial

2013-08-21 Thread Janek Warchoł
2013/7/29 David Kastrup d...@gnu.org:
 Urs Liska u...@openlilylib.org writes:

 Am 29.07.2013 17:26, schrieb Stjepan Horvat:
 hi guys..di you realize that shiftDuration doesn't convert the partial
 part..?!
 is this a bug?

 for example:

 \shiftDuration #1 #0 { c4 d e f } - c8 d e f
 but \shiftDuration #1 #0 { \partial 4 c4 d e f } - c8 d | f g

 I'm not sure, but I think that \partial 4 isn't technically a duration
 such as c4 or r4.
 If that's right it wouldn't be a but but a limitation.

 It is technically a duration, but it is stored in a partial-duration
 music property instead of a duration property and thus is not affected
 by scaling.

 Which seems somewhat weird.

I was going to file a bug report (as there was no visible follow-up to
this thread), but i found that you'd fixed this issue already - thanks
:)

Janek

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


Re: question about multiple parts

2013-08-21 Thread Dave Phillips

Hi Urs, hi Mike,

On 08/21/2013 08:25 AM, Urs Liska wrote:
And don't forget the closing angled brackets that may have been 
swallowed by email.


Which indeed were annihilated by email. Thanks for the reminder. :)

Mike, thanks for clear example, I'll try it this afternoon.

Best,

dp



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


Re: currentBarnumber in layout?

2013-08-21 Thread Jean-Charles Malahieude

Le 21/08/2013 15:05, Thomas Morley disait :

Hi,

playing around with some code to answer a request about setting
BarNumber for the first measure at the German lilypond forum
http://www.lilypondforum.de/index.php?topic=1529.0
I've found:

\version 2.17.24

\layout {
   \context {
 \Score
 currentBarNumber = #10
   }
}

\new Staff
\relative c' { \bar  \repeat unfold 10 { c'1 \break } }

My naive expectation was that _every_ BarNumber would get value 10.
Though, it works.

Is this a recommended use?
If yes should it be mentioned somewhere in the docs?



It is mentioned in NR-1.2.5 Bars (unnumbered Bar numbers).

Very useful with vocal materials where, for instance, the count is reset 
on an act basis.


What I usually do is setting the counter in a global variable,
like this:

%% Act I - 6 military symphony
global = {
  \time 3/4
  \key c \major
  \set Score.currentBarNumber = #210
  \skip 2. * 35 \bar ||
}

Cheers,
Jean-Charles

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


Re: multiple versions on Linux

2013-08-21 Thread Marc Weber
There are two linux distributions which make it very easy to have
multiple verisons:
- nixos.org linux - this also allows to build from source very very
  easily. lilypond has been packaged - thus getting more versions should
  be pretty straightforward.
- gobolinux

If you're interested in nixos.org linux I can assist

Marc Weber

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


explicit 7 on a half diminished 7

2013-08-21 Thread Derek Klinge
For the life of me I cannot figure this out.
I would like the following example to explicitly include the 7. Is there a
way to change the way it handles half diminished 7ths?

EXAMPLE

\chords {
  c4:7.9- c:7.9-/g
  \set slashChordSeparator = \markup {  over  }
  \break
  c4:7.9- c:7.9-/g
}


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


Re: explicit 7 on a half diminished 7

2013-08-21 Thread Thomas Morley
2013/8/22 Derek Klinge schilke...@gmail.com:
 For the life of me I cannot figure this out.
 I would like the following example to explicitly include the 7. Is there a
 way to change the way it handles half diminished 7ths?

 EXAMPLE

 \chords {
   c4:7.9- c:7.9-/g
   \set slashChordSeparator = \markup {  over  }
   \break
   c4:7.9- c:7.9-/g
 }


 Derek

Hi Derek,

I don't understand what you want to achieve. Chordnames are printed in
several different manners.
Could you provide a scan/link.

Cheers,
  Harm

Btw, which version do you use?

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


Re: explicit 7 on a half diminished 7

2013-08-21 Thread David Rogers
Derek Klinge schilke...@gmail.com writes:

 For the life of me I cannot figure this out.
 I would like the following example to explicitly include the 7. Is
 there a way to change the way it handles half diminished 7ths?

 EXAMPLE
 \chords {
   c4:7.9- c:7.9-/g
   \set slashChordSeparator = \markup {  over  }
   \break
   c4:7.9- c:7.9-/g
 }

On my machine, using Lilypond version 2.17.22, and copying your code
exactly, I get explicit 7 everywhere; all four examples have

C7b9

(plus /G for one of them, and plus over G for another one)
... or did you mean your request in a different way?


(By the way - Is a Schilke 60 for trombone or tuba?)

-- 
David R

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