lilypond-user
[Top][All Lists]
Advanced

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

Re: Trying to displace note heads from stem


From: Pierre Perol-Schneider
Subject: Re: Trying to displace note heads from stem
Date: Sun, 25 Oct 2015 18:50:51 +0100

Or shorter :

\version "2.19.29"
#(set-global-staff-size 15)
\paper {
  indent = 0
  ragged-right = ##f
}

xen = #(define-scheme-function (parser location music)
  (ly:music?)
   #{
        \markup {
        \with-dimensions #'(0 . 0) #'(0 . 0)
        \score {
          \magnifyMusic 0.8 { $music }
          \layout {
            indent = 0
            \context {
              \Score
                \omit StaffSymbol
                \omit Clef
                \omit TimeSignature
                \omit Stem
              }
            }
          }
        }
   #})

\new PianoStaff \with {
    \omit TimeSignature
    \consists #Span_stem_engraver
  } <<
  \new Staff \with {
      \clef G
      \override VerticalAxisGroup.staff-staff-spacing =
        #'((basic-distance . 15))
    }  <<
    \new Voice \relative {
      \voiceOne
      \override Beam.positions = #'(10 . 10)
      \override NoteHead.stencil = ##f
      c'16 16 8 8 16 16 16 8 16
      \set subdivideBeams = ##t
      \set baseMoment = #(ly:make-moment 1/8)
      \repeat unfold 5 { c16 c c c }
    }
    \new Voice \relative {
      \voiceTwo
      \override TextScript.padding = #'()
      s16 s
      -\tweak extra-offset #'(-2 . -11)
      ^\xen { a''!4 }
      -\tweak extra-offset #'(-1 . -11.5)
      ^\xen { b''4 }
      }
  >>
  \new Dynamics { s1-\tweak extra-offset #'(1.8 . -1.8) \p s }
  \new Staff \with { \clef F } <<
    \new Voice \relative {
      \voiceOne
      \override Beam.stencil = ##f
      \override NoteHead.stencil = ##f
      \crossStaff {
        e,16 16 8 8 16 16 16 8 16
        \set subdivideBeams = ##t
        \set baseMoment = #(ly:make-moment 1/8)
        \repeat unfold 5 { e16 e e e }
      }
    }
    \new Voice {
      \voiceTwo
      s16
      -\tweak extra-offset #'(-1 . 1.5)
      _\xen {
        c''4
        -\tweak extra-offset #'(-1 . -2)
        _\markup\concat {
          \lower  #.2 \italic "8"
          \path #0.15 #'((lineto 7 0)(lineto 7 1))
        }
      }
      -\tweak extra-offset #'(1.8 . 2)
      _\xen { gis'4 }
      -\tweak extra-offset #'(4 . 3.5)
      _\xen { fis4 }
    }  
    \new Voice {
      \voiceThree
      s1 \bar "" s
    }   
  >>
>>


Cheers,
Pierre

2015-10-25 13:58 GMT+01:00 Pierre Perol-Schneider <address@hidden>:
Hi Ryan,

As each note head has its proper alignment, I don't see how this can be achieved without using markups.
Long work though...

Something like :

\version "2.19.29"
#(set-global-staff-size 15)
\paper {
  indent = 0
  ragged-right = ##f
}

\new PianoStaff \with {
    \omit TimeSignature
    \consists #Span_stem_engraver
  } <<
  \new Staff \with {
      \clef G
      \override VerticalAxisGroup.staff-staff-spacing =
        #'((basic-distance . 15))
    }  <<
    \new Voice \relative {
      \voiceOne
      \override Beam.positions = #'(10 . 10)
      \override NoteHead.stencil = ##f
      c'16 16 8 8 16 16 16 8 16
      \set subdivideBeams = ##t
      \set baseMoment = #(ly:make-moment 1/8)
      \repeat unfold 5 { c16 c c c }
    }
    \new Voice \relative {
      \voiceTwo
      \override TextScript.padding = #'()
      s16 s
      -\tweak extra-offset #'(-2 . -11)
      ^\markup {
        \with-dimensions #'(0 . 0) #'(0 . 0)
        \score {
          \magnifyMusic 0.8 { a''!4 }
          \layout {
            \context {
              \Score
                \omit StaffSymbol
                \omit Clef
                \omit TimeSignature
                \omit Stem
              }
            }
          }
        }
      -\tweak extra-offset #'(-1 . -11.5)
      ^\markup {
        \with-dimensions #'(0 . 0) #'(0 . 0)
        \score {
          \magnifyMusic 0.8 { b''4 }
          \layout {
            \context {
              \Score
                \omit StaffSymbol
                \omit Clef
                \omit TimeSignature
                \omit Stem
              }
            }
          }
        }
      }
  >>
  \new Dynamics { s1-\tweak extra-offset #'(1.8 . -1.8) \p s }
  \new Staff \with { \clef F } <<
    \new Voice \relative {
      \voiceOne
      \override Beam.stencil = ##f
      \override NoteHead.stencil = ##f
      \crossStaff {
        e,16 16 8 8 16 16 16 8 16
        \set subdivideBeams = ##t
        \set baseMoment = #(ly:make-moment 1/8)
        \repeat unfold 5 { e16 e e e }
      }
    }
    \new Voice {
      \voiceTwo
      s16
      _\tweak extra-offset #'(-1 . 1.5)
      ^\markup {
        \with-dimensions #'(0 . 0) #'(0 . 0)
        \score {
          \magnifyMusic 0.8 {
            c''4
            -\tweak extra-offset #'(-1 . -2)
            _\markup\concat {
              \lower  #.2 \italic "8"
              \path #0.1 #'((lineto 7 0)(lineto 7 1))
            }
          }
          \layout {
            \context {
              \Score
                \omit StaffSymbol
                \omit Clef
                \omit TimeSignature
                \omit Stem
              }
            }
          }
        }
      _\tweak extra-offset #'(1.8 . 2)
      ^\markup {
        \with-dimensions #'(0 . 0) #'(0 . 0)
        \score  {
          \magnifyMusic 0.8 { gis'4 }
          \layout {
            \context {
              \Score
                \omit StaffSymbol
                \omit Clef
                \omit TimeSignature
                \omit Stem
              }
            }
          }
        }
      _\tweak extra-offset #'(4 . 3.5)
      ^\markup {
        \with-dimensions #'(0 . 0) #'(0 . 0)
        \score  {
          \magnifyMusic 0.8 { fis4 }
          \layout {
            \context {
              \Score
                \omit StaffSymbol
                \omit Clef
                \omit TimeSignature
                \omit Stem
              }
            }
          }
        }       
    }  
    \new Voice {
      \voiceThree
      s1 \bar "" s
    }   
  >>
>>

Just thinking,
HTH,
Pierre


2015-10-25 7:48 GMT+01:00 Ryan Michael <address@hidden>:
I know there are ways in lilypond to not display the stem. I would 
like to do something slightly different, which is to position the note head
associated with a stem at varying distances away from the stem to denote a relative rhythmic placement which can be seen in Xenakis' Mists https://www.youtube.com/watch?v=ZH4j70KU-RQ at 3:42 so you can see what I am trying to achieve. 
Thanks!
Ryan.


_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user




reply via email to

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