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