Re: Ladder-style C clef for TTBB men's chorus
Just in case, for v2.18 version: \version "2.18.2" %%% Clef C Ladder Style defs: ladderStyleClef = \markup \override #'(filled . #t) \path #0.001 #'((moveto0.000 -1.500) (lineto0.000 -1.850) (curveto 0.000 -1.890 0.032 -1.920 0.075 -1.920) (curveto 0.122 -1.920 0.150 -1.890 0.150 -1.850) (lineto0.150 1.850) (curveto 0.150 1.890 0.122 1.920 0.075 1.920) (curveto 0.032 1.920 0.000 1.890 0.000 1.850) (closepath) (moveto0.350 -1.500) (lineto0.350 -1.850) (curveto 0.350 -1.890 0.382 -1.920 0.425 -1.920) (curveto 0.472 -1.920 0.500 -1.890 0.500 -1.850) (lineto0.500 1.850) (curveto 0.500 1.890 0.472 1.920 0.425 1.920) (curveto 0.382 1.920 0.350 1.890 0.350 1.850) (closepath) (moveto1.800 -1.500) (lineto1.800 -1.850) (curveto 1.800 -1.890 1.832 -1.920 1.875 -1.920) (curveto 1.922 -1.920 1.950 -1.890 1.950 -1.850) (lineto1.950 1.850) (curveto 1.950 1.890 1.922 1.920 1.875 1.920) (curveto 1.832 1.920 1.800 1.890 1.800 1.850) (closepath) (moveto2.150 -1.500) (lineto2.150 -1.850) (curveto 2.150 -1.890 2.182 -1.920 2.225 -1.920) (curveto 2.272 -1.920 2.300 -1.890 2.300 -1.850) (lineto2.300 1.850) (curveto 2.300 1.890 2.272 1.920 2.225 1.920) (curveto 2.182 1.920 2.150 1.890 2.150 1.850) (closepath) (moveto0.500 -1.100) (curveto 0.500 -1.030 0.520 -0.970 0.620 -0.950) (lineto1.600 -0.670) (curveto 1.690 -0.650 1.800 -0.620 1.800 -0.700) (lineto1.800 0.070) (curveto 1.800 -0.020 1.700 -0.020 1.630 -0.050) (lineto0.750 -0.300) (curveto 0.550 -0.370 0.500 -0.330 0.500 -0.200) (closepath) (moveto0.500 -0.100) (curveto 0.500 -0.030 0.520 0.030 0.620 0.050) (lineto1.600 0.330) (curveto 1.690 0.350 1.800 0.380 1.800 0.300) (lineto1.800 1.170) (curveto 1.800 0.980 1.700 0.980 1.630 0.950) (lineto0.750 0.700) (curveto 0.550 0.630 0.500 0.670 0.500 0.800) (closepath)) \new Staff \with { \override Clef.stencil = #(lambda (grob) (grob-interpret-markup grob ladderStyleClef)) clefPosition = #1 middleCPosition = #1 middleCClefPosition = #1 } { \key aes \major \time 3/4 c'2. } Cheers, Pierre 2016-09-18 1:02 GMT+02:00 Pierre Perol-Schneider < pierre.schneider.pa...@gmail.com>: > Hi Karlin, > > How about: > > \version "2.19.48" > > %%% Clef C Ladder Style defs: > myClefC = \markup\stencil > #(make-path-stencil >'(M 0.000 -1.500 > L 0.000 -1.850 > C 0.000 -1.890 0.032 -1.920 0.075 -1.920 > C 0.122 -1.920 0.150 -1.890 0.150 -1.850 > L 0.150 1.850 > C 0.150 1.890 0.122 1.920 0.075 1.920 > C 0.032 1.920 0.000 1.890 0.000 1.850 > Z > M 0.350 -1.500 > L 0.350 -1.850 > C 0.350 -1.890 0.382 -1.920 0.425 -1.920 > C 0.472 -1.920 0.500 -1.890 0.500 -1.850 > L 0.500 1.850 > C 0.500 1.890 0.472 1.920 0.425 1.920 > C 0.382 1.920 0.350 1.890 0.350 1.850 > Z > M 1.800 -1.500 > L 1.800 -1.850 > C 1.800 -1.890 1.832 -1.920 1.875 -1.920 > C 1.922 -1.920 1.950 -1.890 1.950 -1.850 > L 1.950 1.850 > C 1.950 1.890 1.922 1.920 1.875 1.920 > C 1.832 1.920 1.800 1.890 1.800 1.850 > Z > M 2.150 -1.500 > L 2.150 -1.850 > C 2.150 -1.890 2.182 -1.920 2.225 -1.920 > C 2.272 -1.920 2.300 -1.890 2.300 -1.850 > L 2.300 1.850 > C 2.300 1.890 2.272 1.920 2.225 1.920 > C 2.182 1.920 2.150 1.890 2.150 1.850 > Z > M 0.500 -1.100 > C 0.500 -1.030 0.520 -0.970 0.620 -0.950 > L 1.600 -0.670 > C 1.690 -0.650 1.800 -0.620 1.800 -0.700 > L 1.800 0.070 > C 1.800 -0.020 1.700 -0.020 1.630 -0.050 > L 0.750 -0.300 > C 0.550 -0.370 0.500 -0.330 0.500 -0.200 > Z > M 0.500 -0.100 > C 0.500 -0.030 0.520 0.030 0.620 0.050 > L 1.600 0.330 > C 1.690 0.350 1.800 0.380 1.800 0.300 > L 1.800 1.170 > C 1.800 0.980 1.700 0.980 1.630 0.950 > L 0.750 0.700 > C 0.550 0.630 0.500 0.670 0.500 0.800 > Z) >0 1 1 #t) > > \new Staff \with { > \override Clef.stencil = #(lambda (grob) (grob-interpret-markup grob > myClefC)) > clefPosition = #1 > middleCPosition = #1 > middleCClefPosition = #1 > } > { > \key aes \major > \time 3/4 > c'2. > } > > Cheers, > Pierre > > 2016-09-17 21:28 GMT+02:00 Karlin High : > >> Forwarded Message >> Subjec
Re: Ladder-style C clef for TTBB men's chorus
Hi Karlin, How about: \version "2.19.48" %%% Clef C Ladder Style defs: myClefC = \markup\stencil #(make-path-stencil '(M 0.000 -1.500 L 0.000 -1.850 C 0.000 -1.890 0.032 -1.920 0.075 -1.920 C 0.122 -1.920 0.150 -1.890 0.150 -1.850 L 0.150 1.850 C 0.150 1.890 0.122 1.920 0.075 1.920 C 0.032 1.920 0.000 1.890 0.000 1.850 Z M 0.350 -1.500 L 0.350 -1.850 C 0.350 -1.890 0.382 -1.920 0.425 -1.920 C 0.472 -1.920 0.500 -1.890 0.500 -1.850 L 0.500 1.850 C 0.500 1.890 0.472 1.920 0.425 1.920 C 0.382 1.920 0.350 1.890 0.350 1.850 Z M 1.800 -1.500 L 1.800 -1.850 C 1.800 -1.890 1.832 -1.920 1.875 -1.920 C 1.922 -1.920 1.950 -1.890 1.950 -1.850 L 1.950 1.850 C 1.950 1.890 1.922 1.920 1.875 1.920 C 1.832 1.920 1.800 1.890 1.800 1.850 Z M 2.150 -1.500 L 2.150 -1.850 C 2.150 -1.890 2.182 -1.920 2.225 -1.920 C 2.272 -1.920 2.300 -1.890 2.300 -1.850 L 2.300 1.850 C 2.300 1.890 2.272 1.920 2.225 1.920 C 2.182 1.920 2.150 1.890 2.150 1.850 Z M 0.500 -1.100 C 0.500 -1.030 0.520 -0.970 0.620 -0.950 L 1.600 -0.670 C 1.690 -0.650 1.800 -0.620 1.800 -0.700 L 1.800 0.070 C 1.800 -0.020 1.700 -0.020 1.630 -0.050 L 0.750 -0.300 C 0.550 -0.370 0.500 -0.330 0.500 -0.200 Z M 0.500 -0.100 C 0.500 -0.030 0.520 0.030 0.620 0.050 L 1.600 0.330 C 1.690 0.350 1.800 0.380 1.800 0.300 L 1.800 1.170 C 1.800 0.980 1.700 0.980 1.630 0.950 L 0.750 0.700 C 0.550 0.630 0.500 0.670 0.500 0.800 Z) 0 1 1 #t) \new Staff \with { \override Clef.stencil = #(lambda (grob) (grob-interpret-markup grob myClefC)) clefPosition = #1 middleCPosition = #1 middleCClefPosition = #1 } { \key aes \major \time 3/4 c'2. } Cheers, Pierre 2016-09-17 21:28 GMT+02:00 Karlin High : > Forwarded Message > Subject: Re: Why the part-combining in American hymnals? (WAS: > Beaming, partcombine and pickups) > Date: Sat, 17 Sep 2016 16:24:27 +0100 > From: J Martin Rushton > > ...In passing I also note the use of the C-clef, but in an unusual > position that makes it the same as a conventional G-clef. > Regards, > Martin > > End Forwarded Message Excerpt > > The unusual C-clef is actually the same effect as using \clef "treble_8" > but with a different symbol. Middle C ends up on the third space. > > For me, that "ladder" clef symbol instantly identifies the song as a > TTBB men's chorus arrangement. I'm attaching a PNG with a more-typical > example of what I'm used to. LilyPond's standard C-clef symbol is > something I hadn't seen outside of the software until two days ago, when > I found it in an early-1900s men's chorus songbook at a garage sale. > (The book was something like this one: > https://archive.org/details/youngmenschorusc00adam ) > > Is there any way to get that ladder-style C-clef in LilyPond? Although I > can live with treble_8, typical TTBB men's chorus audiences here would > expect the ladder. I remember seeing a discussion for generating a very > similar symbol, but the right side of the ladder had "flags" going out > from the top and the bottom. > -- > Karlin High > Missouri, USA > > ___ > 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: What to do wanting a 4th order Bézier?
2016-09-17 23:47 GMT+02:00 Urs Liska : > > > Am 17. September 2016 23:10:08 MESZ, schrieb Simon Albrecht > : >>And finally with a better user interface: >> > > I'll have to look it up (and probably update it to handle current LilyPond), > but Frescobaldi can display control points with the Layout Control Options > tool (and this is of course based on code by Harm). Think so, yes. But here not the default is displayed. And some people (like me) don't use Frescobaldi ;) Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: What to do wanting a 4th order Bézier?
Am 17. September 2016 23:10:08 MESZ, schrieb Simon Albrecht : >And finally with a better user interface: > I'll have to look it up (and probably update it to handle current LilyPond), but Frescobaldi can display control points with the Layout Control Options tool (and this is of course based on code by Harm). HTH Urs > >\version "2.19.47" >\language "deutsch" >#(define (make-cross-stencil coord) >"Draw a cross-stencil at coord." >(let ((thick 0.1) > (sz 0.2)) > (stencil-with-color > (ly:stencil-add >(make-line-stencil > thick > (- (car coord) sz) > (- (cdr coord) sz) > (+ (car coord) sz) > (+ (cdr coord) sz)) >(make-line-stencil > thick > (- (car coord) sz) > (+ (cdr coord) sz) > (+ (car coord) sz) > (- (cdr coord) sz))) > > cyan) > )) >compoundSlur = >#(define-event-function (contr-pts ann?) (list? boolean?) >(let ((proc (lambda (grob) > (let* (;; only here for reference: > (cps (ly:slur::calc-control-points grob)) > (cps1 (first contr-pts)) > (cps2 (second contr-pts)) > (first-spline-stil >(begin > (ly:grob-set-property! grob 'control-points >cps1) > (ly:slur::print grob))) > (second-spline-stil >(begin > (ly:grob-set-property! grob 'control-points >cps2) > (ly:slur::print grob))) > ;; annotates all new control-points > (crosses >(if ann? >(apply > ly:stencil-add > (map > (lambda (c) >(make-cross-stencil c)) > (append cps1 cps2))) >empty-stencil)) > ) >;(pretty-print cps) >;; returns >;; ((0.631380973009261 . 7.545004) >;; (3.65053718406404 . 9.82511349243875) >;; (53.1972252988833 . 16.0566485774538) >;; (56.6869647738747 . 14.5951692170292)) > >(ly:stencil-add > first-spline-stil > second-spline-stil > crosses > ) > #{ -\tweak stencil $proc ( #})) >cptsA = #'(((0.6 . 5.8) > (3.6 . 7.8) > (25.0 . 5.0) > (32 . 12)) >((32 . 12) > (39.0 . 17.5) > (53.1 . 16.0) > (55.5 . 12.5))) > >upper = \relative { > \key d \major > \clef bass > s2 r8 d,16 g h d g h > d8 r s2. > s4 \voiceTwo h8.(-- c16-- h2--) >} >lower = \relative { > \key d \major > \clef bass > r2 > ~-^-\compoundSlur \cptsA ##t > << > { > 4 \voiceOne cis > \change Staff = upper > \clef treble \voiceOne d e fis2) > \fermata > } > \new Voice { > \voiceTwo > s2. 4 \oneVoice > 2\fermata > } > >> >} >\score { > << > \new PianoStaff << > \new Staff = upper \upper > \new Staff = lower \lower > >> > >> >} >%%% > >Thanks a lot! >Simon > > >On 17.09.2016 22:39, Thomas Morley wrote: >> 2016-09-17 21:50 GMT+02:00 Simon Albrecht : >> >>> Only one glitch: Is make-cross-stencil a private function of yours? >> Aaarrrgh, forgot to include. Sorry for that. >> >> #(define (make-cross-stencil coord) >>"Draw a cross-stencil at coord." >>(let ((thick 0.1) >> (sz 0.2)) >>(stencil-with-color >> (ly:stencil-add >>(make-line-stencil >> thick >> (- (car coord) sz) >> (- (cdr coord) sz) >> (+ (car coord) sz) >> (+ (cdr coord) sz)) >>(make-line-stencil >> thick >> (- (car coord) sz) >> (+ (cdr coord) sz) >> (+ (car coord) sz) >> (- (cdr coord) sz))) >> >>cyan) >>)) >> >> Cheers, >>Harm > > >___ >lilypond-user mailing list >lilypond-user@gnu.org >https://lists.gnu.org/mailman/listinfo/lilypond-user -- Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Ladder-style C clef for TTBB men's chorus
2016-09-17 21:28 GMT+02:00 Karlin High : > Forwarded Message > Subject: Re: Why the part-combining in American hymnals? (WAS: > Beaming, partcombine and pickups) > Date: Sat, 17 Sep 2016 16:24:27 +0100 > From: J Martin Rushton > > ...In passing I also note the use of the C-clef, but in an unusual > position that makes it the same as a conventional G-clef. > Regards, > Martin > > End Forwarded Message Excerpt > > The unusual C-clef is actually the same effect as using \clef "treble_8" > but with a different symbol. Middle C ends up on the third space. > > For me, that "ladder" clef symbol instantly identifies the song as a > TTBB men's chorus arrangement. I'm attaching a PNG with a more-typical > example of what I'm used to. LilyPond's standard C-clef symbol is > something I hadn't seen outside of the software until two days ago, when > I found it in an early-1900s men's chorus songbook at a garage sale. > (The book was something like this one: > https://archive.org/details/youngmenschorusc00adam ) > > Is there any way to get that ladder-style C-clef in LilyPond? Although I > can live with treble_8, typical TTBB men's chorus audiences here would > expect the ladder. I remember seeing a discussion for generating a very > similar symbol, but the right side of the ladder had "flags" going out > from the top and the bottom. > -- > Karlin High > Missouri, USA You can define custom-clefs pretty easily (as long as you use glyphs from emmentaler or whatever main-font you use) #(add-new-clef "myMiddleC" "clefs.petrucci.c4" 1 0 0) { \clef myMiddleC c' } add-new-clef needs five arguments: (add-new-clef clef-name clef-glyph clef-position transposition c0-position) An additional override for Clef.stencil is possible, ofcourse. Although it looks pretty wrong to see a c-clef not announcing a line fo the c... HTH, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: What to do wanting a 4th order Bézier?
And finally with a better user interface: \version "2.19.47" \language "deutsch" #(define (make-cross-stencil coord) "Draw a cross-stencil at coord." (let ((thick 0.1) (sz 0.2)) (stencil-with-color (ly:stencil-add (make-line-stencil thick (- (car coord) sz) (- (cdr coord) sz) (+ (car coord) sz) (+ (cdr coord) sz)) (make-line-stencil thick (- (car coord) sz) (+ (cdr coord) sz) (+ (car coord) sz) (- (cdr coord) sz))) cyan) )) compoundSlur = #(define-event-function (contr-pts ann?) (list? boolean?) (let ((proc (lambda (grob) (let* (;; only here for reference: (cps (ly:slur::calc-control-points grob)) (cps1 (first contr-pts)) (cps2 (second contr-pts)) (first-spline-stil (begin (ly:grob-set-property! grob 'control-points cps1) (ly:slur::print grob))) (second-spline-stil (begin (ly:grob-set-property! grob 'control-points cps2) (ly:slur::print grob))) ;; annotates all new control-points (crosses (if ann? (apply ly:stencil-add (map (lambda (c) (make-cross-stencil c)) (append cps1 cps2))) empty-stencil)) ) ;(pretty-print cps) ;; returns ;; ((0.631380973009261 . 7.545004) ;; (3.65053718406404 . 9.82511349243875) ;; (53.1972252988833 . 16.0566485774538) ;; (56.6869647738747 . 14.5951692170292)) (ly:stencil-add first-spline-stil second-spline-stil crosses ) #{ -\tweak stencil $proc ( #})) cptsA = #'(((0.6 . 5.8) (3.6 . 7.8) (25.0 . 5.0) (32 . 12)) ((32 . 12) (39.0 . 17.5) (53.1 . 16.0) (55.5 . 12.5))) upper = \relative { \key d \major \clef bass s2 r8 d,16 g h d g h d8 r s2. s4 \voiceTwo h8.(-- c16-- h2--) } lower = \relative { \key d \major \clef bass r2 ~-^-\compoundSlur \cptsA ##t << { 4 \voiceOne cis \change Staff = upper \clef treble \voiceOne d e fis2) \fermata } \new Voice { \voiceTwo s2. 4 \oneVoice 2\fermata } >> } \score { << \new PianoStaff << \new Staff = upper \upper \new Staff = lower \lower >> >> } %%% Thanks a lot! Simon On 17.09.2016 22:39, Thomas Morley wrote: 2016-09-17 21:50 GMT+02:00 Simon Albrecht : Only one glitch: Is make-cross-stencil a private function of yours? Aaarrrgh, forgot to include. Sorry for that. #(define (make-cross-stencil coord) "Draw a cross-stencil at coord." (let ((thick 0.1) (sz 0.2)) (stencil-with-color (ly:stencil-add (make-line-stencil thick (- (car coord) sz) (- (cdr coord) sz) (+ (car coord) sz) (+ (cdr coord) sz)) (make-line-stencil thick (- (car coord) sz) (+ (cdr coord) sz) (+ (car coord) sz) (- (cdr coord) sz))) cyan) )) Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: What to do wanting a 4th order Bézier?
2016-09-17 21:50 GMT+02:00 Simon Albrecht : > Only one glitch: Is make-cross-stencil a private function of yours? Aaarrrgh, forgot to include. Sorry for that. #(define (make-cross-stencil coord) "Draw a cross-stencil at coord." (let ((thick 0.1) (sz 0.2)) (stencil-with-color (ly:stencil-add (make-line-stencil thick (- (car coord) sz) (- (cdr coord) sz) (+ (car coord) sz) (+ (cdr coord) sz)) (make-line-stencil thick (- (car coord) sz) (+ (cdr coord) sz) (+ (car coord) sz) (- (cdr coord) sz))) cyan) )) Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Ladder-style C clef for TTBB men's chorus
Forwarded Message Subject: Re: Why the part-combining in American hymnals? (WAS: Beaming, partcombine and pickups) Date: Sat, 17 Sep 2016 16:24:27 +0100 From: J Martin Rushton ...In passing I also note the use of the C-clef, but in an unusual position that makes it the same as a conventional G-clef. Regards, Martin End Forwarded Message Excerpt The unusual C-clef is actually the same effect as using \clef "treble_8" but with a different symbol. Middle C ends up on the third space. For me, that "ladder" clef symbol instantly identifies the song as a TTBB men's chorus arrangement. I'm attaching a PNG with a more-typical example of what I'm used to. LilyPond's standard C-clef symbol is something I hadn't seen outside of the software until two days ago, when I found it in an early-1900s men's chorus songbook at a garage sale. (The book was something like this one: https://archive.org/details/youngmenschorusc00adam ) Is there any way to get that ladder-style C-clef in LilyPond? Although I can live with treble_8, typical TTBB men's chorus audiences here would expect the ladder. I remember seeing a discussion for generating a very similar symbol, but the right side of the ladder had "flags" going out from the top and the bottom. -- Karlin High Missouri, USA ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: What to do wanting a 4th order Bézier?
On 17.09.2016 21:34, Thomas Morley wrote: 2016-09-17 20:45 GMT+02:00 Kieren MacMillan : Hi Simon, I’m attaching an excerpt from my current project, where I’d actually really need a 4th order Bézier slur – but that’s impossible with Lily now. Unfortunately I also lack an idea what else to do in this situation – I’d like to avoid an extra staff… Any ideas? What about something like this "compound slur"? (Obviously, you could/should spend more time to really make the slur nice.) %%% SNIPPET BEGINS (snipped snippet) Hope that helps! Kieren. Hi Simon, Kieren already demonstrated a possible workaround. Below my own approach, probably a very first step in the direction David mentioned. You'll need to find all the values manually. Displaying the original control-points and/or making the new ones visible with those crosses may help. Thanks a lot for that! Quite nice in the output. Only one glitch: Is make-cross-stencil a private function of yours? Best, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: What to do wanting a 4th order Bézier?
2016-09-17 20:45 GMT+02:00 Kieren MacMillan : > Hi Simon, > >> I’m attaching an excerpt from my current project, where I’d actually really >> need a 4th order Bézier slur – but that’s impossible with Lily now. >> Unfortunately I also lack an idea what else to do in this situation – I’d >> like to avoid an extra staff… >> Any ideas? > > What about something like this "compound slur"? > (Obviously, you could/should spend more time to really make the slur nice.) > > %%% SNIPPET BEGINS > \version "2.19.46" > \language "deutsch" > > slurfixA = { > \shape #'((1 . -2.625) (2 . 1) (-32 . -14) (-28.25 . -5)) Slur > } > slurfixB = { > \shape #'((0 . 1.5) (4 . 6) (-4 . 2) (-0.5 . -3)) Slur > } > > upper = \relative { > \key d \major > \clef bass > s2 r8 d,16 g h d g h > d8 r s2. > s4 \voiceTwo h8.(-- c16-- h2--) > } > lower = \relative { > \key d \major > \clef bass > r2 \slurfixA ~-^\=1( > << > { > 4 \slurfixB \=2( \voiceOne cis > \change Staff = upper > \clef treble \voiceOne d e fis2\=1)\=2)\fermata > } > \new Voice { > \voiceTwo > s2. 4 \oneVoice > 2\fermata > } > >> > } > \score { > << > \new PianoStaff << > \new Staff = upper \upper > \new Staff = lower \lower > >> > >> > } > %%% SNIPPET ENDS > > Hope that helps! > Kieren. Hi Simon, Kieren already demonstrated a possible workaround. Below my own approach, probably a very first step in the direction David mentioned. You'll need to find all the values manually. Displaying the original control-points and/or making the new ones visible with those crosses may help. \version "2.19.47" \language "deutsch" #(define (proc grob) (let* (;; only here for reference: (cps (ly:slur::calc-control-points grob)) (cps1 '((0.6 . 5.8) (3.6 . 7.8) (25.0 . 5.0) (32 . 12))) (cps2 '((32 . 12) (39.0 . 17.5) (53.1 . 16.0) (55.5 . 12.5))) (first-spline-stil (begin (ly:grob-set-property! grob 'control-points cps1) (ly:slur::print grob))) (second-spline-stil (begin (ly:grob-set-property! grob 'control-points cps2) (ly:slur::print grob))) ;; annotates all new control-points (crosses (apply ly:stencil-add (map (lambda (c) (make-cross-stencil c)) (append cps1 cps2 ) ;(pretty-print cps) ;; returns ;; ((0.631380973009261 . 7.545004) ;; (3.65053718406404 . 9.82511349243875) ;; (53.1972252988833 . 16.0566485774538) ;; (56.6869647738747 . 14.5951692170292)) (ly:stencil-add first-spline-stil second-spline-stil ;; comment next line to get rid of the crosses crosses ))) upper = \relative { \key d \major \clef bass s2 r8 d,16 g h d g h d8 r s2. s4 \voiceTwo h8.(-- c16-- h2--) } lower = \relative { \key d \major \clef bass r2 \override Slur.stencil = #proc ~-^( << { 4 \voiceOne cis \change Staff = upper \clef treble \voiceOne d e fis2) \fermata } \new Voice { \voiceTwo s2. 4 \oneVoice 2\fermata } >> } \score { << \new PianoStaff << \new Staff = upper \upper \new Staff = lower \lower >> >> } Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: trying to reproduce unusual time signature
Hi Kim, It appears to me that what you are working from may be over-edited, not uncommon in editions from the 1950's and before. Not all editors of modern editions have made the choices that later editors might have chosen. For example shifts of 2 x 3/8 to 3 x 3/8 simply mean the editor's choice of where to put measure marks causes measures of different length. It's usually preferable to let measures have different lengths; changing the time signature makes more for busyness than for clarity. Changing measure lengths is often done to avoid having notes that span measures. Another approach is to use mensurstrichen (measure marks between staves rather than through staves) and let note values slop over the measures. That better expresses the way the music was understood before measure markings came in with the Baroque, which has far more regular rhythms. Also, shifts between 6/8 and 3/4 in some repertoires can be ambiguous and fluid, often off the beat. Explicit call outs reflects the editor's choice of phrasing, which properly should be determined by the performer. If you can, look at a facsimile of the piece you are transcribing, use the modern edition to help you where necessary, but don't slavishly follow it. Avoid being specific where the original was not. In any case, while trying to get LilyPond to produce the time markings you desire may be technically interesting, from a practical musician's standpoint, those markings are unnecessary and distracting. Bockett Hunter On Sat, Sep 17, 2016 at 12:29 PM, Kim Shrier wrote: > > > On Sep 17, 2016, at 1:32 AM, Pierre Perol-Schneider < > pierre.schneider.pa...@gmail.com> wrote: > > > > Hi Kim, > > > > You can adapt: http://lsr.di.unimi.it/LSR/Item?id=725 > > > > e.g.: > > > > \version "2.18.2" > > > > \relative c' { > > \override Score.TimeSignature.stencil = > > #(lambda (grob) > > (grob-interpret-markup grob > > #{ > > \markup\concat\number > > \override #'(baseline-skip . 2) > > \vcenter { > > "2" \fontsize #-3 "×" > > \center-column { "3" "4" } > > } > > #})) > > \time 3/4 > > c8 b c d e f g4 g g g4 a8 g f e d2. \bar "|." > > } > > > > > > HTH, > > Pierre > > > That looks promising. I don’t have time to try it today but I will > tomorrow. Thanks. > Kim > > > ___ > 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: What to do wanting a 4th order Bézier?
Hi Simon, > I’m attaching an excerpt from my current project, where I’d actually really > need a 4th order Bézier slur – but that’s impossible with Lily now. > Unfortunately I also lack an idea what else to do in this situation – I’d > like to avoid an extra staff… > Any ideas? What about something like this "compound slur"? (Obviously, you could/should spend more time to really make the slur nice.) %%% SNIPPET BEGINS \version "2.19.46" \language "deutsch" slurfixA = { \shape #'((1 . -2.625) (2 . 1) (-32 . -14) (-28.25 . -5)) Slur } slurfixB = { \shape #'((0 . 1.5) (4 . 6) (-4 . 2) (-0.5 . -3)) Slur } upper = \relative { \key d \major \clef bass s2 r8 d,16 g h d g h d8 r s2. s4 \voiceTwo h8.(-- c16-- h2--) } lower = \relative { \key d \major \clef bass r2 \slurfixA ~-^\=1( << { 4 \slurfixB \=2( \voiceOne cis \change Staff = upper \clef treble \voiceOne d e fis2\=1)\=2)\fermata } \new Voice { \voiceTwo s2. 4 \oneVoice 2\fermata } >> } \score { << \new PianoStaff << \new Staff = upper \upper \new Staff = lower \lower >> >> } %%% SNIPPET ENDS Hope that helps! Kieren. Kieren MacMillan, composer ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: What to do wanting a 4th order Bézier?
Simon Albrecht writes: > Hello folks, > > I’m attaching an excerpt from my current project, where I’d actually > really need a 4th order Bézier slur – but that’s impossible with Lily > now. Unfortunately I also lack an idea what else to do in this > situation – I’d like to avoid an extra staff… That really does not look to me like you want a "4th order Bézier slur" rather than a slur consisting of more than one piece. I think it should be reasonably implementable to have slurs of more than one segment as long as the _automatic_ slurs stay as they are. With regard to automatic slurs, one would probably want to have some measure regarding slur badness and only attempt splitting into multiple segments when that is pretty bad. But the first step would be to allow for manually specified multi-segment slurs. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: What to do wanting a 4th order Bézier?
On 17.09.2016 20:27, Simon Albrecht wrote: Hello folks, I’m attaching an excerpt from my current project, where I’d actually really need a 4th order Bézier slur – but that’s impossible with Lily now. Unfortunately I also lack an idea what else to do in this situation – I’d like to avoid an extra staff… Any ideas? Best, Simon Here’s the code as well. \version "2.19.47" \language "deutsch" upper = \relative { \key d \major \clef bass s2 r8 d,16 g h d g h d8 r s2. s4 \voiceTwo h8.(-- c16-- h2--) } lower = \relative { \key d \major \clef bass r2 ~-^( << { 4 \voiceOne cis \change Staff = upper \clef treble \voiceOne d e fis2)\fermata } \new Voice { \voiceTwo s2. 4 \oneVoice 2\fermata } >> } \score { << \new PianoStaff << \new Staff = upper \upper \new Staff = lower \lower >> >> }___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
What to do wanting a 4th order Bézier?
Hello folks, I’m attaching an excerpt from my current project, where I’d actually really need a 4th order Bézier slur – but that’s impossible with Lily now. Unfortunately I also lack an idea what else to do in this situation – I’d like to avoid an extra staff… Any ideas? Best, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: trying to reproduce unusual time signature
On 17.09.2016 18:24, Kim Shrier wrote: On Sep 17, 2016, at 5:42 AM, Simon Albrecht wrote: On 17.09.2016 08:08, Kim Shrier wrote: I am re-typsetting a piece from a modern (1950’s) edition of some 14’th century music, in order to make it easier to read and play from. It has a time signature that looks like: 3 2 x - 4 If I may give some counsel here: Make it easy and just use 6/4. There’s no additional information we gain from the extraordinary 2x3/4, and IIUC using meters of 6 is very common in transcriptions of such early music. I think that preserving the time signatures as they are would be better. the 2 x 3/4 was just one example. The piece starts off in 2 x 2/4 goes to 2 x 6/8 then 3 x 6/8 then back to 2 x 2/4 and ends in 2 x 3/4. The second part starts in 2 x 6/8, goes to 3 x 6/8, 2 x 3/4, 3 x 3/4, 2 x 3/4, and ends in 2 x 6/8. The first number tells you how many major pulses are in a measure and the fraction tells you how to subdivide the pulse. Oh, that does make sense :-) Best, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: trying to reproduce unusual time signature
> On Sep 17, 2016, at 1:32 AM, Pierre Perol-Schneider > wrote: > > Hi Kim, > > You can adapt: http://lsr.di.unimi.it/LSR/Item?id=725 > > e.g.: > > \version "2.18.2" > > \relative c' { > \override Score.TimeSignature.stencil = > #(lambda (grob) > (grob-interpret-markup grob > #{ > \markup\concat\number > \override #'(baseline-skip . 2) > \vcenter { > "2" \fontsize #-3 "×" > \center-column { "3" "4" } > } > #})) > \time 3/4 > c8 b c d e f g4 g g g4 a8 g f e d2. \bar "|." > } > > > HTH, > Pierre That looks promising. I don’t have time to try it today but I will tomorrow. Thanks. Kim ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: trying to reproduce unusual time signature
> On Sep 17, 2016, at 5:42 AM, Simon Albrecht wrote: > > On 17.09.2016 08:08, Kim Shrier wrote: >> I am re-typsetting a piece from a modern (1950’s) edition >> of some 14’th century music, in order to make it easier to >> read and play from. It has a time signature that looks like: >> >> 3 >> 2 x - >> 4 > > If I may give some counsel here: Make it easy and just use 6/4. There’s no > additional information we gain from the extraordinary 2x3/4, and IIUC using > meters of 6 is very common in transcriptions of such early music. I think that preserving the time signatures as they are would be better. the 2 x 3/4 was just one example. The piece starts off in 2 x 2/4 goes to 2 x 6/8 then 3 x 6/8 then back to 2 x 2/4 and ends in 2 x 3/4. The second part starts in 2 x 6/8, goes to 3 x 6/8, 2 x 3/4, 3 x 3/4, 2 x 3/4, and ends in 2 x 6/8. The first number tells you how many major pulses are in a measure and the fraction tells you how to subdivide the pulse. I do appreciate your advice. > > Best, Simon Kim ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Why the part-combining in American hymnals? (WAS: Beaming, partcombine and pickups)
On 17/09/16 00:05, Karlin High wrote: > On 9/16/2016 5:26 PM, J Martin Rushton wrote: >> 2) How does the "American" style indicate when the voices cross? > > In short, it follows the "English" style until the cross-condition ceases. > > Here's an example that came to hand: > https://s3.amazonaws.com/wayne-hooper/quartet-arrangements/alltheway.pdf > See the third staff, end of third measure? > > The notes for the voice that is normally on the bottom - SATB alto or > TTBB second tenor, and bass - will get down-stems. > Voices normally on the top - SATB soprano or TTBB first tenor, and SATB > tenor or TTBB baritone - will get up-stems. > -- > Karlin High > Missouri, USA > Thanks Karlin, that makes things much clearer. In passing I also note the use of the C-clef, but in an unusual position that makes it the same as a conventional G-clef. Regards, Martin signature.asc Description: OpenPGP digital signature ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: BendSpanner-engraver
Hi Harm, Am 14.09.2016 um 23:00 schrieb Thomas Morley: [...] In general I'd vote for those shortcuts, but to fall back to the basic commands if needed. I had some time to re-think my basic approach ... maybe you are right and I think way too complicated in terms of taking each string into account. Working with different TabVoices is probably easier in most cases. Some years ago I had long discussions on the devel list concerning the implementation of a string-bend-engraver (that would have had to be done in C++ at this time), especially with Carl Sorensen, and we came to the conclusion that a bend event is something that happens *to a certain string*, therefore it is possible to bend a string, keep it bent, bend another one, release it and then release the first bent string again. This is rather complicated stuff, but some guitarists do stuff of this kind ;-) I partly disagree, you can bend a single string or an EventChord (speaking lilypondish), meaning all strings are bended starting at the same musical moment ending at another but same musical moment for all strings. This is supported already. Ok, this was probably a misunderstanding: I can either bend one string or many strings at once, but you can manipulate the strings independently ... as you proved with your concept of using distinct TabVoices, this works already. [...] So I may be wrong, scans of printed TabStaffs would help me a lot. still searching ... ;-) Additionally, I'm not sure, whether we _should_ make every style available, though. My limited inside lets me think every tab-editor creates his own style ad hoc and on the fly... Well, my concerns were not about styles, but about usability. You convinced me that going for different TabVoices is the way to go! [...] The result: they never bothered to learn reading notes. :(( Yes, that's true. Ofcourse you know, tabs _do_have disadvantages: choosing other strings for fingerings require a _new_ tab , polyphonics are always difficult to print. To mention the most prominent ones... Therefore I go for a combination of normal Staves and TabStaff, and I am responsible for the current behaviour of the TabStaff: numbers only, no stems and stuff ;-) Cheers, Marc ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: trying to reproduce unusual time signature
On 17.09.2016 08:08, Kim Shrier wrote: I am re-typsetting a piece from a modern (1950’s) edition of some 14’th century music, in order to make it easier to read and play from. It has a time signature that looks like: 3 2 x - 4 If I may give some counsel here: Make it easy and just use 6/4. There’s no additional information we gain from the extraordinary 2x3/4, and IIUC using meters of 6 is very common in transcriptions of such early music. Best, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: \abs-(font)size for \epsfile
Hi Malte, > It would be nice though to have an easier method to make whole markups > “absolute-sized” That *would* be nice! > Here my pt-based (instead of mm-based) abs-epsfile and abs-baseline-skip > commands, maybe they are of interest for someone. Here are the ones I use (can’t remember who wrote them?). I don’t know if they’re different, or which is preferable — but thought you might like to see them. #(define-public (pt-to-ss size) (let* ((5pt (ly:pt 5)) (output-scale (ly:output-def-lookup $defaultpaper 'output-scale 1)) (factor (/ output-scale 5pt)) (staff-space (* 5 factor))) (/ size staff-space))) #(define-markup-command (abs-baseline-skip layout props size arg) (number? markup?) #:category font (interpret-markup layout (cons `((baseline-skip . ,(pt-to-ss size))) props) arg)) Best, Kieren. Kieren MacMillan, composer ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: (Automatically) split partcombined voices to temporary staff
Am 16.09.2016 um 21:51 schrieb David Kastrup: > Urs Liska writes: > >> I have a question regarding complicated orchestral material. Note that I >> don't need a solution right now, only a plausible estimate if that's >> possible to implement at all. >> >> Consider the situation of a staff with two partcombined voices (say, >> flutes). If there are spots (measures or ranges of measures) where the >> voices are so individualized or complex that the part combination >> becomes unreadable I would like to split this range (measure) to two >> individual staves. > [...] > >> Any suggestions welcome. > That's what the remove-layer feature is for. Maybe take a look at > input/regression/divisi-staves.ly for an example. > > Note that the various layers don't need to contain the same material, so > you are free to use \partcombine for the combined layer while not > combining layers when split. > Thanks David. This is exactly what I was looking for. It will be trivial to wrap this into a nice set-up where you can simply pass a list of measures (per part or combined staff) that are not to be combined. This works independently from manual or automatic breaking, and it is possible to change one's mind about the decisions without having to modify the content files! Best Urs ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: \abs-(font)size for \epsfile
Am 16.09.2016 um 11:53 schrieb Pierre Perol-Schneider: Hi Malte, Here is an old thread regarding a similar demand: http://lilypond.1069038.n5.nabble.com/Absolute-size-for-epsfile-i-e-independent-of-global-staff-size-td161872.html HTH, Pierre Thanks Pierre for the hint and Marc for the solution I found in this thread. This approach also works for other things like baseline-skip overrides, probably I’ll make some other similar commands. It would be nice though to have an easier method to make whole markups “absolute-sized”, maybe something like \markup \absolute { [everything inside behaves as if global staff size was the default 20pt] } or \markup \absolute #16 { [everything inside behaves as if global staff size was 16pt] } with an optional argument or \default for #20. Here my pt-based (instead of mm-based) abs-epsfile and abs-baseline-skip commands, maybe they are of interest for someone. % \version "2.19.47" % based on epsfile-mm by Marc Hohl % http://lists.gnu.org/archive/html/lilypond-user/2014-04/msg00632.html #(define-markup-command (abs-epsfile layout props axis size file-name) (number? number? string?) (let* ((output-scale (ly:output-def-lookup layout 'output-scale)) (scaled-size-mm (/ size output-scale)) (scaled-size (* scaled-size-mm (/ 25.4 72.27 (if (ly:get-option 'safe) (interpret-markup layout props "not allowed in safe") (eps-file->stencil axis scaled-size file-name #(define-markup-command (abs-baseline-skip layout props skip m) (number? markup?) (let* ((output-scale (ly:output-def-lookup layout 'output-scale)) (scaled-skip-mm (/ skip output-scale)) (scaled-skip (* scaled-skip-mm (/ 25.4 72.27 (interpret-markup layout props (markup #:override (cons 'baseline-skip scaled-skip) m ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: trying to reproduce unusual time signature
Hi Kim, You can adapt: http://lsr.di.unimi.it/LSR/Item?id=725 e.g.: \version "2.18.2" \relative c' { \override Score.TimeSignature.stencil = #(lambda (grob) (grob-interpret-markup grob #{ \markup\concat\number \override #'(baseline-skip . 2) \vcenter { "2" \fontsize #-3 "×" \center-column { "3" "4" } } #})) \time 3/4 c8 b c d e f g4 g g g4 a8 g f e d2. \bar "|." } HTH, Pierre 2016-09-17 8:08 GMT+02:00 Kim Shrier : > I am re-typsetting a piece from a modern (1950’s) edition > of some 14’th century music, in order to make it easier to > read and play from. It has a time signature that looks like: > > 3 > 2 x - > 4 > > Is there some way to do this in lilypond? > > It looks like I could write a scheme function to do this but > I wanted to make sure I haven’t missed something that > already exists before I embark on that. > > Thanks, > Kim > > > ___ > 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