Re: Help wanted from a blind user
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)
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
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?
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?
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
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
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
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
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
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
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
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
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
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
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
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 ?
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?
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 ?
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
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
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
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
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
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
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
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
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
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
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
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
$ 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
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)
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?
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?
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
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?
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?
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?
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?
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
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
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
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
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
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
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
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
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
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?
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?
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
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
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
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)
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
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
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
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
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?
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.)
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.)
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
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
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
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
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
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?
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?
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
\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
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?
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
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
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
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
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
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
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?
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?
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
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
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
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
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
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
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
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