Hi Klaus,
unfortunately I have to use \startStaff \stopStaff, because I want to
set ossia variations above the original score.
I'll attach the complete score, so you can see my problem.
musicus
------ Originalnachricht ------
Von: "Klaus Blum" <benbigno...@gmx.de>
An: lilypond-user@gnu.org
Gesendet: 09.06.2015 21:18:12
Betreff: Re: coloring voices vs systemStartDelimiterHierarchy
Hi musicus,
the problem disappears if you remove the "\stopStaff" and "\startStaff"
commands in your "colorMusic" function. It seems that the function
works
fine without them.
Is there a special reason for them? I could not find them in Urs' blog.
Cheers,
Klaus
--
View this message in context:
http://lilypond.1069038.n5.nabble.com/coloring-voices-vs-systemStartDelimiterHierarchy-tp177643p177653.html
Sent from the User mailing list archive at Nabble.com.
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
\version "2.19.17"
\language "deutsch"
colorGrob =
#(define-music-function (parser location my-grob my-color color-on)
(symbol? color? boolean?)
;; check for the boolean argument
(if color-on
;; either set the color for the grob type
#{
\temporary \override #my-grob #'color = #my-color
#}
;; or revert it
#{
\revert #my-grob #'color
#}))
colorGrobs =
#(define-music-function (parser location my-grob-list my-color color-on)
(symbol-list? color? boolean?)
(if (null? my-grob-list)
;; issue an empty music expression
#{ #}
#{
% color the first grob type of the current list
\colorGrob #(car my-grob-list) #my-color #color-on
% recursively call itself with the remainder
% of the current list.
\colorGrobs #(cdr my-grob-list) #my-color #color-on
#}))
colorMusic =
#(let ((grob-names (map car all-grob-descriptions)))
(define-music-function (parser location my-color music)
(color? ly:music?)
#{
\colorGrobs #grob-names #my-color ##t
%\temporary \override LedgerLineSpanner.color = #my-color
%\temporary \override Staff.Clef.color = #my-color
#music
\stopStaff
\colorGrobs #grob-names #my-color ##f
%\revert LedgerLineSpanner.color
%\revert Staff.Clef.color
\startStaff
#}))
%---------------------------------------------------------------------------------
%----------------------------------------Header und Abkürzungen-------------------
%---------------------------------------------------------------------------------
\header {
tagline = ##f
}
global = {
\key d\minor
\time 3/2
\mergeDifferentlyDottedOn
\mergeDifferentlyHeadedOn
\set Timing.beamExceptions = #'(
(end .
(
((1 . 16) . (4 4 4 4 4 4))
)
)
)
}
voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
voiceSix = #(context-spec-music (make-voice-props-set 5) 'Voice)
colA = #(define-music-function(parser location music)(ly:music?)
#{
\colorMusic #(rgb-color 0.72 0 0.196) #music
#})
%--------------------------------------------------------------------------------
%--------------------------musikalischer Inhalt----------------------------------
%--------------------------------------------------------------------------------
einsNoten = {
\repeat volta 2 {
<<
\new Voice {
\voiceOne f''2^\markup {\translate #'(-7 . 3)\bold "Sarabande"} e''2. f''4
| g''4.\turn a''8 fis''2.\prall fis''4
| g''2 e'' d''8 cis'' d''4
| cis''2. h'4 a'2
| c'' h'2. cis''4
| d''4 e'' cis''2.\prall d''4
| e''8 f'' e'' f'' f''2.\prall e''4
| e''1.
}
\new Voice {
\voiceTwo d''2 b'1
| a'2 a'1
| d''2 b' h'
| a'1 e'2
| a' g'1
| gis'2 a' g'
| b' a' gis'~
| gis'4 gis' a'1
}
\new Voice {
\voiceTwo \once \override NoteColumn.force-hshift = 0.3 a'2 g'1
| s1.
| \override NoteColumn.force-hshift = 0.4 g'2 g' f'
}
>>
}
\repeat volta 2{
<<
\new Voice {
\voiceOne e''2 e''1~
| e''2 es''1
| d''2 e''2. f''4
| e''2. d''4 c''2
| f''2 g''2. a''4
| a'' g'' g'' a'' a''8 b'' e''4
| f'' d'' e''2.\upprall f''4
| f''1.
| a''2 g''4 fis'' e'' d''
| b'' g'' e''2. f''4
| g''4 e'' cis''2.\prall d''4
| e'' cis'' a'1~
| a'4 h' c'' a' h' cis''
| d'' h' cis'' d'' e'' cis''
| d''4~ d''16 e'' d''32 cis'' d'' e'' e''2.\prall d''4
| d''1.
}
\new Voice {
\voiceTwo a'2 b'2. a'4
| g'2 f'1~
| f'2 g' a'
| g'1 g'2
| c''1.
| d''2 c'' b'
| a' g'4 a' b'2~
| b'4 g' a'1
| d''1 c''2
| b'2. a'4 g'2
| a' a' f'
| e'1.
| d'1~ d'4 e'
| f' d' e' f' g' e'
| f' b' a'2 g'~
| g'4 e' f'1
}
>>
}
}
zweiNoten = {
{
<<
\new Voice \colA {
\voiceOne d'2 d'1
| e'2 d'1
| d'2 s1
| e'2 d' cis'
| d'2 d'1
| e'1 d'2
| g d' h~
| h4 h cis'1
}
\new Voice {
\voiceTwo d2 s1
| cis'2 c'1
| b2 g gis
| a1 g2
| fis f1
| e2 g b
| cis d1
| \afterGrace a1. {\voiceOne \teeny d'8 e'16[ \change Staff = "eins" f' g' a'] h'[ cis'' d'' e'']}
}
>>
}
{
<<
\new Voice {
\voiceOne cis'2 cis'1~
| cis'2 c'1~
| c'2 b c'
| c' d' e'
| f'1.~
| f'1 g'2
| c' c'~ c'~
| c'4 b c'1
| d'1.~
| d'1.
| cis'2 e' a~
| a2. b4 a g
| fis1 g2
| gis g1
| a4 d~ d h, cis2
| d1.
}
\new Voice {
\voiceTwo a2 g2. a4
| b8 g a4 a2.\upprall a4
| b a g2 f
| c'~ c' b
| a g f
| b a g
| a4 b c'2 c
| f1.
| fis2 e fis
| g a b
| a g4 f e d
| cis1.
| c1 h,2~
| h, b,1
| a,4 g, a,1
| d,1.
}
>>
}
}
ossiaNoten = {
{
\startStaff
<<
\new Voice {
\voiceOne a'16 d'' e'' f''~ f''8 e'' e''2. e''8 f''
| g'' b'' a'' g'' fis''2.\prall e''8 fis''
| g''2 f''8 e''~ e''4~ e''16 d'' cis'' d''16~ d''4
| d''4 cis''2 h'4 a'2
| \grace {d'16 a' h' \once \override Tie.thickness = 0.5 c''~} c''2 c''16 a' h'8~ h'2 cis''4
| cis''8 d''16 e'' f''8 e''16 d'' \grace d''8 cis''2. d''4
| e''8 g''16 f'' e'' f'' e'' f'' f''2.\prall e''4
| e''1.
}
\new Voice {
\voiceTwo s16 d''4*3/4 ~ d''4 b'1
| a'2 a'1
| d''2 b' h'
| a'1 e'2
| \grace {s16 a'4*3/4 -\tweak thickness 0.5 ~} a'2 g'1
| gis'2 a' g'
| b' a' gis'~
| gis'4 gis' a'1^\mordent
}
\new Voice {
\voiceTwo a'4~ a' g'1
| s1.
| g'2 g' f'
| s1.
| \grace {\once \override Tie.thickness = #0.5 d'4~} d'2 d'1
| s1.*2
| s1 \stopStaff s2
}
>>
}
{
s1.*3
| \startStaff
<<
{f''4 e''2 d''4 c''2} \\
{g'1 g'2}
>>\stopStaff
s1.*4 \once \omit Staff.BarLine
\startStaff
<<
{a''2 g''8 a'' g'' fis'' e''4 d''} \\
{d''1 c''2}
>>
\stopStaff
s1. \once \omit Staff.BarLine
\startStaff
<<
{g''4 \grace f'' e'' \grace d''8 cis''2. d''4} \\
{a'2 a' f'}
>>
\stopStaff
\startStaff <<
{e''8 d'' cis'' h' a'1} \\
{e'1.}
>>\stopStaff
}
}
ossiazweiNoten = {
{
s1.*2
| \startStaff
<<
{d'2} \\
{b4 a g2 gis}
>>\stopStaff
| s1.
| \startStaff fis2 f1 \stopStaff
| s1.
| s2 \startStaff
<<
{
d'4. c'8 h2~
| h4 h cis'1\mordent
} \\
{
d1
| a1.
} \\
{
s1
| s1 \stopStaff s2
}
>>
}
{
s1.*7
\startStaff <<
{s4 b c'1} \\
{f2. b4 a g}
>> \stopStaff
}
}
%---------------------------------------------------------------------------------
%----------------------------------------Partituraufbau---------------------------
%---------------------------------------------------------------------------------
Noten = {
<<
\new StaffGroup {
\new Staff = "ossia" \with {
\remove "Time_signature_engraver"
alignAboveContext = #"main"
\hide Clef
\hide KeySignature
\magnifyStaff #2/3
\global
}
{
\override Staff.BarLine #'allow-span-bar = ##f
\key d\minor
\set Timing.beamExceptions = #'()
\stopStaff
\ossiaNoten
}
}
\new StaffGroup {
<<
\set StaffGroup.systemStartDelimiterHierarchy =
#'(SystemStartBar (SystemStartBracket (SystemStartBrace a b)))
\new Staff = "eins" \with {
\consists "Span_arpeggio_engraver"
\consists "Bar_number_engraver"
} {
\global
\set Staff.connectArpeggios = ##t
{
\einsNoten
}
}
\new Staff = "zwei" {
\global
\clef bass
\override Staff.BarLine #'allow-span-bar = ##f
{
\zweiNoten
}
}
>>
}
\new StaffGroup {
\new Staff = "ossia2" \with {
\clef bass
\remove "Time_signature_engraver"
alignBelowContext = #"main"
\time 4/4
\hide KeySignature
\hide Clef
\magnifyStaff #2/3
}
{
\set Timing.beamExceptions = #'()
\key d\minor
\stopStaff
\ossiazweiNoten
}
}
>>
}
%---------------------------------------------------------------------------------
%----------------------------------------Layout-----------------------------------
%---------------------------------------------------------------------------------
\score {
<<
\Noten
>>
}
\layout {
\context {
\Score
\override SpacingSpanner.spacing-increment = #3
\remove "Bar_number_engraver"
\omit SystemStartBar
\override SystemStartBracket.style = #'bar-line
\override SystemStartBracket.padding = #-0.1
\override SystemStartBracket.thickness = #1.6
}
\context {
\StaffGroup
\override VerticalAxisGroup.staff-staff-spacing = #'(
(basic-distance . 7)
(minimum-distance . 5)
(padding . 1.5)
)
}
\context {
\Staff
\remove "Ledger_line_engraver"
}
\context {
\Voice
\consists "Ledger_line_engraver"
}
}
#(set-global-staff-size 16)
#(set! paper-alist (cons '("custom-size" . (cons (* 200 mm) (* 300 mm))) paper-alist))
\paper{
system-separator-markup = \markup \draw-hline
system-system-spacing #'padding = #6
system-system-spacing #'basic-distance = #25
#(set-paper-size "custom-size" 'landscape)
print-page-number = ##t
print-first-page-number = ##t
oddHeaderMarkup = \markup \null
oddFooterMarkup = \markup \null
}
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user