Re: Merging a markup-command with an event-function
Hi Pierre, On Sat, Mar 14, 2015 at 1:49 PM, Pierre Perol-Schneider pierre.schneider.pa...@gmail.com wrote: Hi David, 2015-03-14 19:03 GMT+01:00 David Nalesnik david.nales...@gmail.com: However, why don't you subsume this in the let-block? I've tried to - in fact I've tried a lot of things... without succes. (define string-qty arg-string-qty) ;; hereunder should be fine: (let* ((mrkp (markup #:upright #:concat (prefix fret-nbr You've defined Prefix with a capital P above. (let* ((mrkp (markup #:upright #:concat (#:lower 0.08 prefix #:lower 0.05 fret-nbr #:hspace 0.3 Same problem here. Actually no, 'prefix' here should be the markup-command not a variable. How can I fix that ? Ah, I see. I just got the errors to go away, and figured I had fixed it! I believe that you want this line: (let* ((mrkp (markup #:upright #:concat (#:lower 0.08 #:prefix string-qty #:lower 0.05 fret-nbr #:hspace 0.3 %% I added in the string-qty because \prefix expects an integer, Does this give you what you want? --David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: draw-line
On Sat, Mar 14, 2015 at 8:46 PM, Stephen MacNeil classicalja...@gmail.com wrote: can I curve a line? You probably want the \path command which is documented here: http://lilypond.org/doc/v2.18/Documentation/notation/graphic ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Starting music at an arbitrary bar
On 2015-03-14 04:26 PM, J Martin Rushton wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi Simon, Thankyou very much, that's exactly what I wanted. What's _really_ annoying is that I had the following page (which has MIDI output on it) open. Regards, Martin Also, if you are using Frescobaldi, you can use the MIDI player tool. The slider allows you to move to a specific bar/beat and play from there. Cheers, Colin -- I've learned that you shouldn't go through life with a catcher's mitt on both hands. You need to be able to throw something back. -Maya Angelou, poet (1928- ) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Starting music at an arbitrary bar
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 GNU LilyPond 2.18.2 TiMidity++ version 2.14.0 When working on a piece it I tend to generate a MIDI file and play it back to assure myself that what I'm writing corresponds to what I'm thinking. Not, I suspect, that unusual. However, as a piece lengthens more time is spent listening to music already accepted before getting to the latest part. Is there any way to start from an arbitrary bar? I realise that I can break the lines up: Old-descant = { ... } New-descant = { ... } Descant = \new Voice { ... \relative c'' { %\Old-descant \New-descant } And move the notes from new to old as I progress. It's very prone to misaligning the parts though. Any advice gratefully received. Martin -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJVBKH/AAoJEAF3yXsqtyBlogIP/0lhyagGYmdXIRhEoTaX7ozU VbqXMBCPsS4uvG2qAoeMG+7JzCxgTWkOiORjlq9lZagy1S5CE5uozNbj1IbffKoA ofo8Xu2prLVL8Tn3Eb7JcPct3bmJ/qaaS5Nhr75YZXteVB4GdpF3hjkftPRYVk44 WqhJEdynIqBKlrHYp7CyxlxjoF84elefVNaBcFpDXJ2NlXT0LFQ/Mv44/TJqiA2O FmvIJNtcqHmByhAtdBlUFsIdG0EQIzIGmY1EXyzqcEwEga3uoZmNTRKA2ZpHKcQV d+WWh3gZHGAz481gbqkKaI0rNbk76u+4/i/TMQEv0+uj/xYK0YcSRUeTltHb6pwk PJi9OzKBpa7LKZvfw4JGqy31oOstPIl2CkWqSD7dI1M4Hxwtik2Z6419qOUduP9n q27nW9Jx6bctTFPAQ0T+qMySGXmGSifZb6hcpP+52EmKqS7qUKX1N0pP/xvaBNaQ JwgZzqWPWRG/94RvIaBRG/Jem5WDLp/YOtYf/+2oK4TQWsh79LnbmQqKLNDIhh/0 gv5rsgxksfyJ5czF9r/6ggHm4Bf3Kq4nnF3VBW1GvrW+GyLah7rr+ntl4tshgzUy W6pZa/gTu3nHew0GHzDJU3xPa2aNGAFD1JcRCUuit+sIZuDGeVGgqqWE8xkCpcxn AtcjrlkQlSdhnsE2ARop =jjWr -END PGP SIGNATURE- ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Starting music at an arbitrary bar
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi Simon, Thankyou very much, that's exactly what I wanted. What's _really_ annoying is that I had the following page (which has MIDI output on it) open. Regards, Martin On 14/03/15 22:16, Simon Albrecht wrote: Hi Martin, see http://lilypond.org/doc/v2.18/Documentation/notation/skipping-corrected-music. showFirstLength and showLastLength should do what you want. Yours, Simon Am 14.03.2015 um 22:02 schrieb J Martin Rushton: GNU LilyPond 2.18.2 TiMidity++ version 2.14.0 When working on a piece it I tend to generate a MIDI file and play it back to assure myself that what I'm writing corresponds to what I'm thinking. Not, I suspect, that unusual. However, as a piece lengthens more time is spent listening to music already accepted before getting to the latest part. Is there any way to start from an arbitrary bar? I realise that I can break the lines up: Old-descant = { ... } New-descant = { ... } Descant = \new Voice { ... \relative c'' { %\Old-descant \New-descant } And move the notes from new to old as I progress. It's very prone to misaligning the parts though. Any advice gratefully received. Martin ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJVBLWaAAoJEAF3yXsqtyBlmJIQAL0HccUolGx11G54ANEF02LX MOyqSFOAN/Qkm65R+s5Z6CTJSa+cCLf//exkI5s4BqE89OGRM3T8dMgyVdxVNlSN xynso1g6+dDBV7xbg5cerrEYnRle7gBikULiowAMHtubh17kiy1r3MMKHm9bDE+i J9NRurD7Dge4jefbEmXrW4ESZISEL2YbB05Jfnoi14W+Nm63EZ8vT7euC+Jk9+QL yMbI4037pwLrr0T9rx8PTlagGlw2pfkuuZy57j9op63/nJQe7Tq/DvGIzHQ0etRr dQvsdjaanbya7VKSWVydF3rKKoWUgHd5+seFgyipdep3U7MvbshnUElNPB1htpl8 dijlHmi0SNGFaNVfeqtB/oh40oKFCNe3C6pa057BLZBSyfZMnhLCPHyNgeAhuXc0 zv7nKfpj5TP+WO7YOVkmehnDiJZ4ppXodk34Ncl9HtYQoU9+TG0IwIg3t98L9JOe kUjxK6fUtyFY/clZz36gsruyofX+KFckYTbRIzJq8InclAVFK6RwKiCuVL7uoGaS 2Jlgd9SoP1tt2SHCflh71GsekqPoX/42OGB/Skf1UF4BE7YZNR7acKIAyN96Wp/n 25fG3nAoSZ90noM4au4LHE2iUPDq252Oc1Ax1J8zZl3rgrje3LymrUCHgmqWF1I2 JCJBUh5MCWYAF/v7nWC5 =9Ydy -END PGP SIGNATURE- ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Merging a markup-command with an event-function
On 15/03/2015 04:42, Pierre Perol-Schneider wrote: Hi, In order to make a new guitar barré function, I'm trying to merge the attached markup-command with an event-function (without success - problem is on line #90) Not to answer your question, but why not do it like this, which seems a lot simpler. If you want to preface the Roman numeral fret number with C, just add C as the first thing after the opening brace for the markup. \version 2.18.2 beginBarre = #(define-event-function (parser location fretnum partial) (number? number?) #{ \tweak bound-details.left.text \markup\small\bold\concat { #(format #f ~@r fretnum) \sub #(number-string partial) } \tweak style #'line \tweak font-shape #'upright \tweak bound-details.right.text \markup { \draw-line #'(0 . -1) } \tweak bound-details.left.stencil-align-dir-y #0.35 \tweak bound-details.left.padding #-0.25 \tweak bound-details.right.padding #-1 \tweak bound-details.right-broken.padding #0.5 \tweak bound-details.left-broken.padding #2 \tweak bound-details.left-broken.text ##f \tweak bound-details.right-broken.text ##f \startTextSpan #}) endBarre = \stopTextSpan { \clef G_8 \key d\minor { \voiceOne a'16[ \beginBarre 3 4 bes d' bes f'8] \endBarre } \\ { \voiceTwo d2 } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Merging a markup-command with an event-function
Very well, thanks again David. I've just completed this snippet : http://lsr.di.unimi.it/LSR/Item?id=952 Cheers, Pierre ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Merging a markup-command with an event-function
Absolutely! A big thanks David !!! 2015-03-14 20:01 GMT+01:00 David Nalesnik david.nales...@gmail.com: Hi Pierre, On Sat, Mar 14, 2015 at 1:49 PM, Pierre Perol-Schneider pierre.schneider.pa...@gmail.com wrote: Hi David, 2015-03-14 19:03 GMT+01:00 David Nalesnik david.nales...@gmail.com: However, why don't you subsume this in the let-block? I've tried to - in fact I've tried a lot of things... without succes. (define string-qty arg-string-qty) ;; hereunder should be fine: (let* ((mrkp (markup #:upright #:concat (prefix fret-nbr You've defined Prefix with a capital P above. (let* ((mrkp (markup #:upright #:concat (#:lower 0.08 prefix #:lower 0.05 fret-nbr #:hspace 0.3 Same problem here. Actually no, 'prefix' here should be the markup-command not a variable. How can I fix that ? Ah, I see. I just got the errors to go away, and figured I had fixed it! I believe that you want this line: (let* ((mrkp (markup #:upright #:concat (#:lower 0.08 #:prefix string-qty #:lower 0.05 fret-nbr #:hspace 0.3 %% I added in the string-qty because \prefix expects an integer, Does this give you what you want? --David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Merging a markup-command with an event-function
On Sat, Mar 14, 2015 at 2:01 PM, David Nalesnik david.nales...@gmail.com wrote: Hi Pierre, On Sat, Mar 14, 2015 at 1:49 PM, Pierre Perol-Schneider pierre.schneider.pa...@gmail.com wrote: Hi David, 2015-03-14 19:03 GMT+01:00 David Nalesnik david.nales...@gmail.com: However, why don't you subsume this in the let-block? I've tried to - in fact I've tried a lot of things... without succes. With the changed mrkp above, I'm able to write this (removing extra parenthesis later on): startBarre = #(define-event-function (parser location arg-string-qty fret-nbr) (integer? markup?) (let* ((string-qty arg-string-qty) (mrkp (markup #:upright #:concat (#:lower 0.08 #:prefix string-qty #:lower 0.05 fret-nbr #:hspace 0.3 (define (width grob text-string) [...] ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: building pairs in music functions
On Fri, Mar 13, 2015 at 3:34 PM, Stephen MacNeil classicalja...@gmail.com wrote: \version 2.18.2 rotateBracket = #(define-music-function (parser location input) (pair?) #{ \once \override HorizontalBracket.bracket-flare = $input #}) Actually I wanted to build the bracket flare from a single value, but I had stripped away most of the code for the purposes of the question. I do a lot of analytic music examples and for that I often angle the HorizontalBrackets, but each time I rotate one it requires using trigonometry (seriously) to calculate the right bracket-flare values, so I just wanted to do that automatically. I eventually got something that works. Here it is in case anyone is interested: \version 2.18.2 startAngledGroup = #(define-event-function (parser location num) (integer?) (let* ((rot-angle (degrees-radians num)) (left-flare (- (tan rot-angle))) (right-flare (tan rot-angle)) (y-offset (- (/ num 10 (define flare-callback (lambda (grob) (ly:grob-set-property! grob 'rotation (list num 0 0)) (if (= UP (ly:grob-property grob 'direction)) (ly:grob-set-property! grob 'bracket-flare (cons right-flare left-flare)) (ly:grob-set-property! grob 'bracket-flare (cons left-flare right-flare) #{ \single \override HorizontalBracket.before-line-breaking = #flare-callback \startGroup #})) \relative { b\startAngledGroup #10 e\stopGroup } \layout { \context { \Voice \consists Horizontal_bracket_engraver } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
draw-line
can I curve a line? \draw-line #'(1 . 1) Thanks Stephen ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: opera written with lily performance/demo
Congratulations :-) Philippe Jay Hamilton-3 wrote After trials and tribulations and a great deal of help from many of you I finished the score to my opera The Map in 2012. www.themaptheopera.com On the 21st of March a performance (to garner more support for a full production) of 5 scenes is Happening. Thanks for the aid- truly Jay -- Thanks for reading blogs at https://learnivore.com/users/music# www.soundand.com www.themaptheopera.com Jay ___ lilypond-user mailing list lilypond-user@ https://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://lilypond.1069038.n5.nabble.com/opera-written-with-lily-performance-demo-tp173132p173152.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: Starting music at an arbitrary bar
Hi Martin, see http://lilypond.org/doc/v2.18/Documentation/notation/skipping-corrected-music. showFirstLength and showLastLength should do what you want. Yours, Simon Am 14.03.2015 um 22:02 schrieb J Martin Rushton: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 GNU LilyPond 2.18.2 TiMidity++ version 2.14.0 When working on a piece it I tend to generate a MIDI file and play it back to assure myself that what I'm writing corresponds to what I'm thinking. Not, I suspect, that unusual. However, as a piece lengthens more time is spent listening to music already accepted before getting to the latest part. Is there any way to start from an arbitrary bar? I realise that I can break the lines up: Old-descant = { ... } New-descant = { ... } Descant = \new Voice { ... \relative c'' { %\Old-descant \New-descant } And move the notes from new to old as I progress. It's very prone to misaligning the parts though. Any advice gratefully received. Martin -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJVBKH/AAoJEAF3yXsqtyBlogIP/0lhyagGYmdXIRhEoTaX7ozU VbqXMBCPsS4uvG2qAoeMG+7JzCxgTWkOiORjlq9lZagy1S5CE5uozNbj1IbffKoA ofo8Xu2prLVL8Tn3Eb7JcPct3bmJ/qaaS5Nhr75YZXteVB4GdpF3hjkftPRYVk44 WqhJEdynIqBKlrHYp7CyxlxjoF84elefVNaBcFpDXJ2NlXT0LFQ/Mv44/TJqiA2O FmvIJNtcqHmByhAtdBlUFsIdG0EQIzIGmY1EXyzqcEwEga3uoZmNTRKA2ZpHKcQV d+WWh3gZHGAz481gbqkKaI0rNbk76u+4/i/TMQEv0+uj/xYK0YcSRUeTltHb6pwk PJi9OzKBpa7LKZvfw4JGqy31oOstPIl2CkWqSD7dI1M4Hxwtik2Z6419qOUduP9n q27nW9Jx6bctTFPAQ0T+qMySGXmGSifZb6hcpP+52EmKqS7qUKX1N0pP/xvaBNaQ JwgZzqWPWRG/94RvIaBRG/Jem5WDLp/YOtYf/+2oK4TQWsh79LnbmQqKLNDIhh/0 gv5rsgxksfyJ5czF9r/6ggHm4Bf3Kq4nnF3VBW1GvrW+GyLah7rr+ntl4tshgzUy W6pZa/gTu3nHew0GHzDJU3xPa2aNGAFD1JcRCUuit+sIZuDGeVGgqqWE8xkCpcxn AtcjrlkQlSdhnsE2ARop =jjWr -END PGP SIGNATURE- ___ 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
color scheme (syntax highlighting vim Fedora 22)
Hi others and Pierre, They or someone has changed the syntax highlighting colors in Fedora 22. I hope it was not you Pierre. I find the syntax highlighting terrible on my notebook. I don't know if users of this list can effect any changes so parallel I will try to contact someone in their development team. Namaste, Kevin ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Postsctipt arrows
Am 14. März 2015 07:15:47 MEZ, schrieb Andrew Bernard andrew.bern...@gmail.com: David, Thanks so much for your postscript solution. It’s exactly what I want. Very, very much appreciated. I feel liberated, since I know postscript well, I can do almost anything now. is it worth creating a snippet for LSR on this topic? Sure. And since it is a very generic thing with quite some potential I would be happy if you could write a tutorial style post on Scores of Beauty. Urs Andrew ___ 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: [savannah-help-public] Google Code will be no more at 2016-01-25
Assaf Gordon wrote Saturday, March 14, 2015 12:59 AM On 03/13/2015 07:33 PM, Trevor Daniels wrote: All the text in the issues can be extracted as a 5MB JSON file, but the file does not include the images. At present I know of no way to extract the images in bulk. Individual ones can be downloaded of course. I can send you a copy of the JSON file off-list if that would help. It does include a marker for the images. Please do. Sent off-list. By marker do you mean a URL ? No, it's just an internal reference, like this: attachments : [ { attachmentId : 40050007000, fileName : Screenshot.png, fileSize : 137527, mimetype : image/png } ] This is included in Issue 4005, see https://code.google.com/p/lilypond/issues/detail?id=4005 Thanks for taking a look, Trevor ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Slurs
Daniel you wrote Saturday, March 14, 2015 12:17 AM I’m typesetting an aria that has several melismatic passages with smaller, individually slurred phrases over single syllables. Using automatic text setting obviously won’t work here. I’d rather not set the lyrics with manual durations because the majority of the score doesn’t require it. The only other solution I can think of is to hide the slurs in these passages and simultaneously use phrasing slurs, but this also would be rather cumbersome. Any suggestions for an easier, more elegant solution? I'm not sure I understand exactly what you want here (a small example showing the problem will always result in a greater number of more helpful responses) but there are other ways of indicating a melisma. Perhaps the one you want is the single underscore in the lyrics. See the last one in http://www.lilypond.org/doc/v2.19/Documentation/notation/common-notation-for-vocal-music#multiple-notes-to-one-syllable Trevor ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Postsctipt arrows
David, Thanks so much for your postscript solution. It’s exactly what I want. Very, very much appreciated. I feel liberated, since I know postscript well, I can do almost anything now. is it worth creating a snippet for LSR on this topic? Andrew ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Slurs
Am 14. März 2015 01:17:36 MEZ, schrieb Daniel Mauck djma...@me.com: I’m typesetting an aria that has several melismatic passages with smaller, individually slurred phrases over single syllables. Using automatic text setting obviously won’t work here. I’d rather not set the lyrics with manual durations because the majority of the score doesn’t require it. The only other solution I can think of is to hide the slurs in these passages and simultaneously use phrasing slurs, but this also would be rather cumbersome. Any suggestions for an easier, more elegant solution? There are commands in https://github.com/openlilylib/openlilylib/blob/master/fried-library-to-be-sorted/lyrics-shorthands.ily that should help you. Urs ___ 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: divisi staves and notehead merge (issue 3518 revisited)
Please have a look at the `divisi-staves.ly' regression test, which is the solution to https://code.google.com/p/lilypond/issues/detail?id=3518 [Actually, this file contains undocumented features that deserves documentation due to its importance for orchestral music...] I want a variation of this, namely solo violin + gli altri [...] Does lilypond have already a property to make the noteheads merge even if the stems are in the same direction? I've just found out that adding \override NoteColumn.ignore-collision = ##t does exactly the right thing, at least for the given example. I guess that this is just a work-around, since no real merging does happen... boring = \set Staff.keepAliveInterfaces = #'() tricky = \unset Staff.keepAliveInterfaces violsolo=\relative d' { \boring \repeat unfold 100 d4 \tricky d g'2 \boring \repeat unfold 98 d4 \bar |. } viol=\relative d' { \boring \repeat unfold 100 d4 \tricky d4 d4 \boring \repeat unfold 98 d4 \bar |. } \score { \new StaffGroup \with { \consists Keep_alive_together_engraver } \new Staff \with { instrumentName = Violin solo shortInstrumentName = V solo \override VerticalAxisGroup.remove-empty = ##t \override VerticalAxisGroup.remove-first = ##t \override VerticalAxisGroup.remove-layer = 1 } \violsolo \new Staff \with { instrumentName = Violin gli altri shortInstrumentName = V \override VerticalAxisGroup.remove-empty = ##t \override VerticalAxisGroup.remove-first = ##t \override VerticalAxisGroup.remove-layer = 1 } \viol \new Staff \with { instrumentName = Violin shortInstrumentName = V \override VerticalAxisGroup.remove-layer = 2 \override NoteColumn.ignore-collision = ##t } \violsolo \viol \layout { short-indent = 2\cm indent = 3\cm } } I will now try it in a real-world example. Werner ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
opera written with lily performance/demo
After trials and tribulations and a great deal of help from many of you I finished the score to my opera The Map in 2012. www.themaptheopera.com On the 21st of March a performance (to garner more support for a full production) of 5 scenes is Happening. Thanks for the aid- truly Jay -- Thanks for reading blogs at https://learnivore.com/users/music# www.soundand.com www.themaptheopera.com Jay ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Merging a markup-command with an event-function
Hi, In order to make a new guitar barré function, I'm trying to merge the attached markup-command with an event-function (without success - problem is on line #90): % \version 2.18.2 Prefix = \markup { %% uncomment/comment these lines for C, C slashed, B or B slashed prefix : \roman C %\combine \roman C \translate #'(0.65 . -0.25) \override #'(thickness . 1.2) \draw-line #'(0 . 1.8) %\roman B %\combine \roman B \translate #'(0.65 . -0.25) \override #'(thickness . 1.2) \draw-line #'(0 . 1.8) \hspace #0.2 } #(define-markup-command (prefix layout props string-qty) (integer?) (interpret-markup layout props (case string-qty ((2) #{ \markup { \override #'(font-family . typewriter) \concat { \raise #.15 \fontsize #-6 { \raise #.5 1 \hspace #-.2 \raise #.2 / \hspace #-.2 3 } \Prefix } } #}) ((3) #{ \markup { \override #'(font-family . typewriter) \concat { \raise #.15 \fontsize #-6 { \raise #.5 1 \hspace #-.2 \raise #.2 / \hspace #-.2 2 } \Prefix } } #}) ((4) #{ \markup { \override #'(font-family . typewriter) \concat { \raise #.15 \fontsize #-6 { \raise #.5 2 \hspace #-.2 \raise #.2 / \hspace #-.2 3 } \Prefix } } #}) ((5) #{ \markup { \override #'(font-family . typewriter) \concat { \raise #.15 \fontsize #-6 { \raise #.5 5 \hspace #-.2 \raise #.2 / \hspace #-.2 6 } \Prefix } } #}) (else #{ \markup\Prefix #} startBarre = #(define-event-function (parser location arg-string-qty fret-nbr) (integer? markup?) ;; here's the problem ?? (define string-qty arg-string-qty) ;; hereunder should be fine: (let* ((mrkp (markup #:upright #:concat (prefix fret-nbr (let* ((mrkp (markup #:upright #:concat (#:lower 0.08 prefix #:lower 0.05 fret-nbr #:hspace 0.3 (define (width grob text-string) (let* ((layout (ly:grob-layout grob)) (props (ly:grob-alist-chain grob (ly:output-def-lookup layout 'text-font-defaults (interval-length (ly:stencil-extent (interpret-markup layout props (markup text-string)) X #{ \tweak TextSpanner.after-line-breaking #(lambda (grob) (let* ((mrkp-width (width grob mrkp)) (line-thickness (ly:staff-symbol-line-thickness grob))) (ly:grob-set-nested-property! grob '(bound-details left padding) (+ (/ mrkp-width -4) (* line-thickness 2) \tweak TextSpanner.font-size -2 \tweak TextSpanner.style #'line \tweak TextSpanner.bound-details.left.text #mrkp \tweak TextSpanner.bound-details.left.padding 0.25 \tweak TextSpanner.bound-details.left.attach-dir -1 \tweak TextSpanner.bound-details.left-broken.text ##f \tweak TextSpanner.bound-details.left-broken.attach-dir -1 %% adjust the numeric values to fit your needs: \tweak TextSpanner.bound-details.left-broken.padding 1.5 \tweak TextSpanner.bound-details.right-broken.padding 0 \tweak TextSpanner.bound-details.right.padding 0.25 \tweak TextSpanner.bound-details.right.attach-dir 2 \tweak TextSpanner.bound-details.right-broken.text ##f \tweak TextSpanner.bound-details.right.text \markup \draw-line #'(0 . -1) \startTextSpan #}))) stopBarre = \stopTextSpan %% Syntax: note \startBarre #'string quantity' text notes \stopBarre (text = any fret number) %% Example: {
Re: opera written with lily performance/demo
Congrats Jay! Cheers, Pierre 2015-03-14 18:12 GMT+01:00 Jay Hamilton i...@soundand.com: After trials and tribulations and a great deal of help from many of you I finished the score to my opera The Map in 2012. www.themaptheopera.com On the 21st of March a performance (to garner more support for a full production) of 5 scenes is Happening. Thanks for the aid- truly Jay -- Thanks for reading blogs at https://learnivore.com/users/music# www.soundand.com www.themaptheopera.com Jay ___ 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: divisi staves and notehead merge (issue 3518 revisited)
I've just found out that adding \override NoteColumn.ignore-collision = ##t does exactly the right thing, at least for the given example. I guess that this is just a work-around, since no real merging does happen... ...nd a much simpler solution is as follows, just for reference. No need to take care of collisions at all – the `unified' line simply holds the music of `viol' only. This works very well with real-world music too! Thanks again, David K., for this nice solution. Werner == boring = \set Staff.keepAliveInterfaces = #'() tricky = \unset Staff.keepAliveInterfaces violsolo=\relative d' { \boring \repeat unfold 100 d4 \tricky d g'2 \boring \repeat unfold 98 d4 \bar |. } viol=\relative d' { \boring \repeat unfold 100 d4 \tricky d4 d4 \boring \repeat unfold 98 d4 \bar |. } \score { \new StaffGroup \with { \consists Keep_alive_together_engraver } \new Staff \with { instrumentName = Violin solo shortInstrumentName = V solo \override VerticalAxisGroup.remove-empty = ##t \override VerticalAxisGroup.remove-first = ##t \override VerticalAxisGroup.remove-layer = 1 } \violsolo \new Staff \with { instrumentName = Violin gli altri shortInstrumentName = V \override VerticalAxisGroup.remove-empty = ##t \override VerticalAxisGroup.remove-first = ##t \override VerticalAxisGroup.remove-layer = 1 } \viol \new Staff \with { instrumentName = Violin shortInstrumentName = V \override VerticalAxisGroup.remove-layer = 2 } \viol \layout { short-indent = 2\cm indent = 3\cm } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Merging a markup-command with an event-function
Hi Pierre, On Sat, Mar 14, 2015 at 12:42 PM, Pierre Perol-Schneider pierre.schneider.pa...@gmail.com wrote: Hi, In order to make a new guitar barré function, I'm trying to merge the attached markup-command with an event-function (without success - problem is on line #90): % \version 2.18.2 Prefix = \markup { %% uncomment/comment these lines for C, C slashed, B or B slashed prefix : \roman C %\combine \roman C \translate #'(0.65 . -0.25) \override #'(thickness . 1.2) \draw-line #'(0 . 1.8) %\roman B %\combine \roman B \translate #'(0.65 . -0.25) \override #'(thickness . 1.2) \draw-line #'(0 . 1.8) \hspace #0.2 } #(define-markup-command (prefix layout props string-qty) (integer?) (interpret-markup layout props (case string-qty ((2) #{ \markup { \override #'(font-family . typewriter) \concat { \raise #.15 \fontsize #-6 { \raise #.5 1 \hspace #-.2 \raise #.2 / \hspace #-.2 3 } \Prefix } } #}) ((3) #{ \markup { \override #'(font-family . typewriter) \concat { \raise #.15 \fontsize #-6 { \raise #.5 1 \hspace #-.2 \raise #.2 / \hspace #-.2 2 } \Prefix } } #}) ((4) #{ \markup { \override #'(font-family . typewriter) \concat { \raise #.15 \fontsize #-6 { \raise #.5 2 \hspace #-.2 \raise #.2 / \hspace #-.2 3 } \Prefix } } #}) ((5) #{ \markup { \override #'(font-family . typewriter) \concat { \raise #.15 \fontsize #-6 { \raise #.5 5 \hspace #-.2 \raise #.2 / \hspace #-.2 6 } \Prefix } } #}) (else #{ \markup\Prefix #} startBarre = #(define-event-function (parser location arg-string-qty fret-nbr) (integer? markup?) ;; here's the problem ?? Nope, the line below is fine. However, why don't you subsume this in the let-block? (define string-qty arg-string-qty) ;; hereunder should be fine: (let* ((mrkp (markup #:upright #:concat (prefix fret-nbr You've defined Prefix with a capital P above. (let* ((mrkp (markup #:upright #:concat (#:lower 0.08 prefix #:lower 0.05 fret-nbr #:hspace 0.3 Same problem here. By the way, why the two assignments to mrkp? This one will shadow the one above. HTH, David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Merging a markup-command with an event-function
Hi David, 2015-03-14 19:03 GMT+01:00 David Nalesnik david.nales...@gmail.com: However, why don't you subsume this in the let-block? I've tried to - in fact I've tried a lot of things... without succes. (define string-qty arg-string-qty) ;; hereunder should be fine: (let* ((mrkp (markup #:upright #:concat (prefix fret-nbr You've defined Prefix with a capital P above. (let* ((mrkp (markup #:upright #:concat (#:lower 0.08 prefix #:lower 0.05 fret-nbr #:hspace 0.3 Same problem here. Actually no, 'prefix' here should be the markup-command not a variable. How can I fix that ? By the way, why the two assignments to mrkp? This one will shadow the one above. Hmm, Copy/Paste + tiredness... Cheers, Pierre ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user