Beta testers wanted: LilyPond users who also have an iPhone
I am looking for some LilyPond users who happen to also have an iPhone (or iPod Touch or iPad), to volunteer to be beta testers. I have written a iPhone-LilyPond-input tool which will be released at the end of the year. To avoid hopes getting too high: It does not check your LY code for errors, nor does it play music, generate PDFs or MIDIs. However, it is a nice little "scratchpad" in which to write LY code on the go, code which can automatically be sent to your desktop, where it can be integrated into actual LY files. Since my musical focus is relatively narrow--I arrange acapella music--and since I am a relative newcomer to LilyPond, I need help ensuring it is useful to the larger community of LilyPond-users-who-also-happen-to-have-an-iPhone. All twelve of you. I also want to eke out remaining bugs and documentation issues before releasing it publicly. If this is something that interests you, please contact me at aliteralmind-lilyp...@yahoo.com Thank you. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Merge/Condense vocal parts arbitrarily, on a per-'master staff' basis
I have been playing with LilyPond on and off for a while now. I'm a programmer and musician, so I feel like I have a head start. But it's--impressive--heavy duty stuff. I'm still really doing only the basics with LilyPond. Anyway, I arrange acapella music. I want to get away from arranging by pencil and paper, once and for all, and switch over completely to LilyPond. I am unable to figure out one major need, which I hope someone out there might be able to help me with. --- I can compose the following in LilyPond, no problem. Five vocal parts for an acapella piece, each on their own staff. Here's an example: http://jeffyepstein.com/posts/merge_parts_question/before.jpg What I need to do, is to merge parts together, arbitrarily, differently within each "master staff" (each set of staves, on each new line on the printout...sorry, don't know the right terminology). Here's what I'm looking to do: http://jeffyepstein.com/posts/merge_parts_question/before.jpg 1-4: So from measures 1 through 4, it should be the same (one staff per part). 5-9: But on measures 5 through 10, it should be sop1+sop2 on one staff, alto1+alto2 on the second, and tenor by himself. 10-14: Finally, measures 10-14 should be sop2 on the top staff, and sop1+alto1+alto2 on the second. And so on. This will condense the printout by a LOT, and it feels necessary if I'm going to dive further into LilyPond as an acapella arranger. Perhaps I'm missing something easier? I would greatly appreciate your advice on how to either do what I'm trying here, or perhaps I just need to think about this problem differently? Thank you!!! ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Merge/Condense vocal parts arbitrarily, on a per-'master staff' basis
I did NOT cross off the word "impressive" in my original post! I meant to emphasize it with em-dashes. I don't understand the syntax here yet. Also, here's the fixed link to the "after" picture: http://jeffyepstein.com/posts/merge_parts_question/after.jpg ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Merge/Condense vocal parts arbitrarily, on a per-'master staff' basis
Thank you for the helpful information, Kieren. I will look carefully at the polyphony documentation. I think my question came across differently than I intended. What I want is NOT for LilyPond to programmatically determine the best layout for each system. Rather, *I* want to tell Lily Pond that, - On system one, each part should be on their own staff - On system two --- Top staff: soprano 1 and 2 --- Middle staff: alto 1 and 2 --- Bottom staff: tenor by itself - On system three --- Top staff: soprano 2 by itself --- Middle staff: soprano 1, alto 1 and alto 2 --- Bottom staff: tenor ...and so on. By "arbitrary", I mean that what *I* decide for each staff, from LilyPond's point of view, has no rhyme or reason. I don't know if this changes your answer. (I'm thinking that each system could be a different LilyPond piece, and I would merge them visually, so it looks like one piece when I ultimately print it. Not sure if that's feasible, but it's the first thing that hits me.) Thanks again. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: best practices
> >>> Phil Holmes philholmes.net> writes: > And anyway, I only said "Um" It was an angry Um! :) ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
How to get a property override into a scheme markup function?
(FYI: I am a programmer, non-GUI Java, but am new to scheme.) In section 6.4.3 in the pdf Notation Reference manual (v 2.12.3), there's a markup function written in scheme. In that fashion, I've successfully created my first scheme function: #(define-markup-command (mBox layout props s_boxText) (string?) "Print the given string in a box and small-caps. Example usage: c4.^\\markup \\mBox \"section a\"" (interpret-markup layout props (markup #:center-align #:box #:caps s_boxText) ) ) Calling \displayMusic on the following confirms the above (despite having a lot more parens and the additional "#:line"...which I don't understand, but doesn't seem necessary). \displayMusic c1^\markup { \caps \center-align \box "V. S."} results (partially) in (markup #:line (#:caps (#:center-align (#:box "V. S." I'm TRYING to add this property-override: c1^\markup { \caps \center-align \override #'(box-padding . 0.5) \box "V. S."} But doing \displayMusic on it results in: (markup #:line (#:caps (#:center-align (#:override (box-padding . 0.5) (#:box "V. S." which does NOT work in the above scheme function, although it compiles just fine as long as it is never called. When I do try to call it with \relative c' { c1^\markup {\column { \line {\mBox #"section a"}} } I get this error: test.ly:20:23: Unbound variable: box-padding --- I'm not sure what I'm missing here. Is there a translation between an ly property and scheme? "box-padding" does exist in the Internal Reference manual, and I've not yet found anything in the other manuals, nor in this forum (searching for scheme property override), that strike me as relevant. If anyone could point me in the right direction, I would appreciate it. Thanks. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to get a property override into a scheme markup function?
I should say that I only want the box-padding setting to be overridden for this one markup-call to \box. Perhaps I should be using \once or \tweak or something related...but I don't think it changes the basic question. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to get a property override into a scheme markup function?
Carl Sorensen byu.edu> writes: > [...] \displayMusic function missed a quote that you need in your argument list--note that it should be > #:override '(box-padding . 0.5) not > #:override (box-padding . 0.5) Excellent. Thank you! > Could you please file a simple bug report at bug-lilypond gnu.org? Done. FYI: The final function that I came up with is this: --- #(define-markup-command (mBox layout props s_boxText) (string?) "Print the provided text in a box and small-caps. Example usage: c4.^\\markup \\mBox \"a\"" (interpret-markup layout props (markup #:line (#:override '(box-padding . 0.5) #:box #:center-align #:caps s_boxText)) ) ) --- I had to shuffle the properties around. If #:caps was listed earlier, it would not take effect. Also, I eliminated the extra parens, and realized the override parens are needed, and must surround the s_boxText variable in order to apply. Thanks again, Carl. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Column line spacing with individual markup-lines, via a scheme function
Phil Holmes philholmes.net> writes: > Is it a known feature that using the font sizing commands \teeny, \huge, > etc., leads to inconsistent line spacing when compared with using fontsize? %{ As this was posted, I happened to be researching just this topic. I'm trying to use the below scheme-markup function, kLineSpacingTest, to create individual markup lines that COULD be placed inside a column, or just be used by themselves. The musical notes a1 and aes1, below, are the potential usages I'm looking for. Unfortunately, the line spacing when placed in a column (as in a1) is as if the font is--I believe--the default size. This is despite every line having a "#:fontsize -3". Hence, way too much space. Here's an image of the rendered sheet: http://jeffyepstein.com/posts/line_spacing_question.JPG The spacing for both a1 and d1 are exactly the same--too far apart. The others (aes1, b1, and c1) all have different spacing, which surprises me, as the font-sizes are all -3. I like b1 best, but any of these three are better than a1 and d1. So the question is: If every line in a column has the same spacing, why should the column itself impose a larger-than-necessary line-height? Is there a way to override this behavior WITHOUT needing the redundant fontsize setting between \markup and \column? Can you absolutely define markup line- height regardless of fontsize, and potential collisions? Thank you for any advice. %} #(define-markup-command (kLineSpacingTest layout props s_comment) (string?) "Print the comment. Example usage: c4.^\\markup \\kLineSpacingTest \"a\"" (interpret-markup layout props (markup (#:fontsize -3 s_comment)) ) ) \relative c'' { a1^\markup { \column { \kLineSpacingTest #"a1 1" \kLineSpacingTest #"a1 2" \kLineSpacingTest #"a1 3"}} r1 r1 aes1 ^\markup { \kLineSpacingTest #"aes1 1" } ^\markup { \kLineSpacingTest #"aes1 2" } ^\markup { \kLineSpacingTest #"aes1 3" } r1 r1 b1^\markup { \fontsize #-3 \column { \kLineSpacingTest #"b1 1" \kLineSpacingTest #"b1 2" \kLineSpacingTest #"b1 3"}} r1 r1 c1^\markup { \fontsize #-3 \column { "c1 1" "c1 2" "c1 3"}} r1 r1 d1^\markup { \column { \fontsize #-3 "d1 1" \fontsize #-3 "d1 2" \fontsize #-3 "d1 3"}} } ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
How to merge two scores into one?
I'm not understanding how to merge two scores into one. The song just continues, but it's a different section with a different voice configuration. The first section has a single voice, the second has two. The only way I can figure it out so far is to print out two scores. Is there a way to merge these into a single score, so the song continues on the same line? Thanks. Code file: https://dl.dropboxusercontent.com/u/3865910/mergely/two_scores.ly Generated output: https://dl.dropboxusercontent.com/u/3865910/mergely/two_scores.pdf Full code: \version "2.18.2" \header { title = "How to merge two scores into one?" } melodyVerse = \relative c' { \clef treble \key c \major \time 4/4 c8 d e f g a b4 } melodyChorusTop = \relative c'' { \clef treble \key c \major \time 4/4 c8 b a g f e d4 } melodyChorusBottom = \relative c { \clef bass \key c \major \time 4/4 c'2 f,2 } lyricsVerse = \lyricmode { do re mi fa so la ti } lyricsChorusTop = \lyricmode { do ti la so fa me re } lyricsChorusBottom = \lyricmode { do fa } \score { << \new Voice = "verse" { \autoBeamOff \melodyVerse } \new Lyrics \lyricsto "verse" \lyricsVerse >> \layout { } } \score { << \new Voice = "chorusTop" { \autoBeamOff \melodyChorusTop} \new Lyrics \lyricsto "chorusTop" \lyricsChorusTop \new Voice = "chorusBottom" { \autoBeamOff \melodyChorusBottom} \new Lyrics \lyricsto "chorusBottom" \lyricsChorusBottom >> \layout { } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Newbie question: brief alternative notes-and-lyrics in repeat
How do you create lyrics for brief alternative notes, existing in repeated sections (when there are not enough notes to justify duplicating the entire section)? Here is a demonstration picture of what I am trying to do: http://jeffyepstein.com/tmp/alternative_lyrics.gif The red is what I can't figure, either with or without a second-verse of lyrics. I cannot seem to add anything else without causing a problem. Below is the lilypond code for the above image.Thank you for any advice. (I am new to LilyPond, but I'm a programmer and have an excellent first impression--and I was going to spend 90 bucks, when this is free??!!) --- \version "2.12.2" \relative c'' { \time 4/4 \repeat volta 2 { c4 b a g } \repeat volta 2 { f4 e d c } \repeat volta 2 { c'4 b a << \override Stem #'direction = #UP { g4 } \\ \teeny \override NoteColumn #'force-hshift = #1.7 \override Stem #'direction = #DOWN \override Stem #'length = #4 { g16 a g8 } >>} \repeat volta 2 { c,4 e << \override Stem #'direction = #UP { g4 c4 } \\ \teeny \override NoteColumn #'force-hshift = #1.7 \override Stem #'direction = #DOWN \override Stem #'length = #4 { g8 g8 c4 } >>} } \addlyrics { do ti la so fa mi ray do do ti la } --- Jeff jeff_epst...@yahoo.com http://jacob.jeffyepstein.com ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user