]> git.donarmstrong.com Git - lilypond.git/blob - ChangeLog
*** empty log message ***
[lilypond.git] / ChangeLog
1 2002-07-13  Han-Wen  <hanwen@cs.uu.nl>
2
3         * lily/auto-beam-engraver.cc (create_beam_p): remember Beam
4         settings at the start of a potential auto beam.
5
6         * lily/include/sequential-iterator.hh (class Sequential_iterator):
7         bugfix: protect music list from GC.
8
9         * Documentation/user/introduction.itely: misc fixes.
10
11         * scripts/ly2dvi.py (run_latex): show latex error log. Ask for
12         bugreport if lilypond is killed by a signal. 
13
14         * input/regression/beam-funky.ly:  new file
15
16         * lily/input-smob.cc (make_input): GUILE 1.7 compatibility fixes.
17
18         * lily/beam.cc: complete rewrite of multiplicity. This fixes 16th
19         knees code.
20         (quanting): add french beaming support (property french-beaming)
21         (stem_beams): removed.
22
23 2002-07-12  Mats Bengtsson  <matsb@s3.kth.se>
24
25         * lily/beam.cc (after_line_breaking): Set correct stem lengths
26         also when beam positions are set manually.
27         (consider_auto_knees): Do not use automatic knees if the directions
28         are set manually by the user.
29
30 2002-07-12  Han-Wen  <hanwen@cs.uu.nl>
31
32         * input/regression/grace-auto-beam.ly: new file
33
34         * input/regression/grace-unfold-repeat.ly: new file
35
36         * lily/auto-beam-engraver.cc (test_moment): never start on grace moments.
37
38         * lily/forbid-break-engraver.cc (start_translation_timestep): skip
39         grace notes for break-forbidding. Breaks during grace notes are
40         handled by Bar_engraver.        
41
42         * lily/unfolded-repeat-iterator.cc: Reimplement
43         Unfolded_repeat_iterator, Volta_repeat_iterator using
44         Sequential_iterator. All grace functionality from {} carries over
45         to repeats as well.
46
47         * lily/sequential-iterator.cc: new file: form baseclass for
48         sequential music iterator and unfolded/volta repeat iterator.
49
50 2002-07-11  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
51
52         * lily/include/debug.hh: deprecate.
53
54         * lily/spacing-spanner.cc (set_springs): add support for
55         common-shortest-duration field.
56
57         * lily/parser.yy (translator_spec_body): allow \set in \translator
58         {}  block. This is the same as \override, here.
59
60         * lily/score-engraver.cc (one_time_step): don't warn about columns
61         when skipTypesetting == #t.
62
63         * lily/spacing-spanner.cc (musical_column_spacing): change
64         ragged right function to produce natural spacing.
65
66 2002-07-10  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
67
68         * lily/paper-column.cc (before_line_breaking): update
69         #'bounded-by-me field for suicided items.  This fixes crazy
70         spacing in \partcombine scores.
71
72 2002-07-10  Jan Nieuwenhuizen  <janneke@gnu.org>
73
74         * config.hh.in: Add HAVE_SSTREAM.
75         
76         * configure.in: Add check for sstream header.
77
78 2002-07-09  Mats Bengtsson  <matsb@s3.kth.se>
79  
80         * flower/source-file.cc: Fix compatibility with older g++.
81  
82 2002-07-09  Jan Nieuwenhuizen  <janneke@gnu.org>
83
84         * input/twinkle.ly: Bugfix: no automaticMelismata.
85
86 2002-07-08  Han-Wen  <hanwen@cs.uu.nl>
87
88         * mutopia/J.S.Bach/Cembalo-Partitas/: remove
89
90         * ly/engraver-init.ly (ScoreContext): turn on automaticMelismata
91         by default.
92
93         * lily/voice-devnull-engraver.cc (try_music):
94         lily/thread-devnull-engraver.cc: use proper spelling for #'always.
95
96         * lily/unfolded-repeat-iterator.cc (Unfolded_repeat_iterator):
97         copy here_mom_ too. This fixes an obscure bug with combining
98         partcombine and repeat
99
100         * lily/chord-tremolo-iterator.cc (Chord_tremolo_iterator): copy
101         factor too. 
102
103 2002-07-07  Han-Wen  <hanwen@cs.uu.nl>
104
105         * mutopia/J.S.Bach/pa.ly: remove
106         * mutopia/J.S.Bach/Duette/: remove  
107         
108         * scm/font.scm (change-rhs-size): add support for "paper19.ly"
109
110         * VERSION: 1.5.66 released
111
112         * scm/grob-description.scm (all-grob-descriptions): add
113         item-interface where necessary
114
115         * lily/score-engraver.cc (one_time_step): warn for grobs created
116         during stop_translation_timestep().
117
118         * lily/a2-engraver.cc: restrict acknowledged grob types.
119
120         * lily/chord-name-engraver.cc: remove acknowledge_grob().
121
122         * Documentation/user/tutorial.itely: doc carnage.
123
124 2002-07-06  Rune Zedeler  <rune@zedeler.dk>
125
126         * Documentation/user/refman.itely: Documented accidentals
127         (incl. bugs), subdivideBeams and drum/percussion notation.
128
129         * lily/translator-group.cc, lily/include/translator-group.hh
130         (Translator_group::set_children_property): removed.
131
132         * lily/accidental-engraver.cc: don't use
133         Translator_group::set_children_property.
134
135         * lily/new-accidental-engraver.cc: Added. More correct
136         accidentals, but wrong spacing.
137
138         * lily/beam-enagraver.cc, lily/auto-beam-engraver.cc: Small
139         subdivideBeams-fixes.
140
141         * scm/drums.scm: Small changes/fixes in instruments and maps
142         
143 2002-07-05  Jan Nieuwenhuizen  <janneke@gnu.org>
144
145         * lexer-gcc-3.1.sh: Fixes and more comments.
146
147         * Documentation/topdocs/INSTALL.texi: Add comment about gcc-3.0.4
148         problems.
149
150         * lily/include/stream.hh:
151         * lily/include/moment.hh:
152         * lily/include/midi-stream.hh:
153         * lily/streams.cc:
154         * lily/scm-option.cc:
155         * lily/parser.yy:
156         * lily/my-lily-lexer.cc:
157         * lily/moment.cc:
158         * lily/midi-stream.cc:
159         * lily/main.cc:
160         * lily/lexer.ll:
161         * lily/includable-lexer.cc:
162         * flower/include/source-file.hh:
163         * flower/include/parray.hh:
164         * flower/include/dictionary.hh:
165         * flower/include/array.icc:
166         * flower/string.cc: 
167         * flower/source-file.cc:
168         * flower/getopt-long.cc: gcc-3.1 fixes.
169
170         * stepmake/stepmake/generic-targets.make: Add comment about warning.
171
172         * lexer-gcc-3.0.patch: Add comment, and a fix for installations
173         that have an unpatched flex and gcc-3.1.x.
174
175         * Documentation/topdocs/INSTALL.texi: Add comments and
176         instructions on gcc-3.1.x.
177
178         * lexer-gcc-3.1.sh: New file.
179
180         * aclocal.m4: regenerate.
181         
182         * stepmake/aclocal.m4: Version compare fix.
183
184 2002-07-05  Han-Wen  <hanwen@cs.uu.nl>
185
186         * ly/engraver-init.ly (RhythmicStaffContext): stems up by default.
187
188         * lily-guile.hh: remove guile 1.3 compatibility,  add 1.4
189         compatibility functions.
190
191 2002-07-05  Jan Nieuwenhuizen  <janneke@gnu.org>
192
193         * Documentation/windows/lilypond.hint (requires): Add libintl2.
194
195 2002-07-04  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
196
197         * VERSION: 1.5.65 released. 
198         
199         * scripts/lilypond-book.py: patches by Tom Cato Amundsen.  Adds
200         support for the columnsep when using the geometry package.
201         
202 2002-07-04  Jan Nieuwenhuizen  <janneke@gnu.org>
203
204         * scm/grob-property-description.scm (minimum-space-pair): Remove.
205
206         * Documentation/windows/README: 
207         * Documentation/windows/guile-1.5.6-1.5.6.jcn2.patch:
208         * Documentation/windows/changelog: New file.
209
210         * Documentation/windows/lilypond.hint (requires): libguile14 (was:
211         guile).
212
213 2002-07-03  Han-Wen  <hanwen@cs.uu.nl>
214
215         * lily/grob-property.cc (HASHING_FOR_MUTABLE_PROPS): experiment:
216         try hash tables for mutable properties.
217
218         * lily/align-interface.cc: remove aligned-interface and props
219         minimum-space-pair extra-space 
220
221         * lily/grob-property.cc: new file move grob prop handling here.
222
223         * lily/lily-guile.cc (ly_deep_copy): add vector support
224
225         * lily/break-substitution.cc (do_break_substitution): add vector
226         support.
227
228         * lily/spanner.cc: remove extend_spanner_over_* funcs.
229
230 2002-07-02  Jan Nieuwenhuizen  <janneke@gnu.org>
231
232         * stepmake/aclocal.m4 (STEPMAKE_GET_VERSION): Workaround for
233         broken Debian gcc version string: 'gcc (GCC) 3.1.1 20020606
234         (Debian prerelease)'
235
236 2002-07-02  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
237
238         * lily/bar-check-iterator.cc (process): change
239         barbarCheckNoSynchronize to barCheckSynchronize
240
241         * Documentation/user/bugs.itexi: move to introduction, remove.
242
243         * Documentation/user/*.itexi: general carnage/cleanage.
244         
245         * Documentation/user/internals.itely: split most of file into
246         internal documentation (.scm and .cc)
247
248         * buildscripts/make-font-dir.py: put designsize in to X font
249         sWidth field
250
251         * make/lilypond.redhat.spec.in: postinstall bugfix
252
253 2002-07-02  Juergen Reuter  <reuter@ipd.uka.de>
254
255         * lily/ambitus-engraver.cc, lily/ambitus.cc: Various bugfixes:
256         avoid segfault on undefined ambitus pitch; avoid wasteful creation
257         of pitch smobs; defer computation of centralCPosition beyond first
258         timestep to catch also clefs outside of the current voice context.
259
260 2002-07-02  Han-Wen  <hanwen@cs.uu.nl>
261
262         * input/template/satb.ly: new file
263
264 2002-07-01  Jan Nieuwenhuizen  <janneke@gnu.org>
265
266         * Documentation/user/glossary.tely: Precautions for lilypond-book:
267         don't use spaces after @lilypond options.
268
269         * Documentation/topdocs/INSTALL.texi (Top): Remove generic Guile
270         threads warning.
271
272 2002-07-01  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
273
274         * VERSION (MAJOR_VERSION): 1.5.64
275
276 2002-06-30  Jan Nieuwenhuizen  <janneke@gnu.org>
277
278         * lily/grob.cc (mark_smob): don't mark parents, explain why.
279
280         * tex/lilyponddefs.tex: Define outputscale only once.
281
282 2002-06-29  Jan Nieuwenhuizen  <janneke@gnu.org>
283
284         * configure.in: Require guile 1.4 or newer (was 1.3.4?).
285
286 2002-06-29  Han-Wen  <hanwen@cs.uu.nl>
287
288         * lily/(phrasing-)slur-engraver.cc: remove slur{Begin|End}Attachment.
289
290         * lily/separating-line-group-engraver.cc (acknowledge_grob):
291         ignore grobs with no-spacing-rods set.
292
293         * Documentation/user/tutorial.itely (Fine tuning a piece): more tut.
294
295         * scm/grob-description.scm (all-grob-descriptions): sort list
296         
297 2002-06-27  Jan Nieuwenhuizen  <janneke@gnu.org>
298
299         * Documentation/user/tutorial.itely (A piano excerpt): Bugfix:
300         remove stray brace.
301
302         * Documentation/topdocs/FAQ.texi (Installation): Add
303         lilypond-devel list.  Add faq about font removal.  Fix faq about
304         generating and running ./configure.
305
306 2002-06-26  Jan Nieuwenhuizen  <janneke@gnu.org>
307
308         * scm/chord-name.scm (chord::name->text): Workaround: clean markup
309         text.
310
311         * lily/text-item.cc (markup_text2molecule): Bugfix: raise only once.
312
313         * input/test/ambitus.ly:
314         * lily/ambitus-engraver.cc:
315         * lily/ambitus.cc:
316         * lily/include/ambitus.hh: New file.
317
318         * GNUmakefile.in (local-clean): Also remove builddir-setup's symlinks.
319
320 2002-06-25  Juergen Reuter  <reuter@ipd.uka.de>
321
322         * input/test/ambitus.ly, lily/ambitus-engraver.cc,
323         lily/ambitus.cc, lily/include/ambitus.hh, ly/engraver-init.ly,
324         scm/basic-properties.scm, scm/grob-description.scm,
325         scm/grob-property-description.scm: Add support for ambitus.
326
327 2002-06-24  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
328
329         * lily/text-spanner.cc: add some props to interface (patch
330         courtesy Chris J).
331
332 2002-06-24  Jan Nieuwenhuizen  <janneke@gnu.org>
333
334         * lily/text-spanner.cc (setup_pedal_bracket): Bugfix: only
335         dereference valid Grob.
336
337         * configure.in: Quoting fixes.
338
339 2002-06-24  Han-Wen  <hanwen@cs.uu.nl>
340
341         * VERSION: 1.5.63 released
342
343         * lily/grob-scheme.cc: new file
344
345         * lily/break-substitution.cc: split up break substitution
346         functionality, and make a special constant stack-space version for
347         lists of grobs. This should fix the problems of lily in
348         combination with pthreads/qthreads.
349
350         * lily/grob.cc (mark_smob): bugfix: mark other parent too.
351
352 2002-06-23  Chris Jackson  <chris@fluffhouse.org.uk>
353
354         * lily/text-spanner.cc (setup_pedal_bracket):
355         * lily/piano-pedal-engraver.cc (create_bracket_grobs): 
356         Fix the lengths of mixed-style piano pedal brackets.
357
358 2002-06-23  Jan Nieuwenhuizen  <janneke@gnu.org>
359
360         * Documentation/user/tutorial.itely (First steps): Add missing
361         quotation.
362
363         * Documentation/topdocs/INSTALL.texi (Top): Add some warnings
364         about guile --with-threads.  Hopefully this issue can be resolved
365         rsn, but maybe we should even add warnings for the standard Debian
366         and Red Hat packages?
367
368         * configure.in: Warn if guile is configured to use threads.  Maybe
369         we should make this an error (ie, add to REQUIRED list?)
370
371         * config.make.in (PACKAGE_NAME):
372         (PACKAGE, package):  Don't hardcode.
373
374         * VERSION (PACKAGE_NAME): Typo fix.
375
376 2002-06-23  Han-Wen  <hanwen@cs.uu.nl>
377
378         * input/tutorial/brahms-*.ly: new tutorial files.
379
380         * Documentation/user/tutorial.itely: fixes. Extend cheat sheet.
381
382         * scm/script.scm (default-script-alist): fermata is up.
383
384         * lily/dynamic-engraver.cc (stop_translation_timestep): stop
385         dynamic line spanner when there is no crescendo to connect.
386
387         * lily/tie.cc (get_control_points): add test to avoid flat ties.
388
389 2002-06-22  Han-Wen  <hanwen@cs.uu.nl>
390
391         * lily/note-collision.cc (check_meshing_chords): don't crash if no
392         stems.
393
394         * scm/music-functions.scm (toplevel-music-functions): new
395         definition. Functions to apply automatically. Removes the need for
396         explicitly doing \apply #voicify-music
397
398         * lily/grob.cc (do_break_substitution): rename function, use
399         global var for criterion argument. Reduces stack usage a little.
400
401         * ly/engraver-init.ly (StaffContext): add Instrument_engraver
402
403         * scripts/convert-ly.py, lily/*.cc, scm/*.scm: change
404         visibility-lambda to break-visibility
405
406 2002-06-21  Jan Nieuwenhuizen  <janneke@gnu.org>
407
408         * input/bugs/part-combiner.ly: New file.
409
410         * lily/include/spacing-interface.hh: New file.
411
412         * lily/include/spaceable-element.hh: Remove.
413
414         * input/test/script-priority.ly: New file.
415
416 2002-06-20  Han-Wen  <hanwen@cs.uu.nl>
417
418         * lily/system.cc (output_lines): kill grobs that are only for spacing.
419
420 2002-06-20  Jan Nieuwenhuizen  <janneke@gnu.org>
421
422         * lily/fingering-engraver.cc (make_script): 
423         * lily/script-engraver.cc (process_music): 
424         * lily/text-engraver.cc: 
425         (process_acknowledged_grobs): Remove hard coded script-priority.
426
427         * flower/warn.cc: Cleanup.
428
429         * lily/voice-devnull-engraver.cc: Also eat multi-measure rest, a
430         spanner now.
431
432         * aclocal.m4: Regenerate.
433
434         * stepmake/aclocal.m4: Also set GUILE_PATCH_LEVEL.
435
436         * config.hh.in: Only set GUILE_MAJOR_VERSION if necessary.
437         * lily/include/lily-guile.hh: Only include config.h if necessary.
438
439         * Changelog: cvs changes ml archive test #8.
440         
441         * lily/slur-engraver.cc: Layout fix.
442
443 2002-06-19  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
444
445         * ly/engraver-init.ly (RhythmicStaffContext): add
446         Dot_column_engraver, resurrect barlines 
447         
448         * VERSION: 1.5.62 released.
449
450         * lily/engraver-group-engraver.cc (do_announces): rename
451         create_grobs () to process_acknowledged_grobs().
452
453         * lily/grob.cc (programming_error): add programming_error with
454         origin location.  
455
456         * lily/tuplet-bracket.cc (parallel_beam): robustness check, don't
457         fail if a beam doesn't have stems.  
458
459         * lily/engraver-group-engraver.cc (do_announces): scary change in
460         calling convention of create_grobs():  no create_grobs() call
461         before acknowledge_grobs().
462
463         * lily/sequential-music-iterator.cc (skip): add support for grace
464         notes. 
465
466         * lily/music.cc (Music): fix very subtle and nasty memory
467         corruption bug. Typical symptom: "programming_error: Rhythmic_req
468         has no duration"
469
470         * mutopia/claop.py: new file: CLA(O)P II by Peter Wallin.
471
472 2002-06-19  Han-Wen  <hanwen@cs.uu.nl>
473
474         * ly/engraver-init.ly (RhythmicStaffContext): add
475         Dot_column_engraver
476         
477
478         * lily/parser.yy: various protection fixes. Less objects are now
479         overprotected.
480
481 2002-06-18  Jan Nieuwenhuizen  <janneke@gnu.org>
482
483         * stepmake/bin/release.py (prev_ver): Bugfix: assume new diff
484         naming scheme.
485
486         * Documentation/windows/zlily-profile.sh:
487         * Documentation/windows/post-lilypond.sh: Assume normal
488         prefix=/usr for lilypond.
489
490         * lily/musical-request.cc (length_mom): Display origin with error.
491
492         * input/test/duration-check.ly: New file.
493
494         * lily/lily-guile.cc (ly_pair_p): [PARANOID]: Check for freed
495         cells.
496
497         * lily/part-combine-music-iterator.cc (get_state): Bugfix: use
498         ly_symbol2scm to get a scm symbol (rather than ly_str02scm).
499
500         * aclocal.m4:
501         * autogen.sh: Regenerate.
502         
503         * Documentation/topdocs/INSTALL.texi: 
504         * configure.in: 
505         * stepmake/configure.in:
506         * stepmake/aclocal.m4: Revert autoconf upgrade.  Autoconf 2.53 has
507         a serious bug wrt AC_CONFIG_AUX_DIR (reported).  Creating
508         ./configure once again requires autoconf == 2.13.
509
510         * stepmake/autogen.sh: Check for autoconf == 2.13.
511
512 2002-06-18  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
513
514         * lily/parser.yy (open_request_parens): add input locations to
515         open and close parens. 
516
517 2002-06-17  Chris Jackson <chris@fluffhouse.org.uk>
518
519         * lily/tuplet-bracket.cc:
520         * lily/text-spanner.cc: 
521         * lily/piano-pedal-engraver.cc: 
522         * scm/grob-description.scm: 
523         * scm/grob-property-description.scm: Changed the
524         edge-width property of brackets to edge-widen. Changed the sign of
525         the left element of edge-widen so a pair of equal numbers produces
526         a symmetrical bracket.
527
528 2002-06-17  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
529
530         * ly/espanol.ly: added.
531
532         * lily/simple-spacer.cc (solve): remove assert.
533
534 2002-06-17  Han-Wen  <hanwen@cs.uu.nl>
535
536         * lily/forbid-break-engraver.cc (class
537         Forbid_line_break_engraver): new engraver: forbid linebreaks
538         during playing notes
539
540         * lily/spacing-spanner.cc (loose_column): add another check: don't
541         move around bar lines as loose columns.
542
543         * scm/basic-properties.scm (default-break-barline):  add pre-break
544         for .| barline
545
546 2002-06-16  Jan Nieuwenhuizen  <janneke@gnu.org>
547
548         * GNUmakefile.in (builddir-setup): Bugfix: include srcdir/tex as
549         well as mf/out as subdirs of tex, for kpathsea to find through TEXMF.
550
551         * scripts/lilypond-book.py (environment): Bugfix: update to new
552         TEXMF scheme, from ly2dvi.
553
554         * lily/lookup.cc (slur): Invoke bezier-bow.
555
556         * scm/tex.scm (bezier-bow): 
557         * scm/ps.scm (bezier-bow): Bezier sandwich with rounded endings
558         (Previously named bezier-sandwich).
559         
560         * scm/tex.scm (bezier-sandwich):
561         * scm/ps.scm (bezier-sandwich): Plain bezier sandwich.
562
563         * make/lilypond.mandrake.spec.in (post): 
564         * make/lilypond.suse.spec.in (post): 
565         * make/lilypond.redhat.spec.in (post): Also remove parmesan fonts.
566         
567         * tex/lilyponddefs.tex: Uncomment feta character support.
568
569         * Documentation/user/refman.itely (Pitches): Add espanol.ly
570         description.
571
572         * ly/catalan.ly: Add comment about (spanish) -s suffix.
573
574         * ly/espanol.ly: Spanish note names by Carlos Garc'ia Su'arez
575         <cgscqmp@terra.es>.
576
577 2002-06-14  Jan Nieuwenhuizen  <janneke@gnu.org>
578
579         * GNUmakefile.in (short-examples):
580         (long-examples): Bugfix for --srcdir build.
581         (top-web): Rewrite weblist find command.
582
583         * stepmake/bin/config.sub: 
584         * stepmake/bin/config.guess: Update from latest autotools.
585
586         * aclocal.m4:
587         * autogen.sh: Regenerate.
588         
589         * configure.in: 
590         * stepmake/configure.in: 
591         * stepmake/aclocal.m4: Run autoupdate.  Creating ./configure now
592         requires autoconf >= 2.50.
593
594         * stepmake/autogen.sh: Check for autoconf >= 2.50.
595
596         * Documentation/user/refman.itely: Bugfix for tablature example.
597
598         * Documentation/windows/compiling.texi: Update for new and
599         improved setup.
600
601 2002-06-14  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
602
603         * lily/spacing-spanner.cc (find_shortest): make 1/8 configurable:
604         introduce base-shortest-duration
605
606         * lily/parser.yy (music_output_def_body): don't crash when \tempo
607         in unexpected \midi{} is found.
608
609 2002-06-13  Jan Nieuwenhuizen  <janneke@gnu.org>
610
611         * stepmake/GNUmakefile.in: Don't install stepmake.  This breaks
612         the use of make/ly.make for use as an external makefile.  Probably
613         noone except for myself ever used this anyway.
614
615         * stepmake/stepmake/GNUmakefile (INSTALLATION_DIR): Bugfix: Adapt
616         to new $datadir convention (<package>/<version>).
617
618 2002-06-13  Han-Wen  <hanwen@cs.uu.nl>
619         
620         * VERSION: 1.5.61 released
621         
622         * Document/user/refman.itely: tablature doc and code updates by
623         Jean-Baptiste Lamy <jiba@tuxfamily.org>
624         
625         * input/template/piano-dynamics.ly: bugfixes.
626
627         * lily/key-engraver.cc (try_music): read request only once. Don't
628         overwrite lastKeySignature. Call create_key() only once. This
629         fixes a bug with multiple equal key changes on polyphonic staffs.
630
631 2002-06-12  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
632
633         * scm/grob-description.scm: Add side-position-interface to TextSpanner
634
635         * scm/grob-property-description.scm: Document the trill line type.
636
637 2002-06-12  Jan Nieuwenhuizen  <janneke@gnu.org>
638
639         * stepmake/stepmake/generic-vars.make: 
640         * make/lilypond-vars.make:
641         * GNUmakefile.in (builddir-setup): New setup for builddir run.
642         Fixes LilyPond run from builddir for --srcdir builds.
643
644         * Documentation/windows/GNUmakefile (OUT_PROFILES): Bugfix for
645         --srcdir build.
646
647 2002-06-12  Han-Wen  <hanwen@cs.uu.nl>
648
649         * scm/grob-description.scm (all-grob-descriptions): add
650         font-family to RehearsalMark
651
652         * scm/drums.scm: move over definitions from drum-pitch-init.ly
653
654         * lily/volta-bracket.cc (brew_molecule): bugfix, don't do anything
655         if glyph not set.
656
657 2002-06-12  Heikki Junes  <heikki.junes@hut.fi>
658
659         * lilypond-mode.el: Propose saving before applying a command:
660         for saved buffer set default command to LilyPond.
661
662 2002-06-11  Jan Nieuwenhuizen  <janneke@gnu.org>
663
664         * buildscripts/mutopia-index.py (headertext_nopics): Add missing
665         variable.
666
667         * Documentation/windows/lilypond.hint: Renamed (previously setup.hint).
668
669         * Documentation/windows/lilypond-doc.hint: New file.
670
671         * GNUmakefile.in: Forward port: Add toplevel target install-html-doc.
672         Bugfixes for --srcdir html-doc build.
673         
674         * make/lilypond-vars.make (LILYPOND_BOOK_INCLUDES): Forward port:
675         Bugfix: Include $(builddir)/mf/out (was $(srcdir)/mf/out.
676
677 2002-06-10  Han-Wen  <hanwen@cs.uu.nl>
678
679         * ly/script-init.ly (pralldown): add some scripts.
680
681         * Documentation/user/refman.itely: many edits.
682
683 2002-06-09  Han-Wen  <hanwen@cs.uu.nl>
684
685         * lily/tuplet-bracket.cc (brew_molecule): don't translate in Y
686         direction, this breaks staffline avoidance of the bracket when
687         they're horizontal.
688
689 2002-06-08  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
690
691         * scripts/midi2ly.py: Fix handling of -o
692
693 2002-06-08  Han-Wen  <hanwen@cs.uu.nl>
694
695         * lily/molecule.cc (translate): set max distance to 100 cm.
696
697 2002-06-07  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
698
699         * VERSION: 1.5.60 released
700
701         * lily/beam.cc: tremolo fix.
702
703         * scripts/convert-ly.py:  add tuplet-X-visibility rules.
704         add VerticalExtent -> verticalExtent rules.
705
706         * lily/axis-group-engraver.cc: consistent case for
707         XxxxVerticalExtent properties.  
708
709         * Documentation/user/refman.itely (Tuplets): update
710         tuplet-X-visibility properties. 
711
712         * input/test/defaultbars.ly: Corrected (thanks Mats)
713         
714 2002-06-05  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
715
716         * lily/beam.cc (shift_region_to_valid): fix stupido bug. 
717
718         * buildscripts/lilypond-profile.sh: override settings if
719         LILYPONDPREFIX is set.
720
721 2002-06-04  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
722
723         * scripts/ly2dvi.py (non_path_environment): Fix typo
724
725 2002-06-03  Heikki Junes  <heikki.junes@hut.fi>
726
727         * lilypond-mode.el: Extend "Quick notes" containing note tuples.
728
729         * lilypond-font-lock.el: Add fixes and comments to syntax-table.
730
731 2002-06-03  Han-Wen  <hanwen@cs.uu.nl>
732
733         * lily/beam-engraver.cc (class Grace_beam_engraver): derive from
734         beam-engraver: use different engraver so we can mix normal and
735         grace beams.
736
737 2002-06-01  Han-Wen  <hanwen@cs.uu.nl>
738
739         * lily/beam.cc (shift_region_to_valid): Try to shift positions
740         after slope-damping and concaveness check, so that short-stems are
741         not violated.
742
743 2002-05-31  Jan Nieuwenhuizen  <janneke@gnu.org>
744
745         * stepmake/aclocal.m4: Fix for ash as /bin/sh.
746
747 2002-05-31  Han-Wen  <hanwen@cs.uu.nl>
748
749         * VERSION: 1.5.59 released 
750         
751         * scripts/musedata2ly.py (Parser.parse_note_line): add dots. Add
752         notice that missing features are exercise for user.
753
754 2002-05-30  Jan Nieuwenhuizen  <janneke@gnu.org>
755
756         * lily/beam.cc (score_stem_lengths): Bugfix for knees: use correct
757         (but alas, not partly precomputed) value for current_y when
758         calculating stem length demerits.
759         (calc_stem_y): Temporary precomputed factors fix.
760
761         * lily/stem.cc (calc_stem_info): Take multiplicity into account
762         for shortest_y too.
763
764         * input/bugs/melisma-tie-rest.ly: New file.
765
766 2002-05-30  Han-Wen  <hanwen@cs.uu.nl>
767
768         * lily/stem.cc (calc_stem_info): remove min_y member, rename
769         stuff.  Remove kneeing stuff.
770
771         * lily/beam.cc (brew_molecule): remove beam direction. Lots of
772         twiddling
773
774 2002-05-29  Jan Nieuwenhuizen  <janneke@gnu.org>
775
776         * scm/sketch.scm: 
777         * scm/ps.scm: 
778         * scm/pdftex.scm: 
779         * scm/pdf.scm: 
780         * scm/tex.scm: Add check for Guile-1.4.1.  Guile includes
781         patch-level of version in minor-version string.  Arg.
782
783 2002-05-29  Han-Wen  <hanwen@cs.uu.nl>
784
785         * ly/engraver-init.ly (TabStaffContext): 
786         enable TabStaff by default.
787
788         *  Tablature support by Jean-Baptiste Lamy <jiba@tuxfamily.org>
789
790 2002-05-28  Jan Nieuwenhuizen  <janneke@gnu.org>
791
792         * config.hh.in: Remove duplicate DIR_DATADIR entry.
793
794         * aclocal.m4: Regenerate.
795         
796         * stepmake/aclocal.m4: Append $FULL_VERSION to datadir.
797
798 2002-05-25  Heikki Junes  <heikki.junes@hut.fi>
799
800         * lilypond-mode.el: Added Deutsch notes and fixed "Quick notes".
801
802         * lilypond-mode.el: Write notes with fewer keystrokes trough a 
803         "Quick notes"-interface.
804
805 2002-05-26  Jan Nieuwenhuizen  <janneke@gnu.org>
806
807         * input/regression/non-empty-text.ly: Update example with outdated
808         comment.
809
810 2002-05-25  Han-Wen  <hanwen@cs.uu.nl>
811
812         * scripts/convert-ly.py:  add textNonEmpty rule
813
814         * lily/text-engraver.cc (create_grobs): remove textNonEmpty
815
816 2002-05-24  Jan Nieuwenhuizen  <janneke@gnu.org>
817
818         * lily/text-item.cc (markup_text2molecule): Junk ugly lookahead by
819         using translate-robust add_molecule instead of add_at_edge.
820         Bugfix for #(lines (finger "" "1")).
821
822 2002-05-24  Han-Wen  <hanwen@cs.uu.nl>
823
824         * lily/stem-tremolo.cc (brew_molecule): clean up and fix stem
825         tremolo placement.
826
827 2002-05-22  Han-Wen  <hanwen@cs.uu.nl>
828
829         * VERSION: 1.5.58
830         
831         * Documentation/user/refman.itely: Bugfix: add node Repeats and
832         MIDI.  Regenerate menu.  Fix @end example.
833
834         * lily/accidental.cc: Add cautionary-style to interface.
835
836         * mf/feta-beugel.mf (code): use autometric macros for braces.
837         This fixes input/bugs/braces.
838
839         * lily/afm.cc (count): return numOfChars, not size of array
840         (always equals 256.)
841
842         * lily/script.cc (before_line_breaking): postpone setting the
843         X-parent of vertical scripts. This fixes the case of scripts on
844         chords with seconds 
845
846 2002-05-21  Han-Wen  <hanwen@cs.uu.nl>
847
848         * scm/grob-description.scm:  fix alignment of barnumber: make sure
849         it doesn't hit the G-clef. 
850
851         * input/mozart-hrn3-defs.ly (startGraceMusic): typo (it's
852         startGraceMusic not startGraceContext).
853
854 2002-05-20  Jan Nieuwenhuizen  <janneke@gnu.org>
855
856         * stepmake/autogen.sh: Check for autoconf2.13, and abort if not
857         found.
858
859 2002-05-20  Han-Wen  <hanwen@cs.uu.nl>
860
861         * lily/accidental-engraver.cc: remove old accidental engraver,
862         move new one to accidental-engraver.cc.
863
864         * lily/local-key-item.cc: remove file
865
866         * lily/include/local-key-item.hh: remove file
867
868         * scripts/ly2dvi.py (make_preview): add --preview-resolution
869         option.
870
871         * lily/accidental.cc (brew_molecule): support for cautionary
872         accidentals. 
873
874         * lily/note-head.cc (internal_brew_molecule): warn if note head
875         not found.
876
877         * lily/time-signature.cc (special_time_signature): remove warning
878         about time signature. 
879
880         * lily/spacing-spanner.cc (musical_column_spacing): Prevent
881         reverse springs by limiting fixed-note space.
882
883 2002-05-19  Jan Nieuwenhuizen  <janneke@gnu.org>
884
885         * stepmake/aclocal.m4: Bugfix: complain if program not found.
886
887         * scripts/update-lily.py (next_version, prev_version, diff_name):
888         New function.  Patches now named name-prev-latest.diff.gz.
889         Bugfix: import shutil.
890
891 2002-05-19  Han-Wen  <hanwen@cs.uu.nl>
892
893         * input/tutorial/sammartini.ly: fix and document autochange
894         weirdness.
895
896         * scm/pdftex.scm: resurrect PDFTeX output. Still doesn't work, but
897         does produce .pdftex files.
898
899         * lily/note-collision.cc (check_meshing_chords): move file from
900         collision.cc, implement merged note heads (there you go, Drarn :-)
901
902         * input/regression/collision-heads.ly: new file
903
904         * VERSION: 1.5.57 released.
905
906 2002-05-18  Juergen Reuter  <reuter@ipd.uka.de>
907
908         * mf/parmesan-heads.mf, scm/grob-description.scm,
909         scm/grob-property-description.scm, scm/interface-description,
910         lily/include/my-lily-parser.hh, lily/include/ligature-head.hh,
911         lily/include/mensural-ligature.hh, lily/include/lily-proto.hh,
912         lily/include/ligature-engraver.hh,
913         lily/include/ligature-bracket.hh, lily/parser.yy,
914         lily/ligature-bracket-engraver.cc, lily/mensural-ligature.cc,
915         lily/mensural-ligature-engraver.cc, lily/note-heads-engraver.cc,
916         lily/ligature-head.cc, lily/ligature-engraver.cc,
917         lily/ligature-bracket.cc, input/test/mensural-ligatures.ly:
918         implemented white mensural ligatures (still with a big list of
919         TODOs)
920
921
922 2002-05-19  Han-Wen  <hanwen@cs.uu.nl>
923
924         * lily/*.cc: use LY_DEFINE everywhere. Move doc strings from
925         Documentation/user/internals.itely.
926
927         * lily/function-documentation.cc: new file. Infrastructure for
928         self documenting Scheme functions.
929
930 2002-05-18  Han-Wen  <hanwen@cs.uu.nl>
931
932         * lily/stem.cc (calc_stem_info): bugfix for less ugly knees.
933
934 2002-05-17  Han-Wen  <hanwen@cs.uu.nl>
935
936         * scripts/lilypond-book.py (re_dict): fix regexps; don't combine ?
937         and * (as in "([^>]*)?")
938
939 2002-05-17  Jan Nieuwenhuizen  <janneke@gnu.org>
940
941         * Documentation/topdocs/INSTALL.texi: Update GCC, Flex and GUILE info.
942         Add info about CVS.  Stable/development are currently 1.4/1.5,
943         both at lilypond.org.
944
945         * autogen.sh: Generate.
946
947         * stepmake/configure:
948         * configure: Regenerate.
949         
950         * stepmake/stepmake/automatically-generated.sub.make: Keep
951         original first line.
952
953         * stepmake/stepmake/toplevel-targets.make (autogen.sh): Add rule.
954
955         * stepmake/stepmake/generic-targets.make (configure): Generate
956         using autogen.sh.
957
958         * GNUmakefile.in (SCRIPTS):
959         * stepmake/GNUmakefile.in (SCRIPTS): Add autogen.sh
960
961         * stepmake/autogen.sh: New file.
962
963         * configure: Check for g++ >= 2.95.
964
965         * stepmake/aclocal.m4: Fixes for FlexLexer.h, Python headers.  GNU
966         c/c++ version checking.
967
968         * flower/include/string.hh: Typo fix.
969
970         * lily/include/midi-item.hh: Remove stray i.
971
972         * Documentation/windows/GNUmakefile: Avoid collapsed directory
973         constructs '//'.
974         
975         * stepmake/bin/install-dot-exe.sh: Filter collapsed directory
976         constructs '//' from arguments.
977
978 2002-05-17  Han-Wen  <hanwen@cs.uu.nl>
979
980         * scm/lily.scm (ly-load): show SCM filenames if verbose.
981
982         * lily/lily-guile.cc (init_functions): add ly-verbose function.
983
984         * lily/main.cc (setup_paths): remove LILYINCLUDE support. 
985
986         * flower/include/{pointer,tuple}*: removed.
987
988         * VERSION: released 1.5.56
989         
990         * scm/music-functions.scm (check-start-chords): function to check
991         for chords without \context. Apply automatically from parser.
992
993 2002-05-16  Han-Wen  <hanwen@cs.uu.nl>
994
995         * lily/bar-line.cc: remove index entries. Texinfo can't handle  :
996         in index entries.
997
998         * scm/output-lib.scm: fix ez notation stems. 
999
1000         * lily/paper-outputter.cc: various fixes to speed up compilation.
1001
1002 2002-05-16  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
1003
1004         * scripts/lilypond-book.py: Don't import pre for Python >= 2.2
1005
1006 2002-05-16  Jan Nieuwenhuizen  <janneke@gnu.org>
1007
1008         * scripts/lilypond-book.py (determine_format): Bugfix: correctly
1009         determine latex input.
1010
1011         * stepmake/bin/install-sh: Include latest from libtool.
1012
1013         * stepmake/configure: 
1014         * configure: Regenerate.
1015
1016         * config.make.in: Remove dead variables.  Add OPTIONAL/REQUIRED lists.
1017         (USER_CFLAGS): Bugfix, include CPPFLAGS.
1018
1019         * configure.in: Use new OPTIONAL/REQUIRED mechanism.
1020
1021         * stepmake/aclocal.m4: Add mechanism for checking OPTIONAL or
1022         REQUIRED programs and version.  Try to continue configuring, list
1023         missing programs at the end, but don't generate a GNUmakefile if
1024         REQUIRED programs are missing.  Cleanups, junk obsolete stuff.
1025         Fix Cygwin detection, drop '32' suffix.  Hoping this is not too
1026         fancy for some older systems.
1027
1028 2002-05-16  Han-Wen  <hanwen@cs.uu.nl>
1029
1030         * lily/score-engraver.cc (typeset_all): sanity check for items
1031         that are Y parent to spanner. 
1032
1033         * lily/piano-pedal-engraver.cc (create_bracket_grobs): fix broken
1034         pedal spanners.
1035
1036 2002-05-15  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
1037
1038         * lily/*.cc: remove as many iostream use as possible. 
1039
1040         * flower/ : remove text-db, text-stream, data-file.
1041         
1042 2002-05-15  Han-Wen  <hanwen@cs.uu.nl>
1043
1044         * scripts/lilypond-book.py: add --no-music option: strip all blocks.
1045         (completize_preamble): don't barf if no preamble present.
1046         (do_file): allow extensions on --output
1047
1048         * scripts/ly2dvi.py (make_preview): make automatic preview of
1049         first system. Small cleanups.
1050
1051 2002-05-13  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
1052
1053         * scripts/lilypond-book.py (make_pixmap): output png directly.
1054
1055         * mf/GNUmakefile (INSTALLATION_OUT_FILES4): create and install
1056         fonts.dir file.
1057
1058         * lily/parser.yy (My_lily_parser): comment out code. (Causes
1059         problems  with recent bison releases).
1060
1061         * make/lilypond.redhat.spec.in: add pfa fonts to X. 
1062
1063 2002-05-07  Heikki Junes <hjunes@cc.hut.fi>
1064
1065         * lilypond-font-lock.el: Fixes the order of the note name list.
1066
1067 2002-05-06  Jan Nieuwenhuizen  <janneke@gnu.org>
1068
1069         * scripts/lilypond-book.py: Add html/dtml output, pseudo-filter
1070         capability, --verbose option, rlimit hack.
1071
1072 2002-05-05  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
1073
1074         * lily/piano-pedal-engraver.cc: cleanups.
1075
1076         * lily/accidental.cc (after_line_breaking): add break tie
1077         reminders.
1078
1079         * lily/text-engraver.cc (try_music): don't typeset fingerings
1080
1081 2002-05-05  Heikki Junes <hjunes@cc.hut.fi>
1082
1083         * lilypond-font-lock.el: Handle \breve as a note (rest) duration.
1084
1085 2002-05-04  Han-Wen  <hanwen@cs.uu.nl>
1086
1087         * lily/*.cc: change gh_str02scm() to ly_str02scm().
1088
1089         * lily/spacing-spanner.cc (note_spacing): Bound
1090         shortest-playing-length by the distance to next note. This should
1091         fix chord tremolo spacing.
1092
1093         * VERSION: 1.5.55 released
1094
1095         * lily/stem.cc (off_callback): invisible stem over whole note is
1096         centered on note now.
1097
1098         * lily/stem-engraver.cc (acknowledge_grob): X_AXIS Parent of
1099         stem-tremolo is stem now.
1100
1101         * input/mozart-hrn*.ly: many corrections. 
1102
1103         * lily/dynamic-engraver.cc (acknowledge_grob): add Scripts  to
1104         support for dynamic scripts.
1105
1106         * lily/accidental-placement.cc (position_accidentals): check for
1107         collisions as well: should avoid those heads too.
1108
1109         * lily/beam.cc (check_concave): allow undefined gap and
1110         threshold. Change the meaning of threshold/gap == 0.0.
1111         (check_concave): skip Stolba concaveness check if we have a knee
1112         on outer stems.
1113
1114 2002-05-03  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
1115
1116         * lily/chord-tremolo-engraver.cc (try_music): Handle chord
1117         tremolos of dotted duration.
1118
1119 2002-05-03  Han-Wen  <hanwen@cs.uu.nl>
1120
1121         * mf/feta-klef.mf: more twiddling with G clef. Almost straight
1122         downstroke again. Sigh.
1123
1124         * lily/dynamic-engraver.cc (acknowledge_grob): center dynamic
1125         script on note head.
1126
1127 2002-05-02  Han-Wen  <hanwen@cs.uu.nl>
1128
1129         * lily/slur.cc (add_column): allow slur over rest. 
1130
1131 2002-04-27  Han-Wen  <hanwen@cs.uu.nl>
1132
1133         * lily/beam.cc: move scoring constants out of code
1134
1135 2002-04-25  Han-Wen  <hanwen@cs.uu.nl>
1136
1137         * mf/feta-nummer.mf: scalability fixes.
1138
1139         * mf/feta-nummer-code.mf: fixes for 5, 8. 
1140
1141         * mf/feta-klef.mf: G clef fixes.
1142
1143 2002-04-25  Jan Nieuwenhuizen  <janneke@gnu.org>
1144
1145         * scripts/ly2dvi.py: Mats' fix.  Try to import pre if available.
1146
1147         * scripts/lilypond-book.py: %Newline, rather than glue macros
1148         after \end{verbatim}.
1149
1150 2002-04-24  Jan Nieuwenhuizen  <janneke@gnu.org>
1151
1152         * Documentation/user/lilypond-book.itely: 
1153         * scripts/lilypond-book.py: Add options [no]indent, linewidth and
1154         noinline.
1155
1156         * input/mozart-hrn3-defs.ly (startGraceContext): Customize grace init.
1157
1158         * scm/grob-property-description.scm (beam-space): Junk.
1159
1160         * lily/beam.cc (space_function): New method.
1161         (get_interbeam): Call space-function.
1162
1163         * scm/grob-description.scm (Beam): Initialize space-function with
1164         Beam::space_function.
1165
1166         * ly/grace-init.ly (startGraceMusic, stopGraceMusic): Set/revert
1167         Beam.space-function.  Don't quantise grace beams.
1168
1169 2002-04-23  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
1170
1171         * VERSION: 1.5.54 released
1172
1173         * mf/feta-nummer-code.mf (code): tweaks for three, fixes for 6
1174         bulb. 
1175
1176         * Documentation/index.texi: add PDF links.
1177
1178         * Documentation/user/GNUmakefile (PDF_FILES): add PDF files to website.
1179
1180         * lily/system-start-delimiter-engraver.cc (acknowledge_grob):
1181         compare #'glyph as strings. 
1182
1183         * scripts/lilypond-book.py: fix by Mats. Try to import pre if available.
1184
1185         * scripts/ly2dvi.py (setup_environment): fix by Mats.
1186
1187         * lily/stem.cc (head_count): Change function name. Change property
1188         to #'note-heads i.s.o.  #'heads.
1189         (position_noteheads): Kern noteheads for invisible stems.
1190         (before_line_breaking): Do position_noteheads() for whole note
1191         heads too.
1192
1193         * lily/accidental-placement.cc (position_accidentals): First
1194         determine refpoints, only then determine extents.  
1195
1196 2002-04-22  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
1197
1198         * lily/accidental-placement.cc (position_accidentals): use all
1199         note heads for note head-skyline. 
1200
1201         * scripts/lilypond-book.py (re_dict): remove all *? regexps.
1202
1203 2002-04-22  Jan Nieuwenhuizen  <janneke@gnu.org>
1204
1205         * Documentation/windows/setup.hint (requires): Add gsview dependency.
1206
1207         * scripts/lilypond-book.py (re_dict): Fix for python 2.x.
1208
1209         * lilypond-mode.el (LilyPond-xdvi-command): Default to plain xdvi.
1210
1211         * input/mozart-hrn3-allegro.ly: Bugfix: include defs.
1212
1213 2002-04-22  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
1214
1215         * mf/feta-schrift.mf: lighter staccato.
1216
1217 2002-04-22  Han-Wen  <hanwen@cs.uu.nl>
1218
1219         * mf/feta-nummer-code.mf (code): fixes for 3 glyph.
1220
1221 2002-04-21  Han-Wen  <hanwen@cs.uu.nl>
1222
1223         * VERSION: 1.5.53 released
1224
1225         * scm/lily.scm (ly-load): use primitive-load for loading.
1226
1227         * lily/misc.cc: remove quantise_iv()
1228
1229         * lily/*.cc: pass read-only arrays by reference.
1230         
1231         * lily/grob.cc (common_refpoint_of_array): new function. Try to
1232         use common_refpoint_of_{array, list} when possible.
1233
1234         * lily/include/accidental-placement.hh: new file.
1235
1236         * lily/accidental-placement.cc (alignment_callback): position
1237         accidentals in a better way.
1238
1239         * lily/skyline.cc: new file. Compute distances for collections of
1240         boxes.
1241
1242         * lily/include/skyline.hh: new file
1243
1244 2002-04-20  Han-Wen  <hanwen@cs.uu.nl>
1245
1246         * lily/accidental.cc (class Accidental_interface): grob for a
1247         single accidental.
1248
1249         * lily/accidental-engraver.cc (number_accidentals): Cleanups. Lots
1250         of reformatting
1251
1252         * lily/new-accidental-engraver.cc (acknowledge_grob): Work
1253         together with new accidental-interface. 
1254
1255         * lily/include/*.hh: remove spurious set_interface() decls.
1256
1257         * lily/key-signature-interface.cc (brew_molecule): add padding for
1258         natural signs. Make natural typesetting like the sharp.
1259         
1260
1261         * mf/feta-klef.mf: rewrote portion of the G-clef code. Downstroke
1262         is now slightly curved, not straight.
1263         
1264
1265 2002-04-18  Heikki Junes <hjunes@cc.hut.fi>
1266
1267         * lilypond-mode.el: Toggles font-lock-multiline (Emacs 21.1 or newer).
1268
1269         * lilypond-font-lock.el: Handles multiline-strings. Fontifies notes 
1270         more strictly. Use more clever regular expressions. Commented regexps.
1271
1272 2002-04-16  Heikki Junes <hjunes@cc.hut.fi>
1273
1274         * lilypond-mode.el: "C-c f" does font-lock-fontify-buffer.
1275
1276 2002-04-15  Juergen Reuter  <reuter@ipd.uka.de>
1277
1278         * scm/grob-description.scm, lily/staff-symbol.cc: added properties
1279         to control width of staff symbol in ragged-right mode (by request
1280         of Han-Wen)
1281
1282         * ly/engraver-init.ly, lily/include/my-lily-parser.hh,
1283         lily/include/ligature-bracket.hh, lily/lexer.ll, lily/parser.yy,
1284         lily/ligature-bracket.cc, lily/ligature-bracket-engraver.cc:
1285         added support for ligature brackets (needed when transcribing
1286         mensural music)
1287
1288 2002-04-15  Heikki Junes <hjunes@cc.hut.fi>
1289
1290         * lilypond-font-lock.el: Handle scheme-slurs up to seventh level.
1291         Fontify notes more strictly.
1292
1293 2002-04-15  Han-Wen  <hanwen@cs.uu.nl>
1294
1295         * mf/feta-din-code.mf: dynamic z sign.
1296
1297 2002-04-13  Heikki Junes <hjunes@cc.hut.fi>
1298
1299         * lilypond-mode.el: Prevent recoloring strings and comments.
1300
1301         * lilypond-font-lock.el: Handle block comments: block comments
1302         can have also ordinary comments inside.
1303         
1304 2002-04-13  Han-Wen  <hanwen@cs.uu.nl>
1305
1306         * lily/stem.cc (get_default_dir): set direction to CENTER if
1307         invisible. Various other fixes to deal with invisible stems and
1308         stem-direction == CENTER.
1309
1310         * lily/rest-collision.cc (do_shift): take direction from note if
1311         not set.
1312
1313         * input/regression/tie-grace.ly: new file.
1314
1315         * lily/tie-engraver.cc (create_grobs): fix tied graces.
1316
1317         * lily/note-spacing.cc (stem_dir_correction): set fixed space for
1318         knee correction. Fixes tight spacing for knees.
1319
1320 2002-04-12  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
1321
1322         * VERSION: 1.5.52 released
1323         
1324         * lily/*.cc: add some undocced properties.
1325         scm/grob-description.scm: idem.
1326
1327 2002-04-12  Heikki Junes <hjunes@cc.hut.fi>
1328
1329         * lilypond-font-lock.el: Handle slurs \( and \), numbers,
1330         multi-measure rests like "R1 *4" and scheme (typically has '#' 
1331         in the beginning). Small fixes. Add few reserved words.
1332
1333 2002-04-12  Jan Nieuwenhuizen  <janneke@gnu.org>
1334
1335         * Documentation/topdocs/INSTALL.texi: Updates for MacOS X and
1336         emacs mode.
1337
1338         * Documentation/windows/installing.texi: Suggest gswin32c (console
1339         program) for getting the version.  Layout fixes.
1340
1341 2002-04-11  Jan Nieuwenhuizen  <janneke@gnu.org>
1342
1343         * Documentation/user/tutorial.itely (Running LilyPond):  Separate
1344         windows viewing commands, remove silly comment about Yap.
1345
1346 2002-04-10  Mats Bengtsson  <matsb@s3.kth.se>
1347         
1348         * Documentation/topdocs/INSTALL.texi: Describe how to learn
1349         configure to find kpathsea on for example Slackware 8.0.
1350
1351         * scripts/ly2dvi.py (non_path_environment): Set $TEXMF correctly.
1352
1353         * scm/grob-description.scm (MultiMeasureRest): number-threshold=1
1354         by default: avoid "1" over single bar rests.
1355
1356         * scripts/lilypond-book.py (LatexPaper.set_geo_option): Simplify
1357         and correct the handling of geometry options.
1358
1359 2002-04-10  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
1360
1361         * lily/include/grob-interface.hh (ADD_INTERFACE): make
1362         implementation for Class::has_interface automatically. Junk all
1363         other implementations.
1364
1365         * lily/grob.cc (internal_get_grob_property): also typecheck
1366         property reads. Catches even more undocced properties. Bugfixing
1367         left for the uninspired masses.
1368
1369         * lily/beam.cc: remove end_after_line_breaking().
1370
1371         * lily/grob.cc (calculate_dependencies): remove list support for
1372         callbacks.
1373
1374         * lily/font-size-engraver.cc: only do font-interface.
1375
1376 2002-04-10  Heikki Junes <hjunes@cc.hut.fi>
1377
1378         * lilypond-font-lock.el: Handle notes with cautionary accidentals.
1379           Add few keywords.
1380
1381 2002-04-09 Chris Jackson <chris@fluffhouse.org.uk>
1382
1383         * lily/arpeggio.cc: New function brew_chord_bracket to draw chord
1384         brackets using arpeggio requests.
1385         
1386         * ly/property-init.ly: Shorthand \arpeggioBracket defined as the
1387         molecule-callback to use for drawing the brackets.
1388
1389         * Documentation/user/refman.itely: 
1390         * input/test/chord-bracket.ly: Chord brackets documented
1391         
1392 2002-04-10  Han-Wen  <hanwen@cs.uu.nl>
1393
1394         * mf/feta-din-code.mf: tweaks for p, s. New dynamic r sign. 
1395
1396         * mf/feta-eindelijk.mf: tweak for eighth rest: move bulb up.
1397
1398 2002-04-09  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
1399
1400         * lily/tuplet-bracket.cc (after_line_breaking): bugfix for forced
1401         direction tuplets on beams.
1402
1403 2002-04-08  Chris Jackson <chris@fluffhouse.org.uk>
1404
1405         * lilypond-indent.el: Bugfix of indentation of final point in buffer
1406
1407 2002-04-09  Heikki Junes <hjunes@cc.hut.fi>
1408
1409         * lilypond-mode.el: new command: LilyPond-un-comment-region.
1410         Added 2Midi to "Command"-menu. Inspired by latex.el and tex.el: 
1411         separate "Command"-menu and "LilyPond"-menu. Added "Miscellanous"-
1412         submenu to "LilyPond"-menu.
1413
1414         * lilypond-mode.el: Added "Midi all" to "Command"-menu, i.e.,
1415         an interface to play midi.
1416
1417 2002-04-08  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
1418
1419         * input/regression/script-stack-order.ly: new file.
1420
1421 2002-04-08  Han-Wen  <hanwen@cs.uu.nl>
1422
1423         * VERSION (MY_PATCH_LEVEL): Release 1.5.51.
1424
1425         * mf/feta-din-code.mf: kerning for dynamics.
1426
1427 2002-04-07  Han-Wen  <hanwen@cs.uu.nl>
1428
1429         * input/regression/dynamics-glyphs.ly: new file
1430
1431         * mf/feta-din-code.mf: dynamic tweaks. New dynamic s.
1432
1433         * mf/feta-nummer-code.mf: another bulb routine: mimic the bulb of
1434         forte f for the 2 number. Some fixes for the other bulbed glyphs.
1435
1436         * Documentation/windows/gs-profile.sh:
1437         * Documentation/windows/gsview-profile.sh: Remove.  Functionality
1438         moved to gs/gsview windows packages.
1439
1440 2002-04-06  Mats Bengtsson  <matsb@s3.kth.se>
1441
1442         * lily/stem-engraver.cc (acknowledge_grob): Revert to old way of
1443         finding out the duration. Fixes chord tremolo bug. 
1444
1445         * lily/completion-note-heads-engraver.cc (process_music): Set
1446         correct duration for all requests of the broken notes.
1447
1448         * input/regression/completion-heads.ly: Added example of
1449         Completion_heads_engraver.
1450
1451         * lilypond-mode.el: Added "2Midi" command
1452
1453 2002-04-06  Chris Jackson <chris@fluffhouse.org.uk>
1454
1455         * lily/tuplet-bracket.cc, scm/grob-description.scm: New
1456         edge-width, edge-height and shorten-pair properties for tuplet
1457         brackets.
1458
1459         * lilypond-indent.el: Support for blinking of matching parentheses
1460         
1461         * lilypond-font-lock.el: Fix fontification of closing > on its own line
1462         
1463         * lily/piano-pedal-engraver.cc, lily/text-spanner.cc: Fixes and
1464         cleanups of piano pedal brackets.
1465
1466 2002-04-05  Han-Wen  <hanwen@cs.uu.nl>
1467
1468         * mf/cmbase.mf: remove file. -- do without s, r and z signs for now.
1469
1470 2002-04-04  Han-Wen  <hanwen@cs.uu.nl>
1471
1472         * mf/feta-new-code.mf:  new dynamic f sign.
1473         new dynamic m sign.
1474
1475 2002-04-03  Han-Wen  <hanwen@cs.uu.nl>
1476
1477         * mf/feta-new-code.mf: new dynamic p sign.
1478
1479 2002-04-02  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
1480
1481         * lily/note-spacing.cc (stem_dir_correction): only do
1482         beam-correction if a beam is there. 
1483
1484         * lily/stem.cc (duration_log): change from flag_i (); better
1485         naming.
1486         (get_default_stem_end_position): fix dot/flag collision code.
1487
1488 2002-04-02  Han-Wen  <hanwen@cs.uu.nl>
1489
1490         * VERSION: release 1.5.50
1491
1492         * lily/spaceable-grob.cc (add_spring): change incorrect spring to
1493         unit spring here. Reduces number of warning messages.
1494
1495         * lily/auto-beam-engraver.cc: change noAutoBeaming to autoBeaming.
1496
1497 2002-04-01  Han-Wen  <hanwen@cs.uu.nl>
1498
1499         * scm/generic-property.scm: remove generic-property, property-engraver
1500
1501         * lily/volta-bracket.cc (brew_molecule): use Lookup::line() for bracket
1502
1503         * lily/hairpin.cc (brew_molecule): use Lookup::line() for hairpins.
1504
1505         * ps/music-drawing-routines.ps: remove volta, tuplet, hairpin routines.
1506
1507         * scm/*.scm: remove volta, hairpin and tuplet functions.
1508
1509         * lily/rhythmic-column-engraver.cc (acknowledge_grob): don't make
1510         note column for notes/stems/dots that already have parents. Fixes
1511         nested grace contexts.
1512
1513 2002-04-01  Jan Nieuwenhuizen  <janneke@gnu.org>
1514
1515         * input/mozart-hrn-3.ly: Tweak Slur.beautiful, so that we don't
1516         get too curved slurs.
1517
1518         * scm/slur.scm (default-slur-extremity-offset-alist) 
1519         (default-phrasing-slur-extremity-offset-alist): Move slur
1520         attachments further away from note-head, vertically.  Also, leave
1521         a horizontal gap between slur and stem end.
1522
1523         * lily/beam.cc (get_interbeam): Bugfix: don't look in empty list.
1524
1525 2002-04-01  Han-Wen  <hanwen@cs.uu.nl>
1526
1527         * input/regression/spacing-grace-duration.ly: new file
1528
1529         * lily/spacing-engraver.cc (acknowledge_grob): ignore grace notes
1530         for shortest durations.
1531
1532         * lily/multi-measure-rest.cc (set_spacing_rods): tune rods to the
1533         extent of the mm rest. 
1534
1535         * lily/spacing-spanner.cc (get_duration_space): better spacing for
1536         really short notes.
1537
1538         * lily/tuplet-bracket.cc (make_bracket): new function
1539         (get_x_offset): new function; make tuplet brackets align on stems
1540         if stem has same direction.
1541         (parallel_beam): be anal about matching bracket to tuplet.
1542
1543         * lily/lookup.cc (line): new function Lookup::line(). 
1544
1545         * scm/tex.scm (dashed-line): change -line to -system in names.
1546
1547         * lily/box.cc (add_point): new function.
1548
1549         * flower/include/interval.hh: new function add_point ().
1550         new function widen()
1551         
1552 2002-04-01  Jan Nieuwenhuizen  <janneke@gnu.org>
1553
1554         * input/mozart-hrn-3.ly: Mimic Breitkopf fonts and padding.
1555
1556         * scm/grob-property-description.scm (number-threshold): Add
1557         description.
1558
1559         * lily/multi-measure-rest.cc (brew_molecule): Only put number over
1560         rest if #measures > number-threshold.  Use padding (well, fake
1561         using it, anyway).
1562
1563         * scm/font.scm (make-style-sheet): New styles: mark-number,
1564         mark-letter.
1565         (paper20-style-sheet-alist): Add bigger bold fonts.
1566
1567         * lily/mark-engraver.cc (process_music): Use style mark-number or
1568         mark-letter.
1569
1570         * .cvsignore: Ignore all kinds of lilypond input and output.
1571
1572         * lily/beam.cc (ADD_INTERFACE): Add concaveness-gap.
1573
1574 2002-04-01  Han-Wen  <hanwen@cs.uu.nl>
1575
1576         * lily/staff-symbol.cc (brew_molecule): make line thickness
1577         adjustable.
1578
1579         * lily/*.cc: replace stafflinethickness by linethickness.
1580
1581 2002-04-01  Jan Nieuwenhuizen  <janneke@gnu.org>
1582
1583         * input/regression/beam-concave.ly: Add to-be-considered-concave
1584         beam.
1585
1586         * lily/beam.cc (check_concave): Add check for large gap between an
1587         inner notehead and the line through outer noteheads.
1588
1589         * scm/grob-description.scm (Beam): Add concaveness-gap, default
1590         value 2.0 staff-space.
1591         
1592         * scm/grob-property-description.scm (concaveness-gap): Add
1593         description.
1594
1595         * input/mozart-hrn3-allegro.ly: Fix typo.
1596
1597 2002-03-31  Juergen Reuter  <reuter@ipd.uka.de>
1598
1599         * scm/ps.scm, ps/music-drawing-routines.ps, lily/lookup.cc,
1600         lily/note-head-engraver: improved implementation of roundfilledbox
1601         (according to Han-Wen's request)
1602
1603         * lily/include/spacing-spanner.hh, lily/spacing-spanner.cc,
1604         lily/gourlay-breaking.cc, lily/staff-symbol.cc,
1605         lily/simple-spacer.cc: ragged-right alignment
1606
1607 2002-03-29  Han-Wen  <hanwen@cs.uu.nl>
1608
1609         * input/regression/spacing-note-flags.ly: new file
1610
1611         * input/regression/spacing-rest.ly: new file
1612
1613         * mf/feta-eindelijk.mf: make bbox of quarter rest tighter.
1614
1615         * lily/spacing-spanner.cc (note_spacing): make note spacing after
1616         all grace notes tight (not only the column directly following a
1617         grace note).
1618
1619         * scm/grob-description.scm (all-grob-descriptions): don't make
1620         mm-rests larger than normal.
1621
1622         * mf/feta-banier.mf: make upflag narrower. Make end of flag more
1623         curved. Remove white space at the right of flags.
1624
1625 2002-03-28  Jan Nieuwenhuizen  <janneke@gnu.org>
1626
1627         * ports/ports.make: Bugfix: ignore CVS directories.
1628
1629         * stepmake/.cvsignore: New file.
1630
1631 2002-03-28  Han-Wen  <hanwen@cs.uu.nl>
1632
1633         * lily/note-spacing.cc (stem_dir_correction): don't correct when
1634         there is a flag on the stem.
1635
1636         * lily/multi-measure-rest.cc (brew_molecule): variable width molecule.
1637
1638         * scm/grob-property-description.scm (measure-length):
1639         measure-length grob property.
1640
1641         * lily/spacing-spanner.cc (standard_breakable_column_spacing):
1642         better spacing for breakable columns when they're juxtaposed: use
1643         measure length if applicable
1644
1645         * lily/timing-engraver.cc (start_translation_timestep): store
1646         measure length in breakable column at start of measure.
1647
1648 2002-03-28  Jan Nieuwenhuizen  <janneke@gnu.org>
1649
1650         * ROADMAP: Add description for ports dir, to check email upon
1651         commit.
1652
1653 2002-03-27  Han-Wen  <hanwen@cs.uu.nl>
1654
1655         * VERSION: 1.5.48 released
1656         
1657         * lily/multi-measure-rest.cc (symbol_molecule): split off from
1658         brew_molecule()
1659         (set_spacing_rods): Use symbol_molecule() to determine minimum
1660         width
1661         (church_rest): split off from brew_molecule()
1662         (big_rest): split off from brew_molecule(). Construct using
1663         variable shape.
1664         
1665         * mf/feta-eindelijk.mf: junk multi measure rest.
1666
1667 2002-03-26  Han-Wen  <hanwen@cs.uu.nl>
1668
1669         * lily/multi-measure-rest.cc (add_column): remove columns property.
1670
1671         * lily/dynamic-engraver.cc (process_music): add more verbose warning
1672
1673         * input/mozart-hrn3-romanze.ly (romanze): add mozart horn concerto
1674         3 as test piece.
1675
1676 2002-03-26  Heikki Junes <hjunes@cc.hut.fi>
1677
1678         * lilypond-font-lock.el (LilyPond-font-lock-keywords): most new
1679         keywords covered, dropped some non-keywords, include R- and 128-notes
1680
1681 2002-03-25 Juergen Reuter <reuter@ipd.uka.de>
1682
1683         * Code clean-up: Junk multiple implementations of ledger line
1684         creation in note_head, custos, and porrectus.  This is important
1685         since there soon will be some more applications of ledger lines to
1686         come (e.g. ambitus engraver).
1687
1688         * Make thickness of ledger lines adjustable.  This is essential
1689         for mensural notation.
1690
1691         * Fix some bugs in the current ledger_line implementation, most
1692         notably that of the horizontal extent of ledger lines which equals
1693         at least the extent of the metafont ledger_line character, and
1694         which grows(!) if the desired extent shrinks below this limit.
1695
1696         * roundfilledbox: variable blotdiameter
1697
1698 2002-03-24  Han-Wen  <hanwen@cs.uu.nl>
1699
1700         * VERSION: 1.5.47 released
1701
1702         * lily/line-spanner.cc (line_atom): change line-thickness to thickness
1703
1704         * lily/porrectus.cc:  change line-thickness to thickness, change
1705         stem-direction to direction.
1706
1707         * scm/backend-documentation-lib.scm (check-dangling-properties):
1708         Automatically detect doc'ed properties that are not in an interface
1709
1710         * scm/grob-property-description.scm: property cleanup. Remove many
1711         paper-column props that are non-existent.
1712
1713         * lily/grob.cc (Grob): only use molecule_extent_proc as default if
1714         the grob has a molecule-callback.
1715
1716         * lily/*.cc: remove many set_interface() calls, and their
1717         implementations.
1718
1719         * input/regression/spacing-knee.ly: new file
1720
1721         * input/regression/spacing-clef-first-note.ly: new file
1722
1723         * lily/staff-spacing.cc (get_spacing_params): different spacing
1724         for pref matter to note at start of line, halfway during line.
1725
1726         * lily/note-spacing.cc (stem_dir_correction): apply 2nd stem direction
1727         correction only if stems have same direction (i.e. not for
1728         stem-clef combination).
1729         (stem_dir_correction): maximal correction for knees.
1730
1731         * lily/*.cc: many updates to interface descriptions.
1732         
1733         * lily/grob.cc (internal_set_grob_property): add interface check
1734         for every set_grob_property call
1735
1736         * lily/*.cc: document interface stuff in C++
1737         
1738         * lily/grob-interface.cc: new file. Add grob interfaces from C++. 
1739
1740         * lily/volta-bracket.cc: naming: change volta spanner to
1741         volta-bracket.
1742
1743         * input/bugs/*.ly: cleanup, remove lots of files.
1744         
1745         * buildscripts/mf-to-table.py (write_ps_encoding): generate
1746         .encoding file. WARNING: upgrade to pktrace 1.0.3
1747
1748         * mf/feta-toevallig.mf: change PS name for parentheses.
1749
1750 2002-03-23  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
1751
1752        * scripts/ly2dvi.py (ly_paper_to_latexpaper): Use the correct unit
1753        also for textheight
1754
1755 2002-03-23  Han-Wen  <hanwen@cs.uu.nl>
1756
1757         * lily/scope.cc: remove file .
1758
1759         * lily/include/scope.hh: remove file. Remove Scope class
1760
1761         * VERSION: 1.5.46
1762
1763         * lily/beam.cc (score_slopes_dy, score_stem_lengths,
1764         score_forbidden_quants): ): take out of SCM, pass parameters so
1765         grob props are read only once. (wtk1-fugue2 from 31 sec to 14
1766         secs).
1767         (calc_stem_y): robustness: take care of last_visible_stem == 0.
1768
1769
1770         * lily/lily-guile.cc (ly_unit): return internal unit.
1771
1772         * scm/tex.scm (header-end): insert scaling factor, using ly-unit 
1773
1774         * lily/paper-outputter.cc (output_version): output internal unit
1775         from Paper_outputter
1776
1777         * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
1778
1779 2002-03-22  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
1780
1781        * scripts/ly2dvi.py: clean up old .*pk font caching code.
1782
1783        * scm/ps.scm: Use uppercase postscript font names for the standard
1784        TeX fonts.
1785
1786        * scripts/ly2dvi.py, buildscripts/lilypond-{login,profile}.sh, :
1787        Add all available TeX Type1 fonts, including Feta, to the
1788        Ghostscript font path.
1789
1790        * Documentation/topdocs/INSTALL.texi (Top): Add required pktrace
1791        version (affects the FontName) in lilypond.map.
1792
1793        * mf/GNUmakefile, Documentation/user/appendices.itely: Rename font
1794        documentation file to fetaNNlist.ly to avoid name collisions between
1795        lilypond generated .tex file and font .tex macros file.
1796
1797
1798 2002-03-22  Juergen Reuter <reuter@ipd.uka.de>
1799
1800         * mf/feta-eindelijk.mf, mf/parmesan-rests.mf: added maxima rests;
1801         made mensural longa and (semi-)brevis leaner
1802
1803         * mf/parmesan-clefs.mf, scm/clef.scm: enhanced petrucci c clef
1804
1805         * lily/{{lookup,porrectus}.cc,include/{lookup,porrectus}.hh}: code
1806         clean-up: moved bezier shape and slope from porrectus to lookup
1807
1808         * buildscripts/clean-fonts.sh: added search paths /var/cache/fonts
1809         and /usr/share/texmf/fonts
1810
1811         * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
1812
1813 2002-03-22  Han-Wen  <hanwen@cs.uu.nl>
1814
1815         * lily/text-spanner.cc (brew_molecule): add #'thickness
1816         (brew_molecule): add corrections for thickness in molecule padding.
1817
1818         * lily/line-spanner.cc (line_atom): make function private
1819
1820         * scripts/lilypond-book.py (get_bbox): Use GS -sDEVICE=bbox to
1821         discover bounding box. This solves the cropping problem.
1822
1823         * lily/bar-check-iterator.cc (process): Only resynchronize bar
1824         check when it  fails. This fixes the combination of  grace notes
1825         and bar checks.
1826
1827 2002-03-21  Han-Wen  <hanwen@cs.uu.nl>
1828
1829         * lily/repeated-music.cc (minimum_start): new Scheme callable function
1830         (first_start): new Scheme callable. This will fix repeated music
1831         starting with grace notes.
1832
1833         * lily/music.cc (start_mom): check start-moment-function grob property.
1834
1835         * VERSION: 1.5.45 released
1836
1837         * input/regression/system-extents.ly: new regression test. Test
1838         System extents. 
1839
1840         * lily/system.cc: rename LineOfScore into System 
1841
1842         * lily/molecule.cc (ly_add_molecule): new Scheme ly-add-molecule.
1843
1844         * lily/grob.cc (ly_get_parent): new Scheme function ly-get-parent.
1845         (ly_get_extent): new Scheme function ly-get-extent
1846
1847         * ps/lilyponddefs.ps: use output-scale for  line-x
1848         definition. 
1849
1850         * scm/ps.scm (font-load-command): 
1851         use output-scale
1852
1853 2002-03-20  Rune Zedeler <rune@zedeler.dk>
1854         
1855         * lily/beaming-info.cc: Stupid typo fixed
1856         
1857         * lily/accidental-engraver.cc: rewrote accidental-routines to get
1858         support for cross-context auto-accidentals.
1859         Now the engraver can stay in Staff-context and see other contexts
1860         from there.
1861         Changed properties: autoAccidentals, autoCautionaries
1862
1863         * lily/translator-group.cc (set_children_property):
1864         Function added recursively setting the same property (deep_copied)
1865         for all children of a Translator_group.
1866         
1867         * ly/property-init.ly: added commands
1868         \pianoAccidentals \voiceAccidentals
1869         \modernVoiceAccidentals \modernVoiceCautionaries
1870
1871         * ly/engraver-init.ly: Correct initialization of new accidentals.
1872         
1873         * scm/translator-property-description.scm: Updated
1874         
1875         * input/regression/accidental-voice.ly: Added
1876         
1877         * Documentation/regression-test.tely: Added new test    
1878
1879 2002-03-19  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
1880
1881         * VERSION: 1.5.44 released
1882
1883         * lily/slur.cc (set_extremities): robustness fixes for #'attachment.
1884
1885         * scripts/lilypond-book.py (bounding_box_dimensions): bugfix.
1886
1887         * ly/params-init.ly (blotdiameter): use unit for blotdiameter, set
1888         at 0.4 pt.
1889
1890         * tex/feta*.tex: remove.
1891         
1892         * stepmake/aclocal.m4: remove stepmake symlink. It confuses almost
1893         all software dealing with it.
1894
1895 2002-03-20  Jan Nieuwenhuizen  <janneke@gnu.org>
1896
1897         * mf/GNUmakefile (lilypond.map): Don't prepend TeX to font name
1898         (this fixes pdf output).  Drop awk dependency.
1899
1900         * scripts/ly2dvi.py (ly_paper_to_latexpaper): Assume LilyPond's
1901         dimensions (linewidth) are in mm.
1902
1903         * mf/GNUmakefile (depth): Always allow manual access to pfa target.
1904
1905         * tex/lily-ps-defs.tex: scaletounit using PT/IN==72.
1906
1907         * lily/slur.cc (get_attachment): Bugfix: correct for stem thickness.
1908
1909 2002-03-19  Han-Wen  <hanwen@cs.uu.nl>
1910
1911         * VERSION: 1.5.43 released
1912
1913         * scm/beam.scm (beam-dir-majority-median): if majority is
1914         undecided, use median. Removes a forced dir in sarabande.
1915
1916         * mf/feta-schrift.mf: Trill fixes, Vee fixes (upbow, ltoe, rtoe)
1917
1918 2002-03-18 Chris Jackson <chris@fluffhouse.org.uk>
1919  
1920         * lily/text-spanner.cc, lily/piano-pedal-engraver.cc: Cleanups. Edge
1921         widths, heights and shortens are now customisable properties.
1922  
1923         * scm/grob-description.scm, scm/grob-property-description.scm: New
1924         properties added to PianoPedalBracket, unnecessary
1925         Y-offset-callbacks removed from *Pedal, undocumented properties
1926         fixed.
1927  
1928         * Documentation/user/refman.itely: Piano pedal updates.
1929
1930 2002-03-18  Jan Nieuwenhuizen  <janneke@gnu.org>
1931
1932         * scm/grob-property-description.scm:
1933         * scm/interface-description.scm: Remove old stuff.
1934
1935         * scm/grob-description.scm (StemTremolo): Change beam-thickness to
1936         0.48 (previously 0.42).
1937         (Beam): Remove old stuff.
1938
1939         * lily/stem.cc: 
1940         * lily/stem-tremolo.cc: 
1941         * lily/beam.cc: 
1942         * scm/beam.scm: Remove old stuff.  Use Beam::get_interbeam ()
1943         (previously space-function).
1944
1945         * stepmake/bin/add-html-footer.py: Website title fix.
1946
1947 2002-03-18  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
1948
1949         * scripts/ly2dvi.py (environment): use new font searching setup.
1950
1951         * lily/afm.cc (afm_bbox_to_box): make code dimension independent
1952
1953         * lily/tfm.cc (dimensions): make code dimension independent
1954
1955         * ps/lilyponddefs.ps: add constant for MM and true/ps-point
1956         scaling
1957
1958         * tex/lily-ps-defs.tex: scaling for PS points and MM.
1959
1960         * lily/include/dimensions.hh: try MM as internal unit.
1961
1962         * scm/*.scm: remove invoke-dim1
1963
1964 2002-03-17  Han-Wen  <hanwen@cs.uu.nl>
1965
1966         * GNUmakefile.in (fontpaths): add fontpaths target,
1967
1968         * make/mutopia-targets.make: add PDF rules.
1969
1970         * make/mutopia-rules.make: add pdf rule.
1971
1972         * buildscripts/mutopia-index.py (list_item): add PDF.
1973
1974         * buildscripts/lilypond-profile.sh (TEXMF): typo.
1975
1976         * make/lilypond-vars.make: set TEXMF for the new font setup.
1977  
1978 2002-03-17  Han-Wen  <hanwen@cs.uu.nl>
1979
1980         * VERSION: 1.5.42 released
1981         
1982         * mf/feta-schrift.mf: endless twiddling of Tr.
1983
1984         * mf/feta-eindelijk.mf: 8th rest: make darker, top of brush lower, and
1985         endless twiddling with the bulb shape.
1986
1987         * lily/note-head.cc (internal_brew_molecule): make ledger lines a
1988         little smaller if there is an accidental.
1989
1990 2002-03-15  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
1991  
1992         * buildscripts/lilypond-profile.sh: 
1993  
1994         * mf/GNUmakefile (INSTALLATION_OUT_DIR*),
1995         buildscripts/lilypond-login.sh, buildscripts/lilypond-profile.sh:
1996         Implement new font installation strategy
1997  
1998         * Documentation/misc/fontinstallation (TEXMF): Documentation of
1999         the new font installation strategy.
2000  
2001         * lilypond-mode.el (LilyPond-mode-map): Add shortcut "CTRL-c ;"
2002         for comment-region.
2003  
2004         * input/test/staff-size.ly: Simplified using StaffContainer
2005  
2006         * mf/GNUmakefile (ALL_GEN_FILES): Actually generate the
2007         lilypond.map file
2008
2009 2002-03-17  Jan Nieuwenhuizen  <janneke@gnu.org>
2010
2011         * scm/ps.scm (bezier-sandwich): Draw circles at slur ends.
2012
2013         * lily/beam.cc (score_stem_lengths): new quanting stuff
2014         (score_forbidden_quants): Second and third beam quant stuff.
2015
2016 2002-03-16  Jan Nieuwenhuizen  <janneke@gnu.org>
2017
2018         * lily/beam.cc (least_squares): Remember least-squares-dy for
2019         later use.
2020         (quantise_interval): Don't quant to dy steeper that
2021         least-squares-dy.  Return empty interval if no sane quants found.
2022         (quantise_position): Try quantise_interval until we have
2023         acceptable solution.
2024
2025 2002-03-15  Jan Nieuwenhuizen  <janneke@gnu.org>
2026
2027         * scm/interface-description.scm (beam-interface): Update.
2028
2029 2002-03-15  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2030
2031         * VERSION: 1.5.41 released
2032         
2033         * mf/feta-schrift.mf: make Tr. smaller, smoother and closer.  Use
2034         optima serifs on top of t, bottom of r.
2035
2036         * mf/feta-bolletjes.mf: make ledger line rounder. 
2037
2038         * mf/feta-toevallig.mf: some smallish fixes for flat sign.
2039
2040         * mf/feta-eindelijk.mf: make 8th rest a little darker, some more
2041         parametrization.
2042
2043 2002-03-15 Chris Jackson <chris@fluffhouse.org.uk>
2044  
2045        * lily/piano-pedal-engraver.cc: Rewritten to support bracketed as
2046        well as text pedal indications and a combination of both.  All
2047        pedal indications are horizontally aligned on a line spanner.
2048  
2049        * lily/text-spanner.cc: Edge-width property added to use in
2050        bracketed piano pedals. Function setup_sustain_pedal added to set
2051        the dimensions of the brackets. 
2052  
2053        * scm/grob-description.scm: New *PedalLineSpanner grobs added, and 
2054        some of the *Pedal properties tweaked. 
2055  
2056        * scm/grob-property-description.scm: New pedal-type (*Pedal) and
2057        edge-width (TextSpanner) properties.
2058  
2059        * ly/engraver-init.ly: Default strings added for SostenutoPedal. 
2060  
2061        * lilypond-font-lock.el: sostenuto, unaCorda and treCorde added to
2062        fontified identifiers list.
2063  
2064        * input/test/pedal.ly: New pedal features added. 
2065  
2066        * Documentation/user/refman.itely: New pedal features documented.
2067        
2068
2069 2002-03-15  Jan Nieuwenhuizen  <janneke@gnu.org>
2070
2071         * lily/include/new-beam.hh: Previously new-beam.hh
2072         * lily/beam.cc: Previously new-beam.cc
2073         (least_squares): Bugfix: don't barf on beams with less than two
2074         visible stems (tremolos).
2075
2076         * scm/beam.scm: 
2077         * scm/grob-description.scm (Beam): Junk old beam stuff.
2078         
2079         
2080 2002-03-14  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2081
2082         * VERSION: 1.5.40
2083
2084         * mf/feta-eindelijk.mf: new 8th rest.
2085
2086         * mf/feta-toevallig.mf: small fixes for the sharp symbol. Don't
2087         stick out of staffline
2088
2089         * scripts/lilypond-book.py: fixes for texi regular expressions.
2090
2091 2002-03-14  Jan Nieuwenhuizen  <janneke@gnu.org>
2092
2093         * lily/include/new-beam.hh:
2094         * lily/new-beam.cc: New file.
2095
2096         * flower/include/interval.hh: 
2097         * flower/include/interval.tcc (delta): New method.
2098         (swap): Now public (previously private).
2099         
2100         * scm/beam.scm (default-beam-y-quants): Bugfix: lower beam-sit by
2101         1 staff-line-thickness.  Sadly, this makes dy quanting problems
2102         (dy quants allowed should depend on actual left y) more visible.
2103
2104 2002-03-13  Jan Nieuwenhuizen  <janneke@gnu.org>
2105
2106         * lily/beam.cc (quantise_dy): Bugfix: sign (0) = 0.  Hmm.
2107
2108         * scm/grob-property-description.scm (concaveness-threshold): Add
2109         typecheck and description.
2110
2111         * scm/grob-description.scm (Beam): Remove obsolete properties, add
2112         concaveness-threshold (previously concaveness).
2113
2114         * lily/beam.cc (check_concave): Remove choices and debugging
2115         stuff: use best concaveness calculation.
2116         (quantise_dy): Remove choice.  Try to never make a slope steeper
2117         by quantising, but certainly never quantise a slope away.
2118         (check_stem_length_f): Remove choice.  In case of lengthening
2119         alowed, always lengthen to ideal length.
2120
2121         * Documentation/index.texi: Fix FAQ url.
2122
2123         * Documentation/topdocs/INSTALL.texi: Add information about fink,
2124         compile fix and 1.4 specific fix that doesn't hurt 1.5.
2125
2126 2002-03-13  Han-Wen  <hanwen@cs.uu.nl>
2127
2128         * VERSION: 1.5.39 released
2129
2130         * lily/simple-spacer.cc (add_rod): rods take precedence over
2131         infinitely stiff springs. This fixes bugs with arpeggios and bar-lines.
2132
2133         * lily/arpeggio-engraver.cc (acknowledge_grob): clean up.
2134
2135         * lily/note-spacing.cc (get_spacing): only insert space for
2136         accidentals if necessary.
2137
2138         * input/regression/spacing-accidental-staffs.ly (texidoc): update example
2139
2140         * lily/spacing-spanner.cc (musical_column_spacing): new
2141         function. Have correct spacing from note to end-of-line as well.
2142
2143 2002-03-12  Jan Nieuwenhuizen  <janneke@gnu.org>
2144
2145        * Documentation/topdocs/INSTALL.texi: Add section for MacOS X.
2146
2147        * darwin.patch: New file.
2148
2149        * lily/beam.cc (set_stem_shorten): Revive deceased stem shorten
2150        code.  Shorten stems by fraction of stems to be shortened.
2151
2152        * lily/stem.cc (get_default_stem_end_position): Shorten only half
2153        of shorten value for boundary cases.
2154
2155        * scm/grob-description.scm (Stem): Set stem-shorten to (1.0 0.5).
2156        (Beam): Set beamed-stem-shorten to (1.0 0.5).
2157
2158 2002-03-11  Jan Nieuwenhuizen  <janneke@gnu.org>
2159
2160        * lily/beam.cc (check_stem_length_f): Try to lenthen more.
2161
2162        * scm/grob-description.scm (Beam): Add concaveness.  Replace
2163        Beam::cancel_suspect_slope with Beam::check_concave.
2164  
2165        * lily/beam.cc (check_concave): Calculate concaveness of beam, and
2166        set slope to horizontal if concaveness > Beam.concaveness.  This
2167        handles cases that kludgy cancel_suspect_slope was meant to catch
2168        very well.
2169        (cancel_suspect_slope): Remove.
2170
2171 2002-03-12 Rune Zedeler <rune@zedeler.dk>
2172
2173         * lily/beam.cc lily/stem.cc lily/beam-engraver.cc: allow for
2174         stemLeftBeamCount and stemRightBeamCount to equal 0.
2175         Fixes [c8 c4 c8]
2176       
2177 2002-03-12  Han-Wen  <hanwen@cs.uu.nl>
2178
2179         * lily/spacing-spanner.cc (breakable_column_spacing): Only do
2180         fixed spacing for pref matter, if the next column is musical, and
2181         at the same moment.
2182
2183         * lily/note-spacing.cc (stem_dir_correction): Use correct
2184         discretionary for stem-bar spacing.
2185
2186 2002-03-11  Han-Wen  <hanwen@cs.uu.nl>
2187
2188         * VERSION: 1.5.38 released 
2189
2190         * lily/grob.cc (warning): Use cause tracking to give more
2191         meaningful errors from the backend. 
2192
2193         * lily/property-iterator.cc (check_grob): Warn if setting grob
2194         property in unknown grob. 
2195
2196         * mf/feta-toevallig.mf: brushed stems for natural sign.
2197
2198         * lily/molecule.cc (align_to): don't translate empty molecule.
2199         (this triggers a very subtle bug in time-signature.)  
2200
2201 2002-03-10  Han-Wen  <hanwen@cs.uu.nl>
2202
2203         * lily/spring.cc: remove file.
2204
2205         * input/regression/spacing-stem-bar.ly: new file
2206
2207         * lily/score.cc (run_translator): resurrect point-and-click
2208
2209         * input/baerenreiter-sarabande.ly: Copy Barenreiter beaming for
2210         sarabande layout
2211
2212         * lily/spacing-spanner.cc (find_shortest): Shortest note for
2213         spacing is now globally determined, using the most common shortest
2214         note. Notes that are shorter are spaced geometrically, and with
2215         expand hints. This makes spacing more even, and measures that have
2216         very short notes won't be that stretched out.  
2217
2218         * mf/feta-klef.mf: F-clef fixes, documentation on the
2219         shape. (WARNING: font changed.)
2220
2221 2002-03-09  Han-Wen  <hanwen@cs.uu.nl>
2222
2223         * lily/simple-spacer.cc (add_columns): support for infinitely
2224         stiff springs.
2225  
2226         * lily/staff-spacing.cc (get_spacing_params): space after
2227         prefatory matter is fixed.
2228
2229 2002-03-08  Han-Wen  <hanwen@cs.uu.nl>
2230
2231         * lily/note-spacing.cc (stem_dir_correction): Correct spacing for
2232         barline following an upstem.
2233
2234         * lily/staff-spacing.cc (extremal_break_aligned_grob): destill
2235         function from next_notes_correction().
2236         (bar_y_positions): idem.
2237
2238 2002-03-04  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2239
2240         * input/regression/break.ly (texidoc): bugfix: escape \ in
2241         strings.
2242
2243         * lily/staff-spacing.cc (next_notes_correction): Correct the
2244         spacing of a note following a barline.
2245
2246
2247 2002-03-04  Glen Prideaux
2248
2249         * mf/feta-solfa.mf: Shaped note heads
2250
2251 2002-03-03  Han-Wen  <hanwen@cs.uu.nl>
2252
2253         * VERSION: 1.5.37 released
2254
2255         * lily/key-signature-interface.cc (brew_molecule): rename from key_item
2256         left-align molecule.
2257         
2258         * lily/break-align-interface.cc (do_alignment): completely
2259         rewritten. Now it does not use Align_interface anymore, but a
2260         separate routine. Like StaffSpacing, it reads space-alist from the
2261         breakable grobs.  This allows you to set spacing using
2262         
2263         \property Staff.Clef \override #'space-alist = '(....stuff....)  
2264  
2265         * lily/bar-line.cc, lily/include/bar-line.hh: change name from Bar
2266         to Bar_line. Move files around as well.
2267
2268         * lily/time-signature.cc (time_signature): left align time signatures. 
2269
2270         * mf/feta-timesig.mf: Remove padding from C-style time signatures.
2271         Corrections of the glyph shape C. Comments added.
2272
2273 2002-03-02  Han-Wen  <hanwen@cs.uu.nl>
2274
2275         * lily/spacing-spanner.cc: move from third-try.cc; rename
2276         Third_spacing_spanner to Spacing_spanner.
2277
2278         * lily/staff-spacing.cc (get_spacing_params): redo prefatory
2279         spacing stuff. Much cleaner now, and we prepare for neat spacing
2280         tricks around bar lines and such.
2281
2282         * lily/third-try.cc (prune_loose_colunms): bugfix. Don't init
2283         variables with themselves. (Ouch.)
2284
2285         * lily/span-bar.cc (brew_molecule): don't try to span bars that
2286         overlap.
2287
2288 2002-03-02  Han-Wen  <hanwen@cs.uu.nl>
2289
2290         * VERSION: 1.5.36
2291
2292         * lily/lily-guile.cc: isdir_b and isaxis_b changed to ly_axis_p,
2293         ly_dir_p
2294
2295         * lily/music.cc (ly_get_mus_property): typechecking
2296         (ly_set_mus_property): idem
2297         (ly_make_music): idem
2298         (ly_music_name): idem
2299
2300         * lily/chord.cc: use scm_reverse_x iso. gh_reverse()
2301
2302         * lily/note-spacing.cc (stem_dir_correction): correction for
2303         same stem notes as well. 
2304
2305         * lily/pitch.cc (pitch_transpose): stricter typechecking
2306
2307         * mf/parmesan*mf: magnification fixes.
2308
2309         * Documentation/topdocs/INSTALL.texi: update RedHat reqs
2310
2311 2002-03-01  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
2312
2313         * buildscripts/mf-to-table.py (postfixes): Output also .ly file
2314         documenting the font. (Doesn't work for parmesan at the moment)
2315
2316         * Documentation/user/appendices.itely (The Feta font): Add list of
2317         Feta font symbols with names.
2318
2319         * mf/GNUmakefile ($(outdir)/lilypond.map): Generate lilypond.map
2320         automatically
2321
2322 2002-03-01  Han-Wen  <hanwen@cs.uu.nl>
2323
2324         * lily/translator-group.cc (ly_set_trans_property): typechecking
2325         (ly_get_trans_property): typechecking.
2326
2327         * lily/font-metric.cc (ly_text_dimension): typechecking 
2328         (ly_find_glyph_by_name): idem.
2329
2330         * scm/bass-figure.scm (brew-complete-figure): support for
2331         bracketed numbers.
2332         
2333         * lily/grob.cc (ly_get_paper_var): new function
2334
2335 2002-02-28  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2336
2337         * VERSION (PATCH_LEVEL): 1.5.35 released.
2338
2339         * lily/lookup.cc (ly_bracket): Scheme function ly-bracket
2340         (bracket): New function.
2341
2342         * lily/stem-engraver.cc (stop_translation_timestep): bugfix, unset
2343         stemLeftBeamCount, stemRightBeamCount in stead of using #<undefined> 
2344
2345         * lily/third-try.cc (set_implicit_neighbor_columns): type checking
2346         bugfix.
2347
2348         * lily/span-arpeggio-engraver.cc (stop_translation_timestep):
2349         typecheck bugfix. 
2350
2351         * lily/grob.cc (ly_get_grob_property): be anal about types.
2352         (ly_set_grob_property): idem
2353
2354         * lily/figured-bass-engraver.cc (process_music): move molecule
2355         building completely to Scheme
2356
2357         * lily/include/musical-request.hh (class Bass_figure_req): Add
2358         class. 
2359
2360         * lily/parser.yy (bass_figure): add support for space figure.
2361
2362         * lily/molecule.cc (ly_molecule_combined_at_edge): be anal about types 
2363
2364         * lily/font-metric.cc (ly_text_dimension): Scheme function ly-text-dimension
2365
2366         * lily/molecule.cc (ly_fontify_atom): new function ly-fontify-atom
2367         (ly_align_to_x): new function ly-align-to!
2368
2369         * lily/font-interface.cc (ly_font_interface_get_font): new Scheme
2370         function ly-get-font
2371
2372         * mf/feta-nummer.mf: include normal-space dimension. 
2373
2374         * lily/collision.cc (check_meshing_chords): don't merge collisions
2375         with whole notes.
2376         
2377         * lily/system-start-delimiter.cc (after_line_breaking): Bugfix:
2378         glyph is string.
2379
2380 2002-02-28  Mats Bengtsson  <matsb@s3.kth.se>
2381
2382         * scm/tex.scm, scm/ps.scm (or): Bugfix, ps output with Guile 3.4
2383
2384 2002-02-28  Juergen Reuter  <reuter@ipd.uka.de>
2385
2386         * mf/parmesan-heads.mf: bugfix: mensural note heads  (WARNING:
2387         font changed)
2388
2389         * scm/output-lib.scm: bugfix: resort to neo_mensural chars rather
2390         than mensural chars
2391
2392         * mf/parmesan-scripts.mf, mf/parmesan-generic.mf,
2393         scm/grob-description.scm: added mensural fermata symbol
2394
2395 2002-02-27  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2396
2397         * VERSION: 1.5.34 released.
2398
2399         * lily/rest-engraver.cc (create_grobs): rests can have pitches.
2400
2401         * lily/staff-symbol-referencer.cc (callback): assume that
2402         staff-position is unset in general.
2403
2404         * input/regression/rest-pitch.ly: new file.
2405
2406         * lily/parser.yy (simple_element): rests can have pitch. Syntax:
2407         a4\rest
2408
2409 2002-02-26  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2410
2411         * lily/scm-option.cc (set_lily_option): add internal-type-checks
2412         as Scheme option. Run regression test by default with
2413         internal-type-checking.
2414
2415         * lily/separating-group-spanner.cc (find_musical_sequences):  removed.
2416
2417         * lily/lily-guile.cc (type_check_assignment): changed functions.
2418
2419         * scm/*description*.scm: be anal about typechecks. Some changes
2420         for internal variable names.
2421
2422 2002-02-25  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2423
2424         * scm/ps.scm: -f ps  output for GUILE 1.4 and 1.3.4
2425
2426 2002-02-25  Han-Wen  <hanwen@cs.uu.nl>
2427
2428         * VERSION: 1.5.33 released.
2429
2430         * mf/feta-macros.mf (flare_path): removed draw_flare, replace by
2431         flare_path everywhere (c-clef, numbers).        
2432
2433         * lily/bar-number-engraver.cc (process_music): also print bar
2434         number if measure starts with grace note.       
2435
2436         * input/regression/grace-bar-number.ly: new test.
2437
2438 2002-02-24  Han-Wen  <hanwen@cs.uu.nl>
2439
2440         * lily/figured-bass-engraver.cc (stop_translation_timestep): reset
2441         rest as well.
2442
2443         * scm/music-functions.scm (voicify-music):  split chords into
2444         different voices automatically.
2445
2446         * lily/music.cc (ly_music_list_p): new function
2447
2448         * lily/music-sequence.cc (do_relative_octave): robustification
2449
2450         * scm/music-functions.scm: many utility functions 
2451
2452         * lily/music.cc (ly_set_mus_property): add type checks to the
2453         Scheme property assignment.
2454
2455         * buildscripts/lilypond-profile,lilypond-login.sh (TEXCONFIG):
2456         dvips fixes
2457
2458         * mf/lilypond.map: .map file from Mats' page. 
2459
2460 2002-02-21  Juergen Reuter <reuter@ipd.uka.de>
2461
2462         * Some more parmesan related fixes;
2463
2464         * Custos: varying shape (in particular, stem length), depending on the
2465           vertical position of the custos (on staffline / between stafflines);
2466
2467         * Custos: added grob property "neutral-direction" (same semantics as
2468           with stem); introduced new grob property "neutral-position";
2469
2470         * Time-signature: print a warning when resorting to default layout.
2471
2472 2002-02-22  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2473
2474         * lily/translator-group.cc (add_fresh_simple_translator): remove
2475         function; initialize() is called through
2476         Translator_group::initialize().
2477
2478         * lily/third-try.cc (prune_loose_colunms): add constraints (rods)
2479         for the neighbors of a loose column.
2480
2481         * lily/line-of-score.cc (set_loose_columns): be more intelligent:
2482         position loose columns so that they don't collide.
2483
2484 2002-02-21  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2485
2486         * VERSION: 1.5.32 released.
2487
2488         * scm/font.scm: remove font-name symbol.
2489
2490         * mf/GNUmakefile: use pktrace for making PFAs
2491
2492         * make/lilypond.redhat.spec.in: use pktrace when making RPMs
2493
2494         * lily/rest-collision.cc (do_shift): read direction field from
2495         rest-column in case of note-rest collision. This should fix some
2496         problems with rest collisions.
2497
2498 2002-02-19  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2499
2500         * lily/note-heads-engraver.cc (process_music): Removed easyPlay
2501         property.
2502
2503         * lily/note-head.cc (brew_ez_molecule): Remove note-character
2504         property. Read pitch directly from #'cause.
2505
2506         * mf/feta-puntje.mf: bugfix
2507
2508 2002-02-19  Juergen Reuter <reuter@ipd.uka.de>
2509         
2510         * mf/*.mf: tried to fix ancient-font.ly. WARNING: Font changed.
2511
2512 2002-02-18  Jan Nieuwenhuizen  <janneke@gnu.org>
2513
2514         * Documentation/windows/compiling.texi: Update.
2515
2516         * Documentation/index.texi: Add link to orphaned compiling for
2517         windows page.
2518
2519         * Documentation/footer.html.in: Comment fix.
2520
2521         * stepmake/bin/add-html-footer.py: Python2.[12] re workarounds.
2522
2523 2002-02-18  Han-Wen  <hanwen@cs.uu.nl>
2524         
2525         * VERSION: 1.5.31 released
2526
2527         * lily/new-spacing-spanner.cc: remove file.
2528
2529         * lily/third-try.cc (do_measure): only take spacings into account
2530         if they pertain to the column pair under consideration. This fixes
2531         spacing bug when mixing eighths triplets and normal eighths.
2532
2533         * lily/note-head.cc (brew_molecule): revert ledger change: ledger
2534         lines don't take up space anymore. Document why in note-head.cc
2535         comment.
2536
2537 2002-02-17  Han-Wen  <hanwen@cs.uu.nl>
2538
2539         * lily/font-interface.cc (get_font): reinstate
2540         #'font-magnification. See input/regression/font-magnification.ly
2541         (get_font): Change the definition of  #'font-name grob property.
2542
2543         * lily/grob.cc (get_uncached_molecule): output origin for grobs
2544         that have a #'cause field.
2545
2546 2002-02-12  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2547
2548         * Documentation/topdocs/INSTALL.texi: remove type3 stuff. 
2549
2550         * mf/GNUmakefile:  remove metapost stuff
2551
2552         * stepmake/aclocal.m4: remove metapost detection stuff.
2553
2554 2002-02-11  Jan Nieuwenhuizen  <janneke@gnu.org>
2555
2556         * mf/GNUmakefile (FET_FILES): 
2557         (FONT_FILES): Include parmesan.
2558
2559         * stepmake/bin/packagepython.py (make_assign_re): Bugfix.  Use re
2560         iso regex, regsub
2561
2562         * buildscripts/clean-fonts.sh (FILES): Clean parmesan too.
2563
2564         * Documentation/user/refman.itely (Paper size): Quote braces.
2565
2566 2002-02-07  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2567
2568         * stepmake/aclocal.m4: fixed bison version check to be more
2569         robust.
2570
2571         * lily/stem.cc (position_noteheads): fix for cluster chords.
2572
2573         * mf/*.mf: many blotting/pixel rounding fixes  by Rune Zedeler
2574
2575         * python 2.2 support.
2576
2577 2002-02-04  Han-Wen  <hanwen@cs.uu.nl>
2578
2579         * VERSION: 1.5.30 released
2580
2581         * lily/dynamic-engraver.cc: add doco about DynamicLineSpanner
2582
2583         * Documentation/user/refman.itely (Dynamics): add a note about
2584         DynamicLineSpanner.
2585
2586         * scm/grob-description.scm: add a 'translator-type?  object
2587         property, so that \property Foo.Bar =\turnOff doesn't cause
2588         type check warning.
2589
2590         * lily/translator-group.cc (add_fresh_group_translator): make
2591         new add-translator functions to make distinction between fresh and
2592         used group-translators. Fixes problem with scripts on auto-changing voice 
2593
2594         * lily/timing-engraver.cc: make Timing_engraver instantiatable,
2595         add to Score_performer. Fixes bar checks in MIDI
2596
2597         * lily/tie-engraver.cc (create_grobs): Use pitches to compare note
2598         heads. Fixes many quirks with ties.
2599
2600         * lily/engraver.cc (announce_grob): Use SCM argument. Store cause
2601         in the grob property #'cause, instead of using Grob_info.
2602
2603         * ly/engraver-init.ly (StaffContext): move Dot_column_engraver to
2604         staff context, fixing dot alignment on collisions.
2605
2606         * lily/beam-engraver.cc (try_music): remove can't find beam start
2607         warning, so that skipTypesetting won't complain.
2608
2609 2002-02-01  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
2610
2611         * Documentation/user/refman.itely (Paper size): Documentation fix,
2612         papersize
2613
2614         * lily/text-engraver.cc: Bugfix: textNonEmpty works again
2615
2616         * scm/grob-description.scm: \breathe: Use feta font comma by default
2617
2618 2002-01-23  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
2619
2620         * input/template/piano-dynamics.ly (pedal): Simplified
2621
2622 2002-01-18  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
2623
2624         * ly/engraver-init.ly: avoid warnings on \skip in lyrics
2625
2626 2002-01-10  Mats Bengtsson  <matsb@s3.kth.se>
2627
2628         * lilypond-mode.el (LilyPond-command-query): ignore case.
2629
2630 2002-02-01  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2631
2632         * VERSION: 1.5.29 released
2633
2634         * all files: change 2001 to 2002 in headers globally
2635
2636         * mf/parmesan20.mf: split out ancient notation into parmesan ("old
2637         cheese") font. WARNING: fonts changed.
2638         
2639 2002-02-01  Juergen Reuter <reuter@ipd.uka.de>
2640
2641         * mf/*.mf: Fixed some blot_diameter related flaws in some feta symbols
2642         
2643         * mf/*.mf: Added some more vaticana/solesmes style font symbols
2644         
2645         * mf/*.mf: Bugfix: renamed subbipunctum -> inclinatum
2646
2647         * mf/*.mf: Fixed a few typos in various .mf files
2648
2649 2002-01-17 Rune Zedeler <rune@zedeler.dk>
2650  
2651         * mf/: added macro soft_penstroke
2652         
2653                softened some glyphs
2654                redrawn triangular noteheads
2655                redrawn tab-clef
2656                added classical quarter rest
2657         
2658         * lily/stem.cc: Bugfix: Stem-attachment when staff_space!=1
2659  
2660         * lily/bar.cc: Bugfix: repeat dots when even number of staff
2661         lines and staff_space>=2
2662  
2663         * lily/rest.cc: Use default rests when current style glyphs not
2664         found - this allows
2665         \property Staff.Rest \override #'style = #'classical
2666
2667 2002-01-30  Jan Nieuwenhuizen  <janneke@gnu.org>
2668
2669         * input/bugs/first-tie.ly: New file.
2670
2671         * input/bugs/spacing-clash.ly: New file.
2672
2673 2002-01-29  Jan Nieuwenhuizen  <janneke@gnu.org>
2674
2675         * po: regenerate.
2676
2677 2002-1-24 Chris Jackson <chris@fluffhouse.org.uk>
2678
2679         * lilypond-indent.el: New file providing indentation for
2680         parenthesised blocks of lilypond code in Emacs
2681         
2682         * lilypond-font-lock.el: Changes to the syntax table to facilitate
2683         indentation and handle block comments properly. Distinguish
2684         accents from close-brackets in fontification.
2685
2686         * lilypond-mode.el: LilyPond-indent-command set appropriately.
2687
2688 2002-01-22  Jan Nieuwenhuizen  <janneke@gnu.org>
2689
2690         * Documentation/windows/installing.texi: 
2691         * Documentation/windows/compiling.texi: Include from 1.4.10.
2692
2693         * Documentation/windows/gs-profile.sh: previously lily-gs.sh
2694
2695         * input/bugs/first-midi-tie.ly: New file.
2696
2697 2001-12-29  Han-Wen  <hanwen@cs.uu.nl>
2698         
2699         * VERSION: 1.5.28 released
2700
2701         * lily/parser.yy (My_lily_parser): Slightly kludgy warning for
2702         illicit beams on [c4 c4] etc.
2703
2704         * lily/bar-check-iterator.cc (Bar_check_iterator): new
2705         file. Make separate iterator for Bar_checks. Bar_check now happen
2706         outside engravers, meaning that you can use them with
2707         skipTypesetting. Associated changes in other files.
2708         
2709         * lily/new-spacing-spanner.cc (stem_dir_correction): removed
2710         function
2711         
2712         * lily/spacing-spanner.cc (stem_dir_correction): removed function
2713
2714         * lily/include/grob.hh (unsmob_item, unsmob_spanner): Add functions
2715
2716         * lily/bar.cc (before_line_breaking): remove bar-line spacing code.
2717
2718         * lily/stem.cc (set_spacing_hints): removed function
2719
2720         * lily/note-spacing.cc (stem_dir_correction): new stem-direction
2721         correction for spacing; now take vertical extents of the stem into
2722         account.  
2723
2724         * lily/third-try.cc: More hacking to get spacing working.
2725
2726         * lily/note-spacing-engraver.cc: new file, Note_spacing_engraver
2727         sits at staff level and creates note spacing objects. Scrap it
2728         again, and document why.
2729
2730         * lily/include/group-interface.hh: rename functions. 
2731
2732 2001-12-27  Jan Nieuwenhuizen  <janneke@gnu.org>
2733
2734         * stepmake/stepmake/c++-rules.make:
2735         * stepmake/stepmake/c-rules.make: Fixes for bison-1.28.
2736
2737 2001-12-25  Jan Nieuwenhuizen  <janneke@gnu.org>
2738
2739         * make/lilypond-vars.make: 
2740         * scripts/ly2dvi.py (setup_environment): 
2741         * scripts/lilypond-book.py (setup_environment): Also set tex
2742         memory options.
2743
2744 2001-12-24  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2745
2746         * VERSION: 1.5.27 released.
2747
2748         * Documentation/user/refman.itely (Bar numbers): added bar number
2749         documentation.
2750
2751         * scm/font.scm (make-style-sheet): Fixes to make staff-sizes work
2752         again.
2753
2754 2001-12-22  Mats Bengtsson  <matsb@s3.kth.se>
2755
2756         * tex/lilyponddefs.tex: Make sure interscorelinefill=1 doesn't
2757         spread the last few lines all over the last page of a score.
2758
2759 2001-12-24  Han-Wen  <hanwen@cs.uu.nl>
2760
2761         * lily/third-try.cc: 3rd try at revising spacing
2762         engine. Not yet finished.
2763
2764         * lily/paper-column.cc (brew_molecule): print debugging marks on a
2765         paper-column.
2766
2767         * lily/tie-engraver.cc (class Tie_engraver): Use busyGrobs for
2768         collecting past note heads.
2769
2770         * lily/note-heads-engraver.cc (try_music): Remove end_mom_
2771         stuff.
2772
2773         * lily/grob-pq-engraver.cc (class Grob_pq_engraver): New file, new
2774         class. Keep a queue of grobs that are still playing in busyGrobs. 
2775
2776         * lily/lyric-combine-music-iterator.cc (get_busy_status): New
2777         function. Use busyGrobs to detect playing notes.
2778         
2779 2001-12-16  Jan Nieuwenhuizen  <janneke@gnu.org>
2780  
2781         * Documentation/topdocs/INSTALL.texi: Added note about broken
2782         python-2.1.  Updated note for Debian's broken (well, broken for
2783         our use anyway) tex configuration.
2784         
2785         * scripts/lilypond-book.py (re_dict): python2.2 fix.
2786         
2787         * stepmake/stepmake/c++-rules.make ($(outdir)/%.hh): 
2788         ($(outdir)/%.cc): Adapted to bison-1.30; added bison < 1.30 fix.
2789         
2790         * scripts/lilypond-book.py (bounding_box_dimensions): Bugfix.
2791         (But left margin of png's still misses a few pixels.  Arg.)
2792         
2793 2001-12-16  Heikki Junes  <hjunes@cc.hut.fi>
2794
2795         * lilypond-mode.el (LilyPond-command-next-midi): Make
2796         possible to kill midi-process (using "C-c C-m").
2797
2798 2001-12-14  Han-Wen  <hanwen@cs.uu.nl>
2799
2800         * scripts/lilypond-book.py (LatexPaper.set_geo_option):
2801         Convert strings with dimensions to numbers.
2802
2803         * lily/volta-engraver.cc:  only make a  bracket for the top staff,
2804         as found in stavesFound. 
2805
2806         * lily/bar-number-engraver.cc: remove staff administration. 
2807
2808         * lily/mark-engraver.cc (acknowledge_grob): remove staff
2809         administration. This breaks support for invisible-staff.
2810
2811         * lily/staff-collecting-engraver.cc: new engraver. Collects staff
2812         symbols into stavesFound.
2813
2814         * lily/score-engraver.cc (acknowledge_grob): Acknowledge spacing
2815         grobs, and put them into columns.
2816
2817         * lily/engraver-group-engraver.cc (acknowledge_grobs): Include the
2818         Engraver_group_engraver as a potential candidate for ack'ing grobs.
2819
2820 2001-12-13  Heikki Junes  <hjunes@cc.hut.fi>
2821
2822         * lilypond-mode.el (LilyPond-command-next-midi): Play next (or last)
2823         midi section in the Emacs-mode, so it is possible to play certain
2824         score in a multiscore lilypond-file.
2825          
2826 2001-12-09  Rune Zedeler  <rune@zedeler.dk>
2827         * lily/lily-guile.cc: Added ly_assoc_front_x() and ly_assoc_cdr()
2828         (FIXME: not accessible from guile)
2829         
2830         * lily/accidental-engraver.cc: rewrote accidental-routines to get
2831         better support for Kurt Stone's suggestions.
2832         Removed properties: noResetKey, forgetAccidentals, autoReminders,
2833                             lazyKeySignature.
2834         Changed property:   localKeySignature.
2835         Added properties:   extraNatural, autoAccidentals,
2836                             autoCautionaries.
2837
2838         (BUGFIX: broken-tie-support destroyed in 1.5.16)
2839         
2840         * ly/property-init.ly: added commands
2841         \defaultAccidentals \modernAccidentals \modernCautionaries
2842         \noResetKey \forgetAccidentals
2843
2844         * ly/engraver-init.ly: Correct initialization of new accidentals.
2845         
2846         * scm/translator-property-description.scm: The new properties
2847         added.
2848         
2849         * input/: Some examples added, some changed.
2850         
2851         * Documentation/regression-test.tely: Added quick test of new
2852         accidentals.
2853
2854 2001-12-13  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2855
2856         * scripts/lilypond-book.py (scan_latex_preamble): don't crash if
2857         header not found
2858
2859 2001-12-07  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2860
2861         * lily/beam.cc (before_line_breaking): Make beams  without stems
2862         or with only one stem disappear.
2863
2864 2001-12-05  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2865
2866         * bibtools/bib2html.py: Add simple bib2html convertor, and .bst
2867         files to have standardised HTML bibliography output. Update build
2868         docs to reflect this.
2869
2870         * lily/include/simple-spacer.hh (struct Simple_spacer): add
2871         active_count_, so that we don't have to look for active springs
2872         anymore.
2873
2874         * scm/interface-description.scm,scm/grob-property-description.scm:
2875         Add 'penalty
2876
2877         * lily/simple-spacer.cc (solve): Handle forced line breaks
2878         here. Fixes problems when combining linebreaks with non-fitting
2879         line configurations
2880
2881 2001-12-05  Jan Nieuwenhuizen  <janneke@gnu.org>
2882
2883         * 1.4.9.jcn3 forward ports.
2884         
2885         * Really included .cvsignore.
2886
2887         * Included Han-Wen's uu1 windows fixes.
2888
2889         * Bugfix: lilypond-profile.sh: append to GS_FONTPATH, GS_LIB.
2890
2891         * Added Cygwin setup.hint
2892
2893         * Removed tex, python wrappers and postinstalls to go with Cywgin's
2894         tetex/texmf, python installations.
2895
2896         * Updated cygwin installer.
2897
2898         * ly2dvi: Don't accept filenames with spaces (+ fix).
2899
2900 2001-12-03  Han-Wen  <hanwen@cs.uu.nl>
2901
2902         * ly/engraver-init.ly (VoiceContext): fix text engraver ordering.
2903
2904         * lily/translator-def.cc: Remove manual symbol caching.
2905
2906         * lily/script-column.cc (before_line_breaking): robustness check:
2907         don't crash if no direction set.
2908
2909         * scripts/pmx2ly.py: Key and clef change support (Laura Conrad)
2910
2911         * scripts/pmx2ly.py (Parser.parse_header): more generic header
2912         parsing.
2913
2914
2915 2001-12-01  Han-Wen  <hanwen@cs.uu.nl>
2916
2917         * lily/note-head.cc (head_extent): added to compute width without
2918         ledger lines. By default, ledger lines take up width now.
2919
2920         * input/regression/fingering.ly: demonstrate auto fingering.
2921         Horizontal placement is still buggy. 
2922         
2923         * lily/fingering-engraver.cc (class Fingering_engraver):
2924         added. Provides support for horizontal fingering scripts
2925
2926         * lily/include/grob.hh: Naming: change parent_l() into get_parent()
2927
2928         * lily/side-position-interface.cc (add_staff_support): add staff
2929         only for Y-axis side positions.
2930
2931         * lily/parser.yy (request_chord): Fix mem leak.
2932
2933         * lily/musical-request.cc (transpose): moved to Music::transpose()
2934
2935         * lily/include/grob-info.hh: Change music pointer to SCM, so we
2936         can store grobs as grob-creation cause as well.
2937
2938         * lily/group-interface.cc (add_thing): efficiency tweak: reuse
2939         handle when adding. Use precomputed symbols throughout lily.
2940         
2941         * lily/rhythmic-column-engraver.cc: make NoteSpacing grobs to keep
2942         track of spacing issues.
2943
2944         * lily/separating-line-group-engraver.cc: make StaffSpacing grobs
2945         to keep track of staff spacing
2946
2947 2001-11-30  Jan Nieuwenhuizen <janneke@gnu.org>
2948
2949         * Rewrote new conditional guile >= 1.5 compilation switches, to keep
2950           code clean from conditionals and have a concentrated sets of
2951           compatibility fixes for old guile versions.
2952
2953         * Fixes for guile 1.4, including embedded ps.
2954
2955 2001-11-30  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
2956
2957         * lily/stanza-number-engraver.cc (process_music): allow pairs as
2958         well for markup texts.
2959
2960         * lily/musical-request.cc (length_mom): kludge for null pointer.
2961
2962         * scm/sketch.scm (sketch-output-expression): guile 1.4 compatibility
2963
2964         * scm/lily.scm (sign): bugfix
2965
2966         * CHANGES: Change log instated.
2967
2968         * stepmake/add-html-footer.py: @BRANCH@ tag insertion.
2969