Re: [WISH] about \super and \sub
Dear Janek, I'm 100% ok with your code. I don't understand Werner's remark : \sub is at the right height even for chords. I've also compared with Sibelius, Finale, and some books I have here; looks fairely good to me. Don't know what else to say... Cheers, Pierre 2013/10/20 Janek Warchoł janek.lilyp...@gmail.com Hi Pierre, 2013/10/16 Janek Warchoł janek.lilyp...@gmail.com: 2013/10/16 Pierre Perol-Schneider pierre.schneider.pa...@gmail.com: There is something I found disturbing for years : I think \super and \sub are not properly settled. [] Here's a patch that fixes it: http://code.google.com/p/lilypond/issues/detail?id=3619 http://codereview.appspot.com/14438075 Please follow the discussion there - if there are any objections to my patch, i'll need your help. This is the moment when i need your help and involvement. Writing the patch took me 15 minutes, but there are doubts whether to accept it in the current state. It needs to be discussed, pros and cons need to be examined and maybe a compromise found. Doing all this - getting the patch through review process - would take me an hour or two (much more than writing the patch itself!), and is a distraction from my other (paid) work on LilyPond. I'm very busy and i don't have this time, so if you don't step in and help with the discussion i will abandon the patch, sorry! best, Janek ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [WISH] about \super and \sub
I don't understand Werner's remark : \sub is at the right height even for chords. Not \sub, but \sup. I've also compared with Sibelius, Finale, and some books I have here; looks fairely good to me. Hmm. Look at the attached two images, extracted from https://code.google.com/p/lilypond/issues/detail?id=3619#c2. Is it really OK that digit 7 is that low? For my taste, it should be moved up a bit. Werner inline: 7-before.pnginline: 7-after.png___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [WISH] about \super and \sub
2013/10/21 Pierre Perol-Schneider pierre.schneider.pa...@gmail.com: Dear Janek, I'm 100% ok with your code. I don't understand Werner's remark : \sub is at the right height even for chords. I've also compared with Sibelius, Finale, and some books I have here; looks fairely good to me. Don't know what else to say... There are two things you can do: - provide scanned examples of chords showing where super- and subscripts are placed. (note that Finale/Sibelius places them at this height by default will not be convincing for us, as we don't regard these programs's default output as something authoritative. However, examples from published good quality books *will* be convincing for virtually anyone on the list). - prepare a test file containing: - ordinary text with super- and subscripts (with various combinations of digits and upper and lower case letters used), - chord names with various modifications, including accidentals, - other text including musical symbols in super- and subscripts and compile this file with various amounts of super-/subscripts displacement. Send the results to us. With these materials, i'm sure that we can reach a good connsensus. best, Janek ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [WISH] about \super and \sub
2013/10/21 Werner LEMBERG w...@gnu.org Not \sub, but \sup. Sorry Werner it's a typo ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [WISH] about \super and \sub
2013/10/21 Janek Warchoł janek.lilyp...@gmail.com There are two things you can do: - provide scanned examples of chords showing where super- and subscripts are placed. (note that Finale/Sibelius places them at this height by default will not be convincing for us, as we don't regard these programs's default output as something authoritative. However, examples from published good quality books *will* be convincing for virtually anyone on the list). - prepare a test file containing: - ordinary text with super- and subscripts (with various combinations of digits and upper and lower case letters used), - chord names with various modifications, including accidentals, - other text including musical symbols in super- and subscripts and compile this file with various amounts of super-/subscripts displacement. Send the results to us. With these materials, i'm sure that we can reach a good connsensus. best, Janek Sounds good to me ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: crescendo hairpin with text
2013/10/21 Aurélien Bello i...@aurelienbello.com: Hi, I'm typesetting some Wagner and he uses crescendo and diminuendo hairpins with the text inside. With a markup and adding extra-offset I got a satisfying graphical result but wouldn't it be possible to have a command? I'm afraid it has to be programmed in scheme and I'm definitely not a crack in that thing. Could some LilyPond-pro try to make a simple command like /crescWithText? http://lsr.dsi.unimi.it/LSR/Item?id=233 hth Janek ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: crescendo hairpin with text
thanks for the quick answer. I knew this snippet, but how to modify it in order to get the text at the right place??? It should be right-aligned with the right-edge of the crescendo and left-aligned with the left-edge of a diminuendo. And it should vertically centered... If someone with scheme knowledge had an inspiration? I would be so grateful! Aurélien Bello __ m +49 (0) 176 60 84 55 15 f +49 (0) 30 95 61 69 76 i...@aurelienbello.com www.aurelienbello.com Crellestraße 43 10827 Berlin Deutschland Le 21 oct. 2013 à 12:05, Janek Warchoł janek.lilyp...@gmail.com a écrit : 2013/10/21 Aurélien Bello i...@aurelienbello.com: Hi, I'm typesetting some Wagner and he uses crescendo and diminuendo hairpins with the text inside. With a markup and adding extra-offset I got a satisfying graphical result but wouldn't it be possible to have a command? I'm afraid it has to be programmed in scheme and I'm definitely not a crack in that thing. Could some LilyPond-pro try to make a simple command like /crescWithText? http://lsr.dsi.unimi.it/LSR/Item?id=233 hth Janek ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: crescendo hairpin with text
2013/10/21 Aurélien Bello i...@aurelienbello.com: thanks for the quick answer. I knew this snippet, but how to modify it in order to get the text at the right place??? It should be right-aligned with the right-edge of the crescendo and left-aligned with the left-edge of a diminuendo. And it should vertically centered... I could do this for 5EUR (sorry, no free time to spare...). Or maybe someone else would do this. best, Janek ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: crescendo hairpin with text
easy: 1. search for the two occurences of CENTER and replace them with RIGHT. search for Y dir (hint: it's between the two occurrences of CENTER) and replace with Y CENTER. 2. send 5EUR to janek anyway. :) 3. play around with your markup formatting, because putting text between the hairpin is ugly. On Mon, Oct 21, 2013 at 12:16 PM, Janek Warchoł janek.lilyp...@gmail.com wrote: 2013/10/21 Aurélien Bello i...@aurelienbello.com: thanks for the quick answer. I knew this snippet, but how to modify it in order to get the text at the right place??? It should be right-aligned with the right-edge of the crescendo and left-aligned with the left-edge of a diminuendo. And it should vertically centered... I could do this for 5EUR (sorry, no free time to spare...). Or maybe someone else would do this. best, Janek ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user -- Do not meddle in the affairs of trombonists, for they are subtle and quick to anger. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Combining chord durations
I use a score to produce PDF and MIDI. To obtain a rhythmic pattern in the MIDI, I write the chords as: ees8 ees ees ees ees ees bes bes | c:m c:m c:m c:m aes aes aes aes | ees ees ees ees bes bes bes bes | ees ees ees ees ees ees ees ees | In the printed score, the chord changes are not shown, which is what I want, but it seems that the duration of the chords affects the amount of space that is allocated for the printed output. For example, the above lines (with some notes) display as: (See attachment 1, if it comes through, otherwise:) http://www.squirrel.nl/pub/xfer/uploads/3CfG2SysM_z5gxpp0TStDP9w.png while I would like to have: (See attachment 2, if it comes through, otherwise:) http://www.squirrel.nl/pub/xfer/uploads/3CHD2294iNixM0Vc3-1ZcBfA.png (As if I had written: ees2. bes4 | c2:m aes2 | ees2 bes2 | ees1| ) Is there an easy way to get this behaviour? Something similar but opposite to the chordChanges property? -- Johan attachment: ss1.pngattachment: ss2.png___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re:crescendo hairpin with text
I found it necessary to replace (ly:stencil-aligned-to (grob-interpret-markup grob $text) X CENTER)) by (ly:stencil-aligned-to (grob-interpret-markup grob text) X CENTER)) Using 2.17.26 regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: crescendo hairpin with text
Peter Gentry peter.gen...@sunscales.co.uk writes: I found it necessary to replace (ly:stencil-aligned-to (grob-interpret-markup grob $text) X CENTER)) by (ly:stencil-aligned-to (grob-interpret-markup grob text) X CENTER)) Using 2.17.26 That's something that convert-ly -ed will do. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Frescobaldi 2.0.11 possible bug
I have tried out the HairPin Text snippet after separating into a function saved in the Includes directory I find. Other functions in this directory operate as expected. 1) command line invoking the include directory works fine 2) run from Frescobaldi the compliation hangs when cancelled it reports the error 62097 The music file Hairpintest.ly c:\Users\Peter\LilyPool\Examples\Hairpintest.ly \version 2.17.26 \include HairpinText.ly hairpinMolto = \hairpinWithCenteredText \markup { \italic molto } hairpinMore = \hairpinWithCenteredText \markup { \larger moltissimo } \layout { ragged-right = ##f } \relative c' { \hairpinMolto c2\ c\f \hairpinMore c2\p\ c\f \break \hairpinMolto c2^\ c\f \hairpinMore c2\p\ c\f } The include file C:\Users\Peter\LilyPool\Includes\HairpinText.ly \version 2.17.26 hairpinWithCenteredText = #(define-music-function (parser location text) (markup?) #{ \once \override Voice.Hairpin #'after-line-breaking = #(lambda (grob) (let* ((stencil (ly:hairpin::print grob)) (par-y (ly:grob-parent grob Y)) (dir (ly:grob-property par-y 'direction)) (new-stencil (ly:stencil-aligned-to (ly:stencil-combine-at-edge (ly:stencil-aligned-to stencil X CENTER) Y dir (ly:stencil-aligned-to (grob-interpret-markup grob text) X CENTER)) X LEFT)) (staff-space (ly:output-def-lookup (ly:grob-layout grob) 'staff-space)) (staff-line-thickness (ly:output-def-lookup (ly:grob-layout grob) 'line-thickness)) (grob-name (lambda (x) (assq-ref (ly:grob-property x 'meta) 'name))) (par-x (ly:grob-parent grob X)) (dyn-text (eq? (grob-name par-x) 'DynamicText )) (dyn-text-stencil-x-length (if dyn-text (interval-length (ly:stencil-extent (ly:grob-property par-x 'stencil) X)) 0)) (x-shift (if dyn-text (- (+ staff-space dyn-text-stencil-x-length) (* 0.5 staff-line-thickness)) 0))) (ly:grob-set-property! grob 'Y-offset 0) (ly:grob-set-property! grob 'stencil (ly:stencil-translate-axis new-stencil x-shift X #}) The command line logfile Log level set to 287 GNU LilyPond 2.17.26 Relocation: from PATH=C:\Users\Peter\LilyPool\Examples;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\9.0\DLLShared\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\PROGRA~1\ULTRAE~1;C:\Program Files\Common Files\DivX Shared\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\LilyPond\usr\bin;C:\Program Files\Windows Live\Shared;C:\Program Files\Common Files\Microsoft Shared\Windows Live argv0=LilyPond PATH=C:/Program Files/LilyPond/usr/bin (prepend) Setting PATH to C:/Program Files/LilyPond/usr/bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\9.0\DLLShared\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\PROGRA~1\ULTRAE~1;C:\Program Files\Common Files\DivX Shared\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\LilyPond\usr\bin;C:\Program Files\Windows Live\Shared;C:\Program Files\Common Files\Microsoft Shared\Windows Live Relocation: compile datadir=, new datadir=C:/Program Files/LilyPond/usr/share/lilypond//current Relocation: framework_prefix=C:/Program Files/LilyPond/usr/bin/.. Setting INSTALLER_PREFIX to C:/Program Files/LilyPond/usr/bin/.. Relocation file: C:/Program Files/LilyPond/usr/bin/../etc/relocate//fontconfig.reloc Setting FONTCONFIG_FILE to C:/Program Files/LilyPond/usr/bin/../etc/fonts/fonts.conf Setting FONTCONFIG_PATH to C:/Program Files/LilyPond/usr/bin/../etc/fonts Relocation file: C:/Program Files/LilyPond/usr/bin/../etc/relocate//gs.reloc warning: no such directory: C:/Program Files/LilyPond/usr/bin/../share/ghostscript/8.70/fonts for GS_FONTPATH warning: no such directory: C:/Program Files/LilyPond/usr/bin/../share/gs/fonts for GS_FONTPATH GS_LIB=C:/Program Files/LilyPond/usr/bin/../share/ghostscript/8.70/Resource (prepend) Setting GS_LIB to C:/Program Files/LilyPond/usr/bin/../share/ghostscript/8.70/Resource GS_LIB=C:/Program Files/LilyPond/usr/bin/../share/ghostscript/8.70/Resource/Init (prepend) Setting GS_LIB to C:/Program
RE: Frescobaldi 2.0.11 possible bug
I should have mentioned that if the scheme code is included explicitly before the music code then it compiles correctly in Frecobaldi. -Original Message- From: Peter Gentry [mailto:peter.gen...@sunscales.co.uk] Sent: Monday, October 21, 2013 2:53 PM To: 'lilypond-user@gnu.org' Subject: Frescobaldi 2.0.11 possible bug I have tried out the HairPin Text snippet after separating into a function saved in the Includes directory I find. Other functions in this directory operate as expected. 1) command line invoking the include directory works fine 2) run from Frescobaldi the compliation hangs when cancelled it reports the error 62097 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Frescobaldi 2.0.11 possible bug
Do you also have a logfile from a run with Frescobaldi? In order to narrow it down please tell us: - does it make a difference if you compile in publication, custom and preview mode? - if it should only happen in preview mode or in custom mode with preview checked: does it make a difference which preview options are checked? Best Urs Peter Gentry peter.gen...@sunscales.co.uk schrieb: I have tried out the HairPin Text snippet after separating into a function saved in the Includes directory I find. Other functions in this directory operate as expected. 1) command line invoking the include directory works fine 2) run from Frescobaldi the compliation hangs when cancelled it reports the error 62097 The music file Hairpintest.ly c:\Users\Peter\LilyPool\Examples\Hairpintest.ly \version 2.17.26 \include HairpinText.ly hairpinMolto = \hairpinWithCenteredText \markup { \italic molto } hairpinMore = \hairpinWithCenteredText \markup { \larger moltissimo } \layout { ragged-right = ##f } \relative c' { \hairpinMolto c2\ c\f \hairpinMore c2\p\ c\f \break \hairpinMolto c2^\ c\f \hairpinMore c2\p\ c\f } The include file C:\Users\Peter\LilyPool\Includes\HairpinText.ly \version 2.17.26 hairpinWithCenteredText = #(define-music-function (parser location text) (markup?) #{ \once \override Voice.Hairpin #'after-line-breaking = #(lambda (grob) (let* ((stencil (ly:hairpin::print grob)) (par-y (ly:grob-parent grob Y)) (dir (ly:grob-property par-y 'direction)) (new-stencil (ly:stencil-aligned-to (ly:stencil-combine-at-edge (ly:stencil-aligned-to stencil X CENTER) Y dir (ly:stencil-aligned-to (grob-interpret-markup grob text) X CENTER)) X LEFT)) (staff-space (ly:output-def-lookup (ly:grob-layout grob) 'staff-space)) (staff-line-thickness (ly:output-def-lookup (ly:grob-layout grob) 'line-thickness)) (grob-name (lambda (x) (assq-ref (ly:grob-property x 'meta) 'name))) (par-x (ly:grob-parent grob X)) (dyn-text (eq? (grob-name par-x) 'DynamicText )) (dyn-text-stencil-x-length (if dyn-text (interval-length (ly:stencil-extent (ly:grob-property par-x 'stencil) X)) 0)) (x-shift (if dyn-text (- (+ staff-space dyn-text-stencil-x-length) (* 0.5 staff-line-thickness)) 0))) (ly:grob-set-property! grob 'Y-offset 0) (ly:grob-set-property! grob 'stencil (ly:stencil-translate-axis new-stencil x-shift X #}) The command line logfile Log level set to 287 GNU LilyPond 2.17.26 Relocation: from PATH=C:\Users\Peter\LilyPool\Examples;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\9.0\DLLShared\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\PROGRA~1\ULTRAE~1;C:\Program Files\Common Files\DivX Shared\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\LilyPond\usr\bin;C:\Program Files\Windows Live\Shared;C:\Program Files\Common Files\Microsoft Shared\Windows Live argv0=LilyPond PATH=C:/Program Files/LilyPond/usr/bin (prepend) Setting PATH to C:/Program Files/LilyPond/usr/bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\9.0\DLLShared\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\PROGRA~1\ULTRAE~1;C:\Program Files\Common Files\DivX Shared\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\LilyPond\usr\bin;C:\Program Files\Windows Live\Shared;C:\Program Files\Common Files\Microsoft Shared\Windows Live Relocation: compile datadir=, new datadir=C:/Program Files/LilyPond/usr/share/lilypond//current Relocation: framework_prefix=C:/Program Files/LilyPond/usr/bin/.. Setting INSTALLER_PREFIX to C:/Program Files/LilyPond/usr/bin/.. Relocation file: C:/Program Files/LilyPond/usr/bin/../etc/relocate//fontconfig.reloc Setting FONTCONFIG_FILE to C:/Program Files/LilyPond/usr/bin/../etc/fonts/fonts.conf Setting FONTCONFIG_PATH to C:/Program Files/LilyPond/usr/bin/../etc/fonts Relocation file: C:/Program Files/LilyPond/usr/bin/../etc/relocate//gs.reloc warning: no such directory: C:/Program Files/LilyPond/usr/bin/../share/ghostscript/8.70/fonts for GS_FONTPATH warning: no such directory: C:/Program Files/LilyPond/usr/bin/../share/gs/fonts for GS_FONTPATH
Re: crescendo hairpin with text
On Mon, Oct 21, 2013 at 3:17 PM, David Kastrup d...@gnu.org wrote: Peter Gentry peter.gen...@sunscales.co.uk writes: I found it necessary to replace (ly:stencil-aligned-to (grob-interpret-markup grob $text) X CENTER)) by (ly:stencil-aligned-to (grob-interpret-markup grob text) X CENTER)) Using 2.17.26 That's something that convert-ly -ed will do. i didn't mention that as step 0, as LSR snippets are so outdated that I always run convert-ly when i borrow a snippet from there. :) for the OP it might be worth mentioning that changing CENTER to RIGHT will only work for crescendos. decrescendos will need LEFT or setting dynamically from the value of Hairpin.direction. While you're at it, you could look at the Hairpin.height property to increase the opening of the jaws, giving your text some more space. regards, sb ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re:Frescobaldi 2.0.11 possible bug
The problem was caused by the filename Hairpintext.ly works HairpinText.ly does not. It appears to be converted inside Frescobaldi to Hairpin Text.ly and the program loops as it cannot find this file. regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Two possible ugly bugs
Hi all, Did anyone check these two bugs I described? Should I report them to the Issue Tracker or not? And just to confirm, these two codes produce the same results with LilyPond 2.17.29 as well. Regards, Gilberto -- View this message in context: http://lilypond.1069038.n5.nabble.com/Two-possible-ugly-bugs-tp152672p152764.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Two possible ugly bugs
- Original Message - From: Gilberto Agostinho gilbertohasn...@gmail.com To: lilypond-user@gnu.org Sent: Monday, October 21, 2013 4:16 PM Subject: Re: Two possible ugly bugs Hi all, Did anyone check these two bugs I described? Should I report them to the Issue Tracker or not? And just to confirm, these two codes produce the same results with LilyPond 2.17.29 as well. Regards, Gilberto Please follow the process at http://lilypond.org/bug-reports.html to get the bugs reported. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: laying out plainsong chant
Hi Gabe, cool, nice to hear. I will give it a try myself. What do those notes actually mean? An undefined number of notes (according to the text) with this given pitch? I still think there should be some Lilypond built-in functionality for that, because I do not like the misuse of rests for that. Perhaps, there will be some time in half a year from now when I could look into this further. For now, this seems to solve the question reasonably well concerning the printed output. Just to note my thoughts about the functionality I’m thinking of publicly: - a staff context for that purpose (without stems, timing, slurs unaffected by non-existing stems, nice size of parentizeItems) - a markup command that formats nicely the needed characters: ´ / * - … - a longbar command that follows a note: a4\longbar What would be a good name? \repeated? \multinote? - midi output should be possible, therefore one should be able to specify the number of repetitions - a4*6\longbar if the syntax can cope with that or - a4\longbar 6 if that would be possible (not sure either) - alternatively: another repeat-type, = unfold in midi but like \longbar in print - naming suggestion: \repeat psalm (Better ideas?) - perhaps a better idea than the first one - Does the font have a symbol for it? Should be defined otherwise. Cheers, Joram ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re:Frescobaldi 2.0.11 possible bug
This is strange as Frescobaldi does not in any way change the lilypond source when running LilyPond. Do you have some include path set? -- Wilbert Berendsen (www.wilbertberendsen.nl) Oorspronkelijk bericht Van: Peter Gentry peter.gen...@sunscales.co.uk Datum: 21-10-2013 16:47 (GMT+01:00) Aan: lilypond-user@gnu.org Onderwerp: Re:Frescobaldi 2.0.11 possible bug The problem was caused by the filename Hairpintext.ly works HairpinText.ly does not. It appears to be converted inside Frescobaldi to Hairpin Text.ly and the program loops as it cannot find this file. regards Peter Gentry ___ 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: Combining chord durations
On Mon, Oct 21, 2013 at 01:59:11PM +0200, Johan Vromans wrote: I use a score to produce PDF and MIDI. To obtain a rhythmic pattern in the MIDI, I write the chords as: ees8 ees ees ees ees ees bes bes | c:m c:m c:m c:m aes aes aes aes | ees ees ees ees bes bes bes bes | ees ees ees ees ees ees ees ees | In the printed score, the chord changes are not shown, which is what I want, but it seems that the duration of the chords affects the amount of space that is allocated for the printed output. From the standpoint of the layout, this looks like Issue #3092: https://code.google.com/p/lilypond/issues/detail?id=3092 But I gather that your question is somewhat different, especially since the work-arounds given in that URL completely disregard MIDI output and focus only on improving the spacing of chords in the PDF output. The reason your layout gets stretched is roughly because LilyPond's chord-suppression logic for repeated chord markups effectively makes the chord markup transparent rather than eliminating it entirely. Thus even the invisible chords still take up space in the layout. I regret that I can offer only some informal, even ugly suggestions: 1) when writing multiple repetitions of chords, use LilyPond's 'q' shortcut. This doesn't begin to address your problem, but it might at least save you a little bit of typing, although you may perceive a difference in readability: \chordmode { ees8 q q q q q bes q | c:m q q q aes q q q | ees q q q bes q q q | % obssessive-compulsive text ees q q q q q q q | % alignment is optional } 2) Once you have manually created the MIDI rhythms you want in the LilyPond input file, you can fix some of the resulting layout problems by de-activating the chord stencil during stretches of repeated chords. This re-introduces a lot of typing! I haven't tested this, but maybe you can create variables: csOff = { \override ChordName #'stencil = ##f } csOn = { \revert ChordName #'stencil } and then do (something like): \chordmode { \csOn ees8 \csOff q q q q q \csOn bes \csOff q | \csOn c:m \csOff q q q \csOn aes \csOff q q q | \csOn ees \csOff q q q \csOn bes \csOff q q q | % obssessive-compulsive text \csOn ees \csOff q q q q q q q | % alignment is futile } If that's not ugly enough -- and I have no idea whether this could actually work -- if you are fluent in Scheme, perhaps you can write a function 'wrapChord' which accepts a chordmode chord identifier x and wraps it in: \override ChordName #'stencil = ##t x \override ChordName #'stencil = ##f And then (hypothetically) you could say: \chordmode { \wrapChord ees8 q q q q q \wrapChord bes q | \wrapChord c:m q q q \wrapChord aes q q q | \wrapChord ees q q q \wrapChord bes q q q | \wrapChord ees q q q q q q q | } 3) Instead of #2, and again I haven't tested this (much), could tremoli help you? It seems you want a constant eighth-note pattern (ostenato?) to your MIDI chords. Perhaps (untested!) if you write: \repeat tremolo N c8:m where N is the duration in eighth notes, that might work? Your example: ees2. bes4 | c2:m aes2 | ees2 bes2 | ees1| would become: \repeat tremolo 6 ees8 \repeat tremolo 2 bes8 | \repeat tremolo 4 c8:m \repeat tremolo 4 aes8 | \repeat tremolo 4 ees8 \repeat tremolo 4 bes8 | \repeat tremolo 8 ees8| I never use LilyPond's MIDI output, so I don't know if that will be useful to you or not. The layout looked okay when I tested this method, though. Again, I'm sorry that I don't have any definite suggestions, but perhaps these topics will help you think of a workaround that works for you. Jim \version 2.17.26 harmoniesA = \new ChordNames \chordmode { \set chordChanges = ##t \repeat unfold 6 ees8 \repeat unfold 2 bes8 | \repeat unfold 4 c8:m \repeat unfold 4 aes8 | \repeat unfold 4 ees8 \repeat unfold 4 bes8 | \repeat unfold 8 ees8| } % harmoniesA harmoniesB = \new ChordNames \chordmode { \set chordChanges = ##t \repeat tremolo 6 ees8 \repeat tremolo 2 bes8 | \repeat tremolo 4 c8:m \repeat tremolo 4 aes8 | \repeat tremolo 4 ees8 \repeat tremolo 4 bes8 | \repeat tremolo 8 ees8| } % harmoniesB melody = \new Staff \new Voice { R1*4 } \score { \harmoniesA \melody } % score \score { \harmoniesB \melody } % score ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Combining chord durations
[Quoting Jim Long, on October 21 2013, 11:42, in Re: Combining chord ] The reason your layout gets stretched is roughly because LilyPond's chord-suppression logic for repeated chord markups effectively makes the chord markup transparent rather than eliminating it entirely. Thus even the invisible chords still take up space in the layout. Yes, that's what I guessed. I regret that I can offer only some informal, even ugly suggestions: Don't take it personally ;) You've got some interesting suggestions. 3) Instead of #2, and again I haven't tested this (much), could tremoli help you? No, they do not render as individual notes in the midi. E.g. \repeat tremolo 6 ees8 \repeat tremolo 2 bes8 | is rendered in the midi as ees2. bes4 ... if you are fluent in Scheme, perhaps you can write a function 'wrapChord' which accepts a chordmode chord identifier x and wraps it in: Actually, this was something I've been thinking of. I didn't mention that in my .ly templates, I always have two tags, scoreOnly and midiOnly that do just that: filter the music depending on whether paper score or midi is generated. allMusic = { ... } %% Generate the printed score. \score { \removeWithTag #'midiOnly \allMusic \layout { ... } } %% Generate the MIDI. \score { \removeWithTag #'scoreOnly \unfoldRepeats \allMusic \midi { ... } } So I tried to write a function that would expand one or two chords according to a pattern. For example \pata ees - ees8 q q q q q q q \patb ees bes - ees8 q q q bes q q q \patc ees bes - ees8 q q q q q bes q (These patterns would cover 96% of the chords of my project.) However, the expansion is to depend on the tags, so to take the third example, the expansion would become \patc ees bes - \tag #'midiOnly { ees8 q q q q q bes q } \tag #'scoreOnly { ees2. bes4 } After some experimenting I gave up and used an external preprocessor to produce two distinct harmonies, one for the score and one for the midi. It would have been a nice experiment, though... -- Johan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: 7-year-old question
On 10/20/2013 12:25 AM, Jay Anderson wrote: On Sat, Oct 19, 2013 at 7:12 PM, Bric b...@flight.us wrote: In 2005 someone asked this - http://lists.gnu.org/archive/html/lilypond-user/2005-11/msg00273.html Can one generate/access a list of coordinates for each rendered note/chord (per staff)? Check out ly2video (https://github.com/aspiers/ly2video/). Especially the 'dump-spacetime-info' function in ly2video.py. It's purpose is to dump the horizontal position for aligning to audio, but I think a similar function could work to pull out absolute positioning in x and y. OK. Checked it out. So far: so close but so far! I issue: $ ./ly2video.py -i test.ly -o myvid.avi It generates some png's, seeming to do fine with the visual part of it. (I see the resulting one-liner png files). But it fails with the audio, it seems: When it tries to read the midi file that it apparently should have generated, it doesn't find it (cuz it wasn't generated! :-). It's looking for it in the tmp directory where the png's are, and stuff. snip. Traceback (most recent call last): File ./ly2video.py, line 1907, in module status = main() File ./ly2video.py, line 1860, in main getMidiEvents(midiPath) File ./ly2video.py, line 549, in getMidiEvents midiFile = midi.read_midifile(midiFileName) File /data/builds/ly2video/midi/fileio.py, line 156, in read_midifile midifile = open(midifile) IOError: [Errno 2] No such file or directory: '/data/builds/ly2video/ly2video.tmp/sanitised.midi' as far as the spacetime file you mentioned. Sure, it exists, but i don't know what to do with it. The file itself does not store the coordinates data, and i don't know how to run the scheme code inside, or if I should at all. ly2video.tmp/dump-spacetime-info.ly In other words, I see the file, but i don't see the coordinates data. help! ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: laying out plainsong chant
Joram, My wife the expert refers to the longbar as the chanting tone. This particular notation is from The Plainsong Psalter ( http://www.amazon.com/dp/0898691621),* *though I assume it is used in other places as well. You're basically right about what it means, but an example is here ( https://dl.dropboxusercontent.com/u/84432/psalm_example.png). The chant tone usually starts a line and is used for all the syllables until near the end. Ticks and slashes in the text correspond to the ticks and slashes under the music. For example the third line in verse 1 would be sung to the (second) chant tone up until the slash, then at of the note drops and follows the music to the end of the line. Gabe On Mon, Oct 21, 2013 at 10:50 AM, Noeck noeck.marb...@gmx.de wrote: Hi Gabe, cool, nice to hear. I will give it a try myself. What do those notes actually mean? An undefined number of notes (according to the text) with this given pitch? I still think there should be some Lilypond built-in functionality for that, because I do not like the misuse of rests for that. Perhaps, there will be some time in half a year from now when I could look into this further. For now, this seems to solve the question reasonably well concerning the printed output. Just to note my thoughts about the functionality I’m thinking of publicly: - a staff context for that purpose (without stems, timing, slurs unaffected by non-existing stems, nice size of parentizeItems) - a markup command that formats nicely the needed characters: ´ / * - … - a longbar command that follows a note: a4\longbar What would be a good name? \repeated? \multinote? - midi output should be possible, therefore one should be able to specify the number of repetitions - a4*6\longbar if the syntax can cope with that or - a4\longbar 6 if that would be possible (not sure either) - alternatively: another repeat-type, = unfold in midi but like \longbar in print - naming suggestion: \repeat psalm (Better ideas?) - perhaps a better idea than the first one - Does the font have a symbol for it? Should be defined otherwise. Cheers, Joram ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Combining chord durations
On Mon, Oct 21, 2013 at 11:30:57PM +0200, Johan Vromans wrote: [Quoting Jim Long, on October 21 2013, 11:42, in Re: Combining chord ] 3) Instead of #2, and again I haven't tested this (much), could tremoli help you? No, they do not render as individual notes in the midi. E.g. \repeat tremolo 6 ees8 \repeat tremolo 2 bes8 | is rendered in the midi as ees2. bes4 This is over my head, but my feeble understanding of LilyPond is that on the layout side, one writes engravers that transform the music stream into grobs and/or postscript output. On the MIDI side, the equivalent entity is called a performer, and it takes the music stream and produces MIDI output that will playback the music as scored. It seems then, that by writing a better tremolo performer, one could make LilyPond perform the chords with 8th-note tremoli as indicated in the score. I have no idea what the effort required to do that would be, however. ... if you are fluent in Scheme, perhaps you can write a function 'wrapChord' which accepts a chordmode chord identifier x and wraps it in: Actually, this was something I've been thinking of. I didn't mention that in my .ly templates, I always have two tags, scoreOnly and midiOnly that do just that: filter the music depending on whether paper score or midi is generated. If you're okay with scheme, then use the stencil hack, it definitely works. I don't think you'll need to worry about tags, because the same music expression will both engrave correctly and perform correctly. Does the MIDI output come out correct when you do this? It's ugly, but I think it will work, both visually and aurally: \pata ees - \override ChordName #'stencil = ##t ees8 \override ChordName #'stencil = ##f q q q q q q q \patb ees bes - \override ChordName #'stencil = ##t ees8 \override ChordName #'stencil = ##f q q q \override ChordName #'stencil = ##t bes \override ChordName #'stencil = ##f q q q \patc ees bes - \override ChordName #'stencil = ##t ees8 \override ChordName #'stencil = ##f q q q q q \override ChordName #'stencil = ##t bes \override ChordName #'stencil = ##f q If so, write a function like this (I don't speak Scheme, so I can't help): function rptChord( chordEvent, N ) % play chordEvent N times, but stencil only the first one { if (n 0) { \override ChordName #'stencil = ##t chordEvent \override ChordName #'stencil = ##f while (--n 0) chordEvent } % if } % rptChord and use it like so: % \pata ees - ees8 q q q q q q q % \patb ees bes - ees8 q q q bes q q q % \patc ees bes - ees8 q q q q q bes q \rptChord ees8 8 | \rptChord ees8 4 \rptChord bes8 4 | \rptChord ees8 6 \rptChord bes8 2 | If you wish, you could improve rptChord to nicely revert the value of ChordName.stencil so that it's easy to mix \rptChord with normal, manual chordmode chord entry. My code is lousy, I'm just hoping to give you ideas. So I tried to write a function that would expand one or two chords according to a pattern. For example \pata ees - ees8 q q q q q q q \patb ees bes - ees8 q q q bes q q q \patc ees bes - ees8 q q q q q bes q (These patterns would cover 96% of the chords of my project.) \rptChord should handle 100% of the chords, although with some tedium/overtyping: % 12-bar blues, in whole notes: \rptChord c1:7 1 \rptChord f1:7 1 \rptChord c1:7 2 \rptChord f1:7 2 \rptChord c1:7 2 \rptChord g1:7 1 \rptChord f1:7 1 \rptChord c1:7 2 % 12-bar blues, in eighth notes: \rptChord c8:7 8 \rptChord f8:7 8 \rptChord c8:7 16 \rptChord f8:7 16 \rptChord c8:7 16 \rptChord g8:7 8 \rptChord f8:7 8 \rptChord c8:7 16 Not that you'd want to use it that way. My point is, instead of three 'pattern' functions, you'd have just one, and it would create both correct engraving and an accurate performance. Or at least, I think it would. :) Reality may vary. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user