LSR/1007

< LSR
Zur Navigation springen Zur Suche springen
PD Der Inhalt dieser Seite wurde aus dem LilyPond Snippet Repository übernommen und steht unter folgender Lizenz: CC0.
See Public Domain Help Pages for more info.
PD
Crossing staves

LSR Snippet Nr. 1007

Beschreibung

auto
%\version "2.18.2"

%% http://lsr.di.unimi.it/LSR/Item?id=1007
%% see also http://www.lilypondforum.de/index.php?topic=1416.msg7817#msg7817
%% see also http://lsr.di.unimi.it/LSR/Item?id=1005
%% Add by PPS on June 2015
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% LSR workaround:
#(set! paper-alist (cons '("snippet" . (cons (* 140 mm) (* 200 mm))) paper-alist))
\paper {
  #(set-paper-size "snippet")
  tagline = ##f
}
\markup\vspace #.5
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Make cross staves:
fagott = \relative c {
  \set Staff.instrumentName = "Fagott"
  \clef bass
  c4 e g  e
  \cadenzaOn
  \hideNotes
  \once\override Glissando.bound-details.left.padding = #0
  \once\override Glissando.bound-details.right.padding = #0
  \once\override NoteColumn.X-offset = #1.0
  <g, b d f a>8 \glissando
  \stopStaff
  s1
  \change Staff = "unten"
  \startStaff
  \once\override NoteColumn.X-offset = #-0.5
  <g b d f a>8
  \cadenzaOff
  \unHideNotes
  c4 e g e
}
blech = \relative c'' {
  \set Staff.instrumentName = "Blech"
  c1
  \cadenzaOn
  s8 \hideNotes c4 c c c   \unHideNotes s8
  \cadenzaOff
  c1
}
pauke = \relative c {
  \set Staff.instrumentName = "Pauke"
  \clef bass
  c4 g c  g
  \cadenzaOn
  \hideNotes
  \once\override Glissando.bound-details.left.padding = #0
  \once\override Glissando.bound-details.right.padding = #0
  \once\override NoteColumn.X-offset = #1.0
  <g b d f a>8 \glissando
  \stopStaff
  s1
  \change Staff = "oben"
  \startStaff
  \once\override NoteColumn.X-offset = #-0.5
  <g b d f a>8
  \cadenzaOff
  \unHideNotes
  c4 g c g
}
\markup\italic "Cross staff:" 
\score {
  <<
    \new Staff = "oben" \fagott
    \new Staff = "mitte" \blech
    \new Staff = "unten" \pauke
  >>
}


% Make a chicane staff:
#(define-markup-command 
   (chicane-staff layout props 
     chicane-staff-length 
     chicane-staff-height-correction
     chicane-staff-height-position
     staff-staff-spacing-basic-distance)
   (number? number? number? number?)
   "Draw a curved staff with variable length & height starting from a point-stencil."
     (interpret-markup layout props
       (markup
         (#:path 0.1 
           `((moveto  0  2)  
             (curveto    
               ,chicane-staff-length    2   
               ,(* chicane-staff-length 0.5)  ,(+ (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 2)   
               ,(* chicane-staff-length 1.5)  ,(+ (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 2))
             (moveto  0  1)  
             (curveto    
               ,chicane-staff-length    1  
               ,(* chicane-staff-length 0.5)  ,(+ (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 1)   
               ,(* chicane-staff-length 1.5)  ,(+ (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 1))
             (moveto  0  0)  
             (curveto    
               ,chicane-staff-length    0   
               ,(* chicane-staff-length 0.5)  ,(+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance))  
               ,(* chicane-staff-length 1.5)  ,(+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)))
             (moveto  0  -1)   
             (curveto    
               ,chicane-staff-length    -1  
               ,(* chicane-staff-length 0.5)  ,(- (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 1)   
               ,(* chicane-staff-length 1.5)  ,(- (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 1))
             (moveto  0  -2)  
             (curveto    
               ,chicane-staff-length    -2   
               ,(* chicane-staff-length 0.5)  ,(- (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 2)   
               ,(* chicane-staff-length 1.5)  ,(- (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 2)))))))



fagott-bis = \relative c {
  \set Staff.instrumentName = "Fagott"
  \clef bass
  c4 e g  e
  \cadenzaOn
  \hideNotes c8 
  \bar "" 
  \once \override Staff.BarLine.stencil =
    #(lambda (grob)
       (ly:stencil-combine-at-edge
        (ly:bar-line::print grob)
        X LEFT
        (grob-interpret-markup grob #{ 
          \markup
          \with-dimensions #'(0 . 0) #'(0 . 0)
          \concat {
            \hspace #-.1
            \chicane-staff #10.2 #0 #10 #-1.8
            \hspace #-.3
          }
          #} )
        -1.3))
  \stopStaff s1 \startStaff c8 \unHideNotes
  \change Staff = "unten"
  \cadenzaOff
  c4 e g e
}
blech-bis = \relative c'' {
  \set Staff.instrumentName = "Blech"
  c1
  \cadenzaOn
  s8 \hideNotes c4 c c c  \unHideNotes s8
  \cadenzaOff
  c1
}
pauke-bis = \relative c {
  \set Staff.instrumentName = "Pauke"
  \clef bass
  c4 g c g
  \cadenzaOn
  \hideNotes c8 
  \bar "" 
  \once \override Staff.BarLine.stencil =
    #(lambda (grob)
       (ly:stencil-combine-at-edge
        (ly:bar-line::print grob)
        X LEFT
        (grob-interpret-markup grob #{ 
          \markup
          \with-dimensions #'(0 . 0) #'(0 . 0)
          \concat {
            \hspace #-.1
            \chicane-staff #10.2 #0 #10 #1.8
            \hspace #-.3
          }
          #} )
        -1.3))
  \stopStaff s1 \startStaff c8 \unHideNotes
  \change Staff = "oben"
  \cadenzaOff
  c4 g c g
}

\markup\italic "Chicane staff:"  
\score {
  <<
    \new Staff = "oben" \fagott-bis
    \new Staff = "mitte" \blech-bis
    \new Staff = "unten" \pauke-bis
  >>
}

% Make a twisted staff:
#(define-markup-command 
   (twist-staff layout props 
     twist-staff-length 
     twist-staff-height-correction
     twist-staff-height-position
     staff-staff-spacing-basic-distance)
   (number? number? number? number?)
   "Draw a curved staff with variable length & height starting from a point-stencil."
     (interpret-markup layout props
       (markup
         (#:path 0.1 
           `((moveto  0  -2)  
             (curveto    
               ,twist-staff-length    -2   
               ,(* twist-staff-length 0.5)  ,(+ (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 2)   
               ,(* twist-staff-length 1.5)  ,(+ (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 2))
             (moveto  0  -1)  
             (curveto    
               ,twist-staff-length    -1  
               ,(* twist-staff-length 0.5)  ,(+ (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 1)   
               ,(* twist-staff-length 1.5)  ,(+ (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 1))
             (moveto  0  0)  
             (curveto    
               ,twist-staff-length    0   
               ,(* twist-staff-length 0.5)  ,(+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance))  
               ,(* twist-staff-length 1.5)  ,(+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)))
             (moveto  0  1)   
             (curveto    
               ,twist-staff-length    1  
               ,(* twist-staff-length 0.5)  ,(- (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 1)   
               ,(* twist-staff-length 1.5)  ,(- (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 1))
             (moveto  0  2)  
             (curveto    
               ,twist-staff-length    2   
               ,(* twist-staff-length 0.5)  ,(- (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 2)   
               ,(* twist-staff-length 1.5)  ,(- (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 2)))))))


fagott-ter = \relative c {
  \set Staff.instrumentName = "Fagott"
  \clef bass
  c4 e g  e
  \cadenzaOn
  \hideNotes c8 
  \bar "" 
  \once \override Staff.BarLine.stencil =
    #(lambda (grob)
       (ly:stencil-combine-at-edge
        (ly:bar-line::print grob)
        X LEFT
        (grob-interpret-markup grob #{ 
          \markup
          \with-dimensions #'(0 . 0) #'(0 . 0)
          \concat {
            \hspace #-.1
            \twist-staff #10.2 #0 #10 #-1.8
            \hspace #-.3
          }
          #} )
        -1.3))
  \stopStaff s1 \startStaff c8 \unHideNotes
  \change Staff = "unten"
  \cadenzaOff
  c4 e g e
}
blech-ter = \relative c'' {
  \set Staff.instrumentName = "Blech"
  c1
  \cadenzaOn
  s8 \hideNotes c4 c c c  \unHideNotes s8
  \cadenzaOff
  c1
}
pauke-ter = \relative c {
  \set Staff.instrumentName = "Pauke"
  \clef bass
  c4 g c g
  \cadenzaOn
  \hideNotes c8 
  \bar "" 
  \once \override Staff.BarLine.stencil =
    #(lambda (grob)
       (ly:stencil-combine-at-edge
        (ly:bar-line::print grob)
        X LEFT
        (grob-interpret-markup grob #{ 
          \markup
          \with-dimensions #'(0 . 0) #'(0 . 0)
          \concat {
            \hspace #-.1
            \twist-staff #10.2 #0 #10 #1.8
            \hspace #-.3
          }
          #} )
        -1.3))
  \stopStaff s1 \startStaff c8 \unHideNotes
  \change Staff = "oben"
  \cadenzaOff
  c4 g c g
}

\markup\italic "Twisted staff:"  
\score {
  <<
    \new Staff = "oben" \fagott-ter
    \new Staff = "mitte" \blech-ter
    \new Staff = "unten" \pauke-ter
  >>
}
%\version "2.18.2"

%% http://lsr.di.unimi.it/LSR/Item?id=1007
%% see also http://www.lilypondforum.de/index.php?topic=1416.msg7817#msg7817
%% see also http://lsr.di.unimi.it/LSR/Item?id=1005
%% Add by PPS on June 2015
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% LSR workaround:
#(set! paper-alist (cons '("snippet" . (cons (* 140 mm) (* 200 mm))) paper-alist))
\paper {
  #(set-paper-size "snippet")
  tagline = ##f
}
\markup\vspace #.5
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Make cross staves:
fagott = \relative c {
  \set Staff.instrumentName = "Fagott"
  \clef bass
  c4 e g  e
  \cadenzaOn
  \hideNotes
  \once\override Glissando.bound-details.left.padding = #0
  \once\override Glissando.bound-details.right.padding = #0
  \once\override NoteColumn.X-offset = #1.0
  <g, b d f a>8 \glissando
  \stopStaff
  s1
  \change Staff = "unten"
  \startStaff
  \once\override NoteColumn.X-offset = #-0.5
  <g b d f a>8
  \cadenzaOff
  \unHideNotes
  c4 e g e
}
blech = \relative c'' {
  \set Staff.instrumentName = "Blech"
  c1
  \cadenzaOn
  s8 \hideNotes c4 c c c   \unHideNotes s8
  \cadenzaOff
  c1
}
pauke = \relative c {
  \set Staff.instrumentName = "Pauke"
  \clef bass
  c4 g c  g
  \cadenzaOn
  \hideNotes
  \once\override Glissando.bound-details.left.padding = #0
  \once\override Glissando.bound-details.right.padding = #0
  \once\override NoteColumn.X-offset = #1.0
  <g b d f a>8 \glissando
  \stopStaff
  s1
  \change Staff = "oben"
  \startStaff
  \once\override NoteColumn.X-offset = #-0.5
  <g b d f a>8
  \cadenzaOff
  \unHideNotes
  c4 g c g
}
\markup\italic "Cross staff:" 
\score {
  <<
    \new Staff = "oben" \fagott
    \new Staff = "mitte" \blech
    \new Staff = "unten" \pauke
  >>
}


% Make a chicane staff:
#(define-markup-command 
   (chicane-staff layout props 
     chicane-staff-length 
     chicane-staff-height-correction
     chicane-staff-height-position
     staff-staff-spacing-basic-distance)
   (number? number? number? number?)
   "Draw a curved staff with variable length & height starting from a point-stencil."
     (interpret-markup layout props
       (markup
         (#:path 0.1 
           `((moveto  0  2)  
             (curveto    
               ,chicane-staff-length    2   
               ,(* chicane-staff-length 0.5)  ,(+ (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 2)   
               ,(* chicane-staff-length 1.5)  ,(+ (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 2))
             (moveto  0  1)  
             (curveto    
               ,chicane-staff-length    1  
               ,(* chicane-staff-length 0.5)  ,(+ (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 1)   
               ,(* chicane-staff-length 1.5)  ,(+ (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 1))
             (moveto  0  0)  
             (curveto    
               ,chicane-staff-length    0   
               ,(* chicane-staff-length 0.5)  ,(+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance))  
               ,(* chicane-staff-length 1.5)  ,(+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)))
             (moveto  0  -1)   
             (curveto    
               ,chicane-staff-length    -1  
               ,(* chicane-staff-length 0.5)  ,(- (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 1)   
               ,(* chicane-staff-length 1.5)  ,(- (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 1))
             (moveto  0  -2)  
             (curveto    
               ,chicane-staff-length    -2   
               ,(* chicane-staff-length 0.5)  ,(- (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 2)   
               ,(* chicane-staff-length 1.5)  ,(- (+ chicane-staff-height-correction (* chicane-staff-height-position staff-staff-spacing-basic-distance)) 2)))))))



fagott-bis = \relative c {
  \set Staff.instrumentName = "Fagott"
  \clef bass
  c4 e g  e
  \cadenzaOn
  \hideNotes c8 
  \bar "" 
  \once \override Staff.BarLine.stencil =
    #(lambda (grob)
       (ly:stencil-combine-at-edge
        (ly:bar-line::print grob)
        X LEFT
        (grob-interpret-markup grob #{ 
          \markup
          \with-dimensions #'(0 . 0) #'(0 . 0)
          \concat {
            \hspace #-.1
            \chicane-staff #10.2 #0 #10 #-1.8
            \hspace #-.3
          }
          #} )
        -1.3))
  \stopStaff s1 \startStaff c8 \unHideNotes
  \change Staff = "unten"
  \cadenzaOff
  c4 e g e
}
blech-bis = \relative c'' {
  \set Staff.instrumentName = "Blech"
  c1
  \cadenzaOn
  s8 \hideNotes c4 c c c  \unHideNotes s8
  \cadenzaOff
  c1
}
pauke-bis = \relative c {
  \set Staff.instrumentName = "Pauke"
  \clef bass
  c4 g c g
  \cadenzaOn
  \hideNotes c8 
  \bar "" 
  \once \override Staff.BarLine.stencil =
    #(lambda (grob)
       (ly:stencil-combine-at-edge
        (ly:bar-line::print grob)
        X LEFT
        (grob-interpret-markup grob #{ 
          \markup
          \with-dimensions #'(0 . 0) #'(0 . 0)
          \concat {
            \hspace #-.1
            \chicane-staff #10.2 #0 #10 #1.8
            \hspace #-.3
          }
          #} )
        -1.3))
  \stopStaff s1 \startStaff c8 \unHideNotes
  \change Staff = "oben"
  \cadenzaOff
  c4 g c g
}

\markup\italic "Chicane staff:"  
\score {
  <<
    \new Staff = "oben" \fagott-bis
    \new Staff = "mitte" \blech-bis
    \new Staff = "unten" \pauke-bis
  >>
}

% Make a twisted staff:
#(define-markup-command 
   (twist-staff layout props 
     twist-staff-length 
     twist-staff-height-correction
     twist-staff-height-position
     staff-staff-spacing-basic-distance)
   (number? number? number? number?)
   "Draw a curved staff with variable length & height starting from a point-stencil."
     (interpret-markup layout props
       (markup
         (#:path 0.1 
           `((moveto  0  -2)  
             (curveto    
               ,twist-staff-length    -2   
               ,(* twist-staff-length 0.5)  ,(+ (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 2)   
               ,(* twist-staff-length 1.5)  ,(+ (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 2))
             (moveto  0  -1)  
             (curveto    
               ,twist-staff-length    -1  
               ,(* twist-staff-length 0.5)  ,(+ (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 1)   
               ,(* twist-staff-length 1.5)  ,(+ (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 1))
             (moveto  0  0)  
             (curveto    
               ,twist-staff-length    0   
               ,(* twist-staff-length 0.5)  ,(+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance))  
               ,(* twist-staff-length 1.5)  ,(+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)))
             (moveto  0  1)   
             (curveto    
               ,twist-staff-length    1  
               ,(* twist-staff-length 0.5)  ,(- (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 1)   
               ,(* twist-staff-length 1.5)  ,(- (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 1))
             (moveto  0  2)  
             (curveto    
               ,twist-staff-length    2   
               ,(* twist-staff-length 0.5)  ,(- (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 2)   
               ,(* twist-staff-length 1.5)  ,(- (+ twist-staff-height-correction (* twist-staff-height-position staff-staff-spacing-basic-distance)) 2)))))))


fagott-ter = \relative c {
  \set Staff.instrumentName = "Fagott"
  \clef bass
  c4 e g  e
  \cadenzaOn
  \hideNotes c8 
  \bar "" 
  \once \override Staff.BarLine.stencil =
    #(lambda (grob)
       (ly:stencil-combine-at-edge
        (ly:bar-line::print grob)
        X LEFT
        (grob-interpret-markup grob #{ 
          \markup
          \with-dimensions #'(0 . 0) #'(0 . 0)
          \concat {
            \hspace #-.1
            \twist-staff #10.2 #0 #10 #-1.8
            \hspace #-.3
          }
          #} )
        -1.3))
  \stopStaff s1 \startStaff c8 \unHideNotes
  \change Staff = "unten"
  \cadenzaOff
  c4 e g e
}
blech-ter = \relative c'' {
  \set Staff.instrumentName = "Blech"
  c1
  \cadenzaOn
  s8 \hideNotes c4 c c c  \unHideNotes s8
  \cadenzaOff
  c1
}
pauke-ter = \relative c {
  \set Staff.instrumentName = "Pauke"
  \clef bass
  c4 g c g
  \cadenzaOn
  \hideNotes c8 
  \bar "" 
  \once \override Staff.BarLine.stencil =
    #(lambda (grob)
       (ly:stencil-combine-at-edge
        (ly:bar-line::print grob)
        X LEFT
        (grob-interpret-markup grob #{ 
          \markup
          \with-dimensions #'(0 . 0) #'(0 . 0)
          \concat {
            \hspace #-.1
            \twist-staff #10.2 #0 #10 #1.8
            \hspace #-.3
          }
          #} )
        -1.3))
  \stopStaff s1 \startStaff c8 \unHideNotes
  \change Staff = "oben"
  \cadenzaOff
  c4 g c g
}

\markup\italic "Twisted staff:"  
\score {
  <<
    \new Staff = "oben" \fagott-ter
    \new Staff = "mitte" \blech-ter
    \new Staff = "unten" \pauke-ter
  >>
}

Unterseiten