Re: Help wanted from a blind user

2015-06-17 Thread Jim Long
On Wed, Jun 17, 2015 at 08:33:26PM -0500, Daniel Contreras wrote:
 A common practice in arranging for salsa or Latin music I am
 finding out is that when one is dealing with a d.s. al coda and
 things of that nature, it may require for the staff to stop at the
 double bar line, notate the ds and so forth, and start fresh again
 on the next system. So to summarize, I want a marked up in the
 middle of where a staff should be, but no staff lines or notes or
 anything. Can someone lead me in the right direction to accomplish
 this? Thanks again, and sorry for the complicated explanation.
 
 Daniel Contreras 

This is not necessarily peculiar to latin/salsa, it is rather prevalent
in popular music of many idioms.

This may not be the cleanest way to do it, but I generally use
something like this, when I need something like what you're
referring to:

\version 2.18.2

\score {
  {
\repeat unfold 12 { c'4 }
\bar ||
\stopStaff
s1 _\markup Your D.S. markup here
\once \override Score.BarLine.break-visibility = #end-of-line-invisible
\break

\startStaff
% Your coda goes here:
\repeat unfold 12 d'4
d'1
\bar |.
  }
}



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


Re: Color tweaks (edition engraver)

2015-04-27 Thread Jim Long
On Mon, Apr 27, 2015 at 04:44:52PM +0200, Urs Liska wrote:
 
 What we have in Frescobaldi depends on what we can catch by either 
 listening through engravers or by redefining command. So far I haven't 
 found a notion of a grob knowing if it has been tweaked or not.

As a Scheme/Lilypond novice sitting on the sidelines, I have a
difficult time judging whether my comments are obvious, stupid,
trival, useless, impractical, or some exquisite combination of all
five, but   (oh, and there's poorly thought-out)

If the grob doesn't know whether it's been tweaked, then perhaps
\tweak could do it?  Or, perhaps one could create a wrapper directive
\ctweak which invokes \tweak to perform the specific tweak that was
requested, and then \ctweak could also color the grob that got
tweaked?  Having to change one's code from tweak to ctweak and back
may be less than ideal.  Perhaps a global variable (ugh) could be
used by \ctweak, defaulting to black, so that by default \tweak
and \ctweak are equivalent, except that a user of \ctweak could
alter the global color variable to something other than black, 
resulting in all the \ctweaks appearing in that color.

I can't think offhand how to extend this to support users who use
a color other than black as the base color for engraved grobs, or
for how to show tweaked grobs which already use \ctweak's global
tweak color.  But if \tweak is defined in terms of Scheme/Guile
code (I'm ignorant on that point), perhaps a Scheme guru can
write a first-order approximation of \ctweak that could be 
included in any project's source code where it is desired.

A deeper change might be to add a property to all grobs that
contains a tweak-count, initialized to 0.  \tweak would increment
the count of each grob it touches, and then the grobs would know
whether they've been tweaked or not.  Pretty sure this is the
obvious option in paragraph 1.



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


Re: Pango Update in new binaries

2015-04-20 Thread Jim Long
On Mon, Apr 20, 2015 at 01:14:55PM +0200, Federico Bruni wrote:
 2015-04-07 19:47 GMT+02:00 Joshua Nichols josh.d.nich...@gmail.com:
 
  Hello all,
 
  I apologize if this question has already been asked.
 
  Has the new version of pango been ported to the binaries on
  mac/windows/linux? I noticed here
  https://code.google.com/p/lilypond/issues/detail?id=2656 that there has
  since been bug issues with a previous version that LilyPond has been using,
  and now there's been fixes to those bugs. I noticed its in the latest dev
  release of LilyPond, but my question is: is it being retroactively
  implemented in the stable release?
 
 
 Hi Josh
 
 Nobody replied to you.
 According to a recent discussion in this list, it seems that the new Pango
 version in GUB makes lilypond compile much faster. This would be another
 good reason to make a 2.18.3 release. Unless 2.20 is close... What
 developers think about it? (I'm cc-ing lilypond-devel).

I'm not sure whether this is germane to Josh's question, but I'm
running Lilypond 2.18.2 and pango 1.36.8, and haven't noticed any
problems.



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


Re: Do we really offer the future?

2015-04-20 Thread Jim Long
On Fri, Apr 17, 2015 at 04:45:20PM +0200, Gilles wrote:
 If and when big publishers use LilyPond, the result will be more
 restricted access (through cost) to culture (because they won't release
 their proprietary contents).

Forgive me if I've missed important bits of this conversation, but
I'm not I understand your point here -- can you expand on this
statement?  Why do you feel that large-scale adoption of OSS (in
general) will restrict and increase the cost of cultural access?



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


Re: Do we really offer the future?

2015-04-20 Thread Jim Long
On Mon, Apr 20, 2015 at 08:19:37PM -0700, Jim Long wrote:

 ...

 I'm not I understand 

 ...

I'm not *sure that* I understand 



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


Re: Text above fermata

2015-03-31 Thread Jim Long
On Wed, Apr 01, 2015 at 01:37:58AM +, Craig Dabelstein wrote:
 Hi Lilyponders,
 
 Does anybody know how I can get the text in this example to be above the
 fermata instead of below?
 
 When the fermata is attached o a full measure rest, the text goes
 automatically above, but when attached to a 2 beat rest the text goes below.

You want the outside-staff-priority property.  Either set the
fermata's (Script.) property small, so that it goes closer to the
staff, or set the markup's (TextScript.) large, so that it goes
farther away from the staff.

Actually, I can't get the latter to work on short notice, so here's
the former:

\version 2.18.2

\score {
  \new Staff {
c4 c c c |
R1\fermataMarkup ^G.P. |

c4 c c c |
c2 r2\fermata ^G.P. |

c4 c c c |
c2 
\once \override Script.outside-staff-priority = #50
r2\fermata ^G.P. |
  }
}


Jim

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


Re: Download link to current devel version

2015-03-29 Thread Jim Long
On Sat, Mar 28, 2015 at 10:51:27AM -, Phil Holmes wrote:
 
 Since the installers are all version specific (which I approve of: I keep 
 them all separate in a single downloads directory) I don't believe you can 
 link to a simple development installer.  You would need to parse the 
 download pages.

In the hopes that it will either meet your needs, or inspire
you to improve upon it, here is a script which does that.

usage:

foo.sh (architecture)

where (architecture) is one of:

linux-x86
linux-64
linux-ppc
freebsd-x86
freebsd-64
darwin-x86
darwin-ppc
mingw

The script parses the URL specified, and returns the first URL
which contains the string /lilypond/binaries/(architecture)/.

It uses a relatively simple approach, which might fail at some point 
in the future, if the HTML at http://lilypond.org/development.html 
were to change sufficiently, or if the directory structure at
linuxaudio.org were to change sufficiently.

HTH,

Jim


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


Re: Download link to current devel version

2015-03-29 Thread Jim Long
Disregard the line:

test|\

in that file.  That's leftover cruft from testing.

A revised script is attached.



On Sun, Mar 29, 2015 at 12:05:04AM -0700, Jim Long wrote:
 
 usage:
 
 foo.sh (architecture)
 
 where (architecture) is one of:
 
 linux-x86
 linux-64
 linux-ppc
 freebsd-x86
 freebsd-64
 darwin-x86
 darwin-ppc
 mingw


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


Re: cadenza_and_accidentals-take2

2015-03-28 Thread Jim Long
On Sat, Mar 28, 2015 at 07:45:51PM +, bobr...@centrum.is wrote:
 
 - Original Message -
  From: Noeck noeck.marb...@gmx.de
  
  A naive question: Could the \cadenzaOff command be changed in a way that
  it automatically implies the end of a measure at that point.
 
 I can think of instances where the end of a cadenza might not be at the end 
 of a measure.

I am speculating wildly, and I also am not generally a cadenza
user, but perhaps \cadenzaOff could also be made to cooperate
with \partial:

% simple case, without \partial:

\cadenzaOn

% lots of notes go here

\cadenzaOff

% a bar line appears here, and beat 1 follows

| c1
| c1

\bar |.

Or:

% a less simple case, using \partial:

\cadenzaOn

% lots of notes go here

\cadenzaOff

\partial 4.

b'8 c'' d''

% a bar line appears here, and beat 1 follows

| c1
| c1

\bar |.




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


Re: musicxml2ly

2015-03-21 Thread Jim Long
On Fri, Mar 20, 2015 at 12:20:56AM +0100, Martin Tarenskeen wrote:
 
 I am not a Mac user. But first thing I thought was: doesn't a Mac have a 
 PATH variable like Linux and Windows have, where the long path to 
 ./bin can be added before having to type such long commands?

Also, like most UNIX OSes, OSX probably has an 'alias' command,
so those command-line params can also be specified once and then
not re-typed later:

PATH=${PATH}:/Applications/LilyPond.app/Contents/Resources/bin/musicxml2ly
alias musicxml2ly='musicxml2ly --nd --nrp --npl --no-beaming -m 
--language=english'

for f in *.xml; do musicxml2ly $f; done



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


Re: musicxml2ly

2015-03-21 Thread Jim Long
D'oh!  Thanks for catching my proofreading error.


On Sun, Mar 22, 2015 at 12:20:46AM +0100, Noeck wrote:
  PATH=${PATH}:/Applications/LilyPond.app/Contents/Resources/bin/musicxml2ly
 
 The folder should be in the path, not the executable:
 
 PATH=${PATH}:/Applications/LilyPond.app/Contents/Resources/bin
 
 ___
 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: Creating Rest of length of music variable

2015-03-17 Thread Jim Long
On Tue, Mar 17, 2015 at 10:21:55AM -0700, H. S. Teoh wrote:

   
 http://lilypond.org/doc/v2.18/Documentation/notation/special-rhythmic-concerns#aligning-to-c
adenzas

Wow, those functions are almost buried in the docs.  I don't see
either of them in the index, and I would never have guessed that
'cadenza' was a relevant search term for this particular request.

Nice find!



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


Re: Creating Rest of length of music variable

2015-03-17 Thread Jim Long
On Tue, Mar 17, 2015 at 06:06:58PM +0100, Urs Liska wrote:
 Hi,
 
 I'm looking for a way to create a MultiMeasureRest of exactly the same 
 length as a music variable.

I've mentioned before that extractMusic is in my standard bag of
tricks.  If it were me, I'd use that.  It's easier than writing
something new that does the same thing.

This does have the limitation that you have to set an arbitrary
size limit, the maximum duration of moments of rest that can be
created via this method.  In this example, that limit is set at
50,000 bars.

Jim


\version 2.18
 
\include extractMusic.ily % http://lsr.dsi.unimi.it/LSR/Item?id=542

music = {
  \key fis \major
  ais'4 gis' fis' gis'
  ais'4 ais' ais'2
  gis'4 gis' gis'2
  ais'4 ais' ais'2
  ais'4 gis' fis' gis'
  ais'4 ais' ais' ais'
  gis'4 gis' ais' gis'
  fis'1 
} 

\score {
  
\new Staff = one \music
\new Staff = two \extractBegin R1*5 \music
  
}



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


Re: Tweak Down causes extra space

2015-03-12 Thread Jim Long
We may be at cross purposes if you're creating score-oriented
music.  I generally create lead sheets.  But no matter.

I can understand your question, but will you eventually be
generating single parts from your score?  Would you not then
WANT to have the D.C. included in every part?  \global helps
you there, compared to having to manually insert the D.C.
markup into each instrument part when you go to produce
individual parts.

If Harm's solution works for you, that's what I would use.
However, I would still recommend putting all rehearsal marks
(including the D.C.) into the global music variable, so that both
your full score and your individual parts will have identical
rehearsal marks.

Jim


On Thu, Mar 12, 2015 at 08:37:13PM +, Craig Dabelstein wrote:
 Hi Jim,
 
 When I put in the Da Capo as a text markup in the global section, it ends
 up appearing on every staff, rather than just the bottom one, whereas when
 it is in as a rehearsal mark it only appears once like it should.
 
 How do you overcome this? See attached file.
 
 Craig
 
 
 On Fri, 13 Mar 2015 at 06:25 Craig Dabelstein craig.dabelst...@gmail.com
 wrote:
 
  Hi Jim,
 
  Thanks for your quick response. I'll look into your solution now.
 
  Craig
 
 
 
 
  On Fri, 13 Mar 2015 at 06:23 Jim Long lilyp...@umpquanet.com wrote:
 
  Hi, Craig.
 
  Just for a different perspective, I always put form-related marks
  like D.C., D.S., Segnos, Codas, Fines, etc. in the global section.
  Since they (almost always) need to be in the same location for all
  parts, it makes the most sense to me to put them there once, and
  then use the \global variable in each part to make sure that all
  parts are consistent.
 
  That said, I'm attaching a diff to your original file that shows
  how I would do what you're trying to accomplish.  I, too, have
  seen that \marks will sometimes distort the musical spacing, but
  except for lots of fiddling with X-extents and offsets, I don't
  know how to do anything about it.
 
  My approach uses TextScript markup objects instead of RehearsalMark
  objects.  I hope it will give you some ideas about alternative
  solutions to your problem.
 
  Jim
 
 
 
  On Thu, Mar 12, 2015 at 07:35:44PM +, Craig Dabelstein wrote:
   Hi Lilyponders,
  
   Has anyone run into this before.
  
   When including a Da Capo markup at the end of a file, if it sits above
   the staff it is fine, but when I uncomment the \tweak direction #DOWN
   command it moves the marking below the staff but adds a heap of  extra
   space. Please see the attached file.
  
   This has been driving me crazy. I'm sure there is a simple fix that I've
   overlooked.
  
   Craig
  
  
  
  *Craig Dabelstein*
e:craig.dabelst...@gmail.com
http://www.facebook.com/craig.dabelstein
   http://au.linkedin.com/pub/craig-dabelstein/b2/5b8/389/en
 
 
   ___
   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: Tweak Down causes extra space

2015-03-12 Thread Jim Long
Hi, Craig.

Just for a different perspective, I always put form-related marks
like D.C., D.S., Segnos, Codas, Fines, etc. in the global section.
Since they (almost always) need to be in the same location for all
parts, it makes the most sense to me to put them there once, and
then use the \global variable in each part to make sure that all
parts are consistent.

That said, I'm attaching a diff to your original file that shows
how I would do what you're trying to accomplish.  I, too, have
seen that \marks will sometimes distort the musical spacing, but 
except for lots of fiddling with X-extents and offsets, I don't
know how to do anything about it.

My approach uses TextScript markup objects instead of RehearsalMark
objects.  I hope it will give you some ideas about alternative
solutions to your problem.

Jim



On Thu, Mar 12, 2015 at 07:35:44PM +, Craig Dabelstein wrote:
 Hi Lilyponders,
 
 Has anyone run into this before.
 
 When including a Da Capo markup at the end of a file, if it sits above
 the staff it is fine, but when I uncomment the \tweak direction #DOWN
 command it moves the marking below the staff but adds a heap of  extra
 space. Please see the attached file.
 
 This has been driving me crazy. I'm sure there is a simple fix that I've
 overlooked.
 
 Craig
 
 
 
*Craig Dabelstein*
  e:craig.dabelst...@gmail.com
  http://www.facebook.com/craig.dabelstein
 http://au.linkedin.com/pub/craig-dabelstein/b2/5b8/389/en


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

--- testfile.ly.orig2015-03-12 13:06:16.0 -0700
+++ testfile.ly 2015-03-12 13:17:01.0 -0700
@@ -1,17 +1,7 @@
 \version 2.18.2
 \language english
 
-daCapo = {
-  \once
-  \override Score.RehearsalMark #'self-alignment-X = #RIGHT
-  \once
-  \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
-  %\tweak direction #DOWN
-  \mark
-  \markup {
-\italic Da Capo
-  }
-}
+daCapo = \markup { \italic Da Capo }
 
 global = {
   \markLengthOn
@@ -29,7 +19,8 @@
   \mark TRIO (ad lib.)
   \key g \major
   \repeat volta 2 {
-s2*8 
+s2*7 
+s4 s4_\daCapo
   }
 }
 
@@ -64,7 +55,6 @@
 c8 c d4 |
 b8 c a d |
 g,8\ff b16 a g8 r |
-\daCapo
   }
 }
 
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Copying metronome marks to multiple \StaffGroup's

2015-03-11 Thread Jim Long
On Wed, Mar 11, 2015 at 07:30:54PM -0700, H. S. Teoh wrote:
 On Wed, Mar 11, 2015 at 08:40:20PM -0400, Kieren MacMillan wrote:
 [...]
  Hopefully the snippet below helps.
 
 Thanks so much!!!

snip

 A minor issue remains: how do I adjust the vertical distance of the
 tempo marks from the staff immediately below it? It seems uncomfortably
 close in one case where the staff also has a Solo marking above it,
 right underneath the tempo indication.

I ran into this just yesterday.

  \once \override Score.MetronomeMark.padding = #2
  \tempo 2 = 60 % bpm

Although, if you've moved the MetronomeMark engraver into a
different context (other than the default 'Score' context), then
you'll have to change the '\override Score...' to match the
context you used.

Also, two staff spaces (#2) may not be the value you want --
adjust to taste.

Jim


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


Re: How to remove tags from music returned by \keepWithTag ?

2015-03-10 Thread Jim Long
On Tue, Mar 10, 2015 at 10:49:05AM +0100, Thomas Morley wrote:
 
 Something in
 http://lsr.di.unimi.it/LSR/Item?id=871
 which matches your needs?
 (didn't test myself)
 
 Cheers,
   Harm

Thank you, Harm!  That looks very promising.  I must train myself
to remember the snippet repository when I'm Googling for
solutions.

\taggedRep looks especially interesting.  I often use the
'extractMusic' family of snippet functions, for cases when a
phrase repeats, but with slight variation (most conveniently, at
the beginning or ending of the phrase):

\include extractMusic.ily % http://lsr.dsi.unimi.it/LSR/Item?id=542

Aphrase = {
  c'4 d' e' f'
  g' a' b' c''
  c'' b' a' g'
  f' e' d' c'
}

\score {
  \extractBegin { \repeat unfold 3 \Aphrase } s1*11 % copy first 11 bars
  d'4 f' e' c' % 12th bar
}

But \taggedRep doesn't quite fit that use case.  Hmm, I'll have
to muse over it a while and see if new uses for \taggedRep reveal
themselves to me.

Thanks again!

Jim
\include extractMusic.ily % http://lsr.dsi.unimi.it/LSR/Item?id=542
\include tagging.ily % http://lsr.di.unimi.it/LSR/Item?id=871

Aphrase = {
  c'4 d' e' f'
  g' a' b' c''
  c'' b' a' g'
  f' e' d' c'  
}

\score {
  \new Staff {
\extractBegin { \repeat unfold 3 \Aphrase } s1*11 % copy first 11 bars
d'4 f' e' c' % 12th bar
  }
}

Aphrase = {
  c'4 d' e' f'
  g' a' b' c''
  c'' b' a' g' 
  
{ f' e' d' c' } % 4th bar and 8th bar
\tag #'lasttime { d'4 f' e' c' } % 12th bar
  
}

\score {
  \new Staff \taggedRep #'firsttime #'lasttime 3 \Aphrase
}



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


Re: Getting ragged-last-bottom et. al to work?

2015-03-09 Thread Jim Long
On Mon, Mar 09, 2015 at 03:01:46PM -0400, st...@linuxsuite.org wrote:

  Umm,,, no I don't want a ragged layout. I want the last line on
 the last page to fill the line..

That's ragged-last = ##f (2.18.2 NR 4.1.5).  Even better, ##f is
the default value, so you should be fine just searching for
ragged-last and commenting out any occurrence(s) you find.  Make
sure also that your tiny example doesn't use any include files
that mess with ragged-last.




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


How to remove tags from music returned by \keepWithTag ?

2015-03-09 Thread Jim Long
If I:

music = \relative c'' {
  \tag #'a { a a a a }
  \tag #'b { b b b b }
}

and then:

musicA = \keepWithTag #'a \music

\keepWithTag gives me the equivalent of:

musicA = \relative c'' { \tag #'a { a a a a } }

What I want is:

musicA = \relative c'' { a a a a }

In other words, I'd like to find a function similar to
\keepWithTag, except that the returned music expression would be
entirely free of all tags.  Perhaps even better would be a
general function which simply strips \tag attributes from a music
expression, but leaves the tagged music itself.

Is this possible?

Jim



music = \relative c'' {
  \tag #'a { a a a a }
  \tag #'b { b b b b }
}

musicA = \keepWithTag #'a \music
% Using \keepWithTag gives me:
% musicA = \relative c'' { \tag #'a { a a a a } }
% what I want is:
% musicA = \relative c'' { a a a a }

musicB = \keepWithTag #'b \music

\markup Music I:
\score { \music }

\markup Music II:
\score { \musicA }

\markup Music III:
\score { \keepWithTag #'aardvark \musicA }

\markup Music IV:
\score { \musicB }

\markup Music V:
\score { \keepWithTag #'beeblebrox \musicB }


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


Re: exercises book

2015-03-04 Thread Jim Long
On Wed, Mar 04, 2015 at 11:00:32PM +, Carlo Vanoni wrote:
 Now, I'll like to have each exercise on a single line, or by the way control 
 when to break. I'm able to avoid automatic break by adding \noBreak here and 
 there, but in seems not like the best way to do it. Any better way to force, 
 i.e., to break only after 5 bars for exercise1, 4 bars for exercise2, ...?

 Also, if an exercise won't be automatically breaked, it won't fill the page 
 width. How to let every exercise to fill the page width? Tried ragged-last, 
 ragged-last-bottom on \paper definition, but it didn't work.

Here is a function I received from this list that I think could
be of benefit to you:

noBreak =
#(define-music-function (parser location music) (ly:music?)
  #{ \temporary\override
   Score.NonMusicalPaperColumn.line-break-permission = ##f
 #music
 \revert Score.NonMusicalPaperColumn.line-break-permission
  #})

Its usage is:

\noBreak { \music }

around segments of \music where you wish to forbid line breaking.

Regarding the second point, you want ragged-right = ##f, as the
attached example shows.

HTH,

Jim


\version 2.18.2

noBreak =
#(define-music-function (parser location music) (ly:music?)
  #{ \temporary\override
   Score.NonMusicalPaperColumn.line-break-permission = ##f
 #music
 \revert Score.NonMusicalPaperColumn.line-break-permission
  #})


% example:

\paper {
  ragged-right = ##f
}

musicOne = { R1*4 R1*4 }
musicTwo = { R1*4 R1*4 }
musicThree = { R1*4 R1*4 }
musicFour = { R1*4 R1*4 }

\score {
  \musicOne
}

\score {
  { \musicTwo \musicThree }
}

\score {
  \noBreak { \musicTwo \musicThree }
}

\score {
  \musicFour
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Defining new contexts

2015-02-24 Thread Jim Long
On Tue, Feb 24, 2015 at 10:14:22AM -0700, Paul Morris wrote:
 Jim Long wrote
  Is there a way I can define a context based on ChordNames and
  have it automatically inherit all of the properties of a
  ChordNames context, except the ones that I specifically change in
  my custom definition?  
 
 Yes, in fact you're already doing this, explained below...
 
 
 Jim Long wrote
  In other words, a way to eliminate the
  need for the second \context {} block in your example?
 
 The short answer is no.  Whether (for example) a PianoStaff context can
 contain (accepts) a ChordNames context or not is not a property of
 ChordNames but a property of PianoStaff.  So you have to tell PianoStaff
 (and friends) to accept your new and unknown context.

Yes, I have sighed and accepted this.  But it would be nice, if
it is practical, for Higher contexts to decide to accept Lower 
contexts based on context name (\ChordNames) as well as on alias
(\alias ChordNames).  On the prinicple that any friend of
ChordNames is a friend of mine!

 You can just do it once and put it in an include file so you don't have to
 do it again.  That's what I do.

 (I suppose it would be possible to change how LilyPond handles this so that
 unknown/custom contexts were accepted by default by other contexts (rather
 than rejected by default).

I don't ask for accepted by default, but I was hoping rather
that A would accept C because A accepts B, and C is explicitly
declared as an alias of B.  Therefore, A would accept B and all
aliases of B.

 Or, probably better, introduce some kind of
 passes as property where you could tell other contexts to treat this
 context like X context for purposes of accepting/rejecting it.)

??? I was hoping that \alias ChordNames would buy that for me.

 Hope that helps,
 -Paul

You have taken some of the sting out of it, but I will still be
grateful to anyone who has the time and a patch to make this more
automatic.

Thanks, Paul.

Jim

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


Re: Defining new contexts

2015-02-23 Thread Jim Long
On Mon, Feb 23, 2015 at 10:28:37AM +0100, Thomas Morley wrote:
 
 Try the following, comments inline:
 
 \score {
   
 \new XChords \chordmode { c1 }
 \new Staff   \chordmode { c1 }
   
   \layout {
 \context {
   %% copies settings from ChordNames
   %% No need to create a new context from scratch
   \ChordNames
   \name XChords
   \alias ChordNames
   \override ChordName.font-size = #12
 }
 %% let Score accept XChords, likely need to let it be accepted by other
 %% context as well. I.e. do the same for Pianostaff, GrandStaff, 
 ChoirStaff,
 %% maybe more, have a look in engraver-init.ly to see which contexts
 %% accept the default ChordNames
 \context {
 \Score
 \accepts XChords
 }
   } % layout
 }
 
 HTH,
   Harm

Thank you.  But if I have to do all the \Score \accepts stuff,
then I guess I don't understand what '\alias ChordNames' does in
your example.  I'd like to find a simple way of declaring that
my custom context X is just like built-in context Y, except that
it modifies these settings.  The appeal of that goes downhill
quickly if there are loose ends that have to be tied back into
Lilypond internals.

Is there a way I can define a context based on ChordNames and
have it automatically inherit all of the properties of a
ChordNames context, except the ones that I specifically change in
my custom definition?  In other words, a way to eliminate the
need for the second \context {} block in your example?

Jim

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


Defining new contexts

2015-02-23 Thread Jim Long
I'm experimenting with defining and using custom contexts.

I have not succeeded in applying the example at:

http://lilypond.org/doc/v2.18/Documentation/notation/defining-new-contexts

to my tiny example below attempting the creation of a custom
ChordNames context.  The '\new XChords' line throws a warning:

GNU LilyPond 2.18.2
Processing `foo.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
Interpreting music...
warning: cannot find or create new `XChords'
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `foo.ps'...
Converting to `./foo.pdf'...
Success: compilation successfully completed


How can I modify the second score's source to have the scores
engrave the same in the output file?

Thank you!

Jim


\version 2.18.2

\score {
  \layout {
\context {
  \ChordNames
\override ChordName.font-size = #12
} % context
  } % layout
  
\new ChordNames \chordmode { c1 }
\new Staff  \chordmode { c1 }
  
}


\score {
  \layout {
\context {
  \name XChords
\alias ChordNames
\override ChordName.font-size = #12
\type Engraver_group
} % context
  } % layout
  
\new XChords \chordmode { c1 }
\new Staff   \chordmode { c1 }
  
}

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


Re: system-system-spacing unevenness

2015-02-21 Thread Jim Long
Thank you very much, Harm.

On Sat, Feb 21, 2015 at 10:52:52PM +0100, Thomas Morley wrote:
 
 
 harmonies = \new ChordNames
 \with {
   %% !!!
   %% from NR:
   %% Setting staff-affinity to #f causes a non-staff line to be treated
   %% as a staff.
   %% Now 'ChordNames' are recognized by the spacing-engine and equal
   %% spacing should result, meaning the space between the upper Staff
   %% for melody and the ChordNames are always the same (not the space
   %% between two melody-Staffs, though.)
   %% More, 'VerticalAxisGroup.staff-staff-spacing' will work now, as a 
 valid
   %% setting for score-spacing
   %% !!!
   \override VerticalAxisGroup.staff-affinity = ##f %% default is 
 @code{DOWN}
   \override VerticalAxisGroup.staff-staff-spacing = #'(
   (basic-distance . 0.5)
   (minimum-distance . 0.5)
   (padding . 1)
   (stretchability . 0)
 )
 }
 \chordmode {
   \repeat unfold 9 { c2 a2:m | f2 g2 | s4 c s a:m | f2 g2 }
 }

I did not know that Lily does not by default recognize a
ChordNames context as a staff for the purposes of system
spacing!  I always associated my problem with the RhythmicStaff,
because the wider-than-usual system spacing happened whenever
there was a non-hidden RhythmicStaff in a given system.

I can now make some aesthetic improvements to several of my
charts.

Thanks again!

Jim

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


system-system-spacing unevenness

2015-02-21 Thread Jim Long
I'd like to take just a slight tangent on the recent thread about
increasing system-system-spacing.  I often have scores that show
up with uneven spacing.  A tiny example is attached.

First, is it syntactically correct?

And second, how can I get the system spacing more even?

The example intentionally doesn't alter system-system spacing
anywhere.  Instead, it just uses ragged-last-bottom = ##f.  I
would like the spacing to be equally distributed.  There are 8
gaps between the 9 systems, but the system-system gaps are
unequal in size.

How can I get the systems to be equally spaced?

Thanks!

Jim
\version 2.18.0

\paper { ragged-last-bottom = ##f }

melody = \new Staff \with {
  \override VerticalAxisGroup.staff-staff-spacing = #'(
  (basic-distance . 1)
  (minimum-distance . 1)
  (padding . 1)
		)
} \repeat unfold 9 { \repeat unfold 4 { g4 g'' g'' g'' } \break }


harmonies = \new ChordNames \with {
  \override VerticalAxisGroup.staff-staff-spacing = #'(
  (basic-distance . 1)
  (minimum-distance . 1)
  (padding . 1)
		)
} \chordmode {
  \repeat unfold 9 { c2 a2:m | f2 g2 | s4 c s a:m | f2 g2 }
}


rhythms = \new RhythmicStaff \with {
  \override StaffSymbol.line-count = #0
  \override StaffSymbol.staff-space = #(magstep -3)
  \omit BarLine
  \omit TimeSignature
  \override NoteHead.style = #'slash
  \override VerticalAxisGroup.staff-staff-spacing = #'(
  (basic-distance . 1)
  (minimum-distance . 1)
  (padding . 1)
		)
  fontSize = #-2
} { % 36 bars
  \stemDown
  s1*8
  s1 s1 | r4 b r b | b r b r
  s1*4
  s1 s1 | r4 b r b | b r b r
  s1*8
  s1 s1 | r4 b r b | b r b r
  s1 s1 | r4 b r b | b r b r
} % rhythms


\score {
  
\harmonies
\rhythms
\melody
  
  \layout {
\context { \RhythmicStaff \RemoveEmptyStaves }
  }
}


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


Re: Line Length

2015-02-14 Thread Jim Long
http://lilypond.org/doc/v2.18/Documentation/notation/line-length


On Sat, Feb 14, 2015 at 03:58:17PM -0400, William Marchant wrote:
 Hi,
 I have a CODA at the end of a song, which I would like to keep by itself 
 on the bottom line.  There are three bars with one or two notes each and 
 it looks very spread out.  How can I control the length of the line, or 
 place the notes closer together? I have spent several hours trying to 
 find the answer in the docs, but without success.
 Bill
 
 
 ___
 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: Broken ligatures in recent LilyPond versions

2015-02-14 Thread Jim Long
 It is more complicated than that.  Here is the ideal model for
 OpenType ligature handling.

snip

Thank you very much, Werner.


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


Re: Broken ligatures in recent LilyPond versions

2015-02-12 Thread Jim Long
On Fri, Feb 13, 2015 at 12:36:10AM +0100, Noeck wrote:
 Hi Jim,
 
 concerning ligatures, you can forget about my paper block. It was just there,
 because I know this font has ligatures. This markup line should be all you 
 need:
 
  \markup Ligatures: The Que fi fl
 
  What is special about that markup syntax that tells lily that
  there are any ligatures present in the markup?
 
 There is nothing special in the syntax. The backend should know itself, that 
 the
 font has some ligature defined which means f and i following one another are 
 not
 separate letters fi but combined into a combined symbol: ???
 And (if defined in the font) the same holds for: f + l = ??? and others.
 
 Is it clearer now?
 
 Here is more about it: http://en.wikipedia.org/wiki/Typographic_ligature
 
 Cheers,
 Joram

Thanks for the reply.  So do I understand you correctly, that if
a font contains a ligature for a given sequence of characters,
then Lilypond will always typeset that character sequence using
the ligature, and it is not possible to typeset them as separate
glyphs?

That is to say, the following naive example is not possible to
implement, because if FontA defines that f followed by i will
always be ligatured, it is not possible (at least in Lilypond) to
typeset them separately?  And if there is a ligature for AE, then
likewise for the capitalized vowels?

\markup this is FontA with a ligature: fi
\markup this is FontA without a ligature: fi
\markup capitalized vowels: AEIOU

Thanks!

Jim

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


Re: converting old to new version not working right

2015-02-09 Thread Jim Long
One possible explanation is that you have more than one version
of convert-ly on your system, perhaps from having installed the
software using different methods.  If the older one is in a path
that gets searched before the new binary's location, then your
shell will find and run the old one.

$ find / -name convert-ly

should confirm or refute that theory.

If it's not that, another possibility is that perhaps your
package management tools or procedures have led you astray
somehow.  Download a new package, and check its contents before
you re-install it.  Afterward see whether the convert-ly binary
that got installed is the same as the one inside the package
archive.

HTH,

Jim


On Mon, Feb 09, 2015 at 01:47:31PM -0700, Thomas Spuhler wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 I am trying to build Messiah I downloaded from a WEB -site. There is no 
 version in the lily files, but the WEB site and also the pdf from the same 
 web-
 site says, it's 2.13.8
 but when I convert this file with the command 
 convert-ly -edc --from=2.13.8 part-vocal-keyboard.ly
 
 it adds on top of the file \version 2.16.0
 
 I have version 2.18.2 installed.
 
 why is it only updating to version 2.16.0?
 
 FYI
 $ rpm -qa |grep lilypond
 lilypond-2.18.2-1.mga
 
 - -- 
 Best regards
 
 Thomas Spuhler
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iEYEARECAAYFAlTZHOoACgkQjsMgV2ARTmPygACdHdMjB05dC/1FS9IzP2qC93nF
 Vx4An1wKAifwCNOD1YDIo2pg/amrG6Zj
 =pG/s
 -END PGP SIGNATURE-


 ___
 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: converting old to new version not working right

2015-02-09 Thread Jim Long
 but when I convert this file with the command 
 convert-ly -edc --from=2.13.8 part-vocal-keyboard.ly
 
 it adds on top of the file \version 2.16.0
 
 I have version 2.18.2 installed.
 
 why is it only updating to version 2.16.0?

Sorry, I didn't read closely enough and check your args against
the man page.

-d says that the version number won't be changed if the file
doesn't require any modifications.  I would surmise that the code
you're using, once raised to 2.16.0, requires no further mods to
run under 2.18.2.  Therefore, the version statement is updated
only to 2.16.0.

Lose the -d switch if you don't want that behaviour.

HTH,

Jim

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


Re: converting old to new version not working right

2015-02-09 Thread Jim Long
 $ locate convert-ly
 /usr/bin/convert-ly
 /usr/share/doc/lilypond-doc/share/man/man1/convert-ly.1
 /usr/share/man/man1/convert-ly.1.xz

You likely know, but for the benefit of others who may not,
locate is not definitive.  At least on systems I'm familiar with,
locate uses a database which is updated only periodically, and
which could be several days out of date.  'find' OTOH, *is*
definitive, which is why I suggested its usage.  In case you had
found multiple executables, I should have also suggested running
'which convert-ly' to show which executable comes first in the
search path.  But no matter.

 Looking into the file /usr/bin/convert-ly shows, it's 2.18.2

What's the URL of the source file you're converting?

Jim

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


Re: sus7 chords in \chordmode

2015-01-27 Thread Jim Long
On Sun, Jan 25, 2015 at 07:18:52PM -0600, Tim McNamara wrote:
 I have repeatedly run into difficulties getting Lilypond to properly render 
 sus7 chord names in \chordmode.  It comes up with silly things like G7sus4 
 3??? and the like.  What is the correct syntax to get a simple ???Gsus7??? to 
 print?  I???ve tried every combination I can think of.  
 
 (By the way, I am also using the pop-chords exception list as I don???t like 
 the Ignatzek standard that is the default in Lilypond).

Are you asking for the \chordmode input syntax, or the 
markup syntax to use in your chord exceptions list?

I can't vouch for whether pop-chords Does The Right Thing (tm) or
not, but

c:sus4.7

is the syntax that works for Lilypond proper.


Jim

\score {
  
   \new ChordNames \chordmode { c1:sus4.7 }
   c'
  
}


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


Re: Grand Advanced Stylesheet Project (GASP)

2015-01-19 Thread Jim Long
On Mon, Jan 19, 2015 at 09:36:55AM -0500, Kieren MacMillan wrote:
 
  Melody + chords (tunes, e.g. Irish or old-timey)
 
 That's a lead sheet in my parlance.

IMO, it would be useful to include an (optional) lyric context in
the lead sheet stylesheet.


Jim

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


Re: Double thin bar lines and repeats?

2015-01-19 Thread Jim Long
On Tue, Jan 20, 2015 at 01:40:11AM +0100, Thomas Morley wrote:
 
 To answer my own question:
 In repeat-acknowledge-engraver.cc is a comment and code:
 
   /*
 We only set the barline if we wouldn't overwrite a previously set
 barline.
   */
   SCM wb = get_property (whichBar);
   SCM db = get_property (defaultBarType);
   if (!scm_is_string (wb) || ly_is_equal (db, wb))
 {
   if (s !=  || (volta_found  !scm_is_string (wb)))
 context ()-set_property (whichBar, ly_string2scm (s));
 }
 }
 
 Although I don't know C++, it seems to be pretty clear what happens

One other consideration in this very specific example (a double
barline followed by an open-volta repeat) is an obscure bit of
musical notation practice which took me by surprise a couple
years ago when I first learned of it.

Many folks no doubt know that, when a volta begins at the
beginning of a piece, the opening volta barline is often omitted.
The reader is expected to know that when the closing volta
barline is found, it repeats to the beginning of the piece, by
default.

What I didn't know until somewhat recently, is that a
double barline is handled the same as the beginning of a piece.

That is, a closing volta barline which has no matching opening
volta barline repeats either to the beginning of the piece, or to
the nearest double barline, whichever is closer.

That's another reason why || wins out.


Jim

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


Re: Double thin bar lines and repeats?

2015-01-19 Thread Jim Long
On Mon, Jan 19, 2015 at 06:26:38PM -0800, Jim Long wrote:
 
 That is, a closing volta barline which has no matching opening
 volta barline repeats either to the beginning of the piece, or to
 the nearest double barline, whichever is closer.

My apologies for not describing that very definitively, but
hopefully the point is clear enough.

A contrived exceptional counter-example is attached.


Jim
\score {
  {
c'1
\repeat volta 2 {
  d'1
  \bar ||
  e'1
}
\repeat volta 2 {
  f'1
}
\bar ||
\repeat volta 2 {
  g'1
  \bar ||
}
\repeat volta 2 {
  \bar ||
  a'1
}
  }
}


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


Re: snippet throws programming errors

2015-01-12 Thread Jim Long
On Mon, Jan 12, 2015 at 05:25:55PM -0600, Cynthia Karl wrote:
 The following snippet:
 
 \version 2.19.15
 
 music = \relative c'' { e2 g, }
  
 \score{
   \new Staff  \key c \major  \music 
   \layout {
 \context { \Voice \consists Ambitus_engraver } 
   }
 }

Your Staff line is equivalent to:

\new Staff
  
{ \key c \major }
{ \music }
  

Thus, there is no music in the first expression.  In a nutshell, that
is what is causing your issue.

...
   * replace ... with {...} on the \new Staff statement.
...

That is the correct solution, IMO.


HTH,

Jim


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


Re: How can I write simultaneous music in \chordmode?

2015-01-07 Thread Jim Long
On Wed, Jan 07, 2015 at 04:46:48PM -0500, Kieren MacMillan wrote:
 
 Did you try adjusting the function to handle chords? As I wrote, ?This kind 
 of thing would also automagically work ? or easily be made to work ?  
 on chords.? (new emphasis)
 
 Unfortunately, that's beyond my Scheme-fu, and I have no spare time right now 
 to climb that learning curve.

We're in the same boat there.  In fact, I'm not even sure
I know how to write the specifications for what I would want such
a function to do, and what it's interface should be.  Minimum
accidentals is not always my criterion of choice.  There are
times when a C# 7 chord (V chord of F#, 6 sharps) is fine, and
there are other times when I'd rather call it a Db 7 (V chord of
G-flat, 6 flats).  Can \naturalizeMusic be made to consider the
key signature that is in effect at the time?  Even so, I have a chart
in several flats where I just can't bring myself to use a C-flat
13 chord, and instead I call it a B 13, even though the melody
note is clearly a G-flat.  That's not minimum accidentals, it's
just personal preference.  I have zero idea how to begin spec'ing
such a function for automagic conversion, let alone implement it.

I get the feeling that this begins to encroach on certain topics
posted recently by Peter Gentry, and I have to salute him for
making the time to dive headfirst into the details of Scheme, but
as you say, I don't have the time right now, nor the motivation,
really.  \tag works well enough for my needs, but I was puzzled
to learn that simultaneous music  \tag #'a {} \tag #'b {} 
doesn't work in chordmode.  That makes me have to use some klunky
work-arounds when extracting a fixed number of measures from
chordmode music that contains tags.

Btw, thanks for the pointer to chord-entry.scm -- I'll have a read.

In the meantime, I hope my original question will continue to
attract the collective brain cycles of the list.

I can anticipate at least one question:

q1) how would simultaneous chord music be engraved?

a1) Selfishly, I don't need it to -- I strip out the unwanted
tags, leaving only one remaining alternative before it gets
engraved.  So the engraver could throw an error if it was asked
to engrave simult. chord music, if that were convenient.  Or
another possibility is that it could just overwrite the chord
markup, with multiple markups one on top of the other.  It'd make
a big blob in the chord staff, but again, I don't care because I
don't anticipate ever passing simultaneous music to the engraver.
But I would like to be able to specify simultaneous chordmode
music and then post-process the tags out before handing the music
off to the engraver.

If the only reason this syntax has never been allowed is because
there's no way to engrave it, I'd be delighted to simply have the
syntax be allowed, and have the engraver puke with a descriptive
error message if I forget to strip the simultaneous music out.

( ... meanwhile ... )

I must thank you again, Kieren, because in the time it's taken me
to consider and draft this reply, it's given me some insight on
where the crux of my original problem lies.  \ChordNames contexts
can indeed support simultaneous music, I have learned.  It is
specifically \chordmode which does not.

Also, I have learned what Lily does with simult. chords: she
combines all the simultaneous notes, and tries to interpret that
set of pitches as best she can, most often resulting in a number
of strange chord alterations.

Compilable example attached!  It's still somewhat klunky, but it
does at least meet my test of not artificially lengthening the
number of beats/measures of music.

Thanks for getting the thought processes going!

Jim


 But I?m sure someone out there could make it work without too much trouble.
 If you want to take a stab at it yourself, files like chord-entry.scm will 
 give you lots of ideas on how to manipulate chords.
 
 Cheers,
 Kieren.
 ___
 
 Kieren MacMillan, composer
 www:  http://www.kierenmacmillan.info
 email:  i...@kierenmacmillan.info
\version 2.18.2

music = \new Staff {
  gis'1
  
\tag #'(a c) c'
\tag #'(b d) bis
  
}

seqChanges = \new ChordNames {

  \chordmode { gis1:maj7 }
  \tag #'a \relative c' c e g
  \tag #'b \relative c' bis disis fisis
  \tag #'c \chordmode { c1 }
  \tag #'d \chordmode { bis1 }

}

simChanges = \new ChordNames {

  \chordmode { gis1:maj7 }
  
\tag #'a \relative c' c e g
\tag #'b \relative c' bis disis fisis
\tag #'c \chordmode { c1 }
\tag #'d \chordmode { bis1 }
  

}

\markup Sequential tags make the music expressions have unequal length
\score {
  
\seqChanges
\music
  
}

\markup Simultaneous tags make the music expressions the same length
\score {
  
\simChanges
\music
  
}

\markup Tag a
\score {
  
\keepWithTag #'a \simChanges
\keepWithTag #'a \music
  
}

\markup Tag b
\score {
  
\keepWithTag #'b \simChanges
\keepWithTag #'b \music
  
}

\markup Tag c
\score {
  

Re: How can I write simultaneous music in \chordmode?

2015-01-07 Thread Jim Long
Y'know, one other syntactic oddity this has shown me is that
\chordmode requires the braces around its music expression, even
if it is a single chord:

\chordmode c1

is not okay, it has to be

\chordmode { c1 }

Not a problem, just a curiousity.




On Wed, Jan 07, 2015 at 03:46:39PM -0800, Jim Long wrote:
 On Wed, Jan 07, 2015 at 04:46:48PM -0500, Kieren MacMillan wrote:
  
  Did you try adjusting the function to handle chords? As I wrote, ?This kind 
  of thing would also automagically work ? or easily be made to work 
  ?  on chords.? (new emphasis)
  
  Unfortunately, that's beyond my Scheme-fu, and I have no spare time right 
  now to climb that learning curve.
 
 We're in the same boat there.  In fact, I'm not even sure
 I know how to write the specifications for what I would want such
 a function to do, and what it's interface should be.  Minimum
 accidentals is not always my criterion of choice.  There are
 times when a C# 7 chord (V chord of F#, 6 sharps) is fine, and
 there are other times when I'd rather call it a Db 7 (V chord of
 G-flat, 6 flats).  Can \naturalizeMusic be made to consider the
 key signature that is in effect at the time?  Even so, I have a chart
 in several flats where I just can't bring myself to use a C-flat
 13 chord, and instead I call it a B 13, even though the melody
 note is clearly a G-flat.  That's not minimum accidentals, it's
 just personal preference.  I have zero idea how to begin spec'ing
 such a function for automagic conversion, let alone implement it.
 
 I get the feeling that this begins to encroach on certain topics
 posted recently by Peter Gentry, and I have to salute him for
 making the time to dive headfirst into the details of Scheme, but
 as you say, I don't have the time right now, nor the motivation,
 really.  \tag works well enough for my needs, but I was puzzled
 to learn that simultaneous music  \tag #'a {} \tag #'b {} 
 doesn't work in chordmode.  That makes me have to use some klunky
 work-arounds when extracting a fixed number of measures from
 chordmode music that contains tags.
 
 Btw, thanks for the pointer to chord-entry.scm -- I'll have a read.
 
 In the meantime, I hope my original question will continue to
 attract the collective brain cycles of the list.
 
 I can anticipate at least one question:
 
 q1) how would simultaneous chord music be engraved?
 
 a1) Selfishly, I don't need it to -- I strip out the unwanted
 tags, leaving only one remaining alternative before it gets
 engraved.  So the engraver could throw an error if it was asked
 to engrave simult. chord music, if that were convenient.  Or
 another possibility is that it could just overwrite the chord
 markup, with multiple markups one on top of the other.  It'd make
 a big blob in the chord staff, but again, I don't care because I
 don't anticipate ever passing simultaneous music to the engraver.
 But I would like to be able to specify simultaneous chordmode
 music and then post-process the tags out before handing the music
 off to the engraver.
 
 If the only reason this syntax has never been allowed is because
 there's no way to engrave it, I'd be delighted to simply have the
 syntax be allowed, and have the engraver puke with a descriptive
 error message if I forget to strip the simultaneous music out.
 
 ( ... meanwhile ... )
 
 I must thank you again, Kieren, because in the time it's taken me
 to consider and draft this reply, it's given me some insight on
 where the crux of my original problem lies.  \ChordNames contexts
 can indeed support simultaneous music, I have learned.  It is
 specifically \chordmode which does not.
 
 Also, I have learned what Lily does with simult. chords: she
 combines all the simultaneous notes, and tries to interpret that
 set of pitches as best she can, most often resulting in a number
 of strange chord alterations.
 
 Compilable example attached!  It's still somewhat klunky, but it
 does at least meet my test of not artificially lengthening the
 number of beats/measures of music.
 
 Thanks for getting the thought processes going!
 
 Jim
 
 
  But I?m sure someone out there could make it work without too much trouble.
  If you want to take a stab at it yourself, files like chord-entry.scm will 
  give you lots of ideas on how to manipulate chords.
  
  Cheers,
  Kieren.
  ___
  
  Kieren MacMillan, composer
  www:  http://www.kierenmacmillan.info
  email:  i...@kierenmacmillan.info

 \version 2.18.2
 
 music = \new Staff {
   gis'1
   
 \tag #'(a c) c'
 \tag #'(b d) bis
   
 }
 
 seqChanges = \new ChordNames {
 
   \chordmode { gis1:maj7 }
   \tag #'a \relative c' c e g
   \tag #'b \relative c' bis disis fisis
   \tag #'c \chordmode { c1 }
   \tag #'d \chordmode { bis1 }
 
 }
 
 simChanges = \new ChordNames {
 
   \chordmode { gis1:maj7 }
   
 \tag #'a \relative c' c e g
 \tag #'b \relative c' bis disis fisis
 \tag #'c \chordmode { c1 }
 \tag #'d \chordmode { bis1 }
   
 
 }
 
 \markup

Re: How can I write simultaneous music in \chordmode?

2015-01-07 Thread Jim Long
On Thu, Jan 08, 2015 at 11:19:44AM +1100, Brett Duncan wrote:

 Jim, I just tried the above in Lilypond 2.19.15, and it worked fine -
 maybe the simplest solution is an upgrade!

 Brett

Thank you very much, Brett!  That's good to know.

Jim


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


How can I write simultaneous music in \chordmode?

2015-01-06 Thread Jim Long
I often use LilyPond 2.18.2 to make jazz/pop charts which will
need to be transposed for non-concert instruments.  This can
sometimes lead to non-optimal enharmonic choices of melodic notes
or chord roots in the transposed book part(s).

I work around this by employing tags around the problematic
note(s), such as when I have a concert B, but wish to have the
trumpet part show a D-flat, not a C-sharp:

foo = \new Staff \relative c' {
  
\tag #'concert { b1 }
\tag #'trumpet { ces1 }
  
}

\score {
  \transpose c d \keepWithTag #'trumpet \foo
}

This is not a perfect example, but I hope it illustrates my point.
I use simulataneous music around the tags so that the length of music
in variable foo is accurate, and I can use many of the handy extractMusic
functions (extractBegin, extractEnd, etc.) that I picked up from someone
on this list whose name escapes me right now. 
[ Thank you to http://gillesth.free.fr/Lilypond/extractMusic/extractMusic.ly ]

This works great.  But I often have the same problem in chordmode
music, the same problem meaning that I need to use tagged
alternative bits of enharmonic music where the tagged
alternatives are simultaneous so that they don't artificially
lengthen the number of beats/bars of music.  Unfortunately,
simultaneous music   doesn't work in \chordmode:

foo = \new Staff \relative c' {
  
\tag #'concert { b1 }
\tag #'trumpet { ces1 }
  
}

fooChords = \new ChordNames \chordmode {
  
\tag #'concert { b1 }
\tag #'trumpet { ces1 }
  
}

\score {
  \transpose c d
\keepWithTag #'trumpet
  
\fooChords
\foo
  
}

Lily complains with:

x.ly:9:3: error: syntax error, unexpected $undefined

Is there a technical reason why simultaneous music hasn't been
implemented in \chordmode music?  How might I work around this,
so that usage of \tag within \chordmode doesn't distort the true
length of the music stored in a variable?

For passages of repeated chords with only slight changes at the
end, I often write things like:

foo = \chordmode { a1 b1 c1 c1 }

bar = \chordmode {
  \extractBegin
\repeat unfold 2 \foo
s1*7  % extract the first 7 of those 8 bars
  a1
}

to create a variable bar that yields:

a1 b1 c1 c1
a1 b1 c1 a1

But of course, that breaks down if \foo contains tagged music that isn't
simultaneous with the \tag alternatives.  That is, I need the lengths of:

\foo
\keepWithTag #'concert \foo
\keepWithTag #'trumpet \foo
\keepWithTag #'altosax \foo

to all be equal.

I hope I've explained this well, I'm not so sure right now! :)  If someone
feels like they could help if they had a clearer example, I'll try to cobble
one up.


Thank you!

Jim

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


Re: controlling number of bars in a line

2015-01-05 Thread Jim Long
Have a look at:

http://lsr.di.unimi.it/LSR/Item?id=838

Jim


On Mon, Jan 05, 2015 at 01:39:46PM -0700, Jay Hamilton wrote:
 I'm feeling really stupid because I can't find this information (and I 
 know it's there) in the manuals either online or in the pdfs.
 basically just want to hold the bars to 6 per line and yes I know I can 
 do this manually but would like to see the appearance if done 
 automatically.
 Thanks in advance I'm sure this is easily found but I couldn't
 version 2.18.2
 
 Jay
 
 -- 
 Thanks for reading
 blogs at
 https://learnivore.com/users/music#
 www.soundand.com
 www.themaptheopera.com
 Jay
 
 ___
 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: Use of Stackoverflow for Question/Answer forum

2014-12-23 Thread Jim Long
On Tue, Dec 23, 2014 at 06:58:58PM +0100, Noeck wrote:
 Am 22.12.2014 um 22:26 schrieb Garrett Fitzgerald:
  It's actually been discussed on meta - consensus is that people should
  actually come over here for help. :-)
  
  http://meta.stackexchange.com/questions/168297/on-which-site-are-lilypond-questions-on-topic
 
 ... or here http://osdir.com/ml/lilypond-user-gnu/2012-11/msg00025.html
 I brought up the same idea as the OP about 2 years ago ? I was not the
 first one.
 
 (This was the first link I found (osdir.com), but there are (too) many
 places to find mails: lists.gnu.org, nabble.com, gmane.org,
 mail-archive.com, ? which most often do not present the thread on one page.)

Just in case there are some here who are not aware of this, I'll
point out that it is possible to restrict Google search results
to a specific site, so you can use Google to search the LilyPond
archive at the archive site that you like best:

tablature site:.nabble.com

Or whatever site you like.

I would think that puts the too many archive sites problem to bed.

I'm not trying to take a side in the debate, just offering a tip
to those who are trying diligently to search the LilyPond
archives, and being dismayed that there are so many duplicate
copies of the archive to wade through.

Use the Google search tip above to search only the archive you
want results from.




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


Re: Repeat Volta Bar Types

2014-11-11 Thread Jim Long
On Tue, Nov 11, 2014 at 01:39:23PM -0700, Chris Crossen wrote:
 Is it possible to get different repeat bar images when using \repeat volta ?

One way, although probably not the best way, is to simply
specify the bar type with the \bar directive:

\version 2.19.3
\new Staff {
  c'1
  \bar || 
  \repeat volta 2 { c'1 c'1 }
  \bar ||
}

I don't know how to make this work in all cases, however.  Remove
the first bar, for example, and this method breaks.

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


Re: Repeat Volta Bar Types

2014-11-11 Thread Jim Long
On Tue, Nov 11, 2014 at 11:18:55PM +0100, Thomas Morley wrote:
 2014-11-11 22:31 GMT+01:00 Chris Crossen elaparic...@gmail.com:
 
  On Nov 11, 2014, at 2:02 PM, Jim Long lilyp...@umpquanet.com wrote:
 
  On Tue, Nov 11, 2014 at 01:39:23PM -0700, Chris Crossen wrote:
  Is it possible to get different repeat bar images when using \repeat 
  volta ?

 And we have context-properties for this:
 
 \version 2.19.3
 
 \layout {
   \context {
 \Score
 startRepeatType = #||
 endRepeatType = #||
 %% not needed in the minimal example
 %doubleRepeatType = #||
   }
 }


Thanks, Harm.  But that still doesn't work in the case where the
volta is at the beginning of the piece, and the engraver wishes
an explicit bar line.

Lily by default doesn't engrave an open volta at the start of a
piece, or at a double-barline.  I don't know how many others do,
but I, for one, often override this.

Both of these cases fail:

\version 2.19.3

\layout {
  \context {
\Score
startRepeatType = #||
endRepeatType = #||
%% not needed in the minimal example
%doubleRepeatType = #||
  }
}

\score {
  \new Staff {
%c'1
\bar ||
\repeat volta 2 { c'1 c'1 }
  }
}

\score {
  \new Staff {
%c'1
\bar .|:
\repeat volta 2 { c'1 c'1 }
  }
}




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


Re: Repeat Volta Bar Types

2014-11-11 Thread Jim Long
On Tue, Nov 11, 2014 at 11:50:40PM +0100, Thomas Morley wrote:
  Lily by default doesn't engrave an open volta at the start of a
  piece, or at a double-barline.  I don't know how many others do,
  but I, for one, often override this.
 
  Both of these cases fail:
 
  \version 2.19.3
 
  \layout {
\context {
  \Score
  startRepeatType = #||
  endRepeatType = #||
  %% not needed in the minimal example
  %doubleRepeatType = #||
}
  }
 
  \score {
\new Staff {
  %c'1
  \bar ||
  \repeat volta 2 { c'1 c'1 }
}
  }
 
  \score {
\new Staff {
  %c'1
  \bar .|:
  \repeat volta 2 { c'1 c'1 }
}
  }
 
 
 
 
 (Sorry for the last empty mail, misclicked.)
 
 It's because \bar || will not print anything at line-begin.

Yes.  And perhaps because \bar .|: (intentionally?) does not
respect \Score.startRepeatType?

 Though consider the following:
 
 \version 2.19.13
 
 \new Staff {
   \bar .|: \repeat volta 2 { c'1 c'1 }
 }
 
 #(define-bar-line ||-r || || ||)
 
 \score {
   \new Staff {
 \bar ||-r
 \repeat volta 2 { c'1 c'1 }
   }
 
   \layout {
 \context {
   \Score
   startRepeatType = #||-r
   endRepeatType = #||-r
   %% not needed in the minimal example
   %doubleRepeatType = #||-r
 }
   }
 }

Thanks, Harm.  Hopefully that will solve the OP's needs more
reliably than the crude solution I suggested.

Cheers,

Jim

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


Re: Single Staff Spacing

2014-11-06 Thread Jim Long
There are probably several ways, but the way I do it is:

Near the top, after your version statement, add a \paper block:

\version 2.18.2

\paper {
  system-system-spacing #'padding = #2
}

\new Staff


Adjust the value 2 to a value of your liking.

Another option is to let Lilypond auto-space the systems on the
page to fill the page.  To do this, use this paper block instead
of the one above:

\paper {
  ragged-last-bottom = ##f
}


HTH,

Jim



On Thu, Nov 06, 2014 at 08:43:29PM -0600, Chris Trahan wrote:
 I'm new to Lilypond. I have a simple score that is short. It's a single
 staff score. I'm trying to increase the spacing between staves but nothing
 I try is working.  How do I increase the space between the staves?
 
 A short example is:
 
 \version 2.18.2
 
 \new Staff {
 
  \relative c'' {
 
   \key g \major
 
\time 3/4
 
\autoBeamOff
 
\partial 4
 
c8 d | e2.~ | e2 g,8 b | d4 d b | a8( g)~ g2~ | \break
 
g4 e'8 e4 e8 | d2.~| d8 d, a'4 a | g2.~ | g8 c c4 d | e2.~ |
 
  }
 
 }
 
 
 Thank,
 
 Chris Trahan

 ___
 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: Lilypond 2.16 and 2.18 incompatibility for \relative without absolute note outside the score

2014-11-04 Thread Jim Long
If you need to make lots of edits to instances of \relative in
your source code, then:

1) sed(1) is your friend;

2) that's what DEFINE's are for.


On Tue, Nov 04, 2014 at 04:02:21PM +, Mark Veltzer wrote:
 Unfortunately I cannot use convert-ly, since on a large project such as I am
 working on I am using an extra pre-processor before handing out the output
 to lilypond.
 This means that my source files are not in lilypond format but only
 contain snipplets of lilypond code.
 I actually imagine that every large scale lilypond project would do
 something like this.
 You can check this out at https://github.com/veltzer/openbook
 What I'm basically saying here is that the whole approach of convert-ly is
 dubious since it assumes that people are using lilypond a certain
 straightforward way.
 I understand the motivation of convert-ly: it allows you guys to break
 backwards compatibility. But you are still breaking backwards compatibility
 and it hurts.
 A better way would have been to make the new lilypond support more features
 but retain old behaviour until old behavior goes away gradually.
 If that was the case I would not need to edit my files.
 
 Cheers,
Mark
 
 
 ___
 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


notes colliding with key signature

2014-10-31 Thread Jim Long
I'm currently at a loss to find or Google a reference to a bug
tracker issue I'm aware of where note columns might collide with
key signatures under certain conditions.  No wait, it's at:

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

I have a piece in the key of C where some systems begin very
close to the clef.  Is this a case of colliding with the key
signature of C major?

The attached .PNG shows a bad case on the first system, and a
good case on the second.  If knowledgable folk think it's
obviously the same thing, I won't bother reducing my code to a
tiny example.

I do have other examples of the OP, if that helps.  One case is a
lead sheet where  chords melody  is fine, but when I add a
rhythmicStaff in between, I get note-column/key-signature
collisions.

An update on the general status/difficulty of the issue would be
appreciated, time permitting.

Thanks,

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


Re: A pause in 3/4 measure

2014-10-31 Thread Jim Long
The best solution, imho, is to remember that R1 is a 4-beat, full
measure rest:

R1

As such, you need to multiply that rest by your time signature.

R1*3/4
R1*4/4
R1*7/8
R1*5/4

If your time sig. is a unity time sig. like 4/4, 8/8, 2/2,
etc. then obviously, scaling the time sig by 8/8 or 4/4 is
a no-op, and can be omitted.  But that is a special case.

The general case is that a full-measure rest is always coded as:

R1*(time-sig)

where (time-sig) is the fractional representation of your time
signature.

Jim



On Sat, Nov 01, 2014 at 05:21:54AM +0100, Dr. Bernhard Kleine wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Yes it does. I prefer the d1*3/4\rest since it is the least letters to write. 
 I may substitute it in the final version.
 Thank you all!
 Bernhard
 
 Von: David Nalesnik [mailto:david.nales...@gmail.com]
 Gesendet: Freitag, 31. Oktober 2014 19:58
 An: Dr. Bernhard Kleine; lilypond-user
 Betreff: Re: A pause in 3/4 measure
 
 
 On Fri, Oct 31, 2014 at 1:45 PM, Dr. Bernhard Kleine 
 bernhard.kle...@gmx.net wrote:
 - -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 
 
 Von: David Nalesnik [mailto:david.nales...@gmail.com]
 Gesendet: Freitag, 31. Oktober 2014 19:35
 An: Dr. Bernhard Kleine
 Cc: lilypond-user
 Betreff: Re: A pause in 3/4 measure
 
 Bernhard,
 
 On Fri, Oct 31, 2014 at 5:42 AM, Dr. Bernhard Kleine 
 bernhard.kle...@gmx.net wrote:
 I am very astonished that  a full pause in a 3/4 measure is four quarters 
 long. How to note then a full pause?
 
 If I'm understanding correctly: you're wondering why a full bar rest in 3/4 
 is output as a whole rest?  By convention, a full measure rest is notated as 
 a whole rest in whatever meter, and you'd request it in 3/4 with R2.
 - - --David
 
 Thank you. And how to code that rest when I wand it on the e.g. d ???line: 
 D2.\rest does not work.
 
 You can find a snippet demonstrating what to do here:
 http://lilypond.org/doc/v2.18/Documentation/notation/writing-rests#full-measure-rests
 (Scroll down to positioning full-measure rests.)
 
 - --David
 
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v2.0.22 (MingW32)
 Comment: Using gpg4o v3.3.26.5094 - http://www.gpg4o.de/
 Charset: utf-8
 
 iQIcBAEBAgAGBQJUVF/fAAoJENCoWyDsDBkP+pYP/A6qYBL5EylPjlr2jsaYT1UA
 /drzAGyzz/UlKO21julLh8PDtSC1yRiI58wtnUk5lKsNSyvNj4X+pFlySuzwF2i8
 brTbhOjHm+AOSTI6Z0vqVHaWAo/nDoGbyQVwmLWHpBHO56jNt6RaaEP3c7DJC0IX
 74fL3cRakrLu0mOdRL641cIpiwukwliOptq351dpMsl1aPFUwgPIojBHGl3CwDZo
 PsNlu0CcnwDwpxNhCmp9GDxrjpF8wLi3SNE4fa4V4POCcmdF/ZR/1qfyCz0N4T0X
 eBNVD9+kQLniyoB4Wnu2nyW1Webh8pSbu7fXaOMuoVXsm1uEv43csdHW8cNadCWm
 yEdFyJOX0y0HVkVILRQoFCmD/8qdbMK3ptDmk1/6v/fGcUyVqH0a2JxlYoW8YDkD
 cDorv2qctzIidJy2upHbPlXP9nUP2oZyqmolSQx5G0kO/LocoaCeuuk+zFdHdPJd
 Fr2i6Aq34IZwzuyuiVA7crXWGuy/IEZmH2t8QfhPD5Zo+kiCs2AqAjZqr6yRd4zU
 E1s0YdoKNR2lFVfwmgBl0kH3lWVmc9SNx0eBwekC8fj2dkZM5zy6LLphc++tvw4/
 0S1zq6uxkW/kywCOeQIThytb6nbEpi4WMYINGSaqHvRr9fW1cgOeN2SfIJLXzxSB
 60nOvsnadO3tKUyvIrJp
 =h4iF
 -END PGP SIGNATURE-

 html xmlns:v=urn:schemas-microsoft-com:vml 
 xmlns:o=urn:schemas-microsoft-com:office:office 
 xmlns:w=urn:schemas-microsoft-com:office:word 
 xmlns:m=http://schemas.microsoft.com/office/2004/12/omml; 
 xmlns=http://www.w3.org/TR/REC-html40;headmeta name=Generator 
 content=Microsoft Word 14 (filtered medium)style!--
 /* Font Definitions */
 @font-face
   {font-family:Cambria Math;
   panose-1:2 4 5 3 5 4 6 3 2 4;}
 @font-face
   {font-family:Calibri;
   panose-1:2 15 5 2 2 2 4 3 2 4;}
 @font-face
   {font-family:Tahoma;
   panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
   {margin:0cm;
   margin-bottom:.0001pt;
   font-size:12.0pt;
   font-family:Times New Roman,serif;}
 a:link, span.MsoHyperlink
   {mso-style-priority:99;
   color:blue;
   text-decoration:underline;}
 a:visited, span.MsoHyperlinkFollowed
   {mso-style-priority:99;
   color:purple;
   text-decoration:underline;}
 span.E-MailFormatvorlage17
   {mso-style-type:personal-reply;
   font-family:Calibri,sans-serif;
   color:#1F497D;}
 .MsoChpDefault
   {mso-style-type:export-only;
   font-family:Calibri,sans-serif;
   mso-fareast-language:EN-US;}
 @page WordSection1
   {size:612.0pt 792.0pt;
   margin:70.85pt 70.85pt 2.0cm 70.85pt;}
 div.WordSection1
   {page:WordSection1;}
 --/style!--[if gte mso 9]xml
 o:shapedefaults v:ext=edit spidmax=1026 /
 /xml![endif]--!--[if gte mso 9]xml
 o:shapelayout v:ext=edit
 o:idmap v:ext=edit data=1 /
 /o:shapelayout/xml![endif]--/headbody lang=DE link=blue 
 vlink=purplediv class=WordSection1p class=MsoNormalspan lang=EN-US 
 style='font-size:11.0pt;font-family:Calibri,sans-serif;color:#1F497D'Yes 
 it does. I prefer the d1*3/4\rest since it is the least letters to write. I 
 may substitute it in the final version.o:p/o:p/span/pp 
 class=MsoNormalspan lang=EN-US 
 

Re: How to search for closed, starred lilypond issues?

2014-10-31 Thread Jim Long
Sorry for the noise on this one.  It seems I misunderstood how
the tracker defines Open.  I can view all the issues I've
starred.

Jim

On Fri, Oct 31, 2014 at 09:29:54PM -0700, Jim Long wrote:
 Apologies if this should be on the developer list; please forward
 if so.
 
 How can I search for non-open issues that I have starred?  The
 search dropdown permits me to search only for open, starred
 issues.
 
 http://code.google.com/p/lilypond/issues/list
 
 Thanks,
 
 Jim

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


How to search for closed, starred lilypond issues?

2014-10-31 Thread Jim Long
Apologies if this should be on the developer list; please forward
if so.

How can I search for non-open issues that I have starred?  The
search dropdown permits me to search only for open, starred
issues.

http://code.google.com/p/lilypond/issues/list

Thanks,

Jim

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


Re: Include a file if it exists

2014-09-08 Thread Jim Long
On Mon, Sep 08, 2014 at 11:14:34PM +0200, Gilles THIBAULT wrote:
 
 \version 2.18.2
 
 file = #(let((myfile test.ly))
 (if (file-exists? myfile)
myfile
emptyfile.ly))
 
 \include #file
 
 %
 
 which seems to works, but you need to create an empty file emptyfile.ly 
 somewhere in your PATH.
 Alternatively, this seems also to work :
 
 ...
 (if (file-exists? myfile)
myfile
))
 
 but you will get an advertisement for the \include 

/dev/null works as an include filename, also, although it's
probably rather more OS-specific than emptyfile.ly.




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


Re: Multiple stanzas to selection of melody

2014-07-31 Thread Jim Long
On Thu, Jul 31, 2014 at 08:36:43PM +, Marten wrote:
 
 Yes, Jim, that's what I'm trying to do.
 
 However, in your code, with two \new Voice statements, you will break the 
 piece and an ambitus will be displayed at the beginning of each Voice.

So use the abitus engraver in the Staff context instead of the
Voice context:

Jim

\version 2.19.0

refrain = \lyricmode {
  Here's the re -- frain.
  Here's the re -- frain.
}

verseOne = \lyricmode {
  This is verse one.
  This is verse one.
}

verseTwo = \lyricmode {
  This is verse two.
  This is verse two.
}

verseThree = \lyricmode {
  This is verse three.
  This is verse three.
}

verseFour = \lyricmode {
  This is verse four.
  This is verse four.
}


\score {
  
{
  \new Voice = refrain {
c'4 c'4 c'4 c'4 \break
c'4 c'4 c'4 c'4 \break
  }
  \new Voice = verse {
g'4 g'4 g'4 g'4 \break
g'4 g'4 g'4 g'4 \break
  }
}
\new Lyrics \lyricsto refrain \refrain
\new Lyrics \lyricsto verse \verseOne
\new Lyrics \lyricsto verse \verseTwo
\new Lyrics \lyricsto verse \verseThree
\new Lyrics \lyricsto verse \verseFour
  
}

\layout {
  \context {
\Staff
  \consists Ambitus_engraver
  }
}


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


Re: Multiple stanzas to selection of melody

2014-07-28 Thread Jim Long
On Mon, Jul 28, 2014 at 07:47:17PM +, Marten wrote:
 Dear all,
 
 Trying to typeset a song I am faced with the following problem for which I 
 can;t find a solution in the manual or snippet repository. I kindly request 
 your help.
 
 I'm typesetting a song with one staff, where the refrain comes first and 
 spans multiple lines of notes; after that come 3 stanzas. I'd like the song 
 text to be placed under the stanza melody, but I don't want to add empty 
 lines to the refrain. I'm looking for a solution with one \score block. Can 
 this be done?

Marten:

Is the attached exaple germane to what you are trying to do?

regards,

Jim

\version 2.19.0

refrain = \lyricmode {
  Here's the re -- frain.
  Here's the re -- frain.
}

verseOne = \lyricmode {
  This is verse one.
  This is verse one.
}

verseTwo = \lyricmode {
  This is verse two.
  This is verse two.
}

verseThree = \lyricmode {
  This is verse three.
  This is verse three.
}

verseFour = \lyricmode {
  This is verse four.
  This is verse four.
}


\score {
  
{
  \new Voice = refrain {
c'4 c'4 c'4 c'4 \break
c'4 c'4 c'4 c'4 \break
  }
  \new Voice = verse {
c'4 c'4 c'4 c'4 \break
c'4 c'4 c'4 c'4 \break
  }
}
\new Lyrics \lyricsto refrain \refrain
\new Lyrics \lyricsto verse \verseOne
\new Lyrics \lyricsto verse \verseTwo
\new Lyrics \lyricsto verse \verseThree
\new Lyrics \lyricsto verse \verseFour
  
}


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


Re: Question for all LilyPond users (especially power users)

2014-07-09 Thread Jim Long
On Wed, Jul 09, 2014 at 11:01:46AM -0700, tisimst wrote:
 Oh, and if anyone has a music font that they've started (or finished, 
 or wanted to do), but couldn't get to work with LilyPond, I can help 
 you with that if you'd like. :)

LilyJAZZ might be more useful if it included lowercase
characters.  While an all-caps font might be okay for tempo
markings, and other text annotations, it isn't really suitable
for chordnames.

Does anyone know what font is used for the chordnames in Pat
Metheny's anthology songbook, published by Hal Leonard?

Here is a sample image linked from a seller's website:

http://d29ci68ykuu27r.cloudfront.net/product/Look-Inside/large/2958319_03.jpg

http://www.sheetmusicplus.com/title/Pat-Metheny-Songbook-sheet-music/2958319

I'd appreciate having a font like the one used for the Chordnames
in that edition.

Jim

 
 I like the idea of LilyPond being the most decorated 
 engraving/notation software out there!
 
 Regards,
 Abraham
 
 
 
 
 --
 View this message in context: 
 http://lilypond.1069038.n5.nabble.com/Question-for-all-LilyPond-users-especially-power-users-tp164178p164193.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


Re: Setting accent notes in a drum staff

2014-05-25 Thread Jim Long
On Sun, May 25, 2014 at 10:45:42PM +0200, Markus Brueckner wrote:
 Hi everybody,
 
 Especially in Swing/Jazz music, notation is sometimes quite minimal, the
 whole sheet consisting more or less only of \repeat percent something.
 What is quite common is the notation of unison accents as some kind of
 second voice above the line (see [0] for an example. The small notes
 on top of the line are basically the rhythm of what the whole band plays
 at that point. The notes are quite a bit smaller than what would be on
 the line, if there was something).

I create lead sheets with rhythmic cues using something like:

(this is older 2.16-ish syntax, but should still work with 2.18.
Adjust some of these values to suit your taste.)

rhythmMarks = \new RhythmicStaff \with {

  \override StaffSymbol #'line-count = #0
  \override StaffSymbol #'staff-space = #(magstep -3)
  \override StaffSymbol #'stencil = ##f
  \override BarLine #'stencil = ##f
  \override NoteHead #'style = #'slash
  \override TimeSignature #'transparent = ##t
  \override VerticalAxisGroup
#'staff-staff-spacing =
   #'((basic-distance . 0)
  (minimum-distance . 0)
  (padding . 1.0))
} {
  \set fontSize = #-4
  \stemDown
  s1*4
  s1*20
  s1*16
  s1*16
  s1*8
  r4 b- r r | r4 b- r r
  r8 b b[ b] b[ b] b[ b] | b r r b ~ b2
} % rhythmMarks

I then include that as simultaneous music, something like:

\score {
  
\harmonies
\rhythmMarks
\melody
  
}

I hope that gives you some ideas.  I'm attaching a lame example that I had
sitting around already.  The rhythms variable is the important one.
There's a lot of other cruft in the other simultaneous contexts
that isn't strictly pertinent to your question.

Jim
\version 2.16.2

%\paper { annotate-spacing = ##t }

melody = \new Staff \with {
  \override VerticalAxisGroup
#'staff-staff-spacing = #'(
  (basic-distance . 0)
  (minimum-distance . 0)
  (padding . 0)
		)
} { % 20 bars
  \repeat unfold 4 { g4 g'' g'' g'' } \break
  \repeat unfold 4 { g4 g'' g'' g'' } \break
  \repeat unfold 4 { g4 g'' g'' g'' } \break
  \repeat unfold 4 { g4 g'' g'' g'' } \break
  \repeat unfold 4 { g4 g'' g'' g'' } \break
} % melody


harmonies = \new ChordNames \with {
  \override VerticalAxisGroup
#'staff-staff-spacing = #'(
  (basic-distance . 0)
  (minimum-distance . 0)
  (padding . 0)
		)
} \chordmode { % 20 bars
  \repeat unfold 5 { c2 a2:m | f2 g2 | s4 c s a:m | f2 g2 }
} % harmonies


rhythms = \new RhythmicStaff \with {
  \override StaffSymbol #'line-count = #0
  \override StaffSymbol #'staff-space = #(magstep -3)
  \override BarLine #'stencil = ##f
  \override TimeSignature #'stencil = ##f
  \override NoteHead #'style = #'slash
  \override VerticalAxisGroup
#'staff-staff-spacing = #'(
  (basic-distance . 0)
  (minimum-distance . 0)
  (padding . 0.5)
		)
  fontSize = #-2
} { % 20 bars
  \stemDown
  s1*8
  s1 s1 | r4 b r b | b r b r
  s1*4
  s1 s1 | r4 b r b | b r b r
} % rhythms


\score {
  
\harmonies
\rhythms
\melody
  
  \layout {
\context { \Staff \RemoveEmptyStaves }
\context { \RhythmicStaff \RemoveEmptyStaves }
  }
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: dal segno several times

2014-05-12 Thread Jim Long
On Mon, May 12, 2014 at 12:18:37PM +0100, Carlo Vanoni wrote:
 
 I have a simple song, where the verse is 4 measures repeated twice, and the 
 chorus again 4 measures repeated twice.

[snip]

 I can print all the section as stated above, but it will be easier to have 
 something like this
 intro
 ||: verse
 chorus :|| x3 times
 outro

If the verse and the chorus are so brief, I would not engrave
repeat bar lines around the four-bar repeated sections, only the
outer 3x repeat that wraps the entire 16-bar verse-chorus
section.

If you wish, you could use 'repeat unfold' in your code:

myVerse = \relative f {
% four bars, engraved twice:
  \repeat unfold 2 {
a1 b1 c1 b1
  }
} % myVerse

myChorus = \relative f {
% four bars, engraved twice:
  \repeat unfold 2 {
c1 a1 b1 a1 
  }
} % myChorus

threeTimes = \repeat 3 {
  \myVerse
  \myChorus
}


Jim


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


Re: multiple marks

2014-05-12 Thread Jim Long
On Mon, May 12, 2014 at 01:11:03PM +0100, Carlo Vanoni wrote:
 Hi everyone,
 
 I'm using this nice function to add a right-aligned text that states the 
 number of repeats of a repeat block:

[snip]

 It is called with this code at the end of a section
 \repeatMark #4 ##t??? % writes repeat 4 times

For clarity, you may want to consider changing your code to say
play 4 times, assuming that is what you mean.  Others on this
list have raised this point in the past, so while I agree with
their reasons, I can't credit for the original idea.

I'll leave the multiple marks issue for someone else, but you
may find the LSR helpful, as I recall.


Jim



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


Re: dal segno several times

2014-05-12 Thread Jim Long
On Mon, May 12, 2014 at 05:53:33PM -0400, David Raleigh Arnold wrote:
 On Mon, 12 May 2014 12:56:27 -0700
 Jim Long lilyp...@umpquanet.com wrote:
 
  On Mon, May 12, 2014 at 12:18:37PM +0100, Carlo Vanoni wrote:
   
   I have a simple song, where the verse is 4 measures repeated
   twice, and the chorus again 4 measures repeated twice.
 
 What would you do if you had seven verses? Or twenty?

I would still give the same advice:  Don't write

(Intro)
/Segno/
|: 4-bar verse  :|
|: 4-bar chorus :| D.S. 7 times (or 20)
(Outro)

but instead write:

(Intro)
|: 8-bar verse   |
|  8-bar chorus :| play 7 times (or 20)
(Outro)

The OP didn't mention lyrics, but sure, if there are some,
stack the stanzas up 7 or 20 deep under the melody staff.  Or
perhaps if there are that many stanzas, list them at the end
of the music, as per

http://lilypond.org/doc/v2.18/Documentation/notation/stanzas#printing-stanzas-at-the-end

Then the performer should see pretty clearly how many times to
play the verse-chorus pair.



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


Re: Canonical[ish] place to get pop-chords.ly or jazz-chords.ly? Also, chords advice?

2014-05-11 Thread Jim Long
In the interest of putting this thread out of its misery, the
canonical place to find jazz-chords.ily is:

http://lists.gnu.org/archive/html/lilypond-user/2011-11/msg00285.html

The community is in debt to Robert Schmaus for his fine work.

Jim



On Sat, May 10, 2014 at 02:00:02PM -0700, rif wrote:
 Actually, I'm still not really finding what I want in the snippets
 repository.  I don't see how I can [for instance] get a minor 7th chord
 symbol.  I just want to say The chord here is F-7 [or Eb-6/9], without
 having to write out all the notes of the chord, which is what seems to
 happen in the snippets examples...
 
 
 On Sat, May 10, 2014 at 1:25 PM, Knute Snortum ksnor...@gmail.com wrote:
 
  Well, the latter.  But if you search for jazz chords you find a pretty
  good function.  I haven't tried it, but I may soon as I have wanted to use
  LilyPond for transcribing jazz music and lead sheets.
 
 
  Knute Snortum
  (via Gmail)
 
 
  On Sat, May 10, 2014 at 9:47 AM, rif r...@mit.edu wrote:
 
  Are you suggesting that the file pop-chords.ly can be obtained from the
  snippets repository?  If so, I don't yet see how.  Or are you just
  suggesting that the snippets repository contains many useful and
  interesting examples, in which case I agree completely?
 
  rif
 
 
 
  On Sat, May 10, 2014 at 8:42 AM, Knute Snortum ksnor...@gmail.comwrote:
 
  lsr.di.unimi.it/LSR/
 
  Also, if the LSR search isn't working the way you want:
 
  in Google: site:lsr.di.unimi.it/LSR/
 
 
  Knute Snortum
  (via Gmail)
 
 
  On Sat, May 10, 2014 at 7:31 AM, Tim McNamara tim...@bitstream.netwrote:
 
 
 
  On May 10, 2014, at 9:11 AM, rif r...@mit.edu wrote:
 
  Apparently I can get just say f:7.9- to get an F7b9.  Hooray!  Still
  wondering if there's a canonical place for pop-chords.
 
 
  On Sat, May 10, 2014 at 7:06 AM, rif r...@mit.edu wrote:
 
  I see many references to this on the mailing list, but are these files
  anywhere standard?  I grabbed an old jazz-chords.ly from some mailing
  list message, but then it didn't work when I included it, and it had no
  version number so I couldn't figure out how to convert it.
 
  What I actually want to do: single line melodies with chord symbols.
   I'm using the Simple lead sheet from
  http://lilypond.org/doc/v2.16/Documentation/snippets/chords as an
  example, but I cannot for the life of me figure out how to do things 
  like
  get an F7b9 symbol in there.  Most of the chords examples I find lying
  around seem to be built around the idea that you want to show a bunch of
  pitches of a chord and then get the name automatically?  What am I 
  missing?
 
 
  The Lilypond Snippet Repository (a.k.a LSR) is a very helpful place to
  look for this sort of thing.  I don't have the URL handy on my iPad but 
  the
  name ought to be enough to help you find it via a web search.
 
  ___
  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


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


Changes to LSR #542 (extractMusic et al.)

2014-04-29 Thread Jim Long
I'm trying to track down a problem I'm having with a file I store
as extractMusic.ily, which claims to descend from LSR #542.  My
copy says it's for 2.16 or later, which makes it older than the
current snippet #542.

My old version is attached.

The new version is at:

http://lsr.di.unimi.it/LSR/Snippet?id=542

The older version contains numerous functions which are defined in
terms of the basic extractMusic function, along with shortcut
names to them, e.g.:

upToMeasure = #(define-music-function (parser location number) (integer?)
 ...
extractMusic = #(define-music-function (parser location music from during)
 ...
extractBegin = #(define-music-function (parser location music during)
 ...
extractEnd = #(define-music-function (parser location music from)
 ...
insertMusic = #(define-music-function
 ...
replaceMusic = #(define-music-function 
 ...
replaceVoltaMusic = #(define-music-function (parser location
 ...
multiExtractMusic = #(define-music-function (parser location from seq-music)
 ...

#(define eM extractMusic)
#(define M upToMeasure)
#(define eB extractBegin)
#(define eE extractEnd)
#(define iM insertMusic)
#(define rM replaceMusic)
#(define mEM multiExtractMusic)
#(define mRM multiReplaceMusic)

None of those identifiers appear in the current source for snippet
542.  I particularly rely on extractBegin and extractEnd.

Is there a reason these have disappeared, or perhaps they are now
to be found in a new location?

Thank you!

Jim


%% LSR = http://lsr.dsi.unimi.it/LSR/Item?id=542
% 2013/01/23  : for lilypond 2.16 or higher
% Last modif. : replace moment-null definition, by ZERO-MOMENT, which has been
% already defined in lily-library.scm.Delete also moment-min definition.
% Add better support for some special moment value in moment-rhythm.
% measure-number-moment returns a correct value if \global has an incomplete
% measure. 

% *current-moment* = a global parameter used by extractMusic %%%
%% see : http://www.gnu.org/software/guile/manual/guile.html#SRFI_002d39

#(define (expand-q-chords music); for q chords : see chord-repetition-init.ly
 (expand-repeat-chords! (list 'rhythmic-event) music))

#(use-modules (srfi srfi-39))

#(define *current-moment* (make-parameter ZERO-MOMENT))
%% some little functions used by extract-range %
#(define (defined-music? music)
   (not (eq? 'Music (ly:music-property music 'name

% a moment=? is defined in lily-library.scm, but i prefer to use this function
#(define (moment=? a b)
  (not (ly:moment? a b)))

% moment-min is defined in lily-library.scm but not moment-max.
#(define (moment-max a b)
(if (ly:moment? a b) b a))

#(define (whole-music-inside? begin-music end-music left-range right-range)
(and (moment=? begin-music left-range)
   (moment=?   right-range end-music )
   (not (equal? begin-music right-range %% don't take 
0-length events
%% (as \override for ex) beginning at 
right-range
%% (when begin-music = end-music = 
right-range)
#(define (whole-music-outside? begin-music end-music left-range right-range)
  (or (moment=? left-range end-music)
(moment=? begin-music right-range)))

% see duration.cc in Lilypond sources (Duration::Duration)
#(define (moment-rhythm moment)
(let* ((p (ly:moment-main-numerator moment))
 (q (ly:moment-main-denominator moment))
 (k (- (ly:intlog2 q) (ly:intlog2 p)))
 (dots 0))
 (if ( (ash p k) q) (set! k (  1+ k))) ;% (ash p k) = p * 2^k
 (set! p (- (ash p k) q))
 (while (begin (set! p (ash p 1))(= p q))
(set! p (- p q))
(set! dots (1+ dots)))
 (if ( k 6)
   (ly:make-duration 6 0) ; 6 means 64th (max value).
   (let* ((dur (ly:make-duration k dots)) ; no exact duration is suitable for
  (dur-len (ly:duration-length dur)) ; all mom : 2  5/4  2. So use
  (frac (ly:moment-div moment dur-len))) ; a ratio to adjust dur-len
(ly:make-duration k dots
   (ly:moment-main-numerator frac) ; frac = 1/1 for moment = 3/4, 7/8 etc ..
   (ly:moment-main-denominator frac))

%  Here are some macros, to keep the extract-range code more compact  %

#(define-macro (filter-elts-for-non-sequential-music);Chords, SimultaneousMusic
   '(filter defined-music? (map
(lambda (evt)
  (let ((extracted-evt (extract-range evt from to)))
(if (equal? (*current-moment*) begin-pos)
evt ; keeps 0 length events such as scripts, or 'VoiceSeparator.
(begin
  (*current-moment* begin-pos) ;% restore *current-moment*
  extracted-evt
 elts)))

#(define-macro (filter-elts-for-sequential-music) ; sequential music
  '(filter defined-music? (map
(lambda (evt)
  (extract-range evt from to))
elts)))

   the big macro for repeated-music %%%
%{ The 

Re: Changes to LSR #542 (extractMusic et al.)

2014-04-29 Thread Jim Long
 If you look at :
 http://lsr.di.unimi.it/LSR/Item?id=542
 there is a link at the end of the snippet to get the full version
 
 -- Gilles

D'oh!- Thank you, Gilles.

Jim


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


Re: Issue with downloaded manuals

2014-04-06 Thread Jim Long
 If it's of any use to you, I've created fully indexed and searchable PDF 
 portfolios of the complete documentation sets

Nick:

I've often wondered, what are some of the things one can do with
these doc sets that one can't do with the bare PDF files?  I
suspect I never do those things, whatever they are, but perhaps
if I knew what they were, I might investigate whether they would
be useful to me.

Thanks!

Jim

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


Re: LilyPond-Book on Windows

2014-04-02 Thread Jim Long
On Wed, Apr 02, 2014 at 08:58:52AM -0400, Br. Samuel Springuel wrote:
 I'm having trouble using lilypond-book on my Windows machine.  The 
 program sees to hang during the initial run of the typesetting engine 
 that's used to determine the page settings.  In this case, by hang I 
 mean that everything proceeds normally up to this point, but then 
 nothing happens, even if left for several hours, until I eventually use 
 a KeyboardInterrupt to arrest the process.
 
 This happens with two different typesetting engines (lualatex and 
 pdflatex), both of which work on other documents.  This leads me to 
 suspect that there's a problem in lilypond-book itself.
 
 Any ideas as to what the problem might be?

I'm afraid I'm not likely to be of help, since I don't use either
of those products, but this is where a tiny example is your best
friend.  By making a copy of your input file and condensing to
the bare minimum needed to produce the fault, you'll either find
the problem in the input file, or have a concrete example to
share with the list.

Jim

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


Re: minor chords

2014-03-16 Thread Jim Long
 I understand the Cmi7, too, but when sketching
 some chords on paper during a Jazz session, a simple - is
 way faster to write than mi all the way.
 
 So it's rather a matter of personal taste IMHO.
 
 Just my 2 cents
 
 Marc

With great respect, I beg to add,

Beware of shortcuts which are for the benefit of the writer.
IMO, engraving decisions should be made for the benefit of the
reader.

Jim

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


Re: Horizontalized scores

2014-02-18 Thread Jim Long
On Tue, Feb 18, 2014 at 02:13:57PM -0700, Chris Crossen wrote:
 
 I think I'll continue using GIMP to extract the images from PDFs.

If you're resigned to that technique, have you tried ImageMagick's
'convert' utility?  It can convert PDF to PNG/JPG/whatever you want,
and likely in a more automated/hands-off/scripted fashion than
GIMP, if that is desireable for your purposes.

Jim


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


\set Score.midiPanPosition

2014-01-23 Thread Jim Long
On Tue, Jan 21, 2014 at 04:09:38PM +1100, Vaughan McAlley wrote:
 On 20 January 2014 07:09, Colin Campbell c...@shaw.ca wrote:
   \set Score.midiPanPosition = #RIGHT
   \set Staff.midiPanPosition = #LEFT
 
 This is missing in the 2.18 changes, so I didn???t know about it until
 now. Very nice!

Strictly out of idle curiousity, are these possible, with some
degree of syntactic correction?

\set Score.midiPanPosition = #RIGHT*0.95

to pan almost but not quite hard right, or:

\set Staff.midiPanPosition = #LEFT*.1

To pan just slightly left of center?


Jim

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


Re: Determining paper size of PDF via command-line tools?

2014-01-22 Thread Jim Long
On Tue, Jan 21, 2014 at 08:58:32PM +0100, Alexander Kobel wrote:
 On 01/21/2014 08:27 PM, David Kastrup wrote:
  Jim Long lilyp...@umpquanet.com writes:
 
  I'd like to use a
  grep/awk/whatever command pipe to determine the paper size of
  certain PDF files.
 
  pdfinfo is a good bet.
 
 +1.

Thank you both.  pdfinfo does what I need.

Jim

$ for f in *.pdf; do pdfinfo $f 2/dev/null |tee $f.size | grep -w '^Page 
size:'; done | sort |uniq -c
   1 Page size:  595 x 842 pts (A4)
  10 Page size:  595.276 x 841.89 pts (A4)
   1 Page size:  595.279 x 841.888 pts (A4)
 150 Page size:  595.28 x 841.89 pts (A4)
   1 Page size:  611.999 x 791.998 pts (letter)
 150 Page size:  612 x 792 pts (letter)



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


Determining paper size of PDF via command-line tools?

2014-01-21 Thread Jim Long
I have been lax in enforcing a paper size in my engraved files.
This has been invisible to me, since apparently XPDF prints A4
files on a US letter-sized printer without complaint.

But some folks that I send PDFs to have noticed (and indeed I've
noticed it sometimes when I print in an unfamiliar environment).

Rather than re-engrave *everything*, I'd like to use a
grep/awk/whatever command pipe to determine the paper size of
certain PDF files.  I'll then re-engrave only those which are
identified as A4.  Is this possible, and if so, can anyone please
provide me a suitable UNIX command line that can identify the
paper size referenced by a given PDF filename?

If not, I can work around this other ways, but I thought I'd ask.

Thank you!

Jim

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


Re: Setting chordName font size

2014-01-07 Thread Jim Long
On Tue, Jan 07, 2014 at 09:06:58AM +0100, Noeck wrote:
 
 Am 07.01.2014 07:08, schrieb Ed Faulk:
  I'm trying to make the font size for the chord names smaller. 
 
 you need to override the ChordName font-size in some layout block

It can also be done in the \with clause of the ChordNames
context, if you prefer:

\new ChordNames \with {

  \override ChordName #'font-size = #0

} \chordNames



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


Re: LilyPond 2.18.0 released

2013-12-31 Thread Jim Long
On Tue, Dec 31, 2013 at 08:30:40AM +0100, Johan Vromans wrote:
 
 Attached a relic from old times... a picture taken on one of the first
 LilyPond meetings in Amsterdam, november 14 1998.

Please identify persons in photo!

Thanks, and Happy New Year,

Jim

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


Suggested patch to LilyJAZZ.ily (bar number engraving)

2013-12-28 Thread Jim Long
To whomever the keeper of the flame is for LilyJAZZ.ily:

First, thank you!

My default stylesheet normally turns off bar number engraving.
But today I happened to be working on a jazz-style chart and
wanted to add it back, so I did that in the \layout {} block:

  \context { \Score \consists Bar_number_engraver }

No joy.  Still no bar numbers.

Some process-of-elimination led me to discover that LilyJAZZ.ily
defeats bar number engraving by nullifying the stencil.

IMO, the better way to do this would be to:

a) have LilyJAZZ be neutral about bar numbering, and not force it
on or off;

so that

b) the user can use or not use bar numbers by adding or removing
the bar number engraver.

I doubt the line numbers are exact, but I think this context diff
will be clear.  The patch could likely be improved by deleting
the line altogether.

Thanks again,

Jim


--- LilyJAZZ.ily2013/10/07 02:25:22 1.1
+++ LilyJAZZ.ily2013/12/28 23:19:07
@@ -346,17 +346,17 @@
 makeUnpurePureContainer =
 #(ly:make-unpure-pure-container
ly:grob::stencil-height
(lambda (grob start end) (ly:grob::stencil-height grob)))


 jazzOn = {
   \override Staff.Clef #'stencil = #jazz-clef
-  \override Score.BarNumber #'stencil = ##f
+%  \override Score.BarNumber #'stencil = ##f

   \override Staff.KeySignature #'stencil = #jazz-keysig
   \override Staff.KeyCancellation #'stencil = #jazz-keysig

   \override Staff.TimeSignature #'stencil = #jazz-timesig

   \override Staff.NoteHead #'stencil = #jazz-notehead
   \override Staff.NoteHead #'Y-extent = \makeUnpurePureContainer




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


Re: Alternate endings with chord names above (or below) them look bad

2013-12-15 Thread Jim Long
I don't have a solution to your Lilypond input structuring 
question, but I can answer:

On Sun, Dec 15, 2013 at 12:03:19PM -0500, Sam Whited wrote:
 
 I've been digging through my sheet music collection, but haven't found
 anything with both alternate endings and chord names to look at; what's
 the usual way of engraving this?

The usual way is to put the chord symbols below the volta
bracket, as Lilypond does by default.  I looked at several
publishers and also hand-drawn Real Book charts and could not
find any examples that were otherwise.

If your local library has sheet music or songbooks available for
loan, perhaps you can find some examples there.  Any of the
prevalent real book/fake books that are out there will also
show examples of the standard practice for chord changes in volta
endings.

Perhaps you can share a *small, cropped* mini-image of a section
where Lilypond's default looks unappealing to you?



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


Re: lilypond-user Digest, Vol 133, Issue 102

2013-12-12 Thread Jim Long
On Thu, Dec 12, 2013 at 07:24:51AM +0100, David Kastrup wrote:
 Kieren MacMillan kieren_macmil...@sympatico.ca writes:
 
  I was
  brainstorming an orchestration teaching tool, where one could find the
  distribution of notes in an instrument across an entire score, to show
  students where [good] composers tend to have their instruments play.
 
  How hard would that be to implement as a function?
 
 Probably easiest done as an engraver as then you have the timing
 information (absolute and bar number) available.

Perhaps I misunderstand Kieren and/or David, but I took Kieren's
idea to be a sort of 'spectral' analysis, whereas David's reply
seems to imply a 'temporal' analysis.  At least, I understand
Kieren to be wondering what is the distribution of pitches
assigned to a given instrument throughout this score? or less
technically, what portion of each instrument's range does this
score utilize?  This is somewhat like a weighted ambitus as
shown perhaps by a  bell curve which shows not only the highest
and lowest pitches, but also includes the weighting of which
pitches are used more frequently than others.

David's comment makes me wonder, what group of instruments are
likely to be playing [at all; and how loudly] during any given
moment of the score, and how does the instrumentation (possibly
including the relative density [note count, dynamics]) change
through the timeline of the score?  This makes my mind's eye
envision a line graph with dynamics as a dependent variable of
time, and differently colored (or dotted/dashed) lines showing
the relative amplitude (dynamics) of each instrument or group of
instruments (strings/brass/woodwinds/percussion,
kazoo/washtub/spoons, whatever).

Not that I'm putting this on anyone's to-do list!  I just wanted
to compliment both brainstormers for posing some interesting
questions.



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


Placing _\markup below lyrics

2013-12-05 Thread Jim Long
I have a melody with lyrics below, and in places, some TextScript
markup, also below.

In the attached example, I would like the markup to appear below
the lyrics, instead of between the melody and the lyrics.

How can I accomplish this?

Thank you!

Jim
\version 2.17.95

%\paper { ragged-right= ##f }

melody = \relative c' {
  c4 c c c | c4 c c c 
  c4 c c c | c4_\markup melody staff markup  c c c 
}

words = \lyricmode {
  la la la la
  la la la la
  la la la la
  la la la la
}

\score {
  
\melody
\addlyrics \words
  
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Placing _\markup below lyrics

2013-12-05 Thread Jim Long
On Thu, Dec 05, 2013 at 01:32:43PM -0800, Ryan McClure wrote:
 Hi there Jim,
 
 This is messy--really messy. But, here's what I came up with:

...

   \override Score.TextScript #'extra-offset = #'(0 . -3)

...

   \override LyricText #'extra-offset = #'(0 . 2)

Thanks, Ryan.

I had thought about this, but hadn't pursued actually trying it,
hoping there was a better way.  It does work, and is manageable for
short passages (the few places where I want markup below the lyrics).

One thing I did learn was that my example was inadequate, because the
following is also needed:

  \override LyricExtender #'extra-offset = #'(0 . 2)

My tiny example had no lyric extenders, but my real-world example does.
Their extra-offset is set separately from the extra-offset of the
lyrics themselves.

Jim
\version 2.17.95

%\paper { ragged-right= ##f }

melody = \relative c' {
  c4 c c c | c4 c c c 
  c4 c c c | \override Score.TextScript #'extra-offset = #'(0 . -3)
c4_\markup melody staff markup  c c c 
}

words = \lyricmode {
  \override LyricText #'extra-offset = #'(0 . 2)
  \override LyricExtender #'extra-offset = #'(0 . 2)
  la __ _  la __ _ 
  la __ _  la __ _ 
  la __ _  la __ _ 
  la __ _  la __ _ 
}

\score {
  
\melody
\addlyrics \words
  
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Midi for instrument turns into percussion

2013-11-28 Thread Jim Long
On Thu, Nov 28, 2013 at 07:53:33PM -0800, Ryan McClure wrote:
 I am
 getting the following warning in my log, and I'm not sure if this is a clue:
 
 warning: MIDI channel wrapped around
 warning: remapping modulo 16

Check your source code for MIDI channel numbers outside the range
of 1 .. 16.

Jim

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


Re: Midi for instrument turns into percussion

2013-11-28 Thread Jim Long
On Thu, Nov 28, 2013 at 11:08:21PM -0500, Ryan McClure wrote:
 I have 30 channels I suppose--I have 30 voices that are being typed into 
 the score. Is there a workaround for that?

My exposure to Lilypond's MIDI capabilities is minimal, but my
understanding is that this is a limitation of the MIDI
specification, and by extension, the Standard MIDI File spec.


Jim


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


Re: Finishing touches on hymn, lyrics spacing

2013-11-18 Thread Jim Long
On Mon, Nov 18, 2013 at 06:03:26PM +, Ian Barclay wrote:
 I would like to a) reduce the spacing between stanzas so they
 are closer to each other

Here is my own \context { \Lyrics ... } section that I use.
Tweak the values to suit your taste.

Regarding the VerticalAxisGroup settings, my understanding is 
that in a Lyrics context:

The nonstaff-relatedstaff refers to the spacing of the Lyrics
(non-staff) to the melody they belong to (related staff).

The nonstaff-nonstaff spacing refers to the spacing between
stanzas, two consecutive non-staff contexts.  This is most
directly related to item a) of your request.

\context {
  \Lyrics
\override LyricText.font-size = #1
\override LyricText.font-name = #My Favorite Font
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
  #'(
( basic-distance . 1.0 )
( minimum-distance . 0.0 )
( padding . 0.5 )
  )
\override VerticalAxisGroup.nonstaff-nonstaff-spacing =
  #'(
( basic-distance . 0.0 )
( minimum-distance . 0.0 )
( padding . 0.5 )
  )
} % context


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


Re: Crash with \repeat ... \alternative and \remove Bar_engraver on 2.17.26

2013-11-16 Thread Jim Long
On Sun, Nov 17, 2013 at 12:15:45AM +0100, David Kastrup wrote:
 
 What is this good for?  I'm debugging on this
 URL:http://code.google.com/p/lilypond/issues/detail?id=3663 and though
 I've gotten the crash under control, my results are not identical to the
 2.16 results.  I have a hard time deciding whether I should even care.
 
 Can you spell out an actual application for this that did something
 useful in 2.16?  What would the output look like for such a reasonable
 application?

By itself, I don't know what it's good for, nor do I have an
example of what the minimal example's output should be.  It's
an element that is intended to be used simultaneously with other
contexts (melodic, chordal, whatever).

I was working on a lead sheet, and looking for a way to separate
the volta structure, \time changes, rehearsal marks, etc., from
the actual notes, because the notes often repeated, but did so in
unusual parts of the arrangement.  So I wanted to separate the
form from the melody.

At some point while I was working, the input file got into a
state which caused Lilypond to crash.  I arrived at the minimal
example by process of elimination after I discovered that
Lilypond still crashed when the chordal and melodic staves were
commented out or removed, leaving only the \form.  I then
winnowed down the \form variable's music to the smallest example
that would trigger the crash.

A larger example created just today works fine if I define a
simultaneous empty (spacers) melodic staff of a sufficient
length.

If the crash has been resolved, I would agree that the expected
output from the minimal example is inconsequential, and it's
probably difficult to say what output is definitively correct or
incorrect, since there are no bar lines for the volta brackets to
align to.

I'm attaching a less-minimal example.  Commenting out the sample
melody and using spacer rests, it appears that the crash happens
when the simultaneous music is not long enough to complete the
first ending.  Hence s1*15 (and less) crashes, s1*16 (and more)
does not.  Perhaps this example will suggest a more specific
correct output, but my feeling is that if the crash is fixed,
the issue can probably be closed.

Thank you for taking a look at this.

Regards,

Jim

\version 2.17.95

form = \new Staff \with {
  \remove Time_signature_engraver
  \remove Clef_engraver
  \remove Bar_engraver
  \remove Staff_symbol_engraver
  \remove Axis_group_engraver
} {

  \mark \markup \box \bold Intro
  s1 * 8
  \mark \default  % A section
  \repeat volta 2 {
s1 * 6
  } \alternative {
{ % first ending
  s1 * 2
}
{ % second ending
  s1 * 2
}
  } % repeat
 
  \mark \default
  s1 * 8 % B section

  \mark \default
  s1 * 8 % C section

  \bar |.

} % form

melody = \relative c'' {

  c,4 c c c
  d4 d d d
  e4 e e e
  f4 f f f
  g4 g g g
  a4 a a a
  b4 b b b
  c4 c c c

  c,4 c c c
  d4 d d d
  e4 e e e
  f4 f f f
  g4 g g g
  a4 a a a

% first ending:
  b4 b b b
  c4 c c c

% second ending:
  c,4 c c c
  d4 d d d

% B section:
  e4 e e e
  f4 f f f
  g4 g g g
  a4 a a a
  b4 b b b
  c4 c c c
  c,4 c c c
  d4 d d d

% C section:
  e4 e e e
  f4 f f f
  g4 g g g
  a4 a a a
  b4 b b b
  c4 c c c
  c,4 c c c
  d4 d d d

} % melody

\score {
  
\set Score.markFormatter = #format-mark-box-letters
\form
% \melody
% s1*15 % crash
s1*16 % no crash
  
} % score
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lyrics not starting on 1st bar of music

2013-11-16 Thread Jim Long
On Sun, Nov 17, 2013 at 09:50:16AM +0800, ayutheos wrote:
 I have a song consisting of a single staff which has the following structure:
 
 (1) Intro | (2) Part one | (3) Music only | (4) Part two
 
 How do I add lyrics to Parts One and Two only?


melodyA = { c'4 c' c' c' }
melodyB = { c'4 c' c' c' }
melodyC = { c'4 c' c' c' }
melodyD = { c'4 c' c' c' }

lyricI  = \lyricmode { Words for part one. }
lyricII = \lyricmode { Words for part two. }

\score {
  
\new Staff {
  \new Voice = intro  \melodyA
  \new Voice = part one   \melodyB
  \new Voice = music only \melodyC
  \new Voice = part two   \melodyD
}
\new Lyrics { 
  \lyricsto part one \lyricI
  \lyricsto part two \lyricII
}
  
}

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


Re: Formatting lyrics for different stanzas

2013-11-15 Thread Jim Long
On Sat, Nov 16, 2013 at 01:12:18PM +0800, ayutheos wrote:
 How do I apply different text formatting for different stanzas of
 lyrics globally?

Does this do what you want?

Jim

\paper  {
myStaffSize = #20
}

melody = \relative c' { c d e }

lyricI = \lyricmode { a lyric }

lyricII = \lyricmode { a lyric }

\score {

\new Voice = one { \melody }
\new Lyrics \lyricsto one {
\override LyricText #'font-size = #-3
\override LyricText #'font-name = #Lucida Sans Unicode
\lyricI }
\new Lyrics \lyricsto one {
\override LyricText #'font-size = #-3
\override LyricText #'font-name = #LilyJAZZText
\lyricII }
   
}

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


Re: Formatting lyrics for different stanzas

2013-11-15 Thread Jim Long
 \override LyricText #'font-name = #LilyJAZZText

D'Oh!  I was using that for testing, but you of course want 
Times New Roman, not LilyJAZZText.


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


Crash with \repeat ... \alternative and \remove Bar_engraver on 2.17.26

2013-11-10 Thread Jim Long
I was researching a method for defining form (repeats, rehearsal
marks, etc.) and line breaking in separate, hidden parallel staff
contexts, and ran across the following crash:

GNU LilyPond 2.17.26
Processing `bug6-crash.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems.../usr/local/share/lilypond/2.17.26/scm/bar-line.scm:913:28: In 
procedure ly:grob-array-length in expression (ly:grob-array-length bar-array):
/usr/local/share/lilypond/2.17.26/scm/bar-line.scm:913:28: Wrong type argument 
in position 1 (expecting Grob_array): ()

Can someone please determine whether the latest beta still does
this, and if so, whether a bug report is warranted?

The interaction appears to be between '\remove Bar_engraver' and
the alternative ending.  Remove either one and the problem goes away.

Thank you,

Jim
\version 2.17.26

form = \new Staff \with {
  \remove Bar_engraver
} \repeat volta 2 {
s1
} \alternative {
s1 % first ending
s1 % second ending
} % form

\score {
  
\form
  
} % score
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Is this issue 2802?

2013-11-10 Thread Jim Long
Reducing this to a minimal example doesn't seem to be trivial so
I'm hesitant to put in the time before I ask, ...

Does the attached image look like issue 2802?  The vertical
moment of the ChordName staff is aligned too far left, and
collides with the key signature of the melody staff.

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

I encounter this somewhat regularly, so if anyone has a
workaround, I'd appreciate it.  If an ME is necessary to get a
workaround, holler, and I'll hack away at one.  I've encountered
mis-alignment of both rhythmic staves and chord staves.

Thank you!

Jim
attachment: crop.png___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Odd \time and \appoggiatura interaction

2013-11-09 Thread Jim Long
On Sat, Nov 09, 2013 at 04:16:17PM -0500, Frederick Bartlett wrote:
 Patrick,
 
 Are you sure \transpose changes the key signature? It doesn't work for me,
 unless the \key is inside the \transpose, which won't generally be the
 case, since I put \key in a \global ... or is there some easier way to
 manage \transpose and \key? (I would like a way to \transpose all voices in
 a piece with a single command rather than putting an individual \transpose
 on each voice.)

\score {
  \transpose c ees
  
(your voices here)
  
}


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


Re: Globally disable transposition

2013-11-03 Thread Jim Long
On Sun, Nov 03, 2013 at 04:18:27PM +0100, Joseph Rushton Wakeling wrote:
 
 Is there a quick and easy way of disabling transposition (i.e. the effects of 
 both \transpose and \transposition commands) for an entire Staff, StaffGroup 
 or 
 Score?

I'm not sure that this suggestion meets any of your criteria
(especially \transposition), but:

\version 2.17.26

music = \new Staff \relative e' { e b' g b, e1 }

unTmusic = \withMusicProperty #'untransposable ##t \music

\score {
  
\transpose e f \music
\transpose e f \unTmusic
  
}


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


Re: Combining chord durations

2013-10-23 Thread Jim Long
On Tue, Oct 22, 2013 at 11:37:56PM +0200, Johan Vromans wrote:
 
 It's too late here to continue experimenting, but your example works
 with 2.16. 
 
 My intuition tells me it has something to do with the q. Could it be
 that it's duration is compile time static, and not dynamic?

When you have the time, try implementing my 'rptChord'
pseudo-code in Scheme, and then test the construct:

harmonies = \chordmode {
  \rptChord ees8 6 \rptChord bes8 2 |
  \rptChord ees8 4 \rptChord bes8 4
}

... or something similar.


Jim

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


Re: Combining chord durations

2013-10-22 Thread Jim Long
On Tue, Oct 22, 2013 at 09:56:12AM +0200, Johan Vromans wrote:
 
 I tried the following approach:
 
   qeight = \chordmode {
 \override ChordName #'stencil = ##f
 q8 q q q q q q
 \revert ChordName #'stencil
   }
   ...etc...
 
   harmonies = \new ChordNames \chordmode {
 \set chordChanges = ##f
 ees8 \qeight |
 ees8 \qfour  bes8 \qfour |
 ees8 \qsix   bes8 \qtwo  |
 ees8 \qeight |
   } % harmoniesC

That seems reasonable, and I am puzzled that it didn't work.  It doesn't
work here under 2.17.26, either.

But the attached example does work in 2.17.26.  Curious.

Jim

\version 2.16.0

melody = \new Staff \relative c' {
  \repeat unfold 16 ees8
  \bar |.
}

chordsA = \chordmode {
\repeat unfold 2 {
ees8:7
q q q q q 
bes8:7
q
}
} % chordsA

chordsB = \chordmode {
\repeat unfold 2 {
ees8:7
\override ChordName #'stencil = ##f
q q q q q 
\revert ChordName #'stencil
bes8:7
\override ChordName #'stencil = ##f
q
\revert ChordName #'stencil
}
} % chordsB

\markup Stretched spacing due to repeated, unsuppressed chords
\score {
  
\new ChordNames \chordmode {
  \chordsA
}
\melody
  
  \layout {}
} % score

\markup Stretched spacing due to repeated chords, even with \\set chordChanges = ##t
\score {
  
\new ChordNames \chordmode {
  \set chordChanges = ##t
  \chordsA
} % ChordNames
\melody
  
  \layout {}
} % score

\markup Stretched spacing eliminated by de-activating stencil
\score {
  
\new ChordNames \chordmode {
  \chordsB
} % ChordNames
\melody
  
  \layout {}
} % score
attachment: t2.png___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Combining chord durations

2013-10-21 Thread Jim Long
On Mon, Oct 21, 2013 at 01:59:11PM +0200, Johan Vromans wrote:
 I use a score to produce PDF and MIDI.
 
 To obtain a rhythmic pattern in the MIDI, I write the chords as:
 
   ees8 ees ees ees ees ees bes bes |
   c:m c:m c:m c:m aes aes aes aes  |
   ees ees ees ees bes bes bes bes  |
   ees ees ees ees ees ees ees ees  |
 
 In the printed score, the chord changes are not shown, which is what I
 want, but it seems that the duration of the chords affects the amount of
 space that is allocated for the printed output.

From the standpoint of the layout, this looks like Issue #3092:

https://code.google.com/p/lilypond/issues/detail?id=3092

But I gather that your question is somewhat different, especially
since the work-arounds given in that URL completely disregard
MIDI output and focus only on improving the spacing of chords in
the PDF output.

The reason your layout gets stretched is roughly because
LilyPond's chord-suppression logic for repeated chord markups
effectively makes the chord markup transparent rather than
eliminating it entirely.  Thus even the invisible chords still
take up space in the layout.

I regret that I can offer only some informal, even ugly
suggestions:

1) when writing multiple repetitions of chords, use LilyPond's
'q' shortcut.  This doesn't begin to address your problem, but it
might at least save you a little bit of typing, although you may
perceive a difference in readability:

\chordmode {
   ees8  q   q   q   q   q   bes q  |
   c:m   q   q   q   aes q   q   q  |
   ees   q   q   q   bes q   q   q  |  % obssessive-compulsive text
   ees   q   q   q   q   q   q   q  |  % alignment is optional
}

2) Once you have manually created the MIDI rhythms you want in
the LilyPond input file, you can fix some of the resulting layout
problems by de-activating the chord stencil during stretches of
repeated chords.  This re-introduces a lot of typing!  I haven't
tested this, but maybe you can create variables:

csOff = { \override ChordName #'stencil = ##f }
csOn  = { \revert   ChordName #'stencil }

and then do (something like):

\chordmode {
   \csOn ees8  \csOff q   q   q   q   q   \csOn bes \csOff q  |
   \csOn c:m   \csOff q   q   q   \csOn aes \csOff q   q   q  |
   \csOn ees   \csOff q   q   q   \csOn bes \csOff q   q   q  |  % 
obssessive-compulsive text
   \csOn ees   \csOff q   q   q   q   q   q   q  |  % alignment is futile
}

If that's not ugly enough -- and I have no idea whether this
could actually work -- if you are fluent in Scheme, perhaps you
can write a function 'wrapChord' which accepts a chordmode chord
identifier x and wraps it in:

\override ChordName #'stencil = ##t
x
\override ChordName #'stencil = ##f

And then (hypothetically) you could say:

\chordmode {
   \wrapChord ees8  q   q   q   q   q   \wrapChord bes q  |
   \wrapChord c:m   q   q   q   \wrapChord aes q   q   q  |
   \wrapChord ees   q   q   q   \wrapChord bes q   q   q  |
   \wrapChord ees   q   q   q   q   q   q   q |
}

3) Instead of #2, and again I haven't tested this (much), could
tremoli help you?

It seems you want a constant eighth-note pattern (ostenato?) to
your MIDI chords.  Perhaps (untested!) if you write:

\repeat tremolo N c8:m

where N is the duration in eighth notes, that might work?  Your
example:

  ees2. bes4  |
  c2:m  aes2  |
  ees2  bes2  |
  ees1|

would become:

  \repeat tremolo 6 ees8  \repeat tremolo 2 bes8  |
  \repeat tremolo 4 c8:m  \repeat tremolo 4 aes8  |
  \repeat tremolo 4 ees8  \repeat tremolo 4 bes8  |
  \repeat tremolo 8 ees8|

I never use LilyPond's MIDI output, so I don't know if that will
be useful to you or not.  The layout looked okay when I tested this 
method, though.

Again, I'm sorry that I don't have any definite suggestions, but
perhaps these topics will help you think of a workaround that
works for you.

Jim
\version 2.17.26

harmoniesA = \new ChordNames \chordmode {
  \set chordChanges = ##t
  \repeat unfold 6 ees8  \repeat unfold 2 bes8  |
  \repeat unfold 4 c8:m  \repeat unfold 4 aes8  |
  \repeat unfold 4 ees8  \repeat unfold 4 bes8  |
  \repeat unfold 8 ees8|
} % harmoniesA


harmoniesB = \new ChordNames \chordmode {
  \set chordChanges = ##t
  \repeat tremolo 6 ees8  \repeat tremolo 2 bes8  |
  \repeat tremolo 4 c8:m  \repeat tremolo 4 aes8  |
  \repeat tremolo 4 ees8  \repeat tremolo 4 bes8  |
  \repeat tremolo 8 ees8|
} % harmoniesB

melody = \new Staff \new Voice { R1*4 }

\score {
  
\harmoniesA
\melody
  
} % score


\score {
  
\harmoniesB
\melody
  
} % score
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Combining chord durations

2013-10-21 Thread Jim Long
On Mon, Oct 21, 2013 at 11:30:57PM +0200, Johan Vromans wrote:
 [Quoting Jim Long, on October 21 2013, 11:42, in Re: Combining chord ]
  3) Instead of #2, and again I haven't tested this (much), could
  tremoli help you?
 
 No, they do not render as individual notes in the midi.
 E.g.
 
   \repeat tremolo 6 ees8  \repeat tremolo 2 bes8  |
 
 is rendered in the midi as
 
   ees2. bes4

This is over my head, but my feeble understanding of LilyPond is
that on the layout side, one writes engravers that transform
the music stream into grobs and/or postscript output.  On the
MIDI side, the equivalent entity is called a performer, and it
takes the music stream and produces MIDI output that will
playback the music as scored.

It seems then, that by writing a better tremolo performer, one
could make LilyPond perform the chords with 8th-note tremoli as
indicated in the score.  I have no idea what the effort required
to do that would be, however.

  ... if you are fluent in Scheme, perhaps you can write a function
  'wrapChord' which accepts a chordmode chord identifier x and wraps
  it in:
 
 Actually, this was something I've been thinking of.
 
 I didn't mention that in my .ly templates, I always have two tags,
 scoreOnly and midiOnly that do just that: filter the music depending
 on whether paper score or midi is generated.

If you're okay with scheme, then use the stencil hack, it definitely
works.  I don't think you'll need to worry about tags, because the
same music expression will both engrave correctly and perform correctly.

Does the MIDI output come out correct when you do this?  It's ugly,
but I think it will work, both visually and aurally:

\pata ees  -  
\override ChordName #'stencil = ##t
ees8
\override ChordName #'stencil = ##f
q q q q q q q

\patb ees bes  -  
\override ChordName #'stencil = ##t
ees8
\override ChordName #'stencil = ##f
q q q
\override ChordName #'stencil = ##t
bes
\override ChordName #'stencil = ##f
q q q

\patc ees bes  -  
\override ChordName #'stencil = ##t
ees8
\override ChordName #'stencil = ##f
q q q q q
\override ChordName #'stencil = ##t
bes
\override ChordName #'stencil = ##f
q


If so, write a function like this (I don't speak Scheme, so I can't
help):

function rptChord( chordEvent, N )
% play chordEvent N times, but stencil only the first one
{
  if (n  0) {
\override ChordName #'stencil = ##t
chordEvent
\override ChordName #'stencil = ##f
while (--n  0)
  chordEvent
  } % if
} % rptChord

and use it like so:

%   \pata ees  -  ees8 q q q q q q q
%   \patb ees bes  -  ees8 q q q bes q q q
%   \patc ees bes  -  ees8 q q q q q bes q
\rptChord ees8 8 |
\rptChord ees8 4 \rptChord bes8 4 |
\rptChord ees8 6 \rptChord bes8 2 |

If you wish, you could improve rptChord to nicely revert the
value of ChordName.stencil so that it's easy to mix \rptChord
with normal, manual chordmode chord entry.  My code is lousy,
I'm just hoping to give you ideas.

 So I tried to write a function that would expand one or two chords
 according to a pattern. For example
 
   \pata ees  -  ees8 q q q q q q q
   \patb ees bes  -  ees8 q q q bes q q q
   \patc ees bes  -  ees8 q q q q q bes q
 
 (These patterns would cover 96% of the chords of my project.)

\rptChord should handle 100% of the chords, although with some 
tedium/overtyping:

% 12-bar blues, in whole notes:
\rptChord c1:7 1
\rptChord f1:7 1
\rptChord c1:7 2
\rptChord f1:7 2
\rptChord c1:7 2
\rptChord g1:7 1
\rptChord f1:7 1
\rptChord c1:7 2

% 12-bar blues, in eighth notes:
\rptChord c8:7 8
\rptChord f8:7 8
\rptChord c8:7 16
\rptChord f8:7 16
\rptChord c8:7 16
\rptChord g8:7 8
\rptChord f8:7 8
\rptChord c8:7 16

Not that you'd want to use it that way.  My point is, instead of
three 'pattern' functions, you'd have just one, and it would
create both correct engraving and an accurate performance.

Or at least, I think it would.  :)  Reality may vary.



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


[WISH] A form of \noBreak that accepts a music expression?

2013-10-17 Thread Jim Long
Sometimes I want to protect a short passage of music from being
broken onto separate systems.  Are there better ways of writing:

\repeat unfold 6 { c1 | \noBreak }
\break
\repeat unfold 6 { c1 | \noBreak }

for passages that one wishes to keep all on one system?

Would there be any community need for something like the badly-named:

\noBreakMusic {
  c1 | c1 | c1 |
  c1 | c1 | c1 |
}
\break
\noBreakMusic {
  c1 | c1 | c1 |
  c1 | c1 | c1 |
}

A technique like this might also be workable, but IMO a little
less elegant syntactically:

\set unbreakableMusic = ##t
\repeat unfold 6 c1
\break
\repeat unfold 6 c1
\revert unbreakableMusic

This is not a huge priority, just a curiousity.


Jim

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


Re: [WISH] A form of \noBreak that accepts a music expression?

2013-10-17 Thread Jim Long
On Thu, Oct 17, 2013 at 11:37:04PM +0200, David Kastrup wrote:
 Kieren MacMillan kieren_macmil...@sympatico.ca writes:
 
  Hi Jim,
 
  A technique like this might also be workable, but IMO a little
  less elegant syntactically:
  
  \set unbreakableMusic = ##t
  \repeat unfold 6 c1
  \break
  \repeat unfold 6 c1
  \revert unbreakableMusic
  
  This is not a huge priority, just a curiousity.
 
  I use these macros:
 
  pageBreaksForbid = { \override Score.NonMusicalPaperColumn
  #'page-break-permission = ##f }
  pageBreaksAllow = { \revert Score.NonMusicalPaperColumn 
  #'page-break-permission }
  lineBreaksForbid = { \override Score.NonMusicalPaperColumn
  #'line-break-permission = ##f }
  lineBreaksAllow = { \revert Score.NonMusicalPaperColumn 
  #'line-break-permission }
 
 The proposed interface
 
 \noBreakMusic {
   c1 | c1 | c1 |
   c1 | c1 | c1 |
 }
 
 could be implemented (with some 2.17) using
 
 noBreakMusic =
 #(define-music-function (parser location music) (ly:music?)
   #{ \temporary\override
Score.NonMusicalPaperColumn.line-break-permission = ##f
  #music
  \revert Score.NonMusicalPaperColumn.line-break-permission
   #})
 
 
 The use of \temporary makes sure that the value afterwards is the same
 as before (rather than the default, though that would be fine for most
 use cases).

Excellent.  Thank you, David and Kieren.

Jim

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


Re: Floating markup

2013-10-15 Thread Jim Long
On Tue, Oct 15, 2013 at 09:04:13AM -0500, James Worlton wrote:
 
 This solution is also kind of hacky, but it looks like it may do more or
 less what you want. It also scales pretty well to other staff sizes. I'm
 not sure how to slide the staff names to the right, however:

This slides the instrument name to the right and slightly up:

...
  \new Staff =staff \with {
\remove Time_signature_engraver
\override InstrumentName.X-offset = #-4
\override InstrumentName.Y-offset = #1
instrumentName = \markup { \vspace #1.5
  \center-column { \italic Count:
   \vspace #2
   \line { \italic Sticking: }
  }
}
  }
...

It may seem odd that an X-offset of -4 means slide it to the
right, but working in conjecture mode again, I presume that the
original value of this instance of InstrumentName.X-offset was a
negative number less than -4, so by comparison, -4 *is* to the
right of the original, calculated X-offset value.  I tried a value
of 0, and that was much too far to the right.

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


Re: Problems with LilyJAZZ.ily

2013-10-10 Thread Jim Long
On Thu, Oct 10, 2013 at 01:40:06AM +0200, Thomas Morley wrote:
 
 Hi,
 
 this is another font and simply installing the font doesn't changes
 accidentals in chords with alterations.

True, I intentionally showed LilyPond's standard chordname
formatting.

I customize the look of my chord symbols with my personalized
version of Robert Schmaus' work:

% JAZZ CHORDS
% (based upon pop-chords.ly by James L. Hammons)
%
% v3.1

Robert's work does a good job of managing font sizes of
accidentals and other symbols, uses a lowercase 'm' for minor,
all that stuff.  And when it doesn't do what you want, it's easy
to modify.  I agree with other comments that the fact that
LilyJAZZText is a small caps font makes it unsuitable for
chordnames.  Using the lilyjazzchord font allows me to retain my
prefered lower case styling of min, dim aug, add, sus,
etc.

 Additionally LillyJAZZ.ily was updated with all recent improvements.

Thanks for managing the feedback and for fixing problems.  Is
there a URL?  A resolution to issue 3096 would be a welcome next
step.  Marc Hohl's workaround, jazzTempoMarkup, looks very nice,
but complicates rehearsal marks that occur at the same point as
tempo indications.

Jim


https://code.google.com/p/lilypond/issues/detail?id=3096

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


Re: Overlap markup

2013-10-10 Thread Jim Long
I've got a longer answer for later when I have lilypond at hand,
but have you tried \override #'(baseline-skip . 0)  ?

Jim

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


Re: Overlap markup

2013-10-10 Thread Jim Long
On Thu, Oct 10, 2013 at 12:04:06PM -0700, EdBeesley wrote:
 Hi again everyone, I'm making a title page and I'd like one line of text to
 overlap another line (see attached png). However nothing I've tried (\raise
 or \translate) will force the text above the previous line. This is the code
 I'm using at the moment:
 
 \bookpart {
   \markup 
 { 
 \fill-line 
 { 
 \column 
 { 
 \raise #-8 
 \center-align 
 { 
 \fontsize #13 Geir Rafnsson 
 \hspace #1
 \hspace #1 
 \fontsize #16 \override #'(font-name .
 Aniron) ??kjur 
 \hspace #1
 \fontsize #7   (Extreme Measures)
 
 } 
 } 
 } 
 } 
 }

baseline-skip can go to zero, but has no effect beyond 0.  That
is, you can make them touch, but not overlap.

Negative \vspace is probably what you want:

\markup {
\fill-line {
\column \center-align {
\fontsize #13 Geir Rafnsson
\vspace #-1
\fontsize #7 (Extreme Measures)
} % column
} % fill-line
} % markup

Jim

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


Re: Problems with LilyJAZZ.ily

2013-10-08 Thread Jim Long
On Tue, Oct 08, 2013 at 09:46:45PM +, Steve Noland wrote:
 
 An additional question: can someone provide a snippet that shows how the 
 LilyJAZZ fonts do with jazz chordnames?

\version 2.17.26

\include LilyJAZZ.ily

globalMusic = {
  \time 4/4
  \key a \minor
} % globalMusic

harmonies = \new ChordNames \with {

  chordChanges = ##t
  \override ChordName #'font-size = #0
  \override ChordName #'font-name = #lilyjazzchord

} \chordmode {

  a1:m7 | b2:m7.5- e:7.9+
  a1:m7 | b2:m7.5- e:7.9+

} % harmonies

melody = \relative e'' {
  \jazzOn
  e8 d c b d c b a
  b a gis f gis f gis b
  a4
  \improvisationOn
  \override Stem.stencil = ##f
 b4 b4 b4
  b4 b4 b4 b4
  \revert Stem.stencil
  \improvisationOff
  \jazzOff
} % melody

\score {
  
{ \harmonies }
{ \globalMusic \melody }
  
} % score

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


Re: Problems with LilyJAZZ.ily

2013-10-08 Thread Jim Long
On Wed, Oct 09, 2013 at 12:53:35AM +0200, Thomas Morley wrote:
 2013/10/9 Jim Long lilyp...@umpquanet.com:
 
\override ChordName #'font-name = #lilyjazzchord
 
 Hi Jim,
 
 never heard of lilyjazzchord.
 Where to get?
 
 Compiling your snippet returns LilyPond-default for the ChordNames.
 
 Cheers,
   Harm

It's available from the French-language page at:

https://sites.google.com/site/jpgzic/home/la-police


Jim

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


\jazzOn vs. \improvisationOn

2013-10-03 Thread Jim Long
There is a known issue that prevents \improvisationOn from working
with LilyJAZZ and \jazzOn.

a) Is that issue terribly gnarly, or is there a likelihood that
the two modes might be made compatible sometime soon?  It does
seem a tad ironic.

b) How can I work around the problem in a piece which starts in
improv. mode?  The closest attempt I have made so far is
attached, which involves specifying simultaneous music with
non-jazz mode to produce the improv slashes, and a simultaneous
jazz mode spacer rest to render the clef/key/time signature using
the LilyJAZZ glyphs.  My first guess was to scale the spacer rest
to 0, but that defeats the jazz glyphs, and gives me Lily's
standard clef, etc.

If anyone can offer an improved workaround, I'd be very grateful.

Regards,

Jim

\version 2.17.26

\include LilyJAZZ.ily

stemOff = { \override Staff.Stem.stencil = ##f }
stemOn  = { \revert Staff.Stem.stencil }

improvMusic = \relative b' {
\improvisationOn \stemOff
b4 b b b  | b b b b
b4 b b b  | b b b b
\stemOn \improvisationOff
} % improvMusic

\score {
  \new Staff
  
\improvMusic
{ \jazzOn s4 \jazzOff }
  
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


  1   2   >