# advertises itself as autoconf 2.13.
# If you have such a setup, invoke this script as:
# autoconf=autoconf ./autogen.sh
-set -x
for i in in autoconf autoconf2.50 false; do
version=`$i --version 2>/dev/null | head -1 | awk '{print $NF}' | awk -F. '{print $1 * 100 + $2}'`
if test "0$version" -ge 250; then
Don't be confused by right-items: each spacing wish can also contain
a number of items, with which a spacing constraint may be kept. It's
a little baroque, but it might come in handy later on?
+
",
"between-cols between-system-string when bounded-by-me shortest-playing-duration shortest-starter-duration");
positions->config_.push (indent_f_);
for (int i=0; i <springs_.size (); i++)
{
- if (ragged)
- {
- // ragged right operation: do not apply any force
- positions->config_.push (positions->config_.top () + springs_[i].length (0.0));
- }
- else
- {
- positions->config_.push (positions->config_.top () + springs_[i].length (force_f_));
- }
+ Real l = springs_[i].length ((ragged) ? 0.0 : force_f_);
+ positions->config_.push (positions->config_.top () + l);
+
+ assert (l >= 0);
}
positions->cols_ = spaced_cols_;
positions->loose_cols_ = loose_cols_;
#include "spring.hh"
#include "paper-column.hh"
#include "spaceable-grob.hh"
+#include "break-align-interface.hh"
+
+
+
/*
paper-column:
-
- Don't be confused by right-items: each spacing wish can also contain
- a number of items, with which a spacing constraint may be kept. It's
- a little baroque, but it might come in handy later on?
-
*/
class Spacing_spanner
{
if (!l_neighbor || !r_neighbor)
return false;
+
+ /*
+ A rather hairy check, but we really only want to move around clefs. (anything else?)
+
+ in any case, we don't want to move bar lines.
+ */
+ for (SCM e = c->get_grob_property ("elements"); gh_pair_p (e); e = gh_cdr (e))
+ {
+ Grob * g = unsmob_grob (gh_car (e));
+ if (g && Break_align_interface::has_interface (g))
+ {
+ for (SCM s = g->get_grob_property ("elements"); gh_pair_p (s);
+ s = gh_cdr (s))
+ {
+ Grob *h = unsmob_grob (gh_car (s));
+
+ if (h && h->get_grob_property ("break-align-symbol") == ly_symbol2scm ("bar-line"))
+ return false;
+ }
+ }
+ }
+
/*
Only declare loose if the bounds make a little sense. This means
some cases (two isolated, consecutive clef changes) won't be
$(outdir)/%.latex: %.doc
rm -f $@
$(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES)\
-$(LILYPOND_BOOK_FLAGS) --dependencies --outdir=$(outdir) $<
+$(LILYPOND_BOOK_FLAGS) --verbose --dependencies --outdir=$(outdir) $<
chmod -w $@
# don't do ``cd $(outdir)'', and assume that $(outdir)/.. is the src dir.
# it is not, for --srcdir builds
$(outdir)/%.texi: %.tely
rm -f $@
- $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --dependencies --outdir=$(outdir) --format=texi $(LILYPOND_BOOK_FLAGS) $<
+ set|egrep '(TEX|LILY)'
+
+ $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --dependencies --outdir=$(outdir) --format=texi --verbose $(LILYPOND_BOOK_FLAGS) $<
chmod -w $@
$(outdir)/%.texi: $(outdir)/%.tely
("|s" . (() . "|"))
("|:" . ("|" . "|:"))
("|." . ("|." . ()))
- (".|" . (() . ".|"))
+
+ ;; hmm... should we end with a barline here?
+ (".|" . ("|" . ".|"))
(":|" . (":|" . ()))
("||" . ("||" . ()))
(".|." . (".|." . ()))
'verb': r'''(?P<code>@code{.*?})''',
'lilypond-file': '(?m)^(?P<match>@lilypondfile(\[(?P<options>[^]]*)\])?{(?P<filename>[^}]+)})',
'lilypond' : '(?m)^(?P<match>@lilypond(\[(?P<options>[^]]*)\])?{(?P<code>.*?)})',
- 'lilypond-block': r'''(?ms)^(?P<match>@lilypond(\[(?P<options>[^]]*)\])?\s(?P<code>.*?)@end lilypond)\s''',
+ 'lilypond-block': r'''(?ms)^(?P<match>@lilypond(\[(?P<options>[^]]*)\])?\s(?P<code>.*?)@end +lilypond)\s''',
'option-sep' : ',\s*',
'intertext': r',?\s*intertext=\".*?\"',
'multiline-comment': r"(?sm)^\s*(?!@c\s+)(?P<code>@ignore\s.*?@end ignore)\s",