summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith OHara <k-ohara5a5a@oco.net>2013-05-03 23:04:21 -0700
committerKeith OHara <k-ohara5a5a@oco.net>2013-05-19 21:36:49 -0700
commitb586253323a60a4ca9acab1a53759504af88b944 (patch)
treeb00f8e650c7d79cf40efb07382ec75d701aefe7b
parent1c893a4e3651018adcc13ea2c8f1c19b19faa722 (diff)
Add commands \markLengthOn \markLengthOff; issue 3279
-rw-r--r--Documentation/learning/tweaks.itely3
-rw-r--r--Documentation/notation/rhythms.itely20
-rw-r--r--Documentation/notation/text.itely9
-rw-r--r--input/regression/metronome-marking.ly4
-rw-r--r--ly/property-init.ly14
-rw-r--r--scm/define-grobs.scm3
6 files changed, 50 insertions, 3 deletions
diff --git a/Documentation/learning/tweaks.itely b/Documentation/learning/tweaks.itely
index 9dc53ff8f9..5e8365a908 100644
--- a/Documentation/learning/tweaks.itely
+++ b/Documentation/learning/tweaks.itely
@@ -2285,6 +2285,9 @@ The command to revert to the default behavior is
@code{\textLengthOff}. Alternatively, @code{\once} may be used
with @code{\textLengthOn} if the effect is to be limited to just a
single musical moment.
+The corresponding spacing behavior for rehearsal marks and tempo
+indications is independently controlled with the commands
+@code{\markLengthOn} and @code{\markLengthOff}.
@cindex markup text, allowing collisions
diff --git a/Documentation/notation/rhythms.itely b/Documentation/notation/rhythms.itely
index 08d9b7ca13..488cfd670c 100644
--- a/Documentation/notation/rhythms.itely
+++ b/Documentation/notation/rhythms.itely
@@ -1333,6 +1333,26 @@ written by including an empty string in the input:
d4 g e c
@end lilypond
+@funindex \markLengthOn
+@funindex markLengthOn
+@funindex \markLengthOff
+@funindex markLengthOff
+
+In a part for an instrument with long periods of rests,
+tempo indications sometimes follow each other closely.
+The command @code{\markLengthOn} provides extra horizontal space
+to prevent tempo indications from overlapping, and @code{\markLengthOff}
+restores the default behavior of ignoring tempo marks
+for horizontal spacing.
+
+@lilypond[quote,relative=0]
+\compressFullBarRests
+\markLengthOn
+\tempo "Molto vivace"
+R1*12
+\tempo "Meno mosso"
+R1*16
+@end lilypond
@snippets
diff --git a/Documentation/notation/text.itely b/Documentation/notation/text.itely
index e6a085fc56..82c7a209a3 100644
--- a/Documentation/notation/text.itely
+++ b/Documentation/notation/text.itely
@@ -268,6 +268,15 @@ c1 c
c c
@end lilypond
+@funindex \markLengthOn
+@funindex markLengthOn
+@funindex \markLengthOff
+@funindex markLengthOff
+
+@predefined
+@code{\markLengthOn},
+@code{\markLengthOff}.
+@endpredefined
@snippets
diff --git a/input/regression/metronome-marking.ly b/input/regression/metronome-marking.ly
index e987176b7e..6fd2ed2441 100644
--- a/input/regression/metronome-marking.ly
+++ b/input/regression/metronome-marking.ly
@@ -17,7 +17,9 @@ The marking is left aligned with the time signature, if there is one.
\version "2.16.0"
\relative c'' {
- \tempo \breve = 100 c1 c1 \tempo 8.. = 50 c1
+ \tempo \breve = 100 c1 c1
+ \markLengthOn
+ \tempo "Allegro" 8.. = 50 c1 \tempo "Adagio" c2 c'
}
diff --git a/ly/property-init.ly b/ly/property-init.ly
index 1c97c04fab..85ae984374 100644
--- a/ly/property-init.ly
+++ b/ly/property-init.ly
@@ -563,6 +563,20 @@ textLengthOff = {
\override TextScript.extra-spacing-height = #'(0 . 0)
}
+markLengthOn = {
+ \override Score.MetronomeMark.extra-spacing-width = #'(0 . 1.0)
+ \override Score.RehearsalMark.extra-spacing-width = #'(-0.5 . 0.5)
+ % Raise as much as four staff-spaces before pushing notecolumns right
+ \override Score.MetronomeMark.extra-spacing-height = #'(4 . 4)
+ \override Score.RehearsalMark.extra-spacing-height = #'(4 . 4)
+}
+
+markLengthOff = {
+ \override Score.MetronomeMark.extra-spacing-width = #'(+inf.0 . -inf.0)
+ \override Score.RehearsalMark.extra-spacing-width = #'(+inf.0 . -inf.0)
+ \revert Score.MetronomeMark.extra-spacing-height
+ \revert Score.RehearsalMark.extra-spacing-height
+}
%% text spanners
diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm
index d016c7a2e2..9ab189d16c 100644
--- a/scm/define-grobs.scm
+++ b/scm/define-grobs.scm
@@ -1448,11 +1448,10 @@
(break-visibility . ,end-of-line-invisible)
(direction . ,UP)
(extra-spacing-width . (+inf.0 . -inf.0))
- (outside-staff-horizontal-padding . 0.12)
+ (outside-staff-horizontal-padding . 0.2)
(outside-staff-priority . 1000)
(padding . 0.8)
(side-axis . ,Y)
- (skyline-horizontal-padding . 0.2)
(stencil . ,ly:text-interface::print)
(vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
(Y-offset . ,side-position-interface::y-aligned-side)