final chord centering
Hello, is there any way to automatically center a chord in the final bar - for example to align it to a R1 in another Staff. I know some x-offset tweaks, but i always have to figure out the value by trial-and-error. thanks Ewald ___ Ewald Gutenkunst Kalker Hauptstr. 203 51103 Köln ewald.gutenku...@web.de 0178/1530670 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Space between last note in a bar and the barline
How can I control the space between the last note of a bar and the barline? There are number of tools to control the space between a barline and the next note in the BarLine space-alist (first-note fixed-space . 1.3) (next-note semi-fixed-space . 0.9) (right-edge extra-space . 0.0) but there seems to be no tool to control the opposite the note just BEFORE the barline. Please advice. -- View this message in context: http://old.nabble.com/Space-between-last-note-in-a-bar-and-the-barline-tp32772188p32772188.html Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Space between last note in a bar and the barline
On Nov 3, 2011, at 12:56 PM, Jiri Zurek (Prague) wrote: How can I control the space between the last note of a bar and the barline? There are number of tools to control the space between a barline and the next note in the BarLine space-alist (first-note fixed-space . 1.3) (next-note semi-fixed-space . 0.9) (right-edge extra-space . 0.0) but there seems to be no tool to control the opposite the note just BEFORE the barline. Please advice. version 2.14.0 \relative c'' { \override Staff . BarLine #'extra-spacing-width = #'(-5.0 . 0.0) \repeat unfold 20 { a b c d } } Cheers, MS ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Voice Context Continuing After Lyrics Were Added and Ended
Dear Eluze, -Eluze eluzew at gmail.com writes: [...] use associatedVoice instead of \lyricsto [...] Thanks a lot, this saved me a lot of headache! Cheers, Christian ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Difference Between \lyricsto and associatedVoice With Melody Rhythm
Hello, Continuing from a previous example, I have been instructed to use 'associatedVoice' instead of \lyricsto to avoid problem with the continuation of the melody after the lyrics have ended. But now I run into a peculiar problem: If more complex melodies are used, the alignment of lyrics does not work. Example (also tested with 2.15.16): \version 2.14.2 \new Staff { \new Voice = melody \relative { a'1 \context Voice = melody { b4. b8 b4. b8 } \context Lyrics = lyr \with {associatedVoice = melody} \lyricmode { A B C D } %\new Lyrics \lyricsto melody { A B C D } e1 f1 } } If I use 'associatedVoice', lyrics A, B and C are printed below the first note, over each other. D is printed below the second note. This does not happen if only quarter notes are used in the melody. \lyricsto works fine, but for reasons pointed out earlier, does not correctly allow the melody e1 f1 to continue after the lyrics. Thanks for your consideration, Christian ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Difference Between \lyricsto and associatedVoice With Melody Rhythm
Hello, Please ignore my previous post. It seems that without \lyricsto, I'm stuck to entering the lyrics' durations manually. *Sigh* :-) Cheers, Christian ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Variable assignment in music functions
What's the right way to define a function that assigns string values to LilyPond variables? I'm trying to create a function in an include file that allows me to assign different values to variables used as midi instrument specifiers. % setMainCueClapInstruments= #(define-music-function (p l main cue clap) (string? string? string?) #{ mainInstrument = #$main cueInstrument = #$cue clapInstrument = #$clap #} (make-music 'SequentialMusic 'void #t)) \setMainCueClapInstruments #cello #acoustic grand #woodblock % But the parser throws errors, starting with the following ... Parsing... string:2:7: error: syntax error, unexpected STRING mainInstrument = #lilyvartmpbg I'm using LilyPond 2.14.1 Thanks, Mike ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Variable assignment in music functions
Michael Ellis michael.f.el...@gmail.com writes: What's the right way to define a function that assigns string values to LilyPond variables? I'm trying to create a function in an include file that allows me to assign different values to variables used as midi instrument specifiers. % setMainCueClapInstruments= #(define-music-function (p l main cue clap) (string? string? string?) #{ mainInstrument = #$main cueInstrument = #$cue clapInstrument = #$clap #} (make-music 'SequentialMusic 'void #t)) \setMainCueClapInstruments #cello #acoustic grand #woodblock % But the parser throws errors, starting with the following ... Parsing... string:2:7: error: syntax error, unexpected STRING mainInstrument = #lilyvartmpbg A music function can only do things you could also do inside of music. Assignments are _not_ permitted in music. Music is something you can put into music variables and shuffle around. Assignments are acted on immediately. What you _can_ put into music are property overrides and sets: those happen at the time they are replayed, and are wrapped into music events. You can, of course, just use ly:parser-define! inside of your function to manipulate variables. But they will get changed at the _location_ you call the music function, not at the _time_ the music expression is executed. If you put setMainCueClapInstruments into a music variable then, the effect will occur at the time you define the music variable, not at the time you use it. If you want the latter, you need to go through properties. Or even \ApplyToContext, but that's really obscure. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Variable assignment in music functions
On Thu, Nov 3, 2011 at 12:04 PM, David Kastrup d...@gnu.org wrote: Michael Ellis michael.f.el...@gmail.com writes: What's the right way to define a function that assigns string values to LilyPond variables? I'm trying to create a function in an include file that allows me to assign different values to variables used as midi instrument specifiers. % setMainCueClapInstruments= #(define-music-function (p l main cue clap) (string? string? string?) #{ mainInstrument = #$main cueInstrument = #$cue clapInstrument = #$clap #} (make-music 'SequentialMusic 'void #t)) \setMainCueClapInstruments #cello #acoustic grand #woodblock % But the parser throws errors, starting with the following ... Parsing... string:2:7: error: syntax error, unexpected STRING mainInstrument = #lilyvartmpbg A music function can only do things you could also do inside of music. Assignments are _not_ permitted in music. Music is something you can put into music variables and shuffle around. Assignments are acted on immediately. What you _can_ put into music are property overrides and sets: those happen at the time they are replayed, and are wrapped into music events. You can, of course, just use ly:parser-define! inside of your function to manipulate variables. But they will get changed at the _location_ you call the music function, not at the _time_ the music expression is executed. If you put setMainCueClapInstruments into a music variable then, the effect will occur at the time you define the music variable, not at the time you use it. If you want the latter, you need to go through properties. Or even \ApplyToContext, but that's really obscure. Thanks David, I appreciate the detailed explanation but I'm still struggling with how to do what, in most programming languages, is a fairly straightforward task: define a variable in an outer scope and temporarily change its value in an inner scope. Over the past year or so, I've built up an include file with lots of handy functions for transcribing individual choral parts from printed scores. As a particular example, I have a function named cueNotes that prints notes inline in a teeny font and different color and specifies an alternate midi instrument and restores the defaults before exiting. Up until now, my preferences have been hard-coded, e.g. cueNotes= #(define-music-function (p l music) (ly:music?) for printing cue notes in teeny font in color #{ \set midiInstrument = #acoustic grand \override Accidental #'color = #(x11-color 'maroon) \override Beam #'color = #(x11-color 'maroon) \override NoteHead #'color = #(x11-color 'maroon) \override Rest #'color = #(x11-color 'maroon) \override Slur #'color = #(x11-color 'maroon) \override Stem #'color = #(x11-color 'maroon) \override Tie #'color = #(x11-color 'maroon) \teeny $music \normalsize \revert Accidental #'color \revert Beam #'color \revert NoteHead #'color \revert Rest #'color \revert Slur #'color \revert Stem #'color \revert Tie #'color \set midiInstrument = #cello #}) But recently, other singers in my choral groups are starting to use LilyPond and want to make use of my templates and include files but with the ability to easily change instrument and color preferences without having to hack the files. So, with that as background, let me re-ask the question in a different form: What's the best way to support changing a set of default values? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Making feathered beams more variable
Hi Harm, On Tue, Nov 1, 2011 at 2:40 PM, harm6 thomasmorle...@googlemail.com wrote: I tried to make an automated definition (first attachment) and to integrate it in the grow-beam-var-definition (second attachment). This feature will only work with kneed beams and if the directions of the first and last stem are different. But I noticed a strange behaviour: I retrieve wrong output if the global-staff-size is changed, or with other changes. Can you confirm this? Perhaps it is similiar to my problem with your center-grob-between-definition. Or am I missing something or doing something wrong or ...? I see no problems with the knee-beamed group on a single staff. However, running your files, exactly as you sent them, on 2.14.2, I see no shortening of the final stem in the cross-staff examples. Oddly enough, when I change the global-staff-size, the last stem of the last cross-staff group IS shortened at some sizes, but the other final stems are not shortened at all, ever, whatever size I try. I really have no idea what could be causing these differences between our machines... A difference in OS? Is this even a reasonable speculation? (I'm using Windows XP.) Sorry I can't be of more help... -David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Variable assignment in music functions
Le 03/11/2011 19:02, Michael Ellis disait : Thanks for the suggestion, Jean-Charles. I think I've now got a solution that's fairly satisfactory: In my include file, I now have: %-- #(define (make-named-instrument default-name) (define iname default-name) (define (set newname) (set! iname newname)) (define (interface op . rest) (cond ((eq? op 'set) (set (car rest))) ((eq? op 'get) iname) (else (error Undefined operation interface) #(define mainInstrument (make-named-instrument cello)) #(define cueInstrument (make-named-instrument acoustic grand)) #(define clapInstrument (make-named-instrument woodblock)) #(define (setMainCueClapInstruments main cue clap) (mainInstrument 'set main) (cueInstrument 'set cue) (clapInstrument 'set clap) '()) %-- This allows me to do \set midiInstrument = #(cueInstrument 'get) in my cueNotes and similar functions and the choice of instruments can be set within the .ly file by #(setMainCueClapInstruments trumpet clarinet timpani) Is it just me, or has the thought occurred to others that LilyPond might actually be easier to learn and use if the entry language was pure Scheme? :-) I actually used this kind of artifact with King Arthur: I typeset it for a music school here in France, so the table of contents, character and instrument names should be in French. Beside that, the sources I uploaded on the CPDL might be used in countries where French is not as commonly used as in France and Inhaltsverzeichnis looks better in German than Table des matières. So I had to find a way to collect all the strings that should be adapted in one place (per language) and set this preference in one dedicated file that gets included in each master file. Cheers, Jean-Charles On Thu, Nov 3, 2011 at 1:34 PM, Jean-Charles Malahieude wrote: Le 03/11/2011 12:53, Michael Ellis disait : So, with that as background, let me re-ask the question in a different form: What's the best way to support changing a set of default values? Wouldn't it be possible to base it on an extra file, let's say a dictionary.ily where you define variables like myCueColor = Blue_with_yellow_spots muCueInstrument = TripleBassThatSoundsLikeSnoringDucks that you include in your templates where you would then have something like \set midiInstrument = \myCueInstrument \override Rest #'color = \myCueColor This is just a guess... ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Variable assignment in music functions
Jean-Charles Malahieude lily...@orange.fr writes: Le 03/11/2011 19:02, Michael Ellis disait : This allows me to do \set midiInstrument = #(cueInstrument 'get) in my cueNotes and similar functions and the choice of instruments can be set within the .ly file by #(setMainCueClapInstruments trumpet clarinet timpani) Is it just me, or has the thought occurred to others that LilyPond might actually be easier to learn and use if the entry language was pure Scheme? :-) I actually used this kind of artifact with King Arthur: I typeset it for a music school here in France, so the table of contents, character and instrument names should be in French. Beside that, the sources I uploaded on the CPDL might be used in countries where French is not as commonly used as in France and Inhaltsverzeichnis looks better in German than Table des matières. So I had to find a way to collect all the strings that should be adapted in one place (per language) and set this preference in one dedicated file that gets included in each master file. \paper { tocname = Inhaltsverzeichnis } #(define-markup-command (toc layout props) () (interpret-markup layout props (ly:output-def-lookup layout 'tocname none))) \markup \toc -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Variable assignment in music functions
Le 03/11/2011 20:02, David Kastrup disait : Jean-Charles Malahieude writes: Le 03/11/2011 19:02, Michael Ellis disait : This allows me to do \set midiInstrument = #(cueInstrument 'get) in my cueNotes and similar functions and the choice of instruments can be set within the .ly file by #(setMainCueClapInstruments trumpet clarinet timpani) Is it just me, or has the thought occurred to others that LilyPond might actually be easier to learn and use if the entry language was pure Scheme? :-) I actually used this kind of artifact with King Arthur: I typeset it for a music school here in France, so the table of contents, character and instrument names should be in French. Beside that, the sources I uploaded on the CPDL might be used in countries where French is not as commonly used as in France and Inhaltsverzeichnis looks better in German than Table des matières. So I had to find a way to collect all the strings that should be adapted in one place (per language) and set this preference in one dedicated file that gets included in each master file. \paper { tocname = Inhaltsverzeichnis } #(define-markup-command (toc layout props) () (interpret-markup layout props (ly:output-def-lookup layout 'tocname none))) \markup \toc But the list is a bit longer (cf. enclosure) Cheers, Jean-Charles \version 2.14.0 %%% Instrument and character names LFlute = Flûte Lfl = Fl LOboe = Hautbois Lob = Htb LTrumpet = Trompette Ltpt = Tpt LViolin = Violon Lvn = Vln LViola = Viola Lva = Vla LCello = Violoncelle LBasso = Continuo Lbc = BC LDrums = Timbales LChor = ChÅur LSoprano = Soprano Lsop = S LAlto = Alto Lalt = A LTenor = Tenor Lten = T LBasse = Basse Lbas = B LFS = Premier prêtre Saxon LSS = Second prêtre Saxon LTS = Troisième prêtre Saxon LPhil = Philidel LGrim = Grimbald LGenius = Génie de l'or LCupid = Cupid LSyren = Sirène LNymph = Nymphe LShep = Berger LSylv = Sylvains LAelus = Ãlus LFishers = ChÅur des pêcheurs LNereid = Néréïde LPan = Pan LVenus = Vénus LHonour = Honneur LDuet = Duo LNVerse = Nymphes Ltacet = Tacet Lsolo = Solo Ltutti = Tutti LPrimo = \markup { \concat { 1 \super er } } LPrima = \markup { \concat { 1 \super re } } LSecundo = \markup { \concat { 2 \super e } } LSecunda = \markup { \concat { 2 \super e } } Lbar = mesure Lbars = mesures Lattributed = attribué à % List of ToC nodes and piece ToCTitle = Table des matières Overture = \markup { %% OV \smallCaps Ouverture } ActOne = \markup { Acte premier } AWodenFirst = \markup { %%1A \italic Solo chÅur \char ##x2013 Woden, first to thee, we have sacrificed } AWodenThanks = \markup { %%1A bar 47 \italic Duo chÅur \char ##x2013 To Woden, thanks we render } ALotIsCast = \markup { %%1C \italic Solo \char ##x2013 The lot is cast } ABraveSouls = \markup { %%1D \italic ChÅur \char ##x2013 Brave souls, to be renow'd } AWodensHall = \markup { %%1E \italic Solo chÅur \char ##x2013 I call you all to Woden's hall } AMSymphony = \markup { %%1F Symphonie militaire } AComeIfYouDare = \markup { %%1G \italic Solo chÅur \char ##x2013 Come, if you dare } ActTwo = \markup { Acte deux } BIntro = \markup { %%2A Introduction } BSymphony = \markup { %%2B Symphonie } BHitherWay = \markup { %%2C \italic Solo chÅur \char ##x2013 Hither, this way bend } BMoonBornElf = \markup { %%2D \italic Solo \char ##x2013 Let not a moon-born elf } BChorHither = \markup { %%2E \italic ChÅur \char ##x2013 Hither, this way } BFollowMe = \markup { %%2F \italic ChÅur \char ##x2013 Come, follow me } BHowBlessed = \markup { %%2G \italic Solo chÅur \char ##x2013 How blessed are shepherds } BDuet = \markup { %%2H \italic Duo \char ##x2013 Shepherd, shepherd, leave decoying } BComeShepherds = \markup { %%2J \italic ChÅur \char ##x2013 Come, shepherds, lead up a lively measure } BHornpipe = \markup { %%2K Hornpipe } ActThree = \markup { Acte trois } CRecitative = \markup { %%3B \italic Récitatif \char ##x2013 What oh! thou Genious of the clime } CWhatPower = \markup { %%3C \italic Solo \char ##x2013 What power art thou? } CDoatingFool = \markup { %%3D \italic Solo \char ##x2013 Thou doating fool } CGreatLove = \markup { %%3E \italic Solo \char ##x2013 Great Love, I know thee now } CDominions = \markup { %%3F \italic Récitatif \char ##x2013 No part of my dominions } CPrelude = \markup { %%3G Prélude } CWeAssemble = \markup { %%3H \italic ChÅur \char ##x2013 See, we assemble } CTisI = \markup { %%3J \italic Solo \char ##x2013 'T is I that have warm'd ye } CTisLove = \markup { %%3K \italic ChÅur \char ##x2013 'T is love that has warm'd us } CSoundaParley = \markup { %%3L \italic Duo \char ##x2013 Sound a parley, ye fair } CHornpipe = \markup { %%3M Hornpipe } ActFour = \markup { Acte quatre } DTwoDaughters = \markup { %%4A \italic Duo \char
Re: Variable assignment in music functions
Le 03/11/2011 20:02, David Kastrup disait : \paper { tocname = Inhaltsverzeichnis } #(define-markup-command (toc layout props) () (interpret-markup layout props (ly:output-def-lookup layout 'tocname none))) \markup \toc But the list is a bit longer (cf. enclosure) I first define in the language-fr.ily file TocTitle = Table des matières and in languege-de.ily TocTitle = Inhaltsverzeichnis and then in the master file \paper { %% Translate the toc title: tocTitleMarkup = \markup \huge \column { \fill-line { \null \ToCTitle \null } \hspace #1 } will produce the right wording, depending on the translation I wish. Cheers, Jean-Charles ps: sorry, the phone ring just disturbed me... \version 2.14.0 %%% Instrument and character names LFlute = Flûte Lfl = Fl LOboe = Hautbois Lob = Htb LTrumpet = Trompette Ltpt = Tpt LViolin = Violon Lvn = Vln LViola = Viola Lva = Vla LCello = Violoncelle LBasso = Continuo Lbc = BC LDrums = Timbales LChor = ChÅur LSoprano = Soprano Lsop = S LAlto = Alto Lalt = A LTenor = Tenor Lten = T LBasse = Basse Lbas = B LFS = Premier prêtre Saxon LSS = Second prêtre Saxon LTS = Troisième prêtre Saxon LPhil = Philidel LGrim = Grimbald LGenius = Génie de l'or LCupid = Cupid LSyren = Sirène LNymph = Nymphe LShep = Berger LSylv = Sylvains LAelus = Ãlus LFishers = ChÅur des pêcheurs LNereid = Néréïde LPan = Pan LVenus = Vénus LHonour = Honneur LDuet = Duo LNVerse = Nymphes Ltacet = Tacet Lsolo = Solo Ltutti = Tutti LPrimo = \markup { \concat { 1 \super er } } LPrima = \markup { \concat { 1 \super re } } LSecundo = \markup { \concat { 2 \super e } } LSecunda = \markup { \concat { 2 \super e } } Lbar = mesure Lbars = mesures Lattributed = attribué à % List of ToC nodes and piece ToCTitle = Table des matières Overture = \markup { %% OV \smallCaps Ouverture } ActOne = \markup { Acte premier } AWodenFirst = \markup { %%1A \italic Solo chÅur \char ##x2013 Woden, first to thee, we have sacrificed } AWodenThanks = \markup { %%1A bar 47 \italic Duo chÅur \char ##x2013 To Woden, thanks we render } ALotIsCast = \markup { %%1C \italic Solo \char ##x2013 The lot is cast } ABraveSouls = \markup { %%1D \italic ChÅur \char ##x2013 Brave souls, to be renow'd } AWodensHall = \markup { %%1E \italic Solo chÅur \char ##x2013 I call you all to Woden's hall } AMSymphony = \markup { %%1F Symphonie militaire } AComeIfYouDare = \markup { %%1G \italic Solo chÅur \char ##x2013 Come, if you dare } ActTwo = \markup { Acte deux } BIntro = \markup { %%2A Introduction } BSymphony = \markup { %%2B Symphonie } BHitherWay = \markup { %%2C \italic Solo chÅur \char ##x2013 Hither, this way bend } BMoonBornElf = \markup { %%2D \italic Solo \char ##x2013 Let not a moon-born elf } BChorHither = \markup { %%2E \italic ChÅur \char ##x2013 Hither, this way } BFollowMe = \markup { %%2F \italic ChÅur \char ##x2013 Come, follow me } BHowBlessed = \markup { %%2G \italic Solo chÅur \char ##x2013 How blessed are shepherds } BDuet = \markup { %%2H \italic Duo \char ##x2013 Shepherd, shepherd, leave decoying } BComeShepherds = \markup { %%2J \italic ChÅur \char ##x2013 Come, shepherds, lead up a lively measure } BHornpipe = \markup { %%2K Hornpipe } ActThree = \markup { Acte trois } CRecitative = \markup { %%3B \italic Récitatif \char ##x2013 What oh! thou Genious of the clime } CWhatPower = \markup { %%3C \italic Solo \char ##x2013 What power art thou? } CDoatingFool = \markup { %%3D \italic Solo \char ##x2013 Thou doating fool } CGreatLove = \markup { %%3E \italic Solo \char ##x2013 Great Love, I know thee now } CDominions = \markup { %%3F \italic Récitatif \char ##x2013 No part of my dominions } CPrelude = \markup { %%3G Prélude } CWeAssemble = \markup { %%3H \italic ChÅur \char ##x2013 See, we assemble } CTisI = \markup { %%3J \italic Solo \char ##x2013 'T is I that have warm'd ye } CTisLove = \markup { %%3K \italic ChÅur \char ##x2013 'T is love that has warm'd us } CSoundaParley = \markup { %%3L \italic Duo \char ##x2013 Sound a parley, ye fair } CHornpipe = \markup { %%3M Hornpipe } ActFour = \markup { Acte quatre } DTwoDaughters = \markup { %%4A \italic Duo \char ##x2013 Two daughters of this aged stream } DPassa = \markup { %%4B Passacaille } DHappyLover = \markup { %%4B bar 123 \italic Solo chÅur \char ##x2013 How happy the lover } DForLove = \markup { %%4B bar 184 \italic Duo chÅur \char ##x2013 For Love every creature } DNymphes = \markup { %%4B bar 247- \smallCaps Air des Nymphes } ActFive = \markup { Acte cinq } EBlustering = \markup { %%5A \italic Air \char ##x2013 Ye blustering brethren } ESymphony = \markup { %%5B Symphonie } EDitto = \markup { %%5C Ditto } ERound = \markup { %%5D \italic Duo chÅur \char ##x2013
Re: Difference Between \lyricsto and associatedVoice With Melody Rhythm
On 4/11/2011, at 4:04 am, Christian Eitner wrote: \version 2.14.2 \new Staff { \new Voice = melody \relative { a'1 \context Voice = melody { b4. b8 b4. b8 } \context Lyrics = lyr \with {associatedVoice = melody} \lyricmode { A B C D } %\new Lyrics \lyricsto melody { A B C D } e1 f1 } } If I use 'associatedVoice', lyrics A, B and C are printed below the first note, over each other. D is printed below the second note. This does not happen if only quarter notes are used in the melody. \lyricsto works fine, but for reasons pointed out earlier, does not correctly allow the melody e1 f1 to continue after the lyrics. For a variant on the \lyricsto wierdness: \new Staff { \new Voice = unsung \relative { a'1 \new Voice = sung { b4. b8 b4. b8 } \new Lyrics \lyricsto sung { A B C D } e1 f1 } } The last two notes now do appear, but wrongly spaced. But this seems to work as expected: \new Staff { \new Voice = unsung \relative { a'1 \new Voice = sung { b4. b8 b4. b8 } e1 f1 } } \new Lyrics \lyricsto sung { A B C D } Best wishes, Matthew ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Difference Between \lyricsto and associatedVoice With Melody Rhythm
Matthew Collett m_coll...@ihug.co.nz writes: For a variant on the \lyricsto wierdness: \new Staff { \new Voice = unsung \relative { a'1 \new Voice = sung { b4. b8 b4. b8 } \new Lyrics \lyricsto sung { A B C D } e1 f1 } } The last two notes now do appear, but wrongly spaced. My guess would be that when the inner contexts disappear, a corresponding iterator gets rewired and then typesets the e1 as lyrics to the f1 (or vice versa). Of course, it needs to move it for that. Worth a bug report. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Difference Between \lyricsto and associatedVoice With Melody Rhythm
Hello, On Thu, Nov 3, 2011 at 9:50 PM, David Kastrup d...@gnu.org wrote: Matthew Collett m_coll...@ihug.co.nz writes: For a variant on the \lyricsto wierdness: ... My guess would be that when the inner contexts disappear, a corresponding iterator gets rewired and then typesets the e1 as lyrics to the f1 (or vice versa). Of course, it needs to move it for that. Worth a bug report. et voila http://code.google.com/p/lilypond/issues/detail?id=2010 Although wasn't sure if the title of the bug is technically accurate enough... feel free to modify it. -- -- James ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Making feathered beams more variable
Hi David, to get beaming consistent to your featherDurationTest, I added a new condition to my grow-beam-var: With a positive argument you retrieve accel.-rit. With a negative one rit.-accel. (Most of the testing is commented out and the turning-peak option is deleted) I added your revised featherDurationTest to the file. But when trying to compile the whole testing with it, I had to interrupt after a minute without result. So I commented the revised version and used the older one. 2011/11/3 David Nalesnik david.nales...@gmail.com Hi Harm, On Tue, Nov 1, 2011 at 2:40 PM, harm6 thomasmorle...@googlemail.comwrote: I tried to make an automated definition (first attachment) and to integrate it in the grow-beam-var-definition (second attachment). This feature will only work with kneed beams and if the directions of the first and last stem are different. But I noticed a strange behaviour: I retrieve wrong output if the global-staff-size is changed, or with other changes. Can you confirm this? Perhaps it is similiar to my problem with your center-grob-between-definition. Or am I missing something or doing something wrong or ...? I see no problems with the knee-beamed group on a single staff. However, running your files, exactly as you sent them, on 2.14.2, I see no shortening of the final stem in the cross-staff examples. Oddly enough, when I change the global-staff-size, the last stem of the last cross-staff group IS shortened at some sizes, but the other final stems are not shortened at all, ever, whatever size I try. Also, I deleted my attempt to automatize stem-shortning (for now stems are to be shortened manually. This works! :)). Perhaps I start a new try with 2.15.13 and the 'length-property next weekend. I really have no idea what could be causing these differences between our machines... A difference in OS? Is this even a reasonable speculation? (I'm using Windows XP.) I compiled your old centerGrobBetween_rev2.ly again with 2.15.13 and I never get warnings or wrong output. So I think it's not a problem of OS (I'm using Linux Ubuntu 10.04). Well, I speculate, but could it be a problem with the Linux-version of LilyPond 2.14.2? Sorry I can't be of more help... Your help is great!!! Many thanks, Harm \version 2.14.2 % Thanks to David Nalesnik \pointAndClickOff #(set-global-staff-size 20) \paper { tagline = ##f indent = 0 } xy = \once\override Stem #'french-beaming = ##t xyOut = #(define-music-function (parser location y-length)(number?) #{ \once \override Stem #'stencil = #(lambda (grob) (ly:grob-set-property! grob 'stem-end-position $y-length) (ly:stem::print grob)) #}) #(define ((grow-beam-var number) grob) (cond (( (length (cdr (ly:grob-property (ly:grob-parent grob X) 'beaming))) 2) (ly:beam::print grob)) ((or (= number 0) (and ( number 0) ( (abs number)(1- (ly:grob-array-length (ly:grob-object grob 'stems)) (begin (ly:grob-set-property! grob 'grow-direction LEFT) (ly:beam::print grob))) ((= number (1- (ly:grob-array-length (ly:grob-object grob 'stems (begin (ly:grob-set-property! grob 'grow-direction RIGHT) (ly:beam::print grob))) ((ly:stencil? (ly:beam::print grob)) ;; delete this? (let* ((beam (ly:beam::print grob)) (beam-positions (ly:grob-property grob 'positions)) (beam-slant (cond ((= (car beam-positions) (cdr beam-positions)) 1) ;;((= (car beam-positions) (cdr beam-positions)) 0) (( (car beam-positions) (cdr beam-positions)) -1))) (dir (ly:beam::calc-direction grob)) (b-d (ly:output-def-lookup (ly:grob-layout grob) 'blot-diameter)) (beam-extent-X (ly:stencil-extent beam X)) (beam-length-x-orig (interval-length beam-extent-X)) (beam-length-x (- beam-length-x-orig b-d)) (beam-extent-Y (ly:stencil-extent beam Y)) (beam-length-y (interval-length beam-extent-Y)) (orig-beam-thickness (ly:grob-property grob 'beam-thickness)) (beam-count (length (cdr (ly:grob-property (ly:grob-parent grob X) 'beaming (space-between-beams (* 0.46 (ly:grob-property grob 'gap))) (orig-beam-length-at-stem (+ (* beam-count orig-beam-thickness)(* (- beam-count 1) space-between-beams))) (orig-slope (* beam-slant (/ (- beam-length-y orig-beam-length-at-stem) beam-length-x))) (alpha (atan orig-slope)) (beam-thickness (* 0.8 orig-beam-thickness)) (h-max (- (/ orig-beam-length-at-stem (cos alpha)) (* 1.3 beam-thickness))) (number-a (if (integer? (abs number)) (abs number) (inexact-exact (truncate (abs number) (number-b (- (abs number) (truncate (abs number (stems (ly:grob-object grob 'stems)) (stem-count (ly:grob-array-length
Difference Between \lyricsto and associatedVoice With Melody Rhythm
Greetings Christian, After reading your post and the replies from Matthew Collett, David Kastrup, and Peekay Ex, I thought I would try to simplify what I think you're trying to do. The following gives two lines of music, one showing a trivial example, and the other showing my attempt to do the same thing using defined terms for words and music. In the second part, using bar checks shows strange values compared to those obtained in the first part. Whether this is a symptom of the underlying problem I don't know. I don't have any skills in programming to let me delve into that! Note the empty bar after the lyrics in the second part. I hope this is of some help. Regards Bill +++ \version 2.14.2 %%{ %words and music for First score firstwords = \lyricmode { q w e r } melodya = \relative c'' %All the barchesks give 1/1, as expected { a1 | b4 b4 a4 b4 | e,1 | f1 | g2 a | } \score { %first score \new Staff { \new Voice = singer { \melodya } \new Lyrics \lyricsto singer \firstwords } } %} %words and music for Second score secondwords = \lyricmode { z x c v } secondmelodya = \relative c'' %Bar checks in this section give strange, varying values { a1 } secondmelody = \relative c'' { a4 b c a } secondmelodyb = \relative c'' { e,1 f1 | g1 | } \score { %second score \new Staff { \new Voice = unsunga { \secondmelodya } \new Voice = singer { \secondmelody } \new Lyrics \lyricsto singer \secondwords \new Voice = unsungb { \secondmelodyb } } } \layout { } +++ ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user