lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: help with grace positioning


From: Thomas Morley
Subject: Re: help with grace positioning
Date: Thu, 11 Oct 2012 01:22:05 +0200

2012/10/10 TaoCG <address@hidden>:
> I'm trying to typeset the following measure:
> sf282.png <http://lilypond.1069038.n5.nabble.com/file/n134539/sf282.png>
>
> And that's the closest I got:
> attempt.png <http://lilypond.1069038.n5.nabble.com/file/n134539/attempt.png>
>
> \version "2.16.0"
>
> skipOnce =
> {
>   \once \override NoteColumn #'glissando-skip = ##t
>   \once \override NoteHead #'transparent = ##t
> }
>
> \relative c''
> {
>   #(define afterGraceFraction (cons 1 5000))
>   \times 2/3 { f8~ f4\glissando } \tupletDown
>   \times 4/5 { \skipOnce e16 \afterGrace e4_( { e32[ f e])\glissando } }
> \tupletNeutral
>   \times 4/5 { \skipOnce f16 f4~ } f4~
> }
>
>
>
> --
> View this message in context: 
> http://lilypond.1069038.n5.nabble.com/help-with-grace-positioning-tp134539.html
> Sent from the User mailing list archive at Nabble.com.
>
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/lilypond-user

Hi,

you could try the approach below.

I took the `graceSettingsĀ“ from /ly/engraver-init.ly and created some
overrides with them, using these overrides in a temporary second
voice.
Because of the lower fontSize some additional tweaks were necessary.
A music-function which minimises typing, while changing TupletBrackets
'minimal-length is added, too.



\version "2.16.0"

skipOnce =
{
  \once \override NoteColumn #'glissando-skip = ##t
  \once \override NoteHead #'transparent = ##t
}

% see `graceSettingsĀ“ in /ly/engraver-init.ly
% TabNoteHead setting is omitted.
graceStyleOn = {
    \override Stem #'direction = #UP
    \override Stem #'font-size = #-3
    \override Flag #'font-size = #-3
    \override NoteHead #'font-size = #-3
    \override Dots #'font-size = #-3
    \override Stem #'length-fraction = #0.8
    \override Stem #'no-stem-extend = ##t
    \override Beam #'beam-thickness = #0.384
    \override Beam #'length-fraction = #0.8
    \override Accidental #'font-size = #-4
    \override AccidentalCautionary #'font-size = #-4
    \override Slur #'direction = #DOWN
    \override Script #'font-size = #-3
    \override Fingering #'font-size = #-8
    \override StringNumber #'font-size = #-8
}

graceStyleOff = {
    \revert Stem #'direction
    \revert Stem #'font-size
    \revert Flag #'font-size
    \revert NoteHead #'font-size
    \revert Dots #'font-size
    \revert Stem #'length-fraction
    \revert Stem #'no-stem-extend
    \revert Beam #'beam-thickness
    \revert Beam #'length-fraction
    \revert Accidental #'font-size
    \revert AccidentalCautionary #'font-size
    \revert Slur #'direction
    \revert Script #'font-size
    \revert Fingering #'font-size
    \revert StringNumber #'font-size
}

tweakNh =
#(define-music-function (parser location mus)(ly:music?)
"Adjusting the NoteHead"
#{
     %% Construction-helpers:
        % \tweak #'layer #5
        % \tweak #'color #red
        \tweak #'X-offset #1.32
        \tweak #'stem-attachment #'(3.82 . 0.5)
        $mus
#})

tupletLength =
#(define-music-function (parser location ln)(number?)
"Adjust TupletBracket's minimum-length"
#{
        \override Score.TupletBracket #'springs-and-rods =
#ly:spanner::set-spacing-rods
        \override Score.TupletBracket #'minimum-length = $ln
#})

\score {
        \new Staff
        \new Voice \relative c'' {
                \tupletLength #10
                \tupletDown
                \times 2/3 { f8~ f4\glissando }
                \times 4/5 {
                        \skipOnce e16
                        <<
                          { \voiceOne \graceStyleOn \tweakNh e32_([ f 
e])\glissando }
                          \new Voice { \voiceTwo  e4 }
                         >>
                }
                \oneVoice
                \times 4/5 { \graceStyleOff \skipOnce  f16  f4~ }
                f4 |
        }
        \layout {
                \context {
                        \Voice
                        tupletFullLength = ##t
                        \override Flag #'stencil = #modern-straight-flag
                }
        }       
}

I'd prefer to have a function, which could deal with `graceSettingsĀ“,
tranfering one setting after the other in an override (using some
mapping), but I failed. :(

HTH,
  Harm



reply via email to

[Prev in Thread] Current Thread [Next in Thread]