2013/7/1 Pierre Perol-Schneider <pierre.schneider.pa...@gmail.com>: > Here's something simpler : [...]
Hi Andrew, below you'll find my own approach. Though not wide tested. There are only a few comments in code, I'm too tired to write or explain more. If something isn't clear, please shout. Thanks to Pierre you saved me a lot of work. ;) One thing isn't clear to me: how should TimeSignature behave at line-break? If you don't like the way how I did it, again, please shout. \version "2.17.20" %#(set-default-paper-size "a4" 'landscape) #(set-global-staff-size 16) #(define (make-void-bar-line grob extent) empty-stencil) #(add-bar-glyph-print-procedure "v" make-void-bar-line) #(define-bar-line "v" "v" "v" "|") #(define-bar-line ".v" "|" "v" ".|") myTimeSigPlusBar = #(define-music-function (parser location corr orig shown) ((number? 25) fraction? fraction?) #{ \once \override Score.TimeSignature.stencil = #(lambda (grob) (let* ((new-stencil (grob-interpret-markup grob #{ \markup \override #'(font-family . typewriter) \override #'(baseline-skip . 1.7) \italic \fontsize #2 \center-column { \line { #(number->string (car shown)) } \line { #(number->string (cdr shown)) } } #}))) new-stencil)) % Sometimes you'll have to adjust the value of @var{corr} % In this case the function this way: @samp{\\myTimeSigPlusBar #40 1/4 16/4} % see below \once\override Score.BarLine.kern = #corr \bar ".v" \time #orig #}) myLayout = \layout { %ragged-right = ##f indent = 0 \context { \Score % Perhaps you may want to choose another value (1.6 is default): \override SystemStartBar.thickness = #6 } \context { \StaffGroup \omit SystemStartBracket \override StaffGrouper.staff-staff-spacing.basic-distance = #5 } \context { \Staff \override BarLine.after-line-breaking = #(lambda (grob) (let* ((glyph-name (ly:grob-property grob 'glyph-name))) (if (not (string=? glyph-name ".v")) (ly:grob-set-property! grob 'transparent #t)))) % Perhaps you may want to choose another value (6 is default): \override BarLine.thick-thickness = #6 \override TimeSignature.transparent = ##t \override TimeSignature.space-alist.first-note = #'(fixed-space . 3.3) } \context { \Voice \override TupletBracket.bracket-visibility = ##t } } timeSignatures = { \myTimeSigPlusBar 1/4 3/4 \repeat unfold 3 s4 \myTimeSigPlusBar #40 1/4 16/4 \repeat unfold 2 s4 } melodyOne = { \clef F \repeat unfold 5 s4 } melodyTwo = { \clef F \voiceOne \repeat unfold 3 { \once\override TupletNumber.text = #tuplet-number::calc-fraction-text \tuplet 7/8 { des!32 [des! des! des! des! des! des! ] } } \tupletDown \once \override TupletBracket #'positions = #'(-4 . -4) \tuplet 7/8 { des!32 a,! g! f! des! aes! f,! } \tuplet 7/8 { ees!32 b! g,! des!-\parenthesize^> a,! a! f! } } \score { \new StaffGroup << \new Staff { \melodyOne \melodyOne } % This is quick'n dirty. \new Staff \with { \remove "Staff_symbol_engraver" \remove "Clef_engraver" \revert TimeSignature.transparent } { \timeSignatures \timeSignatures } \new Staff { \melodyTwo \melodyTwo } >> \layout { \myLayout } } Image and ly-file-attached. HTH, Harm
<<attachment: andrew-time-sig-bar.png>>
time-sig-bar.ly
Description: Binary data
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user