musicxml2ly bug: Fails on empty work-title / node
In case anybody is working on musicxml2ly: I just found that it doesn't handle the case of an XML document where the title node exists, but is empty. I've uploaded a zip archive of two musicxml documents. http://ubuntuone.com/0iNRBh17UxPJWlVJikFYVD ** 13-1220-li-xuanyi.xml -- The original file from my student, exported from Sibelius on Mac. $ musicxml2ly 13-1220-li-xuanyi.xml musicxml2ly: Reading MusicXML from 13-1220-li-xuanyi.xml ... Traceback (most recent call last): File /usr/local/lilypond/usr/bin/musicxml2ly, line 2984, in ? main() File /usr/local/lilypond/usr/bin/musicxml2ly, line 2979, in main voices = convert (filename, options) File /usr/local/lilypond/usr/bin/musicxml2ly, line 2881, in convert score_information = extract_score_information (tree) File /usr/local/lilypond/usr/bin/musicxml2ly, line 201, in extract_score_information set_if_exists ('title', movement_title.get_text ()) AttributeError: 'NoneType' object has no attribute 'get_text' ** 13-1220-li-xuanyi-finale.xml -- Another version, made by importing the original into Finale 2010 and re-exporting to musicxml. This one is fine in musicxml2ly, producing a LilyPond file that compiles successfully (apart from LilyPond complaining about all the collisions that Finale generated...). A notable difference is that the one from Sibelius includes the following, but Finale omits it. work work-title / /work If I remove those lines, then musicxml2ly gets past this error... only to fail later. So this document (the original) might be a good test case for musicxml2ly's error recovery. I'm on 2.16.2. Thanks, hjh ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Appending coda on last line
Thomas Morley thomasmorley65 at googlemail.com writes: some time ago I wrote the snippet below. It's a little bit hackish and would need some redesign/improvement for which I currently do not have the time. But for now it should work. Thomas, this is a long time ago. But I just need something similar now, only with a little change. Now I have a SATB+piano score where I would need two things - all staves should be connected by a vertical line. - the SATB should get a bracket instead a brace. where the first would be nice but not really necessary. I tried to extend your snippet with a new definition for bracketBar as a copy of your braceBar. I replaced all brace with bracket, hoping Lilypond will know this. But Lilypond complains Unbound variable: make-left-bracket-markup Where did you get make-left-brace-markup from? Could you extend your snippet for a usage as described? Best Regards Helge ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Odp: hotrizontal spacing question
Unfortunately uniform-stretching doesn't work here. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: musicxml2ly bug: Fails on empty work-title / node
On 21.12.2013, at 09:14, James Harkins jamshar...@gmail.com wrote:In case anybody is working on musicxml2ly:I just found that it doesn't handle the case of an XML document where the title node exists, but is empty. I've uploaded a zip archive of two musicxml documents.Hi James,we fixed this bug some time ago. See:https://github.com/Philomelos/lilypond-musicxml2ly-dev.http://ubuntuone.com/0iNRBh17UxPJWlVJikFYVD** 13-1220-li-xuanyi.xml -- The original file from my student, exported from Sibelius on Mac.$ musicxml2ly 13-1220-li-xuanyi.xml musicxml2ly: Reading MusicXML from 13-1220-li-xuanyi.xml ...Traceback (most recent call last): File "/usr/local/lilypond/usr/bin/musicxml2ly", line 2984, in ? main() File "/usr/local/lilypond/usr/bin/musicxml2ly", line 2979, in main voices = convert (filename, options) File "/usr/local/lilypond/usr/bin/musicxml2ly", line 2881, in convert score_information = extract_score_information (tree) File "/usr/local/lilypond/usr/bin/musicxml2ly", line 201, in extract_score_information set_if_exists ('title', movement_title.get_text ())AttributeError: 'NoneType' object has no attribute 'get_text'** 13-1220-li-xuanyi-finale.xml -- Another version, made by importing the original into Finale 2010 and re-exporting to musicxml. This one is fine in musicxml2ly, producing a LilyPond file that compiles successfully (apart from LilyPond complaining about all the collisions that Finale generated…).LilyPond cannot complain "about all the collisions that Finale generated" because they are not translated. musicxml2ly complains about errors in the xml-file, e.g.:warning: Cannot have two simultaneous slurswarning: Encountered closing slur, but no slur is openmusicxml2ly-dev shows that your file contains some more faults:x2l: warning: Negative skip -41/4 (from position 163/8 to 81/8)x2l: warning: Negative skip -3/4 (from position 87/8 to 81/8)x2l: warning: Negative skip -3/4 (from position 87/8 to 81/8)x2l: warning: Negative skip -3/4 (from position 87/8 to 81/8)x2l: warning: Negative skip -41/4 (from position 163/8 to 81/8)x2l: warning: Negative skip -41/4 (from position 41/2 to 41/4)x2l: warning: Negative skip -5/8 (from position 87/8 to 41/4)x2l: warning: Negative skip -5/8 (from position 87/8 to 41/4)x2l: warning: Negative skip -5/8 (from position 87/8 to 41/4)x2l: warning: Negative skip -41/4 (from position 41/2 to 41/4)x2l: warning: Negative skip -41/4 (from position 165/8 to 83/8)x2l: warning: Negative skip -1/2 (from position 87/8 to 83/8)x2l: warning: Negative skip -1/2 (from position 87/8 to 83/8)x2l: warning: Negative skip -1/2 (from position 87/8 to 83/8)x2l: warning: Negative skip -41/4 (from position 165/8 to 83/8)x2l: warning: Negative skip -41/4 (from position 83/4 to 21/2)x2l: warning: Negative skip -3/8 (from position 87/8 to 21/2)x2l: warning: Negative skip -3/8 (from position 87/8 to 21/2)x2l: warning: Negative skip -3/8 (from position 87/8 to 21/2)x2l: warning: Negative skip -41/4 (from position 83/4 to 21/2)x2l: warning: Negative skip -41/4 (from position 167/8 to 85/8)x2l: warning: Negative skip -1/4 (from position 87/8 to 85/8)x2l: warning: Negative skip -1/4 (from position 87/8 to 85/8)x2l: warning: Negative skip -1/4 (from position 87/8 to 85/8)x2l: warning: Negative skip -41/4 (from position 167/8 to 85/8)x2l: warning: Negative skip -41/4 (from position 21 to 43/4)x2l: warning: Negative skip -1/8 (from position 87/8 to 43/4)x2l: warning: Negative skip -1/8 (from position 87/8 to 43/4)x2l: warning: Negative skip -1/8 (from position 87/8 to 43/4)x2l: warning: Negative skip -41/4 (from position 21 to 43/4)x2l: warning: Negative skip -41/4 (from position 169/8 to 87/8)x2l: warning: Negative skip -41/4 (from position 169/8 to 87/8)x2l: warning: Negative skip -41/4 (from position 85/4 to 11)x2l: warning: Negative skip -41/4 (from position 85/4 to 11)This usually means that measures are incomplete. Sibelius' xml-export is bad. Importing and exporting the file with Finale doesn't help here.A notable difference is that the one from Sibelius includes the following, but Finale omits it.work work-title //workIf I remove those lines, then musicxml2ly gets past this error... only to fail later. So this document (the original) might be a good test case for musicxml2ly's error recovery.These files are not minimal examples and contain loads of faulty xml markup. I attached a tiny example to show that musicxml2ly-dev (but not musicxml2ly) can handle empty work-title nodes.hthpatrick MovementTitle-NoTitle.xml Description: XML document ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: musicxml2ly bug: Fails on empty work-title / node
Am 21.12.2013 10:56, schrieb pls: These files are not minimal examples and contain loads of faulty xml markup. I attached a tiny example to show that musicxml2ly-dev (but not musicxml2ly) can handle empty work-title nodes. What would be the necessary approach to port your -dev work back to main LilyPond's musicxml2ly? Urs ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: smallCaps and accented letters
2013/12/20 Yann yann@free.fr Hello everybody :) I noticed in a score that I've recently typeset that smallCaps doesn't support accented characters (which is indeed written in the manual). Is there a plan to extend smallCaps to support accented letters in future versions ? For now, is there a workaround ? Hi Yann, Here's the code I use for years. As far as I remember, the original code was made by Nicolas Sceaux but it's pretty old now and I could be wrong. %% Snippet \version 2.17.95 #(use-modules (ice-9 regex)) #(define-public string-upper-case #f) #(define accented-char-upper-case? #f) #(define accented-char-lower-case? #f) #(let ((lower-case-accented-string áàâäǎăāãåąæǣćĉčçďđðéèêëěĕēęəĝğģĥħíìîïǐĭīĩįĵķĺŀľļłńňñóòôöǒŏōõǫőøœŕřśŝšşťţþúùûüǔŭūųǘǜǚŵýŷÿȳźž) (upper-case-accented-string ÁÀÂÄǍĂĀÃÅĄÆǢĆĈČÇĎĐÐÉÈÊËĚĔĒĘƏĜĞĢĤĦÍÌÎÏǏĬĪĨĮĴĶĹĿĽĻŁŃŇÑÓÒÔÖǑŎŌÕǪŐØŒŔŘŚŜŠŞŤŢÞÚÙÛÜǓŬŪŲǗǛǙŴÝŶŸȲŹŽ)) (define (group-by-2 chars result) (if (or (null? chars) (null? (cdr chars))) (reverse! result) (group-by-2 (cddr chars) (cons (string (car chars) (cadr chars)) result (let ((lower-case-accented-chars (group-by-2 (string-list lower-case-accented-string) (list))) (upper-case-accented-chars (group-by-2 (string-list upper-case-accented-string) (list (set! string-upper-case (lambda (str) (define (replace-chars str froms tos) (if (null? froms) str (replace-chars (regexp-substitute/global #f (car froms) str 'pre (car tos) 'post) (cdr froms) (cdr tos (string-upcase (replace-chars str lower-case-accented-chars upper-case-accented-chars (set! accented-char-upper-case? (lambda (char1 char2) (member (string char1 char2) upper-case-accented-chars string=?))) (set! accented-char-lower-case? (lambda (char1 char2) (member (string char1 char2) lower-case-accented-chars string=?) #(define-markup-command (smallCaps layout props text) (markup?) (define (string-list-markup strings lower) (let ((final-string (string-upper-case (apply string-append (reverse strings) (if lower (markup #:fontsize -2 final-string) final-string))) (define (make-small-caps rest-chars currents current-is-lower prev-result) (if (null? rest-chars) (make-concat-markup (reverse! (cons (string-list-markup currents current-is-lower) prev-result))) (let* ((ch1 (car rest-chars)) (ch2 (and (not (null? (cdr rest-chars))) (cadr rest-chars))) (this-char-string (string ch1)) (is-lower (char-lower-case? ch1)) (next-rest-chars (cdr rest-chars))) (cond ((and ch2 (accented-char-lower-case? ch1 ch2)) (set! this-char-string (string ch1 ch2)) (set! is-lower #t) (set! next-rest-chars (cddr rest-chars))) ((and ch2 (accented-char-upper-case? ch1 ch2)) (set! this-char-string (string ch1 ch2)) (set! is-lower #f) (set! next-rest-chars (cddr rest-chars (if (or (and current-is-lower is-lower) (and (not current-is-lower) (not is-lower))) (make-small-caps next-rest-chars (cons this-char-string currents) is-lower prev-result) (make-small-caps next-rest-chars (list this-char-string) is-lower (if (null? currents) prev-result (cons (string-list-markup currents current-is-lower) prev-result))) (interpret-markup layout props (if (string? text) (make-small-caps (string-list text) (list) #f (list)) text))) % % Examples \markup \smallCaps A a Á á À à  â Ä ä Ǎ ǎ Ă ă Ā ā à ã Å å Ą ą Æ æ Ǣ ǣ \markup \smallCaps B b \markup \smallCaps C c Ć ć Ĉ ĉ Č č Ç ç \markup \smallCaps D d Ď ď Đ đ Ð ð \markup \smallCaps E e É é È è Ê ê Ë ë Ě ě Ĕ ĕ Ē ē Ę ę Ə ə \markup \smallCaps F f \markup \smallCaps G g Ĝ ĝ Ğ ğ Ģ ģ \markup \smallCaps H h Ĥ ĥ Ħ ħ \markup \smallCaps I i Í í Ì ì Î î Ï ï Ǐ ǐ Ĭ ĭ Ī ī Ĩ ĩ Į į \markup \smallCaps J j Ĵ ĵ \markup \smallCaps K k Ķ ķ \markup \smallCaps L l Ĺ ĺ Ŀ ŀ Ľ ľ Ł ł \markup \smallCaps M m \markup \smallCaps N n Ń ń Ň ň Ñ ñ \markup \smallCaps O o Ó ó Ò ò Ô ô Ö ö Ǒ ǒ Ŏ ŏ Ō ō Õ õ Ǫ ǫ Ő ő Ø ø Œ œ \markup \smallCaps P p \markup \smallCaps Q q \markup \smallCaps R r Ŕ ŕ Ř ř \markup \smallCaps S s Ś ś Ŝ ŝ Š š Ş ş ß \markup \smallCaps T t Ť ť Ţ ţ Þ þ \markup \smallCaps U u Ú ú Ù ù Û û Ü ü Ǔ ǔ Ŭ ŭ Ū ū Ų ų Ǘ ǘ Ǜ ǜ Ǚ ǚ \markup \smallCaps V v \markup \smallCaps W w Ŵ ŵ \markup \smallCaps X x \markup \smallCaps Y y Ý ý Ŷ ŷ Ÿ ÿ Ȳ ȳ \markup \smallCaps Z z Ź ź Ž ž %%% Cheers, Pierre ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Appending coda on last line
Helge Kruse helge.kr...@gmx.net writes: Thomas Morley thomasmorley65 at googlemail.com writes: some time ago I wrote the snippet below. It's a little bit hackish and would need some redesign/improvement for which I currently do not have the time. But for now it should work. Thomas, this is a long time ago. But I just need something similar now, only with a little change. Now I have a SATB+piano score where I would need two things - all staves should be connected by a vertical line. - the SATB should get a bracket instead a brace. where the first would be nice but not really necessary. I tried to extend your snippet with a new definition for bracketBar as a copy of your braceBar. I replaced all brace with bracket, hoping Lilypond will know this. But Lilypond complains Unbound variable: make-left-bracket-markup Where did you get make-left-brace-markup from? That would be one of the functions generated from #(define-markup-command (left-brace layout props ... -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Guitar-Schubert
Schubert for guitar ansemble! http://mariomoles.altervista.org/schubert/ oiram/bin/selom Da ognuno secondo le proprie capacità ad ognuno secondo i propri bisogni. MIB-kernellinux-tester http://mariomoles.altervista.org/[1] Linux[2] MIB[3] Lilypond[4] Frescobaldi[5] Rosegarden[6] [1] http://mariomoles.altervista.org/inno-comoenius/ [2] https://www.kernel.org/ [3] http://mib.pianetalinux.org/blog/ [4] http://lilypond.org/ [5] http://www.frescobaldi.org/ [6] http://www.rosegardenmusic.com ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Guitar-Schubert
2013/12/21 Mario Moles mario.mole...@gmail.com Schubert for guitar ansemble! http://mariomoles.altervista.org/schubert/ Thanks for sharing! I'll propose it to my guitar ensemble. Why don't you add it to Mutopia? I see that the license you chose is compliant with mutopia policy. http://www.mutopiaproject.org/contribute.html PS The PDFs uploaded to your website have point and click ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Guitar-Schubert
Wow, nice, thank you very much indeed. grtz, Bart http://www.bartart3d.be/ On facebook https://www.facebook.com/pages/BartArt3D/169488999795102 On Twitter https://twitter.com/#%21/Bart_Issimo On Identi.ca http://identi.ca/bartart3d On Google+ https://plus.google.com/u/0/b/116379400376517483499/ 2013/12/21 Mario Moles mario.mole...@gmail.com Schubert for guitar ansemble! http://mariomoles.altervista.org/schubert/ -- oiram/bin/selom Da ognuno secondo le proprie capacità ad ognuno secondo i propri bisogni. MIB-kernellinux-tester http://mariomoles.altervista.org/http://mariomoles.altervista.org/inno-comoenius/ Linux https://www.kernel.org/ MIB http://mib.pianetalinux.org/blog/ Lilypond http://lilypond.org/ Frescobaldi http://www.frescobaldi.org/ Rosegardenhttp://www.rosegardenmusic.com ___ 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: emacs point-and-click on OSX
Kevin Patrick Barry barr...@tcd.ie writes: Once Mac Ports is installed, the following: sudo port install xpdf does install xpdf and all necessary stuff. Thanks for this. I am getting closer, but still no cigar. Xpdf is working, and it is, I think, calling the lilypond-invoke-editor script correctly when I click on a note in a pdf generated by lilypond, but I get the following error: /home/gub/gub/target/tools/root/usr/bin/guile: bad interpreter: No such file or directory I assume it needs this guile to run and can't find it, so I changed the file to point to one I found in the LilyPond.app (/Applications/LilyPond.app/Contents/Resources/bin/guile), and now I get another error when I try to click on a link: ERROR: In procedure dynamic-link: ERROR: file: libguile-srfi-srfi-1-v-3, message: file not found Since there is no libguile-srfi-srfi-1-v-3 I'm not sure what to do next. The only guile I found on the computer was the one installed in LilyPond. Finder doesn't really seem to be able to see what's going on in macports - maybe I should have pointed the lilypond-invoke-editor script in that direction? There are folders called guile and guile16, but no file called guile in either of them. Damnit Jim I'm a musician not a magician! lilypond-invoke-editor seemingly is a GUILE script, so it needs a working GUILE interpreter. It would appear that the installation of GUILE you pointed it to is not really working. Again, I'm somewhat at a loss to figure out how to fix this on MacOSX. It would appear that the installation is not done correctly: that would point to a GUB problem (our installer). -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Fwd: emacs point-and-click on OSX
On 21 December 2013 23:57, David Kastrup d...@gnu.org wrote: Kevin Patrick Barry barr...@tcd.ie writes: Once Mac Ports is installed, the following: sudo port install xpdf does install xpdf and all necessary stuff. Thanks for this. I am getting closer, but still no cigar. Xpdf is working, and it is, I think, calling the lilypond-invoke-editor script correctly when I click on a note in a pdf generated by lilypond, but I get the following error: /home/gub/gub/target/tools/root/usr/bin/guile: bad interpreter: No such file or directory I assume it needs this guile to run and can't find it, so I changed the file to point to one I found in the LilyPond.app (/Applications/LilyPond.app/Contents/Resources/bin/guile), and now I get another error when I try to click on a link: ERROR: In procedure dynamic-link: ERROR: file: libguile-srfi-srfi-1-v-3, message: file not found Since there is no libguile-srfi-srfi-1-v-3 I'm not sure what to do next. The only guile I found on the computer was the one installed in LilyPond. Finder doesn't really seem to be able to see what's going on in macports - maybe I should have pointed the lilypond-invoke-editor script in that direction? There are folders called guile and guile16, but no file called guile in either of them. Damnit Jim I'm a musician not a magician! lilypond-invoke-editor seemingly is a GUILE script, so it needs a working GUILE interpreter. It would appear that the installation of GUILE you pointed it to is not really working. Again, I'm somewhat at a loss to figure out how to fix this on MacOSX. It would appear that the installation is not done correctly: that would point to a GUB problem (our installer). (Oops, replied only to David...) Guile hasn’t been installed on my Mac (except as part of Lilypond). That is, the command guile didn’t work. I tried sudo port install guile, and it put a binary of version 1.8.8 in /opt/local/bin. Perhaps try that out. Vaughan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: SostenutoPedalLineSpanner and texts
On 20 Dec 2013, at 22:55, David Nalesnik david.nales...@gmail.com wrote: Oops, mistakenly sent this only to the OP... once again, thanks, David! this is perfect. :) regards, sb inline: image.png ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Appending coda on last line
2013/12/21 Helge Kruse helge.kr...@gmx.net: Thomas Morley thomasmorley65 at googlemail.com writes: some time ago I wrote the snippet below. It's a little bit hackish and would need some redesign/improvement for which I currently do not have the time. But for now it should work. Thomas, this is a long time ago. But I just need something similar now, only with a little change. Now I have a SATB+piano score where I would need two things - all staves should be connected by a vertical line. - the SATB should get a bracket instead a brace. where the first would be nice but not really necessary. I tried to extend your snippet with a new definition for bracketBar as a copy of your braceBar. I replaced all brace with bracket, hoping Lilypond will know this. But Lilypond complains Unbound variable: make-left-bracket-markup Where did you get make-left-brace-markup from? Could you extend your snippet for a usage as described? Best Regards Helge Hi Helge, which version do you use? Could you provide a minimal exmple of your score-setup? I.e.: \score { ??? } I'll try to have a look then. Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
How to create proper horizontal offsets?
Hi all, Yesterday, I asked how a custom slur should be coded so that it gets transposed properly. This was answered immediately, thanks to David Nalesnik. There's another related problem I run into when transposing scores, namely horizontal offsets. In songs this is encountered frequently because the stanzas may induce deviations from the rhythm. In the example below one offset is changed when transposing. The log file shows a warning: warning: ignoring too many clashing note columns as'1 \new CueVoice = SndStanza1 { \shiftNoteRight \stemDown as2. f8[ f] } | When you leave out the \transpose commmand, this error will not appear. How could the code be changed that horizontal offsets will always be there? Thanks, Marten Visser - %{ How to transpose horizontal offsets? %} \version 2.16.2 shiftNoteRight = { \once \override NoteColumn #'force-hshift = #1.5 } myMusic = { as'1 \new CueVoice = SndStanza1 { \shiftNoteRight \stemDown as2. f8[ f] } | c1 \new CueVoice = SndStanza2 { \shiftNoteRight \stemDown c2. f8 [ f] } } \score { \transpose c e \new Staff { \key c \minor \new Voice {\relative c' \myMusic } } \layout {} } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to transpose a custom slur
Hi David, David Nalesnik david.nalesnik at gmail.com writes: Hi again, On Fri, Dec 20, 2013 at 6:08 PM, David Nalesnik david.nalesnik at gmail.com wrote: Sorry, goofed the syntax... should be \shape Slur #'((0 . 0.25) (1.5 . 1) (0 . 1) (0 . 0.5)) Thanks for your quick answer. Your second syntax works, thanks! I used the 2.16.2 notation reference, that does not mention \shape. And indeed, the entire staff should have been transposed ::blush:: Cheers, Marten ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: musicxml2ly bug: Fails on empty work-title / node
On 21.12.2013, at 10:58, Urs Liska u...@openlilylib.org wrote: What would be the necessary approach to port your -dev work back to main LilyPond's musicxml2ly? Nothing special. It's a git repository. I simply haven't had the time (and probably won't in the near future) to prepare small documented patches and go through the LilyPond review process. I still have quite a few additional bug reports and a lot of experience with MusicXML waiting to be shared with you... patrick ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to create proper horizontal offsets?
Marten Visser wrote Hi all, Yesterday, I asked how a custom slur should be coded so that it gets transposed properly. This was answered immediately, thanks to David Nalesnik. There's another related problem I run into when transposing scores, namely horizontal offsets. In songs this is encountered frequently because the stanzas may induce deviations from the rhythm. In the example below one offset is changed when transposing. The log file shows a warning: warning: ignoring too many clashing note columns as'1 \new CueVoice = SndStanza1 { \shiftNoteRight \stemDown as2. f8[ f] } | When you leave out the \transpose commmand, this error will not appear. How could the code be changed that horizontal offsets will always be there? when you transpose from as to c in the middle staff position the stem direction changes - this is producing the warning about clashes. if you put the as in a voice with clear settings (\voiceOne,...) opposite to that in the cued voice there will be no more collision and you might even omit the manual shifting. Eluze -- View this message in context: http://lilypond.1069038.n5.nabble.com/How-to-create-proper-horizontal-offsets-tp156252p156255.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: Odp: hotrizontal spacing question
karol wrote Unfortunately uniform-stretching doesn't work here. and it's also recommended there to use proportionalNotationDuration = #(ly:make-moment 1/200) % choose your number! to improve the results! Eluze -- View this message in context: http://lilypond.1069038.n5.nabble.com/hotrizontal-spacing-question-tp156216p156256.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: Appending coda on last line
2013/12/21 Thomas Morley thomasmorle...@gmail.com which version do you use? Could you provide a minimal exmple of your score-setup? I.e.: I have a complete example. I tried to make it as small as possible. But therere are 120 lines. Probably this makes it easier to show my idea. At least it's complete and compileable. It uses an included file based on your mail from last year. There is one additional question. In the lyrics I would like to have stanzas. But not in the coda part. I tried to find a solution to have in the first measure of my example two lines of text, as this is suggested but commented out. Any idea or hint? Best Regards Helge \version 2.16.0 \language deutsch \include codahelper.ily global = { \key es \major \time 12/8 } tenorVoice = \relative c'' { \global \repeat volta 2 { b8 a b c b c d4.r | \mark\markup {\small D.S. \musicglyph #scripts.segno al \musicglyph #scripts.coda} } \space #10 \key es \major \mark \markup { \musicglyph #scripts.coda } b4. b c d | es1. \bar |. } verseTenorVoice = \lyricmode { % stanza 1 % ha -- ben wir ei -- nes er -- kannt: | % stanza 2 wir a -- ber hal -- ten zu -- samm': | % coda größ -- te Schatz den's | gibt. } baritonVoice = \relative c' { \global \repeat volta 2 { d8 d d es es es d4. r | } \space #10 \key es \major { g4. g as as | g1. } \new Voice { \voiceTwo es4. es es f | b,1. } } verseBaritonVoice = \lyricmode { % stanza 1 % ha -- ben wir ei -- nes er -- kannt | % stanza 2 wir a -- ber hal -- ten zu -- samm': | % coda größ -- te Schatz den's | gibt. } bassVoice = \relative c { \global \repeat volta 2 { b'8 b b a8 a a b4. b, | } \space #10 \key es \major b'4. g f b, | es1. \bar |. } verseBassVoice = \lyricmode { \skip 1 \skip 1 \skip 1 \skip 1 \skip 1 \skip 1 \skip 1 Ein | größ -- te Schatz den's | gibt. } right = \relative c' { \global d f b4. es f a c d f b b b' | \space #10 \key es \major \braceBar #46 es g b4. q es as c f as d | es g b es1. \bar |. } left = \relative c { \global b4. f b b | \space #10 \key es \major b'4. g f b, | es1. \bar |. } tenorVoicePart = \new Staff { \tenorVoice } \addlyrics { \verseTenorVoice } baritonVoicePart = \new Staff { \baritonVoice } \addlyrics { \verseBaritonVoice } bassVoicePart = \new Staff { \clef bass \bassVoice } \addlyrics { \verseBassVoice } pianoPart = \new PianoStaff \new Staff = right \right \new Staff = left { \clef bass \left } \score { \tenorVoicePart \baritonVoicePart \bassVoicePart \pianoPart \layout { } } codahelper.ily Description: Binary data ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Odp: hotrizontal spacing question
If you mean this: { \override SpacingSpanner #'uniform-stretching = ##t \set Score.proportionalNotationDuration = #(ly:make-moment 1/200) \clef bass \times 4/6 { c16 e16 a,16 b,16 g,16 e16 } \times 4/6 { c16 e16 g,16 b,16 g,16 e16 } \times 4/6 { c16 e16 g,16 b,16 g,16 e16 } \times 4/6 { c16 e16 g,16 b,16 g,16 e16 } \times 4/6 { c16 e16 g,16 b,16 g,16 e16 } \times 4/6 { c16 e16 g,16 b,16 g,16 e16 } \times 4/6 { c16 e16 g,16 b,16 g,16 e16 } } ...then it does not work. Spacing between stems is still uneven (look at the second and third note inside beamed group). Seems that \override NoteHead.extra-spacing-height = #'(-inf.0 . +inf.0) is the right solution. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
WAS: SostenutoPedalLineSpanner and texts
Hi, This question came in reference to a workaround given for repeating texts on a broken pedal line: On Fri, Dec 20, 2013 at 1:42 AM, Simon Bailey si...@bailey.at wrote: Could this be adapted to solve this problem: http://lists.gnu.org/archive/html/lilypond-user/2013-12/msg00839.html ? I'd be willing to offer a bounty if it can be done. The aim is to repeat 1. a2 and the like when a solo or unison passage is split across a page break. (This brings back bad memories of typesetting my composition dissertation with Finale...) The workaround (given below) can't be applied to partcombine texts, since CombineTextScript objects aren't spanners. If they were, it would be pretty straightforward to repeat their stencil with a different appearance if broken across lines. (This is done, for example, with MeasureCounter spanners.) As far as only repeating them if there's a page break (and not simply for every system break), I'm not sure. My question would be: is there any reason why the part combiner shouldn't create spanners? --David The workaround: %% \version 2.17.95 #(define broken-stil (lambda (grob) (let* ((orig (ly:grob-original grob)) (siblings (ly:spanner-broken-into orig)) (broken? (pair? siblings)) (default-stil (ly:piano-pedal-bracket::print grob)) (first? (or (not broken?) (eq? grob (first siblings) (if (and broken? (not first?)) (let* ((text #{ \markup \italic (Sost.) #}) (default-stil-ext-X (ly:stencil-extent default-stil X)) (line-length (interval-length default-stil-ext-X)) (text-stil (grob-interpret-markup grob text)) (text-ext-X (ly:stencil-extent text-stil X)) (text-length (interval-length text-ext-X)) (text-padding 1.0) (scaled-line (ly:stencil-scale default-stil (/ (- line-length (+ text-length text-padding)) line-length) 1))) (ly:stencil-add (ly:stencil-translate-axis text-stil (/ text-length 2) X) (ly:stencil-translate-axis scaled-line (+ text-length text-padding) X))) ; If we have the first piece (or unbroken) return default default-stil { \override Staff.PianoPedalBracket.stencil = #broken-stil c4\sostenutoOn d e f \repeat unfold 20 { c4 d e f } c4 d e f\sostenutoOff } %% ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to create proper horizontal offsets?
Eluze eluzew at gmail.com writes: when you transpose from as to c in the middle staff position the stem direction changes - this is producing the warning about clashes. if you put the as in a voice with clear settings (\voiceOne,...) opposite to that in the cued voice there will be no more collision and you might even omit the manual shifting. Eluze -- View this message in context: http://lilypond.1069038.n5.nabble.com/How- to-create-proper-horizontal-offsets-tp156252p156255.html Sent from the User mailing list archive at Nabble.com. Hi Eluze, thanks for you answer. I understand your remark about the collision. I understand that you would code it as a specific voice in order to avoid collisions providing for setting a non-collisional stem direction, but in reality it is not a specific voice I think; it only is a few notes that are different for one or more of the stanzas. (Please correct me if my thinking is wrong.) I tried your suggestion, replacing \cueVoice by \voiceOne, \voiceTwo, \voiceThree or \voiceFour, but neither of these work: 1. the stem from the cuenotes now disappears 2. the \override NoteColumn #'force-hshift won't work any longer 3. the notes appear in full size, which they should not Besides, I don't understand why the horizontal shift may get lost at all when transposing. The problem I'm facing it not about collisions, it's about the loss of horizontal offset when transposing. (Or is that a consequence of a collision) Thanks, Marten --- % previous remarks pertain to the following change in the example myMusic = { as'1 \voiceTwo {as2. f8[ f] } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Two voices, two clefs, one staff
I'm typesetting the song La Flûte enchantée by Ravel. There's a bit in the piano part with notes from both bass and treble clefs displayed simultaneously (see jpgs). I thought I'd seen everything, but this has me stumped. Can anybody help? Here's what I've got so far: \version 2.16.2 global = { \key b \minor \numericTimeSignature \time 2/4 } left = \relative c { \global { \voiceOne r8 gis'4( gis'8) | %16 \clef treble bis, dis a' bis4( cis e ais cis~ \times 2/3 { q4 d eis b' d dis fis bis dis) } | %17 bis dis a' bis4( cis e ais cis~ \times 2/3 { q4 d eis b' d dis fis bis dis) } | %18 } \new Voice { \voiceTwo \clef bass gis,, dis'2- | %16 \clef bass \acciaccatura gis, gis'8~ gis gis'1~ | %17 q | %18 } } \score { \new PianoStaff \with { } \new Staff = left { \clef bass \left } } http://lilypond.1069038.n5.nabble.com/file/n156263/Ravel_clip_one.jpg http://lilypond.1069038.n5.nabble.com/file/n156263/Ravel_clip_two.jpg -- View this message in context: http://lilypond.1069038.n5.nabble.com/Two-voices-two-clefs-one-staff-tp156263.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:emacs point-and-click on OSX
(Oops, replied only to David...) Guile hasn?t been installed on my Mac (except as part of Lilypond). That is, the command guile didn?t work. I tried sudo port install guile, and it put a binary of version 1.8.8 in /opt/local/bin. Perhaps try that out. Thanks for the suggestion. I installed the macports version of guile and pointed lilypond-invoke-editor to it, but I still get the same error message. I found that someone else had a similar error message on OSX while doing something else (http://stackoverflow.com/questions/3805991/lilypond-mac-os-x-build-issue) and I tried one of the proposed solutions (the library is present in my /opt/local/lib) but it didn't have any effect. At this point I think I will just have to let it go. Thanks, Kevin ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: emacs point-and-click on OSX
2013/12/20 Kevin Patrick Barry barr...@tcd.ie I assume it needs this guile to run and can't find it, so I changed the file to point to one I found in the LilyPond.app (/Applications/LilyPond.app/Contents/Resources/bin/guile), and now I get another error when I try to click on a link: ERROR: In procedure dynamic-link: ERROR: file: libguile-srfi-srfi-1-v-3, message: file not found Since there is no libguile-srfi-srfi-1-v-3 I'm not sure what to do next. In the linux package there are these files: $ locate libguile-srfi /home/fede/lilypond/usr/lib/libguile-srfi-srfi-1-v-3.la /home/fede/lilypond/usr/lib/libguile-srfi-srfi-1-v-3.so /home/fede/lilypond/usr/lib/libguile-srfi-srfi-1-v-3.so.3 /home/fede/lilypond/usr/lib/libguile-srfi-srfi-1-v-3.so.3.0.2 /home/fede/lilypond/usr/lib/libguile-srfi-srfi-13-14-v-3.la /home/fede/lilypond/usr/lib/libguile-srfi-srfi-13-14-v-3.so /home/fede/lilypond/usr/lib/libguile-srfi-srfi-13-14-v-3.so.3 /home/fede/lilypond/usr/lib/libguile-srfi-srfi-13-14-v-3.so.3.0.1 /home/fede/lilypond/usr/lib/libguile-srfi-srfi-4-v-3.la /home/fede/lilypond/usr/lib/libguile-srfi-srfi-4-v-3.so /home/fede/lilypond/usr/lib/libguile-srfi-srfi-4-v-3.so.3 /home/fede/lilypond/usr/lib/libguile-srfi-srfi-4-v-3.so.3.0.1 /home/fede/lilypond/usr/lib/libguile-srfi-srfi-60-v-2.la /home/fede/lilypond/usr/lib/libguile-srfi-srfi-60-v-2.so /home/fede/lilypond/usr/lib/libguile-srfi-srfi-60-v-2.so.2 /home/fede/lilypond/usr/lib/libguile-srfi-srfi-60-v-2.so.2.0.2 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: WAS: SostenutoPedalLineSpanner and texts
Hi David, (This brings back bad memories of typesetting my composition dissertation with Finale…) Don’t remind me! My question would be: is there any reason why the part combiner shouldn't create spanners? +1 Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Two voices, two clefs, one staff
On Sat, Dec 21, 2013 at 9:50 AM, Michael Rivers michaeljriv...@gmail.com wrote: I'm typesetting the song La Flûte enchantée by Ravel. There's a bit in the piano part with notes from both bass and treble clefs displayed simultaneously (see jpgs). I thought I'd seen everything, but this has me stumped. Can anybody help? [...] Hoo boy. This is an exceptionally tricky problem. See also http://lsr.dsi.unimi.it/LSR/Item?id=326. This is my attempt. I am using version 2.17.95, but I think it should also work for yours. It does alter pitches and rhythms, so if you want good MIDI, you'll need to use tags as in the above snippet. (By the way, you should use \slashedGrace and not \appoggiatura here; the latter creates an unwanted slur.) \version 2.17.95 global = { \key b \minor \numericTimeSignature \time 2/4 } left = \relative c { \global { \voiceOne r8 gis'4( gis'8) | %16 \set Staff.clefPosition = #2 \set Staff.middleCPosition = #-6 \grace s8 \clef treble s16 bis, dis a' bis4*3/4( cis e ais cis4~ \times 2/3 { q4 d eis b' d dis fis bis dis) } | %17 bis dis a' bis4( cis e ais cis~ \times 2/3 { q4 d eis b' d dis fis bis dis) } | %18 } \new Voice { \voiceTwo \clef bass gis,, dis'2- | %16 \slashedGrace eis'' eis,8~ eis eis,1~ | %17 \once \override NoteColumn #'force-hshift = #1.5 q | %18 } } \score { \new PianoStaff \with { } \new Staff = left { \clef bass \left } } Regards, Nathan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Two voices, two clefs, one staff
On Sat, Dec 21, 2013 at 11:27 AM, Nathan when.possi...@gmail.com wrote: \grace s8 \clef treble s16 [...] Oops, the treble clef should come after the spacer rest. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LyricHyphen hara-kiri
Hi Kieren, On Sat, Dec 21, 2013 at 1:19 PM, Kieren MacMillan kieren_macmil...@sympatico.ca wrote: Hello all, I’ve been asking around to see if anyone can work on Lyric bounties (e.g., GSoC stuff, plus other features). This one — LyricHyphen hara-kiri — was one that Mike S. suggested could be done in Scheme, so he started it (see attached). Can anyone else take it to the goal line? I'm curious--how is Mike's solution not adequate as a workaround? --David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LyricHyphen hara-kiri
Hi David,I'm curious--how is Mike's solution not adequate as a workaround?You know what’s weird? I looked at it and found gaps in some of the “foobar”s — exactly what this fix/workaround is supposed to eliminate — so I took a screenshot and sent it to Mike:Clearly, there’s a gap in several measures, right?However, now that I look at the output again, there are no gaps to be found — i.e., it apparently works as advertised/expected/desired. [??]I will do more testing, and report back.Sorry for the noise.Kieren.___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LyricHyphen hara-kiri
Hi all,Just compiled Mike's most recent foo.ly file again, and there [again] appear to be gaps in the output:What do others see when they compile it?Thanks,Kieren.___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LyricHyphen hara-kiri
Hi all, This slightly altered snippet shows another problem with the fix/workaround: it doesn’t make “compressed” words into a [false] melisma automatically, as it clearly should — see, for example, when “foobar” appears on a single note. \version 2.19 #(define (hack threshold) (lambda (grob) (let* ((sten (ly:lyric-hyphen::print grob)) (sten-ex (if (ly:stencil? sten) (ly:stencil-extent sten X) '(-inf.0 . +inf.0 (if ( (interval-length sten-ex) threshold) sten (let* ((left (ly:spanner-bound grob LEFT)) (right (ly:spanner-bound grob RIGHT)) (left-text (ly:grob-property left 'text)) (right-text (ly:grob-property right 'text)) (full-text (string-concatenate `(,left-text ,right-text))) (full-text-sten (grob-interpret-markup left full-text)) (full-text-sten-ext (ly:stencil-extent full-text-sten X)) (ref (ly:grob-common-refpoint left right X)) (left-ext (ly:grob-extent left ref X)) (right-ext (ly:grob-extent right ref X)) (shift (/ (- (interval-length `(,(car left-ext) . ,(cdr right-ext))) (interval-length full-text-sten-ext)) 2))) (begin (ly:grob-set-property! left 'X-offset (+ (ly:grob-property left 'X-offset) shift)) (ly:grob-set-property! left 'text full-text) (ly:grob-set-property! right 'text ) (ly:grob-set-property! left 'stencil lyric-text::print) (ly:grob-set-property! right 'stencil lyric-text::print) (ly:grob-property left 'stencil) (ly:grob-property right 'stencil) empty-stencil)) \new Voice = foo \relative c' { \time 1/4 \repeat unfold 4 { a8 b a[ b] } \break \repeat unfold 23 { a8 b a[ b] } } \new Lyrics \lyricsto foo \lyricmode { \override Lyrics.LyricHyphen.stencil = #(hack 0.5) \override Lyrics.LyricHyphen.minimum-distance = #0 \repeat unfold 23 { foo -- bar foobar } } Cheers, Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LyricHyphen hara-kiri
Kieren, On Sat, Dec 21, 2013 at 2:18 PM, Kieren MacMillan kieren_macmil...@sympatico.ca wrote: Clearly, there’s a gap in several measures, right? Yup. However, now that I look at the output again, there are no gaps to be found — i.e., it apparently works as advertised/expected/desired. [??] I will do more testing, and report back. Actually, gaps--on the first line only--are what I see when I run the snippet under 2.17.95. But, as you say, those gaps aren't in the original image you sent... To add to the fun, those gaps disappear when you remove Time_signature_engraver. (maybe that helps, maybe it doesn't!) --David Screen Shot 2013-12-19 at 8.43.43 AM.png___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
[Feature Request] \compressFullBarRests improvement(s)
Hello all, Consider this snippet: \version 2.17.97 theMusic = { \compressFullBarRests R1*2 R1*2 } \score { \theMusic } Here’s my request: I would love it if \compressFullBarRests actually did what it says it does… ;) See http://lists.gnu.org/archive/html/lilypond-user/2013-10/msg00517.html for more discussion on this request. Despite David K’s suggestions that it might be difficult to work out what the user wants/means or what the output “should be”, I believe we can come up with a pretty simple single rule which covers 90% of the cases perfectly. As a first attempt, I would suggest the following: \compressFullBarRests will combine any contiguous block of multi-measure rests (within the same context*) which is uninterrupted by any notation item”** other than a barline***. Notes: * This may be up for discussion — though, again, it will more than suffice for 90% of use cases. ** This wording sucks; needs “official” wording. *** There may be other items I’m not thinking of which are “outputtable grobs which nevertheless should *not* split a compressed block of MMRs. Having just engraved nearly 25 minutes of music resulting in 57 different individual parts, I can tell you that this issue inspired quite a bit of reduced efficiency, increased hackery, and even some loud swearing. =) Thoughts? Thanks, Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LyricHyphen hara-kiri
Kieren, On Sat, Dec 21, 2013 at 2:30 PM, David Nalesnik david.nales...@gmail.comwrote: Kieren, On Sat, Dec 21, 2013 at 2:18 PM, Kieren MacMillan kieren_macmil...@sympatico.ca wrote: Clearly, there’s a gap in several measures, right? Yup. However, now that I look at the output again, there are no gaps to be found — i.e., it apparently works as advertised/expected/desired. [??] I will do more testing, and report back. Actually, gaps--on the first line only--are what I see when I run the snippet under 2.17.95. But, as you say, those gaps aren't in the original image you sent... OK, a little experimentation showed that the right syllable, -bar, is not shifted on the first line because, for some reason, there is no stencil for the non-printed hyphen, yet there is one for the non-printed hyphens on subsequent lines. This means that the variable sten-ex gets assigned the empty interval, and no shift occurs. I don't know the best way to solve this, but this should at least work: [File attached b/c I can't figure out how to cutpaste from Frescobaldi without losing all formatting] HTH, David Screen Shot 2013-12-19 at 8.43.43 AM.png\version 2.17.95 #(define (hack threshold) (lambda (grob) (let* ((sten (ly:lyric-hyphen::print grob)) (sten-ex (if (ly:stencil? sten) (ly:stencil-extent sten X) (cons (/ threshold -2.0) (/ threshold 2.0) (if ( (interval-length sten-ex) threshold) sten (let* ((left (ly:spanner-bound grob LEFT)) (right (ly:spanner-bound grob RIGHT)) (left-text (ly:grob-property left 'text)) (right-text (ly:grob-property right 'text)) (full-text (string-concatenate (list left-text right-text))) (full-text-sten (grob-interpret-markup left full-text)) (full-text-sten-ext (ly:stencil-extent full-text-sten X)) (ref (ly:grob-common-refpoint left right X)) (left-ext (ly:grob-extent left ref X)) (right-ext (ly:grob-extent right ref X)) (shift (/ (- (interval-length (cons (car left-ext) (cdr right-ext))) (interval-length full-text-sten-ext)) 2))) (begin (ly:grob-set-property! left 'X-offset (+ (ly:grob-property left 'X-offset) shift)) (ly:grob-set-property! left 'text full-text) (ly:grob-set-property! right 'text ) (ly:grob-set-property! left 'stencil lyric-text::print) (ly:grob-set-property! right 'stencil lyric-text::print) (ly:grob-property left 'stencil) (ly:grob-property right 'stencil) empty-stencil)) \new Voice = foo \relative c' { \time 1/4 \repeat unfold 23 { a8 b a[ b] } } \new Lyrics \lyricsto foo \lyricmode { \override Lyrics.LyricHyphen.stencil = #(hack 0.5) \override Lyrics.LyricHyphen.minimum-distance = #0 \repeat unfold 23 { foo -- bar foobar __ _ } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LyricHyphen hara-kiri
Kieren, On Sat, Dec 21, 2013 at 3:26 PM, Kieren MacMillan kieren_macmil...@sympatico.ca wrote: I think [to begin with] there are two separate issues to consider here: 1. In m.28, it’s clear that “foo bar” has not become one Pango string, which it apparently has on the downbeat of m.29 (and really “should”, I imagine, in any “ultimate fix”). Now that's really strange! I've attached my result below. Same example as the last one you gave, but I don't see those gaps. If you're not accidentally using the older version of the function, I have no idea what could be going on. 2. If “foo-bar happens over a barline, it probably shouldn’t be compressed; at the very least, that should be a settable property (analogous: #’to-barline). This probably wouldn't be too hard. (That sounds like famous last words...) -David attachment: foo.png___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LyricHyphen hara-kiri
Hi David, If you're not accidentally using the older version of the function, I have no idea what could be going on. Apparently I was — sorry. =\ Every compressed string looks great now. Thanks! 2. If “foo-bar happens over a barline, it probably shouldn’t be compressed; at the very least, that should be a settable property (analogous: #’to-barline). This probably wouldn't be too hard. (That sounds like famous last words…) =) Fingers crossed! Thanks, Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: smallCaps and accented letters
I noticed in a score that I've recently typeset that smallCaps doesn't support accented characters (which is indeed written in the manual). ... For now, is there a workaround? I don't remember how I found this (possibly through searching through the mailing list archives, because that's how I found it again), but Michael Lauer has a website that provides, among other things, some include files that aid in some advanced formatting—including true small caps, if they are supported by the font you use. I typically use Linux Libertine, which looks nice enough and has all the characters I'm likely to ever need to use. Links: Michael Lauer's music site http://www.mrlauer.org/music/ Linux Libertine fonts: http://www.linuxlibertine.org/ Best, Josiah ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [Feature Request] \compressFullBarRests improvement(s)
I don't see what's wrong with the output, that's exactly what I would expect it to be. On Sat, Dec 21, 2013 at 4:09 PM, Kieren MacMillan kieren_macmil...@sympatico.ca wrote: Hello all, Consider this snippet: \version 2.17.97 theMusic = { \compressFullBarRests R1*2 R1*2 } \score { \theMusic } Here’s my request: I would love it if \compressFullBarRests actually did what it says it does… ;) See http://lists.gnu.org/archive/html/lilypond-user/2013-10/msg00517.html for more discussion on this request. Despite David K’s suggestions that it might be difficult to work out what the user wants/means or what the output “should be”, I believe we can come up with a pretty simple single rule which covers 90% of the cases perfectly. As a first attempt, I would suggest the following: \compressFullBarRests will combine any contiguous block of multi-measure rests (within the same context*) which is uninterrupted by any notation item”** other than a barline***. Notes: * This may be up for discussion — though, again, it will more than suffice for 90% of use cases. ** This wording sucks; needs “official” wording. *** There may be other items I’m not thinking of which are “outputtable grobs which nevertheless should *not* split a compressed block of MMRs. Having just engraved nearly 25 minutes of music resulting in 57 different individual parts, I can tell you that this issue inspired quite a bit of reduced efficiency, increased hackery, and even some loud swearing. =) Thoughts? Thanks, Kieren. ___ 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: [Feature Request] \compressFullBarRests improvement(s)
Hi Alex, I don't see what's wrong with the output, that's exactly what I would expect it to be. Does your output show a single four-measure MMR (which I would both want and expect it to be), or two two-measure MMRs (which is undesirable, primarily because it's distracting to the performer)? Thanks, Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [Feature Request] \compressFullBarRests improvement(s)
Two separate ones. As an orchestral performer those breaks are often used to signify the beginnings of sections to make counting easier, so if I'm resting and there are 8 bars of one theme followed by 8 of another, I find it much easier to keep my place when it's 8 and 8 instead of 16. Alex On Sat, Dec 21, 2013 at 5:07 PM, Kieren MacMillan kieren_macmil...@sympatico.ca wrote: Hi Alex, I don't see what's wrong with the output, that's exactly what I would expect it to be. Does your output show a single four-measure MMR (which I would both want and expect it to be), or two two-measure MMRs (which is undesirable, primarily because it's distracting to the performer)? Thanks, Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [Feature Request] \compressFullBarRests improvement(s)
Kieren MacMillan kieren_macmil...@sympatico.ca writes: Having just engraved nearly 25 minutes of music resulting in 57 different individual parts, I can tell you that this issue inspired quite a bit of reduced efficiency, increased hackery, and even some loud swearing. =) Thoughts? I have quite a few orchestra parts where multimeasure rest streaks of several lengths are _not_ conflated. Basically, each such rest stands for a recognizable unit. What you need here in my opinion is something else: a command that just passes time (using s or R or something else) until a specified event occurs initiated from another voice, and then resumes. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [Feature Request] \compressFullBarRests improvement(s)
Hi Alex, Two separate ones. As an orchestral performer those breaks are often used to signify the beginnings of sections to make counting easier, so if I'm resting and there are 8 bars of one theme followed by 8 of another, I find it much easier to keep my place when it's 8 and 8 instead of 16. That’s exactly why there are rehearsal marks, markup, cues, spanners, etc.: you [can] use them to break up the uninterrupted stretches of multi-measure rests — I don’t want to stop that from happening, of course. I’m simply trying to avoid problems like the one evident in the following snippet (where the second score should contain a three-measure MMR): \version 2.17.97 theGlobal = { \compressFullBarRests s1 s1-\tag #'(foo) -\markup Foo only s1 } theMusic = { R1*3 } \score { \new Staff \keepWithTag #'(foo) \theGlobal \theMusic } \score { \new Staff \removeWithTag #'(foo) \theGlobal \theMusic } Cheers, Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [Feature Request] \compressFullBarRests improvement(s)
Hi David, I have quite a few orchestra parts where multimeasure rest streaks of several lengths are _not_ conflated. Basically, each such rest stands for a recognizable unit. I’ll look at Gould to see what her recommendations are. In any case, whether or not a best practice is known, the snippet I sent in response to Alex’s reply clearly shows a case where Lily is not behaving “as expected”. What you need here in my opinion is something else: a command that just passes time (using s or R or something else) until a specified event occurs initiated from another voice, and then resumes. ? I don’t understand how that would apply to or solve this issue/problem — please give a [possibly pseudo-code] example. Thanks, Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to create proper horizontal offsets?
Marten Visser wrote Eluze eluzew at gmail.com writes: when you transpose from as to c in the middle staff position the stem direction changes - this is producing the warning about clashes. if you put the as in a voice with clear settings (\voiceOne,...) opposite to that in the cued voice there will be no more collision and you might even omit the manual shifting. Eluze -- View this message in context: http://lilypond.1069038.n5.nabble.com/How- to-create-proper-horizontal-offsets-tp156252p156255.html Sent from the User mailing list archive at Nabble.com. Hi Eluze, thanks for you answer. I understand your remark about the collision. I understand that you would code it as a specific voice in order to avoid collisions providing for setting a non-collisional stem direction, but in reality it is not a specific voice I think; it only is a few notes that are different for one or more of the stanzas. (Please correct me if my thinking is wrong.) I tried your suggestion, replacing \cueVoice by \voiceOne, \voiceTwo, \voiceThree or \voiceFour, but neither of these work: 1. the stem from the cuenotes now disappears 2. the \override NoteColumn #'force-hshift won't work any longer 3. the notes appear in full size, which they should not Besides, I don't understand why the horizontal shift may get lost at all when transposing. The problem I'm facing it not about collisions, it's about the loss of horizontal offset when transposing. (Or is that a consequence of a collision) hi Marten maybe my explanations were to short I send you an example code of what I mean (using your approach with cued notes, but simplified to one consecutive voice) test1.ly http://lilypond.1069038.n5.nabble.com/file/n156309/test1.ly if something is unclear or doesn't meet your needs, please ask! Eluze -- View this message in context: http://lilypond.1069038.n5.nabble.com/How-to-create-proper-horizontal-offsets-tp156252p156309.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: [Feature Request] \compressFullBarRests improvement(s)
I agree that in that case it should be fully compressed, but not in the first example. On Sat, Dec 21, 2013 at 5:39 PM, Kieren MacMillan kieren_macmil...@sympatico.ca wrote: Hi Alex, Two separate ones. As an orchestral performer those breaks are often used to signify the beginnings of sections to make counting easier, so if I'm resting and there are 8 bars of one theme followed by 8 of another, I find it much easier to keep my place when it's 8 and 8 instead of 16. That’s exactly why there are rehearsal marks, markup, cues, spanners, etc.: you [can] use them to break up the uninterrupted stretches of multi-measure rests — I don’t want to stop that from happening, of course. I’m simply trying to avoid problems like the one evident in the following snippet (where the second score should contain a three-measure MMR): \version 2.17.97 theGlobal = { \compressFullBarRests s1 s1-\tag #'(foo) -\markup Foo only s1 } theMusic = { R1*3 } \score { \new Staff \keepWithTag #'(foo) \theGlobal \theMusic } \score { \new Staff \removeWithTag #'(foo) \theGlobal \theMusic } Cheers, Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [Feature Request] \compressFullBarRests improvement(s)
Kieren MacMillan kieren_macmil...@sympatico.ca writes: Hi David, I have quite a few orchestra parts where multimeasure rest streaks of several lengths are _not_ conflated. Basically, each such rest stands for a recognizable unit. I’ll look at Gould to see what her recommendations are. In any case, whether or not a best practice is known, the snippet I sent in response to Alex’s reply clearly shows a case where Lily is not behaving “as expected”. What you need here in my opinion is something else: a command that just passes time (using s or R or something else) until a specified event occurs initiated from another voice, and then resumes. ? I don’t understand how that would apply to or solve this issue/problem — please give a [possibly pseudo-code] example. Well, you would not count. Instead you'd say something like \R-until \atMark 8 or \R-until \atmeasure 80 I am afraid that 2 before mark G would be too ambitious since one can't rewind the time. But x after should be possible. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [Feature Request] \compressFullBarRests improvement(s)
Hi David, Well, you would not count. Instead you'd say something like \R-until \atMark 8 or \R-until \atmeasure 80 Ah! I could see that being a *very* elegant solution for that problem. However, if one suddenly added, post-hoc, a “split point” in the [shared] global music, would it split the \R-until (as desired)? I am afraid that 2 before mark G would be too ambitious since one can't rewind the time. But x after should be possible. That would definitely solve the vast majority of use cases — enough to make it worth implementing, per the old adage “the perfect is the enemy of the good”. Cheers, Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Spanner.center.text property?
Hi David, I don't have time to work this out at the moment Fair enough! but possibly you could adapt an analysis bracket. Or for another hacky solution, you could mess with a MeasureCounter stencil, like I did here Thanks — I’ll make an attempt. Maybe what you're wanting should get its own grob? Maybe! As it turns out, there are other issues involved, e.g., one [likely] only wants this to appear on the top staff of a system (or, perhaps, on whatever staves other “score-level” markings appear, e.g., MetronomeMark, etc.). A separate grob might allow for more flexibility in that regard. I’m playing around with a test case, to see if I can get it close to the goal line — I’ll repost when I’m within sight of it. Thanks! Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Spanner.center.text property?
Hi Kieren, On Sat, Dec 21, 2013 at 5:06 PM, Kieren MacMillan kieren_macmil...@sympatico.ca wrote: Hi David, I don't have time to work this out at the moment Fair enough! I do have time for a simple demo, which just involves changing a variable definition and adding a argument for text. Awful, but you see it's doable. but possibly you could adapt an analysis bracket. Or for another hacky solution, you could mess with a MeasureCounter stencil, like I did here Thanks — I’ll make an attempt. Maybe what you're wanting should get its own grob? Maybe! As it turns out, there are other issues involved, e.g., one [likely] only wants this to appear on the top staff of a system (or, perhaps, on whatever staves other “score-level” markings appear, e.g., MetronomeMark, etc.). A separate grob might allow for more flexibility in that regard. Yes, and you wouldn't kill the MeasureCounter for use with a separate grob. And there ought to be the option of stretching it over multiple measures. Possibly I can work something up over my break between semesters. I'm thoroughly embarrassed by the raggedy undigested code attached. I’m playing around with a test case, to see if I can get it close to the goal line — I’ll repost when I’m within sight of it. OK! --David \version 2.17.25 \header { snippet-title = Bracket repeats snippet-author = David Nalesnik snippet-description = \markup { \wordwrap { This snippet is a workaround which creates a representation for repeats which consists of a bracket above a measure. The number of repeats is expressed by a number centered within the bracket and formatted as 2x. This is not a true solution as it creates an arbitrary stencil which does not convey a repeat structure understood by LilyPond. Currently, the workaround will not accomodate repeats lasting more than a single bar and measures split across lines. } } tags = repeats, scheme status = unfinished } %%% % THE SNIPPET % %%% % The following procedure is a modification of the function % `measure-counter-stencil' found in the file % `scm/music-functions.scm' in the LilyPond distribution. #(define (test-stencil grob text) (let* ((orig (ly:grob-original grob)) (siblings (ly:spanner-broken-into orig)) ; have we been split? (bounds (ly:grob-array-list (ly:grob-object grob 'columns))) (refp (ly:grob-system grob)) ;; we use the first and/or last NonMusicalPaperColumn grob(s) of ;; a system in the event that a MeasureCounter spanner is broken (all-cols (ly:grob-array-list (ly:grob-object refp 'columns))) (all-cols (filter (lambda (col) (eq? #t (ly:grob-property col 'non-musical))) all-cols)) (left-bound (if (or (null? siblings) ; spanner is unbroken (eq? grob (car siblings))) ; or the first piece (car bounds) (car all-cols))) (right-bound (if (or (null? siblings) (eq? grob (car (reverse siblings (car (reverse bounds)) (car (reverse all-cols (elts-L (ly:grob-array-list (ly:grob-object left-bound 'elements))) (elts-R (ly:grob-array-list (ly:grob-object right-bound 'elements))) (break-alignment-L (filter (lambda (elt) (grob::has-interface elt 'break-alignment-interface)) elts-L)) (break-alignment-R (filter (lambda (elt) (grob::has-interface elt 'break-alignment-interface)) elts-R)) (break-alignment-L-ext (ly:grob-extent (car break-alignment-L) refp X)) (break-alignment-R-ext (ly:grob-extent (car break-alignment-R) refp X)) (num (markup text)) (num (if (or (null? siblings) (eq? grob (car siblings))) num (make-parenthesize-markup num))) (num (grob-interpret-markup grob num)) (num-stil-ext-X (ly:stencil-extent num X)) (num-stil-ext-Y (ly:stencil-extent num Y)) (num (ly:stencil-aligned-to num X (ly:grob-property grob 'self-alignment-X))) (num (ly:stencil-translate-axis num (+ (interval-length break-alignment-L-ext) (* 0.5 (- (car break-alignment-R-ext) (cdr break-alignment-L-ext X)) (bracket-L (markup #:path 0.1 ; line-thickness `((moveto 0.5 ,(* 0.5 (interval-length num-stil-ext-Y))) (lineto ,(* 0.5 (- (car break-alignment-R-ext) (cdr break-alignment-L-ext) (interval-length num-stil-ext-X))) ,(* 0.5 (interval-length
Re: [Feature Request] \compressFullBarRests improvement(s)
Kieren MacMillan kieren_macmil...@sympatico.ca writes: Hi David, Well, you would not count. Instead you'd say something like \R-until \atMark 8 or \R-until \atmeasure 80 Ah! I could see that being a *very* elegant solution for that problem. However, if one suddenly added, post-hoc, a “split point” in the [shared] global music, would it split the \R-until (as desired)? split points would require a different signaling/wait framework. Basically something like \R-until #'(markB violin) in one voice, and then you do in another voice/staff \interrupt #'(violin viola) (which breaks all pending multimeasurerests marked with violin or viola). and at some point \mark B \resume #'markB (which makes all multimeasure rests waiting for #'markB resume). I am afraid that 2 before mark G would be too ambitious since one can't rewind the time. But x after should be possible. That would definitely solve the vast majority of use cases — enough to make it worth implementing, per the old adage “the perfect is the enemy of the good”. Well, the above signaling would make either work reasonably well, and it would be robust against putting in more or fewer marks since it just synchronizes points between different voices. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Odp: hotrizontal spacing question
karol wrote Seems that \override NoteHead.extra-spacing-height = #'(-inf.0 . +inf.0) is the right solution. interesting - do you have experiences with this in more complex situations (polyphonic, more than one staff...) Eluze -- View this message in context: http://lilypond.1069038.n5.nabble.com/hotrizontal-spacing-question-tp156216p156326.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: [Feature Request] \compressFullBarRests improvement(s)
Hi David, split points would require a different signaling/wait framework. While I appreciate the ingenuity here… ;) Consider if this is how auto-beaming were implemented — yuck. Instead, we have \noBeam to break any automatic beam. Why not do the same here? i.e., Make \compressFullBarRests work as expected [to me, anyway :)], and have a command like \splitMMR to force a split where desired. An implementation like that would allow “surgical” splits (e.g., within a single part) as well as “global” splits, while the “improved” \compressFullBarRests would solve [all?] problems like the ones I posted earlier in this thread. Thoughts? Thanks, Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: opera/musical engravers
Hi Jay, I am finished with my latest opera The Map” Congratulations! we're starting a kickstarter proposal in January or Feb. Good luck — keep us updated on your progress. I did not use lily -book That seems to be the consensus. (I’ve only used -book for “academic” purposes, e.g., papers comprising mostly text, with a few musical examples — all of my “scores with text” have been in Lilypond proper, and apparently it will stay that way.) Since I do not use bar lines when I compose it also allowed me to introduce time signatures where they were needed in the top voice at all times. For me, that’s a separate — and important — issue that I’m working to solve. the 'problems' with lily's transpositions. Another separate and important issue to solve. Thanks! Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: calling all opera/musical engravers
Hi Jean-Charles, Thanks for the response. Have you looked at Nicolas Sceaux's works (http://nicolas.sceaux.free.fr/)? Yes… but I’ll do so again. Lily took care of everything. That’s good to know — Lily’s all I’ve been using to date (except for the odd “academic” paper). For Bach, thanks to David Nalesnik and Thomas Morley, a function to center an unique note and align it with R1\fermataMarkup (like in old scores). Nice! Is that part of the regular distro now? 3. What pitfalls are to be watched for (and hopefully avoided)? Part combining needs sometime to use tags in order to be correctly presented to the conductor. I’m going to start a whole new \partcombine thread/discussion, to see if we can knock that whole workflow out of the park. 4. What limitations cannot [currently] be overcome? Resetting the page number at the beginning of the musical material (after preface and libretto). Do you know about bookpart-page-number? #(define-markup-command (bookpart-page-number layout props) () (let ((first-page-number (ly:output-def-lookup layout 'first-page-number)) (page-number (chain-assoc-get 'page:page-number props 0))) (interpret-markup layout props (format ~a (1+ (- page-number first-page-number)) Cheers, Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: musicxml2ly bug: Fails on empty work-title / node
On Dec 21, 2013 5:56 PM, pls p.l.schm...@gmx.de wrote: On 21.12.2013, at 09:14, James Harkins jamshar...@gmail.com wrote: I just found that it doesn't handle the case of an XML document where the title node exists, but is empty. I've uploaded a zip archive of two musicxml documents. we fixed this bug some time ago. See: https://github.com/Philomelos/lilypond-musicxml2ly-dev. Thanks for clarifying that. These files are not minimal examples and contain loads of faulty xml markup. ... which Finale at least doesn't choke on. Whether Finale's result is valid or not, I couldn't say. What I can say is that the musicxml2ly result from the Finale file looked superficially reasonable at a quick glance. The point being that Finale's error tolerance produces something that is at least usable, even if awful, where musicxml2ly requires a standard of correctness that was unfortunately not useful in this case. I offered the files not as minimal examples for the specific empty title issue, but as real-world use cases, on the supposition that musicxml2ly would be more useful if it's better able to recover from flawed input. hjh ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
3x repeats
Is this idiomatic notation for repeating those two bars three times? attachment: 024.png___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: 3x repeats
Xavier Noria, Look at http://www.lilypond.org/doc/v2.16/Documentation/notation/short-repeats Mark From: lilypond-user-bounces+carsonmark=ca.rr@gnu.org [mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] On Behalf Of Xavier Noria Sent: Saturday, December 21, 2013 6:25 PM To: lilypond-user Subject: 3x repeats Is this idiomatic notation for repeating those two bars three times? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [Feature Request] \compressFullBarRests improvement(s)
Kieren MacMillan kieren_macmillan at sympatico.ca writes: Hello all, Consider this snippet: \version 2.17.97 theMusic = { \compressFullBarRests R1*2 R1*2 } \score { \theMusic } Here’s my request: I would love it if \compressFullBarRests actually did what it says it does… ;) FWIW, I agree with Kieren. If I saw a part with some multimeasure rests broken for no obvious reason, e.g. { \compressFullBarRests \mark \default R1*2 R1*2 \mark \default R1*2 } I would think the publisher was insane or incompetent. I'm surprised this is LP's default behavior. hjh ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to create proper horizontal offsets?
Eluze eluzew at gmail.com writes: hi Marten maybe my explanations were to short I send you an example code of what I mean (using your approach with cued notes, but simplified to one consecutive voice) test1.ly http://lilypond.1069038.n5.nabble.com/file/n156309/test1.ly if something is unclear or doesn't meet your needs, please ask! Eluze -- View this message in context: http://lilypond.1069038.n5.nabble.com/How- to-create-proper-horizontal-offsets-tp156252p156309.html Sent from the User mailing list archive at Nabble.com. Hi Eluze, Thanks for your example. As a matter of fact, after having used LilyPond for quite a few years now, an important aspect of the use of \voicOne etc. has now become clear to me. The song typesets correctly and transposition no longer causes any problems. Many thanks, Marten ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [Feature Request] \compressFullBarRests improvement(s)
James Harkins jamshark70 at gmail.com writes: FWIW, I agree with Kieren. If I saw a part with some multimeasure rests broken for no obvious reason, e.g. { \compressFullBarRests \mark \default R1*2 R1*2 \mark \default R1*2 } I would think the publisher was insane or incompetent. I'm surprised this is LP's default behavior. Hm, no, that example looks OK because of the older-style rest format. *This* looks nuts to me, and I don't recall every seeing anything like this in any part that I played from in wind bands in high school and college... why not just |--- 4 ---|? { \compressFullBarRests \override MultiMeasureRest #'expand-limit = #1 \mark \default R1*2 R1*2 \mark \default R1*2 } hjh ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Alternative notation for guitar 7th chords
Hi Lilyponders, Typesetting my masterpiece is drawing to completion, and one fine point of typesetting remains. \chordmode { c1:7 } typesets the 7 as a superscript. I'd like to know how the 7 can be typeset on the baseline, like the m of a minor chord. I couldn't find any tweak that does that for me. Regards, Marten ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Alternative notation for guitar 7th chords
The easiest thing is using the pop-chords.ly alternatives to the default chordname style, using \include. I think it is available in the snippet repository. Or you can write your own chordname exceptions, the procedure for which should be in the Notation reference. On Dec 21, 2013, at 8:46 PM, Marten Visser msvis...@planet.nl wrote: Hi Lilyponders, Typesetting my masterpiece is drawing to completion, and one fine point of typesetting remains. \chordmode { c1:7 } typesets the 7 as a superscript. I'd like to know how the 7 can be typeset on the baseline, like the m of a minor chord. I couldn't find any tweak that does that for me. Regards, Marten ___ 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
Question about parallel git repos of source/output files
I have a question for the git experts on the list. I've migrated my current collection of lilypond projects to a git repository so that I can migrate the source files among my various workstations and use versioning as part of my editing process (so that I can theoretically keep track of my changes). Since I'm working primarily on my iMac, using the packaged editor, all my output files are going to the same folder as my source files. I don't want them to necessarily be wrapped up in my git repo for my source files, so I have the exclude file set to ignore .pdf and .midi files. That said, I would like to have a managed repository of my PDF and MIDI files so that they can be shared from one computer to another. So I have a couple of questions regarding that: 1) Is it possible to reconfigure the default LilyPond editor on a Mac to output to a different location (something I did on the command line in Linux)? Then I would be able to just shove those to a different folder and either include them as separate files in the main repo or run a separate git repo there. 2) Is it possible to interleave two repos so that in one folder in the main repo, the main repo ignores PDF and MIDI files and the secondary repo *only* tracks PDFs and MIDIs? The files that are actually compiled are in a subfolder of the main repository folder. Thanks, Carl P. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Unwanted fretboard repeat
2013/12/22 Amreg am@free.fr Le 21/12/2013 19:31, Federico Bruni a écrit : 2013/12/20 Amreg am@free.fr mailto:am@free.fr Example below (tested in 2.16, but should behave the same in 2.17.x) : No, it works as you expect on 2.17.x Ok, thank you for the answer, I've just to get an 2.17.x release (which implies installing git, etc...) or maybe wait for upcoming 2.18 ;-). Binaries of the development versions are available on lilypond.org: http://www.lilypond.org/development.html Installing these packages is pretty easy. Version 2.17.97 is a release candidate. BTW, any idea on the second issue in my mail (the possibility, even as an option, to get rid of unwanted chord repeat at each and every line beginning, even when there is no chord change) ? I can't help you, that's why replying to the list is highly recommended ;-) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [Feature Request] \compressFullBarRests improvement(s)
I agree entirely with James that the input looks good as is. Only tangentially related, does the placement of the first mark bother anyone else? I feel like it would look better after rather than over the clef. On Sat, Dec 21, 2013 at 9:42 PM, James Harkins jamshar...@gmail.com wrote: James Harkins jamshark70 at gmail.com writes: FWIW, I agree with Kieren. If I saw a part with some multimeasure rests broken for no obvious reason, e.g. { \compressFullBarRests \mark \default R1*2 R1*2 \mark \default R1*2 } I would think the publisher was insane or incompetent. I'm surprised this is LP's default behavior. Hm, no, that example looks OK because of the older-style rest format. *This* looks nuts to me, and I don't recall every seeing anything like this in any part that I played from in wind bands in high school and college... why not just |--- 4 ---|? { \compressFullBarRests \override MultiMeasureRest #'expand-limit = #1 \mark \default R1*2 R1*2 \mark \default R1*2 } hjh ___ 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: 3x repeats
In many contexts it's preferable to write it out instead of using percent repeats. If it's a long passage then it's frequently written pretty much like you had it except with the x3 at the repeat sign. On Sat, Dec 21, 2013 at 9:31 PM, Mark Stephen Mrotek carsonm...@ca.rr.comwrote: Xavier Noria, Look at http://www.lilypond.org/doc/v2.16/Documentation/notation/short-repeats Mark *From:* lilypond-user-bounces+carsonmark=ca.rr@gnu.org [mailto: lilypond-user-bounces+carsonmark=ca.rr@gnu.org] *On Behalf Of *Xavier Noria *Sent:* Saturday, December 21, 2013 6:25 PM *To:* lilypond-user *Subject:* 3x repeats Is this idiomatic notation for repeating those two bars three times? ___ 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: Alternative notation for guitar 7th chords
I didn't see it in the LSR and the version of pop-chord.ly I found was written for 2.11.52, so it might not work perfectly. Give me a moment and I'll attach one that works with 2.17.95 On Sat, Dec 21, 2013 at 10:06 PM, Tim McNamara tim...@bitstream.net wrote: The easiest thing is using the pop-chords.ly alternatives to the default chordname style, using \include. I think it is available in the snippet repository. Or you can write your own chordname exceptions, the procedure for which should be in the Notation reference. On Dec 21, 2013, at 8:46 PM, Marten Visser msvis...@planet.nl wrote: Hi Lilyponders, Typesetting my masterpiece is drawing to completion, and one fine point of typesetting remains. \chordmode { c1:7 } typesets the 7 as a superscript. I'd like to know how the 7 can be typeset on the baseline, like the m of a minor chord. I couldn't find any tweak that does that for me. Regards, Marten ___ 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 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
MIDI output: Possible to change PPQ?
I was just searching, without success, for a way to change the number of pulses-per-quarter in MIDI output. The default, 384, handles double divisions and triplets, but quintuplets are inexact. I would rather use 480 for this particular file. The section in the notation reference on the \midi mentions that it may include a \tempo statement, and \context blocks. Web searching wasn't helpful either, so I suppose I'm stuck with 384. How hard would it be to add something like \midipulses 4 = 480? (Is it something I could figure out by poking around in the source code?) hjh ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Alternative notation for guitar 7th chords
Here is the file. Convert-ly upgraded the syntax but something happened in an internal fine that made a large part of it that changed the way accidentals look not work, so I commented that part out. I'm not familiar with pop notation, so if there's anything that needs to change let me know. On Sun, Dec 22, 2013 at 12:03 AM, Alex Loomis thebluemusic...@gmail.comwrote: I didn't see it in the LSR and the version of pop-chord.ly I found was written for 2.11.52, so it might not work perfectly. Give me a moment and I'll attach one that works with 2.17.95 On Sat, Dec 21, 2013 at 10:06 PM, Tim McNamara tim...@bitstream.netwrote: The easiest thing is using the pop-chords.ly alternatives to the default chordname style, using \include. I think it is available in the snippet repository. Or you can write your own chordname exceptions, the procedure for which should be in the Notation reference. On Dec 21, 2013, at 8:46 PM, Marten Visser msvis...@planet.nl wrote: Hi Lilyponders, Typesetting my masterpiece is drawing to completion, and one fine point of typesetting remains. \chordmode { c1:7 } typesets the 7 as a superscript. I'd like to know how the 7 can be typeset on the baseline, like the m of a minor chord. I couldn't find any tweak that does that for me. Regards, Marten ___ 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 % Pop chords as used in English/American popular music % by James L. Hammons % Written against \version 2.17.29 chordFlat = \markup { \hspace #0.2 \tiny \raise #1.0 \flat } chordSharp = \markup { \hspace #0.1 \teeny \raise #1.0 \sharp } popChordsMusic = { % Triads c g-\markup { 5 } c d g-\markup { 2 } % c d g-\markup { sus2 } c f g-\markup { sus } % c f g-\markup { sus4 } % c ees ges-\markup { \small \raise #1.0 o } c ees ges-\markup { \raise #0.8 o } % c ees ges-\markup { dim } % c e gis-\markup { aug } % or + % Sixths c e g a-\markup { 6 } c ees g a-\markup { m6 } % Sevenths (including altered) c e g bes-\markup { 7 } c ees g bes-\markup { m7 } c e g b-\markup { maj7 } c f g bes-\markup { 7sus4 } c d g bes-\markup { 7sus2 } c e ges bes-\markup { 7 \chordFlat 5 } c e gis bes-\markup { 7 \chordSharp 5 } % c e gis bes-\markup { aug7 } % or +7 c ees g b-\markup { m(maj7) } % c ees ges beses-\markup { \small \raise #1.0 { o } 7 } c ees ges beses-\markup { \raise #0.8 { o } 7 } % c ees ges beses-\markup { dim7 } % c ees ges bes-\markup { \small \raise #1.0 { $(ly:wide- char-utf-8 #x00f8) } 7 } % c ees ges bes-\markup { \raise #0.8 { $(ly:wide-char- utf-8 #x00f8) } 7 } c ees ges bes-\markup { m7 \chordFlat 5 } c e ges b-\markup { maj7 \chordFlat 5 } c e gis b-\markup { maj7 \chordSharp 5 } % Ninths (including altered--incomplete) c e g bes d'-\markup { 9 } c ees g bes d'-\markup { m9 } c e g b d'-\markup { maj9 } c e g d'-\markup { add9 } c e g a d'-\markup { 6/9 } c ees g a d'-\markup { m6/9 } c ees g b d'-\markup { m(maj9) } c e g bes des'-\markup { 7 \chordFlat 9 } c e g bes dis'-\markup { 7 \chordSharp 9 } %dim7add9, dim7b9, dim7#9, 9#5, 9b5, maj9#5, maj9b5, 9sus4, 9sus2 % Elevenths (incomplete) c e g bes d' f'-\markup { 11 } c ees g bes d' f'-\markup { m11 } c e g b d' f'-\markup { maj11 } c e g f'-\markup { add11 } c ees g f'-\markup { m add11 } c ees g bes f'-\markup { m7add11 } % Thirteenths (incomplete) c e g bes d' a'-\markup { 13 } c ees g bes d' a'-\markup { m13 } c e g b d' a'-\markup { maj13 } c e g a'-\markup { add13 } % Misc add chords c e g bes des' aes'-\markup { 7 \chordFlat 9 \chordFlat 13 } c e gis bes des'-\markup { 7 \chordSharp 5 \chordFlat 9 } c e g b d' fis'-\markup { maj9 \chordSharp 11 } c e g bes d' fis'-\markup { 9 \chordSharp 11 } } % Add to existing exceptions popChordsAdd = #(append (sequential-music-to-chord-exceptions popChordsMusic #t) ignatzekExceptions) % Bah, can't we set this globally? YES! See below... % \set chordNameExceptions = #popChords % Bah, this doesn't work either... % #(set chordNameExceptions popChords) % Let's try fixing the accidentals with some Scheme... %It breaks the file, let's not. %{ #(define (chord-name-pop-markup pitch)
Re: [Feature Request] \compressFullBarRests improvement(s)
Here’s my request: I would love it if \compressFullBarRests actually did what it says it does… ;) FWIW, I agree with Kieren. If I saw a part with some multimeasure rests broken for no obvious reason, e.g. { \compressFullBarRests \mark \default R1*2 R1*2 \mark \default R1*2 } I would think the publisher was insane or incompetent. I'm surprised this is LP's default behavior. I also support this request. Another reason is that in many parts of percussion instruments, say, there is `tacet' for a very long time, e.g. from rehearsal number 20 to 76. A potential new implementation of \compressFullBarRests (or a variant as suggested by David K.) should allow compression of everything (including measure changes!) into a single MM rest to span these two rehearsal numbers. Werner ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: MIDI output: Possible to change PPQ?
On Sun, Dec 22, 2013 at 12:47 AM, James Harkins jamshar...@gmail.com wrote: I was just searching, without success, for a way to change the number of pulses-per-quarter in MIDI output. The default, 384, handles double divisions and triplets, but quintuplets are inexact. I would rather use 480 for this particular file. Am I missing something, since 384 / 4 = 96? Carl P. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: MIDI output: Possible to change PPQ?
On Sun, Dec 22, 2013 at 12:58 AM, Carl Peterson carlopeter...@gmail.com wrote: On Sun, Dec 22, 2013 at 12:47 AM, James Harkins jamshar...@gmail.com wrote: I was just searching, without success, for a way to change the number of pulses-per-quarter in MIDI output. The default, 384, handles double divisions and triplets, but quintuplets are inexact. I would rather use 480 for this particular file. Am I missing something, since 384 / 4 = 96? Carl P. Apparently I am, since quint = 1/5. Ignore my ramblings. It's 1AM here. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user