[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Span barlines on different sized staves
From: |
Thomas Morley |
Subject: |
Re: Span barlines on different sized staves |
Date: |
Mon, 21 Sep 2020 21:21:44 +0200 |
Am Mo., 21. Sept. 2020 um 15:55 Uhr schrieb Leo Correia de Verdier
<leo.correia.de.verdier@gmail.com>:
>
> I have the following situation:
>
> \version "2.20.0"
> \new StaffGroup
> << \new Staff \with { \magnifyStaff #2/3 }
> {c''1 \bar "|."}
> \new Staff
> {c'1 \bar "|.”} >>
>
> Where the bars on the different sized staves have different thicknesses
> according to their staff size. How would be the best way to get them all to
> the thickness of bar on the larger staff and aligned?
>
> Thanks a lot!
> /Leo
\magnifyStaff changes BarLine-properties of its Staff, but not Score-wide.
Thus, I never use it. Instead I always work with staffSize from
http://lsr.di.unimi.it/LSR/Item?id=862
staffSize = #(define-music-function (new-size) (number?)
#{
\set fontSize = #new-size
\override StaffSymbol.staff-space = #(magstep new-size)
\override StaffSymbol.thickness = #(magstep new-size)
#})
\new StaffGroup
<< \new Staff \with { \staffSize #-4 }
{ c''1 \bar "|." }
\new Staff
{ c'1 \bar "|." } >>
Alternatively you could try:
magnifyStaff =
#(define-music-function (mag) (positive?)
(_i "Change the size of the staff, adjusting notation size and
horizontal spacing automatically, using @var{mag} as a size factor.")
;; these props are NOT allowed to shrink below default size
(define unshrinkable-props
'((StaffSymbol thickness)))
;; these props ARE allowed to shrink below default size
(define shrinkable-props
(let* ((baseline-skip-props
(find-named-props 'baseline-skip all-grob-descriptions))
(word-space-props
(find-named-props 'word-space all-grob-descriptions))
(space-alist-props
(find-named-props 'space-alist all-grob-descriptions)))
(append
baseline-skip-props
word-space-props
space-alist-props
'(
;; override at the 'Score level
(SpacingSpanner spacing-increment)
(StaffSymbol staff-space)
;(BarLine kern)
;(BarLine segno-kern)
;(BarLine hair-thickness)
;(BarLine thick-thickness)
(Stem beamlet-default-length)
(Stem double-stem-separation)
))))
#{
\stopStaff
%% revert settings from last time
%% (but only if \magnifyStaff has already been used
%% and the staff magnification is changing)
#(revert-fontSize 'magnifyStaff mag)
#(revert-props 'magnifyStaff mag (append unshrinkable-props
shrinkable-props))
%% scale settings
%% (but only if staff magnification is changing
%% and does not equal 1)
#(scale-fontSize 'magnifyStaff mag)
#(scale-props 'magnifyStaff mag #f unshrinkable-props)
#(scale-props 'magnifyStaff mag #t shrinkable-props)
%% this might cause problems until Issue 3990 is fixed
\newSpacingSection
\startStaff
\set Staff.magnifyStaffValue = #mag
#})
where I commented affecting BarLines.
Cheers,
Harm