1 2002-05-15 Han-Wen Nienhuys <hanwen@cs.uu.nl>
3 * lily/*.cc: remove as many iostream use as possible.
5 * flower/ : remove text-db, text-stream, data-file.
7 2002-05-15 Han-Wen <hanwen@cs.uu.nl>
9 * scripts/lilypond-book.py: add --no-music option: strip all blocks.
10 (completize_preamble): don't barf if no preamble present.
11 (do_file): allow extensions on --output
13 * scripts/ly2dvi.py (make_preview): make automatic preview of
14 first system. Small cleanups.
16 2002-05-13 Han-Wen Nienhuys <hanwen@cs.uu.nl>
18 * scripts/lilypond-book.py (make_pixmap): output png directly.
20 * mf/GNUmakefile (INSTALLATION_OUT_FILES4): create and install
23 * lily/parser.yy (My_lily_parser): uncomment code. (Causes
24 problems with recent bison releases).
26 * make/lilypond.redhat.spec.in: add pfa fonts to X.
28 2002-05-07 Heikki Junes <hjunes@cc.hut.fi>
30 * lilypond-font-lock.el: Fixes the order of the note name list.
32 2002-05-06 Jan Nieuwenhuizen <janneke@gnu.org>
34 * scripts/lilypond-book.py: Add html/dtml output, pseudo-filter
35 capability, --verbose option, rlimit hack.
37 2002-05-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
39 * lily/piano-pedal-engraver.cc: cleanups.
41 * lily/accidental.cc (after_line_breaking): add break tie
44 * lily/text-engraver.cc (try_music): don't typeset fingerings
46 2002-05-05 Heikki Junes <hjunes@cc.hut.fi>
48 * lilypond-font-lock.el: Handle \breve as a note (rest) duration.
50 2002-05-04 Han-Wen <hanwen@cs.uu.nl>
52 * lily/*.cc: change gh_str02scm() to ly_str02scm().
54 * lily/spacing-spanner.cc (note_spacing): Bound
55 shortest-playing-length by the distance to next note. This should
56 fix chord tremolo spacing.
58 * VERSION: 1.5.55 released
60 * lily/stem.cc (off_callback): invisible stem over whole note is
63 * lily/stem-engraver.cc (acknowledge_grob): X_AXIS Parent of
64 stem-tremolo is stem now.
66 * input/mozart-hrn*.ly: many corrections.
68 * lily/dynamic-engraver.cc (acknowledge_grob): add Scripts to
69 support for dynamic scripts.
71 * lily/accidental-placement.cc (position_accidentals): check for
72 collisions as well: should avoid those heads too.
74 * lily/beam.cc (check_concave): allow undefined gap and
75 threshold. Change the meaning of threshold/gap == 0.0.
76 (check_concave): skip Stolba concaveness check if we have a knee
79 2002-05-03 Mats Bengtsson <mats.bengtsson@s3.kth.se>
81 * lily/chord-tremolo-engraver.cc (try_music): Handle chord
82 tremolos of dotted duration.
84 2002-05-03 Han-Wen <hanwen@cs.uu.nl>
86 * mf/feta-klef.mf: more twiddling with G clef. Almost straight
87 downstroke again. Sigh.
89 * lily/dynamic-engraver.cc (acknowledge_grob): center dynamic
92 2002-05-02 Han-Wen <hanwen@cs.uu.nl>
94 * lily/slur.cc (add_column): allow slur over rest.
96 2002-04-27 Han-Wen <hanwen@cs.uu.nl>
98 * lily/beam.cc: move scoring constants out of code
100 2002-04-25 Han-Wen <hanwen@cs.uu.nl>
102 * mf/feta-nummer.mf: scalability fixes.
104 * mf/feta-nummer-code.mf: fixes for 5, 8.
106 * mf/feta-klef.mf: G clef fixes.
108 2002-04-25 Jan Nieuwenhuizen <janneke@gnu.org>
110 * scripts/ly2dvi.py: Mats' fix. Try to import pre if available.
112 * scripts/lilypond-book.py: %Newline, rather than glue macros
113 after \end{verbatim}.
115 2002-04-24 Jan Nieuwenhuizen <janneke@gnu.org>
117 * Documentation/user/lilypond-book.itely:
118 * scripts/lilypond-book.py: Add options [no]indent, linewidth and
121 * input/mozart-hrn3-defs.ly (startGraceContext): Customize grace init.
123 * scm/grob-property-description.scm (beam-space): Junk.
125 * lily/beam.cc (space_function): New method.
126 (get_interbeam): Call space-function.
128 * scm/grob-description.scm (Beam): Initialize space-function with
129 Beam::space_function.
131 * ly/grace-init.ly (startGraceMusic, stopGraceMusic): Set/revert
132 Beam.space-function. Don't quantise grace beams.
134 2002-04-23 Han-Wen Nienhuys <hanwen@cs.uu.nl>
136 * VERSION: 1.5.54 released
138 * mf/feta-nummer-code.mf (code): tweaks for three, fixes for 6
141 * Documentation/index.texi: add PDF links.
143 * Documentation/user/GNUmakefile (PDF_FILES): add PDF files to website.
145 * lily/system-start-delimiter-engraver.cc (acknowledge_grob):
146 compare #'glyph as strings.
148 * scripts/lilypond-book.py: fix by Mats. Try to import pre if available.
150 * scripts/ly2dvi.py (setup_environment): fix by Mats.
152 * lily/stem.cc (head_count): Change function name. Change property
153 to #'note-heads i.s.o. #'heads.
154 (position_noteheads): Kern noteheads for invisible stems.
155 (before_line_breaking): Do position_noteheads() for whole note
158 * lily/accidental-placement.cc (position_accidentals): First
159 determine refpoints, only then determine extents.
161 2002-04-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
163 * lily/accidental-placement.cc (position_accidentals): use all
164 note heads for note head-skyline.
166 * scripts/lilypond-book.py (re_dict): remove all *? regexps.
168 2002-04-22 Jan Nieuwenhuizen <janneke@gnu.org>
170 * Documentation/windows/setup.hint (requires): Add gsview dependency.
172 * scripts/lilypond-book.py (re_dict): Fix for python 2.x.
174 * lilypond-mode.el (LilyPond-xdvi-command): Default to plain xdvi.
176 * input/mozart-hrn3-allegro.ly: Bugfix: include defs.
178 2002-04-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
180 * mf/feta-schrift.mf: lighter staccato.
182 2002-04-22 Han-Wen <hanwen@cs.uu.nl>
184 * mf/feta-nummer-code.mf (code): fixes for 3 glyph.
186 2002-04-21 Han-Wen <hanwen@cs.uu.nl>
188 * VERSION: 1.5.53 released
190 * scm/lily.scm (ly-load): use primitive-load for loading.
192 * lily/misc.cc: remove quantise_iv()
194 * lily/*.cc: pass read-only arrays by reference.
196 * lily/grob.cc (common_refpoint_of_array): new function. Try to
197 use common_refpoint_of_{array, list} when possible.
199 * lily/include/accidental-placement.hh: new file.
201 * lily/accidental-placement.cc (alignment_callback): position
202 accidentals in a better way.
204 * lily/skyline.cc: new file. Compute distances for collections of
207 * lily/include/skyline.hh: new file
209 2002-04-20 Han-Wen <hanwen@cs.uu.nl>
211 * lily/accidental.cc (class Accidental_interface): grob for a
214 * lily/accidental-engraver.cc (number_accidentals): Cleanups. Lots
217 * lily/new-accidental-engraver.cc (acknowledge_grob): Work
218 together with new accidental-interface.
220 * lily/include/*.hh: remove spurious set_interface() decls.
222 * lily/key-signature-interface.cc (brew_molecule): add padding for
223 natural signs. Make natural typesetting like the sharp.
226 * mf/feta-klef.mf: rewrote portion of the G-clef code. Downstroke
227 is now slightly curved, not straight.
230 2002-04-18 Heikki Junes <hjunes@cc.hut.fi>
232 * lilypond-mode.el: Toggles font-lock-multiline (Emacs 21.1 or newer).
234 * lilypond-font-lock.el: Handles multiline-strings. Fontifies notes
235 more strictly. Use more clever regular expressions. Commented regexps.
237 2002-04-16 Heikki Junes <hjunes@cc.hut.fi>
239 * lilypond-mode.el: "C-c f" does font-lock-fontify-buffer.
241 2002-04-15 Juergen Reuter <reuter@ipd.uka.de>
243 * scm/grob-description.scm, lily/staff-symbol.cc: added properties
244 to control width of staff symbol in ragged-right mode (by request
247 * ly/engraver-init.ly, lily/include/my-lily-parser.hh,
248 lily/include/ligature-bracket.hh, lily/lexer.ll, lily/parser.yy,
249 lily/ligature-bracket.cc, lily/ligature-bracket-engraver.cc:
250 added support for ligature brackets (needed when transcribing
253 2002-04-15 Heikki Junes <hjunes@cc.hut.fi>
255 * lilypond-font-lock.el: Handle scheme-slurs up to seventh level.
256 Fontify notes more strictly.
258 2002-04-15 Han-Wen <hanwen@cs.uu.nl>
260 * mf/feta-din-code.mf: dynamic z sign.
262 2002-04-13 Heikki Junes <hjunes@cc.hut.fi>
264 * lilypond-mode.el: Prevent recoloring strings and comments.
266 * lilypond-font-lock.el: Handle block comments: block comments
267 can have also ordinary comments inside.
269 2002-04-13 Han-Wen <hanwen@cs.uu.nl>
271 * lily/stem.cc (get_default_dir): set direction to CENTER if
272 invisible. Various other fixes to deal with invisible stems and
273 stem-direction == CENTER.
275 * lily/rest-collision.cc (do_shift): take direction from note if
278 * input/regression/tie-grace.ly: new file.
280 * lily/tie-engraver.cc (create_grobs): fix tied graces.
282 * lily/note-spacing.cc (stem_dir_correction): set fixed space for
283 knee correction. Fixes tight spacing for knees.
285 2002-04-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
287 * VERSION: 1.5.52 released
289 * lily/*.cc: add some undocced properties.
290 scm/grob-description.scm: idem.
292 2002-04-12 Heikki Junes <hjunes@cc.hut.fi>
294 * lilypond-font-lock.el: Handle slurs \( and \), numbers,
295 multi-measure rests like "R1 *4" and scheme (typically has '#'
296 in the beginning). Small fixes. Add few reserved words.
298 2002-04-12 Jan Nieuwenhuizen <janneke@gnu.org>
300 * Documentation/topdocs/INSTALL.texi: Updates for MacOS X and
303 * Documentation/windows/installing.texi: Suggest gswin32c (console
304 program) for getting the version. Layout fixes.
306 2002-04-11 Jan Nieuwenhuizen <janneke@gnu.org>
308 * Documentation/user/tutorial.itely (Running LilyPond): Separate
309 windows viewing commands, remove silly comment about Yap.
311 2002-04-10 Mats Bengtsson <matsb@s3.kth.se>
313 * Documentation/topdocs/INSTALL.texi: Describe how to learn
314 configure to find kpathsea on for example Slackware 8.0.
316 * scripts/ly2dvi.py (non_path_environment): Set $TEXMF correctly.
318 * scm/grob-description.scm (MultiMeasureRest): number-threshold=1
319 by default: avoid "1" over single bar rests.
321 * scripts/lilypond-book.py (LatexPaper.set_geo_option): Simplify
322 and correct the handling of geometry options.
324 2002-04-10 Han-Wen Nienhuys <hanwen@cs.uu.nl>
326 * lily/include/grob-interface.hh (ADD_INTERFACE): make
327 implementation for Class::has_interface automatically. Junk all
328 other implementations.
330 * lily/grob.cc (internal_get_grob_property): also typecheck
331 property reads. Catches even more undocced properties. Bugfixing
332 left for the uninspired masses.
334 * lily/beam.cc: remove end_after_line_breaking().
336 * lily/grob.cc (calculate_dependencies): remove list support for
339 * lily/font-size-engraver.cc: only do font-interface.
341 2002-04-10 Heikki Junes <hjunes@cc.hut.fi>
343 * lilypond-font-lock.el: Handle notes with cautionary accidentals.
346 2002-04-09 Chris Jackson <chris@fluffhouse.org.uk>
348 * lily/arpeggio.cc: New function brew_chord_bracket to draw chord
349 brackets using arpeggio requests.
351 * ly/property-init.ly: Shorthand \arpeggioBracket defined as the
352 molecule-callback to use for drawing the brackets.
354 * Documentation/user/refman.itely:
355 * input/test/chord-bracket.ly: Chord brackets documented
357 2002-04-10 Han-Wen <hanwen@cs.uu.nl>
359 * mf/feta-din-code.mf: tweaks for p, s. New dynamic r sign.
361 * mf/feta-eindelijk.mf: tweak for eighth rest: move bulb up.
363 2002-04-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>
365 * lily/tuplet-bracket.cc (after_line_breaking): bugfix for forced
366 direction tuplets on beams.
368 2002-04-08 Chris Jackson <chris@fluffhouse.org.uk>
370 * lilypond-indent.el: Bugfix of indentation of final point in buffer
372 2002-04-09 Heikki Junes <hjunes@cc.hut.fi>
374 * lilypond-mode.el: new command: LilyPond-un-comment-region.
375 Added 2Midi to "Command"-menu. Inspired by latex.el and tex.el:
376 separate "Command"-menu and "LilyPond"-menu. Added "Miscellanous"-
377 submenu to "LilyPond"-menu.
379 * lilypond-mode.el: Added "Midi all" to "Command"-menu, i.e.,
380 an interface to play midi.
382 2002-04-08 Han-Wen Nienhuys <hanwen@cs.uu.nl>
384 * input/regression/script-stack-order.ly: new file.
386 2002-04-08 Han-Wen <hanwen@cs.uu.nl>
388 * VERSION (MY_PATCH_LEVEL): Release 1.5.51.
390 * mf/feta-din-code.mf: kerning for dynamics.
392 2002-04-07 Han-Wen <hanwen@cs.uu.nl>
394 * input/regression/dynamics-glyphs.ly: new file
396 * mf/feta-din-code.mf: dynamic tweaks. New dynamic s.
398 * mf/feta-nummer-code.mf: another bulb routine: mimic the bulb of
399 forte f for the 2 number. Some fixes for the other bulbed glyphs.
401 * Documentation/windows/gs-profile.sh:
402 * Documentation/windows/gsview-profile.sh: Remove. Functionality
403 moved to gs/gsview windows packages.
405 2002-04-06 Mats Bengtsson <matsb@s3.kth.se>
407 * lily/stem-engraver.cc (acknowledge_grob): Revert to old way of
408 finding out the duration. Fixes chord tremolo bug.
410 * lily/completion-note-heads-engraver.cc (process_music): Set
411 correct duration for all requests of the broken notes.
413 * input/regression/completion-heads.ly: Added example of
414 Completion_heads_engraver.
416 * lilypond-mode.el: Added "2Midi" command
418 2002-04-06 Chris Jackson <chris@fluffhouse.org.uk>
420 * lily/tuplet-bracket.cc, scm/grob-description.scm: New
421 edge-width, edge-height and shorten-pair properties for tuplet
424 * lilypond-indent.el: Support for blinking of matching parentheses
426 * lilypond-font-lock.el: Fix fontification of closing > on its own line
428 * lily/piano-pedal-engraver.cc, lily/text-spanner.cc: Fixes and
429 cleanups of piano pedal brackets.
431 2002-04-05 Han-Wen <hanwen@cs.uu.nl>
433 * mf/cmbase.mf: remove file. -- do without s, r and z signs for now.
435 2002-04-04 Han-Wen <hanwen@cs.uu.nl>
437 * mf/feta-new-code.mf: new dynamic f sign.
440 2002-04-03 Han-Wen <hanwen@cs.uu.nl>
442 * mf/feta-new-code.mf: new dynamic p sign.
444 2002-04-02 Han-Wen Nienhuys <hanwen@cs.uu.nl>
446 * lily/note-spacing.cc (stem_dir_correction): only do
447 beam-correction if a beam is there.
449 * lily/stem.cc (duration_log): change from flag_i (); better
451 (get_default_stem_end_position): fix dot/flag collision code.
453 2002-04-02 Han-Wen <hanwen@cs.uu.nl>
455 * VERSION: release 1.5.50
457 * lily/spaceable-grob.cc (add_spring): change incorrect spring to
458 unit spring here. Reduces number of warning messages.
460 * lily/auto-beam-engraver.cc: change noAutoBeaming to autoBeaming.
462 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
464 * scm/generic-property.scm: remove generic-property, property-engraver
466 * lily/volta-bracket.cc (brew_molecule): use Lookup::line() for bracket
468 * lily/hairpin.cc (brew_molecule): use Lookup::line() for hairpins.
470 * ps/music-drawing-routines.ps: remove volta, tuplet, hairpin routines.
472 * scm/*.scm: remove volta, hairpin and tuplet functions.
474 * lily/rhythmic-column-engraver.cc (acknowledge_grob): don't make
475 note column for notes/stems/dots that already have parents. Fixes
476 nested grace contexts.
478 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
480 * input/mozart-hrn-3.ly: Tweak Slur.beautiful, so that we don't
481 get too curved slurs.
483 * scm/slur.scm (default-slur-extremity-offset-alist)
484 (default-phrasing-slur-extremity-offset-alist): Move slur
485 attachments further away from note-head, vertically. Also, leave
486 a horizontal gap between slur and stem end.
488 * lily/beam.cc (get_interbeam): Bugfix: don't look in empty list.
490 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
492 * input/regression/spacing-grace-duration.ly: new file
494 * lily/spacing-engraver.cc (acknowledge_grob): ignore grace notes
495 for shortest durations.
497 * lily/multi-measure-rest.cc (set_spacing_rods): tune rods to the
498 extent of the mm rest.
500 * lily/spacing-spanner.cc (get_duration_space): better spacing for
503 * lily/tuplet-bracket.cc (make_bracket): new function
504 (get_x_offset): new function; make tuplet brackets align on stems
505 if stem has same direction.
506 (parallel_beam): be anal about matching bracket to tuplet.
508 * lily/lookup.cc (line): new function Lookup::line().
510 * scm/tex.scm (dashed-line): change -line to -system in names.
512 * lily/box.cc (add_point): new function.
514 * flower/include/interval.hh: new function add_point ().
517 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
519 * input/mozart-hrn-3.ly: Mimic Breitkopf fonts and padding.
521 * scm/grob-property-description.scm (number-threshold): Add
524 * lily/multi-measure-rest.cc (brew_molecule): Only put number over
525 rest if #measures > number-threshold. Use padding (well, fake
528 * scm/font.scm (make-style-sheet): New styles: mark-number,
530 (paper20-style-sheet-alist): Add bigger bold fonts.
532 * lily/mark-engraver.cc (process_music): Use style mark-number or
535 * .cvsignore: Ignore all kinds of lilypond input and output.
537 * lily/beam.cc (ADD_INTERFACE): Add concaveness-gap.
539 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
541 * lily/staff-symbol.cc (brew_molecule): make line thickness
544 * lily/*.cc: replace stafflinethickness by linethickness.
546 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
548 * input/regression/beam-concave.ly: Add to-be-considered-concave
551 * lily/beam.cc (check_concave): Add check for large gap between an
552 inner notehead and the line through outer noteheads.
554 * scm/grob-description.scm (Beam): Add concaveness-gap, default
555 value 2.0 staff-space.
557 * scm/grob-property-description.scm (concaveness-gap): Add
560 * input/mozart-hrn3-allegro.ly: Fix typo.
562 2002-03-31 Juergen Reuter <reuter@ipd.uka.de>
564 * scm/ps.scm, ps/music-drawing-routines.ps, lily/lookup.cc,
565 lily/note-head-engraver: improved implementation of roundfilledbox
566 (according to Han-Wen's request)
568 * lily/include/spacing-spanner.hh, lily/spacing-spanner.cc,
569 lily/gourlay-breaking.cc, lily/staff-symbol.cc,
570 lily/simple-spacer.cc: ragged-right alignment
572 2002-03-29 Han-Wen <hanwen@cs.uu.nl>
574 * input/regression/spacing-note-flags.ly: new file
576 * input/regression/spacing-rest.ly: new file
578 * mf/feta-eindelijk.mf: make bbox of quarter rest tighter.
580 * lily/spacing-spanner.cc (note_spacing): make note spacing after
581 all grace notes tight (not only the column directly following a
584 * scm/grob-description.scm (all-grob-descriptions): don't make
585 mm-rests larger than normal.
587 * mf/feta-banier.mf: make upflag narrower. Make end of flag more
588 curved. Remove white space at the right of flags.
590 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
592 * ports/ports.make: Bugfix: ignore CVS directories.
594 * stepmake/.cvsignore: New file.
596 2002-03-28 Han-Wen <hanwen@cs.uu.nl>
598 * lily/note-spacing.cc (stem_dir_correction): don't correct when
599 there is a flag on the stem.
601 * lily/multi-measure-rest.cc (brew_molecule): variable width molecule.
603 * scm/grob-property-description.scm (measure-length):
604 measure-length grob property.
606 * lily/spacing-spanner.cc (standard_breakable_column_spacing):
607 better spacing for breakable columns when they're juxtaposed: use
608 measure length if applicable
610 * lily/timing-engraver.cc (start_translation_timestep): store
611 measure length in breakable column at start of measure.
613 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
615 * ROADMAP: Add description for ports dir, to check email upon
618 2002-03-27 Han-Wen <hanwen@cs.uu.nl>
620 * VERSION: 1.5.48 released
622 * lily/multi-measure-rest.cc (symbol_molecule): split off from
624 (set_spacing_rods): Use symbol_molecule() to determine minimum
626 (church_rest): split off from brew_molecule()
627 (big_rest): split off from brew_molecule(). Construct using
630 * mf/feta-eindelijk.mf: junk multi measure rest.
632 2002-03-26 Han-Wen <hanwen@cs.uu.nl>
634 * lily/multi-measure-rest.cc (add_column): remove columns property.
636 * lily/dynamic-engraver.cc (process_music): add more verbose warning
638 * input/mozart-hrn3-romanze.ly (romanze): add mozart horn concerto
641 2002-03-26 Heikki Junes <hjunes@cc.hut.fi>
643 * lilypond-font-lock.el (LilyPond-font-lock-keywords): most new
644 keywords covered, dropped some non-keywords, include R- and 128-notes
646 2002-03-25 Juergen Reuter <reuter@ipd.uka.de>
648 * Code clean-up: Junk multiple implementations of ledger line
649 creation in note_head, custos, and porrectus. This is important
650 since there soon will be some more applications of ledger lines to
651 come (e.g. ambitus engraver).
653 * Make thickness of ledger lines adjustable. This is essential
654 for mensural notation.
656 * Fix some bugs in the current ledger_line implementation, most
657 notably that of the horizontal extent of ledger lines which equals
658 at least the extent of the metafont ledger_line character, and
659 which grows(!) if the desired extent shrinks below this limit.
661 * roundfilledbox: variable blotdiameter
663 2002-03-24 Han-Wen <hanwen@cs.uu.nl>
665 * VERSION: 1.5.47 released
667 * lily/line-spanner.cc (line_atom): change line-thickness to thickness
669 * lily/porrectus.cc: change line-thickness to thickness, change
670 stem-direction to direction.
672 * scm/backend-documentation-lib.scm (check-dangling-properties):
673 Automatically detect doc'ed properties that are not in an interface
675 * scm/grob-property-description.scm: property cleanup. Remove many
676 paper-column props that are non-existent.
678 * lily/grob.cc (Grob): only use molecule_extent_proc as default if
679 the grob has a molecule-callback.
681 * lily/*.cc: remove many set_interface() calls, and their
684 * input/regression/spacing-knee.ly: new file
686 * input/regression/spacing-clef-first-note.ly: new file
688 * lily/staff-spacing.cc (get_spacing_params): different spacing
689 for pref matter to note at start of line, halfway during line.
691 * lily/note-spacing.cc (stem_dir_correction): apply 2nd stem direction
692 correction only if stems have same direction (i.e. not for
693 stem-clef combination).
694 (stem_dir_correction): maximal correction for knees.
696 * lily/*.cc: many updates to interface descriptions.
698 * lily/grob.cc (internal_set_grob_property): add interface check
699 for every set_grob_property call
701 * lily/*.cc: document interface stuff in C++
703 * lily/grob-interface.cc: new file. Add grob interfaces from C++.
705 * lily/volta-bracket.cc: naming: change volta spanner to
708 * input/bugs/*.ly: cleanup, remove lots of files.
710 * buildscripts/mf-to-table.py (write_ps_encoding): generate
711 .encoding file. WARNING: upgrade to pktrace 1.0.3
713 * mf/feta-toevallig.mf: change PS name for parentheses.
715 2002-03-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
717 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Use the correct unit
720 2002-03-23 Han-Wen <hanwen@cs.uu.nl>
722 * lily/scope.cc: remove file .
724 * lily/include/scope.hh: remove file. Remove Scope class
728 * lily/beam.cc (score_slopes_dy, score_stem_lengths,
729 score_forbidden_quants): ): take out of SCM, pass parameters so
730 grob props are read only once. (wtk1-fugue2 from 31 sec to 14
732 (calc_stem_y): robustness: take care of last_visible_stem == 0.
735 * lily/lily-guile.cc (ly_unit): return internal unit.
737 * scm/tex.scm (header-end): insert scaling factor, using ly-unit
739 * lily/paper-outputter.cc (output_version): output internal unit
742 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
744 2002-03-22 Mats Bengtsson <mats.bengtsson@s3.kth.se>
746 * scripts/ly2dvi.py: clean up old .*pk font caching code.
748 * scm/ps.scm: Use uppercase postscript font names for the standard
751 * scripts/ly2dvi.py, buildscripts/lilypond-{login,profile}.sh, :
752 Add all available TeX Type1 fonts, including Feta, to the
753 Ghostscript font path.
755 * Documentation/topdocs/INSTALL.texi (Top): Add required pktrace
756 version (affects the FontName) in lilypond.map.
758 * mf/GNUmakefile, Documentation/user/appendices.itely: Rename font
759 documentation file to fetaNNlist.ly to avoid name collisions between
760 lilypond generated .tex file and font .tex macros file.
763 2002-03-22 Juergen Reuter <reuter@ipd.uka.de>
765 * mf/feta-eindelijk.mf, mf/parmesan-rests.mf: added maxima rests;
766 made mensural longa and (semi-)brevis leaner
768 * mf/parmesan-clefs.mf, scm/clef.scm: enhanced petrucci c clef
770 * lily/{{lookup,porrectus}.cc,include/{lookup,porrectus}.hh}: code
771 clean-up: moved bezier shape and slope from porrectus to lookup
773 * buildscripts/clean-fonts.sh: added search paths /var/cache/fonts
774 and /usr/share/texmf/fonts
776 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
778 2002-03-22 Han-Wen <hanwen@cs.uu.nl>
780 * lily/text-spanner.cc (brew_molecule): add #'thickness
781 (brew_molecule): add corrections for thickness in molecule padding.
783 * lily/line-spanner.cc (line_atom): make function private
785 * scripts/lilypond-book.py (get_bbox): Use GS -sDEVICE=bbox to
786 discover bounding box. This solves the cropping problem.
788 * lily/bar-check-iterator.cc (process): Only resynchronize bar
789 check when it fails. This fixes the combination of grace notes
792 2002-03-21 Han-Wen <hanwen@cs.uu.nl>
794 * lily/repeated-music.cc (minimum_start): new Scheme callable function
795 (first_start): new Scheme callable. This will fix repeated music
796 starting with grace notes.
798 * lily/music.cc (start_mom): check start-moment-function grob property.
800 * VERSION: 1.5.45 released
802 * input/regression/system-extents.ly: new regression test. Test
805 * lily/system.cc: rename LineOfScore into System
807 * lily/molecule.cc (ly_add_molecule): new Scheme ly-add-molecule.
809 * lily/grob.cc (ly_get_parent): new Scheme function ly-get-parent.
810 (ly_get_extent): new Scheme function ly-get-extent
812 * ps/lilyponddefs.ps: use output-scale for line-x
815 * scm/ps.scm (font-load-command):
818 2002-03-20 Rune Zedeler <rune@zedeler.dk>
820 * lily/beaming-info.cc: Stupid typo fixed
822 * lily/accidental-engraver.cc: rewrote accidental-routines to get
823 support for cross-context auto-accidentals.
824 Now the engraver can stay in Staff-context and see other contexts
826 Changed properties: autoAccidentals, autoCautionaries
828 * lily/translator-group.cc (set_children_property):
829 Function added recursively setting the same property (deep_copied)
830 for all children of a Translator_group.
832 * ly/property-init.ly: added commands
833 \pianoAccidentals \voiceAccidentals
834 \modernVoiceAccidentals \modernVoiceCautionaries
836 * ly/engraver-init.ly: Correct initialization of new accidentals.
838 * scm/translator-property-description.scm: Updated
840 * input/regression/accidental-voice.ly: Added
842 * Documentation/regression-test.tely: Added new test
844 2002-03-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
846 * VERSION: 1.5.44 released
848 * lily/slur.cc (set_extremities): robustness fixes for #'attachment.
850 * scripts/lilypond-book.py (bounding_box_dimensions): bugfix.
852 * ly/params-init.ly (blotdiameter): use unit for blotdiameter, set
855 * tex/feta*.tex: remove.
857 * stepmake/aclocal.m4: remove stepmake symlink. It confuses almost
858 all software dealing with it.
860 2002-03-20 Jan Nieuwenhuizen <janneke@gnu.org>
862 * mf/GNUmakefile (lilypond.map): Don't prepend TeX to font name
863 (this fixes pdf output). Drop awk dependency.
865 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Assume LilyPond's
866 dimensions (linewidth) are in mm.
868 * mf/GNUmakefile (depth): Always allow manual access to pfa target.
870 * tex/lily-ps-defs.tex: scaletounit using PT/IN==72.
872 * lily/slur.cc (get_attachment): Bugfix: correct for stem thickness.
874 2002-03-19 Han-Wen <hanwen@cs.uu.nl>
876 * VERSION: 1.5.43 released
878 * scm/beam.scm (beam-dir-majority-median): if majority is
879 undecided, use median. Removes a forced dir in sarabande.
881 * mf/feta-schrift.mf: Trill fixes, Vee fixes (upbow, ltoe, rtoe)
883 2002-03-18 Chris Jackson <chris@fluffhouse.org.uk>
885 * lily/text-spanner.cc, lily/piano-pedal-engraver.cc: Cleanups. Edge
886 widths, heights and shortens are now customisable properties.
888 * scm/grob-description.scm, scm/grob-property-description.scm: New
889 properties added to PianoPedalBracket, unnecessary
890 Y-offset-callbacks removed from *Pedal, undocumented properties
893 * Documentation/user/refman.itely: Piano pedal updates.
895 2002-03-18 Jan Nieuwenhuizen <janneke@gnu.org>
897 * scm/grob-property-description.scm:
898 * scm/interface-description.scm: Remove old stuff.
900 * scm/grob-description.scm (StemTremolo): Change beam-thickness to
901 0.48 (previously 0.42).
902 (Beam): Remove old stuff.
905 * lily/stem-tremolo.cc:
907 * scm/beam.scm: Remove old stuff. Use Beam::get_interbeam ()
908 (previously space-function).
910 * stepmake/bin/add-html-footer.py: Website title fix.
912 2002-03-18 Han-Wen Nienhuys <hanwen@cs.uu.nl>
914 * scripts/ly2dvi.py (environment): use new font searching setup.
916 * lily/afm.cc (afm_bbox_to_box): make code dimension independent
918 * lily/tfm.cc (dimensions): make code dimension independent
920 * ps/lilyponddefs.ps: add constant for MM and true/ps-point
923 * tex/lily-ps-defs.tex: scaling for PS points and MM.
925 * lily/include/dimensions.hh: try MM as internal unit.
927 * scm/*.scm: remove invoke-dim1
929 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
931 * GNUmakefile.in (fontpaths): add fontpaths target,
933 * make/mutopia-targets.make: add PDF rules.
935 * make/mutopia-rules.make: add pdf rule.
937 * buildscripts/mutopia-index.py (list_item): add PDF.
939 * buildscripts/lilypond-profile.sh (TEXMF): typo.
941 * make/lilypond-vars.make: set TEXMF for the new font setup.
943 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
945 * VERSION: 1.5.42 released
947 * mf/feta-schrift.mf: endless twiddling of Tr.
949 * mf/feta-eindelijk.mf: 8th rest: make darker, top of brush lower, and
950 endless twiddling with the bulb shape.
952 * lily/note-head.cc (internal_brew_molecule): make ledger lines a
953 little smaller if there is an accidental.
955 2002-03-15 Mats Bengtsson <mats.bengtsson@s3.kth.se>
957 * buildscripts/lilypond-profile.sh:
959 * mf/GNUmakefile (INSTALLATION_OUT_DIR*),
960 buildscripts/lilypond-login.sh, buildscripts/lilypond-profile.sh:
961 Implement new font installation strategy
963 * Documentation/misc/fontinstallation (TEXMF): Documentation of
964 the new font installation strategy.
966 * lilypond-mode.el (LilyPond-mode-map): Add shortcut "CTRL-c ;"
969 * input/test/staff-size.ly: Simplified using StaffContainer
971 * mf/GNUmakefile (ALL_GEN_FILES): Actually generate the
974 2002-03-17 Jan Nieuwenhuizen <janneke@gnu.org>
976 * scm/ps.scm (bezier-sandwich): Draw circles at slur ends.
978 * lily/beam.cc (score_stem_lengths): new quanting stuff
979 (score_forbidden_quants): Second and third beam quant stuff.
981 2002-03-16 Jan Nieuwenhuizen <janneke@gnu.org>
983 * lily/beam.cc (least_squares): Remember least-squares-dy for
985 (quantise_interval): Don't quant to dy steeper that
986 least-squares-dy. Return empty interval if no sane quants found.
987 (quantise_position): Try quantise_interval until we have
990 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
992 * scm/interface-description.scm (beam-interface): Update.
994 2002-03-15 Han-Wen Nienhuys <hanwen@cs.uu.nl>
996 * VERSION: 1.5.41 released
998 * mf/feta-schrift.mf: make Tr. smaller, smoother and closer. Use
999 optima serifs on top of t, bottom of r.
1001 * mf/feta-bolletjes.mf: make ledger line rounder.
1003 * mf/feta-toevallig.mf: some smallish fixes for flat sign.
1005 * mf/feta-eindelijk.mf: make 8th rest a little darker, some more
1008 2002-03-15 Chris Jackson <chris@fluffhouse.org.uk>
1010 * lily/piano-pedal-engraver.cc: Rewritten to support bracketed as
1011 well as text pedal indications and a combination of both. All
1012 pedal indications are horizontally aligned on a line spanner.
1014 * lily/text-spanner.cc: Edge-width property added to use in
1015 bracketed piano pedals. Function setup_sustain_pedal added to set
1016 the dimensions of the brackets.
1018 * scm/grob-description.scm: New *PedalLineSpanner grobs added, and
1019 some of the *Pedal properties tweaked.
1021 * scm/grob-property-description.scm: New pedal-type (*Pedal) and
1022 edge-width (TextSpanner) properties.
1024 * ly/engraver-init.ly: Default strings added for SostenutoPedal.
1026 * lilypond-font-lock.el: sostenuto, unaCorda and treCorde added to
1027 fontified identifiers list.
1029 * input/test/pedal.ly: New pedal features added.
1031 * Documentation/user/refman.itely: New pedal features documented.
1034 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
1036 * lily/include/new-beam.hh: Previously new-beam.hh
1037 * lily/beam.cc: Previously new-beam.cc
1038 (least_squares): Bugfix: don't barf on beams with less than two
1039 visible stems (tremolos).
1042 * scm/grob-description.scm (Beam): Junk old beam stuff.
1045 2002-03-14 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1049 * mf/feta-eindelijk.mf: new 8th rest.
1051 * mf/feta-toevallig.mf: small fixes for the sharp symbol. Don't
1052 stick out of staffline
1054 * scripts/lilypond-book.py: fixes for texi regular expressions.
1056 2002-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
1058 * lily/include/new-beam.hh:
1059 * lily/new-beam.cc: New file.
1061 * flower/include/interval.hh:
1062 * flower/include/interval.tcc (delta): New method.
1063 (swap): Now public (previously private).
1065 * scm/beam.scm (default-beam-y-quants): Bugfix: lower beam-sit by
1066 1 staff-line-thickness. Sadly, this makes dy quanting problems
1067 (dy quants allowed should depend on actual left y) more visible.
1069 2002-03-13 Jan Nieuwenhuizen <janneke@gnu.org>
1071 * lily/beam.cc (quantise_dy): Bugfix: sign (0) = 0. Hmm.
1073 * scm/grob-property-description.scm (concaveness-threshold): Add
1074 typecheck and description.
1076 * scm/grob-description.scm (Beam): Remove obsolete properties, add
1077 concaveness-threshold (previously concaveness).
1079 * lily/beam.cc (check_concave): Remove choices and debugging
1080 stuff: use best concaveness calculation.
1081 (quantise_dy): Remove choice. Try to never make a slope steeper
1082 by quantising, but certainly never quantise a slope away.
1083 (check_stem_length_f): Remove choice. In case of lengthening
1084 alowed, always lengthen to ideal length.
1086 * Documentation/index.texi: Fix FAQ url.
1088 * Documentation/topdocs/INSTALL.texi: Add information about fink,
1089 compile fix and 1.4 specific fix that doesn't hurt 1.5.
1091 2002-03-13 Han-Wen <hanwen@cs.uu.nl>
1093 * VERSION: 1.5.39 released
1095 * lily/simple-spacer.cc (add_rod): rods take precedence over
1096 infinitely stiff springs. This fixes bugs with arpeggios and bar-lines.
1098 * lily/arpeggio-engraver.cc (acknowledge_grob): clean up.
1100 * lily/note-spacing.cc (get_spacing): only insert space for
1101 accidentals if necessary.
1103 * input/regression/spacing-accidental-staffs.ly (texidoc): update example
1105 * lily/spacing-spanner.cc (musical_column_spacing): new
1106 function. Have correct spacing from note to end-of-line as well.
1108 2002-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
1110 * Documentation/topdocs/INSTALL.texi: Add section for MacOS X.
1112 * darwin.patch: New file.
1114 * lily/beam.cc (set_stem_shorten): Revive deceased stem shorten
1115 code. Shorten stems by fraction of stems to be shortened.
1117 * lily/stem.cc (get_default_stem_end_position): Shorten only half
1118 of shorten value for boundary cases.
1120 * scm/grob-description.scm (Stem): Set stem-shorten to (1.0 0.5).
1121 (Beam): Set beamed-stem-shorten to (1.0 0.5).
1123 2002-03-11 Jan Nieuwenhuizen <janneke@gnu.org>
1125 * lily/beam.cc (check_stem_length_f): Try to lenthen more.
1127 * scm/grob-description.scm (Beam): Add concaveness. Replace
1128 Beam::cancel_suspect_slope with Beam::check_concave.
1130 * lily/beam.cc (check_concave): Calculate concaveness of beam, and
1131 set slope to horizontal if concaveness > Beam.concaveness. This
1132 handles cases that kludgy cancel_suspect_slope was meant to catch
1134 (cancel_suspect_slope): Remove.
1136 2002-03-12 Rune Zedeler <rune@zedeler.dk>
1138 * lily/beam.cc lily/stem.cc lily/beam-engraver.cc: allow for
1139 stemLeftBeamCount and stemRightBeamCount to equal 0.
1142 2002-03-12 Han-Wen <hanwen@cs.uu.nl>
1144 * lily/spacing-spanner.cc (breakable_column_spacing): Only do
1145 fixed spacing for pref matter, if the next column is musical, and
1148 * lily/note-spacing.cc (stem_dir_correction): Use correct
1149 discretionary for stem-bar spacing.
1151 2002-03-11 Han-Wen <hanwen@cs.uu.nl>
1153 * VERSION: 1.5.38 released
1155 * lily/grob.cc (warning): Use cause tracking to give more
1156 meaningful errors from the backend.
1158 * lily/property-iterator.cc (check_grob): Warn if setting grob
1159 property in unknown grob.
1161 * mf/feta-toevallig.mf: brushed stems for natural sign.
1163 * lily/molecule.cc (align_to): don't translate empty molecule.
1164 (this triggers a very subtle bug in time-signature.)
1166 2002-03-10 Han-Wen <hanwen@cs.uu.nl>
1168 * lily/spring.cc: remove file.
1170 * input/regression/spacing-stem-bar.ly: new file
1172 * lily/score.cc (run_translator): resurrect point-and-click
1174 * input/baerenreiter-sarabande.ly: Copy Barenreiter beaming for
1177 * lily/spacing-spanner.cc (find_shortest): Shortest note for
1178 spacing is now globally determined, using the most common shortest
1179 note. Notes that are shorter are spaced geometrically, and with
1180 expand hints. This makes spacing more even, and measures that have
1181 very short notes won't be that stretched out.
1183 * mf/feta-klef.mf: F-clef fixes, documentation on the
1184 shape. (WARNING: font changed.)
1186 2002-03-09 Han-Wen <hanwen@cs.uu.nl>
1188 * lily/simple-spacer.cc (add_columns): support for infinitely
1191 * lily/staff-spacing.cc (get_spacing_params): space after
1192 prefatory matter is fixed.
1194 2002-03-08 Han-Wen <hanwen@cs.uu.nl>
1196 * lily/note-spacing.cc (stem_dir_correction): Correct spacing for
1197 barline following an upstem.
1199 * lily/staff-spacing.cc (extremal_break_aligned_grob): destill
1200 function from next_notes_correction().
1201 (bar_y_positions): idem.
1203 2002-03-04 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1205 * input/regression/break.ly (texidoc): bugfix: escape \ in
1208 * lily/staff-spacing.cc (next_notes_correction): Correct the
1209 spacing of a note following a barline.
1212 2002-03-04 Glen Prideaux
1214 * mf/feta-solfa.mf: Shaped note heads
1216 2002-03-03 Han-Wen <hanwen@cs.uu.nl>
1218 * VERSION: 1.5.37 released
1220 * lily/key-signature-interface.cc (brew_molecule): rename from key_item
1221 left-align molecule.
1223 * lily/break-align-interface.cc (do_alignment): completely
1224 rewritten. Now it does not use Align_interface anymore, but a
1225 separate routine. Like StaffSpacing, it reads space-alist from the
1226 breakable grobs. This allows you to set spacing using
1228 \property Staff.Clef \override #'space-alist = '(....stuff....)
1230 * lily/bar-line.cc, lily/include/bar-line.hh: change name from Bar
1231 to Bar_line. Move files around as well.
1233 * lily/time-signature.cc (time_signature): left align time signatures.
1235 * mf/feta-timesig.mf: Remove padding from C-style time signatures.
1236 Corrections of the glyph shape C. Comments added.
1238 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
1240 * lily/spacing-spanner.cc: move from third-try.cc; rename
1241 Third_spacing_spanner to Spacing_spanner.
1243 * lily/staff-spacing.cc (get_spacing_params): redo prefatory
1244 spacing stuff. Much cleaner now, and we prepare for neat spacing
1245 tricks around bar lines and such.
1247 * lily/third-try.cc (prune_loose_colunms): bugfix. Don't init
1248 variables with themselves. (Ouch.)
1250 * lily/span-bar.cc (brew_molecule): don't try to span bars that
1253 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
1257 * lily/lily-guile.cc: isdir_b and isaxis_b changed to ly_axis_p,
1260 * lily/music.cc (ly_get_mus_property): typechecking
1261 (ly_set_mus_property): idem
1262 (ly_make_music): idem
1263 (ly_music_name): idem
1265 * lily/chord.cc: use scm_reverse_x iso. gh_reverse()
1267 * lily/note-spacing.cc (stem_dir_correction): correction for
1268 same stem notes as well.
1270 * lily/pitch.cc (pitch_transpose): stricter typechecking
1272 * mf/parmesan*mf: magnification fixes.
1274 * Documentation/topdocs/INSTALL.texi: update RedHat reqs
1276 2002-03-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1278 * buildscripts/mf-to-table.py (postfixes): Output also .ly file
1279 documenting the font. (Doesn't work for parmesan at the moment)
1281 * Documentation/user/appendices.itely (The Feta font): Add list of
1282 Feta font symbols with names.
1284 * mf/GNUmakefile ($(outdir)/lilypond.map): Generate lilypond.map
1287 2002-03-01 Han-Wen <hanwen@cs.uu.nl>
1289 * lily/translator-group.cc (ly_set_trans_property): typechecking
1290 (ly_get_trans_property): typechecking.
1292 * lily/font-metric.cc (ly_text_dimension): typechecking
1293 (ly_find_glyph_by_name): idem.
1295 * scm/bass-figure.scm (brew-complete-figure): support for
1298 * lily/grob.cc (ly_get_paper_var): new function
1300 2002-02-28 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1302 * VERSION (PATCH_LEVEL): 1.5.35 released.
1304 * lily/lookup.cc (ly_bracket): Scheme function ly-bracket
1305 (bracket): New function.
1307 * lily/stem-engraver.cc (stop_translation_timestep): bugfix, unset
1308 stemLeftBeamCount, stemRightBeamCount in stead of using #<undefined>
1310 * lily/third-try.cc (set_implicit_neighbor_columns): type checking
1313 * lily/span-arpeggio-engraver.cc (stop_translation_timestep):
1316 * lily/grob.cc (ly_get_grob_property): be anal about types.
1317 (ly_set_grob_property): idem
1319 * lily/figured-bass-engraver.cc (process_music): move molecule
1320 building completely to Scheme
1322 * lily/include/musical-request.hh (class Bass_figure_req): Add
1325 * lily/parser.yy (bass_figure): add support for space figure.
1327 * lily/molecule.cc (ly_molecule_combined_at_edge): be anal about types
1329 * lily/font-metric.cc (ly_text_dimension): Scheme function ly-text-dimension
1331 * lily/molecule.cc (ly_fontify_atom): new function ly-fontify-atom
1332 (ly_align_to_x): new function ly-align-to!
1334 * lily/font-interface.cc (ly_font_interface_get_font): new Scheme
1335 function ly-get-font
1337 * mf/feta-nummer.mf: include normal-space dimension.
1339 * lily/collision.cc (check_meshing_chords): don't merge collisions
1342 * lily/system-start-delimiter.cc (after_line_breaking): Bugfix:
1345 2002-02-28 Mats Bengtsson <matsb@s3.kth.se>
1347 * scm/tex.scm, scm/ps.scm (or): Bugfix, ps output with Guile 3.4
1349 2002-02-28 Juergen Reuter <reuter@ipd.uka.de>
1351 * mf/parmesan-heads.mf: bugfix: mensural note heads (WARNING:
1354 * scm/output-lib.scm: bugfix: resort to neo_mensural chars rather
1357 * mf/parmesan-scripts.mf, mf/parmesan-generic.mf,
1358 scm/grob-description.scm: added mensural fermata symbol
1360 2002-02-27 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1362 * VERSION: 1.5.34 released.
1364 * lily/rest-engraver.cc (create_grobs): rests can have pitches.
1366 * lily/staff-symbol-referencer.cc (callback): assume that
1367 staff-position is unset in general.
1369 * input/regression/rest-pitch.ly: new file.
1371 * lily/parser.yy (simple_element): rests can have pitch. Syntax:
1374 2002-02-26 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1376 * lily/scm-option.cc (set_lily_option): add internal-type-checks
1377 as Scheme option. Run regression test by default with
1378 internal-type-checking.
1380 * lily/separating-group-spanner.cc (find_musical_sequences): removed.
1382 * lily/lily-guile.cc (type_check_assignment): changed functions.
1384 * scm/*description*.scm: be anal about typechecks. Some changes
1385 for internal variable names.
1387 2002-02-25 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1389 * scm/ps.scm: -f ps output for GUILE 1.4 and 1.3.4
1391 2002-02-25 Han-Wen <hanwen@cs.uu.nl>
1393 * VERSION: 1.5.33 released.
1395 * mf/feta-macros.mf (flare_path): removed draw_flare, replace by
1396 flare_path everywhere (c-clef, numbers).
1398 * lily/bar-number-engraver.cc (process_music): also print bar
1399 number if measure starts with grace note.
1401 * input/regression/grace-bar-number.ly: new test.
1403 2002-02-24 Han-Wen <hanwen@cs.uu.nl>
1405 * lily/figured-bass-engraver.cc (stop_translation_timestep): reset
1408 * scm/music-functions.scm (voicify-music): split chords into
1409 different voices automatically.
1411 * lily/music.cc (ly_music_list_p): new function
1413 * lily/music-sequence.cc (do_relative_octave): robustification
1415 * scm/music-functions.scm: many utility functions
1417 * lily/music.cc (ly_set_mus_property): add type checks to the
1418 Scheme property assignment.
1420 * buildscripts/lilypond-profile,lilypond-login.sh (TEXCONFIG):
1423 * mf/lilypond.map: .map file from Mats' page.
1425 2002-02-21 Juergen Reuter <reuter@ipd.uka.de>
1427 * Some more parmesan related fixes;
1429 * Custos: varying shape (in particular, stem length), depending on the
1430 vertical position of the custos (on staffline / between stafflines);
1432 * Custos: added grob property "neutral-direction" (same semantics as
1433 with stem); introduced new grob property "neutral-position";
1435 * Time-signature: print a warning when resorting to default layout.
1437 2002-02-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1439 * lily/translator-group.cc (add_fresh_simple_translator): remove
1440 function; initialize() is called through
1441 Translator_group::initialize().
1443 * lily/third-try.cc (prune_loose_colunms): add constraints (rods)
1444 for the neighbors of a loose column.
1446 * lily/line-of-score.cc (set_loose_columns): be more intelligent:
1447 position loose columns so that they don't collide.
1449 2002-02-21 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1451 * VERSION: 1.5.32 released.
1453 * scm/font.scm: remove font-name symbol.
1455 * mf/GNUmakefile: use pktrace for making PFAs
1457 * make/lilypond.redhat.spec.in: use pktrace when making RPMs
1459 * lily/rest-collision.cc (do_shift): read direction field from
1460 rest-column in case of note-rest collision. This should fix some
1461 problems with rest collisions.
1463 2002-02-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1465 * lily/note-heads-engraver.cc (process_music): Removed easyPlay
1468 * lily/note-head.cc (brew_ez_molecule): Remove note-character
1469 property. Read pitch directly from #'cause.
1471 * mf/feta-puntje.mf: bugfix
1473 2002-02-19 Juergen Reuter <reuter@ipd.uka.de>
1475 * mf/*.mf: tried to fix ancient-font.ly. WARNING: Font changed.
1477 2002-02-18 Jan Nieuwenhuizen <janneke@gnu.org>
1479 * Documentation/windows/compiling.texi: Update.
1481 * Documentation/index.texi: Add link to orphaned compiling for
1484 * Documentation/footer.html.in: Comment fix.
1486 * stepmake/bin/add-html-footer.py: Python2.[12] re workarounds.
1488 2002-02-18 Han-Wen <hanwen@cs.uu.nl>
1490 * VERSION: 1.5.31 released
1492 * lily/new-spacing-spanner.cc: remove file.
1494 * lily/third-try.cc (do_measure): only take spacings into account
1495 if they pertain to the column pair under consideration. This fixes
1496 spacing bug when mixing eighths triplets and normal eighths.
1498 * lily/note-head.cc (brew_molecule): revert ledger change: ledger
1499 lines don't take up space anymore. Document why in note-head.cc
1502 2002-02-17 Han-Wen <hanwen@cs.uu.nl>
1504 * lily/font-interface.cc (get_font): reinstate
1505 #'font-magnification. See input/regression/font-magnification.ly
1506 (get_font): Change the definition of #'font-name grob property.
1508 * lily/grob.cc (get_uncached_molecule): output origin for grobs
1509 that have a #'cause field.
1511 2002-02-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1513 * Documentation/topdocs/INSTALL.texi: remove type3 stuff.
1515 * mf/GNUmakefile: remove metapost stuff
1517 * stepmake/aclocal.m4: remove metapost detection stuff.
1519 2002-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
1521 * mf/GNUmakefile (FET_FILES):
1522 (FONT_FILES): Include parmesan.
1524 * stepmake/bin/packagepython.py (make_assign_re): Bugfix. Use re
1527 * buildscripts/clean-fonts.sh (FILES): Clean parmesan too.
1529 * Documentation/user/refman.itely (Paper size): Quote braces.
1531 2002-02-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1533 * stepmake/aclocal.m4: fixed bison version check to be more
1536 * lily/stem.cc (position_noteheads): fix for cluster chords.
1538 * mf/*.mf: many blotting/pixel rounding fixes by Rune Zedeler
1540 * python 2.2 support.
1542 2002-02-04 Han-Wen <hanwen@cs.uu.nl>
1544 * VERSION: 1.5.30 released
1546 * lily/dynamic-engraver.cc: add doco about DynamicLineSpanner
1548 * Documentation/user/refman.itely (Dynamics): add a note about
1551 * scm/grob-description.scm: add a 'translator-type? object
1552 property, so that \property Foo.Bar =\turnOff doesn't cause
1555 * lily/translator-group.cc (add_fresh_group_translator): make
1556 new add-translator functions to make distinction between fresh and
1557 used group-translators. Fixes problem with scripts on auto-changing voice
1559 * lily/timing-engraver.cc: make Timing_engraver instantiatable,
1560 add to Score_performer. Fixes bar checks in MIDI
1562 * lily/tie-engraver.cc (create_grobs): Use pitches to compare note
1563 heads. Fixes many quirks with ties.
1565 * lily/engraver.cc (announce_grob): Use SCM argument. Store cause
1566 in the grob property #'cause, instead of using Grob_info.
1568 * ly/engraver-init.ly (StaffContext): move Dot_column_engraver to
1569 staff context, fixing dot alignment on collisions.
1571 * lily/beam-engraver.cc (try_music): remove can't find beam start
1572 warning, so that skipTypesetting won't complain.
1574 2002-02-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1576 * Documentation/user/refman.itely (Paper size): Documentation fix,
1579 * lily/text-engraver.cc: Bugfix: textNonEmpty works again
1581 * scm/grob-description.scm: \breathe: Use feta font comma by default
1583 2002-01-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1585 * input/template/piano-dynamics.ly (pedal): Simplified
1587 2002-01-18 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1589 * ly/engraver-init.ly: avoid warnings on \skip in lyrics
1591 2002-01-10 Mats Bengtsson <matsb@s3.kth.se>
1593 * lilypond-mode.el (LilyPond-command-query): ignore case.
1595 2002-02-01 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1597 * VERSION: 1.5.29 released
1599 * all files: change 2001 to 2002 in headers globally
1601 * mf/parmesan20.mf: split out ancient notation into parmesan ("old
1602 cheese") font. WARNING: fonts changed.
1604 2002-02-01 Juergen Reuter <reuter@ipd.uka.de>
1606 * mf/*.mf: Fixed some blot_diameter related flaws in some feta symbols
1608 * mf/*.mf: Added some more vaticana/solesmes style font symbols
1610 * mf/*.mf: Bugfix: renamed subbipunctum -> inclinatum
1612 * mf/*.mf: Fixed a few typos in various .mf files
1614 2002-01-17 Rune Zedeler <rune@zedeler.dk>
1616 * mf/: added macro soft_penstroke
1618 softened some glyphs
1619 redrawn triangular noteheads
1621 added classical quarter rest
1623 * lily/stem.cc: Bugfix: Stem-attachment when staff_space!=1
1625 * lily/bar.cc: Bugfix: repeat dots when even number of staff
1626 lines and staff_space>=2
1628 * lily/rest.cc: Use default rests when current style glyphs not
1630 \property Staff.Rest \override #'style = #'classical
1632 2002-01-30 Jan Nieuwenhuizen <janneke@gnu.org>
1634 * input/bugs/first-tie.ly: New file.
1636 * input/bugs/spacing-clash.ly: New file.
1638 2002-01-29 Jan Nieuwenhuizen <janneke@gnu.org>
1642 2002-1-24 Chris Jackson <chris@fluffhouse.org.uk>
1644 * lilypond-indent.el: New file providing indentation for
1645 parenthesised blocks of lilypond code in Emacs
1647 * lilypond-font-lock.el: Changes to the syntax table to facilitate
1648 indentation and handle block comments properly. Distinguish
1649 accents from close-brackets in fontification.
1651 * lilypond-mode.el: LilyPond-indent-command set appropriately.
1653 2002-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
1655 * Documentation/windows/installing.texi:
1656 * Documentation/windows/compiling.texi: Include from 1.4.10.
1658 * Documentation/windows/gs-profile.sh: previously lily-gs.sh
1660 * input/bugs/first-midi-tie.ly: New file.
1662 2001-12-29 Han-Wen <hanwen@cs.uu.nl>
1664 * VERSION: 1.5.28 released
1666 * lily/parser.yy (My_lily_parser): Slightly kludgy warning for
1667 illicit beams on [c4 c4] etc.
1669 * lily/bar-check-iterator.cc (Bar_check_iterator): new
1670 file. Make separate iterator for Bar_checks. Bar_check now happen
1671 outside engravers, meaning that you can use them with
1672 skipTypesetting. Associated changes in other files.
1674 * lily/new-spacing-spanner.cc (stem_dir_correction): removed
1677 * lily/spacing-spanner.cc (stem_dir_correction): removed function
1679 * lily/include/grob.hh (unsmob_item, unsmob_spanner): Add functions
1681 * lily/bar.cc (before_line_breaking): remove bar-line spacing code.
1683 * lily/stem.cc (set_spacing_hints): removed function
1685 * lily/note-spacing.cc (stem_dir_correction): new stem-direction
1686 correction for spacing; now take vertical extents of the stem into
1689 * lily/third-try.cc: More hacking to get spacing working.
1691 * lily/note-spacing-engraver.cc: new file, Note_spacing_engraver
1692 sits at staff level and creates note spacing objects. Scrap it
1693 again, and document why.
1695 * lily/include/group-interface.hh: rename functions.
1697 2001-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
1699 * stepmake/stepmake/c++-rules.make:
1700 * stepmake/stepmake/c-rules.make: Fixes for bison-1.28.
1702 2001-12-25 Jan Nieuwenhuizen <janneke@gnu.org>
1704 * make/lilypond-vars.make:
1705 * scripts/ly2dvi.py (setup_environment):
1706 * scripts/lilypond-book.py (setup_environment): Also set tex
1709 2001-12-24 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1711 * VERSION: 1.5.27 released.
1713 * Documentation/user/refman.itely (Bar numbers): added bar number
1716 * scm/font.scm (make-style-sheet): Fixes to make staff-sizes work
1719 2001-12-22 Mats Bengtsson <matsb@s3.kth.se>
1721 * tex/lilyponddefs.tex: Make sure interscorelinefill=1 doesn't
1722 spread the last few lines all over the last page of a score.
1724 2001-12-24 Han-Wen <hanwen@cs.uu.nl>
1726 * lily/third-try.cc: 3rd try at revising spacing
1727 engine. Not yet finished.
1729 * lily/paper-column.cc (brew_molecule): print debugging marks on a
1732 * lily/tie-engraver.cc (class Tie_engraver): Use busyGrobs for
1733 collecting past note heads.
1735 * lily/note-heads-engraver.cc (try_music): Remove end_mom_
1738 * lily/grob-pq-engraver.cc (class Grob_pq_engraver): New file, new
1739 class. Keep a queue of grobs that are still playing in busyGrobs.
1741 * lily/lyric-combine-music-iterator.cc (get_busy_status): New
1742 function. Use busyGrobs to detect playing notes.
1744 2001-12-16 Jan Nieuwenhuizen <janneke@gnu.org>
1746 * Documentation/topdocs/INSTALL.texi: Added note about broken
1747 python-2.1. Updated note for Debian's broken (well, broken for
1748 our use anyway) tex configuration.
1750 * scripts/lilypond-book.py (re_dict): python2.2 fix.
1752 * stepmake/stepmake/c++-rules.make ($(outdir)/%.hh):
1753 ($(outdir)/%.cc): Adapted to bison-1.30; added bison < 1.30 fix.
1755 * scripts/lilypond-book.py (bounding_box_dimensions): Bugfix.
1756 (But left margin of png's still misses a few pixels. Arg.)
1758 2001-12-16 Heikki Junes <hjunes@cc.hut.fi>
1760 * lilypond-mode.el (LilyPond-command-next-midi): Make
1761 possible to kill midi-process (using "C-c C-m").
1763 2001-12-14 Han-Wen <hanwen@cs.uu.nl>
1765 * scripts/lilypond-book.py (LatexPaper.set_geo_option):
1766 Convert strings with dimensions to numbers.
1768 * lily/volta-engraver.cc: only make a bracket for the top staff,
1769 as found in stavesFound.
1771 * lily/bar-number-engraver.cc: remove staff administration.
1773 * lily/mark-engraver.cc (acknowledge_grob): remove staff
1774 administration. This breaks support for invisible-staff.
1776 * lily/staff-collecting-engraver.cc: new engraver. Collects staff
1777 symbols into stavesFound.
1779 * lily/score-engraver.cc (acknowledge_grob): Acknowledge spacing
1780 grobs, and put them into columns.
1782 * lily/engraver-group-engraver.cc (acknowledge_grobs): Include the
1783 Engraver_group_engraver as a potential candidate for ack'ing grobs.
1785 2001-12-13 Heikki Junes <hjunes@cc.hut.fi>
1787 * lilypond-mode.el (LilyPond-command-next-midi): Play next (or last)
1788 midi section in the Emacs-mode, so it is possible to play certain
1789 score in a multiscore lilypond-file.
1791 2001-12-09 Rune Zedeler <rune@zedeler.dk>
1792 * lily/lily-guile.cc: Added ly_assoc_front_x() and ly_assoc_cdr()
1793 (FIXME: not accessible from guile)
1795 * lily/accidental-engraver.cc: rewrote accidental-routines to get
1796 better support for Kurt Stone's suggestions.
1797 Removed properties: noResetKey, forgetAccidentals, autoReminders,
1799 Changed property: localKeySignature.
1800 Added properties: extraNatural, autoAccidentals,
1803 (BUGFIX: broken-tie-support destroyed in 1.5.16)
1805 * ly/property-init.ly: added commands
1806 \defaultAccidentals \modernAccidentals \modernCautionaries
1807 \noResetKey \forgetAccidentals
1809 * ly/engraver-init.ly: Correct initialization of new accidentals.
1811 * scm/translator-property-description.scm: The new properties
1814 * input/: Some examples added, some changed.
1816 * Documentation/regression-test.tely: Added quick test of new
1819 2001-12-13 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1821 * scripts/lilypond-book.py (scan_latex_preamble): don't crash if
1824 2001-12-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1826 * lily/beam.cc (before_line_breaking): Make beams without stems
1827 or with only one stem disappear.
1829 2001-12-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1831 * bibtools/bib2html.py: Add simple bib2html convertor, and .bst
1832 files to have standardised HTML bibliography output. Update build
1833 docs to reflect this.
1835 * lily/include/simple-spacer.hh (struct Simple_spacer): add
1836 active_count_, so that we don't have to look for active springs
1839 * scm/interface-description.scm,scm/grob-property-description.scm:
1842 * lily/simple-spacer.cc (solve): Handle forced line breaks
1843 here. Fixes problems when combining linebreaks with non-fitting
1846 2001-12-05 Jan Nieuwenhuizen <janneke@gnu.org>
1848 * 1.4.9.jcn3 forward ports.
1850 * Really included .cvsignore.
1852 * Included Han-Wen's uu1 windows fixes.
1854 * Bugfix: lilypond-profile.sh: append to GS_FONTPATH, GS_LIB.
1856 * Added Cygwin setup.hint
1858 * Removed tex, python wrappers and postinstalls to go with Cywgin's
1859 tetex/texmf, python installations.
1861 * Updated cygwin installer.
1863 * ly2dvi: Don't accept filenames with spaces (+ fix).
1865 2001-12-03 Han-Wen <hanwen@cs.uu.nl>
1867 * ly/engraver-init.ly (VoiceContext): fix text engraver ordering.
1869 * lily/translator-def.cc: Remove manual symbol caching.
1871 * lily/script-column.cc (before_line_breaking): robustness check:
1872 don't crash if no direction set.
1874 * scripts/pmx2ly.py: Key and clef change support (Laura Conrad)
1876 * scripts/pmx2ly.py (Parser.parse_header): more generic header
1880 2001-12-01 Han-Wen <hanwen@cs.uu.nl>
1882 * lily/note-head.cc (head_extent): added to compute width without
1883 ledger lines. By default, ledger lines take up width now.
1885 * input/regression/fingering.ly: demonstrate auto fingering.
1886 Horizontal placement is still buggy.
1888 * lily/fingering-engraver.cc (class Fingering_engraver):
1889 added. Provides support for horizontal fingering scripts
1891 * lily/include/grob.hh: Naming: change parent_l() into get_parent()
1893 * lily/side-position-interface.cc (add_staff_support): add staff
1894 only for Y-axis side positions.
1896 * lily/parser.yy (request_chord): Fix mem leak.
1898 * lily/musical-request.cc (transpose): moved to Music::transpose()
1900 * lily/include/grob-info.hh: Change music pointer to SCM, so we
1901 can store grobs as grob-creation cause as well.
1903 * lily/group-interface.cc (add_thing): efficiency tweak: reuse
1904 handle when adding. Use precomputed symbols throughout lily.
1906 * lily/rhythmic-column-engraver.cc: make NoteSpacing grobs to keep
1907 track of spacing issues.
1909 * lily/separating-line-group-engraver.cc: make StaffSpacing grobs
1910 to keep track of staff spacing
1912 2001-11-30 Jan Nieuwenhuizen <janneke@gnu.org>
1914 * Rewrote new conditional guile >= 1.5 compilation switches, to keep
1915 code clean from conditionals and have a concentrated sets of
1916 compatibility fixes for old guile versions.
1918 * Fixes for guile 1.4, including embedded ps.
1920 2001-11-30 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1922 * lily/stanza-number-engraver.cc (process_music): allow pairs as
1923 well for markup texts.
1925 * lily/musical-request.cc (length_mom): kludge for null pointer.
1927 * scm/sketch.scm (sketch-output-expression): guile 1.4 compatibility
1929 * scm/lily.scm (sign): bugfix
1931 * CHANGES: Change log instated.
1933 * stepmake/add-html-footer.py: @BRANCH@ tag insertion.