Mike Solomon [Tue, 26 Apr 2011 11:09:21 +0000 (07:09 -0400)]
Fixes cross staff issue with beam collision avoidance.
Beam collision avoidance is now turned off for "fake" cross staff beams
(those that are registered as cross staff because of auto-beaming but
are in fact not). Additionally, beams no longer process other
cross-staff beams as covered grobs.
Mike Solomon [Fri, 22 Apr 2011 15:29:33 +0000 (11:29 -0400)]
Update beam collision in the documentation.
Notify users that beam collision avoidance does not occur for cross
staff beams and suggest that users use manual beams for beams that
end right before a staff change.
Fix "make doc" error: Character set messup in pdf-scheme.cc
In "make doc", somehow the LANG env variable is cleared, so
glib returned charset=ANSI_X3.4-1968 for the input string. This would
disallow any accented characters in the input string.
However, we know that the input string is by definition always UTF-8,
so the solution is not to use the current locale, but hardcode UTF-8.
Once we switch to guile 2.0, we should use (sting->utf16 str 'big)
instead of manually converting the string in C.
pdf-metadata: Use UTF-16BE for metadata if required
All Latin1 metadata strings need to be printed out to the .ps file
in Latin1 (NOT in UTF-8), and all non-Latin1 strings need to use
UTF-16BE encoding.
The escaping of parentheses and backslashes needs to be applied
AFTER encoding the string (since the escaping is required to correctly
detect the end of the encoding string when reading the byte-sequence
of the encoded string from the file. Basically, we are dumping a binary
sequence to the file, enclosed by parentheses. All \051 bytes need
to be escaped to make sure they are not detected as the closing
parenthesis.)
pdf-metadata: Use UTF-16BE for metadata if required
All Latin1 metadata strings need to be printed out to the .ps file
in Latin1 (NOT in UTF-8), and all non-Latin1 strings need to use
UTF-16BE encoding.
The escaping of parentheses and backslashes needs to be applied
AFTER encoding the string (since the escaping is required to correctly
detect the end of the encoding string when reading the byte-sequence
of the encoded string from the file. Basically, we are dumping a binary
sequence to the file, enclosed by parentheses. All \051 bytes need
to be escaped to make sure they are not detected as the closing
parenthesis.)
Add feature to link to a particular page or a page containing a given label
The main part of this patch was done by Dan Eble and posted to the
lilypond-devel mailinglist on December 27, 2010.
Like \with-url, this works only with the PDF backend.
-) Add markup functions \with-link (links to the page containing the
given label) and \page-link (links to the given page number)
-) Internally, they are handled like the \with-url markup function,
creating a pdfmark in the .ps file that creates the link in the
PDF file.
-) Add links to the pages for all TOC entries.
David Kastrup [Tue, 12 Apr 2011 12:56:03 +0000 (14:56 +0200)]
input/regression/accidental-clef-change.ly: Change regtest to account for issue 1471.
This test of accidental-clef-change.ly was made to reflect the
necessity of repeating in-key accidentals after a clef change when
they have been altered before the change.
James Lowe [Thu, 7 Apr 2011 11:29:02 +0000 (12:29 +0100)]
Added new Pagesize definition to paper.scm
Added 'c9landscape' to allow a very small @lilypond to be defined for examples
that need to show footers, taglines and the like without having to
1. Define the papersize within the actual @lilypond; and so make the example more
complicated that it need be for users.
2. Avoid unnecessary white space between the content and footers/taglines etc.
Chosen size is named c9landscape because the new papersize=x option for
the @lilypond [] construct cannot take spaces or use the standard 'landscape
option. Keeping a standard ISO size means we don't have 'custom' sizes in the
scm file.
Add springs-and-rods callback to DynamicTextSpanner, so minimum-length has an
effect
Without that callback, setting minimum-length on a DynamicTextSpanner does not
have any effect... Also set a minimum-length of 2.0, similar to the Hairpin grob.
Mike Solomon [Fri, 8 Apr 2011 22:45:50 +0000 (18:45 -0400)]
Adds collision-voice-only property to beams.
The default is ##f, meaning that beams will attempt to not collide
with all of the grobs they cover. Setting this to ##t only polices
collisions within a voice.
It seemed to be a good trick to not output midi dynamics and use note
velocities instead. However, all events are preceeded by delta times
so we need every midi event.
When we are using note velocities, always output the default midi
channel value, which is 100.