2013/7/10 Urs Liska <[email protected]>:
> Is there an easy way to automatically repeat the time signature at the
> beginning of each system?
> It should also work for ones with manual timesignaturefractions.
>
> TIA
> Urs
> --
> Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

Hi Urs,

currently I've not a proper solution.

Here some ideas.
Though, you need to insert manually the (redefined) \break or the
(redefined) pipeSymbol.

\version "2.16.2"

repeatTimeSignature =
\applyContext #(lambda (ctx)
  (let* ((context
           (ly:context-property-where-defined ctx 'timeSignatureFraction))
         (time-sig-frac
           (ly:context-property context 'timeSignatureFraction))
           ;; Use a copy of @var{time-sig-frac}, otherwise a new
           ;; @code{TimeSignature} wouldn't be printed.
         (repeated-time-sig-frac
           (ly:music-deep-copy time-sig-frac)))
  (ly:context-set-property! context 'timeSignatureFraction
repeated-time-sig-frac)))

%% Redefine \break
break = {
  #(make-music 'LineBreakEvent 'break-permission 'force) \repeatTimeSignature
}

\new Staff
\with {
        \override TimeSignature #'break-visibility = ##(#f #t #t)
        instrumentName = \markup \center-column { "redefined " "\\break" }
}
  \relative c' {
        \time 8/16
        c2
        d
        \break
        e
        \time 16/32
        f
        \break
        c
        d
        \break
        e
        f
}


%% Redefine the pipeSymbol (BarCheck)
pipeSymbol = { \break \repeatTimeSignature #(make-music 'BarCheck) }

\new Staff
\with {
        \override TimeSignature #'break-visibility = ##(#f #t #t)
        instrumentName = \markup \center-column { "redefined " "\\pipeSymbol " }
}
  \relative c' {
        \time 8/16
        c2
        d |
        e2
        \time 16/32
        f |
        c
        d |
        e
        f
}

HTH a bit,
  Harm

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

Reply via email to