Re: Half and whole notes in tab notation

2011-05-05 Thread Marc Hohl

Hello Peter,

Am 04.05.2011 20:05, schrieb Peter Crighton:
In 2.13.61 half notes in tab notation are distinguished from quarter 
notes through a second stem.
Now I haven't seen this method before – it would seem natural to me to 
draw a circle around the tab note, the number, and have only one 
stem like in normal notation.

The same would apply to whole notes, but of course without the stem.
One may discuss about aesthetics, but I have seen this way of displaying 
half notes and whole notes.


How can I achieve this kind of notation? Can I?

Yes! See the attached example. I tried to comment what I have done.

I is untested for working with harmonics - should the circle be drawn 
around the fret number only,

or should it include the parentheses and the angle brackets?



In chords I would use a single circle (an ellipse, to be correct) 
around all tab notes instead of drawing a circle around every single 
one. This would be more difficult if possible at all, I reckon, but it 
would be great to have this possibility…

This is more difficult to implement, and, to be honest, I don't know how.

HTH,

Marc



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


\version 2.13.61

%
% this is (mostly) copied from scm/tablature.scm - tab-note-head::print
#(define-public (tab-note-head::my-print grob)
  (define (is-harmonic? grob)
(let ((arts (ly:event-property (event-cause grob) 'articulations)))
  (not (null? (filter (lambda (a)
(ly:in-event-class? a 'harmonic-event))
  arts)

  (let* ((cautionary (ly:grob-property grob 'display-cautionary #f))
 (details (ly:grob-property grob 'details '()))
 (harmonic-props (assoc-get 'harmonic-properties details '()))
 (harmonic-angularity (assoc-get 'angularity harmonic-props 2))
 (harmonic-half-thick (assoc-get 'half-thickness harmonic-props 0.075))
 (harmonic-padding (assoc-get 'padding harmonic-props 0))
 (harmonic-proc (assoc-get 'procedure harmonic-props parenthesize-stencil))
 (harmonic-width (assoc-get 'width harmonic-props 0.25))
 (cautionary-props (assoc-get 'cautionary-properties details '()))
 (cautionary-angularity (assoc-get 'angularity cautionary-props 2))
 (cautionary-half-thick (assoc-get 'half-thickness cautionary-props 0.075))
 (cautionary-padding (assoc-get 'padding cautionary-props 0))
 (cautionary-proc (assoc-get 'procedure cautionary-props parenthesize-stencil))
 (cautionary-width (assoc-get 'width cautionary-props 0.25))
 (output-grob (ly:text-interface::print grob))
 (duration-log (ly:grob-property grob 'duration-log))
 (ref-grob (grob-interpret-markup grob 8))
 (offset-factor (assoc-get 'head-offset details 3/5))
 (column-offset (* offset-factor
   (interval-length
 (ly:stencil-extent
   (grob-interpret-markup grob 8)
   X)
(if (is-harmonic? grob)
(set! output-grob (harmonic-proc output-grob
 harmonic-half-thick
 harmonic-width
 harmonic-angularity
 harmonic-padding)))
(if cautionary
(set! output-grob (cautionary-proc output-grob
   cautionary-half-thick
   cautionary-width
   cautionary-angularity
   cautionary-padding)))
;; the next two lines draw circles around half and whole notes
;; the numbers 0.1 and 0.2 are hardcoded (ugh!) and resemble
;; the line-thickness and the padding
(if ( 2 duration-log)
(set! output-grob (circle-stencil output-grob 0.1 0.2)))
(ly:stencil-translate-axis (centered-stencil output-grob)
   column-offset
   X)))

music = { c4 d e2 | f1 }

\score {
  \new TabStaff {
\new TabVoice {
  \tabFullNotation
  % use the new function instead of the standard callback
  \override TabNoteHead #'stencil = #tab-note-head::my-print
  % don't draw double stems for half notes
  \revert TabVoice.Stem #'stencil
  \music }
  }
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \tie and polifonie

2011-05-05 Thread Marc Hohl

Am 04.05.2011 10:57, schrieb Mario Moles:


In this file the function \tie don't work:


Why don't you use separate voices for the upper and the lower part?

It is easier to write, because you don't have to take the pich of the
upper voice into account when writing the lower parts, and the ties work:

\version 2.13.61


\paper {

#(set-paper-size a4 )

}


global = {

\key c \major

\time 4/4

}


classicalGuitar = \relative c' {

\global

% Qui segue la musica.

{b2\rest g'8 a c4~}\\{s2 g,, g'8[ a a'] c c'~}|

{c''8 b! c g c4. g8}\\{c,, c' ~ c c' g g' c c'4. g g'8}|

}

upper = \relative c' {
  b2\rest g'8 a c4 ~ c8 b! c g c4. g8
}

lower = \relative c'' {
  s2 g,, g'8[ a a'] c c' ~ c c' ~ c c' g g' c c'4. g g'8
}

\book {

\score {

\new Staff \with {

midiInstrument = acoustic guitar (nylon)

instrumentName = Chit.

} { \clef treble_8 \classicalGuitar }

\layout { }

\midi {

\context {

\Score

tempoWholesPerMinute = #(ly:make-moment 100 4)

}

}

}

\score {
  \new Staff 
 \clef treble_8
 \new Voice { \voiceOne \upper }
 \new Voice { \voiceTwo \lower }

}
}

HTH,

Marc

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


Re: Beam avoidance of other voices and stem length for beamed notes

2011-05-05 Thread Nick Payne

On 05/05/11 13:21, m...@apollinemike.com wrote:

On May 4, 2011, at 3:16 PM, Nick Payne wrote:


Latest LP development version has inconsistency. See below.

\version 2.13.61

\relative c'' {
\time 3/4
\key d \minor

{e bes8 re a,  r s }
\\
{ d, r cis r r4 }
\\
{ g'8. f16 g8. bes16 a8. g16 }
}


The disparity in results comes (I think) from the fact that the flag of the 
stem in the left example ends after the beam begins on the X axis, and thus, 
the beam collision engraver moves the beam up to avoid the entire stem+flag.  
In the second example, on the other hand, the flag's rightmost X point falls to 
the left of the beam's leftmost X point.
Yes, that seems to be why, as if I add \once \override NoteColumn 
#'force-hshift = #1 at the beginning of voice 2, then both beams 
intersect the rests above. However, if the collision avoidance mechanism 
does shift the note at the beginning of voice 2 horizontally, why 
doesn't it shift the note far enough for the stem/beam to avoid the flag 
on the note in voice 1, given that it manages to do so successfully for 
the second beat in the bar. Or is that difference due to the notes in 
the two voices being a third apart on the first beat but only a second 
apart on the second beat.


Nick

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


Re: Half and whole notes in tab notation

2011-05-05 Thread Peter Crighton
Thank you very much! I adjusted the circle padding to 0 to prevent
overlapping in chords and even now it is not perfect, but you have to look
very close to see that. So it's good for me.
But reverting the double stem doesn't work… although I suspect a general
\revert failure there, as I also noticed that reverting a stem direction
didn't work, so that I have to override it with up or down accordingly.
Any clues why this is the case?

2011/5/5 Marc Hohl m...@hohlart.de

 Hello Peter,

 Am 04.05.2011 20:05, schrieb Peter Crighton:

  In 2.13.61 half notes in tab notation are distinguished from quarter notes
 through a second stem.
 Now I haven't seen this method before – it would seem natural to me to
 draw a circle around the tab note, the number, and have only one stem like
 in normal notation.
 The same would apply to whole notes, but of course without the stem.

 One may discuss about aesthetics, but I have seen this way of displaying
 half notes and whole notes.


 How can I achieve this kind of notation? Can I?

 Yes! See the attached example. I tried to comment what I have done.

 I is untested for working with harmonics - should the circle be drawn
 around the fret number only,
 or should it include the parentheses and the angle brackets?



 In chords I would use a single circle (an ellipse, to be correct) around
 all tab notes instead of drawing a circle around every single one. This
 would be more difficult if possible at all, I reckon, but it would be great
 to have this possibility…

 This is more difficult to implement, and, to be honest, I don't know how.

 HTH,

 Marc



 ___
 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


barAlways, slurs (melisma)

2011-05-05 Thread ggit
Dear all,
1) In the following :

\version 2.13.34
\score {
 \new Staff % or ChoirStaff
  \new Voice { \voiceOne a'8 b'8 c''8 d''8 b'4 a'4}
  \new Voice { \voiceTwo a'4 a'4 d'16 e'16 f'16 g'16 a'4}
 
 \layout {
  \context { \Score
   barAlways = ##t
  }
 }
}

barAlways acts as if it was applied to the \Voice context : it draws a bar line 
after *every* note of *any* voice.
Too bad. I would like it to draw a bar line *only* if no notes are still 
playing in any voice ; thus, for instance, no bar after the a8 nor after the 
e16. Could you help me ?

2) In the following :

\version 2.13.34
\score {
 \new Staff 
  \new Voice {
   a'8 \( ( b'8) c''8( d''8) b'4 \) a'4
  }
 
 \layout {
  \context { \Score
   barAlways = ##t
  }
 }
}

I would like a bar line to be drawn after the b8, after the d8, after the 
b4, and after the a4 ; and nowhere else. That is : no bar inside of a 
slur (but it's ok inside of a phrasing slur ). Any hint ?

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


Re: barAlways, slurs (melisma)

2011-05-05 Thread Phil Holmes
I don't know whether you've been avoiding manual bars, but you can get the 
result you want for the first example like this:

\version 2.13.34
\score {
 \new Staff % or ChoirStaff
  \new Voice { \cadenzaOn \voiceOne a'8 b'8 \bar | c''8 d''8 \bar | b'4 
\bar | a'4 }
  \new Voice { \voiceTwo a'4  a'4 d'16 e'16 f'16 g'16 a'4}
 
}



--
Phil Holmes


  - Original Message - 
  From: ggit 
  To: Lilypond users 
  Sent: Thursday, May 05, 2011 4:05 PM
  Subject: barAlways, slurs (melisma)


  Dear all,
  1) In the following :

  \version 2.13.34
  \score {
   \new Staff % or ChoirStaff
\new Voice { \voiceOne a'8 b'8 c''8 d''8 b'4 a'4}
\new Voice { \voiceTwo a'4 a'4 d'16 e'16 f'16 g'16 a'4}
   
   \layout {
\context { \Score
 barAlways = ##t
}
   }
  }

  barAlways acts as if it was applied to the \Voice context : it draws a bar 
line after *every* note of *any* voice.
  Too bad. I would like it to draw a bar line *only* if no notes are still 
playing in any voice ; thus, for instance, no bar after the a8 nor after the 
e16. Could you help me ?

  2) In the following :

  \version 2.13.34
  \score {
   \new Staff 
\new Voice {
 a'8 \( ( b'8) c''8( d''8) b'4 \) a'4
}
   
   \layout {
\context { \Score
 barAlways = ##t
}
   }
  }

  I would like a bar line to be drawn after the b8, after the d8, after the 
b4, and after the a4 ; and nowhere else. That is : no bar inside of a 
slur (but it's ok inside of a phrasing slur ). Any hint ?

  Thanks,
  G.



--


  ___
  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: Beam avoidance of other voices and stem length for beamed notes

2011-05-05 Thread m...@apollinemike.com
On May 5, 2011, at 2:12 AM, Nick Payne wrote:

 On 05/05/11 13:21, m...@apollinemike.com wrote:
 On May 4, 2011, at 3:16 PM, Nick Payne wrote:
 
 Latest LP development version has inconsistency. See below.
 
 \version 2.13.61
 
 \relative c'' {
\time 3/4
\key d \minor
 
{e bes8 re a,  r s }
\\
{ d, r cis r r4 }
\\
{ g'8. f16 g8. bes16 a8. g16 }
 }
 
 The disparity in results comes (I think) from the fact that the flag of the 
 stem in the left example ends after the beam begins on the X axis, and thus, 
 the beam collision engraver moves the beam up to avoid the entire stem+flag. 
  In the second example, on the other hand, the flag's rightmost X point 
 falls to the left of the beam's leftmost X point.
 Yes, that seems to be why, as if I add \once \override NoteColumn 
 #'force-hshift = #1 at the beginning of voice 2, then both beams intersect 
 the rests above. However, if the collision avoidance mechanism does shift the 
 note at the beginning of voice 2 horizontally, why doesn't it shift the note 
 far enough for the stem/beam to avoid the flag on the note in voice 1, given 
 that it manages to do so successfully for the second beat in the bar. Or is 
 that difference due to the notes in the two voices being a third apart on the 
 first beat but only a second apart on the second beat.
 

Hey NIck,
Not to get too technical (but I'm gonna get too technical), the mechanism that 
decides the X placements of grobs (and thus the bleed-over of stems into a 
beam's X extent) does not have anything to do with LilyPond's beam collision 
algorithms.  You'd want to report two separate bugs: one about the fact that 
the horizontal shift of the stem is inconsistent, and one that the 
beam-collision-engraver kicks in for even minuscule overlaps in grobs' 
X-extents.

In this instance, if you put \once \override Beam #'collision-voice-only = ##t 
before the first beam, you're golden.  Meanwhile, I'm working on something for 
the next devel version that gets beams to avoid rests.

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


Re: Half and whole notes in tab notation

2011-05-05 Thread Marc Hohl

Am 05.05.2011 13:34, schrieb Peter Crighton:
Thank you very much! I adjusted the circle padding to 0 to prevent 
overlapping in chords and even now it is not perfect, but you have to 
look very close to see that. So it's good for me.

Good to hear!
But reverting the double stem doesn't work… although I suspect a 
general \revert failure there, as I also noticed that reverting a stem 
direction didn't work, so that I have to override it with up or down 
accordingly.

Any clues why this is the case?
The example I sent to you worked perfectly for me, so perhaps the 
\revert is in the wrong context?
I think it would be easier to find the culprit if you send a minimal 
example.


Regards,

Marc


2011/5/5 Marc Hohl m...@hohlart.de mailto:m...@hohlart.de

Hello Peter,

Am 04.05.2011 20:05, schrieb Peter Crighton:

In 2.13.61 half notes in tab notation are distinguished from
quarter notes through a second stem.
Now I haven't seen this method before – it would seem natural
to me to draw a circle around the tab note, the number, and
have only one stem like in normal notation.
The same would apply to whole notes, but of course without the
stem.

One may discuss about aesthetics, but I have seen this way of
displaying half notes and whole notes.


How can I achieve this kind of notation? Can I?

Yes! See the attached example. I tried to comment what I have done.

I is untested for working with harmonics - should the circle be
drawn around the fret number only,
or should it include the parentheses and the angle brackets?



In chords I would use a single circle (an ellipse, to be
correct) around all tab notes instead of drawing a circle
around every single one. This would be more difficult if
possible at all, I reckon, but it would be great to have this
possibility…

This is more difficult to implement, and, to be honest, I don't
know how.

HTH,

Marc



___
lilypond-user mailing list
lilypond-user@gnu.org mailto: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: barAlways, slurs (melisma)

2011-05-05 Thread Germain G. Ivanoff-Trinadtzaty
I'm usually writing files in cadenzaOn mode, multiple voices, lyrics. Using 
manual breaks is very constraining, time consuming, and anti-productive. 
Besides this, placing automatic invisible bars in all *relevant* places (for 
automatic line breaks, in different layouts) is typically a kind of computer 
task ! By the way, what was barAlways meant for ?

For the slur avoiding : would it be possible to overload the ( and the ) 
commands, so when lilypond meets the code :
a'8 ( b'8 )
it performs :
\set Score.automaticBars = ##f a'8 ( \set Score.automaticBars = ##t b'8 )
?
G.
  - Original Message - 
  Subject: Re: barAlways, slurs (melisma)


  I don't know whether you've been avoiding manual bars, but you can get the 
result you want for the first example like this:

  \version 2.13.34
  \score {
   \new Staff % or ChoirStaff
\new Voice { \cadenzaOn \voiceOne a'8 b'8 \bar | c''8 d''8 \bar | b'4 
\bar | a'4 }
\new Voice { \voiceTwo a'4  a'4 d'16 e'16 f'16 g'16 a'4}
   
  }

  --
  Phil Holmes

- Original Message - 
Subject: barAlways, slurs (melisma)


Dear all,
1) In the following :

\version 2.13.34
\score {
 \new Staff % or ChoirStaff
  \new Voice { \voiceOne a'8 b'8 c''8 d''8 b'4 a'4}
  \new Voice { \voiceTwo a'4 a'4 d'16 e'16 f'16 g'16 a'4}
 
 \layout {
  \context { \Score
   barAlways = ##t
  }
 }
}

barAlways acts as if it was applied to the \Voice context : it draws a bar 
line after *every* note of *any* voice.
Too bad. I would like it to draw a bar line *only* if no notes are still 
playing in any voice ; thus, for instance, no bar after the a8 nor after the 
e16. Could you help me ?

2) In the following :

\version 2.13.34
\score {
 \new Staff 
  \new Voice {
   a'8 \( ( b'8) c''8( d''8) b'4 \) a'4
  }
 
 \layout {
  \context { \Score
   barAlways = ##t
  }
 }
}

I would like a bar line to be drawn after the b8, after the d8, after 
the b4, and after the a4 ; and nowhere else. That is : no bar inside of a 
slur (but it's ok inside of a phrasing slur ). Any hint ?

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


Re: positioning lyrics when both solo and tutti

2011-05-05 Thread Reinhold Kainhofer
Am Donnerstag, 5. Mai 2011, 20:45:48 schrieb Jean-Charles Malahieude:
 On my way to typing King Arthur, I'm trying to reproduce what is on
 the attached image: the choir enters on the last syllables of the soloist.
 
 Is there an easier to achieve this other than a construction like using
 an extra-voice for dealing with those 2 bars and 4 syllables?

I always use separate voices for soloists and choir, anyway. That way, I can 
always produce a more compact choir-only score (with cues to the soloists).

What is harder to achieve (actually, I don't know if there is any chance to do 
it with lilypond curently) is the switching of the lyrics from below to above 
the staff on a linebreak. 
The only way I see is to hardcode the linebreak...

Cheers,
Reinhold

-- 
--
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial  Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org

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


Comparing durations in Scheme

2011-05-05 Thread Christopher R. Maden
I am trying to tackle the swing music problem that someone posted about
earlier; it arises in traditional Irish music as well.

I’m blocked on detecting eighth-notes, though (or quavers for you Brits).

It seems like this should work (event is an EventChord):

  (eq?
   (ly:music-property
(car (ly:music-property
  event
  'elements))
'duration)
   (ly:make-duration 3 0 1 1))

However, this seems to return #f all the time, regardless of what event
actually has.  If I use (eq? (ly:duration-log ...) 3), it works, so I
know I am getting a duration.  Do I have to actually compare
duration-log, duration-dot, and duration-factor?  That seems a bit annoying.

What am I missing?

Thanks in advance,
Chris
-- 
Chris Maden, text nerd  URL: http://crism.maden.org/ 
Does this mean we can have our civil liberties back now?
GnuPG Fingerprint: C6E4 E2A9 C9F8 71AC 9724 CAA3 19F8 6677 0077 C319

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


nobody has ready Learning 3.1 ??? (was: how does beforebreak work?)

2011-05-05 Thread Graham Percival
On 4/10/11, Graham Percival gra...@percival-music.ca wrote:
 We have a problem.  The only full-time doc writer/editor isn't certain
 how breakbefore works, and I'm not certain that he completely
 understands the \book{} and \bookparts{} input file structure either.

 This has resulted in a much-needed rewrite for Notation 3 Spacing
 being delayed by literally months.  I'm not kidding.

 I know that tons of people here understand this stuff.  Could somebody
 volunteer to help our only full-time documentation writer learn this?

In case you think this is a trick question -- no, it's not.

Our only full-time documentation writer does not understand Learning
3.1 How LilyPond input files work.  But NOBODY has offered to help
him.

Almost everybody on this list knows the answer.  Almost everybody on
this list has more lilypond knowledge than our main documentation
writer.  Almost everybody could have shown that they wanted to make
lilypond better by simply offering to reply to 2 or 3 emails.

Frankly, I'm tempted to tell him to abandon lilypond.  I'm certainly
astonished that he's still sending patches to us.


The remainder of this email is even more relevant than before.
- Graham


 A few quick emails, maybe with a few examples, can probably make all
 the difference.  You don't need to know texinfo, or git, or even
 lilypond-book.  Just basic lilypond knowledge.  Just making one or two
 .ly files.

 It's a crying shame that we've lost so much potential doc work.


 Longer-term, it would be really nice if the user community was better
 about supporting the doc team.  When somebody who's working on
 documentation asks a question, please consider responding -- and
 respond in more detail than you would normally tell a user.  Maybe we
 could even revamp the old lilypond consultants idea: whenever a doc
 writer is confused about something, they could have a few skilled
 lilypond users (and knowledgeable musicians) who would explain stuff
 to them, so that they could then write docs for it.

 Cheers,
 - Graham


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


Re: nobody has ready Learning 3.1 ??? (was: how does beforebreak work?)

2011-05-05 Thread Ralph Palmer
On Thu, May 5, 2011 at 7:16 PM, Graham Percival gra...@percival-music.cawrote:

 On 4/10/11, Graham Percival gra...@percival-music.ca wrote:
  We have a problem.  The only full-time doc writer/editor isn't certain
  how breakbefore works, and I'm not certain that he completely
  understands the \book{} and \bookparts{} input file structure either.
 
  This has resulted in a much-needed rewrite for Notation 3 Spacing
  being delayed by literally months.  I'm not kidding.
 
  I know that tons of people here understand this stuff.  Could somebody
  volunteer to help our only full-time documentation writer learn this?

 In case you think this is a trick question -- no, it's not.

 Our only full-time documentation writer does not understand Learning
 3.1 How LilyPond input files work.  But NOBODY has offered to help
 him.

 Almost everybody on this list knows the answer.  Almost everybody on
 this list has more lilypond knowledge than our main documentation
 writer.  Almost everybody could have shown that they wanted to make
 lilypond better by simply offering to reply to 2 or 3 emails.

 Frankly, I'm tempted to tell him to abandon lilypond.  I'm certainly
 astonished that he's still sending patches to us.


 The remainder of this email is even more relevant than before.
 - Graham


  A few quick emails, maybe with a few examples, can probably make all
  the difference.  You don't need to know texinfo, or git, or even
  lilypond-book.  Just basic lilypond knowledge.  Just making one or two
  .ly files.
 
  It's a crying shame that we've lost so much potential doc work.
 
 
  Longer-term, it would be really nice if the user community was better
  about supporting the doc team.  When somebody who's working on
  documentation asks a question, please consider responding -- and
  respond in more detail than you would normally tell a user.  Maybe we
  could even revamp the old lilypond consultants idea: whenever a doc
  writer is confused about something, they could have a few skilled
  lilypond users (and knowledgeable musicians) who would explain stuff
  to them, so that they could then write docs for it.
 
  Cheers,
  - Graham
 

 __


I would offer to help, but I don't know what breakbefore is, and I have
never understood how \book and \bookpart work, either. Every time I've tried
to use \book and \bookpart, the results have been unexpected and I've never
been able to figure out how they work with respect to things like \header
and \printAllHeaders.

Ralph



-- 
Ralph Palmer
Montague City, MA
USA
palmer.r.vio...@gmail.com
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Repeat alternative includes a tempo change

2011-05-05 Thread Ken Smith
I'm new to LilyPond (v2.12.3) and to music notation in general, so I'm just a 
tad beyond the starting point on LilyPond's learning curve.  I'm scratching my 
head now as to how to write the repeats in my learning testfile, Podmoskovnye 
Vechera, (Moscow Nights).  The melody has four verses, each verse has two 
couplets (i.e., four stanzas per verse), with the second couplet repeated in 
each of the four verses.  The repeats for the first three verses are identical, 
but the repeat for the final verse includes a tempo change (slower, sadly) with 
an octave upbeat at the end.  I'm only coding the melody line for now; here's 
the code I've been using (time = 2/4):

\bar |:
\repeat volta 4%% notation shows repeat for verses 1, 2, 3, 
only
{
b4 cis4
e8 d8 a4~a8
e4 d8 \mbreak%% \mbreak defined in my  '%% Definitions' 
block
a'8. g16 bes4~bes4
c8 bes8
a4 g8 f8
}
\alternative%% notation shows repeat for verse 4
{
{a4 g8 f8 d2 }
{ d'2~d2\fermata }
}
\bar ||

To get it right (volta showing verses 1 - 4, alternative showing verse 4 only) 
will I need to code the final couplet of verse 4 into \alternative?  Or is 
there a better, more professional way to do it?

Thanks, very best regards,

Ken Kellogg-Smith

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


Re: Repeat alternative includes a tempo change

2011-05-05 Thread m...@apollinemike.com
On May 5, 2011, at 9:08 PM, Ken Smith wrote:

 I'm new to LilyPond (v2.12.3) and to music notation in general, so I'm just a 
 tad beyond the starting point on LilyPond's learning curve.  I'm scratching 
 my head now as to how to write the repeats in my learning testfile, 
 Podmoskovnye Vechera, (Moscow Nights).  The melody has four verses, each 
 verse has two couplets (i.e., four stanzas per verse), with the second 
 couplet repeated in each of the four verses.  The repeats for the first three 
 verses are identical, but the repeat for the final verse includes a tempo 
 change (slower, sadly) with an octave upbeat at the end.  I'm only coding the 
 melody line for now; here's the code I've been using (time = 2/4):
  
 \bar |:
 \repeat volta 4%% notation shows repeat for verses 1, 2, 
 3, only
 {
 b4 cis4
 e8 d8 a4~a8
 e4 d8 \mbreak%% \mbreak defined in my  '%% Definitions' 
 block
 a'8. g16 bes4~bes4
 c8 bes8
 a4 g8 f8
 }
 \alternative%% notation shows repeat for verse 4
 {
 {a4 g8 f8 d2 }
 { d'2~d2\fermata }
 }
 \bar ||
  
 To get it right (volta showing verses 1 - 4, alternative showing verse 4 
 only) will I need to code the final couplet of verse 4 into \alternative?  Or 
 is there a better, more professional way to do it?
  

Generally, alternative endings start on the first full measure during which a 
repeated section diverges.  It sounds like the solution would be to back the 
beginning of the alternative up one measure so that the changed upbeat can be 
part of the alternative.

Cheers,
MS___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Comparing durations in Scheme

2011-05-05 Thread David Kastrup
Christopher R. Maden cr...@maden.org writes:

 I am trying to tackle the swing music problem that someone posted about
 earlier; it arises in traditional Irish music as well.

 I’m blocked on detecting eighth-notes, though (or quavers for you Brits).

 It seems like this should work (event is an EventChord):

   (eq?
(ly:music-property
 (car (ly:music-property
   event
   'elements))
 'duration)
(ly:make-duration 3 0 1 1))

 However, this seems to return #f all the time, regardless of what event
 actually has.  If I use (eq? (ly:duration-log ...) 3), it works, so I
 know I am getting a duration.  Do I have to actually compare
 duration-log, duration-dot, and duration-factor?  That seems a bit annoying.

 What am I missing?

The guile manual?  eq? compares for identity, not equality of objects.
Composite objects constructed independently are not identical.

-- 
David Kastrup


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