Trevor Daniels [Fri, 1 May 2015 21:56:47 +0000 (22:56 +0100)]
Issue 3687 (part 2): Amend docs to use \compressMMRests
Amend the examples in the LM and NR to use the \compressMMRests
music function rather than the predefs \compressFullBarRests and
\expandFullBarRests to avoid advocating the use of techniques
which may have undesirable side effects.
Issue 3687 (part 1): Provide a compress MM function for MM rests only
Multi-measure rests were previously compressed (i.e. all bars
following the first were removed) by using the \compressFullBarRests
predef. This simply turned on 'skipBars, which causes bar lines at
the ends of bars which contain either no rhythmic event or contain
a rhythmic event with a duration extending beyond the bar to be removed.
Such bars are generated by notes with durations longer than a bar,
like a1*3, or by shorter notes which extend beyond the bar.
This patch provides a function which also uses 'skipBars, but with
a filter so that 'skipBars is activated only when an actual MM rest
is encountered and deactivated by the first following rhythmic event.
Carl Sorensen [Sat, 25 Apr 2015 03:07:51 +0000 (21:07 -0600)]
Fix issue 4355 -- broken beam subdivision
When beams are subdivided, the number of beams joining the subdivisions
should match the length of the subdivision. Previously, the subdivisions
were joined by a single beam.
David Kastrup [Thu, 30 Apr 2015 18:48:09 +0000 (20:48 +0200)]
Issue 4360: Reorganize smob initialization to make it more reliable
This change is a nuisance in that it requires an explicit call to
ADD_SMOB_INIT for each Scheme-related class.
However, this setup guarantees that at the point Scheme execution
commences, all predicates of the likes of "ly:grob?" will be present.
It also guarantees that if a particular type should seem required during
_other_ initializations that happen to depend on the type and get
executed earlier, it will be provided early.
David Kastrup [Fri, 1 May 2015 22:35:35 +0000 (00:35 +0200)]
Issue 4364: Allow ImageMagick's compare to exit with status 1
Apparently Ubuntu 15.04 has a version of "compare" that cannot be easily
persuaded to return anything but exit status 1 (which indicates
dissimilar images but no actual error condition) so we allow this in
script/build/output-distance.py in order to keep "make check" from
failing.
This patch is somewhat artless but does the trick.
David Kastrup [Mon, 20 Apr 2015 12:41:15 +0000 (14:41 +0200)]
Issue 4351/1: Rename Engraver_void_function_engraver_grob_info to Translator::Grob_info_callback
This is somewhat more descriptive. Since the general dispatcher
management is done in Translator rather than Engraver, making this
typedef local to Engraver instead would really complicate things.
Issue 3799: New satb.ly built-in template and template framework
Add kits as aids for providing built-in templates ("tkits")
Replace the satb.ly template with one built from the tkits, which
corrects some errors and extends the facilities:
- fixes issue 4192
- \lyricsmode should be used; never \lyricsto
- Women and Men one-voice staves added
- Two-voice staves called MenDivided, WomenDivided
- Soprano and Tenor music may now be omitted without error
- midi instruments may be specified
- midi channel mapping is by instrument
- midi instruments are by voice, not staff
- regression tests added
- documentation minimally updated
Doc: Issue 4349: Clarify where changes to beatStructure should be placed
Make it clear that changes to beatStructure and baseMoment
apply only to the time signature currently in force, and
hence that those changes must come immediately after a
new \time command, not before it.
Finally, I replaced (!cached) with (!SCM_UNPACK (cached)) in
lily-guile-macros.hh, as has been suggested once by David.
Please note that this commit does not handle some situations
I’m less comfortable with (namely those involving scm_c_memq,
scm_assq or scm_hashq_get_handle), and some scm_*_p checks
for which there isn’t a ly_is_* replacement yet (to wit,
scm_hash_table_p, scm_promise_p, and scm_variable_bound_p).
Those should be dealt with later (another patch is in the works).
David Nalesnik [Thu, 26 Mar 2015 15:08:55 +0000 (10:08 -0500)]
Issue 4328: Add means to display objects accessible from a grob
A convenient way to display the grobs and grob-objects pointed to by
various internal properties of a given grob would be very helpful for
debugging and development purposes. For example, it would facilitate the
creation of advanced tweaks, which frequently require "lateral" access
to other grobs.
The output of the function 'grob::display-objects' shows all of the grobs
accessible to a given grob through ly:grob-object together with the relevant
interfaces and properties. It includes properties which are empty: not all
properties within an interface may be set for or used by a grob supporting
that interface.
David Kastrup [Sun, 15 Mar 2015 11:15:18 +0000 (12:15 +0100)]
Issue 4324: Don't create Bottom to announce TimeSignatureEvent
As a fallout of issue 4138, << \time 3/4 \new Staff c2. >> created a
spurious Staff only containing a time signature. This change avoids the
creation of a Bottom context just for accommodating \time. As a result,
{ \tweak color #red \time 3/4 c2. }
will no longer show a change in color since no Staff context exists at
the time \time is executed and consequently the tweak does not apply
anywhere. You have to use \time in existing Staff contexts to have
either \tweak and point&click have an effect (and get an error locator
when something with typesetting the signature goes wrong). Outside of
such contexts, \time just changes properties of the Timing context.
Trevor Daniels [Sun, 15 Mar 2015 14:04:52 +0000 (14:04 +0000)]
Doc: Issue 4323: Ensure all contexts in satb.ly template stay alive
Following the fix to Issue 2010, some contexts in deeply nested
parallel constructs may be terminated prematurely, at least this
is the likely explanation for the failure of the satb.ly template
in Release 2.19.16, although blaming Issue 2010 is conjecture.
As an alternative fix to Issue 2010 seems far away, this is a hackish
workaround enable the satb.ly template to work in releases after
2.19.15 by ensuring all contexts remain alive for the duration of the
longest of them. It corrects all the examples in the LM.
Keith OHara [Wed, 11 Mar 2015 04:04:13 +0000 (21:04 -0700)]
Avoid floating-point compares on Stem:head_positions; issue 4310
On the cross-compiled windows executable, head_positions().is_empty()
seems to sometimes return true for a stem with a single note.
head_positions() returns something like [3.00... , 3.00...]
David Nalesnik [Mon, 9 Mar 2015 15:16:55 +0000 (10:16 -0500)]
Issue 4319: toward-stem-shift-in-column should only affect Script grobs
Previously, toward-stem-shift-in-column did not discriminate between
different types of grobs in the 'scripts grob-array. This meant that
TextScript, StringNumber, and Fingering objects would be caught as well.
This patch only shifts an articulation in the presence of another Script
grob.
Paul Morris [Thu, 19 Feb 2015 17:25:54 +0000 (12:25 -0500)]
Web: revise site background
Issue 4299
green fade-out gradient at both top corners
site background is slightly off-white
column backgrounds are pure-white
adjust search box color
update ie css file