James Lowe [Tue, 22 Mar 2011 17:55:18 +0000 (17:55 +0000)]
Doc: NR addition to existsing @knownissue
As per Mike Solomon's suggestion, added additiona additional sentence
to exitsing @knownissue for collisions with automatic beaming.
Included a simple @lilypond to illustrate the issue (thanks Mike!)
Also took opportunity to tidy up the cindex for beams (make them more
consistent - beam vs beams vs beaming etc.) added a few more and removed
some repeated ones.
removed some unnecessary line spaces in the itely file itself
Trevor Daniels [Tue, 22 Mar 2011 17:09:39 +0000 (17:09 +0000)]
Docs: LM: New behaviour of 'outside-staff-priority
- certain score-level objects are now moved to the top
staff just after line breaking so they are now positioned
correctly in the outside-staff-priority hierarchy.
(It's been this way since 2.13.4)
James Lowe [Tue, 15 Mar 2011 18:15:24 +0000 (18:15 +0000)]
Doc: Added @knownissue to NR for fingering
By default double-diogit fingering (i.e. >9) is no possible using
standard fingering markups. There is an LSR that has been posted for
approval and can be included as necessary.
Tidied up some grammar and minor punctuation changes.
Mike Solomon [Tue, 15 Mar 2011 10:57:49 +0000 (06:57 -0400)]
Changes the spanner-placement property of FootnoteSpanner to ly:dir
Now, the annotation on a spanner will always fall on the first (LEFT
or CENTER) or last (RIGHT) broken spanner if the spanner is broken.
Defaults to LEFT.
Midi: only output PORT if midiChannelMapping == #'voice.
This reduces the risk of creating trouble for the default
#'instrument-mode output and the old #'staff-mode output,
while leaving the option open for MIDI-players to do the
right thing with ports in the #'voice-mode: in each track,
each channel 0 should be able to play another instrument.
Midi2ly: refactoring: initial support for instrument<->channel mapping.
Files using instrument<->channel mapping [and thus obviously] combined
with voice<->track mapping (the new LilyPond default) are now handled
by midi2ly.
Nicolas Sceaux [Wed, 16 Feb 2011 21:42:36 +0000 (22:42 +0100)]
Fret diagram fixes
- fix padding and size of mute/open signs when size is overridden
- fix first fret label position
- allow fully customizable first fret label
- allow per-finger dot color change
- add reg test for fret diagram magnification
- add a test case for first fret custom label
- add a test case for dot color inversion
Midi: allow alternate channel mappings: per instrument, staff, voice.
The property midiChannelMapping specifies the mapping of MIDI channels:
per instrument (default), staff or voice.
The default mapping, per instrument, makes for optimal re-using of
channels. Per voice mapping allows re-creating of voices and
arranging them on staffs with the current midi2ly. Per staff mapping
closely matches the old default.
With voices mapped to tracks, midi2ly can neatly recreate voices
without needing to do tricky guessing. Some extra trickery will
be needed to re-assign the voices to the correct staves.
Also, midi channels are optimally re-used: identical midi instruments
accross different staves share the same channel. This can fix
running out of channels in some cases, where similar instruments
are notated on different staves.
Xavier Scheuer [Wed, 9 Mar 2011 14:41:08 +0000 (15:41 +0100)]
ly/property-init.ly: remove cautionary accidentals in improvisation
improvisationOn removes the stencil of Accidental but did not remove
the stencil of AccidentalCautionary .
This PATCH fix this (as well as the appropriate reciprocal in
improvisationOff ).
Mike Solomon [Wed, 9 Mar 2011 08:17:41 +0000 (09:17 +0100)]
Implements annotations for footnotes.
The annotations are carried by two grobs: FootnoteItem and FootnoteSpanner.
FootnoteItems inherit break visibility from their Y parents. This break
visibility can be overrided.
The annotation on a broken spanner is placed using the parameter
spanner-placement. Check out the documentation in define-grob-properties
for this property.
Mike Solomon [Sun, 6 Mar 2011 15:56:59 +0000 (10:56 -0500)]
This patch is meant to be a TEST ONLY of footnotes at the bottom of
the page and, as a result, it does NOT print any annotations, which will
hopefully be added in the not-too-distant future.
The basic way this patch works is by adding a field in System and
Line_details that allows for footnotes on any given system to be taken
into account during LilyPond's vertical spacing routines.
For grobs that only ever print once on one system, this is easy.
For spanners, this becomes trickier if the spanner breaks over multiple
lines. Currently, the parameter spanner-placement, which slides between
-1 and 1, controls the broken spanner to which the footnote applies.
This is done so that LEFT will guarantee placement on the first spanner
and RIGHT will guarantee placement on the second spanner.
For items that have break-visibility set, an is_visible function
in the Balloon_interface checks to see if a given item is actually on
a line, only printing the footnote if both the annotation and the
object being annotated have break-visibility set to #t for that
particular place.
In markups that are not part of a score, the mechanism is entirely
different. A stencil, called `footnote', is passed to ly:make-stencil.
This stencil is never printed in the actual markup but is fished out
of the stencil when the markup's Prob is created and added as a footnote.
To study this code, the best place to start would be
page-layout-problem.cc. Any function with the world `footnote' in its
name will show you the trace of many other functions in all these other
files through which footnotes move to their final destination of the
bottom of the page.
jlowe [Sat, 5 Mar 2011 18:36:54 +0000 (18:36 +0000)]
Doc: NR minor typo correction for Beam Settings
This minor typo was spotted originally by Francisco Villa while translating this
section, on lilypond-dev 1st March.
I had given him what I had thought the para should have said and this was
used by Francisco. As no one has since jumped in to correct me, I have made the edit
in the English Docs.