[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Doc bug: beams
From: |
Nicolas Sceaux |
Subject: |
Re: Doc bug: beams |
Date: |
Sun, 27 Sep 2009 11:27:03 +0200 |
Le 27 sept. 09 à 10:40, Nicolas Sceaux a écrit :
Perhaps it would be nice to show in this section how to override the
default
beaming settings globally, in a \layout block; stating that instead
of repeating
in each score a beam setting override like:
\overrideBeamSettings #'Score #'(4 . 4) #'end #'(((1 . 8) . (2 2 2
2)))
it is possible to set this behavior for all scores using (at top
level):
\layout {
\context {
\Score
beamSettings = #(cons '(((4 . 4) end) . (((1 . 8) . (2 2 2
2)))) default-beam-settings)
}
}
or is it considered too advanced for this section?
Oops, actually this is poor advice, as it does not work well with beam
setting reverts.
Maybe that:
%% at the end of scm/beam-settings.scm
#(define-public (change-beam-setting time-signature rule-type grouping-
rule beam-settings)
"Change a default beam setting rule. It does not modify the `beam-
settings' argument,
but returns a modified copy."
(let* ((new-beam-settings (list-copy beam-settings))
(current-beam-setting (assoc (list time-signature rule-
type) new-beam-settings)))
(if current-beam-setting
(set-cdr! current-beam-setting (append grouping-rule (cdr
current-beam-setting)))
(set! new-beam-settings (cons (cons (list time-signature
rule-type) grouping-rule)
new-beam-settings)))
new-beam-settings))
\layout {
\context {
\Score
beamSettings = #(change-beam-setting '(4 . 4) 'end '(((1 . 8) .
(2 2 2 2))) default-beam-settings)
}
}