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 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... :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 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... > :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 wrote: > Michael Ellis 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... >> :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 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 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 =
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 } EBluster
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 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 wrote: > Matthew Collett 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 > Hi Harm, > > On Tue, Nov 1, 2011 at 2:40 PM, harm6 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. > 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-arra
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