C:\tmp\lilypond-2.19.16-0.mingw\$_OUTDIR\usr\bin>lilypond
GNU LilyPond 2.19.16
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_S_construct null not valid
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
Trevor Daniels [Fri, 6 Mar 2015 23:29:19 +0000 (23:29 +0000)]
Docs: Issue 4181: Expose \stemUp and \stemDown predefs less
in LM Tweaking output
- change some examples to use \slurUp etc rather than \stemUp
- give an example showing the use of the direction indicators
- replace mention of \stemUp in text with \tieUp, etc
- correct a few typos
in NR Changing defaults
- remove superfluous \stemUp
David Kastrup [Wed, 4 Mar 2015 22:11:52 +0000 (23:11 +0100)]
Issue 4311: Make multimeasure rests obey tweaks
This change basically just copies all properties from the originating
MultiMeasureRestMusic to all of the MultiMeasureRestEvent events
generated from it. In particular, it now copies the previously omitted
'tweaks property.
David Kastrup [Thu, 19 Feb 2015 12:37:37 +0000 (13:37 +0100)]
Issue 4296: Let \displayLilyMusic print even repeated durations
\displayLilyMusic { c4 c c c } now produces { c4 c4 c4 c4 } in order to
better match the content of the music rather than the shortest possible
input representation.
Paul Morris [Wed, 18 Feb 2015 23:07:52 +0000 (18:07 -0500)]
Web: be more consistent with use of columns
Issue 4297
use a column on this page:
introduction/text-input
use columns instead of news-items on this page:
introduction/examples
only have one h3 heading per column on these pages:
introduction/easier-editing
dowmloads
community/google-summer-of-code
Thomas Morley [Sun, 8 Feb 2015 17:40:10 +0000 (18:40 +0100)]
Clean up inconsistencies in engraver-init.ly and performer-init.ly
issue 4281
In performer-init.ly
- let context-defs be copied when possible
- add missing contexts for \accepts and \alias
- delete settings for ChordNameVoice
- add GregorianTranscriptionStaff, GregorianTranscriptionVoice, NoteNames,
PetrucciStaff, PetrucciVoice
- all contexts are written without quotation marks
- accepted contexts are ordered alphabetically
In engraver-init.ly
- add FretBoards to the accepted contexts in StaffGroup
- add NullVoice to the accepted contexts in RhythmicStaff
- all contexts are written with quotation marks
- accepted contexts are ordered alphabetically
Kevin Barry [Thu, 19 Feb 2015 15:51:52 +0000 (15:51 +0000)]
Doc: replaced tabs with spaces in /ly/*.ly
Issue 1432
A number of the *.ly files have a mixture of
tabs and spaces to generate their indents.
This can lead to ugly/unhelpful indenting for
some editors. The tabs should be replaced with
spaces.
David Nalesnik [Wed, 18 Feb 2015 17:33:51 +0000 (11:33 -0600)]
Issue 4294: Functions to display rhythmic information of a grob
Convenient ways to return the musical position of a grob within
a score will be very helpful in debugging, among other uses.
This patch creates two Scheme functions which return the location
of a grob based on the associated paper column. In the case of
spanners, this is the column of the left bound.
(1) grob::rhythmic-location returns a pair consisting of measure-number
and measure-position;
(2) grob::when returns a moment representing the global timestep.
David Nalesnik [Sun, 15 Feb 2015 19:47:46 +0000 (13:47 -0600)]
Scheme function to return a grob's name
Users of Scheme would benefit from a convenient way to access a
grob's name. This patch creates the function grob::name, which
takes a grob as argument and returns its name as a symbol.
David Nalesnik [Sat, 14 Feb 2015 20:45:07 +0000 (14:45 -0600)]
Add Scheme function to return column associated with Item.
The C++ function Paper_column::get_column is used frequently,
and it makes sense to have a Scheme function which performs
the same task. An example of a practical application
is the request by users to return the location of a particular
grob in a score: this is done by examining the PaperColumn
or NonMusicalPaperColumn associated with the grob.
David Kastrup [Wed, 18 Feb 2015 15:40:49 +0000 (16:40 +0100)]
Issue 4293/3: smobs.tcc: robustify {mark,print}_trampoline in connection with free_smob
Guilev2 has little qualms calling mark/print even after freeing a smob.
So we clean out the pointer to smob data when freeing/unregistering it,
and let the mark/print trampolines detect this condition and punt.
David Nalesnik [Wed, 4 Feb 2015 20:07:01 +0000 (14:07 -0600)]
Allow independent adjustment of minimum length for spanner siblings
The property minimum-length does not allow independent adjustment
of the siblings of broken spanners. This patch adds a property,
minimum-length-after-break, which, if set, behaves similarly to minimum-length,
but only affects siblings starting a line. If minimum-length-after-break is
unset, minimum-length still controls all lengths.
A regtest demonstrates usage of the new property with a number of spanners.
Another regtest demonstrates usage and compatibility of minimum-distance
and minimum-distance-after-break.
David Nalesnik [Mon, 26 Jan 2015 14:13:22 +0000 (08:13 -0600)]
Issue 2535: Staccato on stem side alignment when other articulations are present
The default positioning of staccato dots in combination with other articulations
is poor, because the dot is positioned midway between the center of the note head
and the stem, while all other scripts are centered on the note head.
A mechanism is needed to allow a staccato dot to be positioned differently when alone
and when in combination with other articulations. This patch introduces a new property,
called 'toward-stem-shift-in-column, which works alongside 'toward-stem-shift to control
a script's position relative to the stem. If set for a script appearing within a column,
the new property overrides any setting in 'toward-stem-shift. The new property has
been set only for staccato and staccatissimo.
The previous default of 0.5 for staccato has been changed to 1.0, in accordance with
Gould's recommendation that a staccato dot be centered on the stem.
In order to allow a script to recognize the column organizing it, a pointer to
ScriptColumn, called 'script-column, has been added to script-interface.
Other changes:
--The regtest script-shift.ly has been modified to use scripts other than
staccato.
--A new regtest, script-shift-staccato.ly, illustrates the idiosyncratic
behavior of staccato dots.
--Documentation of the property 'toward-stem-shift has been made more
accurate.
Knut Petersen [Thu, 8 Jan 2015 18:00:44 +0000 (18:00 +0000)]
Reduce size of PDF files when inc. in *TeX docs
Issue 4251
This changes the way lilypond uses fonts to draw glyphs.
It avoids to used glyphshow for all emmentaler glyphs and
adds encoding vectors to the emmentaler fonts before they
are used. It also changes the ghostscript parameters used
to generate pdfs from postscript code.
These changes help to reduce pdf file sizes if you include
lilypond snippets in *TeX documents. The pdfs generated by
a patched lilypond and *tex themselves are _much_ bigger,
but if you run ghostscript and pdfsizeopt.py on those
files they implode.
Doc additions to the Usage Manual included:
Added a command line option
--bigpdf / -b, and documented that option in the german
and english versions of usage.pdf .
Internal hyperlinks are fully preserved with current
ghostscript git master.
External hyperlinks (GoToR) _to_ a file processed this
way are broken. Fixing this would require major changes
to ghostscript.
External hyperlinks _from_ a file processed this way to
other pdfs are preserved if the reader program isn't
broken (acroread is not broken in this respect, evince is).
For more details see Ghostscript bug #695747
<http://bugs.ghostscript.com/show_bug.cgi?id=695747#c22>
Peter Chubb [Tue, 20 Jan 2015 21:18:19 +0000 (08:18 +1100)]
Fix trill-span errors
The last change introduced a bug: ac:twiddletime returns a moment, and it
was changed to return a duration. This causes a lilypond error when
using trillspan and articulate.
David Nalesnik [Tue, 6 Jan 2015 22:54:39 +0000 (16:54 -0600)]
Issue 4238: Glissando overlaps dot
Glissandi will now begin after augmentation dots by default. This
behavior may be changed by overriding a new subproperty named
'start-at-dot, set by default to #t.
Dan Eble [Fri, 9 Jan 2015 04:27:35 +0000 (23:27 -0500)]
Issue 4252: Remove Unfolded_repeat_iterator
To eliminate redundancy, remove Unfolded_repeat_iterator and rely on
Sequential_iterator with a customized elements-callback factored out
of unfold-repeats-fully.
Peter Chubb [Mon, 12 Jan 2015 18:45:55 +0000 (18:45 +0000)]
Articulate.ly: Fix mordent and prall timing
Issue 4247
When a prall or mordent was on a note
shorter than a semiquaver, the calculation
of timing for the main note after stealing
the time for the ornament used to generate
a negative duration.
Instead of a subtracting ornament time
from the main note, generate the ornament
using a fixed timing, tack it on the
beginning, and then compress the resulting
music to be the same length as the original.
Tristan Jelacic [Mon, 12 Jan 2015 18:41:33 +0000 (18:41 +0000)]
Articulate.ly: Fix trill timing
Issue 4190
Used a fixed duration for the twiddletime
instead of the broken heuristic that was
used before. This improves trill sound for
slow music, and doesn't interfere with fast music.