[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Compressing percent repeats.
From: |
Michael Gerdau |
Subject: |
Re: Compressing percent repeats. |
Date: |
Fri, 22 Jan 2016 23:59:33 +0100 |
User-agent: |
KMail/5.1.1 (Linux/4.3.3-3-ARCH; KDE/5.18.0; x86_64; ; ) |
Hi Pierre,
> \version "2.19.35"
>
> compressPercentRepeat =
> #(define-music-function (repeats notes) (integer? ly:music?)
> (let* (
> (mea (ly:music-length notes))
> (num (ly:moment-main-numerator mea))
> (den (ly:moment-main-denominator mea))
> (dur (ly:make-duration 0 0 (* num (1- repeats)) den)))
> #{
> #notes
> \set Score.restNumberThreshold = #1
> \set Score.skipBars = ##t
> \temporary\override MultiMeasureRest.stencil =
> #ly:multi-measure-rest::percent
> \temporary\override MultiMeasureRestNumber.stencil =
> #(lambda (grob)
> (grob-interpret-markup grob
> (markup #:concat
> ( ;; Optional:
> ;#:fontsize -3 "x"
> #:fontsize -2 (number->string repeats)))))
Shouldn't this be
#:fontsize -2 (number->string (- repeats 1))))))
> \temporary\override MultiMeasureRest.thickness = #0.48
> \temporary\override MultiMeasureRest.Y-offset = #0
> #(make-music 'MultiMeasureRestMusic 'duration dur)
> \revert MultiMeasureRest.Y-offset
> \revert MultiMeasureRest.thickness
> \revert MultiMeasureRestNumber.stencil
> \revert MultiMeasureRest.stencil
> \unset Score.skipBars
> \unset Score.restNumberThreshold
> #}))
>
> %%%% Test:
> soloInstrumentOne = \relative {
> \time 4/4
> c'4 c c c
> \compressPercentRepeat #8 { c'4 c c c }
> \break
> c,4 c c c
> \bar "|."
> }
>
> soloInstrumentTwo = \relative {
> \repeat unfold 10 { c''4 c c c }
> }
>
> \markup\italic "Orchestral score:"
> \score {
> \new StaffGroup <<
> \new Staff
> \with { instrumentName = "Inst 1" }
> \soloInstrumentOne
> \new Staff
> \with { instrumentName = "Inst 2" }
> \soloInstrumentTwo
>
> }
>
> \markup\italic "Solo score:"
> \score {
> \new Staff
> \with { instrumentName = "Inst 1" }
> \soloInstrumentOne
> }
>
> \layout {
> ragged-last = ##t
> }
Kind regards,
Michael
--
Michael Gerdau email: address@hidden
GPG-keys available on request or at public keyserver
signature.asc
Description: This is a digitally signed message part.