LilyPond 2.5.8

Han-Wen Nienhuys <[email protected]> Mon, 17 Jan 2005 00:02:05 +0100
Newsgroups gmane.comp.gnu.lilypond.announce
Message-ID <[email protected]>
I've just uploaded LilyPond 2.5.8.

Version 2.5.8 is a release with many code cleanups relating to how
music expressions are stored internally. An important user-visible
change is the increased accuracy of error locations in the output.
Also, Werner has further cleaned up the MF font code.





2005-01-16  Graham Percival  <[email protected]>

	* Documentation/user/lilypond.tely: changed order of appendices;
	unified index should be last.

	* Documentation/user/notation.itely: add example of key signatures
	and info about Staff.printKeyCancellation.

2005-01-16  Han-Wen Nienhuys  <[email protected]>

	* lily/include/repeated-music.hh (class Repeated_music): change
	into "namespace" class.

	* lily/event.cc: remove Key_change_event.

	* lily/include/transposed-music.hh (class Transposed_music): remove.

	* lily/transposed-music.cc: remove

	* lily/include/relative-music.hh: remove.

	* lily/include/music-sequence.hh (struct Music_sequence): change
	into "namespace" class.

	* lily/untransposable-music.cc (Module): remove

	* lily/include/un-relativable-music.hh (Module): remove

	* lily/include/untransposable-music.hh (Module): remove

	* lily/include/music-list.hh (Module): remove file

	* lily/un-relativable-music.cc: remove file.

2005-01-14  Jan Nieuwenhuizen  <[email protected]>

	* lily/parser.yy: Compile fix.

2005-01-14  Han-Wen Nienhuys  <[email protected]>

	* lily/include/music.hh (class Music): unvirtualize transpose().

	* lily/sequential-music.cc: remove file.

	* lily/include/lyric-combine-music.hh ("music.hh"): remove file.

	* lily/slur-scoring.cc (get_best_curve): only switch on
	DEBUG_SLUR_SCORING for non NDEBUG builds.

	* lily/include/music.hh (class Music): replace Music::start_mom()
	by start-callback property

	* lily/include/grace-music.hh: remove file. 

	* lily/stem.cc (height): robustness fix.

	* lily/time-scaled-music.cc: remove file.

	* lily/include/music.hh (class Music): include SCM init argument.
	(class Music): replace Music::get_length() virtual by
	length-callback property everywhere.

	* scripts/convert-ly.py (conv): add  # to \property scalar value.

	* mf/GNUmakefile: don't install *list.ly

2005-01-14  Jan Nieuwenhuizen  <[email protected]>

	* mf/GNUmakefile (CFF_FILES): Bugfix: only big cheeses and braces.

2005-01-12  Werner Lemberg  <[email protected]>

	This patch addresses the following problems in the feta sources
	files which contribute to the fetaXX fonts.

	. Many fixes for rasterization at low resolutions (consistent use of
	  `vround' and `hround', integer shift values for paths, applying
	  `eps' for mirrored paths, use of `define_whole_pixels' and
	  friends, etc.) -- while this probably looks like a waste of time
	  it has revealed deficiencies in some glyph shapes.  See comment at
	  the end of feta-params.mf how vertical symmetry is achieved.

	. The `---' operator has been replaced everywhere with `--'; this
	  both improves and considerably reduces the font size after
	  conversion with mf2pt1.

	These change aren't explicitly mentioned below since virtually all
	glyphs are affected.

	Other notable differences:

	. Glyphs from feta-accordion.mf now have charboxes around the
	  outline.

	. Fixed incorrect charbox for `accDot'.

	. The `rcomma' and `lcomma' glyphs were distorted due to a typo.

	. Fixed position of the bow in the `upprall' glyph and its siblings.

	. The bulb size in the `2/2 meter' and `4/4 meter' glyphs is now
	  dependent on the staff line thickness to avoid touching the middle
	  staff line at smaller sizes.

	. Largely extended output for feta-testXX: Where useful, glyphs
	are shown both between and on staff lines.


	* mf/feta-params.mf (staff_space_rounded,
	stafflinethickness_rounded, linethickness_rounded,
	ledgerlinethickness_rounded, stemthickness_rounded): New variables.
	Update all code which uses them where appropriate.
	(feta_eps, feta_shift, feta_space_shift, feta_offset, feta_fillpen):
	New variables used to control rasterization at low resolutions.  Set
	to zert if feta code is processed with metapost.

	* mf/feta-macros.mf (draw_staff, draw_staff_outline): Updated.
	(draw_rounded_block, draw_square_block): Updated to use `--' only.
	(flare_path): Updated.
	Make it work with `filldraw' (but only circular pens).
	(hfloor, vfloor, hceiling, vceiling): New macros.

	* mf/feta-params.mf (to_bp): New macro for mf2pt1.
	(set_char_box): Updated.
	Add code which emits specials for mf2pt1 if run with metapost.

	* mf/feta-accordion.mf ("accDiscant", "accFreebase", "accStdbase"):
	Use `draw' again in mf mode to have good pixel dropout control.
	Fix intersection points of horizontal lines with circle.
	("accDot"): Fix parameters for set_char_box.
	("accOldEE"): Use `draw' again in mf mode to have good pixel dropout
	control.

	* mf/feta-banier.mf: Updated.

	* mf/feta-bolletjes.mf (remember_pic): New variable, used for
	testing.
	(undraw_inside_ellipse): Remove `center' argument.  Update all
	callers.
	(draw_brevis): New macro, called by "Brevis notehead".
	(draw_whole_triangle_head): New macro, called by "Whole
	trianglehead".
	(draw_small_triangle_head): Use `filldraw'.

	* mf/feta-eindelijk.mf: Remove useless global group.
	Updated.

	* mf/feta-klef.mf (draw_c_clef): Correct point positions for using
	`filldraw'.

	* mf/feta-pendaal.mf: Updated.

	* mf/feta-puntje.mf: Updated.

	* mf/feta-schrift.mf (draw_very_long_fermata): Simplified to use
	less points.
	("Flageolet"): Use `draw' again in mf mode to have good pixel
	dropout control.
	("Varied Coda"): Use `draw_block'.
	(draw_comma): Fix typo.
	(draw_arpeggio_arrow): Use `draw' also in mf mode to have good
	pixel dropout control.

	* mf/feta-slag.mf ("upprall", "downprall", "lineprall"): Fix start
	position of bow.

	* mf/feta-timesig.mf (draw_C): Reduce bulb size for smaller design
	sizes.

	* mf/feta-toevallig.mf (remember_pic): New variable, used for
	testing.
	(draw_meta_sharp): Much simplified.
	("Sharp", "1/2 Sharp", "3/4 Sharp"): Don't rotate but shift.

	* mf/feta-test-generic.mf: Include all files as in feta-generic.mf.

2005-01-13  Mats Bengtsson  <[email protected]>

	* Documentation/user/notation.itely (Ancient rests): Fix typo
	(thanks Anthony)

2005-01-13  Jan Nieuwenhuizen  <[email protected]>

	* scm/auto-beam.scm (score-override-auto-beam-setting): New function.

	* lily/main.cc (setup_paths): Add cff.

	* mf/GNUmakefile (foe): Include actual target %.cff.
	(INSTALLATION_OUT_SUFFIXES): Install CFF and SVG fonts too.

2005-01-10  Han-Wen Nienhuys  <[email protected]>

	* lily/include/lily-lexer.hh (class Lily_lexer): lose hungarian _b
	suffix for main_input_b_.

	* scm/music-functions.scm (toplevel-music-functions):
	precompute music lengths for music expressions.  

2005-01-11  Nicolas Sceaux  <[email protected]>

	* lily/include/input.hh (class Input): new `end_' slot for end of
	input. Renamed defined_str0_ to start_.

	* lily/input.cc (Input): Add Input::Input (Input const &) and
	remove Input::Input (Source_file*, char const *). Use the new
	slots.
	(set_location): method used by bison to propagate input
	locations (YYLLOC_DEFAULT).
	(end_line_number, end_column_number, step_forward): new methods
	
	* lily/input-scheme.cc (ly:input-both-locations): new function,
	similar to ly:input-location, but also return the end line and
	column.

	* lily/include/includable-lexer.hh: 
	* lily/includable-lexer.cc: 
	* lily/include/lily-lexer.hh (class Lily_lexer): 
	* lily/lily-lexer.cc (add_lexed_char): Move add_lexed_char from
	Includable_lexer to Lily_lexer, in order to update lexloc (the
	yylloc), a new slot of Lily_lexer.
	(here_input, LexerError): simplify by using the lexloc slot (aka
	yylloc)

	* lily/lexer.ll: #define yylloc to use input locations (it may
	be useless here?). Fixed the #embedded_scm rule (step the location
	forward in order to skip the sharp sign before parsing the scheme
	expression)

	* lily/include/lily-parser.hh (class Lily_parser): 
	* lily/lily-parser.cc: Remove push_spot(), pop_spot() and
	here_input()
	(parser_error): overload for more precise locations of errors.

	* lily/parser.yy (YYLTYPE): set location type to Input
	(YYLLOC_DEFAULT): use Input::set_location()
	(yylex): add the YYLTYPE* location parameter.
	Clean push_spot()/pop_spot()/here_input(), and use @$, @1, etc.
	Give an Input parameter to THIS->parser-error() for more accurate
	messages.

2005-01-10  Han-Wen Nienhuys  <[email protected]>

	* stepmake/aclocal.m4: do NDEBUG for optimizing builds.

	* lily/include/beam.hh (DEBUG_QUANTING): performance: only switch
	on BEAMQUANTING for non-NDEBUG builds.

	* lily/stem.cc (head_count): performance: avoid String::String()
	inside oft called function.

2005-01-09  Graham Percival  <[email protected]>

	* Documentation/user/examles.itely: attempted fix for broken
	string quartet template.

	* Documentation/user/notation.itely: remove unnecessary broken
	link.


-- 
 Han-Wen Nienhuys   |   [email protected]   |   http://www.xs4all.nl/~hanwen