Re: fret-diagrams.scm:657:42: Wrong type: #f

2015-08-22 Thread ClausRogge
OK thanks for all your suggestions ... the error was very simple - one space
too much here
\stopStaff s2 s_\markup {\bold D dur}^\markup{{\fret-diagram #s:6;h:5;
 -!!
6-2;6-3;6-5;5-2;5-4;5-5;4-2;4-4;4-5;3-2;3-4;2-2;2-3;2-5;1-2;1-3;1-5;}} 

I didn't show in my posting because of the automatic line breaking. 



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/fret-diagrams-scm-657-42-Wrong-type-f-tp179802p179924.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: fret-diagrams.scm:657:42: Wrong type: #f

2015-08-22 Thread David Kastrup
ClausRogge claus.ro...@aon.at writes:

 OK thanks for all your suggestions ... the error was very simple - one space
 too much here
 \stopStaff s2 s_\markup {\bold D dur}^\markup{{\fret-diagram #s:6;h:5;
  -!!
 6-2;6-3;6-5;5-2;5-4;5-5;4-2;4-4;4-5;3-2;3-4;2-2;2-3;2-5;1-2;1-3;1-5;}} 

 I didn't show in my posting because of the automatic line breaking. 

That begs the question on whether \fret-diagram should be ignoring
embedded whitespace in order to allow for more readable formatting of
the command string.

-- 
David Kastrup

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


Patch/issue procedures (was: Randomness in layout)

2015-08-22 Thread David Kastrup
David Nalesnik david.nales...@gmail.com writes:

[Patch]

Maybe put it up on Rietveld and post a pointer on bug-lilypond?  Even
when it does not make all that much sense to create a new Google issue
for it, my original suggestion to post patch series to bug-lilypond
while we are transitioning seems nonsensical since it's Google Code that
is shutting down rather than Rietveld.

-- 
David Kastrup

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


question about putting music expressions in sequence

2015-08-22 Thread Peter Selinger
Hello,

I have a question about using lyrics with automatic syllable
durations, when putting music expressions in sequence.

The Learning Manual states: Putting a group of music expressions
(e.g. notes) in braces means that they are in sequence (i.e. each one
follows the previous one). The result is another music expression.

I have a piece consistsing of several verses that must be engraved
individually (each verse has a different melody and accompaniment).
I'd like to arrange the input file so that the data is grouped by
verse (rather than by voice). I was able to make this work using
sequencing like this (see test1.pdf):

  \version 2.18.2
  
  {
% First verse   

  \new Voice = up \relative c' { e f g a }
  \new Lyrics = lyrics \lyricmode { Words to first verse }
  \new Voice = down \relative c' { c d e f }

% Seconds verse 

  \context Voice = up \relative c' { f g a b }
  \context Lyrics = lyrics \lyricmode { Words to next verse }
  \context Voice = down \relative c' { d e f g }

  }

However, this only works as long as I enter manual syllable
durations. If I try to use automatic syllable durations, everything
breaks (see test2.pdf):

  \version 2.18.2
  
  {
% First verse 

  \new Voice = up \relative c' { e f g a }
  \new Lyrics = lyrics \lyricsto up { Words to first verse }
  \new Voice = down \relative c' { c d e f }

% Seconds verse   

  \context Voice = up \relative c' { f g a b }
  \context Lyrics = lyrics \lyricsto up { Words to next verse }
  \context Voice = down \relative c' { d e f g }

  }

Not only does the second set of lyrics generate an error message, but
also the notes to the second verse are not typeset at all, and an
extra (empty) pair of staves is generated.

Is there a way to make this work? (I realize that I could put all the
information into variables, and rearrange the expression to be grouped
by voice rather than verse. However, I am looking for a way to make
the above grouping work).

Thanks, -- Peter


test2.pdf
Description: PDF document, version 1.4


test1.pdf
Description: PDF document, version 1.4
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


RE: Tablature - Hiding Tied Notes

2015-08-22 Thread Stephen MacNeil
hi mike1951

As i said i only used tab for setting up certain functions - and only
looked at full-notation once - i think.
So I have absolutely no idea what you are after or what it should look
like. My knowledge on tab is limited to perhaps only a few days of
experimentation. Perhaps someone familiar with tab would know. Or post
an image of the desired output and I can see the differences.

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


Re: question about putting music expressions in sequence

2015-08-22 Thread Phil Holmes
- Original Message - 
From: Peter Selinger selin...@mathstat.dal.ca

To: lilypond-user@gnu.org
Sent: Saturday, August 22, 2015 3:32 PM
Subject: question about putting music expressions in sequence



Hello,

I have a question about using lyrics with automatic syllable
durations, when putting music expressions in sequence.

The Learning Manual states: Putting a group of music expressions
(e.g. notes) in braces means that they are in sequence (i.e. each one
follows the previous one). The result is another music expression.

I have a piece consistsing of several verses that must be engraved
individually (each verse has a different melody and accompaniment).
I'd like to arrange the input file so that the data is grouped by
verse (rather than by voice). I was able to make this work using
sequencing like this (see test1.pdf):

 \version 2.18.2

 {
   % First verse
   
 \new Voice = up \relative c' { e f g a }
 \new Lyrics = lyrics \lyricmode { Words to first verse }
 \new Voice = down \relative c' { c d e f }
   
   % Seconds verse
   
 \context Voice = up \relative c' { f g a b }
 \context Lyrics = lyrics \lyricmode { Words to next verse }
 \context Voice = down \relative c' { d e f g }
   
 }

However, this only works as long as I enter manual syllable
durations. If I try to use automatic syllable durations, everything
breaks (see test2.pdf):

 \version 2.18.2

 {
   % First verse
   
 \new Voice = up \relative c' { e f g a }
 \new Lyrics = lyrics \lyricsto up { Words to first verse }
 \new Voice = down \relative c' { c d e f }
   
   % Seconds verse
   
 \context Voice = up \relative c' { f g a b }
 \context Lyrics = lyrics \lyricsto up { Words to next verse }
 \context Voice = down \relative c' { d e f g }
   
 }

Not only does the second set of lyrics generate an error message, but
also the notes to the second verse are not typeset at all, and an
extra (empty) pair of staves is generated.

Is there a way to make this work? (I realize that I could put all the
information into variables, and rearrange the expression to be grouped
by voice rather than verse. However, I am looking for a way to make
the above grouping work).


It looks to me that you have posted the same example twice, both of which 
work as planned, and neither of which provides the output you've attached. 
Please check.


--
Phil Holmes 



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


Re: vertical spacing of rests

2015-08-22 Thread Michael Rivers
It would be nice if this were just newbie question, but all of us old-bies
and have to deal with it all the time. It would be really nice if Lilypond
just combined the rests as it should.



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/vertical-spacing-of-rests-tp179947p179951.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: fret-diagrams.scm:657:42: Wrong type: #f

2015-08-22 Thread Thomas Morley
2015-08-22 10:46 GMT+02:00 David Kastrup d...@gnu.org:
 ClausRogge claus.ro...@aon.at writes:

 OK thanks for all your suggestions ... the error was very simple - one space
 too much here
 \stopStaff s2 s_\markup {\bold D dur}^\markup{{\fret-diagram #s:6;h:5;
  -!!
 6-2;6-3;6-5;5-2;5-4;5-5;4-2;4-4;4-5;3-2;3-4;2-2;2-3;2-5;1-2;1-3;1-5;}}

 I didn't show in my posting because of the automatic line breaking.

 That begs the question on whether \fret-diagram should be ignoring
 embedded whitespace in order to allow for more readable formatting of
 the command string.

 --
 David Kastrup


How about a check like:

  (string-filter
s:2;h:5;
 6-x;
 5-x;
 4-4;
 3-2;
 2-3;
 1-x;
(char-set-union
  char-set:letter+digit
  char-set:punctuation))

If no better suggestion, I'll put up a patch


Cheers,
  Harm

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


Re: Patch/issue procedures (was: Randomness in layout)

2015-08-22 Thread David Nalesnik
David,

On Sat, Aug 22, 2015 at 2:24 AM, David Kastrup d...@gnu.org wrote:

 David Nalesnik david.nales...@gmail.com writes:

 [Patch]

 Maybe put it up on Rietveld and post a pointer on bug-lilypond?  Even
 when it does not make all that much sense to create a new Google issue
 for it, my original suggestion to post patch series to bug-lilypond
 while we are transitioning seems nonsensical since it's Google Code that
 is shutting down rather than Rietveld.


OK, makes perfect sense.  I'll finish up the patch, and attach it to the
thread Harm started on the bug list.

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


Re: vertical spacing of rests

2015-08-22 Thread Simon Albrecht

Am 23.08.2015 um 00:48 schrieb Michael Rivers:

It would be nice if this were just newbie question, but all of us old-bies
and have to deal with it all the time. It would be really nice if Lilypond
just combined the rests as it should.
That would have to be discussed, but I agree that it would be a 
reasonable feature request. Even the NBA (New Bach Edition) of BWV 849/2 
(Fuga in c sharp minor à 5) combines the (multi measure) rests at the 
beginning in the upper staff, where all three voices have rests.


Yours, Simon

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


Re: vertical spacing of rests

2015-08-22 Thread Peter Selinger
Wait, this didn't quite work:

hideRests = {
  \override Rest.transparent = ##t
}

It almost produces the correct output, but it generates a million
warnings (one for each rest) about a rest collision that could not
be resolved. I guess a transparent rest is not the same as a spacer
rest - even though it is invisible, it can still collide. 

Also, strangely, the dots on the dotted rests are still visible, even
when the rests themselves are transparent.

Is there a property similar to Rest.transparent that will remove the
rest (effectively turning it into a spacer rest), rather than just
making it invisible?

-- Peter

Peter Selinger wrote:
 
 Thanks for your replies. That's awesome. I think I will also define a
 command \hideRests, so that I don't have to manually convert all the
 rests to spacer rests - this might be handy if I later decide to use
 one staff per voice.
 
 centerRests = {
   \override Rest.staff-position = #0
 }
 
 hideRests = {
   \override Rest.transparent = ##t
 }
 
 \new Staff 
   \new Voice \relative c'' {
 \voiceOne 
 \centerRests
 r4 c r d
   }
   \new Voice \relative c'' {
 \voiceTwo 
 \hideRests
 r4 a8 a8 r4 b8 b8
   }
 
 
 By the way, properties such as staff-position are not included in the
 index of the Notation Manual (though they do appear in the index of
 the Learning Manual). I had to search the whole document to find these
 properties in Appendix A.17. Would it make sense to include them in
 the index?
 
 -- Peter
 
 Klaus Blum wrote:
  
  Peter Selinger wrote
   Is there a global way to turn off
   vertical spacing for rests in a context, i.e., some command whose
   effect would be to make notes behave as with \voiceOne and rests
   behave as with \oneVoice?
  
  Hi Peter, 
  
  yes, there is:
   \override Rest.staff-position = #0
  but you have to apply it once for every voice.
  
  Cheers, 
  Klaus
  
  
  %-
  \version 2.19.25
  
  centerRests = {
\override Rest.staff-position = #0
  }
  
  \new Staff 
\new Voice
\relative c'' {
  \voiceOne  % you don't need a pair of braces here
  \centerRests
  r  c  r  d
}
\new Voice
\relative c'' {
  \voiceTwo
  \centerRests
  r4 a8 a8 r4 b8 b8
}
  
  %-
  
  
  
  
  --
  View this message in context: 
  http://lilypond.1069038.n5.nabble.com/vertical-spacing-of-rests-tp179947p179950.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
  
 
 
 ___
 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: vertical spacing of rests

2015-08-22 Thread Klaus Blum
Peter Selinger wrote
 Is there a global way to turn off
 vertical spacing for rests in a context, i.e., some command whose
 effect would be to make notes behave as with \voiceOne and rests
 behave as with \oneVoice?

Hi Peter, 

yes, there is:
 \override Rest.staff-position = #0
but you have to apply it once for every voice.

Cheers, 
Klaus


%-
\version 2.19.25

centerRests = {
  \override Rest.staff-position = #0
}

\new Staff 
  \new Voice
  \relative c'' {
\voiceOne  % you don't need a pair of braces here
\centerRests
r  c  r  d
  }
  \new Voice
  \relative c'' {
\voiceTwo
\centerRests
r4 a8 a8 r4 b8 b8
  }

%-




--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/vertical-spacing-of-rests-tp179947p179950.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: vertical spacing of rests

2015-08-22 Thread Peter Selinger
Klaus,

your code snippet does not work correctly if some of the rests are
dotted (see attached for the output). It's a bit of a mystery to me
why this happens. 

-- Peter

%
\version 2.19.25

centerRests = {
  \override Rest.staff-position = #0
}

\new Staff 
  \new Voice
  \relative c'' {
\voiceOne
\centerRests
r  c  r  d | r2. e4
  }
  \new Voice
  \relative c'' {
\voiceTwo
\centerRests
r4 a8 a8 r4 b8 b8 | r2. c4
  }

%



Klaus Blum wrote:
 
 Peter Selinger wrote
  Is there a global way to turn off
  vertical spacing for rests in a context, i.e., some command whose
  effect would be to make notes behave as with \voiceOne and rests
  behave as with \oneVoice?
 
 Hi Peter, 
 
 yes, there is:
  \override Rest.staff-position = #0
 but you have to apply it once for every voice.
 
 Cheers, 
 Klaus
 
 
 %-
 \version 2.19.25
 
 centerRests = {
   \override Rest.staff-position = #0
 }
 
 \new Staff 
   \new Voice
   \relative c'' {
 \voiceOne  % you don't need a pair of braces here
 \centerRests
 r  c  r  d
   }
   \new Voice
   \relative c'' {
 \voiceTwo
 \centerRests
 r4 a8 a8 r4 b8 b8
   }
 
 %-
 
 
 
 
 --
 View this message in context: 
 http://lilypond.1069038.n5.nabble.com/vertical-spacing-of-rests-tp179947p179950.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
 



rests1.pdf
Description: PDF document, version 1.4
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: fret-diagrams.scm:657:42: Wrong type: #f

2015-08-22 Thread David Kastrup
Thomas Morley thomasmorle...@gmail.com writes:

 2015-08-22 10:46 GMT+02:00 David Kastrup d...@gnu.org:
 ClausRogge claus.ro...@aon.at writes:

 OK thanks for all your suggestions ... the error was very simple - one space
 too much here
 \stopStaff s2 s_\markup {\bold D dur}^\markup{{\fret-diagram #s:6;h:5;
  -!!
 6-2;6-3;6-5;5-2;5-4;5-5;4-2;4-4;4-5;3-2;3-4;2-2;2-3;2-5;1-2;1-3;1-5;}}

 I didn't show in my posting because of the automatic line breaking.

 That begs the question on whether \fret-diagram should be ignoring
 embedded whitespace in order to allow for more readable formatting of
 the command string.

 --
 David Kastrup


 How about a check like:

   (string-filter
 s:2;h:5;
  6-x;
  5-x;
  4-4;
  3-2;
  2-3;
  1-x;
 (char-set-union
   char-set:letter+digit
   char-set:punctuation))

 If no better suggestion, I'll put up a patch

I'd really just filter on whitespace.  If people rely on arbitrary
characters getting filtered out, we are not free to extend the syntax at
some later point of time with more characters.

-- 
David Kastrup

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


Re: vertical spacing of rests

2015-08-22 Thread Thomas Morley
2015-08-23 0:37 GMT+02:00 Thomas Morley thomasmorle...@gmail.com:
 2015-08-23 0:01 GMT+02:00 Peter Selinger selin...@mathstat.dal.ca:
 Hello again,

 this is a true newbie question. I am trying to engrave two polyphonic
 voices on a single staff. Since the two voices have all their rests in
 common, I only want to typeset each rest once, so I use spacer rests
 in the second voice. Still the vertical spacing is such that all the
 rests are put near the top of the staff. I would like them to appear
 in their normal positions.

 From the manual, I know two ways to do this. Solution 1 is to enclose
 each rest between \oneVoice and \voiceOne, forcing standard vertical
 spacing:

   \version 2.19.25

   \new Staff 
 \new Voice \relative c'' {
   \voiceOne {
 \oneVoice r \voiceOne c \oneVoice r \voiceOne d
 %%%
   }
 }
 \new Voice \relative c'' {
   \voiceTwo {
 s4 a8 a8 s4 b8 b8
   }
 }
   

 Solution 2 is to specify an explicit vertical position for each rest.

   \version 2.19.25

   \new Staff 
 \new Voice \relative c'' {
   \voiceOne {
 b4\rest c b\rest \voiceOne d
 
   }
 }
 \new Voice \relative c'' {
   \voiceTwo {
 s4 a8 a8 s4 b8 b8
   }
 }
   

 Neither solution is particularly elegant, as they both require every
 rest to be marked up individually. Is there a global way to turn off
 vertical spacing for rests in a context, i.e., some command whose
 effect would be to make notes behave as with \voiceOne and rests
 behave as with \oneVoice?

 Thanks, -- Peter



 Some more possibilities:

   \new Staff 
 \new Voice \relative c'' {
   \voiceOne {

%% Forgot: use one of those, comment the other ;)

   %% \voiceOne sets Rest.direction to 1, revert it
   \revert Rest.direction
   %% specify staff-position
   \override Rest.staff-position = #0
 r
 c
 r
 d
   }
 }
 \new Voice \relative c'' {
   \voiceTwo {
 s4 a8 a8 s4 b8 b8
   }
 }
   

 or use
 http://lsr.di.unimi.it/LSR/Item?id=336
 or
 http://www.mail-archive.com/lilypond-user%40gnu.org/msg69645.html
 which works for MultiMeasureRests as well.


 HTH,
   Harm

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


Re: vertical spacing of rests

2015-08-22 Thread Thomas Morley
2015-08-23 0:01 GMT+02:00 Peter Selinger selin...@mathstat.dal.ca:
 Hello again,

 this is a true newbie question. I am trying to engrave two polyphonic
 voices on a single staff. Since the two voices have all their rests in
 common, I only want to typeset each rest once, so I use spacer rests
 in the second voice. Still the vertical spacing is such that all the
 rests are put near the top of the staff. I would like them to appear
 in their normal positions.

 From the manual, I know two ways to do this. Solution 1 is to enclose
 each rest between \oneVoice and \voiceOne, forcing standard vertical
 spacing:

   \version 2.19.25

   \new Staff 
 \new Voice \relative c'' {
   \voiceOne {
 \oneVoice r \voiceOne c \oneVoice r \voiceOne d
 %%%
   }
 }
 \new Voice \relative c'' {
   \voiceTwo {
 s4 a8 a8 s4 b8 b8
   }
 }
   

 Solution 2 is to specify an explicit vertical position for each rest.

   \version 2.19.25

   \new Staff 
 \new Voice \relative c'' {
   \voiceOne {
 b4\rest c b\rest \voiceOne d
 
   }
 }
 \new Voice \relative c'' {
   \voiceTwo {
 s4 a8 a8 s4 b8 b8
   }
 }
   

 Neither solution is particularly elegant, as they both require every
 rest to be marked up individually. Is there a global way to turn off
 vertical spacing for rests in a context, i.e., some command whose
 effect would be to make notes behave as with \voiceOne and rests
 behave as with \oneVoice?

 Thanks, -- Peter



Some more possibilities:

  \new Staff 
\new Voice \relative c'' {
  \voiceOne {
  %% \voiceOne sets Rest.direction to 1, revert it
  \revert Rest.direction
  %% specify staff-position
  \override Rest.staff-position = #0
r
c
r
d
  }
}
\new Voice \relative c'' {
  \voiceTwo {
s4 a8 a8 s4 b8 b8
  }
}
  

or use
http://lsr.di.unimi.it/LSR/Item?id=336
or
http://www.mail-archive.com/lilypond-user%40gnu.org/msg69645.html
which works for MultiMeasureRests as well.


HTH,
  Harm

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


Re: Patch/issue procedures (was: Randomness in layout)

2015-08-22 Thread David Nalesnik
On Sat, Aug 22, 2015 at 6:00 PM, David Nalesnik david.nales...@gmail.com
wrote:

 David,

 On Sat, Aug 22, 2015 at 2:24 AM, David Kastrup d...@gnu.org wrote:

 David Nalesnik david.nales...@gmail.com writes:

 [Patch]

 Maybe put it up on Rietveld and post a pointer on bug-lilypond?  Even
 when it does not make all that much sense to create a new Google issue
 for it, my original suggestion to post patch series to bug-lilypond
 while we are transitioning seems nonsensical since it's Google Code that
 is shutting down rather than Rietveld.


 OK, makes perfect sense.  I'll finish up the patch, and attach it to the
 thread Harm started on the bug list.

 David N.


Uh...misfire of the brain.  That would be put something up on Rietveld and
post a link to it on the buglist thread...

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


Way to flatten nested \include's?

2015-08-22 Thread Javier Ruiz-Alma
I have code split into multiple files.
Is there a way to ask lilypond to expands nested \include's and dump into new 
file, such I can review/compile a flattened version of the code (i.e. for 
debugging)?
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: vertical spacing of rests

2015-08-22 Thread Peter Selinger
Thanks for your replies. That's awesome. I think I will also define a
command \hideRests, so that I don't have to manually convert all the
rests to spacer rests - this might be handy if I later decide to use
one staff per voice.

centerRests = {
  \override Rest.staff-position = #0
}

hideRests = {
  \override Rest.transparent = ##t
}

\new Staff 
  \new Voice \relative c'' {
\voiceOne 
\centerRests
r4 c r d
  }
  \new Voice \relative c'' {
\voiceTwo 
\hideRests
r4 a8 a8 r4 b8 b8
  }


By the way, properties such as staff-position are not included in the
index of the Notation Manual (though they do appear in the index of
the Learning Manual). I had to search the whole document to find these
properties in Appendix A.17. Would it make sense to include them in
the index?

-- Peter

Klaus Blum wrote:
 
 Peter Selinger wrote
  Is there a global way to turn off
  vertical spacing for rests in a context, i.e., some command whose
  effect would be to make notes behave as with \voiceOne and rests
  behave as with \oneVoice?
 
 Hi Peter, 
 
 yes, there is:
  \override Rest.staff-position = #0
 but you have to apply it once for every voice.
 
 Cheers, 
 Klaus
 
 
 %-
 \version 2.19.25
 
 centerRests = {
   \override Rest.staff-position = #0
 }
 
 \new Staff 
   \new Voice
   \relative c'' {
 \voiceOne  % you don't need a pair of braces here
 \centerRests
 r  c  r  d
   }
   \new Voice
   \relative c'' {
 \voiceTwo
 \centerRests
 r4 a8 a8 r4 b8 b8
   }
 
 %-
 
 
 
 
 --
 View this message in context: 
 http://lilypond.1069038.n5.nabble.com/vertical-spacing-of-rests-tp179947p179950.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
 


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


vertical spacing of rests

2015-08-22 Thread Peter Selinger
Hello again,

this is a true newbie question. I am trying to engrave two polyphonic
voices on a single staff. Since the two voices have all their rests in
common, I only want to typeset each rest once, so I use spacer rests
in the second voice. Still the vertical spacing is such that all the
rests are put near the top of the staff. I would like them to appear
in their normal positions.

From the manual, I know two ways to do this. Solution 1 is to enclose
each rest between \oneVoice and \voiceOne, forcing standard vertical
spacing:

  \version 2.19.25
  
  \new Staff 
\new Voice \relative c'' {
  \voiceOne {
\oneVoice r \voiceOne c \oneVoice r \voiceOne d
%%%
  }
}
\new Voice \relative c'' {
  \voiceTwo {
s4 a8 a8 s4 b8 b8
  }
}
  

Solution 2 is to specify an explicit vertical position for each rest.

  \version 2.19.25
  
  \new Staff 
\new Voice \relative c'' {
  \voiceOne {
b4\rest c b\rest \voiceOne d

  }
}
\new Voice \relative c'' {
  \voiceTwo {
s4 a8 a8 s4 b8 b8
  }
}
  

Neither solution is particularly elegant, as they both require every
rest to be marked up individually. Is there a global way to turn off
vertical spacing for rests in a context, i.e., some command whose
effect would be to make notes behave as with \voiceOne and rests
behave as with \oneVoice?

Thanks, -- Peter


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


Re: Distance of grob to barlines

2015-08-22 Thread David Nalesnik
On Sat, Aug 22, 2015 at 11:55 AM, David Nalesnik david.nales...@gmail.com
wrote:

 Hi Andrew,

 On Fri, Aug 21, 2015 at 6:51 PM, Andrew Bernard andrew.bern...@gmail.com
 wrote:

 Can anybody kindly point me to code examples showing how to find the
 distance of a grob to its nearest enclosing barlines, in Scheme?


 I don't know of any examples out there, be this will do it.

 This uses the horizontal coordinate of the grob and barline as a simple
 demonstration.  Depending on what precisely you mean by distance (right
 edge to left edge, left edge to right edge, etc.) you may want to use
 ly:grob-extent.


That is, instead of ly:grob-relative-coordinate.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: question about putting music expressions in sequence

2015-08-22 Thread Peter Selinger
Dear David, Phil, and Thomas,

thanks for your quick replies! I'm surprised that as a newbie, I was
able to find a bug in less than 24 hours of using Lilypond. But it's
fortunate that it has already been fixed!

I had double-checked that 2.18.2 is the most current version by
checking that it is the version described in the documentation:
http://www.lilypond.org/website/manuals.html

But I had forgotten that there is also an unstable release. 

Great, thanks again for your help! I'll report back in case I run into
any more problems. -- Peter

David Kastrup wrote:
 
 Phil Holmes m...@philholmes.net writes:
 
  It looks to me that you have posted the same example twice, both of
  which work as planned, and neither of which provides the output you've
  attached. Please check.
 
 Well, let's see:
 
 First version:
 
   \new Lyrics = lyrics \lyricmode { Words to first verse }
 [...]
   \context Lyrics = lyrics \lyricmode { Words to next verse }
 
 Second version:
 
   \new Lyrics = lyrics \lyricsto up { Words to first verse }
 [...]
   \context Lyrics = lyrics \lyricsto up { Words to next verse }
 
 Looks different to me.  Also, either version:
 
  \version 2.18.2
 
 And indeed, version 2.18.2 falls flat rather uglily on the second
 version while current LilyPond versions have no problem with it.
 
 This is issue 2010
 URL:https://code.google.com/p/lilypond/issues/detail?id=2010, fixed in
 version 2.19.16 but likely not in a manner where this example would
 work.  I suspect this example would require the fix from issue 4419
 URL:https://code.google.com/p/lilypond/issues/detail?id=4419 in order
 not to be stopped short, meaning a version of LilyPond of 2.19.23 or
 later.
 
  Is there a way to make this work? (I realize that I could put all the
  information into variables, and rearrange the expression to be
  grouped by voice rather than verse. However, I am looking for a way
  to make the above grouping work).
 
 Upgrade.  The respective fixes are in C++ code so there is no way you
 can just patch up some parts of LilyPond.
 
 -- 
 David Kastrup
 


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


Re: question about putting music expressions in sequence

2015-08-22 Thread David Kastrup
selin...@mathstat.dal.ca (Peter Selinger) writes:

 Dear David, Phil, and Thomas,

 thanks for your quick replies! I'm surprised that as a newbie, I was
 able to find a bug in less than 24 hours of using Lilypond.

Well, it is a bug of the we don't do it like that kind that newbies
are more likely to encounter than old hands.  Of course, that we don't
do it like that might be related to those problems having defied fixes
for a number of years.

 But it's fortunate that it has already been fixed!

 I had double-checked that 2.18.2 is the most current version by
 checking that it is the version described in the documentation:
 http://www.lilypond.org/website/manuals.html

 But I had forgotten that there is also an unstable release. 

Well, there were several changes in behavior in the last months so it
actually deserves the name.  It's rare that an unstable release is
unusable.  But that has also happened for some use cases.  But if one
does not mind updating somewhat more frequently (and, in the case of a
personal emergency, paddling back), the unstable releases tend to be
more user-friendly after some time than the stable ones.

-- 
David Kastrup

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


Re: question about putting music expressions in sequence

2015-08-22 Thread David Kastrup
Phil Holmes m...@philholmes.net writes:

 It looks to me that you have posted the same example twice, both of
 which work as planned, and neither of which provides the output you've
 attached. Please check.

Well, let's see:

First version:

  \new Lyrics = lyrics \lyricmode { Words to first verse }
[...]
  \context Lyrics = lyrics \lyricmode { Words to next verse }

Second version:

  \new Lyrics = lyrics \lyricsto up { Words to first verse }
[...]
  \context Lyrics = lyrics \lyricsto up { Words to next verse }

Looks different to me.  Also, either version:

 \version 2.18.2

And indeed, version 2.18.2 falls flat rather uglily on the second
version while current LilyPond versions have no problem with it.

This is issue 2010
URL:https://code.google.com/p/lilypond/issues/detail?id=2010, fixed in
version 2.19.16 but likely not in a manner where this example would
work.  I suspect this example would require the fix from issue 4419
URL:https://code.google.com/p/lilypond/issues/detail?id=4419 in order
not to be stopped short, meaning a version of LilyPond of 2.19.23 or
later.

 Is there a way to make this work? (I realize that I could put all the
 information into variables, and rearrange the expression to be
 grouped by voice rather than verse. However, I am looking for a way
 to make the above grouping work).

Upgrade.  The respective fixes are in C++ code so there is no way you
can just patch up some parts of LilyPond.

-- 
David Kastrup

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


RE: Tablature - Hiding Tied Notes

2015-08-22 Thread mike1951
I figured out the solution.
The snippet I mentioned in my post was used in the following statement,
which would have (I suppose) taken care of a tied-to note at the beginning
of a measure:

  \override Tie  #'after-line-breaking =
#tie::tab-clear-tied-fret-numbers

Adding the following statement just below it solved my problem:

  \override Tie  #'before-line-breaking =
#tie::tab-clear-tied-fret-numbers

Bother overrides are in the \layout block in the \TabStaff context.  I use a
lot of intra-measure ties for aesthetic reasons, so I was getting tired of
keying \hide before every tied-to note.

I'd still like to know why I didn't need the 2nd override back in Fedora 17. 
The behavior changed some time after release and was present in F21, the
release I installed after F17.  It's hard to eliminate all ignorance.  




--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Tablature-Hiding-Tied-Notes-tp179883p179936.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: Coloring of key signature accidentals based on their pitch

2015-08-22 Thread Paul Morris
Hi David,

 On Aug 21, 2015, at 9:57 AM, David Nalesnik david.nales...@gmail.com wrote:
 
 You're welcome.  Just for kicks, I've attached a .cc file which you could 
 drop into the lily subdirectory and build.  It makes Line_interface::line 
 available to Scheme. You'd just need to replace the two instances in the 
 hairpin function with calls to ly:line-interface:line. So, lines 405-10 become
 
  (set! mol (ly:line-interface::line grob x starth width endh))
 
  (set! mol
(ly:stencil-add
 mol
 (ly:line-interface::line grob x (- starth) width (- 
 endh
 
 This enables drawing of the different line styles (dashed, zigzag, etc), 
 based on overrides of Hairpin.  AFAICT this makes the Scheme stencil callback 
 have all the same functionality as the C++ original.  So
 
 \override Hairpin.style = #'zigzag
 
 will work.
 
 You can also override dash-definition, and the like.
   
 (I will put this new line function forward as a patch for review when the 
 system is over the upcoming bump.)

Nice!  It’s cool to see how you’re doing this kind of thing with a relatively 
simple example.

 Seeing how you’ve done these is giving me some confidence that I might be 
 able to do the same for the ledger line print function.
 
 I looked at this briefly, enough to see that it will be more involved!  
 You'll need to track down the data structures used there and see if there's a 
 convenient Scheme alternative  But pretty complicated things are 
 possible--see the Scheme rewrite of the ambitus engraver in the snippets.

Yep, it still looks pretty daunting on closer inspection.  Seems like the 
ledger requests data structure stuff could be redone with some nested alists.  
We’ll see.  Thanks for the tip on that ambitus snippet – it is impressive!  I 
hadn’t looked at it before.  

 I made a “commented c++” version of your hairpin code.  This time I used 
 somewhat larger blocks of code which works better than line by line.  I ended 
 up also redoing the key signature file that way while I was at it — and made 
 the paren correction.  Both attached.
 
 Thanks!  The larger blocks of code are a good idea, especially when the 
 translation becomes less line-for-line.  (I kept pretty literal in my 
 adaptation, though.)
 
 I found an error in the hairpin code rewrite--we need to exit the entire 
 function when a bad grow-direction is found, so everything after line 44 
 needs to be a clause of the if-structure beginning in 41.  Simple removal of 
 the parenthesis in 44 and addition of one at the end fixes this.  I went 
 ahead and attached the correction with the indentation redone.  In this 
 connection, I'm noticing is that it's easy to get very nested structures in 
 Scheme when the C++ original exits at a number of points through returns.  
 Maybe there's an easy way to avoid this but I don't know of it.

Good catch, thanks!  The only thing I can think of to prevent this nesting is 
to split the function into separate functions and chain them together.  So you 
would either call the next function or “return early” without calling it.  All 
the needed data would be passed through as parameters.  Not sure if that’s a 
good approach (performance wise) or not.  On the one hand the additional 
functions aren’t even called in some cases, on the other hand you have more 
functions that get called when they are all needed.

Cheers,
-Paul

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


Re: question about putting music expressions in sequence

2015-08-22 Thread Peter Selinger
Hi Phil,

I just double-checked: 

* my two posted code snippets are not the same (the first uses
  \lyricmode and the second uses \lyricsto, as I had mentioned in the
  accompanying text).

* the two posted code snippets produce exactly the respective output I
  attached.

I'm using GNU LilyPond 2.18.2, as included in the current Ubuntu
distribution.

Could you double-check that you really can't reproduce the output? 

Thanks, -- Peter


Phil Holmes wrote:
 
 - Original Message - 
 From: Peter Selinger selin...@mathstat.dal.ca
 To: lilypond-user@gnu.org
 Sent: Saturday, August 22, 2015 3:32 PM
 Subject: question about putting music expressions in sequence
 
 
  Hello,
 
  I have a question about using lyrics with automatic syllable
  durations, when putting music expressions in sequence.
 
  The Learning Manual states: Putting a group of music expressions
  (e.g. notes) in braces means that they are in sequence (i.e. each one
  follows the previous one). The result is another music expression.
 
  I have a piece consistsing of several verses that must be engraved
  individually (each verse has a different melody and accompaniment).
  I'd like to arrange the input file so that the data is grouped by
  verse (rather than by voice). I was able to make this work using
  sequencing like this (see test1.pdf):
 
   \version 2.18.2
 
   {
 % First verse
 
   \new Voice = up \relative c' { e f g a }
   \new Lyrics = lyrics \lyricmode { Words to first verse }
   \new Voice = down \relative c' { c d e f }
 
 % Seconds verse
 
   \context Voice = up \relative c' { f g a b }
   \context Lyrics = lyrics \lyricmode { Words to next verse }
   \context Voice = down \relative c' { d e f g }
 
   }
 
  However, this only works as long as I enter manual syllable
  durations. If I try to use automatic syllable durations, everything
  breaks (see test2.pdf):
 
   \version 2.18.2
 
   {
 % First verse
 
   \new Voice = up \relative c' { e f g a }
   \new Lyrics = lyrics \lyricsto up { Words to first verse }
   \new Voice = down \relative c' { c d e f }
 
 % Seconds verse
 
   \context Voice = up \relative c' { f g a b }
   \context Lyrics = lyrics \lyricsto up { Words to next verse }
   \context Voice = down \relative c' { d e f g }
 
   }
 
  Not only does the second set of lyrics generate an error message, but
  also the notes to the second verse are not typeset at all, and an
  extra (empty) pair of staves is generated.
 
  Is there a way to make this work? (I realize that I could put all the
  information into variables, and rearrange the expression to be grouped
  by voice rather than verse. However, I am looking for a way to make
  the above grouping work).
 
 It looks to me that you have posted the same example twice, both of which 
 work as planned, and neither of which provides the output you've attached. 
 Please check.
 
 --
 Phil Holmes 
 


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


Re: Tablature - Hiding Tied Notes

2015-08-22 Thread Thomas Morley
2015-08-22 16:50 GMT+02:00 Stephen MacNeil classicalja...@gmail.com:
 hi mike1951

 As i said i only used tab for setting up certain functions - and only looked
 at full-notation once - i think.
 So I have absolutely no idea what you are after or what it should look like.
 My knowledge on tab is limited to perhaps only a few days of
 experimentation. Perhaps someone familiar with tab would know. Or post an
 image of the desired output and I can see the differences.

 Stephen

This thread is missing two things:

1)
The initial post, it didn't appear on the mailinglist up to now.

I now c/p from nabble
http://lilypond.1069038.n5.nabble.com/Tablature-Hiding-Tied-Notes-td179883.html

I used to add a snippet to my Lilypond tablature files that would
automatically hide the tied-to note, but newer versions have broken
the snippet.  Is there another (elegant) way to do this?  I'm using
'\hide'  for now, but I do a lot of ties, so I'd like it to be the
default behavior.  The snippet I used, but no longer works is:

#(define (tie::tab-clear-tied-fret-numbers grob)
 (let* ((tied-fret-nr (ly:spanner-bound grob RIGHT)))
 (ly:grob-set-property! tied-fret-nr 'transparent #t)))

Can this be fixed?

Thanks for any help.

Mike


2)
An example.
Containing the above definition, using it (how? where?) and the
versions: when did it work? when did it stop working?


Cheers,
  Harm

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


Re: question about putting music expressions in sequence

2015-08-22 Thread Thomas Morley
2015-08-22 16:32 GMT+02:00 Peter Selinger selin...@mathstat.dal.ca:
 Hello,

 I have a question about using lyrics with automatic syllable
 durations, when putting music expressions in sequence.

 The Learning Manual states: Putting a group of music expressions
 (e.g. notes) in braces means that they are in sequence (i.e. each one
 follows the previous one). The result is another music expression.

 I have a piece consistsing of several verses that must be engraved
 individually (each verse has a different melody and accompaniment).
 I'd like to arrange the input file so that the data is grouped by
 verse (rather than by voice). I was able to make this work using
 sequencing like this (see test1.pdf):

   \version 2.18.2

   {
 % First verse
 
   \new Voice = up \relative c' { e f g a }
   \new Lyrics = lyrics

\lyricmode
^^^

 { Words to first verse }
   \new Voice = down \relative c' { c d e f }
 
 % Seconds verse
 
   \context Voice = up \relative c' { f g a b }
   \context Lyrics = lyrics \lyricmode { Words to next verse }
   \context Voice = down \relative c' { d e f g }
 
   }

 However, this only works as long as I enter manual syllable
 durations. If I try to use automatic syllable durations, everything
 breaks (see test2.pdf):

   \version 2.18.2

   {
 % First verse
 
   \new Voice = up \relative c' { e f g a }
   \new Lyrics = lyrics

\lyricsto up
^^^

 { Words to first verse }
   \new Voice = down \relative c' { c d e f }
 
 % Seconds verse
 
   \context Voice = up \relative c' { f g a b }
   \context Lyrics = lyrics \lyricsto up { Words to next verse }
   \context Voice = down \relative c' { d e f g }
 
   }

 Not only does the second set of lyrics generate an error message, but
 also the notes to the second verse are not typeset at all, and an
 extra (empty) pair of staves is generated.

 Is there a way to make this work? (I realize that I could put all the
 information into variables, and rearrange the expression to be grouped
 by voice rather than verse. However, I am looking for a way to make
 the above grouping work).

 Thanks, -- Peter


I'd recommend upgrading

2.19.25 prints for your second example the attached.
As wanted, I guess

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


Re: question about putting music expressions in sequence

2015-08-22 Thread Phil Holmes
- Original Message - 
From: Peter Selinger selin...@mathstat.dal.ca

To: Phil Holmes m...@philholmes.net
Cc: lilypond-user@gnu.org
Sent: Saturday, August 22, 2015 4:05 PM
Subject: Re: question about putting music expressions in sequence



Hi Phil,

I just double-checked:

* my two posted code snippets are not the same (the first uses
 \lyricmode and the second uses \lyricsto, as I had mentioned in the
 accompanying text).

* the two posted code snippets produce exactly the respective output I
 attached.

I'm using GNU LilyPond 2.18.2, as included in the current Ubuntu
distribution.

Could you double-check that you really can't reproduce the output?

Thanks, -- Peter


Apologies: looked but did not see.  I'm using 2.19.23 currently, and for 
both snippets this works as you would want.  I suggest an update might be in 
order.


--
Phil Holmes 



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


Re: Distance of grob to barlines

2015-08-22 Thread David Nalesnik
Hi Andrew,

On Fri, Aug 21, 2015 at 6:51 PM, Andrew Bernard andrew.bern...@gmail.com
wrote:

 Can anybody kindly point me to code examples showing how to find the
 distance of a grob to its nearest enclosing barlines, in Scheme?


I don't know of any examples out there, be this will do it.

This uses the horizontal coordinate of the grob and barline as a simple
demonstration.  Depending on what precisely you mean by distance (right
edge to left edge, left edge to right edge, etc.) you may want to use
ly:grob-extent.

HTH,
David

%%
 \version 2.19.23

#(define (distance-to-nearest-barline dir)
   (lambda (grob)
 (let* ((refp (ly:grob-system grob))
(all-elts (ly:grob-array-list (ly:grob-object refp
'all-elements)))
(barlines (filter (lambda (elt)
(grob::has-interface elt
'bar-line-interface))
  all-elts))
(me-pos (grob::rhythmic-location grob))
(pred? (if (= LEFT dir) rhythmic-location=?
rhythmic-location?))
(closest (filter (lambda (b)
   (pred? me-pos (grob::rhythmic-location b)))
 barlines))
(closest (reduce
  (lambda (elem prev)
(if (pred?
 (grob::rhythmic-location prev)
(grob::rhythmic-location elem))
prev
elem))

  #f
  closest)))

   (if closest
   (let* ((me-X (ly:grob-relative-coordinate grob refp X))
  (closest-X (ly:grob-relative-coordinate closest refp X))
  (dist (- closest-X me-X)))
 (ly:grob-set-property! grob 'color darkgreen) ; for testing
 (ly:grob-set-property! closest 'color red) ; for testing
 (format #t distance between ~a and ~a: ~a~%
   grob closest dist))
   (ly:message No closest barline!)

{

  c'4 d' e'
  \once \override NoteHead.after-line-breaking =
#(distance-to-nearest-barline RIGHT)
  f'
  d'1
  c'4 d' e'
  \once \override Stem.after-line-breaking = #(distance-to-nearest-barline
LEFT)
  f'
  d'1
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user