Trouble Selecting Correct Font-series
I'm using Lilypond version 2.19.25 on a mac running Yosemite, and I'm trying to use the font family Iowan Old Style. In addition to the regular styles (roman, bold, italic, bolditalic, etc.) this family comes with Black and BlackItalic styles. in my small example below, the markup gets engraved using Iowan Old Style Black instead of Iowan Old Style Roman, and I can't seem to find a way to fix it. \paper { fonts = # (make-pango-font-tree Iowan Old Style Optima Monaco (/ (* staff-height pt) 2.5)) } \relative c' { c^\markup{Test} d e f g a b c } My suspicion is that it may have something to do with the organization of the .ttc file where the font resides, but I don't know enough on the subject to fix it. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
Why would you want to use odd values here? I was just playing with values. If only even numbers are supposed to be used since they are the only sensible choices, then why not have all values doubled internally anyway ? W/o a documentation I can't judge whether that's intended, but it is at least unexpected. What else would you expect when shifting a rest half a staff space? First and foremost I would expect symmetric behaviour for positive and negative values w/r to up/down placement. That is not (always) the case as can be seen most prominently with values 3 and -3 (3 seems to be effectively identical to 2). The same goes for 5 and -5 (5 equals 4). suspect there is some rounding and truncating involved. Overall it seems displacement by half a staff space works for negative values continously while for positive values it seems to jump. Or more precisely for positive odd values greater 1. I also would not have expected the additional lines drawn of which I now expect they are drawn always but only become visible for odd displacements. As I wrote in my initial post: I don't know whether that behaviour is not exactly as intended. Kind regards, Michael -- Michael Gerdau email: m...@qata.de GPG-keys available on request or at public keyserver signature.asc Description: This is a digitally signed message part. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: OT: Beauty of programming languages
In a review on languages in the Communications of the ACM a long time ago, each language was described by a caption and a short paragraph. Sample captions: APL : I can read hieroglyphs too. Prolog : If Prolog is the answer, then what was the question? LOL! Can you give a reference to this review? Werner ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re-use \chordmode for strumming patterns
Hi. I'm curious if there's a way to re-use a variable containing chords entered in \chordmode to create strumming patterns with Pitch_squash_engraver and \improvisationOn. I like only having to enter the chords once, so if I change something, I only need to do it in one place, and I also would like the strumming patterns in the midi output. But the issue is that handing multiple notes to the Pitch_squash_engraver gives it a double note-head. Is there a way to maybe extract the root of the chord, or get a single head from the Pitch_squash_engraver? Thanks! Joel Example: \version 2.19.25 chordNames = \chordmode { c4 c8 c~ c c c c g4 g8 g~ g g g g } \new ChordNames { \set chordChanges = ##t \chordNames } \new Voice \with { \consists Pitch_squash_engraver } { \improvisationOn % Would like some option here like: % \chordRoot \chordNames } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
Michael Gerdau wrote Tuesday, August 25, 2015 3:27 PM \override Rest.voiced-position = 0 Yes, first available in 2.19.15, courtesy of Keith O'Hara. Yet to be documented in the NR, I believe. I have used Peter's example code and tried various parameter to voiced-position (see attached). It is my impression that the odd parameters show an...odd (pun intended) behaviour: - some odd parameter show additional horizontal lines - the vertical spacing is not symmetric up/down for odd numbers W/o a documentation I can't judge whether that's intended, but it is at least unexpected. Yes, odd numbers appear strange with a standard staff. But then, so does a'2\rest. There was a long discussion about this, see https://code.google.com/p/lilypond/issues/detail?id=2109 The thing to remember is that not all music is set on a 5-line staff with equal spacing. So the odd numbers may have a use after all. Trevor ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Re-use \chordmode for strumming patterns
Joel Ebel jbe...@mybox.org writes: Hi. I'm curious if there's a way to re-use a variable containing chords entered in \chordmode to create strumming patterns with Pitch_squash_engraver and \improvisationOn. I like only having to enter the chords once, so if I change something, I only need to do it in one place, and I also would like the strumming patterns in the midi output. But the issue is that handing multiple notes to the Pitch_squash_engraver gives it a double note-head. Is there a way to maybe extract the root of the chord, or get a single head from the Pitch_squash_engraver? Thanks! Joel Example: \version 2.19.25 chordNames = \chordmode { c4 c8 c~ c c c c g4 g8 g~ g g g g } \new ChordNames { \set chordChanges = ##t \chordNames } \new Voice \with { \consists Pitch_squash_engraver } { \improvisationOn % Would like some option here like: % \chordRoot \chordNames } Try chordRoot = #(define-music-function (m) (ly:music?) (event-chord-reduce m)) I don't like the name. Once we come up with a nice bike shed color, we probably should provide that function in LilyPond proper and document it along with Pitch_squash_engraver. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Equal spacing of notes in a bar
Very many thanks, Simon Bill On 15-08-25 08:18 AM, Simon Albrecht wrote: Am 25.08.2015 um 02:51 schrieb William Marchant: Thanks to Simon and Abraham. I found the quoted reference on my own, but I need something which can be applied to several single bars throughout the music. It is the lyrics which are distorting just a few bars. I had hoped there would be a snippet I am unable to find. Is there one? TIA. Bill There are several issues in our tracker concerned with the shortcomings of Lily’s current behaviour, since indeed note spacing should only in extreme cases by distorted by lyrics. What can be done? – Choose a narrower font for lyrics. – Play with LyricText.self-alignment-X, e.g. (gross exaggeration :-)) %%% \version 2.18.2 selfAl = #(define-music-function (parser location num) (number?) #{ \once \override LyricText . self-alignment-X = $num #}) mus = { g'8 f'8 e'8 } text = \lyricmode { \selfAl 1.2 straight straight \selfAl #-1 straight } \score { \mus \addlyrics \text } % – choose a wider horizontal spacing in general, either through the methods in http://lilypond.org/doc/v2.18/Documentation/notation/changing-horizontal-spacing – or by ‘brute force’: something like \paper { system-count = 10 }. HTH, Simon On 15-08-24 03:56 PM, Simon Albrecht wrote: Hi Bill, ‘proportional notation’ is the magic word: http://lilypond.org/doc/v2.18/Documentation/notation/proportional-notation. HTH, Simon Am 24.08.2015 um 20:54 schrieb William Marchant: I have looked though the documentation without finding what I need. The attached code gives me a triplet whose notes are spaced according to the words. I would like to equalize the spacing between the notes. Is there a snippet I have missed, or some technique that will provide this? Bill \version 2.18.2 global = { \language english \key bf \major \time 3/4 } melody = \relative c' { \tuplet 3/2 { bf8 c d } c2 | } VerseOne = \lyricmode { Give me a big } \score { \new ChoirStaff \new Staff \new Voice = Song { \global \melody } \new Lyrics \lyricsto Song { \VerseOne } \layout { \context { \Score } } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
- Original Message - From: Michael Gerdau m...@qata.de To: lilypond-user@gnu.org Sent: Tuesday, August 25, 2015 3:27 PM Subject: Re: vertical spacing of rests \override Rest.voiced-position = 0 Yes, first available in 2.19.15, courtesy of Keith O'Hara. Yet to be documented in the NR, I believe. I have used Peter's example code and tried various parameter to voiced-position (see attached). It is my impression that the odd parameters show an...odd (pun intended) behaviour: - some odd parameter show additional horizontal lines - the vertical spacing is not symmetric up/down for odd numbers W/o a documentation I can't judge whether that's intended, but it is at least unexpected. Kind regards, Michael -- Michael Gerdau email: m...@qata.de GPG-keys available on request or at public keyserver I would expect it. If you look at the list of glyphs in the NR, you'll see that the rests include the ledger line. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
Michael Gerdau m...@qata.de writes: \override Rest.voiced-position = 0 Yes, first available in 2.19.15, courtesy of Keith O'Hara. Yet to be documented in the NR, I believe. I have used Peter's example code and tried various parameter to voiced-position (see attached). It is my impression that the odd parameters show an...odd (pun intended) behaviour: Why would you want to use odd values here? W/o a documentation I can't judge whether that's intended, but it is at least unexpected. What else would you expect when shifting a rest half a staff space? -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Equal spacing of notes in a bar
Thanks David. That looks like a solution for me. Bill On 15-08-24 10:13 PM, David Nalesnik wrote: On Mon, Aug 24, 2015 at 7:51 PM, William Marchant wmarch...@eastlink.ca mailto:wmarch...@eastlink.ca wrote: Thanks to Simon and Abraham. I found the quoted reference on my own, but I need something which can be applied to several single bars throughout the music. It is the lyrics which are distorting just a few bars. I had hoped there would be a snippet I am unable to find. Is there one? TIA. Bill Maybe \newSpacingSection would serve? http://lilypond.org/doc/v2.18/Documentation/notation/new-spacing-area HTH, David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Repeats in \parallelMusic
Is there a way of using \repeat volta 2 and similar when using the \parallelMusic command? The following does not work: \version 2.18.0 \parallelMusic #'(Vone Vtwo) { %bar 1 \repeat volta 2 { d''1 | \repeat volta 2 { f'1 | %bar 2 c''1 } | e'1 } | } \score { \new Staff { \Vone } \new Staff { \Vtwo } } I have tried repositioning the braces but none of my experiments so far have produced the desired result. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Re-use \chordmode for strumming patterns
chordRoot = #(define-music-function (m) (ly:music?) (event-chord-reduce m)) That works perfectly! I don't like the name. Once we come up with a nice bike shed color, we probably should provide that function in LilyPond proper and document it along with Pitch_squash_engraver. I agree that this would be a handy function to exist and have documented in section 1.1.4 of the notation reference, though I don't have a better idea for the name. Now that I know about event-chord-reduce, I see that this has been discussed before: https://code.google.com/p/lilypond/issues/detail?id=185 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
Peter Selinger wrote Tuesday, August 25, 2015 2:28 PM I think using \override Rest.voiced-position = 0 in the voice in which you have rests might do the trick for you. Trevor This shows that I should read my emails in the correct order. Thanks for the tip about voiced-position. This seems to be a new feature in 2.19? Yes, first available in 2.19.15, courtesy of Keith O'Hara. Yet to be documented in the NR, I believe. Trevor ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Repeats in \parallelMusic
David Sumbler da...@aeolia.co.uk writes: Is there a way of using \repeat volta 2 and similar when using the \parallelMusic command? The following does not work: \version 2.18.0 \parallelMusic #'(Vone Vtwo) { %bar 1 \repeat volta 2 { d''1 | \repeat volta 2 { f'1 | %bar 2 c''1 } | e'1 } | } \score { \new Staff { \Vone } \new Staff { \Vtwo } } I have tried repositioning the braces but none of my experiments so far have produced the desired result. It's simpler than you think it is. You only need the structure to descend into once. \version 2.18.0 \parallelMusic #'(Vone Vtwo) { %bar 1 \repeat volta 2 { d''1 | f'1 | %bar 2 c''1 | e'1 | } g''1 | c''1 | } \score { \new Staff { \Vone } \new Staff { \Vtwo } } -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: OT: Beauty of programming languages (was: Way to flatten nested \include's?)
Hello Michæl, In the APL course I took years ago, the teacher said: « Exercice for the next two weeks : find out what this sample program (25 symbols altogether) does. A guy says two weeks later: « It does this and that… but it took me two and a half hours to find out! » And teacher answers: « Well, it took me two hours to write! » In a review on languages in the Communications of the ACM a long time ago, each language was described by a caption and a short paragraph. Sample captions: APL : I can read hieroglyphs too. Prolog : If Prolog is the answer, then what was the question? (Don’t misunderstand me though, I loved this language…). JM Le 25 août 2015 à 01:37, Michael Gerdau m...@qata.de a écrit : While guile is aimed at being an extension language, don't forget that Scheme was taught at MIT for many, many years as the finest language to give students a deep insight into computing and computer science (refer SICP). [Sadly, they now teach Python instead. Real world practicality defeated beauty, insight, and elegance. :-(] Well, beauty is in the eye of the beholder.. Anybody remembering APL ? THAT is a beautiful language and most likely totally unuseable for the vast majority of today's aspiring programmers :) Kind regards, Michael -- Michael Gerdau email: m...@qata.de GPG-keys available on request or at public keyserver___ 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: Make a new staff occupy the same vertical space as a previous staff
On Tue, Aug 25, 2015 at 9:53 PM, David Kastrup d...@gnu.org wrote: The following appears to work here. Of course it begs the question whether we should provide a context definition like that, possibly with a better name, in LilyPond by default. Excellent! That does work, which is good because I discovered that if I add another staff, then the second half of the line wound up below that other staff, rather than adjacent to the chordnames, example below. I would certainly be in favor of a re-usable line context. \version 2.19.25 \new ChordNames { \chordmode { c1 } \new TabStaff \relative c { c4 e g c } \break \chordmode { c1 } \new RhythmicStaff { c4 c8 c~ c c c } } \new Staff \relative c' { c1 g' } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Way to flatten nested \include's?
On Tue, 25 Aug 2015 09:23:12 +1000 Andrew Bernard andrew.bern...@gmail.com wrote: Unless you enjoy writing Scheme as much as I do! I programmed quite a lot in lisp and APL, but never quite liked it. From a practical point of view: every linux system comes with Perl and Python. If you're lucky you can add Scheme yourself. -- Johan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Way to flatten nested \include's?
That was the general idea. I posted some instructions about how to add the utility to a lilypond installation for people but in a new thread. It was actually one of the main reasons I did it in Scheme - there would be a guaranteed known execution environment installed if the user is using lilypond to begin with. A On 25/08/2015 17:49, David Kastrup lilypond-user-bounces+andrew.bernard=gmail@gnu.org on behalf of d...@gnu.org wrote: If all else fails, the lilypond binary itself can serve as a GUILE interpreter. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Errors when using TabStaff with stringTunings
Blöchl Bernhard b_120902342...@telecolumbus.net writes: I sent that post on Monday August 24th at about 17:00 UTC. It never appeared on the list for reasons I do not know. For another trial I send that mail again. I cannot tell you the reason #'( -5 -10 -15 -20) does not work. But I can tell you how I do it: %~~~ \version 2.18.0 five-bass = \stringTuning b,, e, a, d g yourmusic = { \key g \minor R1*12 r8 bes'8\1 bes'\1 bes'\1 r8 a'\1 a'\1 a'\1 r c''\1 c''\1 c''\1 r bes'\1 bes'\1 bes'\1 r bes'\1 bes'\1 bes'\1 r a'\1 a'\1 a'\1 r d''\1 d''\1 d''\1 r d''\1 d''\1 d''\1 r8 bes'8\1 bes'\1 bes'\1 r8 a'\1 a'\1 a'\1 r c''\1 c''\1 c''\1 r bes'\1 bes'\1 bes'\1 r bes'\1 bes'\1 bes'\1 r a'\1 a'\1 a'\1 d''\1 d''\1 d''\1 d''\1 d''\1 d''\1 d''\1 d''\1 } \score { \new StaffGroup \new TabStaff %\set TabStaff.stringTunings = #'( -5 -10 -15 -20) \set TabStaff.stringTunings = #five-bass { \yourmusic } \layout{} } % That even works with \version 2.12.3. Uh, it even works with \version 2.7.38. You just have to use a version of LilyPond that is at least at version 2.15.16 (for addition of the \stringTuning command with the somewhat undescriptive but colorful commit message commit 3170fd65067a96ea861c173c81fce5f0e127762e Author: David Kastrup d...@gnu.org Date: Sun Oct 23 15:29:45 2011 +0200 Get rid of most of the insane string-tunings API ) and at least version 2.15.43 to allow for assigning a value to five-bass with a normal LilyPond assignment. You seem to misunderstand what \version does. It is important for convert-ly, and LilyPond will complain whenever the \version header indicates a version newer than itself (or, for some strange reason, older than 2.7.38). But apart from this warning, LilyPond does not change behavior. It's still the same old 2.18.2 or whatever else it has been compiled as. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Errors when using TabStaff with stringTunings
Blöchl Bernhard b_120902342...@telecolumbus.net writes: with That even works with \version 2.12.3. I just reference to the original code under question. It obviously used lilypond \version 2.12.3 But it's a bad idea to tack on a version header referring to a version with which the file won't work. For one thing, if people with an older version of LilyPond try running the code, they'll get mysterious error messages without being advised about the version mismatch. For another, when convert-ly is being run on the file, it might make a hash of it because it assumes a much older syntax than there actually is and upgrades it. So there is no point in leaving a \version 2.12.3 at the top of the file while at the same time updating its syntax to that of 2.18.2 (or in this case probably 2.16.0 if nothing else is in there requiring a newer version). -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Errors when using TabStaff with stringTunings
with That even works with \version 2.12.3. I just reference to the original code under question. It obviously used lilypond \version 2.12.3 Regards Am 25.08.2015 09:13, schrieb David Kastrup: Blöchl Bernhard b_120902342...@telecolumbus.net writes: I sent that post on Monday August 24th at about 17:00 UTC. It never appeared on the list for reasons I do not know. For another trial I send that mail again. I cannot tell you the reason #'( -5 -10 -15 -20) does not work. But I can tell you how I do it: %~~~ \version 2.18.0 five-bass = \stringTuning b,, e, a, d g yourmusic = { \key g \minor R1*12 r8 bes'8\1 bes'\1 bes'\1 r8 a'\1 a'\1 a'\1 r c''\1 c''\1 c''\1 r bes'\1 bes'\1 bes'\1 r bes'\1 bes'\1 bes'\1 r a'\1 a'\1 a'\1 r d''\1 d''\1 d''\1 r d''\1 d''\1 d''\1 r8 bes'8\1 bes'\1 bes'\1 r8 a'\1 a'\1 a'\1 r c''\1 c''\1 c''\1 r bes'\1 bes'\1 bes'\1 r bes'\1 bes'\1 bes'\1 r a'\1 a'\1 a'\1 d''\1 d''\1 d''\1 d''\1 d''\1 d''\1 d''\1 d''\1 } \score { \new StaffGroup \new TabStaff %\set TabStaff.stringTunings = #'( -5 -10 -15 -20) \set TabStaff.stringTunings = #five-bass { \yourmusic } \layout{} } % That even works with \version 2.12.3. Uh, it even works with \version 2.7.38. You just have to use a version of LilyPond that is at least at version 2.15.16 (for addition of the \stringTuning command with the somewhat undescriptive but colorful commit message commit 3170fd65067a96ea861c173c81fce5f0e127762e Author: David Kastrup d...@gnu.org Date: Sun Oct 23 15:29:45 2011 +0200 Get rid of most of the insane string-tunings API ) and at least version 2.15.43 to allow for assigning a value to five-bass with a normal LilyPond assignment. You seem to misunderstand what \version does. It is important for convert-ly, and LilyPond will complain whenever the \version header indicates a version newer than itself (or, for some strange reason, older than 2.7.38). But apart from this warning, LilyPond does not change behavior. It's still the same old 2.18.2 or whatever else it has been compiled as. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: OT: Beauty of programming languages
On Tue, 25 Aug 2015 15:29:56 +1000 Andrew Bernard andrew.bern...@gmail.com wrote: quicksort=: (($:@(#[), (=#[), $:@(#[)) ({~ ?@#)) ^: (1#) It's hard to believe that people only complained about Perl being line noise... -- Johan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Way to flatten nested \include's?
Johan Vromans jvrom...@squirrel.nl writes: On Tue, 25 Aug 2015 09:23:12 +1000 Andrew Bernard andrew.bern...@gmail.com wrote: Unless you enjoy writing Scheme as much as I do! I programmed quite a lot in lisp and APL, but never quite liked it. From a practical point of view: every linux system comes with Perl and Python. If you're lucky you can add Scheme yourself. If all else fails, the lilypond binary itself can serve as a GUILE interpreter. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Way to flatten nested \include's?
Andrew Bernard andrew.bern...@gmail.com writes: lilypond-user-bounces+andrew.bernard=gmail@gnu.org on behalf of d...@gnu.org wrote: If all else fails, the lilypond binary itself can serve as a GUILE interpreter. That was the general idea. I posted some instructions about how to add the utility to a lilypond installation for people but in a new thread. It was actually one of the main reasons I did it in Scheme - there would be a guaranteed known execution environment installed if the user is using lilypond to begin with. It's not just that. It's also that the lilypond executable is pretty sure to know the search paths of LilyPond. You cannot really get them reliably without calling LilyPond, and if you do that anyway, why not use its interpreter? -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Errors when using TabStaff with stringTunings
I sent that post on Monday August 24th at about 17:00 UTC. It never appeared on the list for reasons I do not know. For another trial I send that mail again. I cannot tell you the reason #'( -5 -10 -15 -20) does not work. But I can tell you how I do it: %~~~ \version 2.18.0 five-bass = \stringTuning b,, e, a, d g yourmusic = { \key g \minor R1*12 r8 bes'8\1 bes'\1 bes'\1 r8 a'\1 a'\1 a'\1 r c''\1 c''\1 c''\1 r bes'\1 bes'\1 bes'\1 r bes'\1 bes'\1 bes'\1 r a'\1 a'\1 a'\1 r d''\1 d''\1 d''\1 r d''\1 d''\1 d''\1 r8 bes'8\1 bes'\1 bes'\1 r8 a'\1 a'\1 a'\1 r c''\1 c''\1 c''\1 r bes'\1 bes'\1 bes'\1 r bes'\1 bes'\1 bes'\1 r a'\1 a'\1 a'\1 d''\1 d''\1 d''\1 d''\1 d''\1 d''\1 d''\1 d''\1 } \score { \new StaffGroup \new TabStaff %\set TabStaff.stringTunings = #'( -5 -10 -15 -20) \set TabStaff.stringTunings = #five-bass { \yourmusic } \layout{} } % That even works with \version 2.12.3. If you really have a 6 string bass extend the string list. I think to six-bass = \stringTuning b,, e, a, d g c' Am 24.08.2015 22:12, schrieb Kevin Nowaczyk: Thanks for the help everyone, I would up changing the stringTungings line to: \set Staff.stringTunings = \stringTuning e,, a,, d, g, And everything works fine. However, I also tried the notaion: \set Staff.stringTunings = #bass-tuning but that didn't work. I'll have to figure that out at a later time. All-in-all, I installed mediawiki with the Score plugin to show off a few guitar tabs I transcribed a few years ago. If you're curious, the first one (that now works) is here: http://wiki.beakerboy.com/index.php/Steven_Smith Thanks Again, Kevin Nowaczyk On Mon, 8/24/15, David Kastrup d...@gnu.org wrote: Subject: Re: Errors when using TabStaff with stringTunings To: Kevin Nowaczyk beakerbo...@yahoo.com Cc: lilypond-user@gnu.org Date: Monday, August 24, 2015, 12:36 PM Kevin Nowaczyk beakerbo...@yahoo.com writes: I have a lilypond file which used to parse perfectly well several years ago. Run convert-ly -ed on the file. At least on your example file, it upgraded the version successfully. The resulting code is rather ugly but works. You might want to look up the \stringTuning function in the notation manual in order to do this in a prettier way. -- David Kastrup ___ 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: Way to flatten nested \include's?
I am not sure I understand. Is having a symlink: flatten-ly - /home/username/bin/lilypond-wrapper.guile not correct? The convert-ly utility is set up as: convert-ly - /home/username/bin/lilypond-wrapper.python Andrew On 25/08/2015 18:11, David Kastrup d...@gnu.org wrote: It's not just that. It's also that the lilypond executable is pretty sure to know the search paths of LilyPond. You cannot really get them reliably without calling LilyPond, and if you do that anyway, why not use its interpreter? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Way to flatten nested \include's?
Am 25.08.2015 um 10:11 schrieb David Kastrup: Andrew Bernard andrew.bern...@gmail.com writes: lilypond-user-bounces+andrew.bernard=gmail@gnu.org on behalf of d...@gnu.org wrote: If all else fails, the lilypond binary itself can serve as a GUILE interpreter. That was the general idea. I posted some instructions about how to add the utility to a lilypond installation for people but in a new thread. It was actually one of the main reasons I did it in Scheme - there would be a guaranteed known execution environment installed if the user is using lilypond to begin with. It's not just that. It's also that the lilypond executable is pretty sure to know the search paths of LilyPond. You cannot really get them reliably without calling LilyPond, and if you do that anyway, why not use its interpreter? This would be a great idea! The flatten-ly procedure would come in handy to solve the problem of lilypond-book and lyluatex that changes in nested include files do not cause the lilypond sourecs to be rendered again. If the md5 sum is calculated of a flattened ly file instead of the original ly file, *every* change is visible. So +1 for making flatten-ly a lilypond executable! Marc ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Way to flatten nested \include's?
Am 25.08.2015 um 11:12 schrieb Andrew Bernard: I am not sure I understand. Is having a symlink: flatten-ly - /home/username/bin/lilypond-wrapper.guile not correct? The convert-ly utility is set up as: convert-ly - /home/username/bin/lilypond-wrapper.python I think that David meant that your script should be callable by lilypond itself, something like lilypond flatten-ly.ly This ensures that all include paths are resolved automatically. A shell script does not know about lilypond's way to find include files ;-) Marc Andrew On 25/08/2015 18:11, David Kastrup d...@gnu.org mailto:d...@gnu.org wrote: It's not just that. It's also that the lilypond executable is pretty sure to know the search paths of LilyPond. You cannot really get them reliably without calling LilyPond, and if you do that anyway, why not use its interpreter? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
Den 2015-08-23 00:01, skrev Peter Selinger: Hello again, this is a true newbie question. I am trying to engrave two polyphonic voices on a single staff. Since the two voices have all their rests in common, I only want to typeset each rest once, so I use spacer rests in the second voice. Still the vertical spacing is such that all the rests are put near the top of the staff. I would like them to appear in their normal positions. From the manual, I know two ways to do this. Solution 1 is to enclose each rest between \oneVoice and \voiceOne, forcing standard vertical spacing: \version 2.19.25 \new Staff \new Voice \relative c'' { \voiceOne { \oneVoice r \voiceOne c \oneVoice r \voiceOne d %%% } } \new Voice \relative c'' { \voiceTwo { s4 a8 a8 s4 b8 b8 } } Solution 2 is to specify an explicit vertical position for each rest. \version 2.19.25 \new Staff \new Voice \relative c'' { \voiceOne { b4\rest c b\rest \voiceOne d } } \new Voice \relative c'' { \voiceTwo { s4 a8 a8 s4 b8 b8 } } Neither solution is particularly elegant, as they both require every rest to be marked up individually. Is there a global way to turn off vertical spacing for rests in a context, i.e., some command whose effect would be to make notes behave as with \voiceOne and rests behave as with \oneVoice? Thanks, -- Peter Hello, There might be another aspect of positioning (common) rests from different voices. This is beside all the technical solutions presented earlier in this thread. All these work more or less fine for half rests as well as full rests. But when it comes to full rests, in almost every note sheet I have come in contact with, it is printed hanging below staff line number two, not zero, so the half rest and full rest reside in the same white space. You can not have different definitions for these two rests, except for individual rests (\once \override...). But if you need a full rest, at least I prefer the multi measure rest (R1 instead of r1) as this is automatically centred in the measure. This type of rest also has its own definition of the vertical position. So the definition of centerRests should be: centerRests = { \override Rest.staff-position = ##t \override MultiMeasureRest.staff-position = #2 } Regarding the voice VoiceTwo, I use to convert the rests into spaces, which is quite simple by means of the global replace function (ctrl+H) in Frescobaldi and the regular expression (Regex) option. Replace //([ ])r([^a-zA-Z]*) with \1s\2)// (remove the quotation marks, they are here just for pointing out the text to insert). For non English works the exclude text (a-zA-Z) might have to be expanded, not to affect comments and similar texts. Kaj ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Way to flatten nested \include's?
Andrew Bernard andrew.bern...@gmail.com writes: On 25/08/2015 18:11, David Kastrup d...@gnu.org wrote: It's not just that. It's also that the lilypond executable is pretty sure to know the search paths of LilyPond. You cannot really get them reliably without calling LilyPond, and if you do that anyway, why not use its interpreter? I am not sure I understand. Is having a symlink: flatten-ly - /home/username/bin/lilypond-wrapper.guile not correct? I can't say anything about the wrappers used here. I was pointing out that calling a Scheme procedure via the lilypond executable has the advantage of having search paths etc set correctly. You can do that with lilypond -e '(load xxx.scm)' -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
lyric-text::interpolate-alignment
Hello, with my current project I wanted to avoid making too many manual adjustments on LyricText.self-alignment-X, and so I made an essay at having this done automatically depending on the width of the syllable. It’s not a very sophisticated approach – a really intelligent solution is still far away. But it works and I’m interested in hearing your opinion. Best regards, Simon \version 2.19.25 #(define (lyric-text::interpolate-alignment grob) Calculates values for 'self-alignment-X using the width = X-extent of the syllable. Values are zero up to @var{lower-threshold}, @var{maximum} above @{upper-threshold}, with a smooth interpolation inbetween. (let* ((width (cdr (ly:grob-property grob 'X-extent))) (lower-threshold 3) (upper-threshold 11) (maximum (- 4/5)) ;; calculate parameters for use in the âsigmoidâ cubic function with ;; (sigmoid lower-threshold) -- 0 ;; (sigmoid upper-threshold) -- maximum ;; and zero âslopeâ in both these points (a (/ (* 2 maximum) (+ (- (expt upper-threshold 3)) (* 3 upper-threshold upper-threshold lower-threshold) (* -3 upper-threshold lower-threshold lower-threshold) (expt lower-threshold 3 (b (/ (- maximum (* a (+ (expt upper-threshold 3) (* 2 (expt lower-threshold 3)) (* -3 upper-threshold (expt lower-threshold 2) (expt (- upper-threshold lower-threshold) 2))) (c (/ (- maximum (* b (- (expt upper-threshold 2) (expt lower-threshold 2))) (* a (- (expt upper-threshold 3) (expt lower-threshold 3 (- upper-threshold lower-threshold))) (d (- maximum (* upper-threshold c) (* (expt upper-threshold 2) b) (* (expt upper-threshold 3) a))) (sigmoid (lambda (x) (+ (* a x x x) (* b x x) (* c x) d ;(format #t The four parameters have been determined as: \n a ~a \n b ~a \n c ~a \n d ~a\n a b c d) (cond ((= width lower-threshold) 0) (( lower-threshold width upper-threshold) (sigmoid width)) ((= width upper-threshold) maximum \layout { \context { \Lyrics \override LyricText.self-alignment-X = #lyric-text::interpolate-alignment \override LyricText.before-line-breaking = #(lambda (grob) (let ((extent (ly:grob-property grob 'X-extent)) (txt (ly:grob-property grob 'text))) (format #t For ~a, X-extent is ~a\n txt extent))) } } { \repeat unfold 8 g'8\noBeam } \addlyrics { l ll lll l ll } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Make a new staff occupy the same vertical space as a previous staff
I'm sure this is documented somewhere and I just can't seem to find it. How do I get a new staff to immediately follow a previous staff in the same vertical space. In this simple example, I'd like the TabStaff to end, and the RhythmicStaff to immediately follow in the same vertical space, rather than starting lower in the score, indicating a switch between picked notes vs strummed chords. \version 2.19.25 \new ChordNames \chordmode { c1 c } { \new TabStaff \relative c { c4 e g c } \new RhythmicStaff { c4 c8 c~ c c c } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lyric-text::interpolate-alignment
Am 26.08.2015 um 00:04 schrieb Simon Albrecht: Hello, with my current project I wanted to avoid making too many manual adjustments on LyricText.self-alignment-X, and so I made an essay at having this done automatically depending on the width of the syllable. It’s not a very sophisticated approach – a really intelligent solution is still far away. But it works and I’m interested in hearing your opinion. In particular, I have one question: how must I modify this approach, so that it will still be possible to override individual LyricText grobs? \override LyricText.after-line-breaking = #(lambda (grob) (ly:grob-set-property! grob 'self-alignment-X lyric-text::interpolate-alignment)) – which I tried as an alternative – did not work at all. TIA, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
Phil Holmes wrote: - Original Message - From: Michael Gerdau m...@qata.de To: lilypond-user@gnu.org Sent: Tuesday, August 25, 2015 3:27 PM Subject: Re: vertical spacing of rests \override Rest.voiced-position = 0 Yes, first available in 2.19.15, courtesy of Keith O'Hara. Yet to be documented in the NR, I believe. I have used Peter's example code and tried various parameter to voiced-position (see attached). It is my impression that the odd parameters show an...odd (pun intended) behaviour: - some odd parameter show additional horizontal lines - the vertical spacing is not symmetric up/down for odd numbers W/o a documentation I can't judge whether that's intended, but it is at least unexpected. Kind regards, Michael -- Michael Gerdau email: m...@qata.de GPG-keys available on request or at public keyserver I would expect it. If you look at the list of glyphs in the NR, you'll see that the rests include the ledger line. Did you see his output? What struck me as strange is not that the rests were shifted in increments of half a staff line - that is to be expected. What is strange, however, is that for all rests longer than a quarter, voiced-position = 3 has the same effect as voiced-position = 2 (i.e., they are *not* shifted the final odd step), and voiced-position = 5 has the same effect as voiced-position = 4. Also, for multi-measure rests, voiced-position 2 seems to have no effect whatsoever; they don't go any higher than voiced-position = 2. This behavior seems internally inconsistent. Even if we take for granted that odd voiced-position shifts are probably not very common, it is still concerning that there is one behavior for shifts = 2, a different behavior for shifts 2, and finally that the behavior is different for each kind of rest (= quarter, = half, and multi-measure each behave differently, but only when voiced-position 2). Perhaps this is a bug in the voiced-position implementation? -- Peter ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Equal spacing of notes in a bar
Am 25.08.2015 um 02:51 schrieb William Marchant: Thanks to Simon and Abraham. I found the quoted reference on my own, but I need something which can be applied to several single bars throughout the music. It is the lyrics which are distorting just a few bars. I had hoped there would be a snippet I am unable to find. Is there one? TIA. Bill There are several issues in our tracker concerned with the shortcomings of Lily’s current behaviour, since indeed note spacing should only in extreme cases by distorted by lyrics. What can be done? – Choose a narrower font for lyrics. – Play with LyricText.self-alignment-X, e.g. (gross exaggeration :-)) %%% \version 2.18.2 selfAl = #(define-music-function (parser location num) (number?) #{ \once \override LyricText . self-alignment-X = $num #}) mus = { g'8 f'8 e'8 } text = \lyricmode { \selfAl 1.2 straight straight \selfAl #-1 straight } \score { \mus \addlyrics \text } % – choose a wider horizontal spacing in general, either through the methods in http://lilypond.org/doc/v2.18/Documentation/notation/changing-horizontal-spacing – or by ‘brute force’: something like \paper { system-count = 10 }. HTH, Simon On 15-08-24 03:56 PM, Simon Albrecht wrote: Hi Bill, ‘proportional notation’ is the magic word: http://lilypond.org/doc/v2.18/Documentation/notation/proportional-notation. HTH, Simon Am 24.08.2015 um 20:54 schrieb William Marchant: I have looked though the documentation without finding what I need. The attached code gives me a triplet whose notes are spaced according to the words. I would like to equalize the spacing between the notes. Is there a snippet I have missed, or some technique that will provide this? Bill \version 2.18.2 global = { \language english \key bf \major \time 3/4 } melody = \relative c' { \tuplet 3/2 { bf8 c d } c2 | } VerseOne = \lyricmode { Give me a big } \score { \new ChoirStaff \new Staff \new Voice = Song { \global \melody } \new Lyrics \lyricsto Song { \VerseOne } \layout { \context { \Score } } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Putting flatten-ly into your lilypond installation
On Tue, 25 Aug 2015, Andrew Bernard wrote: If you want to put flatten-ly into your lilypond installation, copy it to the lilypond installation bin directory, and make a symbolic link to the lilypond guile wrapper in your bin directory where the other lilypond tools are. For example: $ cp flatten-ly ~/lilypond/usr/bin $ ln -s ~/bin/lilypond-wrapper.guile ~/bin/flatten-ly Then you don’t necessarily need to have guile installed on your system. On my Fedora 22 system, with LilyPond and guile installed from the official Fedora rpm repo, /usr/bin/guile is guile2. Your script fails with guile2. For LilyPond there is /usr/bin/guile1.8 installed from the compat-guile18 package. To make flatten-ly work on my system I simply edited the first line in the script to contain #!/usr/bin/guile1.8 \ -e main -s It would be interesting to find out what would be needed to make it work also with guile2. -- MT___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Errors when using TabStaff with stringTunings
That cannot work as you overwrite your setting \set Staff.stringTunings = \stringTuning e,, a,, d, g, with \set Staff.stringTunings = #bass-tuning #bass-tuning is preset in the list in lilypond you got shortly with another mail. Correct use is \new TabStaff { \set Staff.stringTunings = \stringTuning e,, a,, d, g, \yournotes } I wold recommend you to study the manual, i. e. http://lilypond.org/doc/v2.18/Documentation/notation/common-notation-for-fretted-strings.html Regards Am 24.08.2015 22:38, schrieb Kevin Nowaczyk: In this case..the band is little known and no longer together. I had it hidden from view for anonymous visitors except open it up for the next couple days for people here who were interested in checking it out. I do like the automatic midi feature. It helps identify mistakes pretty easily. Kevin On Mon, 8/24/15, Simon Albrecht simon.albre...@mail.de wrote: Subject: Re: Errors when using TabStaff with stringTunings To: Kevin Nowaczyk beakerbo...@yahoo.com, lilypond-user@gnu.org Date: Monday, August 24, 2015, 4:25 PM Am 24.08.2015 um 22:12 schrieb Kevin Nowaczyk: Thanks for the help everyone, I would up changing the stringTungings line to: \set Staff.stringTunings = \stringTuning e,, a,, d, g, And everything works fine. However, I also tried the notaion: \set Staff.stringTunings = #bass-tuning but that didn't work. I'll have to figure that out at a later time. All-in-all, I installed mediawiki with the Score plugin to show off a few guitar tabs I transcribed a few years ago. If you're curious, the first one (that now works) is here: http://wiki.beakerboy.com/index.php/Steven_Smith You may only hope that you don’t get any problems due to the legal (copyright) issues with this… Yours, Simon ___ 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: lyric-text::interpolate-alignment
Simon, On Tue, Aug 25, 2015 at 5:40 PM, Simon Albrecht simon.albre...@mail.de wrote: Am 26.08.2015 um 00:04 schrieb Simon Albrecht: Hello, with my current project I wanted to avoid making too many manual adjustments on LyricText.self-alignment-X, and so I made an essay at having this done automatically depending on the width of the syllable. It’s not a very sophisticated approach – a really intelligent solution is still far away. But it works and I’m interested in hearing your opinion. In particular, I have one question: how must I modify this approach, so that it will still be possible to override individual LyricText grobs? Not sure I understand. What if you keep your layout block as is, and put for example \once \override LyricText.self-alignment-X = #LEFT before the syllable you'd like to change? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
70147pers...@telia.com wrote: Hello, There might be another aspect of positioning (common) rests from different voices. This is beside all the technical solutions presented earlier in this thread. All these work more or less fine for half rests as well as full rests. But when it comes to full rests, in almost every note sheet I have come in contact with, it is printed hanging below staff line number two, not zero, so the half rest and full rest reside in the same white space. You can not have different definitions for these two rests, except for individual rests (\once \override...). But if you need a full rest, at least I prefer the multi measure rest (R1 instead of r1) as this is automatically centred in the measure. This type of rest also has its own definition of the vertical position. So the definition of centerRests should be: centerRests = { \override Rest.staff-position = ##t \override MultiMeasureRest.staff-position = #2 } Regarding the voice VoiceTwo, I use to convert the rests into spaces, which is quite simple by means of the global replace function (ctrl+H) in Frescobaldi and the regular expression (Regex) option. Replace //([ ])r([^a-zA-Z]*) with \1s\2)// (remove the quotation marks, they are here just for pointing out the text to insert). For non English works the exclude text (a-zA-Z) might have to be expanded, not to affect comments and similar texts. Kaj Hi Kaj, thanks for pointing this out. Ugh, what an ugly mess. In my opinion, this is a bug in the font for the full measure rest glyph. The reference point for that glyph should be so that the glyph is above, not below, its reference point. Currently, the behavior is completely inconsistent, as this example shows: % \version 2.19.25 \compressFullBarRests \new Staff { ^default | r\longa | r\breve | r1 | r2 r4 r8 r8 | R1*4 | R1*2 | R1 | } \new Staff { \override Rest.staff-position = #0 \override MultiMeasureRest.staff-position = #0 ^staff-position = 0 | r\longa | r\breve | r1 | r2 r4 r8 r8 | R1*4 | R1*2 | R1 | \revert Rest.staff-position \revert MultiMeasureRest.staff-position } \new Staff { \override Rest.Y-offset = #0 \override MultiMeasureRest.Y-offset = #0 ^Y-offset = 0 | r\longa | r\breve | r1 | r2 r4 r8 r8 | R1*4 | R1*2 | R1 | \revert Rest.Y-offset \revert MultiMeasureRest.Y-offset } % All three staffs (see tests8.pdf) contain the same set of rests. The default positioning (top staff) is correct both for normal rests and full-measure rests. Setting staff-position = 0 (middle staff) works correctly for r1 rests, incorrectly for R1 rests, and correctly for all other rests (including multi-measure). Setting Y-offset = 0 (bottom staff) works incorrectly for r1 and R1 rests, and correctly for all other rests (including multi-measure). This is inconsistent in several ways, because * if staff-position is used, whole rests of type r1 and R1 are treated differently from each other. Moreover, the R1 type rests are positioned incorrectly relative to all other rests. * if Y-offset is used, both r1 and R1 rests are positioned incorrectly relative to all other rests. * finally, the behavior of staff-position doesn't match that of Y-offset, in the case of r1 rests only. I think the correct long-term solution is to redefine the reference point of the whole rest glyph so that it is always positioned slightly above the half-rest glyph. Meanwhile, one has to work around this. Here is another incremental patch to the merge-rests code (from http://www.mail-archive.com/lilypond-user%40gnu.org/msg69608.html, now triply patched): diff --git a/merge-rests.ily b/merge-rests.ily index 688a37c..f4e3adb 100644 --- a/merge-rests.ily +++ b/merge-rests.ily @@ -21,10 +21,10 @@ % merge a list of rests, by moving the first one to the specified % offset, and disabling all the other ones including any associated dots. #(define (merge-to-offset rests offset) - (ly:grob-set-property! (car rests) 'Y-offset offset) + (ly:grob-set-property! (car rests) 'staff-position offset) (for-each (lambda (rest) - (ly:grob-set-property! rest 'Y-offset offset) + (ly:grob-set-property! rest 'staff-position offset) (if (not (null? (ly:grob-object rest 'dot))) (ly:grob-set-property! (ly:grob-object rest 'dot) 'stencil #f))) (cdr rests))) @@ -58,7 +58,7 @@ (lambda (rests) (if (all-equal rests mmrest-same-length) (let ((offset (if (eq? (ly:grob-property (car rests) -'measure-count) 1) 1 0))) +'measure-count) 1) 2 0))) (merge-to-offset rests offset) (curr-rests '()) (rests '())) It turns out the code was already compensating
Re: vertical spacing of rests
Trevor Daniels wrote: selin...@mathstat.dal.ca (Peter Selinger) writes: this is a true newbie question. I am trying to engrave two polyphonic voices on a single staff. Since the two voices have all their rests in common, I only want to typeset each rest once, so I use spacer rests in the second voice. Still the vertical spacing is such that all the rests are put near the top of the staff. I would like them to appear in their normal positions. From the manual, I know two ways to do this. Solution 1 is to enclose each rest between \oneVoice and \voiceOne, forcing standard vertical spacing: Solution 2 is to specify an explicit vertical position for each rest. Neither solution is particularly elegant, as they both require every rest to be marked up individually. Is there a global way to turn off vertical spacing for rests in a context, i.e., some command whose effect would be to make notes behave as with \voiceOne and rests behave as with \oneVoice? I think using \override Rest.voiced-position = 0 in the voice in which you have rests might do the trick for you. Trevor This shows that I should read my emails in the correct order. Thanks for the tip about voiced-position. This seems to be a new feature in 2.19? Unlike staff-position, voiced-position does the right thing for all rests, including r1 and R1. Adding that to my previous example: % \version 2.19.25 \compressFullBarRests \new Staff { \oneVoice ^default for oneVoice | r\longa | r\breve | r1 | r2 r4 r8 r8 | R1*4 | R1*2 | R1 | } \new Staff { \voiceOne ^default for voiceOne | r\longa | r\breve | r1 | r2 r4 r8 r8 | R1*4 | R1*2 | R1 | } \new Staff { \voiceOne \override Rest.staff-position = #0 \override MultiMeasureRest.staff-position = #0 ^voiceOne with staff-position = 0 | r\longa | r\breve | r1 | r2 r4 r8 r8 | R1*4 | R1*2 | R1 | \revert Rest.staff-position \revert MultiMeasureRest.staff-position } \new Staff { \voiceOne \override Rest.Y-offset = #0 \override MultiMeasureRest.Y-offset = #0 ^voiceOne with Y-offset = 0 | r\longa | r\breve | r1 | r2 r4 r8 r8 | R1*4 | R1*2 | R1 | \revert Rest.Y-offset \revert MultiMeasureRest.Y-offset } \new Staff { \voiceOne \override Rest.voiced-position = #0 \override MultiMeasureRest.voiced-position = #0 ^voiceOne with voiced-position = 0 | r\longa | r\breve | r1 | r2 r4 r8 r8 | R1*4 | R1*2 | R1 | \revert Rest.voiced-position \revert MultiMeasureRest.voiced-position } % (see attached rests8b.pdf for the output). The fact that voiced-position works correctly and staff-position doesn't seems to further underscore the problem with (and possible bug in) MultiMeasureRest.staff-position. -- Peter ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Make a new staff occupy the same vertical space as a previous staff
The closest I've been able to get so far is to instantiate the TabStaff and the RhythmicStaff inside the ChordNames in parallel with the chords I want to make. I still don't get the TabStaff and the RhythmicStaff on the same line, but if I insert a \break (commented out below) in between them, then they appear to be in the same place. Is there a better solution? \version 2.19.25 \new ChordNames { \chordmode { c1 } \new TabStaff \relative c { c4 e g c } %\break \chordmode { c1 } \new RhythmicStaff { c4 c8 c~ c c c } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lyric-text::interpolate-alignment
Hi David (et al.), This is one of my biggest pet peeves. It was part of the GSoC lyric work that never got completed. My sponsorship offer for a fix remains open! =) Cheers, Kieren. Kieren MacMillan, composer ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Make a new staff occupy the same vertical space as a previous staff
Joel Ebel jbe...@mybox.org writes: I'm sure this is documented somewhere and I just can't seem to find it. How do I get a new staff to immediately follow a previous staff in the same vertical space. In this simple example, I'd like the TabStaff to end, and the RhythmicStaff to immediately follow in the same vertical space, rather than starting lower in the score, indicating a switch between picked notes vs strummed chords. \version 2.19.25 \new ChordNames \chordmode { c1 c } { \new TabStaff \relative c { c4 e g c } \new RhythmicStaff { c4 c8 c~ c c c } } The following appears to work here. Of course it begs the question whether we should provide a context definition like that, possibly with a better name, in LilyPond by default. \version 2.19.25 \new ChordNames \chordmode { c1 c } \new Line { \new TabStaff { \relative c { c4 e g c \stopStaff } } \new RhythmicStaff { 4 8 8~8 8 4 } } \layout { \context { \name Line \type Engraver_group \consists Axis_group_engraver \accepts TabStaff \accepts RhythmicStaff } \context { \Score \accepts Line } } -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user