(acknowledge_grob): also typeset
[lilypond.git] / ChangeLog
blob139f5964691210e7261f68a8beed485edcf479e0
1 2002-09-19  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
3         * lily/break-align-engraver.cc (acknowledge_grob): also typeset
4         LeftEdge item.
6 2002-09-15  Werner Lemberg  <wl@gnu.org>
8         Improving LilyPond's output to make them ordinary TeX boxes with
9         predictable dimensions.  System boxes are now vertically centered on
10         the baseline; this offset can be further controlled with
11         \lilypondscoreshift.
13         * lily/system.cc (System::post_processing): Pass length of current
14         system to `start-system' (including any horizontal indentation).
16         * scm/tex.scm, scm/pdftex.scm: Make output of various functions
17         prettier.
18         (lily-def): Append `%'.
19         (start-system): Add parameter `wd'.  Output more TeX code to specify
20         box dimensions.
21         (stop-system, stop-last-system): Complement changes in
22         `start-system'.
23         * scm/sketch.scm, scm/ps.scm, scm/pdf.scm, scm/ascii-script.scm:
24         Updated.
26         * scripts/ly2dvi.py (global_latex_definition): Set \parindent to 0.
27         * buildscripts/mf-to-table.py (write_tex_defs): Append `%'.
28         Write final `\endinput'.
30         * tex/lily-ps-defs.tex, tex/lily-pdf-defs.tex,
31         tex/lilypond-plaintex.tex, tex/lilypond-latex.tex,
32         tex/lilyponddefs.tex, tex/titledefs.tex: Reformat code.  Assure that
33         files and macro definitions don't produce spurious spaces and
34         paragraphs (using \endlinechar).
35         * tex/lilyponddefs.tex: New dimension `\scoreshift'.
37         * Documentation/user/internals.itely: Improved formatting, fixing
38         typos
39         Added a section `Output details' to describe how the TeX code
40         looks like.
42 2002-09-17  Rune Zedeler  <rune@zedeler.dk>
44         * lily/accidental-engraver.cc: Also work with partial measures.
46 2002-09-17  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
48         * lily/text-spanner-engraver.cc: whoops. Set bound in the correct
49         spanner.
51 2002-09-15  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
53         * Documentation/user/refman.itely: patch by Graham Percival
55         * scripts/lilypond-book.py (make_pixmap): let gs write to
56         outputfile directly
58 2002-09-15  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
60         * lily/simultaneous-music-iterator.cc
61         (Simultaneous_music_iterator): init children_list_
63         * lily/part-combine-music-iterator.cc
64         (Part_combine_music_iterator): init state_
66         * lily/sequential-iterator.cc (Sequential_iterator): init cursor_
68         * lily/percent-repeat-iterator.cc (Percent_repeat_iterator): init
69         child_iter_.
71         * lily/sequential-iterator.cc (Sequential_iterator): init list_
73         * lily/translator-def.cc (Translator_def): make a GC proof copy
74         constructor.
76 2002-09-14  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
78         * lily/percent-repeat-iterator.cc (process): quit iter.
80         * lily/simultaneous-music-iterator.cc
81         (Simultaneous_music_iterator): protection bugfix.
82         (get_pending_events): bugfix: don't use s twice.
84         * debian/: debian patches by Anthony Fok.
85         
86         * lily/clef-engraver.cc (create_clef): bugfix for octavate clef
87         (thanks Rune!)
89         * Documentation/user/tutorial.itely: replace grob by
90         object. Explain \once.
92         * scm/music-property-description.scm (once): add 'once
94 2002-09-13  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
96         * lily/simultaneous-music-iterator.cc (skip): call quit()
97         when an iterator exits early.
99 2002-09-13  Juergen Reuter  <reuter@ipd.uka.de>
101         * lily/rests.ly: added comment on bogus warnings about missing flags
103         * lily/clef.cc, lily/rests.cc: added warning when font character
104         lookup fails.
106         * lily/rests.cc: workaround: consider missing ledgered rests in
107         ancient font.
109         * lily/rests.cc: bugfix: cleaned up font lookup code that handles
110         special cases of styles 'default' and 'classical'.  This should
111         also fix the behaviour of lily/multi-measure-rest.cc, which so far
112         did not consider styles 'default' and 'classical'.
114 2002-09-13  Rune Zedeler  <rune@zedeler.dk>
116         * scm/drums.scm: "set" the automatic properties instead of
117         "override", (whoops!)
118         
119 2002-09-13  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
121         * ly/a3-init.ly, scripts/ly2dvi.py (ly_paper_to_latexpaper): 
122         Add support for A3 paper.
124 2002-09-13  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
126         * lily/tuplet-bracket.cc (brew_molecule): don't crash on broken
127         tuplet brackets.
129         * lily/property-iterator.cc (do_quit): add finalization functions
130         to undo property settings.
132         * lily/parser.yy (property_def): syntax for \once \property ....
134         * lily/note-spacing.cc (get_spacing): don't get crazy when there
135         is no (live) stem.
137         * lily/my-lily-lexer.cc: new keyword \once
139         * lily/global-translator.cc (apply_finalizations): new function
140         (add_finalization): new function
142         * input/regression/property-once.ly: new file
144 2002-09-10  Juergen Reuter  <reuter@ipd.uka.de>
146         * lily/stem.cc: added warning when font symbol not found;
147         small cleanups
149 2002-09-11  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
151         * mf/GNUmakefile: make PFA for sauter CM fonts.
153 2002-09-10  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
155         * mf/GNUmakefile: make map file for pfa target as well. 
157         * scm/tex.scm (end-output): add newline to output
159         * lily/include/sequential-iterator.hh (class Sequential_iterator):
160         don't use Protected_scm for music-iterator members. 
162         * lily/music-iterator.cc (Music_iterator): initialize music_
163         
165 2002-09-09  Juergen Reuter  <reuter@ipd.uka.de>
167         * input/test/accid.ly: updated test file to show all available
168         accidentals styles
170         * lily/accidental.cc, lily/key-signature-interface.cc,
171         lily/include/accidental-interface.hh: added method
172         get_fontcharname() to provide proper fall-back cases for missing
173         accidentals; print warning if font char lookup fails
175         * lily/time-signature.cc: fixed documentation bug
177 2002-09-09  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
179         * lily/music-iterator.cc (quit, do_quit): new function: break link
180         to translator group explicitly. This used to be done from the
181         destructor of music-iterator. Now that iterators are GC'd, this is
182         no longer possible.  Add new function do_quit() to all applicable
183         derived classes.
185         * lily/lyric-combine-music-iterator.cc (construct_children): don't
186         unprotect objects.
187         (Lyric_combine_music_iterator): small typo bugfix.
189         * lily/musical-request.cc: do ADD_MUSIC for String_number_req.
191         * lily/include/lily-guile.hh (scm_remember_upto_here_1): add glue
193         * lily/sequential-iterator.cc (get_pending_events): don't delete
194         music-iterator.
195         
196 2002-09-08  Rune Zedeler  <rune@zedeler.dk>
198         * scm/music-property-description.scm: describe string-number (whoops)
200         * Documentation/user/refman.itely: Tablature and bar number updates
201         
202 2002-09-08  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
204         * lily/lyric-combine-music-iterator.cc
205         (Lyric_combine_music_iterator): small bugfix
207         * lily/include/simultaneous-music-iterator.hh (class
208         Simultaneous_music_iterator): use SCM list for list of iterators.
209         
210         * lily/cxx-function-smob.cc: remove file.
212         * lily/include/cxx-function-smob.hh: remove file.
214         * lily/include/music-iterator.hh (class Music_iterator): smobify
215         music-iterator; many changes throughout. They are now constructed
216         through procedures that return to the smobbed iterator.
218         * lily/include/*.hh: all derived_mark() functions are now const.
220         * lily/syllable-group.cc (set_lyric_align): remove conditional
221         again.
223         * Documentation/bibliography/computer-notation.bib (note): add
224         Beyond MIDI and The Virtual Score.
226 2002-09-07  Rune Zedeler  <rune@zedeler.dk>
228         * input/sondag-morgen/*.ly: Tablature fixes
230         * ly/performer-init.ly: BUGFIX: add alias Timing to Score context
231         
232         * lily/parser.yy and lily/lexer.ll: Use E_UNSIGNED instead of E_DIGIT
233         
234         * lily/musical-request.cc (String_number_req): Added
236         * lily/tab-note-heads-engraver.cc: Use String_number_req instead
237         of Text_script_req; read properties stringOneTopmost and
238         highStringOne.
239         
240         * ly/engraver-init.ly (tabStaffContext): Bugfix: remove Key_engraver;
241         set stringOneTopmost and highStringOne to #t
242         
243         * scm/output-lib.scm (tablature-stem-attachment-function): Changed
244         (guitar-tunings): List added
245         ((every-nth-bar-number-visible n) barnum): Instead of
246         default-bar-number-visibility
247         ((every-nth-bar-number-visible n) barnum): added
249         * scm/grob-description.scm (TabNoteHead): Extra-offset added (UGH!)
250         
251         * scm/translator-property-description.scm: Added new functions
253         * input/test/tablature.ly: Changed to better demonstrate possibilities.
255         * input/test/bar-number-every-fifth: Use new function
256         
257 2002-09-07  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
259         * scripts/lilypond-book.py: revert pre use for python
260         2.2. Document why.
262 2002-09-07 Jeremie Lumbroso  <jeremie@lumbroso.fr>
264         * Documentation/user/refman.itely: very minor corrections and
265         rephrasing of the reference manual -- revision up to line #400.
267         * Documentation/user/refman.itely: replaced all occurrence "staffs"
268         with "staves".
270 2002-09-07  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
272         * lily/lexer.ll: scan E_DIGIT
274         * lily/parser.yy (string_request): use E_DIGIT for string requests
276         * lily/beam.cc (get_thickness): new function
278         * ly/performer-init.ly (ScoreContext): add Timing alias
280         * lily/translator-def.cc (Translator_def): copy alias list too.
282         * lily/stem.cc (height): add half beam thickness for beamed stems.
283         This fixes tuplet bracket vertical offsets on beams.
284         
285         * lily/text-spanner-engraver.cc (stop_translation_timestep): small
286         cleanups; only hang spanner on paper-columns if there are no
287         note-columns to hang on. Also hang finished spanner on the last
288         note.
290         * lily/tuplet-bracket.cc (calc_position_and_height): only quantize
291         inside staff.
293 2002-09-07  Rune Zedeler  <rune@zedeler.dk>
295         * scm/output-lib.scm: (default-bar-number-visibility) added
297         * ly/engraver-init.ly (ScoreContext) set barNumberVisibility to
298         #default-bar-number-visibility
299         
300 2002-09-06  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
302         * input/test/poly-metric.ly: update to use Timing.
304         * lily/bar-number-engraver.cc (process_music): only run
305         barNumberVisibility if currentBarNumber is a number.
307         * lily/parser.yy (chord_inversion): use CHORD_SLASH for '/'
308         (command_element): use Timing as alias for Score.
310 2002-09-06  Jeremie Lumbroso  <jeremie@lumbroso.fr>
312         * Documentation/user/refman.itely: minor corrections (replacing
313         `grob' by `object'), addition of an example in the tablature
314         section.
316 2002-09-06  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
318         * VERSION: 1.6.2 released  
320         * input/test/empty-staffs.ly: new file.
322         * Documentation/topdocs/INSTALL.texi: adds a bit of information
323         about compiling in OpenBSD. (Graham Percival)
325 2002-09-05  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
326         
327         * scm/documentation-lib.scm (scm->string): don't crash if a
328         procedure doesn't have a name.
330 2002-09-05  Juergen Reuter  <reuter@ipd.uka.de>
332         * input/test/custos.ly: updated test file to show all available
333         custos styles
335         * lily/custos.cc: small code clean-ups
337         * input/test/rests.ly: updated test file to show all available
338         rest styles
340         * mf/feta-eindelijk.mf: bugfix: added missing maxima rest
342 2002-09-05  Rune Zedeler  <rune@zedeler.dk>
344         * scm/output-lib.scm (make-molecule-boxer): Fixed and moved from
345         input/test/boxed-molecule.ly
347         * input/test/boxed-molecule.ly: Fixed to use default
348         make-molecule-boxer
350         * input/test/bar-number-every-fifth.ly: Added
351         
352         * lily/bar-number-engraver.cc: Add property barNumberVisibility
353         and use it to decide which BarNumbers to suicide.
354         
355 2002-09-05  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
357         * input/test/poly-metric.ly: new file.
359         * scripts/lilypond-book.py (output_verbatim): python 2.2 workaround.
361         * scm/documentation-lib.scm (scm->string): print procedure name in
362         stead of #<procedure .. > 
364         * scripts/ly2dvi.py (run_lilypond): exit with error if lily exited
365         any file with an error.
367         * input/regression/molecule-hacking.ly: also restore Y
368         extent. Fixes bugs with stem attachment of parenthesized note
369         heads.
371 2002-09-04  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
373         * input/test/clef-end-of-line.ly: new file.
375         * lily/stem-engraver.cc (acknowledge_grob): warn about too long
376         tremolos. Thanks to Erik Sandberg
378         * input/trip.ly (fugaIIPedal): small cleanups.
380         * lily/grob-pq-engraver.cc: more helpful message.
381         (stop_translation_timestep): use scm_merge_x for merging the lists.
383         * Documentation/user/appendices.itely: switch off parmesan listing
385 2002-09-01  Juergen Reuter  <reuter@ipd.uka.de>
387         * input/test/ancient-font.ly, input/test/ancient-time.ly,
388           input/test/mensural-ligatures.ly, lily/ligature-head.cc,
389           lily/mensural-ligature-engraver.cc, lily/note-head.cc,
390           lily/time-signature.cc, scm/output-lib.scm: removed obsolete
391           code that sets grob property font-family; also small updates to
392           various input/test files.
394 2002-09-01  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
396         * input/test/tab-staff.ly: removed.
397         
398         * lily/paper-def.cc (find_font): load virtual font for a list of
399         font names.
401         * scm/font.scm (paper20-style-sheet-alist): equate ancient and
402         music font-families.
404         * lily/virtual-font-metric.cc (get_char_molecule): new function
406         * lily/system-start-delimiter.cc (staff_brace): use virtual fonts
407         for the list of braces
409         * lily/font-metric.cc (get_char_molecule): new function.
411 2002-08-31  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
413         * lily/virtual-font-metric.cc: new file
415         * lily/include/virtual-font-metric.hh (class Virtual_font_metric):
416         new file
418         * scripts/lilypond-book.py: use old re's for python 2.2 as well
420         * debian/control: Debian patches by Anthony Fok
422         * input/regression/lyric-combine-polyphonic.ly: new file.
424         * ly/engraver-init.ly (VoiceContext): add Grob_pq_engraver to
425         Voice context.
427 2002-08-31 Graham Percival  <gperciva@sfu.ca>
429         * Documentation/user/tutorial.itely:  editorial changes
430         (spelling, grammar, etc) of the orchestral score, integrating text +
431         music, and the end of tutorial.
433 2002-08-31 Rune Zedeler  <rune@zedeler.dk>
435         * input/test/sondag-morgen/*.ly: 1.6 compatibility knee fixes
437         * lily/tab-note-heads-engraver.cc: Bugfix for instruments not
438         having 6 strings.
439         
440 2002-08-31  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
442         * VERSION: 1.6.1 released
443         
444         * lily/kpath.cc: 
445         * lily/lily-guile.cc: macosx fixes.
447         * lily/script-column.cc (before_line_breaking): use stable sorting
448         algorithm to preserve script ordering.
449         (grob_script_priority_less): new function
451         * lily/script-engraver.cc (process_music): 
452         * lily/text-engraver.cc (process_acknowledged_grobs):
453         * lily/fingering-engraver.cc (make_script): don't use direction
454         for script-priority. This fixes orderings for multiple down
455         script/fingering.
457         * scripts/ly2dvi.py (run_lilypond): don't exit if LilyPond fails,
458         but try to assemble the files anyway.
460         * input/regression/prefatory-empty-spacing.ly: new file.
462         * lily/break-align-interface.cc (do_alignment): translate last
463         break-align-group if it is invisible/empty.
465         * scm/grob-description.scm (all-grob-descriptions): LeftEdge is
466         not a BreakAlignGroup. Do not use
467         Break_align_interface::alignment_callback
469 2002-08-30  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
471         * scripts/lilypond-book.py (LatexPaper.find_latex_dims): give more
472         meaningful error if running latex fails 
474         * Documentation/user/refman.itely (Tablatures): small
475         corrections. Thanks to Karl Berry
477 2000-08-30  Heikki Junes <hjunes@cc.hut.fi>
479         * make/lilypond.mandrake.spec.in: Mandrake adaptations from
480         redhat spec and rpm-skeleton found in Mandrake's home page.
482 2002-08-29 Graham Percival  <gperciva@sfu.ca>
484         * Documentation/user/tutorial.itely:  editorial changes (spelling,
485         grammar, etc) of the "Fine tuning" section.
487 2002-08-29  Juergen Reuter  <reuter@ipd.uka.de>
489         * input/test/ancient-font.ly, mf/parmesan-heads.mf,
490         scm/output-lib.scm, lily/note-head.cc: bugfix: make neume note
491         heads accessible
493 2002-08-29  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
495         * scm/music-functions.scm (unfold-repeats): Call new
496         shift-duration-log correctly also for unfolded repeats.
498 2002-08-27  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
500         * tex/titledefs.tex: Define \fetafont for use in titles.
502         * scm/music-functions.scm (shift-duration-log), lily/parser.yy
503         (Repeated_music): Handle dots correctly for \repeat tremolo.
505 2002-08-26  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
507         * lily/score.cc: remove paranoia code.
509         * lily/parser.yy: don't include malloc.h
511 2002-08-25  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
513         * flower/polynomial.cc (operator +): optimize += operator. No
514         copying.
516         * lily/source-file.cc (get_line): use binary search to determine
517         line number. This kills another quadratic time-complexity term.
519         * lily/include/source-file.hh (class Source_file): add newline_locations
521         * flower/include/array.icc (binary_search_bounds): new function.
523 2002-08-22  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
525         * input/regression/tuplet-properties.ly (texidoc): bugfix
527         * input/regression/beam-shortened-lengths.ly: add \stemUp
529         * Documentation/user/refman.itely: 
531 2002-08-22  Tom Cato
533         * Documentation/user/refman.itely: spelling fix.
535 2002-08-21  Jan Nieuwenhuizen  <janneke@gnu.org>
537         * lily/main.cc (setup_paths): Prepend dirs to search path, instead
538         of appending.  Fixes build when typical LilyPond 1.4 leftovers clutter
539         the system.
541         * flower/include/file-path.hh (prepend): New function.
543 2002-08-20  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
545         * Documentation/misc/ChangeLog-1.5: move 1.5 ChangeLog to misc/
547         * lily/completion-note-heads-engraver.cc (class
548         Completion_heads_engraver): don't be confused by polyphonic rhythms.
550         * input/regression/completion-heads-polyphony.ly: new file.
552 2002-08-19  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
554         * GNUmakefile.in (web-ext): distribute .ly with web tarball too.
555         This means that the 1.6 binaries must be rebuilt.
557         * make/lilypond-vars.make: banish ps-to-X scripts
559         * make/generic-rules.make: remove blurb rule.
561         * GNUmakefile.in: make lilypond-fource file, so PK fonts are not
562         removed every make-run.
564         * make/ly-rules.make: don't remove .tely file.
566         * input/test/chords.ly (scales): whole notes only. Prevents
567         weird breaks.