release commit
[lilypond.git] / ChangeLog
blob5e43d7bbd7d4740f94a39a7893ece0ddc1ca8cf6
1 2002-09-21  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
3         * scm/tex.scm (header-end): enclose lily output in begingroup/endgroup.
5         * tex/lilyponddefs.tex: set hsize for plain tex, but only for
6         positive line widths.
8 2002-09-20  Jan Nieuwenhuizen  <janneke@gnu.org>
10         * tex/lilyponddefs.tex: Handle \scoreshift and \outputscale in one
11         go.  Fix comments.
13         * cygwin: Cygwin updates.
15 2002-09-19  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
17         * Documentation/windows/installing.texi (Top): version for python,
18         urls for ghostscript (thanks to John Potelle)
19         
20         * lily/simultaneous-music-iterator.cc
21         (Simultaneous_music_iterator): init children_list_ before
22         triggering GC.
24         * lily/*-iterator.cc: be even more careful with smobbed copy
25         constructors. 
27         * lily/break-align-engraver.cc (acknowledge_grob): also typeset
28         LeftEdge item.
30 2002-09-15  Werner Lemberg  <wl@gnu.org>
32         Improving LilyPond's output to make them ordinary TeX boxes with
33         predictable dimensions.  System boxes are now vertically centered on
34         the baseline; this offset can be further controlled with
35         \lilypondscoreshift.
37         * lily/system.cc (System::post_processing): Pass length of current
38         system to `start-system' (including any horizontal indentation).
40         * scm/tex.scm, scm/pdftex.scm: Make output of various functions
41         prettier.
42         (lily-def): Append `%'.
43         (start-system): Add parameter `wd'.  Output more TeX code to specify
44         box dimensions.
45         (stop-system, stop-last-system): Complement changes in
46         `start-system'.
47         * scm/sketch.scm, scm/ps.scm, scm/pdf.scm, scm/ascii-script.scm:
48         Updated.
50         * scripts/ly2dvi.py (global_latex_definition): Set \parindent to 0.
51         * buildscripts/mf-to-table.py (write_tex_defs): Append `%'.
52         Write final `\endinput'.
54         * tex/lily-ps-defs.tex, tex/lily-pdf-defs.tex,
55         tex/lilypond-plaintex.tex, tex/lilypond-latex.tex,
56         tex/lilyponddefs.tex, tex/titledefs.tex: Reformat code.  Assure that
57         files and macro definitions don't produce spurious spaces and
58         paragraphs (using \endlinechar).
59         * tex/lilyponddefs.tex: New dimension `\scoreshift'.
61         * Documentation/user/internals.itely: Improved formatting, fixing
62         typos
63         Added a section `Output details' to describe how the TeX code
64         looks like.
66 2002-09-17  Rune Zedeler  <rune@zedeler.dk>
68         * lily/accidental-engraver.cc: Also work with partial measures.
70 2002-09-17  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
72         * lily/text-spanner-engraver.cc: whoops. Set bound in the correct
73         spanner.
75 2002-09-15  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
77         * VERSION: 1.6.3 released.
79         * Documentation/user/refman.itely: patch by Graham Percival
81         * scripts/lilypond-book.py (make_pixmap): let gs write to
82         outputfile directly
84 2002-09-15  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
86         * lily/simultaneous-music-iterator.cc
87         (Simultaneous_music_iterator): init children_list_
89         * lily/part-combine-music-iterator.cc
90         (Part_combine_music_iterator): init state_
92         * lily/sequential-iterator.cc (Sequential_iterator): init cursor_
94         * lily/percent-repeat-iterator.cc (Percent_repeat_iterator): init
95         child_iter_.
97         * lily/sequential-iterator.cc (Sequential_iterator): init list_
99         * lily/translator-def.cc (Translator_def): make a GC proof copy
100         constructor.
102 2002-09-14  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
104         * lily/percent-repeat-iterator.cc (process): quit iter.
106         * lily/simultaneous-music-iterator.cc
107         (Simultaneous_music_iterator): protection bugfix.
108         (get_pending_events): bugfix: don't use s twice.
110         * debian/: debian patches by Anthony Fok.
111         
112         * lily/clef-engraver.cc (create_clef): bugfix for octavate clef
113         (thanks Rune!)
115         * Documentation/user/tutorial.itely: replace grob by
116         object. Explain \once.
118         * scm/music-property-description.scm (once): add 'once
120 2002-09-13  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
122         * lily/simultaneous-music-iterator.cc (skip): call quit()
123         when an iterator exits early.
125 2002-09-13  Juergen Reuter  <reuter@ipd.uka.de>
127         * lily/rests.ly: added comment on bogus warnings about missing flags
129         * lily/clef.cc, lily/rests.cc: added warning when font character
130         lookup fails.
132         * lily/rests.cc: workaround: consider missing ledgered rests in
133         ancient font.
135         * lily/rests.cc: bugfix: cleaned up font lookup code that handles
136         special cases of styles 'default' and 'classical'.  This should
137         also fix the behaviour of lily/multi-measure-rest.cc, which so far
138         did not consider styles 'default' and 'classical'.
140 2002-09-13  Rune Zedeler  <rune@zedeler.dk>
142         * scm/drums.scm: "set" the automatic properties instead of
143         "override", (whoops!)
144         
145 2002-09-13  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
147         * ly/a3-init.ly, scripts/ly2dvi.py (ly_paper_to_latexpaper): 
148         Add support for A3 paper.
150 2002-09-13  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
152         * lily/tuplet-bracket.cc (brew_molecule): don't crash on broken
153         tuplet brackets.
155         * lily/property-iterator.cc (do_quit): add finalization functions
156         to undo property settings.
158         * lily/parser.yy (property_def): syntax for \once \property ....
160         * lily/note-spacing.cc (get_spacing): don't get crazy when there
161         is no (live) stem.
163         * lily/my-lily-lexer.cc: new keyword \once
165         * lily/global-translator.cc (apply_finalizations): new function
166         (add_finalization): new function
168         * input/regression/property-once.ly: new file
170 2002-09-10  Juergen Reuter  <reuter@ipd.uka.de>
172         * lily/stem.cc: added warning when font symbol not found;
173         small cleanups
175 2002-09-11  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
177         * mf/GNUmakefile: make PFA for sauter CM fonts.
179 2002-09-10  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
181         * mf/GNUmakefile: make map file for pfa target as well. 
183         * scm/tex.scm (end-output): add newline to output
185         * lily/include/sequential-iterator.hh (class Sequential_iterator):
186         don't use Protected_scm for music-iterator members. 
188         * lily/music-iterator.cc (Music_iterator): initialize music_
189         
191 2002-09-09  Juergen Reuter  <reuter@ipd.uka.de>
193         * input/test/accid.ly: updated test file to show all available
194         accidentals styles
196         * lily/accidental.cc, lily/key-signature-interface.cc,
197         lily/include/accidental-interface.hh: added method
198         get_fontcharname() to provide proper fall-back cases for missing
199         accidentals; print warning if font char lookup fails
201         * lily/time-signature.cc: fixed documentation bug
203 2002-09-09  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
205         * lily/music-iterator.cc (quit, do_quit): new function: break link
206         to translator group explicitly. This used to be done from the
207         destructor of music-iterator. Now that iterators are GC'd, this is
208         no longer possible.  Add new function do_quit() to all applicable
209         derived classes.
211         * lily/lyric-combine-music-iterator.cc (construct_children): don't
212         unprotect objects.
213         (Lyric_combine_music_iterator): small typo bugfix.
215         * lily/musical-request.cc: do ADD_MUSIC for String_number_req.
217         * lily/include/lily-guile.hh (scm_remember_upto_here_1): add glue
219         * lily/sequential-iterator.cc (get_pending_events): don't delete
220         music-iterator.
221         
222 2002-09-08  Rune Zedeler  <rune@zedeler.dk>
224         * scm/music-property-description.scm: describe string-number (whoops)
226         * Documentation/user/refman.itely: Tablature and bar number updates
227         
228 2002-09-08  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
230         * lily/lyric-combine-music-iterator.cc
231         (Lyric_combine_music_iterator): small bugfix
233         * lily/include/simultaneous-music-iterator.hh (class
234         Simultaneous_music_iterator): use SCM list for list of iterators.
235         
236         * lily/cxx-function-smob.cc: remove file.
238         * lily/include/cxx-function-smob.hh: remove file.
240         * lily/include/music-iterator.hh (class Music_iterator): smobify
241         music-iterator; many changes throughout. They are now constructed
242         through procedures that return to the smobbed iterator.
244         * lily/include/*.hh: all derived_mark() functions are now const.
246         * lily/syllable-group.cc (set_lyric_align): remove conditional
247         again.
249         * Documentation/bibliography/computer-notation.bib (note): add
250         Beyond MIDI and The Virtual Score.
252 2002-09-07  Rune Zedeler  <rune@zedeler.dk>
254         * input/sondag-morgen/*.ly: Tablature fixes
256         * ly/performer-init.ly: BUGFIX: add alias Timing to Score context
257         
258         * lily/parser.yy and lily/lexer.ll: Use E_UNSIGNED instead of E_DIGIT
259         
260         * lily/musical-request.cc (String_number_req): Added
262         * lily/tab-note-heads-engraver.cc: Use String_number_req instead
263         of Text_script_req; read properties stringOneTopmost and
264         highStringOne.
265         
266         * ly/engraver-init.ly (tabStaffContext): Bugfix: remove Key_engraver;
267         set stringOneTopmost and highStringOne to #t
268         
269         * scm/output-lib.scm (tablature-stem-attachment-function): Changed
270         (guitar-tunings): List added
271         ((every-nth-bar-number-visible n) barnum): Instead of
272         default-bar-number-visibility
273         ((every-nth-bar-number-visible n) barnum): added
275         * scm/grob-description.scm (TabNoteHead): Extra-offset added (UGH!)
276         
277         * scm/translator-property-description.scm: Added new functions
279         * input/test/tablature.ly: Changed to better demonstrate possibilities.
281         * input/test/bar-number-every-fifth: Use new function
282         
283 2002-09-07  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
285         * scripts/lilypond-book.py: revert pre use for python
286         2.2. Document why.
288 2002-09-07 Jeremie Lumbroso  <jeremie@lumbroso.fr>
290         * Documentation/user/refman.itely: very minor corrections and
291         rephrasing of the reference manual -- revision up to line #400.
293         * Documentation/user/refman.itely: replaced all occurrence "staffs"
294         with "staves".
296 2002-09-07  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
298         * lily/lexer.ll: scan E_DIGIT
300         * lily/parser.yy (string_request): use E_DIGIT for string requests
302         * lily/beam.cc (get_thickness): new function
304         * ly/performer-init.ly (ScoreContext): add Timing alias
306         * lily/translator-def.cc (Translator_def): copy alias list too.
308         * lily/stem.cc (height): add half beam thickness for beamed stems.
309         This fixes tuplet bracket vertical offsets on beams.
310         
311         * lily/text-spanner-engraver.cc (stop_translation_timestep): small
312         cleanups; only hang spanner on paper-columns if there are no
313         note-columns to hang on. Also hang finished spanner on the last
314         note.
316         * lily/tuplet-bracket.cc (calc_position_and_height): only quantize
317         inside staff.
319 2002-09-07  Rune Zedeler  <rune@zedeler.dk>
321         * scm/output-lib.scm: (default-bar-number-visibility) added
323         * ly/engraver-init.ly (ScoreContext) set barNumberVisibility to
324         #default-bar-number-visibility
325         
326 2002-09-06  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
328         * input/test/poly-metric.ly: update to use Timing.
330         * lily/bar-number-engraver.cc (process_music): only run
331         barNumberVisibility if currentBarNumber is a number.
333         * lily/parser.yy (chord_inversion): use CHORD_SLASH for '/'
334         (command_element): use Timing as alias for Score.
336 2002-09-06  Jeremie Lumbroso  <jeremie@lumbroso.fr>
338         * Documentation/user/refman.itely: minor corrections (replacing
339         `grob' by `object'), addition of an example in the tablature
340         section.
342 2002-09-06  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
344         * VERSION: 1.6.2 released  
346         * input/test/empty-staffs.ly: new file.
348         * Documentation/topdocs/INSTALL.texi: adds a bit of information
349         about compiling in OpenBSD. (Graham Percival)
351 2002-09-05  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
352         
353         * scm/documentation-lib.scm (scm->string): don't crash if a
354         procedure doesn't have a name.
356 2002-09-05  Juergen Reuter  <reuter@ipd.uka.de>
358         * input/test/custos.ly: updated test file to show all available
359         custos styles
361         * lily/custos.cc: small code clean-ups
363         * input/test/rests.ly: updated test file to show all available
364         rest styles
366         * mf/feta-eindelijk.mf: bugfix: added missing maxima rest
368 2002-09-05  Rune Zedeler  <rune@zedeler.dk>
370         * scm/output-lib.scm (make-molecule-boxer): Fixed and moved from
371         input/test/boxed-molecule.ly
373         * input/test/boxed-molecule.ly: Fixed to use default
374         make-molecule-boxer
376         * input/test/bar-number-every-fifth.ly: Added
377         
378         * lily/bar-number-engraver.cc: Add property barNumberVisibility
379         and use it to decide which BarNumbers to suicide.
380         
381 2002-09-05  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
383         * input/test/poly-metric.ly: new file.
385         * scripts/lilypond-book.py (output_verbatim): python 2.2 workaround.
387         * scm/documentation-lib.scm (scm->string): print procedure name in
388         stead of #<procedure .. > 
390         * scripts/ly2dvi.py (run_lilypond): exit with error if lily exited
391         any file with an error.
393         * input/regression/molecule-hacking.ly: also restore Y
394         extent. Fixes bugs with stem attachment of parenthesized note
395         heads.
397 2002-09-04  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
399         * input/test/clef-end-of-line.ly: new file.
401         * lily/stem-engraver.cc (acknowledge_grob): warn about too long
402         tremolos. Thanks to Erik Sandberg
404         * input/trip.ly (fugaIIPedal): small cleanups.
406         * lily/grob-pq-engraver.cc: more helpful message.
407         (stop_translation_timestep): use scm_merge_x for merging the lists.
409         * Documentation/user/appendices.itely: switch off parmesan listing
411 2002-09-01  Juergen Reuter  <reuter@ipd.uka.de>
413         * input/test/ancient-font.ly, input/test/ancient-time.ly,
414           input/test/mensural-ligatures.ly, lily/ligature-head.cc,
415           lily/mensural-ligature-engraver.cc, lily/note-head.cc,
416           lily/time-signature.cc, scm/output-lib.scm: removed obsolete
417           code that sets grob property font-family; also small updates to
418           various input/test files.
420 2002-09-01  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
422         * input/test/tab-staff.ly: removed.
423         
424         * lily/paper-def.cc (find_font): load virtual font for a list of
425         font names.
427         * scm/font.scm (paper20-style-sheet-alist): equate ancient and
428         music font-families.
430         * lily/virtual-font-metric.cc (get_char_molecule): new function
432         * lily/system-start-delimiter.cc (staff_brace): use virtual fonts
433         for the list of braces
435         * lily/font-metric.cc (get_char_molecule): new function.
437 2002-08-31  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
439         * lily/virtual-font-metric.cc: new file
441         * lily/include/virtual-font-metric.hh (class Virtual_font_metric):
442         new file
444         * scripts/lilypond-book.py: use old re's for python 2.2 as well
446         * debian/control: Debian patches by Anthony Fok
448         * input/regression/lyric-combine-polyphonic.ly: new file.
450         * ly/engraver-init.ly (VoiceContext): add Grob_pq_engraver to
451         Voice context.
453 2002-08-31 Graham Percival  <gperciva@sfu.ca>
455         * Documentation/user/tutorial.itely:  editorial changes
456         (spelling, grammar, etc) of the orchestral score, integrating text +
457         music, and the end of tutorial.
459 2002-08-31 Rune Zedeler  <rune@zedeler.dk>
461         * input/test/sondag-morgen/*.ly: 1.6 compatibility knee fixes
463         * lily/tab-note-heads-engraver.cc: Bugfix for instruments not
464         having 6 strings.
465         
466 2002-08-31  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
468         * VERSION: 1.6.1 released
469         
470         * lily/kpath.cc: 
471         * lily/lily-guile.cc: macosx fixes.
473         * lily/script-column.cc (before_line_breaking): use stable sorting
474         algorithm to preserve script ordering.
475         (grob_script_priority_less): new function
477         * lily/script-engraver.cc (process_music): 
478         * lily/text-engraver.cc (process_acknowledged_grobs):
479         * lily/fingering-engraver.cc (make_script): don't use direction
480         for script-priority. This fixes orderings for multiple down
481         script/fingering.
483         * scripts/ly2dvi.py (run_lilypond): don't exit if LilyPond fails,
484         but try to assemble the files anyway.
486         * input/regression/prefatory-empty-spacing.ly: new file.
488         * lily/break-align-interface.cc (do_alignment): translate last
489         break-align-group if it is invisible/empty.
491         * scm/grob-description.scm (all-grob-descriptions): LeftEdge is
492         not a BreakAlignGroup. Do not use
493         Break_align_interface::alignment_callback
495 2002-08-30  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
497         * scripts/lilypond-book.py (LatexPaper.find_latex_dims): give more
498         meaningful error if running latex fails 
500         * Documentation/user/refman.itely (Tablatures): small
501         corrections. Thanks to Karl Berry
503 2000-08-30  Heikki Junes <hjunes@cc.hut.fi>
505         * make/lilypond.mandrake.spec.in: Mandrake adaptations from
506         redhat spec and rpm-skeleton found in Mandrake's home page.
508 2002-08-29 Graham Percival  <gperciva@sfu.ca>
510         * Documentation/user/tutorial.itely:  editorial changes (spelling,
511         grammar, etc) of the "Fine tuning" section.
513 2002-08-29  Juergen Reuter  <reuter@ipd.uka.de>
515         * input/test/ancient-font.ly, mf/parmesan-heads.mf,
516         scm/output-lib.scm, lily/note-head.cc: bugfix: make neume note
517         heads accessible
519 2002-08-29  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
521         * scm/music-functions.scm (unfold-repeats): Call new
522         shift-duration-log correctly also for unfolded repeats.
524 2002-08-27  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
526         * tex/titledefs.tex: Define \fetafont for use in titles.
528         * scm/music-functions.scm (shift-duration-log), lily/parser.yy
529         (Repeated_music): Handle dots correctly for \repeat tremolo.
531 2002-08-26  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
533         * lily/score.cc: remove paranoia code.
535         * lily/parser.yy: don't include malloc.h
537 2002-08-25  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
539         * flower/polynomial.cc (operator +): optimize += operator. No
540         copying.
542         * lily/source-file.cc (get_line): use binary search to determine
543         line number. This kills another quadratic time-complexity term.
545         * lily/include/source-file.hh (class Source_file): add newline_locations
547         * flower/include/array.icc (binary_search_bounds): new function.
549 2002-08-22  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
551         * input/regression/tuplet-properties.ly (texidoc): bugfix
553         * input/regression/beam-shortened-lengths.ly: add \stemUp
555         * Documentation/user/refman.itely: 
557 2002-08-22  Tom Cato
559         * Documentation/user/refman.itely: spelling fix.
561 2002-08-21  Jan Nieuwenhuizen  <janneke@gnu.org>
563         * lily/main.cc (setup_paths): Prepend dirs to search path, instead
564         of appending.  Fixes build when typical LilyPond 1.4 leftovers clutter
565         the system.
567         * flower/include/file-path.hh (prepend): New function.
569 2002-08-20  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
571         * Documentation/misc/ChangeLog-1.5: move 1.5 ChangeLog to misc/
573         * lily/completion-note-heads-engraver.cc (class
574         Completion_heads_engraver): don't be confused by polyphonic rhythms.
576         * input/regression/completion-heads-polyphony.ly: new file.
578 2002-08-19  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
580         * GNUmakefile.in (web-ext): distribute .ly with web tarball too.
581         This means that the 1.6 binaries must be rebuilt.
583         * make/lilypond-vars.make: banish ps-to-X scripts
585         * make/generic-rules.make: remove blurb rule.
587         * GNUmakefile.in: make lilypond-fource file, so PK fonts are not
588         removed every make-run.
590         * make/ly-rules.make: don't remove .tely file.
592         * input/test/chords.ly (scales): whole notes only. Prevents
593         weird breaks.