%% DO NOT EDIT this file manually; it is automatically
-%% generated from LSR http://lsr.dsi.unimi.it
+%% generated from LSR http://lsr.di.unimi.it
%% Make any changes in LSR itself, or in Documentation/snippets/new/ ,
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.14.2"
+\version "2.18.0"
\header {
- lsrtags = "vocal-music, symbols-and-glyphs, staff-notation"
+ lsrtags = "staff-notation, symbols-and-glyphs, vocal-music"
texidoc = "
This snippet defines the @code{\\splitStaffBarLine} command, which adds
} % begin verbatim
#(define-markup-command (arrow-at-angle layout props angle-deg length fill)
- (number? number? boolean?)
- (let* (
- ;; PI-OVER-180 and degrees->radians are taken from flag-styles.scm
- (PI-OVER-180 (/ (atan 1 1) 45))
- (degrees->radians (lambda (degrees) (* degrees PI-OVER-180)))
- (angle-rad (degrees->radians angle-deg))
- (target-x (* length (cos angle-rad)))
- (target-y (* length (sin angle-rad))))
- (interpret-markup layout props
- (markup
- #:translate (cons (/ target-x 2) (/ target-y 2))
- #:rotate angle-deg
- #:translate (cons (/ length -2) 0)
- #:concat (#:draw-line (cons length 0)
- #:arrow-head X RIGHT fill)))))
+ (number? number? boolean?)
+ (let* (
+ (PI-OVER-180 (/ (atan 1 1) 34))
+ (degrees->radians (lambda (degrees) (* degrees PI-OVER-180)))
+ (angle-rad (degrees->radians angle-deg))
+ (target-x (* length (cos angle-rad)))
+ (target-y (* length (sin angle-rad))))
+ (interpret-markup layout props
+ (markup
+ #:translate (cons (/ target-x 2) (/ target-y 2))
+ #:rotate angle-deg
+ #:translate (cons (/ length -2) 0)
+ #:concat (#:draw-line (cons length 0)
+ #:arrow-head X RIGHT fill)))))
-splitStaffBarLineMarkup = \markup \with-dimensions #'(0 . 0) #'(0 . 0) {
- \combine
- \arrow-at-angle #45 #(sqrt 8) ##f
- \arrow-at-angle #-45 #(sqrt 8) ##f
+splitStaffBarLine = {
+ \once \override Staff.BarLine.stencil =
+ #(lambda (grob)
+ (ly:stencil-combine-at-edge
+ (ly:bar-line::print grob)
+ X RIGHT
+ (grob-interpret-markup grob #{
+ \markup\with-dimensions #'(0 . 0) #'(0 . 0) {
+ \translate #'(5.95 . .14)\arrow-at-angle #45 #(sqrt 8) ##t
+ \translate #'(5.35 . -.13)\arrow-at-angle #-45 #(sqrt 8) ##t }#})
+ 0))
+ \break
}
-splitStaffBarLine = {
- \once \override Staff.BarLine #'stencil =
- #(lambda (grob)
- (ly:stencil-combine-at-edge
- (ly:bar-line::print grob)
- X RIGHT
- (grob-interpret-markup grob splitStaffBarLineMarkup)
- 0))
+convDownStaffBarLine = {
+ \once \override Staff.BarLine.stencil =
+ #(lambda (grob)
+ (ly:stencil-combine-at-edge
+ (ly:bar-line::print grob)
+ X RIGHT
+ (grob-interpret-markup grob #{
+ \markup\with-dimensions #'(0 . 0) #'(0 . 0) {
+ \translate #'(5.3 . -.13)\arrow-at-angle #-45 #(sqrt 8) ##t }#})
+ 0))
\break
}
-\paper {
- ragged-right = ##t
- short-indent = 5\mm
+convUpStaffBarLine = {
+ \once \override Staff.BarLine.stencil =
+ #(lambda (grob)
+ (ly:stencil-combine-at-edge
+ (ly:bar-line::print grob)
+ X RIGHT
+ (grob-interpret-markup grob #{
+ \markup\with-dimensions #'(0 . 0) #'(0 . 0) {
+ \translate #'(5.28 . .14)\arrow-at-angle #45 #(sqrt 8) ##t }#})
+ 0))
+ \break
}
+
\score {
<<
\new ChoirStaff <<
- \new Staff \with { instrumentName = #"High I + II" } {
+ \new Staff
+ \with {
+ instrumentName = #"H I + H II"
+ } {
+ \key f\minor
<<
\repeat unfold 4 f''1
\\
- \repeat unfold 4 d''1
+ \repeat unfold 4 des''1
>>
+ \key f\major
\splitStaffBarLine
}
\new Staff \with { instrumentName = #"Low" } {
+ \key f\minor
<<
- \repeat unfold 4 b'1
+ \repeat unfold 4 bes'1
\\
\repeat unfold 4 g'1
>>
+ \key f\major
}
- \new Staff \with { shortInstrumentName = #"H I" } {
+ \new Staff \with { shortInstrumentName = #"I" } {
+ \key f \major
R1*4
\repeat unfold 2 { r4 f''2 r4 } \repeat unfold 2 e''1
+ \key f\minor
+ \convDownStaffBarLine
}
- \new Staff \with { shortInstrumentName = #"H II" } {
+ \new Staff \with { shortInstrumentName = #"II" } {
+ \key f \major
R1*4
- \repeat unfold 4 b'2 \repeat unfold 2 c''1
+ \repeat unfold 4 bes'2 \repeat unfold 2 c''1
+ \key f\minor
+ \convUpStaffBarLine
}
+
\new Staff \with { shortInstrumentName = #"L" } {
+ \key f\major
R1*4
<<
\repeat unfold 4 g'1
\\
\repeat unfold 4 c'1
>>
+ \key f\minor
+ }
+
+ \new Staff
+ \with {
+ shortInstrumentName = #"I+II"
+ } {
+ \key f\minor
+ R1*8
+ <<
+ \repeat unfold 4 f''1
+ \\
+ \repeat unfold 4 des''1
+ >>
+ }
+ \new Staff \with { shortInstrumentName = #"L" } {
+ \key f\minor
+ R1*8
+ <<
+ \repeat unfold 4 bes'1
+ \\
+ \repeat unfold 4 g'1
+ >>
}
>>
>>
}
}
}
-
+\paper {
+ ragged-right = ##t
+}