Re: increased space between piano staves
Hi Mark, 2014-09-07 11:14 GMT+02:00 Mark Stephen Mrotek carsonm...@ca.rr.com: What needs to be corrected? I think that the problem comes frome tuplet number and/or tuplet bracket : for some reason, paddings remain even if omited. So please find herewith two workarounds. HTH, Pierre PS. I've converted some lines into the v2.18 syntax; didn't change anything though ;) \version 2.18 \header { title = Sonata 479 composer = D. Scarlatti opus = K. 6 } \score { \new PianoStaff \new Staff = upper \relative c'' { \clef treble \key f \major \time 3/8 \omit TupletBracket \omit TupletNumber f,8 a c | f c' a | \stemUp f f f | f4\trill f8 | \slurUp %option 1 \tweak positions #'() \tuplet 3/2 { a16 ( [ g f ] ) e ( [ d c ] ) \stemUp \slurUp bes ( [ a g ] ) | a ( [ g f ] ) e ( [ d c ] ) \change Staff = lower bes ( [ a g ] ) | a ( [ g f ] ) e ( [ d c ] ) bes ( [ a g ] ) } | f4.\trill \change Staff = upper \tuplet 3/2 { a''16 bes c } ees4\trill | } \new Staff = lower \relative c { \clef bass \key f \major \time 3/8 \omit TupletBracket \omit TupletNumber f,8 a c | f a c | \change Staff = upper \stemDown f a c | a4_\trill a8 | f8 f f | \change Staff = lower f, f f | f, f f | s4. | s4. } } \score { \new PianoStaff \new Staff = upper \relative c'' { \clef treble \key f \major \time 3/8 f,8 a c | f c' a | \stemUp f f f | f4\trill f8 | \slurUp % option 2 a16*2/3 ( [ g f ] ) e ( [ d c ] ) \stemUp \slurUp bes ( [ a g ] ) | a ( [ g f ] ) e ( [ d c ] ) \change Staff = lower bes ( [ a g ] ) | a ( [ g f ] ) e ( [ d c ] ) bes ( [ a g ] ) | f4.\trill \change Staff = upper \omit TupletBracket \omit TupletNumber \times 2/3 { a''16 bes c } ees4\trill | } \new Staff = lower \relative c { \clef bass \key f \major \time 3/8 f,8 a c | f a c | \change Staff = upper \stemDown f a c | a4_\trill a8 | f8 f f | \change Staff = lower f, f f | f, f f | s4. | s4. } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Add lyrics after n measures
Try a single space in quotes: -- Phil Holmes - Original Message - From: Colin Campbell To: lilypond-user@gnu.org Sent: Sunday, September 07, 2014 9:52 PM Subject: Re: Add lyrics after n measures On 14-08-29 02:21 PM, Simon Albrecht wrote: Am 29.08.2014 um 16:58 schrieb Jacques Menu: Hello Marco, Always copy the list in your messages, to let the them know. Put as many \skip as you have notes in the melody in the first 8 bars if you use \addlyrics or \lyricsto, Much more convenient: use _ for every note without a lyric syllable. (in place of \skip) otherwise use skip2. eight times for example. HTH, Simon I'm setting a piece of barbershop music, in which each of the four voices has different pitches. Often, the outer voices will be singing vocalises, while the inner ones have the melody and a harmony line. As often, all four voices share the same lyrics and rhythm, again with different pitches. Visually, there are passages with centered lyrics between two staves, and vocalises above the top staff and below the bottom staff, coming and going. To avoid writing four complete sets of lyrics, I use \skipsy \skips in the lyrics of the outer voices. I wrote this little function to avoid many, many \skips: %- lSkip = #(define-music-function (parser location skips) (number?) #{ \repeat unfold #skips { \skip 1 } #}) %- It requires counting the number of notes to be skipped, but lets me enter : tWords = \lyricmode { \skip 1 doo doo doo doo wee -- oo \lSkip #3 doo __ doo \lSkip #7 doo __ doo \lSkip #7 doo doo doo doo wee -- oo doo __ } The drawback, and my question to the assembled wisdom, is that the vocalises require lyric extenders, but the \skip seems to extend the lines over the skipped notes. Is there a way to make sure the extenders end before the first skipped note? Cheers, Colin -- I've learned that you shouldn't go through life with a catcher's mitt on both hands. You need to be able to throw something back. -Maya Angelou, poet (1928- ) -- ___ 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: Breaking notes up across bar lines when using lyrics
Simon Albrecht simon.albre...@mail.de writes: Looks like it’s worth a bug report and issue tracker, doesn’t it? About completion heads engraver and addlyrics being incompatible. More like URL:https://code.google.com/p/lilypond/issues/detail?id=4096 Issue 4096: \addlyrics always creates its own Voice context The original code from David Bellows does work after applying this patch. One will have to see how the patch fares with testing since it activates functionality that was supposed to be present but never actually was. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Include a file if it exists
Next iteration I found out that using #(ly:parser-parse-string (ly:parser-clone parser) \\include \01.ily\) _does_ actually work, but not when the included file contains variable definitions (e.g. music = ...). If it contains only, say, a \header block, everything works as expected. I'm aware that the scope is crucial on that level, but I still don't know what I can do to include a file with a music variable definition in it. Still no ideas? Best Urs Am 07.09.2014 16:56, schrieb Urs Liska: No ideas anybody? I'm desparately hoping for a solution while being quite hopeless finding one on my own ... Best Urs Am 06.09.2014 12:19, schrieb Urs Liska: Am 06.09.2014 11:43, schrieb Urs Liska: Am 06.09.2014 00:40, schrieb Urs Liska: Am 06.09.2014 00:36, schrieb Urs Liska: Hi all, I'm looking for a solution to conditionally include a file if it exists Oops. Well, the question is real, but of course I intended to add more to it ... The idea is to include a file with a number of music variables and then include files that contain one music variable each, overriding one variable from the first included file. So if no file is included the (empty) variable from the first file is used, otherwise the individual variable from the single file. Urs A first approach may point in a direction, although it doesn't work at all. please consider the attached files: collect.ly tries to include 01 through #(ly:parser-parse-string (ly:parser-clone parser) \\include \01.ily\)) (an approach that worked successfully in another situation). But obviously it doesn't understand the content of 01.ily, as I get 01.ily:4:3 0: error: unrecognized string, not in text script or \lyricmode c d e f g errors (and subsequently one more for each of the notes). So how can I include a file containing music variables through Scheme (in order to generate the filenames to be included programatically)? TIA Urs ___ 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: problem with moving notes
Am 07.09.2014 um 23:16 schrieb David Nalesnik: Rus, On Sun, Sep 7, 2014 at 3:54 PM, Rus rustik...@mail.ru mailto:rustik...@mail.ru wrote: I imagine you could use \newSpacingSection. Please post the code that created the PDFs you attach, and I'm sure you'll get a solution to your liking. --David I attached the code which you have requested Thanks. That makes it easy for me to do a simple substitution. There is no good way to arbitrarily move notes around like you want, except by modifying horizontal spacing. The first example in the attached file shows another drawback with overriding X-offset of a NoteColumn--what if there are notes in another simultaneous columns? You'd have to move those as well. You can ask for looser spacing in a small area by using the \newSpacingSection command, which is documented here: .http://www.lilypond.org/doc/v2.18/Documentation/notation/new-spacing-area The second example shows how the spacing can be made looser and alignment maintained. There's a command on openlilylib which makes modifying spacing more convenient. Can't recall the name, but I'm sure somebody reading this could lead you to it. https://github.com/openlilylib/openlilylib/tree/19db8f4851b04cdaceafd8851b17e6a21e0191f0/notation-snippets/adjust-horizontal-spacing Hope this helps, David ___ 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: problem with moving notes
Simon, On Mon, Sep 8, 2014 at 6:10 AM, Simon Albrecht simon.albre...@mail.de wrote: https://github.com/openlilylib/openlilylib/tree/19db8f4851b04cdaceafd8851b17e6a21e0191f0/notation-snippets/adjust-horizontal-spacing https://github.com/openlilylib/openlilylib/tree/19db8f4851b04cdaceafd8851b17e6a21e0191f0/notation-snippets/adjust-horizontal-spacing Thanks! David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Treating a tie as a slur
Hi, Often when processing music imported from Sibelius I have the problem that Sibelius doesn't seem to care whether a tie connects notes of the same pitch. As a consequence, some Sibelius users have become lazy and always use a tie even when the pitches differ. LiliPond emits an error message when it encounters a tie between notes of different pitch. This is correct. In fact, I asked for it ;) [1]. However, occasionally it would be handy if I could kindly ask LiliPond to treat the ties as slurs if necessary. Yes, I know this is wrong, but manually changing hundreds of ties into slurs is not fun. An XSLT script to change this at the MusicXML level would be preferrable. -- Johan [1] http://osdir.com/ml/lilypond-user-gnu/2010-11/msg00198.html ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Treating a tie as a slur
Maybe you could ask the people at NeoScores. They are working on (or have aleady released?) a MusiXML cleaning tool. IIUC this is one type of issues they might addtess. Urs On 8. September 2014 14:51:18 MESZ, Johan Vromans jvrom...@squirrel.nl wrote: Hi, Often when processing music imported from Sibelius I have the problem that Sibelius doesn't seem to care whether a tie connects notes of the same pitch. As a consequence, some Sibelius users have become lazy and always use a tie even when the pitches differ. LiliPond emits an error message when it encounters a tie between notes of different pitch. This is correct. In fact, I asked for it ;) [1]. However, occasionally it would be handy if I could kindly ask LiliPond to treat the ties as slurs if necessary. Yes, I know this is wrong, but manually changing hundreds of ties into slurs is not fun. An XSLT script to change this at the MusicXML level would be preferrable. -- Johan [1] http://osdir.com/ml/lilypond-user-gnu/2010-11/msg00198.html ___ 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: Add lyrics after n measures
On 14-09-08 01:36 AM, Phil Holmes wrote: (in reference to lyric \skips not terminating an extender) Try a single space in quotes: -- Phil Holmes Thanks, Phil. I found that in my testing later yesterday. It will at least get the project done, although in a way which feels a bit kludgy. I'll try to work out how to do arithmetic inside a scheme function (pass in a number of notes to skip, decrement by one and insert the quoted space), or I suppose I can do the work in my head. The question remains, though: shouldn't an explicit SkipEvent terminate an ExtenderEvent in the same way a rest or a lyric syllable does? I can't find anything in NR which clarifies the situation, so I think a tracker item calling either for a Known Issue (with the workaround) or an enhancement, to add the SkipEvent to the list which ends a lyric extender, would be in order. Cheers, Colin -- I've learned that you shouldn't go through life with a catcher's mitt on both hands. You need to be able to throw something back. -Maya Angelou, poet (1928- ) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Defining custom MIDI dynamics
I know how to set a single custom dynamic: #(define (myDynamics dynamic) (if (equal? dynamic pTresDouxMarkup ) 0.55 (default-dynamic-absolute-volume dynamic ..but do I set two or more dynamics like this: #(define (myDynamics dynamic) (cond (equal? dynamic pTresDouxMarkup ) 0.55 (equal? dynamic pLegerMarkup) 0.77 (else (default-dynamic-absolute-volume dynamic ...or with multiple #defines? Knute Snortum (via Gmail) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Add lyrics after n measures
Am 08.09.2014 um 18:10 schrieb Colin Campbell: On 14-09-08 01:36 AM, Phil Holmes wrote: (in reference to lyric \skips not terminating an extender) Try a single space in quotes: -- Phil Holmes Thanks, Phil. I found that in my testing later yesterday. It will at least get the project done, although in a way which feels a bit kludgy. I'll try to work out how to do arithmetic inside a scheme function which is rather simple: You use the scheme prefix syntax, - as a function and thus obtain #(- n 1). (pass in a number of notes to skip, decrement by one and insert the quoted space), or I suppose I can do the work in my head. The full function would then be: %- lSkip = #(define-music-function (parser location skips) (number?) #{ \lyricmode { \repeat unfold $(- skips 1) { \skip 1 } } #}) %- For me, this doesn’t work though: the extender line is not finished by – no idea, why. For you it worked? I attach my test file for checking. HTH, Simon \version 2.19.12 lSkip = #(define-music-function (parser location skips) (number?) #{ \lyricmode { \repeat unfold $(- skips 1) { \skip 1 } } #}) \new Voice = test \relative { c' c~ c c c c c c } \new Lyrics \lyricsto test { oh ah __ \lSkip 3 eh } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Add lyrics after n measures
On 14-09-08 11:49 AM, Simon Albrecht wrote: The full function would then be: %- lSkip = #(define-music-function (parser location skips) (number?) #{ \lyricmode { \repeat unfold $(- skips 1) { \skip 1 } } #}) %- For me, this doesn’t work though: the extender line is not finished by – no idea, why. For you it worked? I attach my test file for checking. There seems to be a difference coming from the way the lyrics are created. In your test file, you create the lyric text directly, and the function works when you take the space out between the double quotes. In my case, I enter the lyrics in \lyricmode, in a variable, which I then call on the \new Lyrics line. *With* the quoted space, I get the expected result, as well as repeated errors: warning: LyricText has empty extent and non-empty stencil. Taking out the space clears the errors and gives me extenders ending where I want them. That suggests that \lyricmode behaves differently when it is nested. In any case, I've learned a tiny bit more of scheme, and moved my project forward. Many thqanks to you and Phil! Cheers, Colin -- I've learned that you shouldn't go through life with a catcher's mitt on both hands. You need to be able to throw something back. -Maya Angelou, poet (1928- ) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Include a file if it exists
I found out that using #(ly:parser-parse-string (ly:parser-clone parser) \\include \01.ily\) _does_ actually work, but not when the included file contains variable definitions (e.g. music = ...). Still no ideas? Perhaps something like that : %% \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 -- Gilles ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Include a file if it exists
Le lundi 8 septembre 2014, 23:14:34 Gilles THIBAULT a écrit : but you will get an advertisement for the \include Oh sorry ! i meant a *warning* for the \include -- Gilles ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Include a file if it exists
Hello Gilles, thank you very much. Your solutions do work, but I don't think I'll use them in my project. But you have unintentionally pushed me in the right direction (with the emptyfile.ly thing). What I'll do now is: - create empty replacement files 01.ily through 90.ily in an arbitrary folder - add this folder to LilyPond's include path - simply use \include 19.ily When that file isn't present in the current folder Lily will simply use the replacement one :-) Thanks again Best Urs Am 08.09.2014 23:14, schrieb Gilles THIBAULT: I found out that using #(ly:parser-parse-string (ly:parser-clone parser) \\include \01.ily\) _does_ actually work, but not when the included file contains variable definitions (e.g. music = ...). Still no ideas? Perhaps something like that : %% \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 ___ 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
Moving clef changes into the bar they affect
Hello, I'm trying to create a quiz for a Theory class, and I'm having difficulty with clef changes. Normally, new clefs appear before the barline of the bar where they take effect. I'm trying to move the clef changes into the relevant bars. This code shows the standard musical practice, with the clefs before the barlines. \version 2.19.13 \score { \new Staff { \omit Staff.TimeSignature \omit Score.BarNumber \override Staff.Clef.full-size-change = ##t \clef treble s1 \clef bass s1 \clef alto s1 } } I've been trying to find the relevant properties of clefs in order to do this, but not having any luck. Is there a way to do this? Thanks, James Worlton ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Moving clef changes into the bar they affect
Hi James, On Mon, Sep 8, 2014 at 8:36 PM, James Worlton jworl...@gmail.com wrote: Hello, I'm trying to create a quiz for a Theory class, and I'm having difficulty with clef changes. Normally, new clefs appear before the barline of the bar where they take effect. I'm trying to move the clef changes into the relevant bars. Something which I've done a lot... [...] Try \override Score.BreakAlignment.break-align-orders = #(make-vector 3 '(left-edge staff-bar clef key-signature time-signature)) HTH, David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
overlapping staves
Hello, The attached file, overlap.pdf, shows the first 13 measures of a piano score. The staves overlap. By experimentation, if the first two measure are eliminated the overlap does not occur, NoOverLap.pdf. Since the snippets would not met the requirement for being small, they were not included. Would someone give me a suggestion as to what I should examine (documentation?) to find the cause? Thank you for your kind attention. Mark overlap.pdf Description: Adobe PDF document NoOverLap.pdf Description: Adobe PDF document ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Moving clef changes into the bar they affect
On 9/8/2014 9:06 PM, David Nalesnik wrote: Hi James, On Mon, Sep 8, 2014 at 8:36 PM, James Worlton jworl...@gmail.com mailto:jworl...@gmail.com wrote: Hello, I'm trying to create a quiz for a Theory class, and I'm having difficulty with clef changes. Normally, new clefs appear before the barline of the bar where they take effect. I'm trying to move the clef changes into the relevant bars. Something which I've done a lot... [...] Try \override Score.BreakAlignment.break-align-orders = #(make-vector 3 '(left-edge staff-bar clef key-signature time-signature)) HTH, David Brilliant. This works great. It will take me some digging to figure out what the command means, though. James Worlton ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: overlapping staves
On 09/09/14 12:11, Mark Stephen Mrotek wrote: Hello, The attached file, overlap.pdf, shows the first 13 measures of a piano score. The staves overlap. By experimentation, if the first two measure are eliminated the overlap does not occur, NoOverLap.pdf. Since the snippets would not met the requirement for being “small,” they were not included. Would someone give me a suggestion as to what I should examine (documentation?) to find the cause? Can't help you with that - seeing the ly source would help - but as an aside, you appear to have omitted engraving bar 3 of the sonata. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user