Re: sponsorship offer: \lyricsto with \partcombine
Citerar Ted Walther [EMAIL PROTECTED]: To typeset hymns with the same high quality that lilypond brings to other areas of music typesetting, I need to be able to use \lyricsto with \partcombine. What exactly do you want to do? If you want to align one lyric line to one voice, and another lyric line to another voice, then you can do something like: \partcombine \sopNotes \altoNotes \new Devnull=sop \sopNotes \lyricsto sop \sopLyrics \new Devnull=alto \altoNotes \lyricsto alto \altoLyrics Also, what would it cost to make the chord-threshold variable in part-combiner.scm/dtermine-split-list be settable inside a .ly file? A rewrite of partcombiner is on the todo. You can copy all the code from part-combiner.scm into your ly file, all you need to do is to add a # before each toplevel expression to make lily understand it. (you'll also have to re-define \partcombine etc. to make them use the new definitions) Erik ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: sponsorship offer: \lyricsto with \partcombine
The problem is the alignment (centered or not) of syllables to note heads. Compare the 2nd and 4th line of lyrics in the following example: textI = \lyricmode {a4 bb ccc ddd } textII = \lyricmode {eee fff gg h } music = \relative c'{c d e f} \score{ \new Voice = m \music \new Lyrics \lyricsto m \textI \new Lyrics \lyricsto m \textII \new Devnull = dn \music \new Lyrics \lyricsto dn \textI \new Lyrics \lyricsto dn \textII % \new Lyrics \textI % \new Lyrics \textII % \new Lyrics {\set associatedVoice = m \textI } % \new Lyrics {\set associatedVoice = m \textII } } \layout{ragged-right = ##t } /Mats Erik Sandberg wrote: Citerar Ted Walther [EMAIL PROTECTED]: To typeset hymns with the same high quality that lilypond brings to other areas of music typesetting, I need to be able to use \lyricsto with \partcombine. What exactly do you want to do? If you want to align one lyric line to one voice, and another lyric line to another voice, then you can do something like: \partcombine \sopNotes \altoNotes \new Devnull=sop \sopNotes \lyricsto sop \sopLyrics \new Devnull=alto \altoNotes \lyricsto alto \altoLyrics ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: sponsorship offer: \lyricsto with \partcombine
Erik Sandberg wrote: Citerar Ted Walther [EMAIL PROTECTED]: To typeset hymns with the same high quality that lilypond brings to other areas of music typesetting, I need to be able to use \lyricsto with \partcombine. What exactly do you want to do? If you want to align one lyric line to one voice, and another lyric line to another voice, then you can do something like: \partcombine \sopNotes \altoNotes \new Devnull=sop \sopNotes \lyricsto sop \sopLyrics \new Devnull=alto \altoNotes \lyricsto alto \altoLyrics I think the proper thing to do is allow a new property to override associatedVoice, by eg. associatedVoices, a list of strings. The lyric engraver/iterator combo could then try a second context if the first one is inactive. -- Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen LilyPond Software Design -- Code for Music Notation http://www.lilypond-design.com ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: sponsorship offer: \lyricsto with \partcombine
On Thu, Sep 14, 2006 at 10:08:42AM +0200, Erik Sandberg wrote: Citerar Ted Walther [EMAIL PROTECTED]: To typeset hymns with the same high quality that lilypond brings to other areas of music typesetting, I need to be able to use \lyricsto with \partcombine. What exactly do you want to do? If you want to align one lyric line to one voice, and another lyric line to another voice, then you can do something like: \partcombine \sopNotes \altoNotes \new Devnull=sop \sopNotes \lyricsto sop \sopLyrics \new Devnull=alto \altoNotes \lyricsto alto \altoLyrics Also, what would it cost to make the chord-threshold variable in part-combiner.scm/dtermine-split-list be settable inside a .ly file? A rewrite of partcombiner is on the todo. What incentive would be needed to get the partcombiner rewrite bumped up in the todo? I've got four hymns I'd like to get into Mutopia, but I want to get them right first. And I have a lot more hymns I plan to do. My goal is to do at least one a week, but yesterday I did two. At one a day, I'll be bopping along pretty quickly. You can copy all the code from part-combiner.scm into your ly file, all you need to do is to add a # before each toplevel expression to make lily understand it. (you'll also have to re-define \partcombine etc. to make them use the new definitions) That is icky, especially if \partcombine is going to be rewritten. I'd just like to do something like \set chord-threshold = 12 at the top level. Too bad Scheme doesn't have a facility like Common Lisp for adding default arguments where a variable is nil or undefined. Maybe a change to the function like this: (define-public (determine-split-list evl1 evl2) (let* ((chord-threshold (or global:chord-threshhold 12)) ... ))) Changing the (chord-threshold 12) to (or global:chord-threshold 12) should do what I want. I use global:chord-threshold as a shorthand for snagging the version of chord-threshold that is defined at the top-level; I don't know the proper way in lilypond scheme to do this. I'm also assuming that or in Scheme will work the way it does in Common Lisp. Someone correct this if it is wrong? Ted -- It's not true unless it makes you laugh, but you don't understand it until it makes you weep. Eukleia: Ted Walther Address: 2459 E 41 Ave, Vancouver, BC V5R2W2 (Canada) Contact: 604-435-5787 ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: sponsorship offer: \lyricsto with \partcombine
Ted Walther wrote: On Thu, Sep 14, 2006 at 10:08:42AM +0200, Erik Sandberg wrote: Citerar Ted Walther [EMAIL PROTECTED]: To typeset hymns with the same high quality that lilypond brings to other areas of music typesetting, I need to be able to use \lyricsto with \partcombine. What exactly do you want to do? If you want to align one lyric line to one voice, and another lyric line to another voice, then you can do something like: \partcombine \sopNotes \altoNotes \new Devnull=sop \sopNotes \lyricsto sop \sopLyrics \new Devnull=alto \altoNotes \lyricsto alto \altoLyrics Also, what would it cost to make the chord-threshold variable in part-combiner.scm/dtermine-split-list be settable inside a .ly file? A rewrite of partcombiner is on the todo. What incentive would be needed to get the partcombiner rewrite bumped up in the todo? I've got four hymns I'd like to get into Mutopia, but I want to get them right first. And I have a lot more hymns I plan to do. My goal is to do at least one a week, but yesterday I did two. At one a day, I'll be bopping along pretty quickly. You can copy all the code from part-combiner.scm into your ly file, all you need to do is to add a # before each toplevel expression to make lily understand it. (you'll also have to re-define \partcombine etc. to make them use the new definitions) That is icky, especially if \partcombine is going to be rewritten. I'd just like to do something like \set chord-threshold = 12 at the top level. Too bad Scheme doesn't have a facility like Common Lisp for adding default arguments where a variable is nil or undefined. Maybe a change to the function like this: (define-public (determine-split-list evl1 evl2) (let* ((chord-threshold (or global:chord-threshhold 12)) ... ))) Changing the (chord-threshold 12) to (or global:chord-threshold 12) should do what I want. I use global:chord-threshold as a shorthand for snagging the version of chord-threshold that is defined at the top-level; I don't know the proper way in lilypond scheme to do this. I'm also assuming that or in Scheme will work the way it does in Common Lisp. Someone correct this if it is wrong? You need to get the value out of the parser (use ly:parser-lookup), which is supplied as an argument to the \partcombine function. Then you can set the default in ly/declarations-init.ly -- Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen LilyPond Software Design -- Code for Music Notation http://www.lilypond-design.com ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
sponsorship offer: \lyricsto with \partcombine
To typeset hymns with the same high quality that lilypond brings to other areas of music typesetting, I need to be able to use \lyricsto with \partcombine. If you think you can make these two functions play together, please let me know what you estimate it would cost. I'm not rich, but this is important to me. Also, what would it cost to make the chord-threshold variable in part-combiner.scm/dtermine-split-list be settable inside a .ly file? As Bret Whissle found out 2 years ago, the threshold of 8 is too small for hymn typesetting, but 12 works very nicely. Ted -- It's not true unless it makes you laugh, but you don't understand it until it makes you weep. Eukleia: Ted Walther Address: 2459 E 41 Ave, Vancouver, BC V5R2W2 (Canada) Contact: 604-435-5787 ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user