Hello Thomas,

Am 15.05.2015 um 21:00 schrieb Thomas Schuch:

Am 14.05.2015 um 23:46 schrieb Simon Albrecht:
Hello,

sometimes, if something is very difficult to achieve in Lilypond, it’s just not a very good idea to do. This is one of those cases: Lily has a knack of wanting to produce output complying to usual notation standards, and it would be perfectly normal to have the span bar
that should read: system start delimiter.
span the ossia staff also. Not only that, it’s even necessary to clarify that it does not belong to a separate system. So no, there is no easier way, and for a good reason. See also <http://lilypond.org/doc/v2.19/Documentation/notation/modifying-single-staves#ossia-staves>, in case you shouldn’t have read it already.

Yours, Simon

Am 14.05.2015 um 20:54 schrieb musicus:
I'm not top posting.
Is there an easier way to get an ossia Staff without SystemStart than
following code?
I'm thinking of something like SystemStartBar #'allow-span-bar = ##f

\version "2.19.17"

<<
   \new Staff = "ossia" \with {
         \remove "Time_signature_engraver"
         \hide Clef
         \hide KeySignature
         \magnifyStaff #2/3
   }{a a a a b b b}
   \new StaffGroup {
     <<
     \set StaffGroup.systemStartDelimiterHierarchy =
#'(SystemStartBar (SystemStartBracket (SystemStartBrace a b)))
        \new Staff { a a a a b b b}
        \new Staff {a a a a a a a }
   >>
}
\layout {
   \context {
     \Score
     \omit SystemStartBar
     \override SystemStartBracket.style = #'bar-line
     \override SystemStartBracket.padding = #-0.1
     \override SystemStartBracket.thickness = #1.6
   }
}



_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user


_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Dear Simon,
this is my first visit of the mailing-list, so i hope that my answer is right here.
You should always use ‘reply all’, that is, direct your answer to the list also. Others may be interested in the thread, now or later in the archives, and it’s good to make the information accessible to everyone. (The list interface can prevent receiving posts twice, if they are addressed both to somebody’s personal address and to the list.)

I see your point about SystemStartBar and usual notation, but in my case the ossia staff is not continuous but a on/off case for some measures. I use the ossia staff to write variations of the original score right above (or below) the concerning place. I find it way easier to read the original score grouped with SystemStartBar/Brace and let the ossia staff floating around.
So I did get you right there, nevertheless I don’t see a reason to not connect the ossia to the system at the beginning of lines. The (NBA) Bärenreiter vocal scores of Bach’s oratorios have ossia staves for appoggiaturas in recitatives, and I think they are connected to the system, and have clef and key signature at the beginning of the line. However, you’re free to do it as you like, of course, especially if the system-separator-markup makes it unambiguous in reading.
Furthermore i use a horizontal line to recognize a new system.
It's perfectly fine to use the workaround i posted, but i think an ossia staff with a "annotating function" is not a too unusual use case and maybe could be realized in a simple way. (I first tried to create a \new Staff directly in the original score every time i need an ossia version as described in the documentation, but i lost orientation in my code, so i switched to extra ossia staves) Can I add an image as example? I try to put one in the appendix, otherwise the code below.
I didn’t receive any attachment.

Attached you’ll find an edited version of your code with inline comments, especially concerning coding style. If you’re interested in scheme, have a look at <http://community.schemewiki.org/?scheme-style>.
In general, lines shouldn’t exceed a lenghth of 80 characters at most.
Why not be a little more generous with spaces around { } \\? Even if not technically necessary, it will look less cramped then.

HTH, Simon
\version "2.19.17"
\language "deutsch"

%-------------------------------------------------------------------------
%--------------------------------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)


%------------------------------------------------------------------------------
%--------------------------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 \break
        | 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 {
        % numbers don’t need to be prefixed with # anymore
        \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 {
        \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
        | a1.
      }
    >>
  }
  {
    <<
      \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''1 \stopStaff
        | s1 s4 \startStaff 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'' cis''2.\prall d''4
        | e''8 g''16 f'' e'' f'' e'' f'' f''2.\prall e''4 \break
        | e''1.
      }
      \new Voice {
        % no need for a tuplet – scale duration instead
        \voiceTwo s16 d''4*3/4 ~ d''4 b'1
        | s1.
        | d''2 b' h'
        | a'1 e'2
        | \grace {
          % note the tweak for the tie – eases reading and typing
          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 { d'4 -\tweak thickness 0.5 ~ } d'2 d'1
      }
    >>
    \stopStaff
  }
  {
    s1.*3
    | \startStaff
    <<
      { f''4 e''2 d''4 c''2 } \\
      { g'1 g'2 }
    >>
    \stopStaff
    s1.*7
    \startStaff
    <<
      { e''8 d'' cis'' h' a'1 } \\
      { e'1. }
    >>
    \stopStaff
  }
}

ossiazweiNoten = {
  {
    s1.*4
    | \startStaff fis2 f1 \stopStaff
    | s1.
    | s2 \startStaff
    <<
      {
        d'4. c'8 h2~
        | h4 h cis'1\mordent
      } \\
      {
        d1
        | a1.
      }
    >>
    \stopStaff
  }
  {
    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"
        } {
          \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
    \omit BarNumber
    \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))
  }
}

#(set-global-staff-size 16)

#(set! paper-alist (cons '("custom-size" . (cons (* 200 mm) (* 300 mm)))
                     paper-alist))

\paper {
  % no parentheses needed around \draw-hline
  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
  %evenHeaderMarkup = \markup \null
  oddFooterMarkup = \markup {
    \fill-line {
      \on-the-fly #print-page-number-check-first
      \fromproperty #'page:page-number-string
    }
  }
  %evenFooterMarkup = \oddFooterMarkup
  % evenHeader- and -FooterMarkup automatically inherit
  % their values from the odd variants, if unset
}
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to