decrescendo mark
I want the decrescendo mark to extend from the first bar into the second bar, ending under the c,4 node. What do I have to do to make this happen? \version 2.16.0 melody = \relative c' { \time 2/4 { \stemDown d,8\ [ g g, g' ] } \\ { \stemUp b4 b } | { \stemDown c,4\! c8 \rest } \\ { \stemUp c'4 c8 \rest } \bar || } \score { \context Voice { \clef treble_8 \melody } } % score % Local Variables: % % tab-width: 4 % % compile-command: lilypond --ps test1.ly % % End: % ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RehearsalMark
I'm sorry, I can't make this example smaller and generate the problem. I want line 2 to end with the mark Fine, but the mark Fine appears at the start of line 3. How do I get Fine to appear at the end of line 2? \version 2.16.0 melody = \relative c' { \time 2/4 \partial 8 \repeat volta 2 { { c,8 \rest } \\ { \stemUp g'8 } | { \stemDown d8 [ g c, g' ] } \\ { \stemUp f'4 e } | { \stemDown b,8 [ g' a, g' ] } \\ { \stemUp d'4 c } | { \stemDown g,8 [ g' a, g' ] } \\ { \stemUp b4 c } | { \stemDown b,8 [ g' b, g' ] } \\ { \stemUp d'4 d } | { \stemDown a4 g } \\ { \stemUp a8 [ f' g, e' ] } | { \stemDown f,4 e } \\ { \stemUp f8 [ d' e, c' ] } | { \stemDown f,4 d } \\ { \stemUp f8 [ d' d, b' ] } | { \stemDown c,4 c8 \rest } \\ { \stemUp c'4 c8 \rest } \break } \repeat volta 2 { { c,8 \rest } \\ { \stemUp g'8 } | { \stemDown d8 [ g c, g' ] } \\ { \stemUp f'4 e } | { \stemDown b,8 [ g' a, g' ] } \\ { \stemUp d'4 c } | { \stemDown g,8 [ g' a, g' ] } \\ { \stemUp b4 c } | { \stemDown b,8 [ g' b, g' ] } \\ { \stemUp d'4 d } | { \stemDown a4 g } \\ { \stemUp a8 [ f' g, e' ] } | { \stemDown f,4 e } \\ { \stemUp f8 [ d' e, c' ] } | { \stemDown f,4 d } \\ { \stemUp f8 [ d' d, b' ] } | { \stemDown c,4 c8 \rest } \\ { \stemUp c'4 c8 \rest } \once \override Score.RehearsalMark.self-alignment-X = #RIGHT \mark Fine \break } \repeat volta 2 { { c,8 \rest } \\ { \stemUp g'8 } | { \stemDown d8 [ g c, g' ] } \\ { \stemUp f'4 e } | { \stemDown b,8 [ g' a, g' ] } \\ { \stemUp d'4 c } | { \stemDown g,8 [ g' a, g' ] } \\ { \stemUp b4 c } | { \stemDown b,8 [ g' b, g' ] } \\ { \stemUp d'4 d } | { \stemDown a4 g } \\ { \stemUp a8 [ f' g, e' ] } | { \stemDown f,4 e } \\ { \stemUp f8 [ d' e, c' ] } | { \stemDown f,4 d } \\ { \stemUp f8 [ d' d, b' ] } | { \stemDown c,4 c8 \rest } \\ { \stemUp c'4 c8 \rest } \break } } \score { \context Voice { \clef treble_8 \melody } } % score % Local Variables: % % tab-width: 4 % % compile-command: lilypond --ps test1.ly % % End: % ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: decrescendo mark
I want the decrescendo mark to extend from the first bar into the second bar, ending under the c,4 node. What do I have to do to make this happen? Search the documentation for “to-barline”. Perfect. If I'd flick one more page, I would have found it. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
note / rest clash
How do I move the rests further to the right to avoid the clashing note columns? \version 2.16.0 melody = \relative c' { \time 3/4 { \stemDown b,2 b4\rest } \\ { g'4 g g } \\ { \stemUp d'2 d4\rest } | \break } \score { \context Voice { \clef treble_8 \melody } } % score % Local Variables: % % tab-width: 4 % % compile-command: lilypond --ps test1.ly % % End: % ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
shorten stem
Merry Christmas, if anyone is out there today. I'm trying to squeeze a piece onto a single page, and I'm fussing with stem direction to control the height of the lines. I got the song to fit on a page, except there are few note/beam clashes (see example below). Is there a way to manually raise the beam to prevent the note clash. It's not going to look pretty, but its more important to prevent page flipping. \version 2.16.0 melody = \relative c' { \time 3/4 { \stemUp e2 e4 } \\ { \stemDown s2 \shiftOn e,4 } \\ { \stemDown s4 g4 s4 } \\ { \oneVoice \stemDown e'8 [ c ] \stemUp g [ c ] \stemDown e c } | { \stemDown \shiftOn f,2. } \\ { \stemUp f'2 f4 } \\ { } \\ { \oneVoice \stemDown f8 [ d ] b [ d ] \stemDown f d } | } \score { \context Voice { \mergeDifferentlyDottedOn \mergeDifferentlyHeadedOn \clef treble_8 \melody } } % score % Local Variables: % % tab-width: 4 % % compile-command: lilypond --ps test1.ly % % End: % ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: shorten stem
You can explicitly set the position of the left and right ends of a beam with \override Beam #'positions. Perfect. It's a bit fussy getting the numbers right but I like the control. BTW, I had the slope macro in the suite of guitar macros I got from you a few years ago and which I use all the time. I just forgot about it. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
fingering font
I've looked but I can't find the answer. I want all the fingering symbols to be in a san-serif font. This: \layout { \override Score.Fingering #'font-family = #'sans } % layout does not work. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Odp: fingering font
You can always do: \override Score.Fingering #'font-name = #Vera Bold and replace Vera Bold with name of your preferred font. Thanks, \override Score.Fingering #'font-name = #sans-serif ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
tempo failure
This lilypond code snippet: %% Generated by lilypond-book.py %% Options: [exampleindent=10.16\mm,fragment,indent=0\mm,line-width=160\mm,quote,relative=1] \include lilypond-book-preamble.ly % % Start cut--pastable-section % \paper { indent = 0\mm line-width = 160\mm % offset the left padding, also add 1mm as lilypond creates cropped % images with a little space on the right line-width = #(- line-width (* mm 3.00) (* mm 1)) line-width = 160\mm - 2.0 * 10.16\mm % offset the left padding, also add 1mm as lilypond creates cropped % images with a little space on the right line-width = #(- line-width (* mm 3.00) (* mm 1)) } \layout { } \relative c' { % % ly snippet contents follows: % \sourcefileline 1274 \tempo 4 = 40 ~ 46 c4. e8 a4 g b,2 d4 r % % end ly snippet % } generates this error: Compilation started at Mon Nov 11 22:06:59 lilypond --ps test1.ly GNU LilyPond 2.17.28 Processing `test1.ly' Parsing... test1.ly:1275:15: error: syntax error, unexpected EVENT_IDENTIFIER \tempo 4 = 40 ~ 46 test1.ly:1267:1: error: errors found, ignoring music expression \relative c' fatal error: failed files: test1.ly Compilation exited abnormally with code 1 at Mon Nov 11 22:06:59 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Adrian le Roy
This question is not about lilypond, so feel free to shame me. I have played a few Adrian le Roy pieces on guitar and enjoyed them. I'd like to go back to the original manuscripts and write out a few songs in lilypond for teaching purpose (and no copyright issues). However, easier said than done. Here is an original manuscript: http://imslp.org/wiki/Special:ImagefromIndex/192332 Tiers Livre de Tabvlatvre de Gviterre 1552 Whoa!!! Can someone explain this musical notation to me? Is it for a lute? What does it mean? Is there a book that might explain it? If this question is inappropriate for this newsgroup, please post directly to me rather than cause problems on the group. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Note Exercise, Guitar
I'm creating a simple note exercise for guitar students (see below). I have 3 problems: 1. The lyric underscores are too close to the low E so there is no room to write the note name. How do I add extra padding (spacing) between the staff and the lyrics? 2. How do I tweak the vocalName under the treble clef rather than have it outside the staff lines? 3. How do I repeat the vocalName at the start of each lyric line rather than just having the vocalName on the first line? Any suggests on how to do this better, would also be appreciated. = \version 2.16.0 \language english #(set-global-staff-size 28) \paper { #(set-paper-size letter) top-margin = 0.75\in markup-system-spacing #'padding = #3 % spacing between title and staff bottom-margin = 1.25\in ragged-last-bottom = ##f tagline = ##f } % paper \layout { \pointAndClickOff \override Score.LyricText #'font-size = #3 \override Score.vocalName #'direction = #'(left) \override Score.vocalName #'X-offset = #5 indent = 0 \context { \Staff \remove Time_signature_engraver } % context \include music/scales.ly } % layout \header { title = \markup {\fontsize #-2 Note Exercise: 1st Position, Form 3 } enteredby = Peter Buhr } % header melody = \relative c { \cadenzaOn e, a d g b e \bar | \break % string names (standard tuning) e,, f g a b c d e f g a b c d e f g \bar | \break % all notes in 1st position e g d c e f g e b d c g' f d c f \bar | \break % top 6 notes (c-g), random e, g f a b f a g e f a e b' a e f \bar | \break % middle 6 notes (b-e), random d c g d' b e, a f c' d f, g a c e, d' \bar | \break % bottom 7 notes (d-E), random } % melody verseA = \lyricmode { \set vocalName = \markup {\fontsize #-2 Note} \repeat unfold 6 {_} \repeat unfold 17 {_} \repeat unfold 3 { \repeat unfold 16 {_} } } % verseA verseB = \lyricmode { \set vocalName = \markup {\fontsize #-2 Fret#} \repeat unfold 6 {_} \repeat unfold 17 {_} \repeat unfold 3 { \repeat unfold 16 {_} } } % verseA \score { \context Voice = one { \clef treble_8 \melody } \lyricsto one \new Lyrics \verseA \lyricsto one \new Lyrics \verseB } % score % Local Variables: % % tab-width: 4 % % compile-command: lilypond --ps NoteName.ly % % End: % ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Note Exercise, Guitar
instead of using shortVocalName ... you could also use stanzas: Perfect! I should have seen stanza, but missed it. So below is the result. I tried to create a macro, Fred, to replace the many repeated lines, but was unsuccessful. Suggestions on how to make it work? Thanks. == \version 2.16.0 \language english #(set-global-staff-size 28) \paper { #(set-paper-size letter) top-margin = 0.75\in bottom-margin = 1\in ragged-last-bottom = ##f tagline = ##f } % paper \layout { \pointAndClickOff \override Score.OctavateEight #'font-name = #times \override Score.OctavateEight #'font-size = #-1 \override Score.LyricText #'font-size = #3 indent = 0 \context { \Staff \remove Time_signature_engraver } % context } % layout \header { title = \markup {\fontsize #-3 Note Exercise: Form 3, 1st Position } enteredby = Peter Buhr } % header melody = \relative c { \cadenzaOn e, a d g b e \bar | \break % string names (standard tuning) e,, f g a b c d e f g a b c d e f g \bar | \break % all notes in 1st position e g d c e f g e b d c g' f d c f \bar | \break % top 6 notes (c-g), random e, g f a b f a g e f a e b' a e f \bar | \break % middle 6 notes (b-e), random d c g d' b e, a f c' d f, g a c e, d' \bar | \break % bottom 7 notes (d-E), random } % melody Fred = #(define-music-function (parser location name times) (string? number?) #{ \set stanza = \markup \fontsize #-2 #name \repeat unfold #times {\markup \combine \with-color #white | _ } #}) notes = \lyricmode { %\Fred Note 6 \set stanza = \markup \fontsize #-2 Note \repeat unfold 6 {\markup \combine \with-color #white | _ } \set stanza = \markup \fontsize #-2 Note \repeat unfold 17 {\markup \combine \with-color #white | _ } \set stanza = \markup \fontsize #-2 Note \repeat unfold 16 {\markup \combine \with-color #white | _ } \set stanza = \markup \fontsize #-2 Note \repeat unfold 16 {\markup \combine \with-color #white | _ } \set stanza = \markup \fontsize #-2 Note \repeat unfold 16 {\markup \combine \with-color #white | _ } } % notes fretno = \lyricmode { \set stanza = \markup \fontsize #-2 Fret \repeat unfold 6 {\markup \combine \with-color #white | _ } \set stanza = \markup \fontsize #-2 Fret \repeat unfold 17 {\markup \combine \with-color #white | _ } \set stanza = \markup \fontsize #-2 Fret \repeat unfold 16 {\markup \combine \with-color #white | _ } \set stanza = \markup \fontsize #-2 Fret \repeat unfold 16 {\markup \combine \with-color #white | _ } \set stanza = \markup \fontsize #-2 Fret \repeat unfold 16 {\markup \combine \with-color #white | _ } } % fretno \score { \context Voice = one { \clef treble_8 \melody } \lyricsto one \new Lyrics \notes \lyricsto one \new Lyrics \fretno } % score % Local Variables: % % tab-width: 4 % % compile-command: lilypond --ps NoteName.ly % % End: % ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: enlarge vertical distance in time signature
Other than that (same with denom), the code looks fine to me. Works! However, (and there is always a however ;-), the font and font size are not the same as the regular (default) time signature. Is there a a way to grab these two pieces of information from the regular timestamp stencil and set them in this stencil? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: enlarge vertical distance in time signature
I consider it much nicer to make strg of type fraction?, and then num can be (car strg) and denom can be (cdr strg). and can just be \spreadTimeSignature #8 2/4 ... which is nicer on the eyes. I was intrigued and tried to modify the code as you suggested as a learning exercise. But I ran into a problem I do not understand. I assumed that fraction is a pair of two numbers, so num and denom are of type number. column needs strings so the numbers have to be converted. However, I get the following error: test12.ly:18:25: error: syntax error, unexpected NUMBER_IDENTIFIER (number-string $num) /usr/local/lilypond/usr/share/lilypond/current/ly/init.ly:61:0: error: error in #{ ... #} I think I'm close but missing some subtle issue about the types. \version 2.16.0 \language english #(set-global-staff-size 30) spreadTimeSignature = #(define-music-function (parser location baselineSkip strg music)(number? fraction? ly:music?) (let* ((num (car strg)) (denom (cdr strg))) #{ \override Staff.TimeSignature #'stencil = #(lambda (grob) (grob-interpret-markup grob #{ \markup %\fontsize #5 \vcenter \override #`(baseline-skip . ,baselineSkip) \column { (number-string $num) (number-string $denom) } #})) $(make-music 'TimeSignatureMusic 'beat-structure '() 'denominator denom 'numerator num) $music #})) % test \relative c' { \spreadTimeSignature #3 2/4 c8 c c c \spreadTimeSignature #8 3/4 c16 c c c c c c c c4 } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Glissando between single notes in chord
I've been working on the last version of David Nalesnik's guide-finger code. The reason is a horizontal and vertical placement problem when the guide line is long and/or at a steep angle. I have managed to fix the vertical problem, but the horizontal problem has me flummoxed. The example below shows the horizontal problem by placing a guide finger above/below a normal finger number. A stencil is created for the guide-line and finger number, which needs to be centered above/below its associated note head for fingeringOrientations up and down. However, something is wrong with the centering calculation. The width of the stencil seems to be too short so the calculation fails to center it. So there is something about the width of the stencil I do not understand. I have heavily comment the code to make it possible to understand. === \version 2.17.4 \language english #(set-global-staff-size 30) % left-hand finger guide before note #(define (guide-finger slope len fingering) ;; Purpose ;; add ornamentation line before fingering symbol to indicate figner movement along a ;; string without making a sound (i.e., not a glissando) ;; Parameters ;; slope : angle of rotation around right centre ;; len : length of line prefacing fingering ;; fingering : fingering designation for note (let ((music (make-music 'FingeringEvent))) (set! (ly:music-property music 'tweaks) (acons 'stencil (lambda (grob) (let* ( ;; assign to finger the digit property from parameter fingering (finger (ly:music-property fingering 'digit)) ;; DOES NEXT LINE GENERATE A STENCIL FROM THE STRING FOR A FINGER NUMBER??? ;; IS THERE A WAY TO GENERATE A FINGER STENCIL THAT IS A FINGER NUMBER RATHER THAN A MARKUP? (finger-stil (grob-interpret-markup grob (number-string finger))) ;; assign to finger-stil-X the width of finger-stil (finger-stil-X (ly:stencil-extent finger-stil X)) ;; assign to finger-stil-Y the height slightly below the middle of finger number (finger-stil-Y (* 0.4 (interval-length (ly:stencil-extent finger-stil Y ;; assign to guide-line a horizontal line-stencil with thickness ;; and length len up finger-stil-Y vertically on fingering number (guide-line (make-line-stencil 0.13 0 finger-stil-Y len finger-stil-Y)) ;; rotate guide-line slope degrees around right centre (guide-line (ly:stencil-rotate guide-line slope 1 0)) ;; center line vertically on fingering number (guide-line-X (ly:stencil-extent guide-line X)) ;; assign to stil the concatenation of stencil line and finger number along X-axis on right ;; add padding 0.2 to move guide slightly left from finger number (stil (ly:stencil-combine-at-edge guide-line X 1 finger-stil 0.2)) ;; assign to stil-ext-X the width of stil (stil-ext-X (ly:stencil-extent stil X)) ) ;; end declarations ;; fingering oriented on left/right side ? (if (= 0 (ly:grob-property grob 'side-axis)) ;; return finger guide as is stil ;; otherwise, create and return new finger guide with X-extents positioned with the number ;; centered over the note (ly:make-stencil ;; copy expr from stil (ly:stencil-expr stil) ;;# ;; widen the stencil by doubling its width minus one finger-number width, ;; which should have a center point under the remaining finger number ;;# (cons 0 (- (* 2 (interval-length stil-ext-X)) (interval-length finger-stil-X))) (ly:stencil-extent finger-stil Y) ) ;; end make-stencil ) ;; end if ) ;; end let ) ;; end lambda (ly:music-property music 'tweaks) ) ;; end acons ) ;; end set music ) ;; end let ) % guide-neutral % c-\gn-14 c4^\gn^2 c4-\gn-3 c4_\gn_4 gn = #(define-music-function (parser location fingering) (ly:music?) (guide-finger 0 0.7 fingering)) % line-slope line-length % guide-down % c-\gd-14 c4^\gd^2 c4-\gd-3 c4_\gd_4 gd = #(define-music-function (parser location fingering) (ly:music?) (guide-finger 20 0.7 fingering)) % guide-up % c-\gu-14 c4^\gu^2 c4-\gu-3 c4_\gu_4 gu = #(define-music-function (parser location fingering) (ly:music?) (guide-finger -20 0.7 fingering)) % guide slope length % c-\gslen #-15 #1 -14 c4^\gslen
Re: Glissando between single notes in chord
I'm using glissandos to indicate a guide finger in fingering, and in ... Hey Nick, we certainly struggle with indicating a guide finger. 8-) First, an observation, which I know you are already aware of, but I'll make it anyway. It is important to differentiate between the glissando, which makes a sound, and a guide finger, which is finger movement without a sound (like a breath mark). Therefore, the notation for these two items needs differentiation or the guitar player can make an uncalled for sound. Clearly, the glissando with a finger number implies a guide finger. The notation I like for the guide finger is a short mark before the finger number so there is less chance of mistaking it for a glissando. Below is my attempt at a guide finger (which I'm sure you saw a few months ago). I redefined your guide to Guide so both are available in the example. My complain with your version is that I would play it as a glissando rather than take it as an instruction for a guide finger. The problem with my version is that the combined guide/finger-number are centred above/below the note. I don't know how to get the finger number centred above the note (i.e., right justify the entire glyph); any help would be appreciated. I did try ly:stencil-aligned-to but no change in the output. Anyway, my 2 cents on this on-going struggle. ;-) \version 2.16.0 \language english #(set-global-staff-size 30) % left-hand finger guide finger between notes #(define (gx slope character fingering) ;; Purpose ;; add ornamentation character before fingering symbol ;; Parameters ;; slope : angle of rotation around right centre ;; character : ornamentation character for fingering ;; fingering : fingering designation for note ;; Examples ;; (gx 0 #x2013 fingering) ;; unicode #x2011 - #x2015 are different length - punctuation (let ((music (make-music 'FingeringEvent)) (finger (ly:music-property fingering 'digit)) (guide-char character)) (set! (ly:music-property music 'tweaks) (acons 'stencil (lambda (grob) (ly:stencil-combine-at-edge (ly:stencil-rotate (grob-interpret-markup grob (markup #:char guide-char)) slope 1 0);; rotate slope around right centre X 1;; combine stencils along X-axis on right (grob-interpret-markup grob (number-string finger)) 0.2) ) ;; add padding to move guide slightly left from finger number (ly:music-property music 'tweaks))) music)) % guide-neutral % c-\gn-14 c4^\gn^2 c4-\gn-3 c4_\gn_4 gn = #(define-music-function (parser location fingering) (ly:music?) (gx 0 #x2013 fingering)) % guide-down % c-\gd-14 c4^\gd^2 c4-\gd-3 c4_\gd_4 gd = #(define-music-function (parser location fingering) (ly:music?) (gx 20 #x2013 fingering)) % guide-up % c-\gu-14 c4^\gu^2 c4-\gu-3 c4_\gu_4 gu = #(define-music-function (parser location fingering) (ly:music?) (gx -20 #x2013 fingering)) % guide slope % c-\gsl #-15 -14 c4^\gsl #45 ^2 c4-\gsl #-15 -3 c4_\gsl# -14 _4 gsl = #(define-music-function (parser location slope fingering) (number? ly:music?) (gx slope #x2013 fingering)) % guide slope unicode % c-\gsl #-15 ##x2011 -14 c4^\gsl #45 ##x2012 ^2 c4-\gsl #-15 ##x2013 -3 c4_\gsl #-14 ##x2014 _4 gsn = #(define-music-function (parser location slope unicode fingering) (number? number? ly:music?) (gx slope unicode fingering)) % guide slope character % c-\gsl #-15 ##\+ -14 c4^\gsl #45 ##\+ ^2 c4-\gsl #-15 ##\! -3 c4_\gsl #-14 ##\! _4 gsc = #(define-music-function (parser location slope character fingering) (number? char? ly:music?) (gx slope (char-integer character) fingering)) Guide = #(define-music-function (parser location padleft padright shift missacc) (number? number? pair? boolean?) #{ \once \override Glissando #'(bound-details left padding) = #padleft \once \override Glissando #'(bound-details right padding) = #padright \once \override Glissando #'extra-offset = #shift \once \override Glissando #'(bound-details right end-on-accidental) = #missacc \once \override Glissando #'breakable = ##t \once \override Glissando #'after-line-breaking = ##t #}) fl = \set fingeringOrientations = #'(left) \relative c'' { \Guide #1 #0.5 #'(0 . 1.4) ##f fs^4 b, a ds,2\glissando g^4 b, g e | fs^4 b, a ds,2 g-\gd^4 b, g e | fs^4 b, a ds,2 g-\gsn #10 ##x2014 ^4 b, g e | \fl fs-4 b, a-2 ds,2 g-\gd^4 b, g-\gu^2 e | } % Local Variables: % % tab-width: 4 % % compile-command: lilypond --ps test6.ly % % End: % ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
notehead overlap
Is there an easy way to get the 1st/9th noteheads to overlap like the 7th/15th noteheads overlap? \version 2.16.0 \language english #(set-global-staff-size 25) su = \stemUp sd = \stemDown melody = \relative c'' { { \sd a,4. a8 } \\ { \su a16 a' c a c a a, a'} { \sd d,4. d8 } \\ { \su d16 a' b a b a d, a' } | } % melody \score { \context Voice { \key c \major \time 4/4 \melody } } % score ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
EasyHeadsOn
I want large note names with EasyHeadsOn for teaching. I did the following hacks: 1. commented out the explicit setting of NoteHead #'font-size in EasyHeadsOn so I could increase the font size. 2. changed the constant dividend in Brew-ez-stencil: (radius (/ (+ staff-space line-thickness) 1.5)) to make the circle larger. However, I have to constantly play with the dividend as I change staff-spacing. What I really want to do but don't know how, is to write something like: (radius is 1/2 the height of character G in the font for NoteHead) Or something equivalent. Personally, I think EasyHeadsOn should work this way and not be keyed to the staff-spacing. == EasyHeadsOn = { \override NoteHead #'stencil = #note-head::Brew-ez-stencil % \override NoteHead #'font-size = #-8 \override NoteHead #'font-size = #-1 \override NoteHead #'font-family = #'sans \override NoteHead #'font-series = #'bold } #(define-public (note-head::Brew-ez-stencil grob) (let* ((log (ly:grob-property grob 'duration-log)) (pitch (ly:event-property (event-cause grob) 'pitch)) (pitch-index (ly:pitch-notename pitch)) (note-names (ly:grob-property grob 'note-names)) (pitch-string (if (and (vector? note-names) ( (vector-length note-names) pitch-index)) (vector-ref note-names pitch-index) (string (integer-char (+ (modulo (+ pitch-index 2) 7) (char-integer #\A)) (staff-space (ly:staff-symbol-staff-space grob)) (line-thickness (ly:staff-symbol-line-thickness grob)) (stem (ly:grob-object grob 'stem)) (stem-thickness (* (if (ly:grob? stem) (ly:grob-property stem 'thickness) 1.3) line-thickness)) (radius (/ (+ staff-space line-thickness) 1.5)) (letter (markup #:center-align #:vcenter pitch-string)) (filled-circle (markup #:draw-circle radius 0 #t))) (ly:stencil-translate-axis (grob-interpret-markup grob (if (= log 2) (make-combine-markup filled-circle (make-with-color-markup white letter)) (make-combine-markup (make-combine-markup filled-circle (make-with-color-markup white (make-draw-circle-markup (- radius stem-thickness) 0 #t))) letter))) radius X))) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
beatStructure
I've tried everything but I can't get the first bar without square brackets to look like the second bar with square brackets. Can someone make it so. \version 2.16.0 \language english #(set-global-staff-size 24) \score { \context Voice = one { \key g \major \time 4/4 \set Timing.baseMoment = #(ly:make-moment 1 8) \set Timing.beatStructure = #'(2 2 2 2) a e'8 a e'8 a fs'8 a fs'8 a e'8 a e'8 a fs'8 a fs'8 a e'8 [ a e'8 ] a fs'8 a fs'8 a e'8 [ a e'8 ] a fs'8 a fs'8 | \bar |. } } % score ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: finger/ note position
For problem 1, if you add \override Fingering #'script-priority = #-100 Perfect. Nick, I added this line to my copy of your guitar file: fp = \override Fingering #'script-priority = #-100 For problem 2, see the function ncShift below. Perfect. And this was already in your guitar file but I did not see it. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
finger/ note position
The following snippet illustrates two problem I'm struggling with. 1. In the first bar, the finger number 2 is not beside the B note because of the sharp above it in a different voice. I can tweak the finger number back into position beside the B note, but I have a number of these cases in the piece I'm working on so is there a global way to prevent this interaction between accidents and finger numbers in parallel voices? 2. In the second bar, the A note stem is clashing slightly with the D note above it. I've tried to push the A note to the right using \shiftOnnn, but I've run out of ns. ;-) How can I push the A note further to the right to avoid the stem clash? \version 2.16.0 \language english #(set-global-staff-size 30) su = \stemUp sd = \stemDown fl = \set fingeringOrientations = #'(left) melody = \relative c'' { { \sd \fl c,4 b-2 } \\ { \su \fl g'8\rest g8 gs4 } \\ { \su \fl e'4. d8 ~ } | { \sd \fl a,4 d } \\ { \su \fl \shiftOnnn a'4. } \\ { \su \fl \shiftOff d8 c4 c fs8 } | } \score { \context Voice { \key c \major \time 2/4 \melody } } % score % Local Variables: % % tab-width: 4 % % compile-command: lilypond --ps test6.ly % % End: % ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Lyric vertical spacing
Is there a way to control the vertical spacing between the lines of the lyrics? I want to reduce the spacing slightly between the lines to see if I can get a piece to fit on one page. I tried playing with these but to no avail. \override Score.LyricSpace #'padding = #0 \override Score.LyricSpace #'minimum-distance = #0 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
spacing
I have a vertical spacing problem with MetronomeMark and rhythmMark. The include for rhythmMark.ly comes from here: http://lsr.dsi.unimi.it/LSR/Snippet?id=204 In the following example, I have moved the MetronomeMark down and to the left below the highest beam. However, a ghost spacing for the MetronomeMark still exists above the highest beam, as if the MetronomeMark was not moved. After repositioning the MetronomeMark, I want the rhythmMark to appear direct above the highest beam with the same spacing as when the MetronomeMark is commented out. Is there a way to accomplish this vertical spacing? \version 2.16.0 \language english \include rhythmMark.ly melody = \relative c' { \stemUp d8[cs''] d, a'[e'] d,^[d'] d, a'[a' d] } % melody \score { \context Voice { \tempo 4=100 \override Score.MetronomeMark #'extra-offset = #'( -5 . -4.5 ) \override Score.RehearsalMark #'self-alignment-X = #LEFT \rhythmMark #Swing \rhyMarkIIEighths \rhyMarkSlurredTriplets \melody } } % Local Variables: % % tab-width: 4 % % compile-command: lilypond --ps test6.ly % % End: % ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypondfile
Perfect, except it still generates a PDF file, which I don't need and I could not find an command-line option to prevent the PDF from being created. But that's what a Makefile is for: I just delete the PDF. Lilypond also has a --ps option So what you want is: lilypond -dbackend=eps -daux-files=#f --ps file.ly 8-) It works, but totally counter-intuitive. I do use --ps all the time, and the usage manual is clear on this option: --ps Generate PostScript. so it never would have occurred to me that --ps means NOT --ps if the backend option is eps. Now the usage manual does state: The prefix no- may be added to option-name to switch 'off' an option, e.g. -dpoint-and-click=#f is the same as -dno-point-and-click so I tried -dno-ps but that generates: warning: no such internal option: no-ps Just to show I am doing due diligence, the usage manual also says: --png Generate pictures of each page, in PNG format. This implies '--ps'. --pdf Generate PDF. This implies '--ps'. but in both cases, no ps file exists after the command. Yes, the output of the command indicates: Layout output to `file.ps'... but creation of this temporary file is an internal issue since it is subsequently removed, and therefore, irrelevant to the meaning of the command-line option. Finally, what does the -o option do? -o,--output=FILE or FOLDER Set the default output file to FILE or, if a folder with that name exists, direct the output to FOLDER, taking the file name from the input file. The appropriate suffix will be added (e.g. .pdf for pdf) in both cases. For this command $ lilypond mary.ly -o fred my expectation is that the PDF output is placed in file fred.pdf rather than mary.pdf, but here is what occurs: GNU LilyPond 2.16.0 Processing `mary.ly' Parsing... Interpreting music...[8] Preprocessing graphical objects... Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... Layout output to `mary.ps'... Converting to `./mary.pdf'... warning: cannot find file: `-o' warning: cannot find file: `fred' fatal error: failed files: fred -o ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypondfile
I've not tried this to confirm it's correct, but my expectation is that the syntax is lilypond options filename So you should write lilypond -o fred mary.ly Works! I'm just an old C programmer and always put the '-o' at the end of the command. 8-( Thanks. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: header font size
As I crank up the global-staff-size, the heading text gets LARGE. I'd like to uniformly reduce the size of the heading text like this: \override Score.HeaderText #'font-size = #-1 I set the font size explicitly: subtitle = \markup {\fontsize #5 No. 12. Quintet Finale} But I have multiple fields in the header: title, composer, arranger, etc., and I did not want to put a markup around each field. Rather I wanted a global reduction that maintains the existing font ratios that already exists in the header, like title is larger than subtitle, etc. I.e., just scale all the existing header fonts up/down by a constant (log?) factor. Global-staff-size is clearly doing this uniform scaling of header fonts already because, as I crank up the staff size, all the header fonts are adjusted uniformly. So it feels like the mechanism to accomplish this should already be in place and there just needs to be a handle to rescale the header fonts after the staff-size scaling or some such. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypondfile
The vertical spacing between systems in lilypond-book is established by LaTeX, not LilyPond, so most spacing parameters will not be effective. Ouch! 8-( Having to fuss with vertical spacing in two places is unfortunate, especially since the latex version only gives a fixed spacing whereas lilypond allows control at multiple levels. I don't think knowing the number of files already included in this snippet is going to be helpful. Maybe I need to directly include PS/PDF output from lilypond if I want them to be the same. 8-( Intersystem spacing in lilypond-book is documented in the usage manual, though possibly not really obvious: Yes, I saw those macros but never imagined I would need them unless I have to tweak after the fact. Ok, I'll have to go back and rethink this one. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypondfile
Is there a way to generate an eps file directly as for a ps file? I need the bounding box to include the exact output into latex (I'm not using pdflatex). I tried manually converting the ps to eps: ps2pdf generates a file that is unusable (go figure), and convert generates a low quality image (maybe one of the many parameters can fix this). Using command-line option backend=eps does generate a eps file but it's not the same as the original because it is for lilypond-book (and it generates a lot of extra files). ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypondfile
Is there a way to generate an eps file directly as for a ps file? I need the bounding box to include the exact output into latex (I'm not using pdflatex). I tried manually converting the ps to eps: ps2pdf generates a file that is unusable (go figure), and convert generates a low quality image (maybe one of the many parameters can fix this). Using command-line option backend=eps does generate a eps file but it's not the same as the original because it is for lilypond-book I see no reason why there should be a difference. There is a small shift left and up that is different from lilypondfile, which is what I was previously using. I can compensate in latex. lilypond -dbackend=eps -daux-files=#f file.ly should be what you are after... Perfect, except it still generates a PDF file, which I don't need and I could not find an command-line option to prevent the PDF from being created. But that's what a Makefile is for: I just delete the PDF. Thanks ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
header font size
As I crank up the global-staff-size, the heading text gets LARGE. I'd like to uniformly reduce the size of the heading text like this: \override Score.HeaderText #'font-size = #-1 but HeaderText is not the magic word. Is there a magic word? I did look and could not find it. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: guide finger
I suppose you're thinking of ly:stencil-rotate. Brilliant! Now let me see if I can reward your patience by showing you I have learned something. The rotation needs to be along the right centre (center) so the character appears to rotate in the middle of the finger number, which I figured out. Also, I put in some documentation. And I generalize one step further by allowing the ornamentation character to be passed as an argument. However, I don't know how to write gsc (see below) to pass in a character or unicode to gx. So I still need help. Also, does scheme have optional positional parameters and/or named parameters to possibly allow more generalization, such as the padding size or putting the ornamentation before or after the finger symbol? (Yea, I'm probably getting carried away here. ;-) == \version 2.14.2 #(define (gx slope character fingering) ;; Purpose ;; add ornamentation character before fingering symbol ;; Parameters ;; slope : angle of rotation around right centre ;; character : ornamentation character before fingering ;; fingering : fingering designation for note ;; Examples ;; (gx 0 #x2013 fingering) ;;unicode #x2011 - #x2015 are different length - punctuation (let ((music (make-music 'FingeringEvent)) (finger (ly:music-property fingering 'digit)) (guide-char character)) (set! (ly:music-property music 'tweaks) (acons 'stencil (lambda (grob) (ly:stencil-combine-at-edge (ly:stencil-rotate (grob-interpret-markup grob (markup #:char guide-char)) slope 1 0);; rotate slope around right centre X 1;; combine stencils along X-axis on right (grob-interpret-markup grob (number-string finger)) 0.2)) ;; add padding to move guide slightly left from finger number (ly:music-property music 'tweaks))) music)) % guide-neutral gn = #(define-music-function (parser location fingering) (ly:music?) (gx 0 #x2013 fingering)) % guide-down gd = #(define-music-function (parser location fingering) (ly:music?) (gx 30 #x2013 fingering)) % guide-up gu = #(define-music-function (parser location fingering) (ly:music?) (gx -30 #x2013 fingering)) % guide slope gs = #(define-music-function (parser location slope fingering) (number? ly:music?) (gx slope #x2013 fingering)) % guide slope character gsc = #(define-music-function (parser location slope character fingering) (number? char? ly:music?) (gx slope character fingering)) \relative c' { \override Fingering #'font-size = #-2 \override Fingering #'color = #red \set fingeringOrientations = #'(left) c-\gn-14 c4^\gn^2 c4-\gn-3 c4_\gn_4 \set fingeringOrientations = #'(right) c-\gn-34 r4 c-\gu-14 r4 c4^\gu^2 c4-\gd-3 c4_\gd_4 r4 c-\gs #-15 -14 r4 c4^\gs #15 ^2 c4-\gs #45 -3 c4_\gs #-45 _4 % these don't work % r4 % c-\gsc #-15 ##x2011 -14 % r4 % c4^\gsc #15 ##x2012 ^2 % c4-\gsc #45 ##x2013 -3 % c4_\gsc #-4 ##x2014 _4 % r4 % c-\gsc #-15 '+' -14 % r4 % c4^\gsc #15 '+' ^2 % c4-\gsc #45 '+' -3 % c4_\gsc #-4 '+' _4 } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: guide finger
Thank you so much. However, because rotate performs its rotation around the center of the character I need to make a small adjustment. There is a rotation routine allowing rotation at an arbitrary point but it appears to be solely for music not markups. I tried the following change using translate but there is no translate-guide routine, which was a guess on my part after looking at the way rotate is used. I have attempted to locate a list of these Scheme routines but been unsuccessful. I even downloaded the GIT source for lilypond and tried to find them there. So I have done due diligence, but I may have done the wrong things. Can someone show me how to make translate move the character? I can do the fine tuning of the position after that. #(define (gx rotate-guide fingering) (let ((music (make-music 'FingeringEvent)) (finger (ly:music-property fingering 'digit)) (guide-char #x2013)) (set! (ly:music-property music 'tweaks) (acons 'stencil (lambda (grob) (grob-interpret-markup grob (make-concat-markup (list (make-rotate-markup rotate-guide (make-char-markup guide-char)) ;;(make-translate-markup translate-guide '(2 . 3) (make-rotate-markup rotate-guide (make-char-markup guide-char))) (number-string finger) (ly:music-property music 'tweaks))) music)) == You might consider upgrading to one of the current development versions if you're interested in writing functions like this. There is now quite a bit more flexibility and power to music functions (thanks to David Kastrup). I am using GNU LilyPond 2.15.41 even though my files still have \version 2.14.2 at the start. Again, I spent some time trying to locate scheme music functions but was wholly unsuccessful. But I may just be searching with the wrong magic phrases. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
easyHeadsOn
This is probably a historical issue after reading some older posts, but I can't directly change the size of the notehead for easyHeadsOn. I want the note heads to be BIG so it is easy to read (and pronounce) the note. Below is my attempt at adjusting the notehead size directly. Changing the value of font-size makes no difference in the output. \version 2.15.41 \relative c' { \override Score.NoteHead #'font-size = #-7 \override Score.NoteHead #'font-size = #7 \override Score.NoteHead #'color = #red \easyHeadsOn a4 b c d e f g } Yes, it is possible to indirectly change the relative size of the notehead for easyHeadsOn by increasing the global-staff-size. However, to get the notehead large enough to read the letters, I had to use a value of 50, which means there is almost no music on a page. So go big or go home with easyHeadsOn! ;-) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
guide finger
In *classical* guitar-music, there is a finger augmentation called a guide finger indicating left-hand shifting. Nick Payne uses a mechanism based on the glissando. I found this code written for a finger shift on a violin, which I like because it handles finger location and color, etc. However, for guitar, there are 3 kinds of finger shift: up, neutral and down, corresponding to about 30 degrees up, flat and 30 degrees down for the - character. So I can't make the changes to do what I want. 8-( I have sketched out what I would like, which is 2 default parameters, the guide character and the rotation amount, and to rotate this character before concatenating it with the string number. Any help would be greatly appreciated. \version 2.14.2 gn = #(define-music-function (parser location fingering) (ly:music?) ;; #:properties ((guide-char #x2013) (rotate-guide 0)) (let ((music (make-music 'FingeringEvent)) (finger (ly:music-property fingering 'digit))) (set! (ly:music-property music 'tweaks) (acons 'stencil (lambda (grob) (grob-interpret-markup grob (make-concat-markup (list ;; (rotate rotate-guide (make-char-markup guide-char) ) (make-char-markup #x2013) (number-string finger) (ly:music-property music 'tweaks))) music) ) % gu = \override #'(rotate-guide 30) \gn % gd = \override #'(rotate-guide -30) \gn \relative c' { \override Fingering #'color = #red \set fingeringOrientations = #'(left) c-\gn-34 c4^\gn^3 c4-\gn-3 c4_\gn_3 \set fingeringOrientations = #'(right) c-\gn-34 % c-\gu-34 % c4^\gu^3 % c4-\gu-3 % c4_\gu_3 } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
finger stroke position
Is it possible to make the left bar look like the right bar below? Specifically, there is a clash with the triple number even though I specified: StrokeFinger #'add-stem-support = ##t and I would like the finger strokes to lineup vertically rather than following the note height. Using markup is a hack because the distance between notes can change and then the spacing in the markup has to be manually adjusted. == \version 2.15.41 \language english #(ly:set-option 'point-and-click #f) #(set-global-staff-size 25) fl = \set fingeringOrientations = #'(left) sfu = \set strokeFingerOrientations = #'(up) sfd = \set strokeFingerOrientations = #'(down) P = \rightHandFinger #1 I = \rightHandFinger #2 M = \rightHandFinger #3 A = \rightHandFinger #4 patternA = \relative c'' { \new Voice = patternA \repeat volta 1 { \fl \times 2/3 { \sfd c,-3-\P8 [ \sfu c'-1-\I-\M e-\M-\A ] } \repeat unfold 2 { \times 2/3 { c, [ c' e ] } } c,4 | \times 2/3 { \sfd c-3-\P8 [ c'-1^\markup{ \fontsize #1 \override #'(baseline-skip . 2) \italic \center-column{ m a i m } } e ] } \repeat unfold 2 { \times 2/3 { c, [ c' e ] } } c,4 | } % Voice } % patternA \score { \override Score.Fingering #'font-size = #-3 \override Score.StrokeFinger #'font-size = #0.5 \override Score.StrokeFinger #'add-stem-support = ##t \override Score.StaffSymbol #'staff-space = #1.4 \context Voice { \patternA } } % score % Local Variables: % % tab-width: 4 % % compile-command: lilypond --ps arpeggio_patterns.ly % % End: % ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user