2006-10-12 Han-Wen Nienhuys * scm/output-lib.scm (string-finger::calc-text): new function * lily/new-fingering-engraver.cc (add_fingering): refactor; make generic for fingering & string number. Use for string-finger. * scm/define-music-types.scm (music-descriptions): add StringFingerEvent * lily/fingering-engraver.cc (listen_string_finger): new function * scm/define-grobs.scm (all-grob-descriptions): add StringFinger * scm/define-context-properties.scm (all-user-translation-properties): add stringFingerOrientations 2006-10-11 Jürgen Reuter * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf, ly/engraver-init.ly: Added vaticana-style augmentum dot glyph. * lily/dots.cc: Added style property for dots. * mf/parmesan-heads.mf: Fix typo in comment. * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by adding longa head to feta font and removing obsolete default mapping scheme code. 2006-10-10 Han-Wen Nienhuys * scm/output-lib.scm (fingering::calc-text): use origin event-property, not music-property. * lily/lilypond.rc.in: spell my name correctly. 2006-10-10 Joe Neeman * lily/grob.cc (pure_height): only add minimum-Y-extent if we already have a non-empty extent. Fixes estimation for Hara-kiri staves. 2006-10-09 Jürgen Reuter * ly/gregorian-init.ly: Simplify definition of \episemInitium and \episemFinis. * lily/ligature-engraver.cc: Remove unused #include. * lily/vaticana-ligature-engraver.cc: Fix placement of dots. Bugfix: remove method check_for_prefix_loss(Item *) from global namespace to avoid namespace pollution. 2006-10-09 Han-Wen Nienhuys * VERSION: release 2.9.22 * ly/generate-documentation.ly: update option name. * lily/dynamic-text-spanner.cc (print): revert fix. * scm/define-grob-interfaces.scm (trill-pitch-accidental-interface): add trill-pitch-accidental-interface * lily/dots-engraver.cc (acknowledge_rhythmic_head): only dereference if it's really a duration. * lily/figured-bass-engraver.cc (process_music): clear spanner if useBassFigureExtenders is not set. (listen_bass_figure): record as new event if useBassFigureExtenders not set. Fixes #103. * scm/stencil.scm (circle-stencil): don't center stencil argument, instead: move circle. Fixes #107. * scm/define-grobs.scm (all-grob-descriptions): set allow-loose-spacing for PaperColumn and NonMusicalPaperColumn. Kludge for #110. * lily/spaceable-grob.cc: add allow-loose-spacing property. * lily/spacing-determine-loose-columns.cc (is_loose_column): allow-loose-spacing property. * scm/define-markup-commands.scm (postscript): gsave & grestore around embedded PS. Do setlinewidth too. Fixes #109. 2006-10-08 Jürgen Reuter * lily/ligature-bracket-engraver: Bugfix: Add missing stream event code. This patch fixes ligature brackets that were not at all engraved any more. 2006-10-08 Graham Percival * Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom. * ly/property-init.ly: fix sacred harp notehead shapes (bug 96). * scm/define-context-properties.scm: clarified docs (bug 91). * Documentation/user/basic-notation.itely: document volta brackets not aligning (bug 63). 2006-10-08 John Mandereau * po/fr.po: update translation. * po/: update msgids. 2006-10-08 Jan Nieuwenhuizen * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales. 2006-10-08 Nicolas Sceaux * Documentation/user/page.itely (Two-pass vertical spacing): add documentation for two-pass spacing technique. 2006-10-06 Graham Percival * Documentation/user/convert-ly.txt: new file; new storage place for this file (moved from bugs/ CVS). 2006-10-06 Jürgen Reuter * lily/note-head.cc: Fixed programming_error message. 2006-10-06 Han-Wen Nienhuys * scm/define-grobs.scm (pure-conversion): move pure-callback further into body. * scm/script.scm (default-script-alist): set avoid-slur for turn, marcato, stopped, thumb. 2006-10-05 Han-Wen Nienhuys * lily/completion-note-heads-engraver.cc (process_music): don't skimp on memory usage. * lily/beam.cc (set_stem_lengths): do set_stemend for invisible stems too. Fixes #5 * lily/parenthesis-engraver.cc (acknowledge_grob): set parent of parenthesis item. This fixes premature Y-extent triggering. Fixes issue #95. * VERSION (PATCH_LEVEL): bump version. 2006-10-04 Graham Percival * Documentation/user/advanced-notation.itely: added info about instrument names for piano or other contexts, thanks Marcus! 2006-10-04 Han-Wen Nienhuys * mf/feta-bolletjes.mf (solfa_quarter_width): use solfa_base_notewidth as unit for non-DO-notes too. * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email. * VERSION: release 2.9.21 * Documentation/topdocs/NEWS.tely (Top): simpler, more clearer override. 2006-10-04 Mats Bengtsson * python/lilylib.py (progress): Minor fix. 2006-10-04 Han-Wen Nienhuys * lily/note-name-engraver.cc: doc engraver. * scm/output-lib.scm (hairpin::calc-grow-direction): new function. * lily/dynamic-engraver.cc (process_music): don't set grow-direction. * scm/define-grobs.scm (all-grob-descriptions): calc duration-log by callback. * lily/stem-engraver.cc (make_stem): don't set duration-log * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): write snippet-names binary. * python/lilylib.py (system): use os.system for mingw32 * scripts/lilypond-book.py (bindir): use os.pathsep for prepending to $PATH. * scm/backend-library.scm: update email address. * Documentation/topdocs/NEWS.tely (Top): add duration-log override example. * scm/define-grobs.scm (all-grob-descriptions): use callback to calc dot count. * lily/dots-engraver.cc (class Dots_engraver): new engraver: handle dot creation separately. * lily/tab-note-heads-engraver.cc (process_music): idem. * lily/drum-note-engraver.cc (process_music): idem. * lily/note-heads-engraver.cc (process_music): idem. * lily/rest-engraver.cc: don't set duration-log. * scm/output-lib.scm (string-number::calc-text): new function. (note-head::calc-duration-log): new function. * lily/fingering-engraver.cc (make_script): remove 'text setting. * scm/output-lib.scm (fingering::calc-text): new function. 2006-10-04 Mats Bengtsson * scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts and include-eps-font -> include-eps-fonts 2006-10-03 Han-Wen Nienhuys * lily/multi-measure-rest-engraver.cc: use internalBarNumber * lily/timing-translator.cc: list properties. (start_translation_timestep): update internalBarNumber too. * scm/define-context-properties.scm (all-user-translation-properties): add internalBarNumber. * input/regression/spacing-no-note.ly: new file. * buildscripts/output-distance.py (link_file): verbosity for OSError. * lily/book.cc: #include cleanup. * lily/include/lily-guile-macros.hh: add assert to scm_or_str2symbol(SCM). * VERSION (PATCH_LEVEL): bump version. * lily/spacing-spanner.cc (musical_column_spacing): handle musical->nonmusical spacing case, where there is no spacing wish. Fixes issue #61. * lily/pango-font.cc (text_stencil): allow 'tight' bounds. (pango_item_string_stencil): use logical rect horizontally (to preserve spaces), ink_rect vertically (for time signatures). * lily/font-metric.cc (word_stencil): new interface function * input/regression/utf-8-mixed-text.ly: new file. * lily/percent-repeat-engraver.cc (listen_percent): remove spurious warning. * lily/phrasing-slur-engraver.cc (acknowledge_script): only ack non-dynamic scripts. Fixes #30. * lily/slur.cc (outside_slur_callback): make offset_scm optional. * lily/beam.cc (rest_collision_callback): make prev_offset optional. * lily/grob-closure.cc (chain_offset_callback): don't pass 0 but SCM_UNDEFINED for non-existent data. * lily/side-position-interface.cc (general_side_position): allow optional current_offset argument for chaining, so combinations of side-position and outside slur callback don't add up. Fixes issue #92. * lily/pango-font.cc (pango_item_string_stencil): use logical_rect. This prevents spaces after words from disappearing, issue #72. * VERSION: release 2.9.20 2006-10-02 Han-Wen Nienhuys * scm/define-grob-properties.scm (all-user-grob-properties): mention stencil as user settable. 2006-10-02 Joe Neeman * Documentation/user/page.itely (Page formatting): document auto-first-page-number * lily/page-breaking.cc (find_chunks_and_breaks): * lily/paper-score.cc (calc_breaking): Follow changes to the Constrained_breaking interface * lily/constrained-breaking.cc (calc_subproblem): run the main loop here backwards, as an optimisation (initialize): new function; move most of the code in resize () here (combine_demerits): cache ragged_right_ (Constrained_breaking): constructor now takes the Paper_score 2006-10-02 Erik Sandberg * lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to avoid parser lookahead for 0-ary functions. * lily/translator.cc: Extract event classes from IMPLEMENT_TRANSLATOR_LISTENER for documentation generation. 2006-10-02 Heikki Junes * po/fi.po: Fix spaces, commas etc. in Finnish translation using KBabel fix tool. 2006-10-01 Nicolas Sceaux * scm/layout-page-layout.scm (page-breaking-wrapper): new function. Call the page breaking function selected in the `page-breaking' \paper variable, then the post processing function chosen using the `page-post-process' \paper variable. (line-height): new function. Return the height of a system. (line-minimum-position-on-page): new function. Return the position of a system on page (using the previous line position), only considering between system padding. (stretchable-line?): new function. Says whether a line can be stretched (ie. is not a title nor a single staff system). (page-maximum-space-left): new function. Computes space left on a page, when all systems are separated by their padding. * lily/page-breaking.cc (breaking::make_pages): Move page post processing function call to page breaking wrapper (common to all page breakers). * lily/paper-book.cc (book::pages): call the page breaking wrapper, instead of the page breaker directly * ly/paper-defaults.ly: Add \paper variables for page breaking wrapper and page post processing function. Make `write-page-layout' value depend on the 'dump-tweaks option. Add a `system-maximum-stretch-procedure' variable for holding a function computing the maximum stretch a system allows. * scm/layout-page-dump.scm (write-page-breaks): computes the stretch to apply to systems on a page to minimize left space. Dump this stretch length. * ly/music-functions-init.ly (spacingTweaks): implement it. Read the system-stretch property of the tweak data to stretch the system. (includePageLayoutFile): Void function which includes the generated page-layout file if it exists and if the page layout dumping is not asked. (scoreTweak): if the score tweak named by the argument exists, return it. 2006-10-01 Joe Neeman * lily/page-spacing.cc (compress_lines, uncompress_solution): handle correctly the case where there are multiple \noPageBreaks in a row. 2006-09-30 Laura Conrad * abc2ly.py adds segno (S) and Coda (O) to articulations. * abc2ly.py fix so that entering " -- " will translate to a -- in the lilypond instead of a " - - " 2006-09-30 Han-Wen Nienhuys * lily/align-interface.cc: fix typo * lily/dynamic-text-spanner.cc (print): Add a special case for trill spanner right sides. * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1 * lily/align-interface.cc (get_extents_aligned_translates): add support for padding variable. * lily/break-align-interface.cc (self_align_callback): oops: use loop variable in guard. * input/regression/repeat-percent-grace.ly: new file. * lily/percent-repeat-engraver.cc (start_translation_timestep): remember first currentCommandColumn of a grace run. Fixes issue 70. * lily/percent-repeat-iterator.cc (class Percent_repeat_iterator): move class definition to CC file. * lily/multi-measure-rest.cc (percent): use robust_relative_extent() * lily/slash-repeat-engraver.cc (listen_percent): don't warn for measure-long repeats. * flower/include/international.hh: include stdarg.h 2006-09-30 Joe Neeman * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow put_systems_on_pages to return an empty result, we need to assign demerits properly in that case. (put_systems_on_pages): Make the number of pages depend on the evenness of page_number. Add auto-first-page-number. (calc_subproblem): ensure that the page-number is even for the left-hand page. Warn if the first page-turn doesn't fit onto the first (right-hand) page. * lily/page-spacing.cc (solve): bug: demerits_ would always be inf (min_page_count): make this publicly accessible (min_page_count): fix a bug when there are forced page breaks that was introduced when I made this loop run backwards (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages): replace space_systems_on_min_pages with these two. The logic in space_systems_on_min_pages was getting too convoluted and is better contained in page-turn-page-breaking. * lily/page-turn-engraver.cc (breakable_column): remove an always-true conditional (breakable_column): typo * lily/source-file.cc (get_line): fix off-by-one error and clean up some of the logic 2006-09-29 Joe Neeman * lily/page-breaking.cc (make_pages): honour the first-page-number property 2006-09-27 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): bump version. 2006-09-26 Pal Benko * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs (the latter is the same as petrucci-f which is kept for compatibility) 2006-09-26 Erik Sandberg * lily/part-combine-iterator.cc: solo1-event -> solo-one-event 2006-09-26 Han-Wen Nienhuys * lily/global-context.cc (run_iterator_on_me): break out of loop if moment doesn't increase. * scm/define-grob-properties.scm (all-user-grob-properties): add forced property. * lily/accidental.cc (after_line_breaking): read forced property. * lily/accidental-engraver.cc (process_acknowledged): set 'forced property. * input/regression/accidental-forced-tie.ly: new file. 2006-09-25 Han-Wen Nienhuys * ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context. * lily/figured-bass-engraver.cc: only listen to rest events if ignoreFiguredBassRest is not set. * scm/define-context-properties.scm (all-user-translation-properties): add ignoreFiguredBassRest property 2006-09-24 Joe Neeman * lily/paper-book.cc (get_system_specs): (set_system_penalty): fix breakbefore. We used to set a penalty on the system after the break, now we set a permission on the system before the break * lily/grob-property.cc: add scm debugging hooks into property modification * lily/context-property.cc: * lily/engraver.cc: rename make_foo_from_properties to internal_make_foo and move it from context-property.cc to a member function of Engraver. * lily/include/lily-guile-macros.hh: overload ly_symbol2scm macro so that there is no more need to use internal_foo * lily/volta-repeat-iterator.cc: * lily/tweak-engraver.cc: * lily/tuplet-bracket.cc: * lily/span-bar-engraver.cc: * lily/script-engraver.cc: * lily/prob-scheme.cc: * lily/pointer-group-interface.cc: * lily/parser.yy: * lily/grob-scheme.cc: * lily/grob-property.cc: * lily/context.cc: * lily/context-property.cc: * lily/break-substitution.cc: * lily/break-align-engraver.cc: * lily/axis-group-interface.cc: * lily/align-interface.cc: remove calls to internal_FOO * lily/system-start-delimiter-engraver.cc: * lily/parenthesis-engraver.cc: * lily/accidental-engraver.cc: remove calls to make_foo_from_properties 2006-09-23 Graham Percival * Documentation/user/programming-iterfaces.itely: fix def-music-function -> define-music... leftover. 2006-09-23 Joe Neeman * lily/page-spacing.cc (min_page_count): by running the loop backwards, we can calculate ragged_last properly. 2006-09-22 Mats Bengtsson * ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?) printfirst-page-number -> print-first-page-number * python/convertrules.py: corresponding rule. * Documentation/user/page.itely (Page formatting): Document the default values of all page layout parameters. 2006-09-22 Erik Sandberg * lily/lexer.ll: remove limitation on music function arity. New mode extratoken, which inserts extra EXPECT_* tokens after MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens. * lily/parser.yy: Change grammar for music function accordingly. * lily/include/lily-parser.hh: New method get_state, new member hidden_state. Works around a problem when parser fetches MUSIC_FUNCTION token but not the following EXPECT_* token. * lily/translator.cc, lily/context.cc:, lily/translator-group.cc: remove try_music * lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining references to Music; use ASSIGN_EVENT_ONCE everywhere * lily/grob-info.cc: junk *music_cause * lily/music.cc: copy eventified articulations to stream event * lily/part-combine-iterator.cc: Cleanup using enums * lily/translator-group.cc: Junk OldMusicEvent, and associated methods * lily/include/engraver.hh: Junk music.hh include * lily/stream-event.cc: Changed constructors 2006-09-21 Graham Percival * Documentation/user/tweaks.itely (Fitting music onto fewer pages): change settings to avoid warning messages. 2006-09-21 Mats Bengtsson * Documentation/user/tweaks.itely (Fitting music onto fewer pages): Add between-system-space setting. 2006-09-21 Han-Wen Nienhuys * lily/accidental-placement.cc (calc_positioning_done): don't trigger Y-extent calculation too early. Use pure_height instead. * lily/scale.cc (LY_DEFINE): new file. 2006-09-20 Joe Neeman * lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks that happen at the start of a score: having a zero-length chunk was messing up min_system_count calculations. * lily/source-file.cc (get_line): lower_bound, not binary_search. Fixes problem where point-and-click would always point to the first line. 2006-09-20 Han-Wen Nienhuys * lily/accidental-placement.cc (calc_positioning_done): also put stems into accidental support. * lily/tie-engraver.cc (process_music): also set tieMelismaBusy if event_ detected. * scm/script.scm (default-script-alist): avoid-slur and slur-padding for portato script. * lily/stem-tremolo.cc (translated_stencil): new function. (height): use new function. Fixes tremolos on whole notes. * lily/slur-scoring.cc (get_best_curve): don't crash if no optimal slur found. 2006-09-19 Han-Wen Nienhuys * scripts/abc2ly.py (try_parse_comment): idem. * scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in bar_string iso. string.find() * lily/*.cc: idem. * lily/slur.cc (get_curve): always use scm_is_pair() looping scheme lists. 2006-09-18 Graham Percival * Documentation/user/basic-notation.itely: add bug warning about ties and octavation/clef. 2006-09-18 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.18 2006-08-29 Milan Zamazal * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to figure out midi file names right here. 2006-09-17 Han-Wen Nienhuys * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes. * scm/backend-library.scm: option naming: gs-font-load*s* * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to include-eps-fonts 2006-09-17 Joe Neeman * scm/define-music-types.scm (music-descriptions): remove BreakEvent and fix {Page,Line}{Break,Turn}Event so Music::to_event doesn't complain. * lily/accidental-placement.cc (ape_compare): * lily/semi-tie.cc (compare): * lily/note-column.cc (shift_compare): replace by XXX_less * lily/tie-formatting-problem.cc (set_chord_outline): * lily/tie-column.cc (calc_positioning_done): * lily/system.cc (post_processing) (get_paper_system): * lily/stem.cc (note_head_positions) (calc_positioning_done): * lily/spanner.cc (do_break_processing) (find_broken_piece): * lily/span-bar.cc (print): * lily/semi-tie-column.cc (calc_positioning_done): * lily/rest-collision.cc (calc_positioning_done): * lily/program-option.cc (get_help_string): * lily/note-collision.cc (get_clash_groups): * lily/new-fingering-engraver.cc (position_scripts): * lily/keyword.cc (Keyword_table): * lily/hara-kiri-group-spanner.cc (request_suicide): * lily/grob-pq-engraver.cc (stop_translation_timestep): * lily/accidental-placement.cc (calc_positioning_done): (stagger_apes): * lily/beam.cc (get_beam_segments): * lily/grob-array.cc (remove_duplicates): use new vector_sort * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily: ragged-last-bottom = ##f (test the new page breaker) * flower/include/std-vector.hh (vector_sort): use STL sort stuff * scm/define-context-properties.scm (all-internal-translation-properties): remove properties that were used to communicate page-turn stuff to the paper-column engraver. * lily/lily-guile.cc (robust_scm2string): new function * lily/paper-column-engraver.cc: Clean up page turn stuff * lily/page-turn-engraver.cc: Re-write the page turn logic here instead of cluttering up paper-column-engraver.cc 2006-09-17 Nicolas Sceaux * scm/layout-page-dump.scm (scm): export utility function names, to allow user writing cutsom dumping functions. * scm/layout-page-layout.scm: export utility function names to enable custom page breaking function writing. Tabify. (line-next-space): use ?-suffix only for predicates (page-maximum-space-to-fill): new function. Return the space between first and bottom system of a page, to give to space-systems. (space-systems): use a space-to-fill argument (for instance as computed by page-maximum-space-to-fill) instead of computing internaly this space with the page height. That way, the caller can adjust the space to use. (make-page-from-systems, walk-paths): compute space to fill before calling space-systems. 2006-09-17 Han-Wen Nienhuys * scm/script.scm (default-script-alist): set paddings for every type here, increase for portato mark. * scm/lily.scm (define-scheme-options): typo: add s, so it is -dinclude-eps-fonts 2006-09-16 Han-Wen Nienhuys * scm/define-grobs.scm (all-grob-descriptions): oops, typo: use spanner::set-spacing-rods * lily/note-column.cc: reformat. * lily/rest-collision.cc (calc_positioning_done): fix whole/half step positioning for note/rest combinations. * input/regression/rest-note-collision.ly: new file. * scm/define-grobs.scm (all-grob-descriptions): add springs-and-rods * flower/include/std-vector.hh: switch off again. * VERSION (PATCH_LEVEL): bump to 2.9.18 * flower/include/std-string.hh: idem. * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set. 2006-09-15 Mats Bengtsson * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and PianoStaff. 2006-09-08 Joe Neeman * Documentation/user/page.itely: update page breaking documentation 2006-09-07 Han-Wen Nienhuys * lily/note-collision.cc (calc_positioning_done): only access first head if available. * lily/tuplet-engraver.cc: add tupletFullLengthNote to description. * scm/framework-ps.scm (output-preview-framework): use new name. * lily/program-option.cc (internal_set_option): use new names. * Documentation/user/SConscript (lilypond_book_flags): update -d variable names. * Documentation/user/lilypond-book.itely (Inserting LilyPond output into other programs): new variable names. * scm/lily.scm (define-scheme-options): uniformize var names. * lily/tuplet-engraver.cc (listen_tuplet_span): verify that tuplets_ is non-empty before popping. 2006-09-07 Joe Neeman * lily/spanner.cc (find_broken_piece): * lily/spacing-spanner.cc (get_columns): * lily/source-file.cc (get_line): * lily/simple-spacer.cc (get_column_description): * lily/keyword.cc (lookup): use the new binary search. * flower/include/std-vector.hh: replace binary_search with a more STL-like version 2006-09-04 Michael Welsh Duggan * lily/tie-performer.cc: remove unused last_event_ property. (class Tie_performer): add now_tied_heads_ property for partially-tied heads. (acknowledge_audio_element): when adding an Audio_note, put the note in now_tied_heads_ if the audio note is partially tied. (stop_translation_timestep): always include entries in now_tied_heads_ in heads_to_tie_. * lily/drum-note-performer.cc (process_music): look for tie-events in the articulations; pass to Audio_note constructor. * lily/note-performer.cc (process_music): look for tie-events in the articulations; pass to Audio_note constructor. * lily/audio-item.cc (Audio_note): Initialize tie_event_ in constructor. * lily/include/audio-item.hh (class Audio_note): add tie_event_. include initializer in constructor. 2006-09-02 Joe Neeman * lily/simple-spacer.cc (get_line_forces): Ignore loose columns unless they are breakable. This fixes discrepancies between the forces calculated here and the forces calculated in get_line_configuration. * lily/grob.cc (pure_relative_y_coordinate): fix some mis-estimation that was happening with piano staves. * lily/constrained-breaking.cc (resize): don't choke if we get a measure that won't fit on a line. (combine_demerits): don't consider uniformity when ragged * lily/page-spacing.cc (solve): why the f* were there two of these? (calc_subproblem): properly handle the case where a system is taller than the page. * lily/system.cc (get_paper_system): ensure that all the permissions and penalties are passed to the paper systems. * lily/page-breaking.cc (create_system_list): support system-count. * scm/define-grobs.scm (pure-print-callbacks): add ly:script-interface::print * lily/page-spacing.cc (min_page_count): fix calculation of min pages if we are ragged and there are non-zero springs. * scm/layout-page-layout.scm: if the pure-height estimates are under the real height, allow space-systems to ignore padding if it is needed in order to fit the systems on one page * lily/optimal-page-breaking.cc (try_page_spacing): fix reading ragged properties (solve): fix performance problem. Make sure we always get at least one solution * lily/page-breaking.cc (make_pages): include write-page-breaks and page-stencil * lily/paper-score.cc (calc_breaking): remove Gourlay breaker * scm/define-grobs.scm: add the new slur-callback fix pure-relevant to not exclude grobs whose extent is already calculated * ly/paper-defaults.ly: make ly:optimal-breaking the new default page breaker * lily/slur.cc (pure_height): new callback to estimate the height of a slur 2006-09-02 Graham Percival * Documentation/user/invoking.itely: small update on MacOS X notes; thanks Trevor! 2006-09-01 Han-Wen Nienhuys * VERSION (MY_PATCH_LEVEL): release 2.9.17 * lily/lexer.ll: accept EOF in all states. * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_. * lily/source-file.cc (Source_file): always 0-terminate character array, to prevent Flex from barfing. * lily/global-context.cc (get_output): robustness: don't crash if no Score context found. * lily/include/book.hh (class Book): idem. * lily/include/context-def.hh (struct Context_def): idem. * lily/include/score.hh (class Score): don't derive from Input. * lily/book.cc (Book): add a copy ctor. * buildscripts/output-distance.py (FileLink.calc_distance): count orphans in distance too. * python/midi.c (midi_parse_track): robustness: don't read past end of string. * ly/performer-init.ly: add Control_track_performer, move Tempo_performer and Time_signature_performer to Score. * lily/score-performer.cc (acknowledge_audio_elements): override from base class: add to audio-columns * lily/control-track-performer.cc (add_text): new file: generate the control track. * lily/performance.cc: move output_header_track to Control_track_performer () * lily/midi-walker.cc (Midi_walker): get channel in constructor. * lily/include/midi-item.hh (class Midi_channel_item): insert class into hierarchy, for items that can have a channel setting. Dehungarify. * lily/include/performer.hh (class Performer): remove play_element(); move functionality into announce/acknowledge. * lily/audio-staff.cc (output): remove channel_ from Midi_track. * lily/tie-engraver.cc (stop_translation_timestep): only wipe heads_to_tie_ if there are new heads to tie. Fixes polyphony in ties. 2006-08-28 Han-Wen Nienhuys * lily/tie-engraver.cc (stop_translation_timestep): robustness for ambituses. * lily/all-font-metrics.cc: remove TFM support. * lily/include/tfm.hh: remove TFM support, TFM reader. * lily/include/binary-source-file.hh: remove Binary_source_file. 2006-08-27 Graham Percival * Documentation/topdocs/NEWS.itely: add @c marker for stuff I've processed. * Documentation/user/ various: info from NEWS. 2006-08-27 Joe Neeman * lily/paper-column-engraver.cc (finalize): Oops, this change should have gone in on 2006-08-23 2006-08-26 Mats Bengtsson * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double quotes to quote arguments. Fixes Windows problem. * python/lilylib.py (progress): idem 2006-08-26 Han-Wen Nienhuys * scripts/musicxml2ly.py: fix for importing minor key signatures from MusicXML. (Phillip Kirlin) 2006-08-24 Phillip Kirlin * python/musicxml.py: (Attributes.get_key_signature): now correctly retrieves mode from MusicXML. 2006-08-25 Han-Wen Nienhuys * lily/parser.yy (output_def_body): take ownership of identifier back to C++. * Documentation/user/advanced-notation.itely (Metronome marks): update use of \tempo in \midi. * VERSION: release 2.9.16 2006-08-24 Erik Sandberg * input/mutopia/*: upgrade to new midi tempo syntax (repairs make web partially) 2006-08-24 Han-Wen Nienhuys * input/regression/tie-chord-partial.ly: clarify example. * scm/define-music-properties.scm (all-music-properties): remove untied. * ly/music-functions-init.ly: remove \untied. * lily/tie-engraver.cc (struct Head_event_tuple): store both stream events and music events. (stop_translation_timestep): search acknowledged heads for tie-event. * input/regression/tie-chord-partial.ly: new file. * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8 for \char markup command. * scm/define-event-classes.scm (unlistened-music-event-classes): idem. * scm/define-music-types.scm (music-descriptions): consistency: Use solo-{one,two}-event iso. solo-[12]-event. * lily/part-combine-engraver.cc (process_music): Use solo-{one,two}-event iso. solo-[12]-event. * ly/declarations-init.ly (partCombineListener): add Timing as alias * flower/std-string.cc (string_copy): use copy () * lily/source-file.cc (Source_file): use copy(). Remove contents_str0() 2006-08-24 Graham Percival * Documentation/user/changing-defaults.itely, global.itely, lilypond-book.itely, page.itely: minor changes from mailist. 2006-08-23 Han-Wen Nienhuys * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and snippet-map * scm/define-context-properties.scm (translator-property-description): robustness: detect type errors in property definitions. * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result after getting it from SCM. * lily/smobs.cc (protect_smob): switch off fancy smob protection for now. * lily/include/performer.hh (class Performer): strip get_tempo() method. * lily/midi-def.cc: strip file. * lily/lexer.ll (Lily_lexer): don't protect hash key separately. * lily/include/context-def.hh (struct Context_def): use VIRTUAL_COPY_CONSTRUCTOR(). * lily/source-file.cc: smobification. * lily/include/source-file.hh (class Source_file): smobify Source_file. Trim redundant members. * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect clones after creation. This plugs a huge memory leak. * python/convertrules.py (FatalConversionError.sub_tempo): complete rule for \midi{ \tempo } * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem. * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo. 2006-08-23 Joe Neeman * input/regression/optimal-page-breaking-hstretch.ly: test for ragged-last-bottom also * lily/paper-column-engraver.cc (finalize): make the end of a score breakable by default. This is to balance out a change in behaviour of the page-turn-breaker which no longer makes the end of a score breakable. * lily/paper-book.cc (pages): set the systems_ once the pages are broken * lily/page-turn-page-breaking.cc (calc_subproblem): use the new Page_breaking interface. * lily/page-breaking.cc (class Page_breaking): make the interface more consistent and provide abstractions for dealing with Line_divisions. * lily/optimal-page-breaking.cc (solve): use a more straightforward algorithm. Use the new interface to Page_breaking. * lily/page-spacing.cc: better support for ragged-bottom and ragged-last-bottom 2006-08-22 Han-Wen Nienhuys * python/convertrules.py (conv): warning on \tempo{} * ly/performer-init.ly: set tempoWholesPerMinute. * ly/midi-init.ly: remove \midi * lily/tempo-performer.cc: look at tempoWholesPerMinute to set MIDI tempo. * lily/metronome-engraver.cc (process_music): use tempoUnitCount tempoUnitDuration for determining what to print. * lily/lyric-extender.cc: typo. * lily/parser.yy (output_def_body): disallow \tempo in \midi{} * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new function. * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes. * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if eps-pad-boxes is set. * scripts/lilypond-book.py (main): use -deps-pad-boxes. * THANKS: update sponsors. * ly/english.ly: quarter tone naming (thanks, Trevor Baca) * Documentation/topdocs/NEWS.tely (Top): doc new feature. * input/regression/tie-chord-untied.ly: new file. * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property. * scm/define-music-properties.scm (all-music-properties): add 'untied property. * buildscripts/mutopia-index.py (allfiles): look for .ly rather than .ly.txt. (headertext_nopics): sanitize no-examples text. * scm/page.scm (make-page-stencil): don't rely on extents of page-stencil. This fixes spurious space around .EPS files produced with the EPS backend. 2006-08-21 Han-Wen Nienhuys * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional. * lily/hara-kiri-engraver.cc (process_music): remember keepAliveInterfaces after processing \set * lily/lyric-extender.cc (print): support left/right-padding for extenders. * scm/documentation-generate.scm (string-append): revert lilypond/ path, doc why. 2006-08-20 Graham Percival * Documentation/user/lilypond.tely: clarification to license presentation (not to actual license). * Documentation/user/basic-notation.itely, instrument-notation.itely: minor changes. * input/ {regression, test}/+.ly: clarification to text (you can click on examples). Thanks, Mats! * input/manual/bar-lines.ly: adds ||: repeats. 2006-08-20 Han-Wen Nienhuys * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES * scm/documentation-lib.scm (texi-file-head): category LilyPond. * Documentation/user/lilypond.tely: strip lilypond/ from info links, rename to category LilyPond * lily/pango-font.cc (description_string): new function. * VERSION: release 2.9.15 * lily/spacing-engraver.cc (stop_translation_timestep): use Dscho's fix for spacing spanner. * scm/define-music-types.scm (music-descriptions): use apply-output-event for ApplyOutputEvent * lily/output-property-engraver.cc (listen_apply_output): rename from listen_layout_instruction. * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new function protect() 2006-08-19 Han-Wen Nienhuys * scm/lily.scm (lilypond-all): option read-file-list: substitute commandline args with contains, split by \n. * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): write snippet-names file, call with -dread-file-list. Fixes command limitations on 64-bit systems. * input/regression/stencil-color-rotation.ly: new file. * lily/include/translator.hh (struct Acknowledge_information): revert: don't use Protected_scm in global objects, as GUILE can't handle gc_unprotect from automated destructors on MacOS X. * lily/grob.cc (get_print_stencil): use retval.expr() as base for color, not the original stencil. Fixes combinations of color/transparency/rotation. * scripts/lilypond-book.py (main): add --formats=eps for texinfo/latex. * lily/spacing-engraver.cc (stop_translation_timestep): don't crash if spacing_ is nonexistent. 2006-08-14 Mats Bengtsson * scripts/lilypond-book.py (output): Remove obsolete(!?) \catcode`\@=12 in the LaTeX output. 2006-08-11 Han-Wen Nienhuys * scm/define-music-types.scm (music-descriptions): use sustain-event iso. sustain-pedal-event. 2006-08-11 Joe Neeman * scripts/convert-ly.py: honour the -n command-line switch 2006-08-10 Han-Wen Nienhuys * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine break specification. 2006-08-10 Joe Neeman * Documentation/user: convert-ly the user manual 2006-08-09 Han-Wen Nienhuys * stepmake/aclocal.m4: version check patch (thanks MWD) * ly/music-functions-init.ly: robustness. Don't crash if currentBarNumber is not a number. * VERSION (PATCH_LEVEL): bump. 2006-08-08 Han-Wen Nienhuys * stepmake/aclocal.m4: better version check; handle fooX.Y binaries too. * ly/performer-init.ly: instrument name fixup. * input/manual/chord-names-jazz.ly (banterProperties): instrumentName update * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new function. Use hash tables to check membership. * lily/general-scheme.cc (LY_DEFINE): new function. * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem * lily/include/translator.hh (struct Acknowledge_information): add Protected_scm * ly/music-functions-init.ly: change name to BreathingEvent * input/regression/*.ly: apply it. * python/convertrules.py (conv): better instrumentName conversion rule. * scm/define-music-types.scm (music-descriptions): add line-break-event to LineBreakEvent music * lily/music.cc (to_event): don't crash if music type not set. * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if spacing not set. * lily/spacing-engraver.cc (stop_translation_timestep): set spacing for proportional notation too. * scm/translation-functions.scm (format-bass-figure): inspect stream-event. * scripts/lilypond-book.py (bindir): add bindir to $PATH. 2006-08-08 Joe Neeman * lily/include/constrained-breaking.hh: add Line_details (Prob*) * scm/page.scm (make-page): make it friendlier to call (esp. from C++) * scm/layout-page-layout.scm (make-page-from-systems): new function (optimal-page-breaks): use the new page-breaking calling convention * scm/define-context-properties.scm (all-user-translation-properties): add revokePageTurns * lily/paper-column-engraver.cc (stop_translation_timestep): add revokePageTurns functionality. If there is a special barline within the breakable region, break there instead of at the end of the region. * lily/paper-book.cc (pages): use the new page-breaking calling convention 2006-08-07 Erik Sandberg * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command * scripts/lilypond-book.py: insert \sourcefileline command in output, so lilypond error messages refer to the spot in the original .lytex / .itely sourcefile. 2006-08-04 Han-Wen Nienhuys * lily/spacing-loose-columns.cc (set_loose_columns): oops: use space to next column for distance to fixed col. * VERSION (PACKAGE_NAME): release 2.9.14 * lily/pitched-trill-engraver.cc (make_trill): do set_parent also if no accidental. * lily/accidental-engraver.cc (process_acknowledged): don't create accidental for trill span event. This fixes spurious accidentals on trills. 2006-08-04 Mats Bengtsson * scm/define-grob-properties.scm (all-user-grob-properties): Clarify documentation of side-axis and direction. Thanks to Paul for the inspiration. * lily/bar-line.cc: Add documentation for "||:" also in the interface documentation. 2006-08-04 Han-Wen Nienhuys * lily/spacing-loose-columns.cc (set_loose_columns): bugfix. * lily/paper-column.cc (set_system): new function. * lily/spacing-engraver.cc (stop_translation_timestep): store SpacingSpanner refs in Paper_column. * lily/spacing-loose-columns.cc (set_loose_columns): rewrite compute loose clique spacing using GraceSpacing/SpacingSpanner. 2006-08-03 Han-Wen Nienhuys * lily/beam-engraver.cc (listen_beam): add method for Grace_beam_engraver too. 2006-08-03 Mats Bengtsson * python/convertrules.py: Fix indentation bug that broke conversion of files older than 1.3.117. Fix escape error in the description for 2.9.6. 2006-08-02 Erik Sandberg * lily/*-engraver.cc: convert all try_music functions to listen_* functions. * lily/piano-pedal-engraver.cc: some additional cleanups: use enums to represent pedal types, and calculate more data statically. * scm/part-combiner.scm (recording-group-emulate): create a softcoded substitute for recording-group-engraver.cc. * lily/music.cc: make a common transpose function for events and music * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates ManualMelismaEvent, and obsoletes Melisma_translator. 2006-08-02 Han-Wen Nienhuys * input/test/instrument-name-align.ly: update version. 2006-08-02 Mats Bengtsson * Documentation/user/lilypond-book.itely (Invoking lilypond-book): Doc the --pdf flag to lilypond-book. 2006-07-31 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): add description. * input/regression/tuplet-full-length-note.ly: add file. * lily/instrument-name-engraver.cc (acknowledge_axis_group): always store axis group. 2006-07-27 Han-Wen Nienhuys * input/regression/instrument-switch.ly: new file. * lily/instrument-switch-engraver.cc (process_music): new file. * ly/engraver-init.ly: add Instrument_switch_engraver * ly/music-functions-init.ly: \instrumentSwitch * scm/define-context-properties.scm (all-user-translation-properties): add instrumentCueName * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch 2006-07-26 Han-Wen Nienhuys * ly/music-functions-init.ly: music function \transposition. * lily/parser.yy (command_element): softcode \transposition. * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step. (process_music): oops. * lily/instrument-name-engraver.cc (start_spanner): new function. Create spanner when property changes. (stop_spanner): new function. * python/convertrules.py (conv): add rule. * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam, shortInstrumentName iso. instr. * scm/output-ps.scm (dashed-line): add phase argument to dashed-line. * lily/bar-line.cc (dashed_bar_line): new function. (compound_barline): support \bar "dashed". * lily/lily-parser-scheme.cc (LY_DEFINE): only write --output=DIR to DIR/BASE if it is a dir. * flower/file-name.cc (file_part): new function (dir_part): new function * lily/lily-parser-scheme.cc (LY_DEFINE): * DEDICATION: update 2006-07-25 Han-Wen Nienhuys * lily/instrument-name-engraver.cc: formatting. * python/convertrules.py (conv): bugfix for \epsfile. 2006-07-25 Joe Neeman * lily/grob.cc: * lily/gourlay-breaking.cc: Oops, these should have been included in my last commit 2006-07-24 Han-Wen Nienhuys * scripts/*.py (program_name): cleanup relocation snippets. * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support. 2006-07-24 Joe Neeman * scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn page-breakable by default * scm/layout-page-layout.scm (space-systems): fix bug where the force isn't correctly calculated for a single-system page * scm/lily-library.scm (interval-sane?): also check that the first number is no bigger than the second number * lily/simple-spacer.cc (solve): allow compression even when ragged (but we acknowledge that we aren't satisfying constraints) * lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to non-Items * lily/grob.cc (pure_height): add minimum-Y-extent * lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're ragged * lily/constrained-breaking.cc: convert code to use new Matrix class (get_best_solution): new function * scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there is a page with no systems 2006-07-23 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.13 * scm/define-grobs.scm (all-grob-descriptions): remove stray assignment. 2006-07-21 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): doc new features. * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new function. * scm/define-grob-properties.scm (all-user-grob-properties): remove grace-space-factor. * scm/define-grob-interfaces.scm (grace-spacing-interface): add grace-spacing-interface (spacing-options-interface): add. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver * lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc * lily/spacing-basic.cc (note_spacing): do init_from_grob on GraceSpacing object. * lily/note-spacing.cc: fix prop list formatting * lily/beaming-pattern.cc (de_grace): new function. Sensible beaming for grace notes too. * input/regression/spacing-grace.ly: update. * lily/grace-spacing-engraver.cc: new file. * lily/spacing-spanner.cc: add strict-grace-spacing. 2006-07-20 Graham Percival * lily/parser.yy: compile fix. 2006-07-20 Han-Wen Nienhuys * scm/define-grobs.scm (all-grob-descriptions): typo. * scm/framework-eps.scm (dump-stencils-as-EPSes): just strip .eps extension from includegraphics. * scripts/lilypond-book.py (main): add support for --pdf. * lily/spacing-spanner.cc (calc_common_shortest_duration): use callback to compute common shortest duration. (set_springs): typo. * scm/define-grob-properties.scm (all-user-grob-properties): add strict-grace-spacing. * lily/spacing-determine-loose-columns.cc (is_loose_column): support float_grace_columns_. * lily/spacing-options.cc (init_from_grob): new file. * Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote. * input/regression/spacing-loose-grace.ly: new file. * Documentation/topdocs/NEWS.tely (Top): document new feature. * lily/tuplet-engraver.cc (struct Tuplet_description): read tupletFullLengthNote too. Choose right bound depending on value. * input/regression/tuplet-full-length-note.ly: new file. 2006-07-19 Erik Sandberg * lily/*-performer.cc: Converted try_music to listen_* * lily/grob-info.cc, lily/engraver.cc: represent the cause of grob as a stream-event internally. Introduce event_cause (), deprecate music_cause (). * scm/define-music-types.scm: Removed BusyPlayingEvent 2006-07-19 Mats Bengtsson * Documentation/user/advanced-notation.itely (Font selection): Document how to get a list of available fonts using 'lilypond -dshow-available-fonts blabla'. 2006-07-19 Han-Wen Nienhuys * GNUmakefile.in: filter lily-XXX.pdf files. * scm/define-grob-interfaces.scm (bend-after-interface): add thickness. * scm/define-grob-properties.scm (all-internal-grob-properties): remove delta-pitch. Use delta-position everywhere. * scm/output-lib.scm (fall::print): use new order. * scm/output-ps.scm (path): reorder arguments. * scm/output-svg.scm (path): support for path primitive. * input/regression/bend-after.ly: new file. * Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof recipe for eps -> pdf conversion. 2006-07-19 Erik Sandberg * lily/parser.yy, lily/lexer.ll: added some simplifications by Angelo Contardi. 2006-07-19 Graham Percival * input/manual/screech-boink.ly: moved to here. * input/screech-boink.ly: deleted. * scm/define-grob-properties.scm: clarify doc string. 2006-07-19 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): doc new feature. * scm/output-ps.scm (path): define path. * scm/define-stencil-commands.scm (ly:register-stencil-expression): add path. * scm/define-music-properties.scm (all-music-properties): add delta-pitch. * ly/engraver-init.ly: add Fall_engraver * lily/parser.yy (music_function_event): allow musicfunction without music arg as music_function_event. * lily/grob-scheme.cc (LY_DEFINE): ly:grob-robust-relative-extent. New function. * scm/define-grobs.scm (all-grob-descriptions): add BendAfter * scm/define-music-types.scm (music-descriptions): add BendAfterEvent. * scm/output-lib.scm (fall::print): new function * lily/fall-engraver.cc (stop_fall): new file. * ly/music-functions-init.ly: alphabetise. * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as base. 2006-07-17 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): bump version. Release 2.9.12 * Documentation/user/lilypond-book.itely (Invoking lilypond-book): doc pdftex usage. * lily/translator-group.cc (connect_to_context): non const error message. * Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF * scm/paper.scm (internal-set-paper-size): define landscape to #f if unset. * scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape. * stepmake/stepmake/texinfo-rules.make: strip DVI support. * scm/framework-eps.scm (dump-stencils-as-EPSes): generate systems.pdftex too. * scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF. * make/lilypond-vars.make (TEXINPUTS): add pdf output format. * Documentation/topdocs/NEWS.tely (Top): add pdftex note. * scm/output-ps.scm (resetrotation): use gsave/grestore for rotation. * lily/main.cc (parse_argv): don't overwrite previous --formats string. * scm/backend-library.scm (postscript->pdf): strip .eps too. 2006-07-14 Nicolas Sceaux * scm/layout-page-layout.scm: Define module, tidy code, use more functions iso. a single big one. * scm/layout-page-dump.scm: move page dump functions used in two pass spacing to this file. Define module. * scm/lily.scm (ly:load): don't load layout-page-layout.scm (separate module) * ly/paper-defaults.ly: use module layout-page-layout. 2006-07-14 Erik Sandberg * lily/music.cc: Revised MusicEvent event class. It now contains event data directly instead of encapsulating it in music. The previously used class is renamed to OldMusicEvent. * lily/stream-event.cc: Stream events are now probs. * lily/translator-group.cc, lily/translator.cc: Translators can now listen directly to stream events, by using macros [DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER. * lily/arpeggio-engraver.cc: Converted to use new event system * THANKS: Corrected spelling mistake. 2006-07-12 Graham Percival * Documentation/user/SConscript, make/lilypond-vars.make, input/GNUmakefile: doc build looks in input/manual instead of input/test/ * input/manual/ GNUmakefile, SConscript: build files for input/manual/ * input/test/ various: some files moved to input/manual/ * Documentation/user/basic-notation.itely: small updates; thanks Kieren and Charles! 2006-07-12 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.11 * Documentation/topdocs/NEWS.tely (Top): update prop value * Documentation/user/basic-notation.itely (Tuplets): new property value. 2006-07-11 Han-Wen Nienhuys * python/convertrules.py (conv): tweaks. * VERSION (PATCH_LEVEL): bump version. * python/convertrules.py (conv): add rule for tupletNumberFormatFunction. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove tupletNumberFormatFunction. * scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber text through 'text callback. * lily/time-scaled-music-iterator.cc (construct_children): copy tweaks generated events. * scm/define-context-properties.scm (all-user-translation-properties): remove tupletNumberFormatFunction * lily/tuplet-engraver.cc (process_music): don't read tupletNumberFormatFunction * scm/output-lib.scm (tuplet-number::calc-fraction-text): new function. 2006-07-11 Erik Sandberg * lily/global-context-scheme.cc: Separated ly:run-translator into smaller pieces. * lily/score-engraver.cc, lily/score-performer.cc, scm/define-context-properties.scm: Make paper/midi output accessable as a context property. * lily/score-translator.cc, lily/score-context.cc: Removed. 2006-07-07 Guido Amoruso * scm/ps-to-png.scm (Module): * scm/framework-tex.scm (Module): * scm/framework-ps.scm (Module): * scm/backend-library.scm (Module): * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and "dDEVICEHEIGHTPOINTS". 2006-07-04 Graham Percival * Documentation/user/ various: general improvements to "working with lilypond files" section. 2006-07-03 Erik Sandberg * lily/sequential-iterator.cc: Change the default get_music_list to read elements-callback music property * scm/define-music-types.scm, scm/music-functions.scm: Cleaner processing of multimeasure rests. Softcoded sequential-music-iterator. * lily/sequential-music-iterator.cc: Removed. 2006-06-28 Graham Percival * Documentation/user/basic-notation.itely: clarify \repeatTie. 2006-06-27 Erik Sandberg * lily/parser.yy: Wrap non-post-events in EventChords before assigning them to identifiers. 2006-06-27 Mats Bengtsson * lily/bar-line.cc (compound_barline): Fix parenthesis error, gives correct vertical placement of \bar ":" in all staff sizes. Thanks Martial! 2006-06-26 Graham Percival * Documentation/user/invoking.itely : minor update from mailist. 2006-06-26 Erik Sandberg * lily/ various: Introduce stream events of types Prepare, OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext, ChangeContext, SetProperty, RevertProperty, Override and Revert. * lily/global-context*.cc: Time is now -inf before iteration starts. * lily/include/context.hh: Removed unique_, init_ * Documentation/topdocs/NEWS: Make the feathered beam example avoid triggering a bug. 2006-06-24 Graham Percival * Documentation/user/ various: small additions from mailist. 2006-06-22 Mats Bengtsson * ly/performer-init.ly: Add some missing links in the context hierarchy for MIDI output. There are probably some more missing! 2006-06-21 Graham Percival * Documentation/user/ various: minor spelling fixes; thanks Dave Luttinen! * Documentation/user/ various: small clarifications; thanks Anthony Youngman! 2006-06-20 Han-Wen Nienhuys * po/fr.po: add \n appropriately. * lily/lexer.ll: remove ? from version-seen? 2006-06-19 John Mandereau * po/fr.po; update translation, by Jean-Charles Malahieude and John Mandereau. 2006-06-19 Han-Wen Nienhuys * THANKS: add Markus Schneider. * lily/tab-staff-symbol-engraver.cc: derive from Engraver, not Staff_symbol_engraver * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't replace staff_engraver * lily/staff-symbol-engraver.cc (stop_spanner): announce end of spanner. * lily/staff-collecting-engraver.cc (acknowledge_end_staff_symbol): new function * lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function. * lily/staff-collecting-engraver.cc (acknowledge_end_staff_symbol): new function. * lily/main.cc: switch on relocation by default. 2006-06-18 Han-Wen Nienhuys * lily/spacing-spanner.cc (musical_column_spacing): set compound_fixed_note_space to 0.0. Document why. * lily/simple-spacer.cc (is_sane): also have a kludge for numeric range of inverse_hooke_ (Simple_spacer): init completely. (fits): const (get_line_configuration): don't use cols.resize(); it introduces initialized data. * scm/framework-ps.scm (dump-page): add setstrokeadjust. * ps/music-drawing-routines.ps: remove selectfont L1 hack. * lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd try. Divide by beatlength. * input/regression/beaming-ternary-metrum.ly: update doc. add beatLength hack. * scm/music-functions.scm (make-time-signature-set): add standard-beat-grouping. 2006-06-17 Han-Wen Nienhuys * input/regression/tie-whole.ly: new file. * lily/tie-formatting-problem.cc (set_column_chord_outline): don't cross center of note head in case of invisible stem. 2006-06-16 Graham Percival * Documentation/user/ various: small fixes from mailist. 2006-06-16 Han-Wen Nienhuys * lily/breathing-sign.cc (offset_callback): idem. * lily/align-interface.cc (align_to_fixed_distance): remove hungarian suffix. * lily/beaming-pattern.cc (count_factor_twos): oops. We want x%2==0. 2006-06-15 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.9 * ly/lilypond-book-preamble.ly: add \version 2006-06-14 Han-Wen Nienhuys * scripts/lilypond-book.py (PREAMBLE_LY): include lilypond-book-preamble.ly * lily/stem.cc (get_beaming): return max of 0 and scm_ilength. Fixes slurring from/to beams. * ly/lilypond-book-preamble.ly: new file. * lily/slur.cc: add inspect-index feature. 2006-06-13 Graham Percival * Documentation/user/tutorial.itely: trivial fix. 2006-06-13 Erik Sandberg * lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost all non-event music in the parser via MAKE_SYNTAX. * lily/parser-scheme.cc: Add ly:parser-error function * scm/paper.scm: fix typo 2006-06-13 Han-Wen Nienhuys * THANKS: add RT. * lily/font-config.cc (init_fontconfig): add warning if cache_file is null. * buildscripts/output-distance.py (test_compare_signatures): timing routines. (read_signature_file): use new signature format. * scm/stencil.scm (write-system-signature): simpler signature format. * lily/stem.cc (calc_stem_end_position): calc quantized-positions for beamed case. * lily/note-spacing.cc (stem_dir_correction): don't inspect stem_end_position, but estimate instead. * lily/tuplet-bracket.cc (calc_positions): look at stem-end-position for tuplet bracket slope. Fixes sloped tuplet brackets narrower than beams. * lily/lexer.ll: set version-seen? even if version is INVALID. * lily/rest.cc (y_offset_callback): bugfix: decide position override based on scm_is_number(). Fixes \rest on center staff line. * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming patterns for 16th triplets. 2006-06-10 Graham Percival * Documentation/user/ page.itely, global.itely: editing and reorg. * Documentation/user/ various: findex -> funindex. 2006-06-10 Erik Sandberg * lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to insert extra tuplet events. 2006-06-10 Graham Percival * Documentation/user/programming-interfaces.itely: add info from NEWS. * python/convertrules.py: add annotatefoo -> annotate-foo rules. * Documentation/user/global.itely: start editing. * Documentation/user/page.itely: major editing, new spacing docs. 2006-06-10 Han-Wen Nienhuys * scm/define-markup-commands.scm (wordwrap-markups): use output-def 'line-width if undefined. * HACKING: trim outdated info. 2006-06-09 Mats Bengtsson * scm/define-grobs.scm (all-grob-descriptions): Add line-spanner-interface to all grobs that already have text-spanner-interface or dynamic-text-spanner-interface * scm/page.scm: Rename annotate{headers,systems,page}-> annotate-* * input/regression/page-spacing.ly, input/regression/page-layout-manual-position.ly: idem 2006-06-09 Han-Wen Nienhuys * lily/line-spanner.cc: cleanup property list. * scripts/lilypond-book.py (find_toplevel_snippets): don't use generator expressions (2.3 compat). 2006-06-09 Mats Bengtsson * lily/vertical-align-engraver.cc: Make sure that the align{Above,Below}Context properties are included in the automatic documentation. 2006-06-08 Joe Neeman * scm/paper-system.scm (paper-system-annotate): also annotate the estimated pure-Y-extent * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions * lily/system.cc (break_into_pieces): set the estimated height of each child system * lily/stem.cc (pure_height): new pure-Y-extent callback * lily/staff-symbol-referencer.cc (callback): don't destroy the staff-position property * lily/hara-kiri-group-spanner.cc (request_suicide): split consider_suicide into two functions * lily/constrained-breaking.cc (resize): use the new pure callbacks to estimate the height of a system * lily/axis-group-interface.cc (pure_group_height): new side-effect-free VerticalAxisGroup height-callback * lily/align-interface.cc (get_extents_aligned_translates): split align_elements_to_extents into two functions (get_pure_child_y_translation): new function * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset * lily/item.cc: new functions pure_is_visible and spanned_rank_iv * lily/paper-score.cc: cache break_indices and columns * lily/side-position-interface.cc: new pure-Y-extent callbacks 2006-06-08 Han-Wen Nienhuys * lily/font-config.cc (init_fontconfig): do the init if cache_file, but don't look at cache_file. * input/regression/quote-tie.ly: new file. * lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_ to Head_event_tuple, so we deal gracefully with ties on cue-endings. * lily/pango-font.cc (pango_item_string_stencil): type correctness for FcChar8* 2006-06-08 Graham Percival * input/test/ smart-transpose.ly, reverse-music.ly: \applyMusic to music functions update, thanks Michael! 2006-06-07 Graham Percival * input/test/ add-staccato.ly, add-text-script.ly, unfold-all-repeats.ly, music-box.ly: \applyMusic to music functions update, thanks to Michael Meixner. * Documentation/user/music-glossary.tely: small fix from Francisco. * Documentation/user/ various: minor additions from mailist. * Documentation/user/lilypond.tely, basic-notation.itely: small test of @funindex. (works here) * input/test/font-table.ly: reduce size to partially de-ugly version in manual. * Documentation/user/page.itely: new file (split former "global issues" into "page settings" and "non-musical output". * Documentation/user/ various: fix @ref{}s to match new chapter names (above). 2006-06-07 Jan Nieuwenhuizen * SConstruct (LILYPONDPREFIX): Bootstrap fix. 2006-06-06 Graham Percival * Documentation/user/advanced-notation.itely: add example for segno/coda on barline. * tex/texinfo.tex: merge from upstream. 2006-06-06 Jan Nieuwenhuizen * scripts/lilypond-book.py (process_snippets): Argument fix. * SConstruct: * buildscripts/builder.py: * lily/SConscript: * mf/SConscript: * Documentation/user/SConscript: More SCons fixes. 2006-06-03 Jan Nieuwenhuizen * lily/font-config.cc (init_fontconfig): Only initialize if global cache_file is found. 2006-06-06 Erik Sandberg * ly/music-functions-init.ly: Updated \overrideProperty to use the new \applyOutput. 2006-06-06 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.8 * lily/ledger-line-engraver.cc (stop_translation_timestep): new function. Delay ledger modifying ledgered grobs to stop_translation_timestep(), to ensure that we're ledgering according to the new spanner. (acknowledge_staff_symbol): don't check for non-NULL staff_sym->get_bound() * lily/staff-symbol-engraver.cc (start_spanner): set left bound on creation. * Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for pictures too. * GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4 directly from srcdir/stepmake/aclocal.m4 * Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for disting MISC files. * lily/simple-spacer.cc (get_column_desc): desc -> description. 2006-06-06 Joe Neeman * lily/simple-spacer.cc (get_line_configuration): add keep-inside-line rods (struct Column_desc): add constructor (struct Rod_desc): add constructor (get_line_forces): check for forced page breaks here too * lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent support/elements cycles between InstrumentNames and AxisGroups 2006-06-06 Han-Wen Nienhuys * config.make.in (METAFONT): remove MAKEINFO_VERSION * stepmake/stepmake/topdocs-targets.make (make-txt-files): define make-txt-files target. * stepmake/stepmake/toplevel-targets.make (do-top-doc): use make-txt-files target. * configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py * stepmake/stepmake/generic-vars.make (distdir): create dist in top-build-dir. 2006-06-06 Jürgen Reuter * Documentation/user/instrument-notation.itely, input/regression/breathing-sign-ancient.ly, input/test/divisiones.ly: Removed redundant property settings for vaticana contexts. * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to fix lyrics alignment problems. They are implemented now as scheme functions that add the appropriate unicode char to the first lyric event rather than adding a separate lyric event. Minor edit of comments. 2006-06-06 Han-Wen Nienhuys * GNUmakefile.in (dist-toplevel-txt-files): new target. Don't pollute src dir with built .txt files, but install directly from Documentation/topdocs/out/ * buildscripts/output-distance.py (ComparisonData.create_html_result_page): put version/directories in table header. * Documentation/topdocs/NEWS.tely (Top): document spacing section feature. * configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links. Patch by Karl Hammar * buildscripts/readlink.py: add file. Patch by Karl Hammar 2006-06-06 Joe Neeman * lily/tuplet-number.cc (print): prevent stencil from being garbage collected. 2006-06-05 Han-Wen Nienhuys * scm/stencil.scm (write-system-signature): explicitly -well, superfluously- close output port. * buildscripts/output-distance.py (main): oops. Add extra argument. 2006-06-05 Graham Percival * Documentation/user/music-glossary.tely: clarified example from Francisco Vila, thanks! 2006-06-05 Han-Wen Nienhuys * input/regression/spacing-section.ly: new file. * lily/input.cc (programming_error): new function. * lily/spacing-engraver.cc (try_music): new function. Accept spacing-section-event * lily/spacing-spanner.cc (set_springs): take slices of all columns for spacing. * lily/include/paper-column.hh (class Paper_column): add Paper_column::compare. * ly/spanners-init.ly (newSpacingSection): add newSpacingSection. * scm/define-music-types.scm (music-descriptions): add SpacingSectionEvent * lily/music-iterator.cc (report_event): use programming_error for sending non-event error. * lily/input.cc (programming_error): new function * buildscripts/output-distance.py (main): use compare-XXX for compare files. (main): --threshold option, default at 0.30 * output-distance.py (main): add --threshold option. 2006-06-04 Nicolas Sceaux * scm/paper-system.scm (paper-system-annotate): fix problem when annotating an empty system 2006-06-04 Han-Wen Nienhuys * GNUmakefile.in: reinstate old web tar/copying. 2006-06-03 Han-Wen Nienhuys * lily/lyric-combine-music-iterator.cc (find_voice): return 0 if nothing changes. (Erik S) * lily/percent-repeat-iterator.cc (get_music_list): fix repeat count. (Erik S) 2006-05-28 Nicolas Sceaux * scm/define-markup-commands.scm (whiteout): do not force foreground color of argument markup to black. * scm/stencil.scm (annotate-y-interval): put arrow dimension at the left of the arrow, instead of below the arrow name, so that, when two little arrows are vertically stacked, their dimensions and name should not overlap. Add a color key parameter. * scm/paper-system.scm (paper-system-annotate): Annotate next-space+next-padding instead of next-space. Annotate space between next-padding and next-space+padding, respectively, and following system extent and refpoint-Y-extent. Use colors. * scm/page.scm (annotate-page): translate annotations slightly to the right. 2006-06-03 Han-Wen Nienhuys * lily/figured-bass-position-engraver.cc (acknowledge_end_slur): fix for x-staff slurs. Thanks Joe! * buildscripts/output-distance.py (SystemLink.output_expression_change_count): keep track of changed details, and dump in details html page. * input/regression/figured-bass-staff.ly: add note about setting properties in Staff context. * lily/figured-bass-position-engraver.cc (acknowledge_slur): add slurs and ties to support too. * buildscripts/output-distance.py (main): set dest_dir argument. Add --max-count option. 2006-06-02 Jürgen Reuter * ly/gregorian-init.ly: Converted to utf-8. Added memorable shortcuts for special unicode chars that are useful in chant notation. Revised exisiting and added new comments. 2006-06-02 Han-Wen Nienhuys * make/mutopia-rules.make: remove duplicate recipe. 2006-06-02 Werner Lemberg * tex/texinfo.cnf: Fix typo (\euro -> \minus). Add support for U+0132 (IJ) and U+0133 (ij). 2006-06-02 Han-Wen Nienhuys * buildscripts/output-distance.py (FileLink): new class. collect info systems from one .ly file. (FileLink.link_files_for_html): further tweaks. 2006-06-02 Graham Percival * tex/texinfo.tex: partial fix for @funindex. * Documentation/user/macros.tely: uncomment @funindex (doesn't break anything). 2006-06-02 Han-Wen Nienhuys * make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly * tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for @example too. Backportme. 2006-06-02 Graham Percival * tex/texinfo.cnf: added UTF-8 support for texinfo; patch from Werner Lemberg. 2006-06-02 Paco (Francisco Vila) * Documentation/user/music-glossary.tely: additional spanish updates and a lyrics fix in an example. 2006-06-02 Jürgen Reuter * scm/define-grob-properties.scm: Previous patch contained spurious line from another patch not yet committed. Fixed. * scm/define-grob-properties.scm: Add missing doc strings for ancient notation. 2006-06-01 Han-Wen Nienhuys * buildscripts/output-distance.py (ComparisonData.write_text_result_page): separate the scores, sort by geo_score. * scm/framework-eps.scm (output-classic-framework): start at 1 for system signatures. * buildscripts/output-distance.py (me_path): use argv[0] for sys.path extension (ComparisonData.img_cell): use colored borders. * scm/stencil.scm (write-system-signature): escape newlines too. (write-system-signature): use (1,-1) interval for empty interval 2006-01-01 Graham Percival * Documentation/user/music-glossary.tely: Spanish updates from Francisco Vila. * Documentation/user/lilypond-book.itely: addition from Vaclav Smilauer. * Documentation/user/ various: edits, small additions from mailist, etc. 2006-06-01 Jan Nieuwenhuizen * GNUmakefile.in (tree-lib-prefix-current): (tree-share-prefix-current): Use version number in tree, add `current' symlinks. 2006-06-01 Han-Wen Nienhuys * GNUmakefile.in: write VERSION, again. * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf $(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too. * stepmake/aclocal.m4: robuster version detection. * buildscripts/output-distance.py (ComparisonData.create_html_result_page): copy only if file exists, fixup src paths. * stepmake/bin/add-html-footer.py (built): junk gulp_file() 2006-06-01 Jan Nieuwenhuizen * stepmake/aclocal.m4: Robustification for (gcc) version detection. Another datarootdir reto. * cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't available. This should be moved to postinstall-lilypond-doc. 2006-05-31 Han-Wen Nienhuys * GNUmakefile.in: simplify local-WWW-post. remove -type l from find. * buildscripts/output-distance.py (ComparisonData.compare_trees): fixes. Don't follow symlinks. (ComparisonData.create_html_result_page): remove previous results. insert ../python in path. * scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes. 2006-05-31 Jan Nieuwenhuizen * config.make.in (datadir): Add datarootdir to silence autoconf. * stepmake/aclocal.m4: Update for autoconf-2.59d. 2006-05-31 Erlend Aasland * dynamic-engraver.cc: fix bug (dynamics collide with accidentals) * scm/output-ps.scm (repeat-slash): fix a bug that made repeat slash beams too wide. 2006-05-30 Han-Wen Nienhuys * VERSION: release 2.9.7 2006-05-30 Jan Nieuwenhuizen * lily/relocate.cc (read_relocation_dir): Do not blindly dereference DIR. 2006-05-30 Han-Wen Nienhuys * lily/parser.yy: replace THIS by PARSER * Documentation/index.html.in: add link to test-results.html page. * Documentation/topdocs/NEWS.tely (Top): update NEWS entry. * scm/translation-functions.scm (format-bass-figure): translate digits over 10 to the left * scm/define-markup-commands.scm (translate-scaled): new markup. * mf/feta-nummer-code.mf (code): overshoot the topright tip of the 7 glyph. * ly/engraver-init.ly: add Figured_bass_engraver * lily/engraver-group.cc (acknowledge_grobs): use start/stop drul. * lily/figured-bass-engraver.cc (clear_spanners): use everywhere. * lily/score-engraver.cc (announce_grob): only note START announces. * lily/include/engraver-group.hh (Translator_group): acknowledge_hash_table_ is now drul. * lily/engraver.cc (announce_end_grob): new method. * lily/include/grob-info.hh (class Grob_info): add start_end_ member. * lily/translator-dispatch-list.cc (create): take start_end argument. * lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change acknowledge_static_array_ to drul * lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro. * scm/define-grob-interfaces.scm (bass-figure-alignment-interface): add bass-figure-alignment-interface * scm/define-grobs.scm (all-grob-descriptions): add BassFigureAlignmentPositioning * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version number stays up to date. Backportme. 2006-05-30 Mats Bengtsson * Documentation/user/basic-notation.itely (Bar lines): Document the "||:" bar type. 2006-05-30 Jan Nieuwenhuizen * buildscripts/builder.py: Remove --ly option/target from mf-to-table. * scripts/lilypond-book.py: Bugfix: do not blindly attempt .../current hack if LILYPONDPREFIX is fine. Fixes `scons doc' build. * Resurrect `scons lily' build. * SConstruct (symlink_tree): Bugfix: link music-drawing-routines.ps to file iso directory. * lily/SConscript: Remove kpath-guile from LIBS. * SConstruct (libdir_package_version): Typo. (configure): Comment-out fontforge for lack of fontforge.pc . Also add libdir* to environment. 2006-05-30 Graham Percival * Documentation/user/ various: minor additions from mailist and editing. 2006-05-30 Paco * Documentation/user/music-glossary.tely: numerous corrections and some new translations. 2006-05-29 Han-Wen Nienhuys * BackportmeStart. * buildscripts/output-distance.py (ComparisonData.create_html_result_page): new routine: summarise results in HTML page with images. (ComparisonData.create_text_result_page): create summary text files too. * GNUmakefile.in (web-ext): package .signature files too. They compress well. * scm/stencil.scm (write-system-signature): typo. * GNUmakefile.in: create web-root/VERSION to help upload scripts. * scm/stencil.scm (write-system-signature): better escaping. only write signature for music systems, not for markup systems. * scm/framework-ps.scm (output-framework): dump-signatures support for plain output. * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures. * scm/framework-ps.scm (write-preamble): redefine mark_URI to nop for -dno-point-and-click * lily/grob.cc (get_print_stencil): don't read point_and_click_global to determine whether to set grob-cause. 2006-05-28 Han-Wen Nienhuys * buildscripts/output-distance.py (main): new function. (ComparisonData): new class. * lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more careful with generating new LedgerLineSpanners. * lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff. * ly/engraver-init.ly: remove Ledger_line_engraver from Voice context. This fixes double ledger lines in output. * lily/system.cc (get_paper_system): remove 3 layer limit. * buildscripts/output-distance.py (SystemLink.distance): new file. Compare signatures. * python/safeeval.py (SafeEval.visitUnarySub): new file. * lily/grob-array.cc (remove_duplicates): rename from uniq(). Sort before calling uniq() so it actually works. 2006-05-27 Han-Wen Nienhuys * scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip \version from lilypond file snippet. (Lilypond_file_snippet.ly): oops. typo. (find_toplevel_snippets): urgh. again. * lily/system.cc (get_paper_systems): uniq all_elements_ , to prevent duplicated broken items in output. * scm/framework-eps.scm (output-classic-framework): only dump if dump-signatures is set. * scm/lily.scm (define-scheme-options): add dump-signatures option. * scm/stencil.scm (write-system-signature): new routine: write python parseable signature of a separate paper system. BackportmeEnd. 2006-05-26 Han-Wen Nienhuys * lily/stanza-number-engraver.cc (process_music): use is_markup() iso is_string(). include header. 2006-05-25 Erik Sandberg * translator-group.cc: send music events to engravers in non-bottom contexts. * tuplet-engraver.cc: process tuplet brackets in correct order. 2006-05-24 Han-Wen Nienhuys * stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since arg 2 might point us to a new binary (patch by Karl Hammar) 2006-05-24 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.6 * Documentation/topdocs/NEWS.tely (Top): trim explanation. * Documentation/user/*.itely: 2nd attempt: replace funindex -> findex globally. 2006-05-24 Nicolas Sceaux * input/no-notation/display-lily-tests.ly: fix \applyOutput test. Add \break, \pageBreak, \pageTurn, etc, tests. * scm/define-music-display-methods.scm: display methods for breaks. Fix \applyOutput. 2006-05-24 Han-Wen Nienhuys * Documentation/user/macros.itexi: comment out funindex expansion. * Documentation/user/music-glossary.tely: junk \oldaddlyrics everywhere. * GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks Karl Hammar. Backportme. * Documentation/user/advanced-notation.itely (Balloon help): idem. * Documentation/user/changing-defaults.itely (Creating contexts): idem. * Documentation/user/programming-interface.itely (Running a function on all layout objects): idem. * Documentation/user/introduction.itely (Automated engraving): update \applyOutput syntax * lily/lyric-combine-music-iterator.cc (start_new_syllable): remove debugging hook. * configure.in (LINK_GXX_STATICALLY): use "" to allow $ expansion. * Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E. * stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add TEXI2DVI_FLAGS to texi2dvi invocation. 2006-05-24 Erik Sandberg * lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo" works. More work is done by iterator now, and engraver has been very much simplified. * lily/translator-group.cc: try_music is now invoked through a listener * lily/*-iterator.cc: Massive cleanups. Junked try_music_in_children globally. Renamed try_music to report_event, and made that method descend to a bottom context automatically. * lily/event-iterator.cc: New file. * lily/output-property-iterator.cc, lily/old-lyric-combine-music-iterator.cc: Removed. * python/convert-rules.py: Modified the syntax for \applyOutput. 2006-05-23 Graham Percival * stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc creation. * Documentation/user/ various: stuff that might have helped to fix the pdf creation, plus some minor doc additions. * Documentation/user/changing-defaults.itely: remove @b from @b{ @internasref{foo}}; this breaks texi2dvi -E. 2006-05-23 Han-Wen Nienhuys * lily/beaming-pattern.cc (beamify): deal with negative start moments for beaming patterns. 2006-05-22 Han-Wen Nienhuys * lily/beaming-info.cc (beamify): new function: read beatLength and beatGrouping from context. * input/regression/beam-beat-grouping.ly (Module): new file. * input/regression/beam-unconnected-beamlets.ly (Module): new file. * lily/beam.cc (get_beam_segments): generate events for max_connect_ case too. (get_beam_segments): read Stem::max-beam-connect. * input/regression/beam-single-stem.ly: new file. * lily/stem.cc (set_beaming): use #f as signaling value for beamcount 0. * lily/beam-engraver.cc (typeset_beam): set right bound if unset. * lily/beam.cc (set_beaming): read clip-edges property. (calc_direction): don't suicide for single stem. * lily/beaming-info.cc (best_splitpoint_index): take bool* argument, remove 1<<15 hack. Remove clip_edges() * lily/hairpin.cc (print): only do padding for nonmusical bounds 2006-05-21 Graham Percival * Documentation/user/basic-notation.itely: reorg. * Documentation/user/ various: minor fixes. 2006-05-20 Han-Wen Nienhuys * lily/stencil-expression.cc (register_stencil_head): opps, append to cdr of static SCM object. 2006-05-19 Graham Percival * Documentation/user/README.txt, lilypond.tely, macros.itexi: update framework for command index. DOC WRITERS: use @funindex instead of @cindex @code{}. * Documentation/user/ various: replace @cindex @code{} => @funindex 2006-05-19 Han-Wen Nienhuys * lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in case positions is set manually. 2006-05-18 Erik Sandberg * scm/ly-syntax-constructors.scm: New file. Converted a few syntax rules to Scheme. 2006-05-18 Han-Wen Nienhuys * Documentation/user/changing-defaults.itely (Contexts explained): use absolute dimension for @image. * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG out image for illustration too. ($(outdir)/%.png): add more png <-> eps rules. 2006-05-17 Graham Percival * Documentation/user/ various: remove trailing whitespace, cosmetic change to reduce changes produced by diff. 2006-05-17 Han-Wen Nienhuys * lily/main.cc (do_chroot_jail): correctness tweak. * python/lilylib.py (system): import subprocess in system () only. * scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme. * make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst variable. Backportme. 2006-05-17 Erik Sandberg * lily/parser.yy: Change all syntax rules of type Music to SCM type 2006-05-17 Werner Lemberg * lily/lexer.ll (init_signature_has_table): Add `scm-scm-music-music'. * lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token. (Generic_prefix_music_scm): Add rule for it. * lily/quote-iterator.cc (Quote_iterator::process): Handle `quoted-transposition' property. * ly/music-functions-init.ly (transposedCueDuring): New function. * scm/define-music-properties.scm (all-music-properties): Updated. * Documenation/topdocs/NEWS.itely: Document it. 2006-05-17 Han-Wen Nienhuys * python/lilylib.py (system): move import subprocess to system() definition. * python/convertrules.py (conv): fix convert-ly rules for 2.9.4 * VERSION (PATCH_LEVEL): release 2.9.5 * Documentation/topdocs/INSTALL.texi (Top): update versions and build instructions. * ly/engraver-init.ly: switch on hairpinToBarline by default. 2006-05-16 Graham Percival * Documentation/user/basic-notation.itely: editing from Dave, thanks! * Documentation/user/ various: minor fixes. 2006-05-16 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature. 2006-05-16 Mats Bengtsson * Documentation/user/advanced-notation.itely (Instrument names): Modified obsolete instruction on how to move instrument names away from the staves. Hmm, at second thought the bug probably has been solved, so the full bug description should probably be removed. 2006-05-16 Han-Wen Nienhuys * lily/dynamic-engraver.cc (typeset_all): hang ending on currentCommandColumn. * lily/hairpin.cc (print): also add padding for non-neighbor hairpin bounds. * scm/define-context-properties.scm (all-user-translation-properties): add hairpinToBarline * input/regression/hairpin-to-barline.ly: new file. * lily/context.cc (internal_send_stream_event): thinko fix. * lily/tie.cc (set_default_control_points): robustness fix. * python/musicxml.py (Part.interpret): don't complain about incomplete measures. * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add new music if last_event_chord() returned None. * python/musicxml.py (Part.interpret): skip back over chord notes. 2006-05-16 Erik Sandberg * lily/percent-repeat-engraver.cc, lily/parser.yy, lily/define-music-types.cc, lily/percent-repeat-iterator.cc, lily/slash-repeat-engraver.cc, lily/include/percent-repeat-iterator.hh: Rework percent repeats: iterator sends PercentEvents * lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc: rework tuplets: send start/stop events to engraver * lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add dispatchers event-source and events-below to Context 2006-05-15 Graham Percival * Documentation/user/README.txt: update info for doc writers. * Documentation/user/programming-interface.itely: integrate Nicolas' fixes for chapter rewrite. * Documentation/user/ various: minor fixes. 2006-05-15 Han-Wen Nienhuys * lily/clef-engraver.cc: cleanup. * Documentation/user/GNUmakefile: dist context-example.eps too. * lily/key-engraver.cc (create_key): use explicitKeySignatureVisibility for cancellation too. * lily/font-config.cc (init_fontconfig): don't close file if f==NULL. 2006-05-15 Erlend Aasland * Documentation/topdocs/NEWS.tely: niente and rotation news 2006-05-14 Erlend Aasland * lily/include/stencil.hh * lily/stencil.cc (rotate): new function. Makes it possible to rotate a stencil around a given offset. * lily/grob.cc (get_print_stencil): add rotation support * lily/stencil-interpret.cc (interpret_stencil_expression): add rotation support * lily/stencil-scheme.cc (ly:stencil-rotate): new function * scm/define-grob-properties.scm: add 'rotation property * scm/define-markup-commands.scm: add rotate markup command * scm/output-ps.scm: add rotation support in PostScript backend * scm/output-svg.scm: add rotation support in SVG backend 2006-05-13 Graham Percival * Documentation/user/music-glossary.itely: French correction. * Documentation/user/programming-interface.itely: major new docs, some reorg, some info from Nicolas. * Documentation/user/ various: small fixes. 2006-05-12 Mats Bengtsson * Documentation/user/programming-interface.itely (Markup programmer interface): Remove duplicate text. 2006-05-12 Graham Percival * Documentation/user/context-example.eps: new file. * Documentation/user/changing-defaults.itely: set up file to use eps image. * Documentation/user/programming-interface.itely: changes from mailist. 2006-05-12 Han-Wen Nienhuys * configure.in (LINK_GXX_STATICALLY): python 2.4 req. 2006-05-11 Graham Percival * Documentation/user/programming-interface.itely: first round of editing and merging emails from Nicolas. * Documentation/user/scheme-tutorial: minor edit. 2006-05-11 Han-Wen Nienhuys * python/musicxml.py (Xml_node.__init__): _attribute_dict stores XML attributes. (Xml_node.message): use it. * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): oops. Add duration argument. 2006-05-10 Joe Neeman * lily/paper-column-engraver.cc (make_columns): * scm/define-grobs.scm: Revert my previous change and set the default in define-grobs.scm instead. 2006-05-09 Graham Percival * Documentation/user/changing-defaults.itely: general editing, info about \set and \override. * Documentation/user/tweaking.itely, advanced-notation.itely: fixes from Dave Luttinen, thanks! 2006-05-09 Joe Neeman * lily/paper-column-engraver.cc (make_columns): By default, a column needs to be breakable. 2006-05-09 Han-Wen Nienhuys * scripts/musicxml2ly.py (musicxml_clef_to_lily): use new Attributes methods (musicxml_time_to_lily): idem (musicxml_key_to_lily): idem (instrument_drumtype_dict): dict for supported drumtypes. (LilyPondVoiceBuilder.__init__): new class: sanely keep track of moments and pending mm rests (musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder (musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums. (musicxml_voice_to_lily_voice): add mode change. (option_parser): lxml.etree (http://codespeak.net/lxml/) for more speed and less memory usage (factor 5 to 10). (convert): write -defs.ly and driver file separately so people can script their own part extraction. * python/musicxml.py (minidom_demarshal_node): new function: separate minidom handling. (lxml_demarshal_node): new function: support lxml.etree too. (Xml_node.message): new function: verbose error message, with XML path to offending node. (Attributes.get_measure_length): sane interface to MusicXML attributes. (Part_list.generate_id_instrument_dict): new method: collect instrument names, to be able to set drum_type. (Part.interpret): handle underfull measures (Part.interpret): assign instrument names. * python/musicexp.py (Output_printer.close): new method (MusicWrapper.print_ly): new class: support other modes, eg. \drummode (BarCheck.print_ly): new class. Support bar checks, with comments and fancy barchecks. (NoteEvent.__init__): also set drum_type for drum notes. (MultiMeasureRest.lisp_expression): dump mm rests. * lily/paper-column-engraver.cc (stop_translation_timestep): set line-break-permission if forbidBreak is not set. 2006-05-09 Joe Neeman * scm/define-context-properties.scm: * scm/define-grob-properties.scm: * scm/define-grobs.scm: * scm/define-music-display-methods.scm: * scm/define-music-properties.scm: * scm/define-music-types.scm: * scm/music-functions.scm: * ly/declarations-init.ly: * lily/include/constrained-breaking.hh: * lily/system.cc: * lily/spaceable-grob.cc: * lily/simple-spacer.cc: * lily/paper-score.cc: * lily/paper-column.cc: * lily/paper-column-engraver.cc: * lily/item.cc: * lily/gourlay-breaking.cc: * lily/constrained-breaking.cc: * python/convertrules.py: Change "penalty", "page-penalty" and "breakable" to "line-break-penalty", "page-break-penalty" and "line-break-permission". Add "page-break-permission", "page-turn-permission" and "page-turn-penalty". Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent. * lily/bar-engraver.cc: * lily/beam-engraver.cc: * lily/forbid-break-engraver.cc: * lily/ligature-engraver.cc: * lily/paper-column-engraver.cc: * lily/percent-repeat-engraver.cc: * lily/score-engraver.cc: * lily/score-engraver.hh: * lily/paper-column-engraver.hh: Inter-engraver communication regarding line breaks is done through context properties (Score.forbidBreak) instead of function calls. 2006-05-08 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.4 2006-05-08 Graham Percival * Documentation/user/working.itely: proofreading from Dave Luttinen, thanks. * Doucmentation/user/README.txt: updated with manual style info. * Documentation/user/ various: trim linewidth to 78 chars. 2006-05-07 Han-Wen Nienhuys * scm/define-grob-properties.scm (all-internal-grob-properties): remove chord-tremolo property. * lily/beam.cc (get_beam_segments): don't use stem position as base for broken ends. 2006-05-06 Graham Percival * Documentation/user/putting.itely: proofreading from Dave Luttinen, thanks! * Documentation/user/ various: more reorg and clarifications. 2006-05-06 Han-Wen Nienhuys * scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm. * ly/music-functions-init.ly: new function featherDurations * lily/beam.cc: read grow-direction for feathered beaming. * Documentation/topdocs/NEWS.tely (Top): typo. 2006-05-05 Han-Wen Nienhuys * lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for tremolo beams. 2006-05-05 Erik Sandberg * lily/context.cc, lily/global-context.cc: Added 'unique' member, used by music streams. * lily/dispatcher.cc, lily/dispatcher-scheme.cc, lily/stream-event.cc, lily/stream-event-scheme.cc, lily/listener.cc, lily/scheme-listener.cc, lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh, lily/include/stream-event.hh, lily/include/listener.hh, lily/include/scheme-listener.hh, scm/define-event-classes.scm: Created data structures for music streams. 2006-05-05 Han-Wen Nienhuys * lily/beam.cc (get_beam_segments): new function. Reorganise the construction of a beam. (print): rewrite. * flower/include/std-vector.hh (default_compare): use only one comparison. * scm/define-markup-commands.scm (note-by-number): remove debug display. (note-by-number): further attachment fixes. * scm/lily-library.scm (ordered-cons): new function. (interval-index): new function * lily/note-head-scheme.cc (LY_DEFINE): new file. * lily/note-head.cc (get_stem_attachment): new function. * scm/define-markup-commands.scm (note-by-number): read 'style property. * input/regression/markup-note.ly: show note-head style option. * mf/feta-bolletjes.mf (overdone_heads): fix attachment points for triangle head. 2006-05-04 Han-Wen Nienhuys * mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further. * configure.in (LINK_GXX_STATICALLY): fix for ncsb detection. * lily/include/constrained-breaking.hh: GCC 4 fix. 2006-05-04 Joe Neeman * lily/simple-spacer.cc: Remove class Simple_spacer_wrapper. Replace it with functions get_line_forces and get_line_configuration. (class Simple_spacer): Make data private. Rewrite compression algorithm to be faster and simpler. * lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem): * lily/gourlay-breaking.cc (solve): * lily/constrained_breaking.cc (space_line): Change it to the new simple-spacer code. * lily/paper-score.cc (get_paper_systems): (Paper_score): (process): Delay breaking the systems until they are requested. (find_break_indices): Use vsize for indices. (calc_breaking): Move the "Calculating line breaks" message here. * lily/system.cc (pre_processing): Move the "Calculating line breaks" message away from here. (break_into_pieces): Allow multiple calls to this function in sequence (with touching-but- not-overlapping breakpoints). * lily/constrained-breaking.cc: Replace most of the get_XXXX functions with get_line_details. Only calculate the force for each line. Calculate configurations only for the lines we will actually use. Replace cols_ with lines_. 2006-05-04 Han-Wen Nienhuys * mf/GNUmakefile (depth): remove FC_FIND. * config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES * configure.in (LINK_GXX_STATICALLY): call fc-match from within configure. * scm/framework-ps.scm (write-preamble): new function. (write-preamble): load mac fonts via fondu, even if gs-font-load is set. 2006-05-03 Werner Lemberg * mf/GNUmakefile (FC_FIND): Fix typo. 2006-05-03 Erlend Aasland * stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs. 2006-05-03 Han-Wen Nienhuys * stepmake/aclocal.m4: run python-config for crosscompiling flags. * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add -f png for HTML, TEXINFO formats. * input/tutorial/lbook-html-test.html: new file. * lily/include/tie-formatting-problem.hh (class Tie_formatting_problem): index Chord_outline_map by Tuple2 for [column, direction]. This fixes laissez vibrer ties. * flower/include/tuple.hh (struct Tuple2): new file. * mf/GNUmakefile (FC_FIND): new function. Find ncsb using $(FCMATCH), only if $(NCSB_DIR) not set. * configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set. * config.make.in (DOCUMENTATION): set FCMATCH. * autogen.sh (srcdir): don't set --with-ncsb-dir. 2006-05-03 Graham Percival * Documentation/user/ various: final round of reorg. * Documentation/user/instrument-notation.itely: some more fixes from Eduardo, thanks! 2006-05-02 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.3 * flower/file-path.cc (is_dir): canonicalize file name before stat'ing. * lily/relocate.cc (framework_relocation): remove old relocation stuff. 2006-05-01 Mats Bengtsson * scm/define-grob-properties.scm (all-user-grob-properties): Correct typo, thanks to Eduardo. 2006-05-01 Han-Wen Nienhuys * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm * buildscripts/lilypond-words.py (F): indent fix. * input/regression/tie-arpeggio-collision.ly: new file. * lily/tie-formatting-problem.cc (set_column_chord_outline): new function: store outlines per column rank. * lily/include/tie-configuration.hh (class Tie_configuration): add column_ranks_ to specification and configuration, to distinguish between ties for different heads in arpegiated chords. * lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX. * *.py: more 4 space indents. * autogen.sh (conf_flags): set sensible default for with-ncsb-dir 2006-05-01 Joe Neeman * scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan? 2006-05-01 Han-Wen Nienhuys * buildscripts/pfx2ttf.fontforge (err): create OTF files. * scripts/abc2ly.py (dump_score): indent of 4 for python code. * configure.in (LINK_GXX_STATICALLY): remove locate() call. 2006-04-30 Han-Wen Nienhuys * python/convertrules.py (conv): indent 4 for python files. 2006-04-29 Mats Bengtsson * Documentation/user/changing-defaults.itely (Creating contexts): Clarify \new semantics. 2006-04-28 Graham Percival * Documentation/user/ various: major new sections in the Learning manual, slight reorg elsewhere. 2006-04-27 Han-Wen Nienhuys * mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE) * scm/framework-ps.scm (output-framework): remove PageMedia 2006-04-27 Graham Percival * Documentation/user/ tweaks.itely, working.itely: new files, being more advanced "learning manual" chapters. * Documentation/user/ tutorial, putting, lilypond: reorg. 2006-04-26 Graham Percival * input/regression/lyric-combine-polyphonic.ly: fixed test (no more "can't find context `one'" error). 2006-04-25 Joe Neeman * lily/stem-tremolo.cc (print): fix whole note tremolo placement * input/regression/stem-tremolo.ly: add 2 more whole note examples 2006-04-24 Han-Wen Nienhuys * lily/relocate.cc (read_relocation_dir): new function. 2006-04-26 Graham Percival * Documentation/user/instrument-notation.itely: a few more fixes from Eduardo, thanks! * Documentation/user/README.txt: new file; contains info on style that used to be in lilypond.tely. * Documentation/user/ various: first round of doc reorg. * Documentation/user/baer-flat-bw.png: remove alpha bit from graphic; this probably causes problems on some pdf viewers, notably Adobe Acrobat. 2006-04-24 Graham Percival * Documentation/user/instrument-notation.itely: many alterations to Vocal music, from Eduardo Viera. 2006-04-23 Graham Percival * Documentation/user/instrument-notation.itely: fix \new instead of \context problem. 2006-04-22 Han-Wen Nienhuys * lily/relocate.cc (expand_environment_variables): new function. (read_line): id. (read_relocation_file): id. * scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code 2006-04-21 Erlend Aasland * ly/engraver-init.ly: remove old comments from TabVoice 2006-04-20 Graham Percival * Documentation/user/instrument-notation.itely: added Erlend's latest doc patch, thanks! 2006-04-19 Erlend Aasland * lily/include/slur.hh: * lily/slur.cc: * lily/phrasing-slur-engraver.cc: * lily/slur-engraver.cc: Fix 'cut & paste' code by merging acknowledge_extra_object () from Phrasing_slur_engraver:: and Slur_engraver:: and putting it in Slur::auxiliary_acknowledge_extra_object (). * ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug * lily/note-collision.cc: fix a comment 2006-04-18 Heikki Junes * stepmake/bin/add-html-footer.py: fix footer position in generated html files: before and tags. 2006-04-18 Heikki Junes * scripts/GNUmakefile: revert last "fix", which rather broke make. Earlier successive `make' commands finally compiled ok. * Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19. 2006-04-18 Erlend Aasland * lily/include/stem-tremolo.hh: * lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update callers. * lily/lookup.cc: * lily/include/lookup.hh: add rotated_box () 2006-04-18 Heikki Junes * scripts/GNUmakefile: bugfix: run help2man only after scripts have been generated. Fixes "can't get `--help'" bug after make clean. * THANKS: alphabetize contributors. 2006-04-17 Graham Percival * Documentation/user/instrument-notation.itely: added Erlend's tabs and banjo doc patch. Thanks! 2006-04-17 Erlend Aasland * scm/define-grobs.scm: fix stem-attachment for tablature note heads. * ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug. * scm/output-lib.scm: add some more predefined string tunings. * Documentation/user/instrument-notation.itely: and doc them. 2006-04-16 Jürgen Reuter * ly/engraver.ly: Remove obsolete comments. * ly/gregorian-init.ly: Define default layout block. * input/puer-fragment.ly: Updated and extended. 2006-04-15 Jan Nieuwenhuizen * lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE pdf conversion behaviour. * flower/file-name.cc (dir_name) (get_working_directory): Move from relocate.cc. * lily/relocate.cc (setup_paths): Remove rogue stat calls. * lily/relocate.cc: Encapsulate sys/stat.h in HAVE_STAT_H. 2006-04-14 Graham Percival * Documentation/user/ various: small updates from Cameron and Juergen, thanks! * Documentation/user/ various: small updates of my own. * THANKS: 2.7 -> 2.8. 2006-04-11 Graham Percival * scm/define-context-properties.scm: typo. * Documentation/user/ : many more small updates. 2006-04-13 Jürgen Reuter * scm/define-music-types.scm: disposed "docme". 2006-04-11 Erlend Aasland * lily/hairpin.cc: make niente circles a bit smaller. 2006-04-10 Erlend Aasland * mf/GNUmakefile: remove redundant mftrace check. Also remove get-pfa and get-*-fonts targets. 2006-04-10 Graham Percival * THANKS, Documentation/user/ basic-notation, advanced-notation, music-glossary, programming-interface: more minor fixes from mailist. * scm/define-grob-properties.scm: clarified direction, thanks Mats! * scm/define-context-properties.scm: another old \property update. This time tested for compiling! 2006-04-10 Erlend Aasland * mf/GNUmakefile: fix for mftrace version >= 1.2.0 2006-04-09 Jan Nieuwenhuizen * scm/define-context-properties.scm (all-user-translation-properties): * Documentation/user/global.itely (Page formatting): Compile fix. 2006-04-09 Mats Bengtsson * Documentation/user/advanced-notation.itely (Polymetric notation): Update the example to use the "+" symbol and add link to input/test/compound-time.ly. 2006-04-08 Graham Percival * scm/define-grob-properties.scm: clarify docs for #'direction. * scm/define-context-properties.scm: update old \property override. * Documentation/user/ advanced-notation, global, lilypond-book: more minor doc updates. 2006-04-07 Han-Wen Nienhuys * lily/parser.yy (Generic_prefix_music_scm): append lists, not objects. * scm/backend-library.scm (search-gs): oops. 2006-04-06 Han-Wen Nienhuys * scripts/lilypond-book.py (output): use base, not filename for href. * scm/backend-library.scm: only look for gs. * scripts/lilypond-book.py (output): fix printfilename. * lily/parser.yy (music_function_musicless_prefix): fold together definitions of signature (SCM*) (Music|post_event|chord_body_element) * lily/slur.cc (print): only set font-size if not set yet. * lily/slur-configuration.cc (add_score): improved layout of debug scoring output. 2006-04-05 David Feuer * music-drawing-routines.ps (draw_round_box): removed testing artifact. (draw_circle): Hopefully fixed regression. Improved documentation for several procedures. 2006-03-04 Werner Lemberg * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes. 2006-04-05 Han-Wen Nienhuys * scripts/musicxml2ly.py (bindir): add dynamic relocation. 2006-04-04 Graham Percival * Documentation/user/ basic-notation, advanced-notation, putting, instrument-notation, invoking, lilypond, THANKS: another ream of small fixes from the Doc Helpers. 2006-04-03 David Feuer * music-drawing-routines.ps: remove superfluous gsave/grestore pairs. * lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication. * Cleaned up interfaces between PostScript and Scheme, and moved computations from PostScript to Scheme: * music-drawing-routines.ps (*SF, stroke_and_fill): new procedures. Replaced stroke and fill with stroke_and_fill throughout. (euclidean_length, print_letter, draw_box): Deleted unused procedures. If someone needs draw_box, implement it using draw_round_box; don't duplicate code. (print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash): Refactored/cleaned up interfaces. (mark_URI): Moved. * output-ps.scm: reordered arguments to PostScript functions to match new interfaces (glyph-string): Rewrote glyph-string. (grob-cause): Replaced string-append with format. (repeat-slash): Rewrote to do computation here. (round-filled-box): Rewrote to do computation here. 2006-04-04 Erlend Aasland * stepmake/stepmake/generic-targets.make: add cvs-clean target * stepmake/stepmake/toplevel- targets.make: print help info about cvs-clean 2006-04-03 Erlend Aasland * input/regression/hairpin-circled.ly: new file 2006-04-03 Erlend Aasland * lily/hairpin.cc (print): add support for circled tip * scm/define-grob-properties.scm: add circled-tip parameter * scm/define-grobs.scm: init circled-tip to false 2006-04-03 Han-Wen Nienhuys * scm/music-functions.scm (quote-substitute): set iterators-ctor. 2006-03-31 Han-Wen Nienhuys * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set BSTINPUTS. * Documentation/topdocs/AUTHORS.texi (Top): add David Feuer. * scm/output-ps.scm (glyph-string): revert cid selectfont. 2006-03-31 David Feuer * scm/framework-ps.scm: * scm/output-ps.scm: glyph-string now produces smaller, more readable, and probably faster PostScript. Several findfont scalefont setfont instances changed to selectfont Hacked-up string-appends changed to formats. * ps/music-drawing-routines.ps: add print_letter, print_glyphs. 2006-03-30 Graham Percival * scm/lily-library.scm: make "no version" warning message more polite. * lily/music.cc: add double quotes to failed octave check. * Documentation/user/ advanced-notation, changing-defaults, instrument-notation, invoking, music-glossary: whole bunch of minor fixes from mailist. 2006-03-31 Han-Wen Nienhuys * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use $(buildscriptdir) iso. depth. * VERSION (PACKAGE_NAME): release 2.9.1 2006-03-30 Han-Wen Nienhuys * lily/pango-font.cc (pango_item_string_stencil): more robustness. * VERSION (PATCH_LEVEL): bump version number. * flower/include/guile-compatibility.hh (scm_from_uint32): add scm_from_uint32 () * lily/pango-font.cc (pango_item_string_stencil): use scm_from_uint32 () * mf/GNUmakefile ($(outdir)/emmentaler-%.otf $(outdir)/emmentaler-%.svg): remove canary. * lily/pango-font.cc (pango_item_string_stencil): only use uXXX glyphnames if we have a ttf font. 2006-03-30 Mats Bengtsson * Documentation/user/advanced-notation.itely (Font selection): Corrected reference to the font-family-override.ly example. 2006-03-30 Joe Neeman * lily/chord-tremolo-engraver.cc (acknowledge_stem): set the stem-tremolo object in the stem (or else the stem might not be long enough). 2006-03-30 Han-Wen Nienhuys * lily/ttf.cc (print_trailer): only print existing glyphs. 2006-03-30 Joe Neeman * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.) position the tremolo based on the position of the notehead. * input/regression/stem-tremolo.ly: add example of unbeamed eighth notes and update the texidoc line with the new positioning rules. 2006-03-30 Han-Wen Nienhuys * lily/ttf.cc (print_trailer): don't always use uXXX glyphname. * scripts/lilypond-book.py (Module): set default for linewidth if preamble not found. 2006-03-29 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.0. * input/regression/stem-tremolo-position.ly: new file. * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback 2006-03-28 Joe Neeman * lily/stem-tremolo.cc (print): position the tremolo depending only on the end of the stem and not on the notehead (raw_stencil): center, on the middle staff line, the flag that is closest to the end of the stem (previously the bottom flag) (calc_width): add this callback to shorten a tremolo when it is beamed or it is stemup with a flag (style): add this callback to make a tremolo rectangular when it is beamed or it is stemup with a flag (rotated_box): this is like Lookup::beam but makes a rotated rectangle instead of a parallelogram * lily/stem.cc (calc_stem_info): make sure the stem is long enough to fit the tremolo (calc-length): reduce the length of tremolo stems since the tremolo code is now capable of better positioning * scm/define-grobs.scm: make calc_width the default beam-width callback for stem-tremolo and add the style callback 2006-03-29 Han-Wen Nienhuys * lily/tuplet-bracket.cc (calc_control_points): handle suicide case. 2006-03-29 Han-Wen Nienhuys * lily/ttf.cc (make_index_to_charcode_map): restore old cmap. 2006-03-28 Werner Lemberg * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names. 2006-03-28 Graham Percival * THANKS: update for 2.9, add section for Documentation helpers. * Documentation/topdocs/NEWS.tely: compile fix. * Documentation/user/ basic-notation, global, advanced-notation, examples.itely: minor fixes from mailist. 2006-03-28 Han-Wen Nienhuys * mf/feta-bolletjes.mf: match width of solfa notes with normal note heads. * lily/ttf.cc (print_trailer): use it. * lily/pango-font.cc (get_unicode_name): new function. * lily/ttf.cc (make_index_to_charcode_map): move function from open-type-font.cc (print_trailer): substitute uniXXXX name if applicable. * lily/pango-font.cc (get_index_to_charcode_map): new function. (pango_item_string_stencil): use it to generate uniXXXX names. * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly) note heads, for uniform widths in shape note output. (overdone_heads): hmm. remove them again. * scripts/lilypond-book.py (output): add links to filenames. * Documentation/topdocs/INSTALL.texi (Top): update versions. * lily/note-collision.cc (get_clash_groups): only consider when Note_column::dir <> CENTER. * scripts/lilypond-book.py (get_option_parser): init output_name to ''. 2006-03-24 Graham Percival * Documentation/topdocs/NEWS.tely: add @end itemize * Documentation/user/ global, advanced-notation: minor stuff from mailist. 2006-03-23 Graham Percival * Documentation/user/ lilypond.tely, music-glossary, preface: housekeeping; 2005->2006, remove "notes for 2.6" 2006-03-23 Han-Wen Nienhuys * mf/GNUmakefile: don't install .enc files. * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle. * VERSION (PATCH_LEVEL): bump to 2.9.0 2006-03-22 Graham Percival * Documentation/user/advanced-notation.itely: minor fixes from mailist. 2006-03-22 Han-Wen Nienhuys * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman. * branch lilypond_2_8 2006-03-22 Han-Wen Nienhuys * scripts/lilypond-book.py (samefile): new function, for windoze compatibility. 2006-03-21 Graham Percival * ly/engraver-init.ly: add info about StaffGroup. 2006-03-21 Han-Wen Nienhuys * input/regression/stem-direction-context.ly: idem. * Documentation/topdocs/NEWS.tely (Top): fix interpolation example. * THANKS: add Mats. * input/regression/page-layout-twopass.ly: comment out \markup so tweak-file is left. * lily/instrument-name-engraver.cc (finalize): add to instrument name global System. This also fixes chopped instrument names, but doesn't crash when there are slurs/beams. * lily/slur-configuration.cc (add_score): disallow negative slur scores. 2006-03-21 Han-Wen Nienhuys * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code. * lily/instrument-name-engraver.cc (process_music): kludge: add InstrumentName spanner to axis group of left bound. Fixes chopped off instrument names in EPS images. * input/regression/lyric-hyphen-retain.ly: elaborate explanation. * scripts/abc2ly.py (option_parser): update to 2.7.40 2006-03-20 Graham Percival * THANKS: move small doc contributors to SUGGESTIONS. * Documentation/user/ basic-notation, advanced-notation, global: small changes from mailist. 2006-03-20 Han-Wen Nienhuys * Documentation/user/advanced-notation.itely (Text marks): update for new rehearsalMarkAlignSymbol convention. * VERSION (PATCH_LEVEL): bump version. * input/test/instrument-name-align.ly: new file. * scm/define-markup-commands.scm (hcenter-in): add hcenter-in. * input/test/instrument-name-align.ly: new file. Document how to align instrument names. * lily/mark-engraver.cc: remove properties. * scm/define-context-properties.scm (all-user-translation-properties): remove align symbol properties for barnumber/reh. mark. * lily/break-align-interface.cc (self_align_callback): new interface, new function. Look at complete alignment. This handles tunable break alignments in case break-align-symbols are missing. * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function * lily/mark-engraver.cc (acknowledge_break_alignment): new function. * python/convertrules.py (conv): mark/bar number alignment rule. * lily/break-align-interface.cc (calc_positioning_done): also store offset from last visible break-alignment to its neighbor. This makes alignment on non-visible objects more reliable. * po/lilypond.pot (Module): ran po-replace. * input/regression/tie-single-manual.ly (Module): new file. * lily/tie-formatting-problem.cc (find_optimal_tie_configuration): look at has_manual_position_. (from_ties): set has_manual_position_ if tie has staff-position set. * lily/tuplet-bracket.cc (calc_positions): idem. * lily/tuplet-number.cc (print): don't print tupletnumber if it doesn't span time. 2006-03-19 Nicolas Sceaux * scm/define-markup-commands.scm (smallCaps): new markup command for turning a text to small caps using smaller font size and upper casing. 2006-03-17 Graham Percival * Documentation/user/ examples, instrument-notation, advnaced-notation: minor fixes from mailist. 2006-03-17 Han-Wen Nienhuys * Documentation/user/tutorial.itely (First steps): change example to verbatim. 2006-03-17 Graham Percival * Documentation/user/ examples, advanced: minor changes from mailist. * THANKS: add Geoff Horton, for documentation stuff. 2006-03-17 Han-Wen Nienhuys * python/lilylib.py (system): revert have_select kludge. * Documentation/user/tutorial.itely (Commenting input files): update version numbers in doc. * scm/define-grob-interfaces.scm (multi-measure-interface): add bound-padding to multi-measure-interface 2006-03-16 Han-Wen Nienhuys * input/test/engraver-example.ily: update version number. * VERSION (PACKAGE_NAME): release 2.7.39 * lily/note-spacing.cc (get_spacing): heighten threshold where accidentals/arpeggios influence previous spacing fully. * lily/rest.cc (y_offset_callback): only use direction if staff-position wasn't set before. * lily/bar-number-engraver.cc: add support for barNumberAlignSymbol. add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe * lily/pointer-group-interface.cc (set_ordered): new function. (add_unordered_grob): new function. * lily/grob-array.cc (Grob_array): grob-arrays are always assumed to ordered, unless the opposite has been proved. This fixes random reordering of large object groups across linebreaks, eg. beams. * lily/main.cc (do_chroot_jail): printf format fix. * lily/tie-formatting-problem.cc (generate_configuration): multiply y-shift for dot with direction. * scm/define-markup-commands.scm (note-by-number): put (magstep size) in y-attach too. * Documentation/topdocs/NEWS.tely (Top): show override. * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral direction for stems. 2006-03-15 Graham Percival * Documentation/user/ changing-defaults, global: minor fixes from mailist. 2006-03-15 Han-Wen Nienhuys * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38 * lily/spacing-spanner.cc (musical_column_spacing): crude fix for breakable items after uniformly stretched notes. * lily/tie-formatting-problem.cc (set_chord_outline): initialize outline with outer edge of note heads. This prevents infinity problems with tied whole notes. * scripts/lilypond-book.py (do_file): use os.popen * python/convertrules.py (conv): add rule for Stem #'beamed-* 2006-03-14 Erik Sandberg * Documentation/user/invoking.itely: Add ragged-right to bug report guidelines. 2006-03-14 Graham Percival * Documentation/user/global.itely: small fix from mailist. 2006-03-14 Mats Bengtsson * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the file descriptor returned by tempfile.mkstemp() when writing to tmpfile and closing it. Solves problem with unlink(tmpfile) on mingw. 2006-03-14 Jan Nieuwenhuizen * po/fi.po: newline bugfix. 2006-03-12 Jan Nieuwenhuizen * scm/paper.scm (paper-alist): Rounding fixes. 2006-03-13 Graham Percival * Documentation/user/ changing-defaults, instrument-notation, tutorial: small fixes from mailist, mostly from Mats. Thanks! 2006-03-13 Heikki Junes * po/fi.po: update. 2006-03-13 Han-Wen Nienhuys * stepmake/bin/add-html-footer.py (mail_address_url): don't add mailto: to http:// * python/lilylib.py (print_environment): move ps_page_count to lilypond-book.py 2006-03-12 Han-Wen Nienhuys * Documentation/user/music-glossary.tely (G clef): fix clef alignments. * scm/framework-ps.scm (embed-document): new function. Use to embed PFA files. * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar. 2006-03-12 Mats Bengtsson * Documentation/user/instrument-notation.itely (Setting simple songs): Added \book{...} around the full example, so the separate markups are included in the printed example. 2006-03-12 Han-Wen Nienhuys * scripts/lilypond-book.py (get_latex_textwidth): explicitly close tmphandle. * python/lilylib.py (system): rewrite system() using subprocess. Remove >& redirection trickery. 2006-03-11 Graham Percival * Documentation/user/ changing-defaults, global, scheme-tutorial, notation-appendices.itely: minor fixes from mailist. 2006-03-11 Han-Wen Nienhuys * Documentation/user/GNUmakefile ($(outdir)/lilypond.html): unsplit man also needs images. * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15. * VERSION (PACKAGE_NAME): 2.7.38 released. 2006-03-10 Han-Wen Nienhuys * scripts/lilypond-book.py (get_latex_textwidth): look for latex log in output dir. 2006-03-08 Johannes Schindelin * lily/audio-column.cc, lily/score-performer.cc: MIDI output now respects the Score.skipTypesetting property. 2006-03-09 Han-Wen Nienhuys * scm/framework-ps.scm (ps-embed-cff): no Setup section in Prolog. No %%EOF after CFF file. 2006-03-08 Joe Neeman * lily/constrained-breaking.cc (get_max_systems): used to return a much too big value (combine_demerits): use pointers to reduce copying data (calc_subproblem): idem (get_page_penalty): add page turn penalties 2006-03-09 Han-Wen Nienhuys * Documentation/user/invoking.itely (Invoking lilypond): better explanation of -e usage. * lily/main.cc (main_with_guile): don't append to init_scheme_code_string * tex/texinfo.tex (sectionheading, q.v.): don't center @image. * Documentation/user/invoking.itely: add note about MacOS X scripts. * scripts/convert-ly.py (do_options): don't print help for --show-rules rule. * tex/texinfo.tex: patch texinfo.tex to leave single quotes in @code and @example. Update from texinfo.tex from CVS. 2006-03-08 Graham Percival * Documentation/user/scheme-tutorial.itely: clarifies distances measured in staff-spaces. 2006-03-07 Han-Wen Nienhuys * lily/slur.cc (outside_slur_callback): only calculate offsets if consider[k] is true. * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!) * lily/spacing-basic.cc (standard_breakable_column_spacing): also consider columns that have originals. Unifies spacing for mm rests around line breaks. * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding. (set_text_rods): idem. (calculate_spacing_rods): new function: share code between set_text_rods and set_spacing_rods. (set_text_rods): take extents of bounds into account. 2006-03-07 Han-Wen Nienhuys * Documentation/user/basic-notation.itely (Writing music in parallel): don't use relative. 2006-03-06 Han-Wen Nienhuys * ly/music-functions-init.ly (Module): add shiftDurations * ly/drumpitch-init.ly (drumPitchNames): add tamtam. * scm/paper.scm (paper-alist): no decimals for Ax paper sizes. * ly/engraver-init.ly: init vocalName to nil. 2006-03-05 Erik Sandberg * scm/music-functions.scm (music->make-music): bugfix, KeyChangeEvents are now handled correctly. * scripts/lilypond-book.py: Add --debug option. 2006-03-03 Han-Wen Nienhuys * python/lilylib.py: add tempfile. 2006-03-02 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.37 * python/lilylib.py (ps_page_count): remove make_ps_images(). (ps_page_count): remove mkdir_p (system): remove cleanup_temp. (exit): remove lilypond_version_(check) (error_log): remove pseudo_filter_p remove read_pipe remove cp_to_dir remove identify * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't use __main__ * lily/accidental-engraver.cc (make_standard_accidental): only add support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly * mf/GNUmakefile ($(outdir)/emmentaler-%.otf $(outdir)/emmentaler-%.svg): rewrite without functions; too many Make incompatibilities. * scm/output-ps.scm (grob-cause): replace backslashes by / (glyph-string): use ~$ for less decimals for glyph-string and grob-cause. 2006-03-02 Jan Nieuwenhuizen * cygwin/GNUmakefile: Install fixes. * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly. * lily/note-head.cc (head::get_balltype): Compile fix. * flower/file-name.cc (dos_to_posix): Flower string fix. 2006-03-02 Han-Wen Nienhuys * python/lilylib.py: pychecker cleanups. * scripts/lilypond-book.py (Lilypond_snippet.output_print_filename): pychecker cleanups * scripts/midi2ly.py (Key.dump): pychecker cleanups. * python/lilylib.py (underscore): remove identify() , warranty() * ps/music-drawing-routines.ps: change Border routine for GSView compatibility. * lily/stem.cc (height): use quantize-positions. This triggers set_stem_lengths, so scripts on beamed stems are handled correctly. * lily/side-position-interface.cc (aligned_side): check if edges of script are inside staff. Fixes accent of edge of the staff. * input/regression/staccato-pos.ly: more examples. * stepmake/aclocal.m4 (depth): fix bashism. * lily/lyric-combine-music-iterator.cc: move from new-lyric-combine-iterator.cc (process): add pending_grace_lyric_ member to delay lyrics on grace notes. * lily/system-start-text.cc (print): suicide if we don't have any elements. Fixes hara kiri'd instrument names. * scripts/mup2ly.py (Module): remove. 2006-03-01 Han-Wen Nienhuys * Documentation/user/global.itely (A single music expression): close @lilypond properly * lily/volta-bracket.cc (modify_edge_height): change from after_line_breaking_callback. Suicide last bracket if appropriate. * python/lilylib.py: strip getopt support * scripts/etf2ly.py (do_options): use optparse * scripts/midi2ly.py: optparse, strip lilylib copy. * scripts/abc2ly.py (voices): use optparse. * stepmake/stepmake/generic-vars.make: new function absdir. * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation. * scripts/lilypond-book.py (find_file): use global_options for include path * scm/ps-to-png.scm (ps-page-count): prevent null characters entering C code. 2006-03-01 Han-Wen Nienhuys * python/lilylib.py (get_global_option): ughness for extracting global options from lilylib. (NonDentedHeadingFormatter.format_heading): move from musicxml2ly * scripts/lilypond-book.py (get_option_parser): use optparse for option handling. Put options in global_options variable. 2006-02-28 Heikki Junes * Documentation/index.html.in: clarify. 2006-02-28 Nicolas Sceaux * scm/layout-page-layout.scm (write-page-breaks): add a music-system-heights property to the page layout output. * scm/page.scm (make-page-stencil): take footer into account when computing the 'space-left page property (annotate-space-left): take footer into account when annonating space left. 2006-02-28 Graham Percival * Documentation/user/ advanced-notation, global: more (final) docs for music expressions, removed special fermatas. 2006-02-27 Graham Percival * Documentation/user/ basic-notation, global: minor changes from mailist. 2006-02-26 Nicolas Sceaux * scm/framework-ps.scm: * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility layer for inf? and nan? from framework-ps to lily-library. 2006-02-26 Han-Wen Nienhuys * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef. * buildscripts/substitute-encoding.py (Module): remove file. * mf/GNUmakefile: more PFA strippage. * mf/aybabtu.pe.in (i): remove PFAaybabtu generation * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler generation * scm/framework-ps.scm: remove font name munging. * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement. 2006-02-25 Nicolas Sceaux * scm/markup.scm (define-markup-command): change def-markup-command to define-markup-command * scm/music-functions.scm (define-music-function): change def-music-function to define-music-function. * python/convertrules.py (conv): rules for def-music-function and def-markup-commands * Documentation/user/programming-interface.itely, input/no-notation/display-lily-tests.ly, input/regression/lily-in-scheme.ly, input/regression/markup-user.ly, input/regression/music-function.ly, input/regression/tie-chord.ly, scm/fret-diagrams.scm, ly/music-functions-init.ly, ly/gregorian-init.ly: use new macro names (define-music-function, define-markup-command). 2006-02-25 Han-Wen Nienhuys * scripts/lilypond-book.py (main): write Makefile dependencies file. (output): add comments to lp-book latex output. * GNUmakefile.in (footifymail): use gmane address for webpage bug address. 2006-02-23 Graham Percival * Documentation/user/ tutorial, global: minor changes. 2006-02-23 Nicolas Sceaux * mf/GNUmakefile: add '\' in multi-line "define ... endef" blocks (for make 3.80) * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add \notemode so that user should not have to explicitely type it. * scm/define-music-display-methods.scm: various fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived constructs) * input/no-notation/display-lily-tests.ly: new tests for \applyOutput and \applyContext 2006-02-23 Han-Wen Nienhuys * lily/constrained-breaking.cc: patch by Joe Neeman: "I have changed it slightly so that the number of systems returned by solve () will be the same as the last value passed to resize (). I've also added more documentation, removed casts, fixed style problems and put in some recovery if constraints aren't satisfied." 2006-02-23 Jan Nieuwenhuizen * elisp/lilypond-mode.el (count-matches-as-number): New funtion for emacs < 22 compatibility. (count-rexp): Use it. (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove substring juggling (Milan Zamazal). 2006-02-23 Graham Percival * Documentation/user/ basic-notation, advanced-notation, global.itely, invoking.itely, tutorial,itely: minor fixes from mailist. * scm/define-markup-commands.scm: improve docs of \filled-box. 2006-02-23 Heikki Junes * Documentation/index.html.in: changes concern the previous release. * input/regression/+.ly: cultivate typographical terminology. 2006-02-22 Han-Wen Nienhuys * scm/define-grob-interfaces.scm (parentheses-interface): add padding to parentheses-interface. * Documentation/user/GNUmakefile: remove $(CROSS) support from Documentation/user/GNUmakefile. Use --disable-documentation for that. * VERSION (PATCH_LEVEL): release 2.7.36 * lily/slur.cc: add avoid-slur (ugh.) * lily/slur-configuration.cc (fit_factor): oops, skip point if intersection gets smaller. This fixes slurs over extreme points. * lily/melody-engraver.cc (stop_translation_timestep): ignore stems with neutral-direction set. * lily/piano-pedal-engraver.cc (create_text_grobs): idem. * lily/open-type-font.cc (load_table): format error. * lily/change-iterator.cc (process): format fix. * flower/include/international.hh (_f): idem. * flower/include/std-string.hh: add format printf attribute. * scm/define-grobs.scm (all-grob-descriptions): height of all PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes ambitus lines. * input/regression/beam-cross-staff-slope.ly: remove decrescendo. 2006-02-22 Erik Sandberg * input/regression/: upgraded syntax for some files. * THANKS: Add bughunters. 2006-02-22 Graham Percival * Documentation/user/ invoking.itely, advanced-notation.itely, global.itely: long-awaited "let's make chapter 10 not suck" update. Rearrange chapter 10; now called "global issues", addresses file structure, etc. Some info from other files moved into global.itely. 2006-02-22 Han-Wen Nienhuys * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also catch trill-span-event notes. * Documentation/user/examples.itely (Ancient notation templates): typo. (Jazz combo): typo. * scripts/lilypond-book.py (main): scrap invokes_lilypond(). * Documentation/user/basic-notation.itely (Ties): document \repeatTie. * Documentation/topdocs/NEWS.tely (Top): document \repeatTie. * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste froum Laissez_vibrer_engraver. * ly/declarations-init.ly (repeatTie): add \repeatTie * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn * scm/define-grob-properties.scm (all-user-grob-properties): add head-direction property. * lily/tie-formatting-problem.cc (from_semi_ties): rename from from_lv_ties. Take head direction argument. * lily/semi-tie-column.cc: rename from laissez-vibrer-tie-column.cc. Rename class too. * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename class too. * lily/paper-score.cc (find_break_indices): move from Break_algorithm. * lily/break-algorithm.cc (find_break_indices): remove linewidth < 0 case. (find_breaks): idem. 2006-02-21 Graham Percival * Documentation/user/advanced-notation.itely: fixed make-moment] example. * Documentation/user/basic-notation.itely: more clarification to transpose. 2006-02-21 Han-Wen Nienhuys * lily/include/constrained-breaking.hh (class Constrained_breaking): new file. * lily/constrained-breaking.cc (resize): new file. * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast * Documentation/user/advanced-notation.itely (Clusters): insert end ignore too. * lily/tie-column.cc (calc_positioning_done): support for tie-score debugging * lily/tie-formatting-problem.cc (generate_extremal_tie_variations): factor out. (score_ties_configuration): annotate all tie (print_ties_configuration): new routine. (generate_configuration): nudge extremal ties outside of the head Y extents. (score_ties_configuration): oops. convert to staff-space before determining position symmetry. 2006-02-20 Graham Percival * Documentation/user/*-notation.itely: misc minor editing, shifting doc sections around. * Documentation/user/*-notation-itely, global.itely, changing-defaults.itely: added new stuff from NEWS. 2006-02-20 Heikki Junes * po/fi.po: update. 2006-02-20 Han-Wen Nienhuys * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run lilypond --verbose for lp-book. * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd). * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use $(buildscript-dir) iso. absolute depth. * buildscripts/genicon.py (dir): thinko. * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo. 2006-02-19 Erik Sandberg * scm/output-lib.scm: swap darkcyan/darkyellow * THANKS: Add bughunters. 2006-02-19 Graham Percival * Documentation/user/programming-interfaces.itely: fixed example. * Documentation/user/instrument-notation.itely: fix @{ @}. * scm/script.scm: add avoid-slur for \open. 2006-02-19 Han-Wen Nienhuys * lily/tie-formatting-problem.cc (score_configuration): use sliding score for min-length. * Documentation/pictures/GNUmakefile (local-dist): loose the rule spaghetti for icons. * buildscripts/genicon.py (program_name): new file. * lily/tie-formatting-problem.cc (set_chord_outline): put dots in outline too. (generate_configuration): for small ties, also look for collisions at Y + DIR*h + DELTA_Y. (get_variations): consider variation for dot positions too. * lily/side-position-interface.cc (aligned_side): take abs for quantized rounded position. Fixes tenuto below staff. * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf markers when necessary. * lily/program-option.cc (internal_set_option): add strict_infinity_checking option. * scm/output-lib.scm (cyan): swap yellow and cyan. 2006-02-19 Graham Percival * darwin.patch: trivial linenumber update. * Documentation/user/ {various}: `\context foo = named' changed to `\new foo = "name"' in docs. 2006-02-19 Han-Wen Nienhuys * scm/stencil.scm (annotate-y-interval): use it. * scm/lily-library.scm (interval-sane?): new function. * buildscripts/mf-to-table.py (Char_metric.__init__): remove tfm_checksum stuff. * lily/tie-formatting-problem.cc (from_lv_ties): add heads for common refpoint. * flower/include/std-vector.hh (iterof): add iterof macro. * lily/enclosing-bracket.cc (width): new function. * lily/align-interface.cc (align_elements_to_extents): reinstate warning. 2006-02-18 Heikki Junes * Documentation/index.html.in: fix spelling: thankyous. 2006-02-18 Han-Wen Nienhuys * lily/lyric-hyphen.cc: typo. 2006-02-17 Han-Wen Nienhuys * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc $(outdir)/%.hh): generate h and c in one rule; otherwise -jX builds don't work. * VERSION: release 2.7.35 * lily/beam.cc (get_default_dir): oops. Take abs () for extremes[DOWN]. (get_default_dir): use extreme position criterion only in absence of forced stem directions. * VERSION (PATCH_LEVEL): bump VERSION. * mf/GNUmakefile: explicit rules for emmentaler/aybabtu dependencies. Necessary for -jX builds. 2006-02-17 Jan Nieuwenhuizen * lily/relocate.cc (setup_paths): Yet another const fix. 2006-02-17 Han-Wen Nienhuys * configure.in (HOST_ARCH): determine HOST_ARCH in configure. * lily/relocate.cc (setup_paths): oops. 2006-02-17 Heikki Junes * Documentation/index.html.in: order links: html before PDF. 2006-02-17 Han-Wen Nienhuys * lily/tie-column-format.cc (Module): remove. * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness. * lily/text-spanner.cc (print): idem. * lily/dynamic-text-spanner.cc (print): only print line if longer than dash-period. * lily/auto-change-iterator.cc (change_to): formatting. * lily/beam.cc (get_default_dir): take extreme note head as input for stem direction. * lily/tie.cc (get_default_dir): only look directions for visible stems. * lily/side-position-interface.cc (aligned_side): oops. Don't mutiply with direction. This fixes quantized (staccato, tenuto) scripts below notes. * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with direction. Fixes c-lyrics-center-align.ly 2006-02-16 Jan Nieuwenhuizen * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy constructor. * lily/std-string.cc: * lily/include/std-vector.hh (split_string): Move and rename from lily/include/misc.hh, lily/misc.cc. Update callers. 2006-02-16 Han-Wen Nienhuys * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16 2006-02-16 Jan Nieuwenhuizen * flower/test-file.cc: New file. * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for libraries. * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib. 2006-02-16 Han-Wen Nienhuys * flower/include/file-storage.hh: remove file. * lily/include/midi-item.hh (class Midi_track): idem. * lily/include/source.hh (class Sources): idem. * lily/include/performance.hh (class Performance): use vector iso. Cons<> * flower/include/cons.hh (class Cons): remove file. * flower/include/flower-proto.hh: remove template cruft. * lily/include/font-metric.hh: use size_t not vsize for indices. * flower/include/flower-proto.hh (Module): remove std-vector.hh from proto. * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2 * lily/include/paper-book.hh (class Paper_book): make get_system_specs() public. * scm/layout-page-layout.scm (optimal-page-breaks): only consider the force=10000 case if we don't have a current-best. * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for vsize * flower/include/flower-proto.hh: remove outdated templates. * scm/page.scm: use annotate-spacing 2006-02-15 Graham Percival * scm/translation-functions.scm: circle patch from Erlend, thanks! * THANKS: moved Erlend Aasland to contributors. 2006-02-15 Han-Wen Nienhuys * config.hh.in: remove HAVE_PANGO_16 * lily/tuplet-bracket.cc (calc_positions): multiply with staff-space for beam case. This fixes tuplets+beams on scaled staves. * config.hh.in: remove all Kpathsea related defines. * lily/dot-column.cc (side_position): reach stem via dots-> head->stem. Inspect all stems for dot collisions. * lily/dot-column-engraver.cc (class Dot_column_engraver): excise stem handling. * lily/bar-number-engraver.cc (process_music): document function of whichBar. * lily/score.cc (default_rendering): add pscore, not systems themselves. * lily/paper-book.cc (get_system_specs): separate generation of titles and systems. * flower/include/std-vector.hh: don't include config.hh 2006-02-15 Jan Nieuwenhuizen * flower/include/std-vector.hh: Better wrapper compatibility with std::vector. * flower/include/flower-proto.hh: Remove cheap forward declaration attempts. * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix. 2006-02-14 Graham Percival * Documentation/user/invoking.itely: add warning about command line. 2006-02-14 Han-Wen Nienhuys * lily/include/lily-proto.hh: add Prob, rm Page. * flower/include/std-vector.hh (VPOS): use 64 bit-proof version. * VERSION: release 2.7.34 * lily/relocate.cc (framework_relocation): show canary if GHOSTSCRIPT_VERSION undefined. * GNUmakefile.in: remove $(VERSION) symlink. * lily/relocate.cc (setup_paths): add + 2006-02-13 Heikki Junes * Documentation/index.html.in: specify sizes for all big HTML pages. 2006-02-13 Han-Wen Nienhuys * config.hh.in: remove @FRAMEWORKDIR@ * lily/system-start-text.cc (get_stencil): new file: separate out system-start-delimiter text support. * input/**ly: replace \context with \new where appropriate. * THANKS: add Don. * lily/slur-scoring.cc (get_base_attachments): use robust_relative_extent. This fixes problems with empty paper-columns. 2006-02-12 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): document \new syntax. * scm/define-music-properties.scm (all-music-properties): create-new property. * lily/context-specced-music-iterator.cc (construct_children): inspect 'create-new property iso. magical $uniqueContextId context id. * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too. * lily/context-key-manager.cc (Module): new file. Encapsulate object key generation. * lily/include/context-key-manager.hh (Module): new file. 2006-02-11 Han-Wen Nienhuys * scm/define-grobs.scm (all-grob-descriptions): center instrument names vertically * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED options. (reloc_b): excise --enable-framework-dir * lily/relocate.cc (framework_relocation): use getenv LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version. 2006-02-11 Jan Nieuwenhuizen * flower/include/std-string.hh: * flower/include/std-vector.hh: Finish std:: conversion; move flower extensions from std:: namespace. Update users. * lily/include/lily-proto.hh: Replace Link_array__*_ macros by their expansion to vector<*>. Update users. 2006-02-10 Graham Percival * Documentation/user/invoking.itely: add example to File structure. * Documentation/user/ instrument-notation.itely, cheatsheet.itely, examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto. 2006-02-10 Han-Wen Nienhuys * ly/paper-defaults.ly: typo. * lily/parenthesis-engraver.cc (acknowledge_grob): don't do set_parent() for parentheses. This will make it show up in bbox calculations. * scm/output-lib.scm (parentheses-item::print): rewrite, using ly:grob-common* functions. * lily/grob-scheme.cc (LY_DEFINE): ly:grob-common-refpoint-of-array: new function ly:grob-common-refpoint: new function ly:grob-relative-coordinate: new function * lily/instrument-name-engraver.cc (process_music): use Text_interface::is_markup(). This fixes \markup on instrument names. * scm/define-grobs.scm (all-grob-descriptions): set line-thickness for ties and slurs. * lily/slur.cc (print): idem. * lily/tie.cc: add line-thickness for ties. 2006-02-10 Jan Nieuwenhuizen * scm/output-svg.scm: Document diversion from GNU coding standards as a workaround for a bug in Microsoft Internet Explorer. 2006-02-10 Han-Wen Nienhuys * lily/instrument-name-engraver.cc (process_music): use is_markup() iso. is_string() * Documentation/user/changing-defaults.itely (Module): add menu entry. * lily/percent-repeat-engraver.cc (process_music): only look at main_part_ for % repeats. * lily/stem-tremolo.cc (get_beam_translation): new function. (calc_slope): new function. (height): don't use real slope. 2006-02-10 Jürgen Reuter * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add new connect-to-neighbor, control-points and staff-padding properties to make ligature brackets showing up again. 2006-02-10 Han-Wen Nienhuys * VERSION: release 2.7.33 * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION too many. * Documentation/user/changing-defaults.itely (Difficult tweaks): remove applyOutput example. (Objects connected to the input): document \tweak, \parenthesize * lily/relocate.cc (prefix_relocation): allow "current" iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes changing VERSION in a lily tree less painful. * input/regression/parenthesize.ly: new file. * scm/output-lib.scm (parenthesize-element): new function. * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem. * lily/parenthesis-engraver.cc (acknowledge_grob): new file. * lily/accidental-engraver.cc (make_standard_accidental): reroute cause: accidentals are caused by note heads, not note events. 2006-02-08 Graham Percival * darwin.patch: small patch from Erlend, thanks! * Documentation/user/basic-notation.itely: add stem-neutral example. * Documentation/user/putting.itely: clarifications. 2006-02-08 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup note, add more guidelines to what should go into NEWS. * input/sakura-sakura.ly: document how to override font. * input/regression/font-family-override.ly: doc -dshow-available-fonts 2006-02-07 Han-Wen Nienhuys * lily/midi-item.cc (to_string): truncate time sig at 255 beats. 2006-02-08 Jan Nieuwenhuizen * scripts/convert-ly.py (lilypond_version_re_str): Move from convertrules. Add explicit grouping, needed for python2.2. 2006-02-07 Jan Nieuwenhuizen * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup. 2006-02-07 Graham Percival * Documentation/user/global.itely: fix line-width in (text) docs. * Documentation/user/lilypond-book.itely: same. 2006-02-06 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.32 * Documentation/topdocs/NEWS.tely (Top): document new variable naming. * flower/include/array.icc (Message): remove file. * flower/include/std-vector.hh: make sure vsize and VPOS are defined for binary_search_bounds(). * flower/std-string.cc (std): add to_string(long unsigned). * configure.in (gui_b): excise std_string option. (gui_b): excise std_vector option. * flower/string.cc (Module): excise flower array & string * flower/include/std-string.hh: excise flower string. * {ly,lily,scm}/*: use dashes in \paper and \layout variables * python/convertrules.py (lilypond_version_re_str): require only numbers and dots in \version string. 2006-02-05 Han-Wen Nienhuys * lily/system-start-delimiter.cc (print): allow style = text too. * lily/system-start-delimiter-engraver.cc (acknowledge_system_start_text): new function, also add add to support of system-start-text (instrument names). This fixes instrument names on piano staves. * lily/instrument-name-engraver.cc: rewrite. Use system-start-delimiter approach. This save memory and cpu. * scm/define-grobs.scm (all-grob-descriptions): remove instrument-name from break-alignment. * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too. 2006-02-05 Jan Nieuwenhuizen * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j jobserver going. * configure.in (std_vector): On by default. * lily/include/font-metric.hh: * lily/include/tfm-reader.hh: * lily/include/spanner.hh: Use unsigned for indices and sizes. Update users. * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www. 2006-02-05 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): 2.7.31 * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left EPS edge at 0, but take minimum with left-overshoot. This fixes cut off system start delims. * lily/instrument-name-engraver.cc (stop_translation_timestep): hack: add to axis group if not added yet. This fixes hara kiri'd piano staves. * lily/hara-kiri-group-spanner.cc (force_hara_kiri_in_y_parent_callback): fix signatures. * lily/hairpin.cc (print): check next hairpin to see whether or not to be continuing. 2006-02-04 Jan Nieuwenhuizen * Remove trailing whitespace from makefiles. * flower/include/std-vector.hh: Add binary_search_bounds workaround for earlier gcc. * .cvsignore: Add out*, out-www, config-*. Remove lots of cruft. * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround. * config.hh.in (HAVE_STL_DATA_METHOD): Add. * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function. * configure.in: Use it. 2006-02-04 Han-Wen Nienhuys * scm/music-functions.scm (pitch-of-note): new function. * ly/music-functions-init.ly: add \octave and \addquote * lily/parser.yy (music_function_chord_body): softcode \octave. (lilypond_header): softcode \addquote 2006-02-03 Jan Nieuwenhuizen * flower/include/std-vector.hh[STD_VECTOR]: Do not include array.hh, parray.hh at all. Getting ready to flip the configure default. * lily/include/lily-proto.hh (Link_array__char_): Bugfix. * lily/source-file.cc (file::get_line): Help binary_search_bounds a bit. * lily/include/lily-proto.hh (Link_array__char_): Bugfix. 2006-02-03 Han-Wen Nienhuys * flower/include/array.hh: typo. 2006-02-02 Graham Percival * Documentation/user/advanced-notation.itely: doc "\#" in text. 2006-02-03 Jan Nieuwenhuizen * flower/include/pqueue.hh: Derive from std::vector. * flower/include/parray.hh: Conform to std::vector interface. Update users. 2006-02-02 Graham Percival * Documentation/topdocs/NEWS.itely: grammar fix from Laura. 2006-02-02 Han-Wen Nienhuys * flower/file-path.cc (is_file): remove if 0 section. * buildscripts/pfx2ttf.fontforge (err): robustness fix for selecting afii61352. 2006-02-02 Jan Nieuwenhuizen * flower/include/std-vector.hh (boundary): Oops, reverse. * flower/string-convert.cc (convert::unsigned_string): Bugfix: remove superfluous `d'. * flower/include/std-vector.hh (boundary, top): Detach from class. Remove empty vector shell. * flower/include/array.hh (reverse, swap): Detach from class. Update users. * flower/include/std-vector.hh * flower/include/array.hh (concat): Globally change to insert (). * flower/include/std-vector.hh * flower/include/parray.hh * flower/include/array.hh (elem, elem_ref): Globally replace by at (). 2006-02-02 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members. * python/convertrules.py (FatalConversionError.sub_cxx_id): anticipate on identifier substitutions. 2006-02-02 Jan Nieuwenhuizen * flower/include/std-vector.hh (insert): Remove, replace by std::vector interface. Update callers. * flower/include/array.icc (insert): Change signature to match std::vector interface. * flower/include/array.icc (vector_sort): Bugfix. 2006-02-02 Han-Wen Nienhuys * lily/parser.yy (output_def_head_with_mode_switch): new production. Result: dashes and underscores may be used in the \paper block. * lily/lexer.ll: add DASHED_WORD. Accept in INITIAL mode. * python/convertrules.py (conv): oops. One slash too much. 2006-02-02 Jan Nieuwenhuizen * flower/include/std-vector.hh (sort): Remove, replace by ::vector_sort. Update callers. * flower/include/std-vector.hh (slice): Remove. Update callers. (sort): Bugfix. * flower/test-std.cc (vector_sort): New test. 2006-02-01 Graham Percival * Documentation/user/putting.itely: fixes from Erik. 2006-02-01 Jan Nieuwenhuizen * flower/test-std.cc: Add simple unit test for vector migration. * stepmake/stepmake/test*: Unit test support. * flower/include/std-vector.hh (del): Remove. Use erase (), update callers. * flower/include/array.hh (begin, end): Add. (del, get): Remove. 2006-02-01 Han-Wen Nienhuys * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use std::string not String. * lily/context-def.cc (path_to_acceptable_context): use INT_MAX iso UINT_MAX. * lily/prob.cc (Prob): copy type_ too. * lily/lily-guile.cc (mangle_cxx_identifier): new function. Class_bla::foo_bar_[px] -> ly:class-bla::foo-bar[?!]. Changes throughout 2006-01-31 Han-Wen Nienhuys * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned(). * lily/beam.cc (calc_direction): take dir from visible stem in degenerate case. 2006-01-31 Jan Nieuwenhuizen * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction): Fix -1, >=0 boundary checks for unsigned vsize. * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0 loop for unsigned vsize. * configure.in (--enable-std-vector): New option. (--enable-std-string): On by default. * flower/include/std-vector.hh: New file. Enable switch to std::vector, update client code. 2006-01-30 Graham Percival * scm/document-translation.scm: clarify "this context is also known as". Thanks, Werner! * Documentation/user/putting.itely: small fixes from Don Blaheta. * Documentation/user/invoking.itely: small fix from Don. 2006-01-30 Han-Wen Nienhuys * scm/lily.scm (define-scheme-options): rename option preview-include-book-title to book-title-preview (define-scheme-options): move force-eps-font-include (from paper block) to eps-font-include -d option. * VERSION (PATCH_LEVEL): release 2.7.30 * input/bach-schenker.ly (staffPiano): new file. * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file. * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add credits to Nicolas. * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile. * ps/lilyponddefs.ps: remove start-system, stop-system, start-page fluff. This saves putting { } code on the stack, fixing stack overflows when including EPS files. 2006-01-29 Graham Percival * Documentation/user/putting.itely: minor fixes (comments on -devel). 2006-01-29 Nicolas Sceaux * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news. 2006-01-28 Graham Percival * Documentation/user/putting.itely: minor fixes (mostly tab->space). 2006-01-28 Jan Nieuwenhuizen * input/mutopia/claop.py: Update. 2006-01-28 Han-Wen Nienhuys * input/regression/completion-heads.ly (texidoc): fix. * lily/staff-symbol-referencer.cc (on_staff_line): idem. * lily/tie-formatting-problem.cc (set_ties_config_standard_directions): use abs iso fabs for ints. * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement. * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a little less than noteheight, to prevent overlaps in chords. * lily/note-collision.cc (check_meshing_chords): wipe upper FA head, and fudge stem-attachment. * scm/lily-library.scm (not): define hash-for-each for guile 1.6 * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case. 2006-01-27 Jan Nieuwenhuizen * lily/main.cc (main): Debugging aid: catch exceptions. * flower/std-string.cc (to_string): Robustification. Fixes midi output with std::string. 2006-01-27 Han-Wen Nienhuys * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes. 2006-01-26 Jan Nieuwenhuizen * Fix -DSTRING_UTILS_INLINED. 2006-01-26 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): release 2.7.29 * lily/relocate.cc (setup_paths): mingw uses std string too. * lily/*.cc: various fixes for substr(ARG). * lily/sustain-pedal.cc (print): * flower/file-name.cc (slashify): use std strings. * flower/string-convert.cc: remove publib.h * scm/define-markup-commands.scm (verbatim-file): new markup command \verbatim-file * Documentation/topdocs/NEWS.tely: fixup URLs * input/regression/alignment-vertical-manual-setting.ly (Module): new file. * lily/align-interface.cc (align_elements_to_extents): overwrite translations with numbers in alignment-offsets from left bound * scm/page.scm (make-page-stencil): read X-offset from paper-system. (page-translate-systems): new function: take into account Y-offset. * Documentation/topdocs/NEWS.tely (Top): document new features. * input/regression/page-layout-manual-position.ly (Module): new file. 2006-01-26 Jan Nieuwenhuizen * flower/file-path.cc (path::parse_path): Oops. * Finish std::string interface. For now, use std:: marker throughout for easy s/r. 2006-01-26 Han-Wen Nienhuys * Documentation/user/putting.itely (Score is a single musical expression): typo. (Score is a single musical expression): more typos. * scm/page.scm (annotate-space-left): thinko. (annotate-page): more thinkos. 2006-01-25 Han-Wen Nienhuys * scm/layout-page-layout.scm (write-page-breaks): record tweaks for different \score blocks separately. (post-process-pages): put write-page-layout into paper block. * lily/output-def.cc (get_parser): new file. * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new file. * lily/include/output-def.hh (class Output_def): add parser_ member. * input/regression/page-layout-twopass.ly (Module): new file. * scm/lily.scm: remove cpp hack. * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere. 2006-01-25 Jan Nieuwenhuizen * GNUmakefile.in (c-clean): New target. * flower/include/std-string.hh: String/std::string compatibility: Use NPOS for `not found' (iso -1), use ssize for length () and pos type. * flower/rational.cc: * flower/include/rational.hh: * flower/offset.cc: * flower/include/offset.hh: * flower/interval.cc: * flower/include/interval.hh: * flower/string-convert.cc: * flower/include/string-convert.hh: Use std::string [interface]. Update callers. 2006-01-25 Heikki Junes * Documentation/index.html.in: clean up. 2006-01-25 Graham Percival * Documentation/user/putting.itely: another new untested doc section. 2006-01-25 Han-Wen Nienhuys * scm/layout-page-layout.scm (write-page-breaks): write \spacingTweaks #ALIST. Handle grace timing. * scm/: more imports. * scm/page.scm (make-page): add footer/header. (annotate-space-left): revise: only take page argument. (layout->page-init): new function. * scm/layout-page-layout.scm (write-page-breaks): preliminary version of the system/spacing/linebreak hack writing to the output * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in ly:make-prob. * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound -> ly:spanner-bound 2006-01-24 Han-Wen Nienhuys * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system. * scm/layout-page-layout.scm (optimal-page-breaks): move all page handling to page.scm * lily/prob-scheme.cc (LY_DEFINE): new file. (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!) * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using prob functions. * lily/music.cc (derived_mark): derive Music from Prob. * lily/paper-system.cc (LY_DEFINE): derive from Prob. * lily/prob.cc (Module): Implement Prob (Property Object), object with shared and r/w property alists. * lily/include/prob.hh (Module): new file. Declare Prob. * flower/string.cc: remove is_empty(). * flower/include/string.hh (class String): remove String:: qualifier. * buildscripts/analyse-cxx-log.py: new file. Read compile log to substitute appropriate functions. * flower/include/string.hh (class String): remove to_str0 and is_empty(). S&R everywhere. 2006-01-23 Graham Percival * Documentation/user/basic-notation.itely: add hairpin after-linebreak tweak to commonprop. * Documentation/user/putting.itely: added two new sections. 2006-01-23 Jan Nieuwenhuizen * flower/international.cc: * flower/include/international.hh: * flower/getopt-long.cc: * flower/include/getopt-long.hh: Use std::string [interface]. Update callers. * flower/include/std-string.hh: Oops, bugfix for --disable-std-string. * stepmake/stepmake/executable-rules.make: Add dependency on module libraries. 2006-01-22 Jan Nieuwenhuizen * flower/file-path.cc: * flower/include/file-path.hh: Use std::string [interface]. Update callers. * flower/direction.cc: * flower/axis.cc: Unused. Remove. * configure.in (--enable-std-string): New option. * flower/std-string.cc: * flower/include/std-string.hh: New file. * flower/file-name.cc[STD_STRING]: * flower/include/file-name.hh[STD_STRING]: Use it. Update callers. 2006-01-22 Han-Wen Nienhuys * scm/output-svg.scm (placebox): no GNU coding standards in SVG output. * scm/define-markup-commands.scm (with-dimensions): with-dimensions markup command. * input/test/font-table.ly: use it. * lily/open-type-font.cc (glyph_list): new function. * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function. * lily/ttf.cc: remove ly:font-glyph-list scheme function 2006-01-22 Nicolas Sceaux * ly/music-functions-init.ly (parallelMusic): new music function for parallel music entry. * scm/define-music-properties.scm (all-music-properties): new 'void music property * scm/music-functions.scm (ly:music-message): make public, to be used in music function definitions * scm/lily-library.scm (collect-music-for-book): discard music when the 'void property is set. 2006-01-22 Han-Wen Nienhuys * lily/ttf.cc (LY_DEFINE): store name before destroying face. * mf/GNUmakefile: idem. * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support. * stepmake/bin/install.py (dest): Only chmod/chown just created directories * Documentation/user/notation-appendices.itely (The Feta font): use it. * input/test/font-table.ly: new file. Generate font table within lily. * Documentation/user/notation-appendices.itely (The Feta font): use new font-table.ly file. * stepmake/stepmake/install-out-targets.make (local-install-outfiles): only create directory if $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo. 2006-01-21 Han-Wen Nienhuys * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list. * VERSION (PACKAGE_NAME): release 2.7.28 * scm/framework-ps.scm (write-preamble): use it to pick exactly the right font from a Mac dfont. (write-preamble): don't forget directory, only look at files. This fixes problems with TTF files in dfonts that don't match their PostScript names. * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract PS name from TTF font. * input/regression/tie-manual.ly: document new feature. * Documentation/topdocs/NEWS.tely (Top): add tie NEWS. * VERSION (MY_PATCH_LEVEL): bump to .28 * Documentation/user/basic-notation.itely (Ties): add tie examples refs. * lily/tie-formatting-problem.cc (score_ties_configuration): symmetry penalties for outer ties. 2006-01-20 Han-Wen Nienhuys * lily/tie-formatting-problem.cc (generate_configuration) (set_manual_tie_configuration): skip non-pair manual tie-configuration, so you can set individual ties as #'tie-configuration = #'((7 . 1) #t (-3 . 1)) * input/regression/tie-chord.ly: use generateTiePattern to simplify file. * lily/tie-formatting-problem.cc (peak_around): new function. (score_configuration): use sliding criterion for staff line collisions. (score_configuration): idem for dot collisions. (generate_configuration): use separate stem_gap for gap to stem. * lily/include/tie-formatting-problem.hh (struct Tie_details): separate penalty factors for x and y distance. (struct Tie_details): separate penalties for tip and center line collisions. 2006-01-19 Han-Wen Nienhuys * lily/tie-formatting-problem.cc (generate_configuration): make large ties avoid stafflines in the horizontal section. (score_configuration): use softcoded penalties (score_aptitude): idem. * lily/tie-helper.cc (from_grob): softcode tie details * lily/staff-symbol-referencer.cc (on_staff_line): new function * lily/staff-symbol-referencer.cc (on_line): rename from on_staffline 2006-01-18 Han-Wen Nienhuys * ly/music-functions-init.ly: remove duplicate tag. * lily/include/*.hh: GCC 4.1 fixes. 006-01-16 Erlend Aasland * Documentation/user/global.itely: fix typos; @bugs -> @refbugs * scm/define-music-types.scm: fix bug in desc. string for OverrideProperty 2006-01-15 Erik Sandberg * scripts/lilypond-book.py: bugfix * scm/define-music-types.scm: fix typos. 2006-01-14 Graham Percival * Documentation/user/ basic-notation.itely, global.itely, advanced-notation.itely, instrument-notation.itely: small additions (bugs and commonly tweaked properties). 2006-01-13 Han-Wen Nienhuys * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic detection of mingw build. (MINGW_BUILD): opps. 2006-01-12 Jan Nieuwenhuizen * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add i686-mingw32. 2006-01-12 Han-Wen Nienhuys * scm/music-functions.scm (skip->rest): add skip->rest 2006-01-11 Han-Wen Nienhuys * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts() explicitly. * lily/font-config-scheme.cc (LY_DEFINE): also display font and config dirs. Aids debugging. (display_config): also display config files. 2006-01-07 Han-Wen Nienhuys * VERSION: release 2.7.27 * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS) for determining bar size. * lily/staff-symbol.cc (print): place lines at distance line-positions * scm/define-grob-properties.scm (all-user-grob-properties): add line-positions. * lily/staff-symbol.cc (height): new function. * input/regression/staff-line-positions.ly: new file. 2006-01-06 Graham Percival * input/test/add-staccato.ly: remove reference to old file. 2006-01-06 Han-Wen Nienhuys * scripts/lilypond-book.py (invokes_lilypond): allow . in path to lilypond binary too. 2006-01-05 Han-Wen Nienhuys * make/mutopia-rules.make (Module): use LILYPOND_BINARY 2006-01-06 Jan Nieuwenhuizen * scripts/midi2ly.py: Bugfix: Declare datadir. * make/ly-rules.make: * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but that seems to be gone). Fixes make web. * The grand 2005-2006 replace. * VERSION (MY_PATCH_LEVEL): Stay on .26 for now. 2006-01-05 Han-Wen Nienhuys * make/lilypond-vars.make: set LILYPOND_BINARY variable (LILYPOND_BOOK_LILYPOND_FLAGS): new variable LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings, like -dgs-font-load. * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi): remove absolute path to lilypond binary. 2006-01-05 Pedro Kroeger * configure.in (NCSB_DIR): fix --with-ncsb-dir option. 2006-01-05 Han-Wen Nienhuys * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable. * mf/GNUmakefile: remove broken dvips map symlink. 2006-01-04 Jan Nieuwenhuizen * lily/main.cc: * configure.in: Cosmetic fixes. 2006-01-04 Mats Bengtsson * Documentation/user/music-glossary.tely (Pitch names): Added Spanish pitch names and durations, thanks to Ernesto Gancedo 2006-01-04 Han-Wen Nienhuys * scm/lily.scm (define-scheme-options): use quasi-quote for option init. Fixes verbose printing of .scm files. * stepmake/aclocal.m4: add spaces before - options. 2006-01-03 Jan Nieuwenhuizen * lily/relocate.cc (setup_paths): Bugfix: do not store result of path search in local block variable. 2006-01-02 Han-Wen Nienhuys * configure.in (NCSB_DIR): --enable-ncsb-dir (LINK_GXX_STATICALLY): denko. * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH. * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option. use locate to find c059033l.pfb. 2006-01-02 Jan Nieuwenhuizen * lily/tie-formatting-problem.cc (problem::generate_base_chord_configuration): Use my_round (was round). * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix, do not invoke mbrtowc. * lily/relocate.cc (setup_paths): Add more debugging verbosity. 2006-01-02 Han-Wen Nienhuys * scm/lily.scm (lilypond-all): oops. remove debugging hack. 2005-01-02 Heikki Junes * Documentation/user/invoking.itely (svg): revise. 2006-01-02 Han-Wen Nienhuys * lily/lexer.ll: use sourcefilename iso. renameinput. 2006-01-01 Han-Wen Nienhuys * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create .ttf instead of c059XXXttf. * lily/program-option.cc (LY_DEFINE): special support for --verbose, so it works before option init too. * mf/GNUmakefile (local-install): oops. * lily/lyric-hyphen.cc (print): oops. * buildscripts/pfx2ttf.fontforge: new file. * mf/GNUmakefile (NCSB_PATH): add vars for NCSB. ($(outdir)/%.ttf): new rule. * scm/define-grobs.scm (all-grob-descriptions): add font-interface to LyricHyphen. * lily/lyric-hyphen.cc (print): multiply hyphen height by font-size 2005-12-31 Han-Wen Nienhuys * VERSION: release 2.7.26 * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files. 2005-12-30 Han-Wen Nienhuys * lily/font-config.cc (init_fontconfig): verbosity. * THANKS: add Muziekacademie Lede. * scripts/musicxml2ly.py (print_voice_definitions): new function (print_score_setup): new function (convert): read part definition to output staves properly. * python/musicxml.py (Measure.get_notes): new class. Wrap lists of Music_xml notes. * python/musicexp.py (Output_printer.__init__): use _ in data members. (Output_printer.unformatted_output): new function: no formatting, but count braces. (Duration.get_length): remove isinstance() checks for Output_printer everywhere. * input/regression/lyrics-bar.ly (texidoc): add Separating_line_group_engraver. 2005-12-29 Jan Nieuwenhuizen * lily/relocate.cc (framework_relocation): New function, factored from set_relocation (). (prefix_relocation): Rename from set_relocation (). (setup_paths): Use it. 2005-12-30 Han-Wen Nienhuys * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical numbers. Patch by Erlend Aasland. 2005-12-29 Han-Wen Nienhuys * lily/font-config.cc (init_fontconfig): print warning if cache file is not existant. * lily/main.cc: don't use #ifdef but #if 2005-12-28 Han-Wen Nienhuys * lily/grob-property.cc (internal_set_property): don't abort on calculation-in-progress. * lily/beam.cc (get_default_dir): robustness: don't divide by zero. * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read connect-to-neighbor property not connect-to-other * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable. (LY_DEFINE): oops. don't forget protection. * flower/parse-afm.cc (Module): strip AFM handling completely. * lily/stencil-expression.cc: idem. * lily/grob-interface-scheme.cc (LY_DEFINE): idem. * lily/function-documentation.cc (ly_add_function_documentation): use static member iso. Protected_scm * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW * config.make.in (prefix): remove HAVE_KPATHSEA_SO 2005-12-27 Jan Nieuwenhuizen * lily/relocate.cc (set_env_dir): New function. (set_relocation): Use it to fix setting PANGO_PREFIX. 2005-12-27 Han-Wen Nienhuys * input/regression/stem-direction-context.ly: remove rest. * lily/melody-engraver.cc (process_music): restart for bar lines. (acknowledge_slur): restart for slurs. 2005-12-27 Heikki Junes * Documentation/user/invoking.itely: describe how to view SVG output using Inkscape which replace embedded fonts with OTF fonts. 2005-12-25 Han-Wen Nienhuys * lily/relocate.cc (set_relocation): set PANGO_PREFIX 2005-12-23 Jan Nieuwenhuizen * lily/melody-engraver.cc (class Melody_engraver): Remove lying comment. 2005-12-23 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.25 * Documentation/topdocs/NEWS.tely (Top): document new feature. * input/regression/stem-direction-context.ly: new file. * lily/relocate.cc (set_relocation): add PANGO_PREFIX * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem on rest. * ly/engraver-init.ly: add Melody_engraver * lily/beam.cc (calc_direction): use default-direction iso. get_default_direction() * scm/define-grob-properties.scm (all-user-grob-properties): add default-direction property. * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem. * lily/stem.cc (calc_default_direction): remove Stem::get_default_direction, use default-direction with callback instead. * lily/melody-spanner.cc (calc_neutral_stem_direction): * lily/melody-engraver.cc: new file. Acknowledge stems for interpolated stem directions. * lily/melody-spanner.cc: new file. Interpolate stem directions. * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem * lily/slur-configuration.cc (fit_factor): more robust check for point in curve X-extent. * lily/slur.cc (outside_slur_callback): return offset_scm, not 0. (outside_slur_callback): check for 'outside avoidance. * lily/slur-configuration.cc (score_extra_encompass): don't use bound->column() == avoid->column() for checking extents, as this doesn't work for accidentals. * lily/slur-engraver.cc (acknowledge_extra_object): remove DynamicText hardcoding. * lily/slur-scoring.cc (enumerate_attachments): robustness: don't crash if bound stem is NULL * lily/piano-pedal-performer.cc: patch by MWD for enabling piano pedals. 2005-12-22 Graham Percival * scm/define-markup-commands.scm: typo. @code{\raise} => @code{\\raise}. * darwin.patch: now used again, includes a required patch from fink. 2005-12-21 Heikki Junes * po/TODO: mention gtranslator along with kbabel. * po/fi.po: update translations. 2005-12-21 Jan Nieuwenhuizen * lily/relocate.cc (setup_paths): Bugfix. 2005-12-21 Han-Wen Nienhuys * lily/slur-configuration.cc (score_extra_encompass): don't use "avoid" choice for avoid-slur. * stepmake/bin/install.py (dest): don't create existing dir. 2005-12-21 Jan Nieuwenhuizen * stepmake/bin/install.py: Remove file before copying. * config.make.in: * stepmake/aclocal.m4: Do not substitute INSTALL. 2005-12-21 Han-Wen Nienhuys * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree): depend on link-tree. * lily/relocate.cc (setup_paths): only check path for non-absolute dir without directory part. * flower/file-name.cc (is_absolute): new method. (is_absolute): check root_ too. 2005-12-21 Jan Nieuwenhuizen * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken relocation code. Oops, don't comment out too much. * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY iso itself. * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h. Fixes mingw compile. 2005-12-20 Jan Nieuwenhuizen * .cvsignore: Add install-sh. * autogen.sh (srcdir): Typo. 2005-12-20 Han-Wen Nienhuys * autogen.sh (srcdir): urg. Touch install-sh. * stepmake/bin/install-sh (Module): remove. * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL). * lily/include/relocate.hh: new file. * lily/relocate.cc: new file. Contain relocation logic. * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX. (main): read LILYPOND_VERBOSE as the first thing. * stepmake/aclocal.m4: remove INSTALL variable. * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree): separate target for making font symlinks. (documentation-dir): use $(if $(findstring )) for switching off Documentation. * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do something if DOCUMENTATION is no. 2005-12-19 Han-Wen Nienhuys * VERSION: release 2.7.24 * lily/script-column-engraver.cc (stop_translation_timestep): delay adding to script-column. * lily/tuplet-bracket.cc (print): suicide if no control-points. * python/convertrules.py (conv): rule for number-visibility * lily/slur-configuration.cc (score_extra_encompass): different distance measure for avoid and inside avoidance. (score_extra_encompass): use 1/(distance+eps) as penalty. * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside encompass objects for generating slur curves. * lily/slur.cc: use details iso. slur-details property. * input/regression/slur-tuplet.ly: new file. * lily/slur-engraver.cc (acknowledge_tuplet_number): new function. * flower/include/offset.hh (class Offset): new operator /= * lily/tuplet-number.cc (print): new file, new interface. * scm/define-grob-properties.scm (all-user-grob-properties): remove number-visibility property. * lily/tuplet-bracket.cc (calc_control_points): new function (calc_connect_to_neighbors): new function. (print): remove text handling for tuplet numberdef. * lily/tuplet-engraver.cc (struct Tuplet_description): create TupletNumbers too. * lily/lily-guile.cc (robust_scm2booldrul): new function * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber * lily/tuplet-bracket.cc (calc_position_and_height): use staff-padding to control whether tuplet brackets are over staves. * lily/grob.cc (suicide): clear dim_caches_. * lily/dimension-cache.cc (clear): new function. * lily/grob.cc (extent): swap order of min-extent and extent calculations. This fixes hara kiri staves. 2005-12-19 Jan Nieuwenhuizen * lily/main.cc: Nitpick: relocation is not based on path, but on directory (location). 2005-12-19 Han-Wen Nienhuys * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX * stepmake/stepmake/install-targets.make (local-uninstall): idem. * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem. * stepmake/stepmake/help2man-targets.make (install-help2man): idem. * stepmake/stepmake/generic-vars.make (Module): idem. * stepmake/stepmake/executable-targets.make (default): use it. * stepmake/bin/install.py (create_dir): new file. Replace install-sh. * make/GNUmakefile: don't install make rules. * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with slashes. (prepend_env_path): more verbosity. 2005-12-18 Han-Wen Nienhuys * GNUmakefile.in: add dir argument for find command. * lily/parser.yy (bass_figure): set_spot() for bass figures. This fixes weird line numbers for point & click. * lily/source-file.cc (get_counts): init line/column/char counts. 2005-12-16 Han-Wen Nienhuys * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate. 2005-12-16 Graham Percival * Documentation/user/basic-notation.itely, advanced-notation.itely: minor fixes from Fredric. Thanks! 2005-12-16 Han-Wen Nienhuys * ly/music-functions-init.ly: add \bar and \clef music function * lily/lily-lexer.cc: idem. * lily/parser.yy (FIXME): remove BAR and CLEF. 2005-12-14 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): doc string argument change. * lily/parser.yy (Generic_prefix_music_scm): allow strings as function arguments too * lily/main.cc (set_relocation): new function. * scripts/musicxml2ly.py (convert): add \version * lily/tie.cc: remove get_default_attachments() * VERSION (PACKAGE_NAME): release 2.7.23 * lily/chord-tremolo-engraver.cc (acknowledge_stem): use ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly * Documentation/topdocs/NEWS.tely (Top): document new feature. * lily/tie-formatting-problem.cc (score_ties): new function (get_variations): new function. Try flipping dirs for collisions. (generate_optimal_chord_configuration): new function. 1-opt search for better configuration. * lily/tie-configuration.cc: new file. * lily/tie.cc: junk Tie::get_configuration() * lily/tie-formatting-problem.cc (score_ties_aptitude): new function. (score_ties_configuration): new function. (generate_ties_configuration): new function. (generate_base_chord_configuration): new function. (set_ties_config_standard_directions): Move body from tie-column-format.cc (set_manual_tie_configuration): Move body from tie-column-format.cc * input/regression/tie-dot.ly: new file. * lily/tie-formatting-problem.cc (score_configuration): score tie/dot collisions. * lily/tie-helper.cc (get_transformed_bezier): new function * Documentation/topdocs/NEWS.tely (Top): strip out-www. * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use -undefined suppress iso. -framework Python * scm/define-grobs.scm (all-grob-descriptions): set springs-and-rods (thanks Joe Neeman!) 2005-12-12 Nicolas Sceaux * input/no-notation/display-lily-tests.ly (test): * scm/display-lily.scm (tag->lily-string): the syntax for tags has changed from \tag #'(a b) to \tag #'a \tag #'b 2005-12-12 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely: strip out-www. * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h * config.make.in (AR): add AR and RANLIB * flower/libc-extension.cc: include cassert * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust darwin check. 2005-12-11 Graham Percival * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD. * stepmake/stepmake/python-modules-vars.make: define SHARED_FLAGS for OSX. Thanks Johannes Schindelin! * THANKS: added Johannes Schindelin. 2005-12-10 Han-Wen Nienhuys * python/midi.c (pymidi_parse): use memcmp() iso. strcmp(). * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove Span_arpeggio_engraver, add Tweak_engraver to Score context. * lily/parser.yy: reorganize file layout. * ly/music-functions-init.ly: add tweak music function. * lily/grob-info.cc (ultimate_music_cause): new function: recursively lookup causes. * lily/parser.yy (chord_body_element): allow music functions for post-events, allow music functions for chord elements. * lily/font-config-scheme.cc (display_fontset): add cast. * python/convertrules.py (FatalConversionError.sub_syms): \tag #'(a b) -> \tag #'a \tag #'b rule. * python/musicexp.py (Output_printer.dump_version): new function 2005-12-09 Han-Wen Nienhuys * lily/parser.yy (FIXME): remove \tag (FIXME): remove tag_music() function. * lily/lily-lexer.cc: remove \tag * ly/music-functions-init.ly: define music-function "tag" * lily/parser.yy (chord_body_element): allow tags in chord bodies. 2005-12-08 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): release 2.7.22 * input/regression/lyric-hyphen-retain.ly: renew. * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace grob * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance iso. minimum-length property for rods. * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create LyricSpace item to keep lyrics spaced apart. * ly/engraver-init.ly: remove Separating_line_group_engraver * Documentation/user/music-glossary.tely: do setfilename before music-glossary. 2005-12-07 Heikki Junes * Documentation/user/lilypond-book.itely: use `,´ after xref: See xref documentation, for example. 2005-12-07 Han-Wen Nienhuys * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use pending_skip iso. ly_voice[-1] (main): add if __main__ for debugging. * python/musicxml.py (Accidental.__init__): new class. * scripts/musicxml2ly.py (progress): new function (musicxml_key_to_lily): don't barf on modeless keys. (create_skip_music): new function. (musicxml_spanner_to_lily_event): new function. Handle beams too. (musicxml_note_to_lily_main_event): new function. * python/musicexp.py (Music.__init__): add comment field. (NestedMusic.append): new routine. (SequentialMusic.print_ly): print comment. (ArpeggioEvent.ly_expression): new class (BeamEvent.ly_expression): new class (NoteEvent.__init__): support for cautionary/forced accs. * lily/lookup.cc (slur): normal order for array loop. * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox to 0.0. * ly/engraver-init.ly: set bar-size, so bar-lines aren't collapsed. 2005-12-06 Erik Sandberg * scm/music-functions.scm: Make phrasing slurs follow voice direction * scripts/lilypond-book.py: Introduce option --preserve-line-breaks, for usage with srcltx 2005-12-06 Han-Wen Nienhuys * scm/output-lib.scm (print-circled-text-callback): draw circle around text using make-circle-markup. * Documentation/user/*: strip out-www from file names. 2005-12-05 Heikki Junes * Documentation/user/lilypond.tely (direntry): remove empty lines; fixes invalid info entry issue with makeinfo 4.8 in debian sid. 2005-12-05 Han-Wen Nienhuys * Documentation/user/GNUmakefile: idem. * Documentation/user/macros.itexi: strip out-www * python/rational.py: python 2.3 compat. * VERSION (PATCH_LEVEL): release 2.7.21 * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi): option formatting, lilypond style. * python/musicexp.py: grab from Ikebana: a library for composing ly music expressions. (Output_printer): class for advanced .ly printing. (eg. tupletting) * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and convert to pythonesque structure. * python/rational.py: PD rational number class. * Documentation/user/converters.itely (Invoking musicxml2ly): new node. 2005-12-04 Erik Sandberg * lily/part-combine-iterator.cc: Minor bugfix * THANKS: Update bughunters 2005-12-02 Werner Lemberg * mf/README: Document process for proper mf2pt1 conversion. * mf/feta-beugel.mf (draw_brace): Fix path to assure clean overlapping. * mf/feta-harmonica.mf: Removed. Unused. 2005-12-02 Han-Wen Nienhuys * scripts/lilypond-book.py (do_file): fix thinkos. 2005-12-01 Jan Nieuwenhuizen * lily/GNUmakefile ($(outdir)/FlexLexer.h): ($(outdir)/parser.cc): ($(outdir)/lexer.cc): Bugfix: depend on config.h. 2005-11-30 Pedro Kröger * ly/titling-init.ly (tagline): it should be a space between "Music engraving by LilyPond" and the version number. 2005-12-01 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.20 2005-11-30 Han-Wen Nienhuys * scm/define-markup-commands.scm (pad-to-box): new markup command. * scm/define-grobs.scm (all-grob-descriptions): set thickness to 1.0. (all-grob-descriptions): don't shift RehearsalMark arbitrarily. 2005-11-29 Han-Wen Nienhuys * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks. * kpath-guile/: remove directory * scm/kpathsea.scm (ly:kpathsea-expand-variable): new file. Encapsulate kpathsea using commandline tools. * lily/all-font-metrics.cc (kpathsea_find_file): use (scm kpathsea) module. 2005-11-29 Mats Bengtsson * Documentation/user/advanced-notation.itely (Setting automatic beam behavior): Correct a few typos. Thanks to David Bobroff. * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use \usepackage instead of \RequirePackage. Thanks to Bernard Hurley. 2005-11-29 Han-Wen Nienhuys * scripts/*.py: gmane address for bugs. 2005-11-28 Pal Benko * make/ly-rules.make: add -f switch to mv * scm/output-libs.scm: add new bar symbol "." for punctus divisionis * lily/bar-line.cc: interpret it 2005-11-28 Jan Nieuwenhuizen * configure.in (--disable-documentation): New switch. * GNUmakefile.in: Use it. * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea. 2005-11-28 Han-Wen Nienhuys * scripts/lilypond-book.py (do_file): search chunks for \\begin{document} * GNUmakefile.in: add copy step in between so we can lose the out-www directories. 2005-11-27 Han-Wen Nienhuys * lily/pango-font.cc (pango_item_string_stencil): put geometry.width into glyph-string too. 2005-11-26 Nicolas Sceaux * scm/define-music-display-methods.scm (RevertProperty): (OverrideProperty): Use grob-property-path property, a list of symbols, instead of grob-property, which used to be a single symbol. (BassFigureEvent): a figure can be a plain number, not necessarily a markup. 2005-11-25 Han-Wen Nienhuys * VERSION: release 2.7.19 * lily/figured-bass-engraver.cc (process_music): check figuredBassCenterContinuations first. * scm/translation-functions.scm (format-bass-figure): make double sharp larger. * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to determine X-parent. * lily/system-start-delimiter-engraver.cc: move from Nested_system_start_delimiter_engraver, rename Nested_system_start_delimiter_engraver -> System_start_delimiter_engraver. * lily/nested-system-start-delimiter-engraver.cc (from_list): read bracket type from hierarchy. 2005-11-24 Han-Wen Nienhuys * lily/rest.cc (y_offset_callback): read staff-position. * scm/define-grob-properties.scm (all-user-grob-properties): don't mark after-line-breaking-callback as internal. * lily/self-aligment-interface.cc: remove self-[XY]-offset. 2005-11-25 Werner Lemberg * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'. 2005-11-23 Han-Wen Nienhuys * stepmake/bin/add-html-footer.py (do_file): add google * lily/staff-symbol-engraver.cc (process_music): bugfix: stop staff if first_start_ is true. 2005-11-23 Han-Wen Nienhuys * scripts/midi2ly.py (split_track): add __repr__ members. (track_first_item): only return Item if not None. This fixes a problem when dumping a track that starts with an empty channel. * python/midi.c: doc module. 2005-11-22 Mats Bengtsson * Documentation/user/global.itely (Creating MIDI files): Fix compilation problem. 2005-11-22 Graham Percival * Documentation/user/basic-notation.itely: clarify dynamic padding text. * Documentation/user/advanced-notation.itely: add unicode escape control example, whatever that is. :) * Documentation/user/global.itely: added "removing dynamics from MIDI" code. 2005-11-21 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): release 2.7.18 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace System_start_delimiter_engraver by Nested_system_start_delimiter_engraver. * lily/nested-system-start-delimiter-engraver.cc (struct Bracket_nesting_node): new class. (struct Bracket_nesting_group): new class (struct Bracket_nesting_staff): new class. (process_music): create hierarchy of grobs. This allows separate tuning of different SSDs. * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare (all-grob-descriptions): remove old NestedSystemStartDelimiter. 2005-11-19 Han-Wen Nienhuys * lily/side-position-interface.cc (aligned_side): multiply staff_radius by 2. * lily/script-engraver.cc (make_script_from_event): allow setting values to '() 2005-11-18 Han-Wen Nienhuys * lily/system-start-delimiter.cc (line_bracket): don't shorten height. * scm/define-grobs.scm (all-grob-descriptions): new grob NestedSystemStartDelimiter. * input/regression/system-start-heavy-bar.ly: new file. * lily/nested-system-start-delimiter-engraver.cc: new file. * lily/nested-system-start-delimiter.cc: new file. * input/regression/system-start-nesting.ly: new file. * scm/define-grobs.scm (all-grob-descriptions): use X side positioning for positioning braces for nested contexts. * lily/system-start-delimiter.cc (print): don't divide extent by staff_space. (print): use style iso. glyph. (staff_bracket): translate glyph inside routine already. 2005-11-18 Michael Welsh Duggan * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph names. 2005-11-17 Han-Wen Nienhuys * scm/define-context-properties.scm (all-user-translation-properties): rename figuredBassFormatter from newFiguredBassFormatter. * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc * lily/stem.cc (calc_stem_info): trigger beaming calculation. * lily/beam.cc (calc_beaming): new function. (calc_shorten): new function. * THANKS: add Edward Neeman. * input/regression/accidental-clef-change.ly: new file. * lily/note-collision.cc (check_meshing_chords): don't merge fa heads. * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property. * lily/clef-engraver.cc (inspect_clef_properties): reset localKeySignature for clef changes. 2005-11-17 Mats Bengtsson * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3 add dummy definition that works in Linux and add information in INSTALL.texi on the specific Python requirements for Cygwin/Mingw. * Documentation/user/changing-defaults.itely (Modifying context plug-ins): Add index for \with. * Documentation/user/music-glossary.tely (dal segno): Updated example to version >=2.6. 2005-11-16 Mats Bengtsson * Documentation/user/instrument-notation.itely (Printing chord names): Reorder \chordmode and \repeat in one example. 2005-11-16 Han-Wen Nienhuys * VERSION: release 2.7.17 * Documentation/topdocs/NEWS.tely (Top): add note about refactoring. * lily/tie-formatting-problem.cc (find_optimal_tie_configuration): new function. Search region of 3 positions for best tie. (score_configuration): new function. (score_aptitude): new function. (generate_configuration): new function. (get_configuration): new function. (Tie_formatting_problem): new function * input/regression/page-top-space.ly: a6 for page-top-space demo. * stepmake/aclocal.m4: use $(if ) for config-FOOF.make * THANKS: add Eduardo Vieira & Ralph Little * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads narrower. * lily/include/tie-formatting-problem.hh (class Tie_formatting_problem): add Tie_details to Tie_formatting_problem. Update calling conventions. * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not config.make. * Documentation/user/lilypond.tely: remove musedata2ly entry. 2005-11-16 Jürgen Reuter * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh, scm/define-context-properties.scm: Maintenance bugfix: make ligature brackets work again by removing obsolete ligature primitive callback push/pop. * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do not call Tuplet_bracket::calc_direction. Removed obsolete gap value. 2005-11-15 Jan Nieuwenhuizen * stepmake/aclocal.m4 (depth): Explain why absolute directory is used and do not call it a path. (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name. 2005-11-14 Han-Wen Nienhuys * lily/include/tie-formatting-problem.hh (class Tie_formatting_problem): new file. * lily/tie-formatting-problem.cc (common_x_refpoint): new file. * Documentation/misc/ChangeLog-2.3: new file. * lily/audio-staff.cc (output): degarianize. 2005-11-14 Jan Nieuwenhuizen * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc): Unset PYTHONOPTIMIZE. Fixes install if set. 2005-11-13 Han-Wen Nienhuys * python/convertrules.py (conv): add warning about drums. * make/stepmake.make: include toplevel-version.make after config.make. * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute. also allow python2.4 * config.make.in (configure-srcdir): remove GXX GCC vars. * stepmake/aclocal.m4: don't do non-srcdir build with symlinks. Use inclusion, so the src directory name can be changed. 2005-11-13 Jan Nieuwenhuizen * make/mutopia-vars.make: * make/ly-vars.make: Use src-wildcard iso wildcard for source files. 2005-11-13 Werner Lemberg * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture' but the affected path. This ensures that the (overlapping) outlines have the same direction, which is a necessary prerequisite for FontForge's algorithm to remove overlaps. Formatting. * mf/feta-haak.mf: Formatting. (draw_bracket): Slightly modify outline to avoid an unnecessary corner. Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive them from the affected paths. 2005-11-13 Han-Wen Nienhuys * mf/README: remove xpm / accordion notes. * lily/tie-column-format.cc (set_chord_outline): add dots into skyline extents. This fixes tie formatting if the left head has dots. * lily/tie.cc (get_configuration): only shift tie by a whole staff space inside the staff. (get_configuration): shift another position if necessary in case of left head tie 2005-11-12 Han-Wen Nienhuys * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use buildscript-dir iso. $(depth)/buildscripts. * tex/GNUmakefile (local-uninstall): remove music-drawing-routines.ps juggling. * stepmake/stepmake/install-targets.make (local-install-files): prepend src-dir to install targets. * lily/system-start-delimiter-engraver.cc (acknowledge_system_start_delimiter): use add_offset_callback(). This fixes translation of nested staffgroups. * lily/grob-closure.cc (add_offset_callback): only encaps in simple_closure if it's a procedure. * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph from bar-line. * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add remove-empty where pertinent. 2005-11-12 Graham Percival * Documentation/user/instrument-notation.itely: added Cameron Horsburgh's multiple stanzas docs. Thanks! 2005-11-11 Han-Wen Nienhuys * lily/GNUmakefile ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico): make picture in builddir, not srcdir. 2005-11-10 Han-Wen Nienhuys * VERSION: release 2.7.16 * scripts/lilypond-book.py (main): use commands.mkarg () to quote shell arguments. 2005-11-10 Mats Bengtsson * Documentation/user/examples.itely (Piano templates): Minor modification to the Piano centered lyrics example. 2005-11-10 Han-Wen Nienhuys * scripts/lilypond-invoke-editor.scm (run-browser): look at $BROWSER. * Documentation/user/point-and-click.itely: simplify p&c instruction: don't configure firefox. Put lilypond-invoke-editor in front of the browser. * scripts/lilypond-invoke-editor.scm (run-editor): new function. (run-browser): new function. * lily/parser.yy (Lily_lexer): recognize Book * lily/book.cc (clone): new function * lily/parser.yy (book_body): allow BOOK_IDENTIFIER. 2005-11-10 Jürgen Reuter * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc: Maintenance bugfix: reduce number of font related warnings by updating naming conventions for glyph-name. 2005-11-09 Han-Wen Nienhuys * scm/define-grobs.scm (all-grob-descriptions): add rhythmic-grob-interface to TabNoteHead. * scm/layout-beam.scm (check-quant-callbacks): remove set_stem_lengths() 2005-11-08 Jürgen Reuter * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical alignment of centered divisiones. * scm/scripts.scm (articulations): Maintenance bugfix: follow-into-staff -> quantize-position. * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix: plica head in porrectus deminutus. 2005-11-08 Han-Wen Nienhuys * make/lilypond.fedora.spec.in (Group): add %clean section. * lily/tuplet-bracket.cc (print): change check: remove bracket if less then 1/5th of total length. (print): use gap too. Fixes tupletUp-single-bracket.ly * scm/music-functions.scm (glue-mm-rest-texts): also put other events into EventChord. This fixes textspanners on mm rests. Fixes spanner-rest.ly * lily/side-position-interface.cc (get_axis): read side-axis (set_axis): set side-axis. * scm/define-grobs.scm (all-grob-descriptions): add side-axis properties everywhere. * lily/spacing-spanner.cc (breakable_column_spacing): add average-spacing-wishes. Take maximum if not set. (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly * scm/define-grobs.scm (all-grob-descriptions): add average-spacing-wishes. * lily/grob-closure.cc (add_offset_callback): bugfix: properly add offset callbacks. This fixes alignment for Fingering objects. * scm/define-grobs.scm (all-grob-descriptions): tiny bit less space for key - timesig combination. * input/regression/script-stem-tremolo.ly (Module): new file. * scm/define-grobs.scm (all-grob-descriptions): decrease distance to key sig. * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function. Fixes: c-tremolo-script.ly. * lily/text-engraver.cc (acknowledge_stem_tremolo): new function. * lily/script-engraver.cc (acknowledge_stem_tremolo): new function. * scm/define-grobs.scm (all-grob-descriptions): remove self-X-offset. Fixes alignment of octavate-8. * scripts/lilypond-book.py (datadir): look in LILYPONDPREFIX/share/lilypond/current/ * GNUmakefile.in: symlink current to . 2005-11-07 Pedro Kroger * lily/main.cc: eps listed as a backend. 2005-11-06 Han-Wen Nienhuys * scm/lily-library.scm (print-music-as-book): quote $defaultpaper. 2005-11-04 Han-Wen Nienhuys * lily/include/score.hh (class Score): remove texts_ member. * lily/beam.cc (set_stem_lengths): force direction callback. (print): read quantized-positions, so we can force Beam::set_stem_lengths to occur. (rest_collision_callback): use common X parent. 2005-11-03 Jan Nieuwenhuizen * flower/file-path.cc (find): Bugfix: Return name of file found. * lily/main.cc (setup_paths): Bugfix for argv0 logic. (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0. (setup_paths)[__MINGW32__]: Also look for argv0 + .exe. 2005-11-03 Han-Wen Nienhuys * flower/offset.cc: idem. * mf/*.mf: update email address. * lily/font-config-scheme.cc: new file. * GNUmakefile.in (SUBDIRS): remove debian/ directory. * lily/*: cs.uu.nl -> xs4all.nl * VERSION (PATCH_LEVEL): release 2.7.15 * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse spec files. * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/ 2005-11-02 Han-Wen Nienhuys * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens. * lily/staff-performer.cc (process_music): add audio elements. This makes MIDI instrument changes work once again. * lily/main.cc (LY_DEFINE): add gmane address. * lily/beam.cc: remove calc_positions() * lily/include/grob.hh (class Grob): move pscore, dim_cache_, original_ in private scope. (class Grob): drop pscore_ pointer, change to output_def pointer. (class Grob): cleanup class definition. * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure. 2005-11-02 Jan Nieuwenhuizen * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is absolute. Better diagnostics. * GNUmakefile.in: Add bin/ to tree and populate with some links. This makes lilypond run from the build directory using argv0 relocation (without any --prefix or LILYPONDPREFIX setting). 2005-11-02 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): document new backend design. * scm/define-grobs.scm: purge self-[XY]-offset variables, replace with simple-closure. * lily/self-aligment-interface.cc (set_align_self): new function (set_center_parent): new function. * lily/side-position-interface.cc (set_axis): new function. * lily/new-fingering-engraver.cc (position_scripts): use drul for generic code. * scm/define-grob-properties.scm (all-user-grob-properties): remove [XY]-offset-callbacks add [YX]-offset 2005-11-02 Mats Bengtsson * scm/define-grobs.scm (all-grob-descriptions): Added space-alist entry for time signatures after breathing signs. Bug report by Scott Russell. 2005-11-01 Jan Nieuwenhuizen * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is not absolute, make it absolute using PATH. 2005-10-28 Jan Nieuwenhuizen * python/midi.c (initmidi): Fix type for mingw. 2005-10-27 Jan Nieuwenhuizen * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw. * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw cross compiling. * stepmake/aclocal.m4: Support python cross compiling. * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX): Add mingw section. 2005-11-02 Han-Wen Nienhuys * scm/output-lib.scm (chain-grob-member-functions): replace chained-callback.cc * lily/chained-callback.cc (Module): remove file. * lily/rest-collision.cc (force_shift_callback_rest): change to chained callback. * lily/rest.cc (y_offset_callback): merge function of 3 callbacks. * lily/grob.cc (y_parent_positioning): remove axis argument from parent_positioning callbacks. (Grob): junk init code (get_offset): use generic property callbacks for X-offset, Y-offset. Remove Grob::{add,has}_offset_callback. (axis_parent_positioning): new function (axis_offset_symbol): new function (chain_offset_callback): new function (add_offset_callback): new function * lily/beam.cc (rest_collision_callback): change signature; this is now a chained callback. * lily/include/dimension-cache.hh (class Dimension_cache): remove callback administration. * lily/simple-closure.cc: new file. Smob type that allows "grob member functions", (ly:make-simple-closure FUNC A B) is evaluated as (FUNC grob A B). This allows chaining of callbacks in various ways. * lily/slur-engraver.cc (acknowledge_extra_object): use chained callbacks. * lily/slur.cc (outside_slur_callback): take 2 arguments. * lily/rest.cc (polyphonic_offset_callback): remove. * lily/script-engraver.cc (try_music): remove bool* argument. * scm/script.scm (default-script-alist): set quantize-position appropriately. * lily/script-engraver.cc: remove follow_into_staff_ special coding. * lily/side-position-interface.cc (aligned_side): move staff position quantization from Side_position_interface::quantised_position(). (quantised_position): remove 2005-10-31 Han-Wen Nienhuys * input/regression/beam-quant-standard.ly: reindent, set debug-beam-quanting to #t. * lily/beam-concave.cc (calc_concaveness): set concaveness to 10000 if this is a "hard" concave beam. * lily/beam.cc (calc_least_squares_positions): change from calc_least_squares_dy (set_stem_lengths): this is now a chained callback. * lily/context-property.cc (execute_general_pushpop_property): bugfix override with procedure should have effect. * scm/define-grob-properties.scm (all-internal-grob-properties): remove position-callbacks. * scm/define-grobs.scm (all-grob-descriptions): use ly:make-callback-chain for positions property. * scm/layout-beam.scm (check-quant-callbacks): return list of chained callbacks. * scm/lily.scm (type-p-name-alist): add callback-chain * lily/lily-guile.cc (type_check_assignment): type check failure is warning not message. * lily/grob-property.cc (try_callback): walk callback chain if appropriate. * lily/chained-callback.cc: new file. new smob type. * lily/lily-guile.cc (procedure_arity): new function. 2005-10-28 Han-Wen Nienhuys * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison. 2005-10-25 John Mandereau * Documentation/user/instrument-notation.itely (Figured bass): describe new features 2005-10-26 Han-Wen Nienhuys * lily/beam.cc (calc_least_squares_dy): use property callback. * lily/beam-concave.cc (calc_concaveness): use property callback. * ly/paper-defaults.ly: move fixed dimensions from paper.scm 2005-10-25 Jan Nieuwenhuizen * HACKING: Update. 2005-10-24 Han-Wen Nienhuys * scm/layout-page-layout.scm (page-headfoot): annotate pagetopspace too. * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit. * scm/layout-page-layout.scm (annotate-y-interval): y-annotation doesn't take y-space. * scm/paper.scm (paper-alist): fix A7 dimensions. 2005-10-24 Jan Nieuwenhuizen * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix src-wildcard, remove $(wildcard). * po/GNUmakefile (PO_FILES): * ps/GNUmakefile (PS_FILES): * tex/GNUmakefile (TEX_FILES): * cygwin/GNUmakefile (POSTINSTALLS): * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed some wildcard calls. 2005-10-23 Han-Wen Nienhuys * THANKS: add Thomas Bushnell. 2005-10-23 Jan Nieuwenhuizen * scm/lily.scm: Remove horrendous running-from-gui? kludge. (lilypond-main): Redirect to gui-main if 'gui is set. * scripts/midi2ly.py (datadir): Add libdir iso datadir to path, for alternative installations kludging s/share/lib/g LILYPONDPREFIX. * SConstruct (libdir_package_version): Define. * python/SConscript: * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so module in libdir. 2005-10-22 Han-Wen Nienhuys * lily/main.cc: clarify --safe. 2005-10-21 Han-Wen Nienhuys * VERSION: release 2.7.14 * Documentation/user/*.itely: remove minimumVerticalExtent. * scm/define-grobs.scm (all-grob-descriptions): remove RemoveEmptyVerticalGroup * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup. * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean compile on MOSX * python/convertrules.py (conv): add rules. * lily/grob.cc: remove is_empty() * lily/grob-property.cc: remove add_to_list_property(). * scripts/convert-ly.py (datadir): add prefix switching hack to .py too. * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove space-function tweak. * lily/grob.cc: remove X-extent-callback / Y-extent-callback. * scm/define-grob-properties.scm (all-user-grob-properties): remove callback property. * lily/include/grob.hh (class Grob): remove property_callbacks_ member. Properties of procedure type are assumed to be callbacks. * lily/ligature-engraver.cc (override_stencil_callback): rewrite. Use noteHeadLigaturePrimitive as source. * scm/define-grob-properties.scm (all-internal-grob-properties): remove ligature-primitive-callback * lily/include/dimension-cache.hh (class Dimension_cache): make class, with Grob as friend. * lily/grob.cc: remove set_extent_callback(), set_extent() and has_extent_callback() * scm/translation-functions.scm (format-new-bass-figure): read figuredBassPlusDirection * scm/define-context-properties.scm (all-user-translation-properties): add figuredBassPlusDirection. * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes. * lily/align-interface.cc (set_ordered): new function. * lily/grob.cc (flush_extent_cache): rewrite. * lily/dimension-cache.cc (Dimension_cache): cache extent as Interval pointer directly. * lily/main.cc (setup_paths): insert extra / . (setup_paths): junk cff entry. * lily/font-config.cc (init_fontconfig): only add type1 / otf directories. * lily/axis-group-engraver.cc (finalize): remove extraVerticalExtent, minimumVerticalExtent verticalExtent. * lily/grob.cc (Grob): don't set extent from ctor. (extent): use property callbacks. * lily/axis-group-interface.cc: remove set_axes() function. * lily/grob-property.cc (del_property): new function. 2005-10-21 Han-Wen Nienhuys * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check. 2005-10-20 Jan Nieuwenhuizen * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops. Add. 2005-10-19 Jan Nieuwenhuizen * mf/SConscript: Updates. * lily/GNUmakefile (OUT_DIST_FILES): Bugfix. * stepmake/stepmake/*: * */GNUmakefile: * config.make.in: * GNUmakefile.in: * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make' from any directory in build-dir. Cleanups. * make/srcdir.make.in: Remove. * lily/main.cc (setup_paths): Fix and document build-dir hack. * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no main). * lily/SConscript: Remove ttftools. * SConstruct: Resurrect. 2005-10-19 Han-Wen Nienhuys * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for Y coordinate. * lily/paper-book.cc (add_score_title): put Paper_score title into systems_ list. * scm/translation-functions.scm (format-new-bass-figure): also allow plus in combination with _ 2005-10-17 Han-Wen Nienhuys * VERSION: 2.7.13 released. * lily/note-collision.cc (check_meshing_chords): don't wipe stencil, merely set transparent. * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau. (Top): document #'callbacks. (Top): document nested \override. * input/regression/figured-bass.ly: update for slash and pluses. * input/regression/figured-bass-continuation-forbid.ly (Module): new file. * scm/translation-functions.scm (format-new-bass-figure): use slashed-digit if diminished is set. (format-new-bass-figure): add + if 'augmented is set. * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit. * input/test/piano-staff-distance.ly: remove file. * Documentation/user/advanced-notation.itely (Formatting cue notes): use length-fraction for making stems/beams smaller. * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass modifications. * lily/new-figured-bass-engraver.cc: new property centerFiguredBassContinuations * Documentation/user/changing-defaults.itely (Difficult tweaks): use callbacks. * lily/context-property.cc (execute_general_pushpop_property): robustness checks. * input/regression/override-nest.ly: new file. * python/convertrules.py (FatalConversionError.subber): conversion rule for #'callbacks * input/regression/override-nest.ly: new function. * lily/parser.yy (music_property_def): allow \override #'a #'b = #c too. * lily/context-property.cc (lookup_nested_property): new function. (evict_from_alist): new function. (general_pushpop_property): new function. (execute_general_pushpop_property): rewrite. Support nested properties too. 2005-10-16 Han-Wen Nienhuys * lily/beam.cc: use length-fraction too. * scm/define-grob-properties.scm (all-user-grob-properties): remove property flag-width-function (all-user-grob-properties): remove space-function. * scm/layout-beam.scm: remove flag-width-function. * lily/beam.cc: remove flag-width-function * scm/layout-beam.scm: remove beam dir functions. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction. * lily/stem.cc (calc_length): multiply with length_fraction. Makes for easier grace tweaks. * lily/beam.cc: remove dir-function. * lily/system.cc (pre_processing): use callback to trigger spacing procedures. * lily/grob.cc: remove spacing-procedure. * lily/note-head.cc (calc_stem_attachment): new function. (internal_print): use callback to get glyph-name. * lily/grob-property.cc (get_interfaces): new function. * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces * lily/stem.cc (calc_stem_end_position): new function. (calc_length): new function. document details for stem. remove Stem::get_direction() * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback! * lily/grob-property.cc (set_callback): new function. * lily/script-engraver.cc (make_script_from_event): don't trigger callback. * lily/item-scheme.cc: new file. * lily/bar-line.cc (before_line_breaking): remove function. remove bar-size-procedure, break-glyph-function * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name * lily/clef.cc (before_line_breaking): change to calc_glyph_name. * lily/system-start-delimiter.cc (print): suicide from here. Remove after_line_breaking_callback. * lily/script-interface.cc (calc_direction): use callback for direction. * lily/side-position-interface.cc (aligned_side): don't use Side_position_interface::get_direction directly. Use callback. * lily/grob.cc (get_stencil): simplify: use callback mechanism to calculate stencil. (get_print_stencil): rename from get_stencil: create stencil with transparency, color and cause. * scm/define-grobs.scm: change print-function to stencil callback everywhere. * python/convertrules.py (conv): insert temporary warning rule. * lily/multi-measure-rest.cc (set_text_rods): use stencil directly. * lily/grob-property.cc (try_callback): remove marker if applicable. * lily/grob.cc: elucidate doc about after/before-line-breaking * lily/slur-scoring.cc (enumerate_attachments): robustness fix. * lily/stem.cc (height): idem. * lily/stem-tremolo.cc: idem. * lily/slur.cc (height): don't use get_uncached_stencil() * lily/rest.cc (y_offset_callback): use offset callback iso. after-line-breaking callback. * lily/grob.cc: change after/before-line-breaking-callback to after/before-line-breaking dummy properties. * lily/include/grob.hh: remove Grob_status. * scm/define-context-properties.scm (all-user-translation-properties): remove verticalAlignmentChildCallback * lily/tuplet-bracket.cc: use positions property iso. left,right-position. (calc_direction): use callback (calc_positions): use callback. * lily/tie.cc (calc_direction): use callback. Only call parent positioning for more than one tie. * lily/tie-column.cc (calc_positioning_done): use callback * lily/slur-scoring.cc (calc_control_points): use callback * lily/slur.cc (calc_direction): use callback. * lily/note-collision.cc (force_shift_callback): remove. * lily/dot-column.cc (force_shift_callback): remove. Use other_axis_parent_positioning. * lily/grob.cc (other_axis_parent_positioning): new function. (same_axis_parent_positioning): new function * lily/align-interface.cc (alignment_callback): remove function. * lily/note-collision.cc (calc_positioning_done): use callback. * lily/laissez-vibrer-tie.cc (calc_control_points): use callback. (calc_direction): idem. remove print function. * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback. * lily/dot-column.cc (calc_positioning_done): use callback. * lily/break-align-interface.cc (calc_positioning_done): use callback. * lily/beam.cc (calc_direction): use pseudo-property for beam direction callback. (calc_positions): use callback * lily/align-interface.cc (calc_positioning_done): use callback. Fold fixed distance and normal alignment in one function. * lily/stem.cc (calc_stem_end_position): use callback. (calc_positioning_done): idem. (calc_direction): idem. (calc_stem_end_position): idem (calc_stem_info): idem. * lily/grob-property.cc (get_property_data): new function: (try_callback): new function. * scm/define-grob-properties.scm (all-user-grob-properties): doc callbacks property. * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback. 2005-10-15 Han-Wen Nienhuys * lily/tie.cc (get_position): robustness fix. Don't crash if a tie has no heads. * lily/include/*.hh (Module): compile fixes. 2005-10-14 Heikki Junes * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil as an argument for char-syntax: use (char-syntax (or nil 0)) instead of (char-syntax nil), thanks to Milan Zamazal. 2005-10-14 Han-Wen Nienhuys * make/lilypond.fedora.spec.in (Group): add lilypond-internals to dist. * lily/tuplet-bracket.cc: check columns of bounds, not bounds themselves. 2005-10-12 Han-Wen Nienhuys * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR): add class_name() method. * lily/music-scheme.cc: remove ly:music-name. 2005-10-11 Jan Nieuwenhuizen * cygwin/postinstall-lilypond.sh: Remove cruft. * cygwin/postremove-lilypond.sh: Remove. * cygwin/GNUmakefile (default): Remove postremove rules. 2005-10-11 Han-Wen Nienhuys * ly/titling-init.ly (evenHeaderMarkup): use space in header on even header too. * scm/define-markup-commands.scm (wordwrap-string): bugfix for MacOS 9 users. * lily/hara-kiri-group-spanner.cc (consider_suicide): only consider break index for broken spanner. * scm/define-markup-commands.scm (wordwrap-string): remove \r characters from string before splitting. 2005-10-10 Han-Wen Nienhuys * scm/framework-ps.scm (output-preview-framework): use is-book-title to determine whether to chop off the booktitle. * lily/paper-book.cc (systems): init from book-title-properties (add_score_title): init score-title-properties. * ly/paper-defaults.ly: add {score,book}-title-properties. * scm/document-backend.scm (lookup-interface): error message if using unknown interface. * lily/volta-bracket.cc (after_line_breaking): new function. Set edge-height. * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from make_bracket. (make_bracket): new function. * scm/lily.scm (define-scheme-options): add paper-size option. * ly/declarations-init.ly (laissezVibrer): get paper size from -dpaper-size * scm/translation-functions.scm: use \fontsize for changing the fontsize. * scm/define-grobs.scm (all-grob-descriptions): set between-length-limit to 1.0 * lily/tie-helper.cc: add between_length_limit_ detail property. * mf/feta-bolletjes.mf: typos. * lily/note-head.cc (internal_print): don't shadow idx parameter. This fixes wrong attachment for do shape heads. 2005-10-09 Han-Wen Nienhuys * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm * scm/parser-clef.scm (supported-clefs): rename from clef.scm * scm/layout-slur.scm: rename from slur.scm * scm/layout-page-layout.scm: rename from page-layout.scm * scm/layout-beam.scm: rename from beam.scm * scm/define-grob-interfaces.scm (bass-figure-interface): add bass-figure-interface * lily/new-figured-bass-engraver.cc (process_music): add implicitBassFigures property. * scm/define-markup-commands.scm (pad-x): new markup. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set minimumVerticalExtent on FiguredBass context. * lily/figured-bass-continuation.cc (center_on_figures): kludge in case the continuation crosses a line break. 2005-10-09 Jan Nieuwenhuizen * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return unconverted value if cygwin_conv_to_posix_path () fails. Fixes absolute file name bug. 2005-10-07 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.12 * input/regression/figured-bass-continuation-center.ly: new file. * input/regression/beam-outside-beamlets.ly: new file. * lily/beam.cc (set_beaming): don't clip edges. (connect_beams): don't clip edges. * lily/beaming-info.cc (clip_edges): new function. * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file. * Documentation/user/instrument-notation.itely (Figured bass): demonstrate extenders, update seealso links. * scm/titling.scm (marked-up-headfoot): change tagline handling. tagline = ##f will blank the tagline as well. 2005-10-06 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely: add entry for Figured bass. * lily/new-figured-bass-engraver.cc (struct New_figured_bass_engraver): add new_music_found_ member. * lily/lilypond-version.cc (Lilypond_version): deal with incorrectly formatted version strings. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on New_figured_bass_engraver by default. * lily/ttf.cc (print_trailer): only define glyph names when FT_Face has FT_FACE_FLAG_GLYPH_NAMES 2005-10-05 Han-Wen Nienhuys * lily/horizontal-bracket.cc (make_bracket): new function. * scm/define-grobs.scm (all-grob-descriptions): new grobs NewBassFigure, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigureAlignment * lily/new-figured-bass-engraver.cc (process_music): new file. * lily/figured-bass-continuation.cc: new file. * lily/include/horizontal-bracket.hh (struct Horizontal_bracket): new file. 2005-10-04 Mats Bengtsson * scripts/lilypond-book.py: Bug fix, put the quote around the actual score for LaTeX documents. * scm/define-grobs.scm (all-grob-descriptions): Change collapse-height of the SystemStartBracket grob to 5.0, so the bracket disappears for single stave score lines (similarly to SystemStartBraces). * Documentation/user/advanced-notation.itely (Polymetric notation): Clarify the use of compressMusic. * Documentation/user/basic-notation.itely (Grace notes): Clarify that the grace spacer note in other staves need the same duration and document the stroke-style property. 2005-10-03 Han-Wen Nienhuys * Documentation/user/global.itely (Vertical spacing): document alignment-extra-space and fixed-alignment-extra-space. * Documentation/topdocs/NEWS.tely (Top): add entry. * input/regression/alignment-vertical-spacing.ly: new file. * python/convertrules.py (conv): add rule. * ly/music-functions-init.ly: rename outputProperty to overrideProperty * lily/align-interface.cc (stretch_after_break): new function. Read fixed-alignment-extra-space property. (align_elements_to_extents): read alignment-extra-space property. * lily/lily-guile.cc (robust_scm2dir): new function. * scm/page-layout.scm (page-headfoot): annotate headsep and footsep. (annotate-space-left): new function. Annotate space left on page. (annotate-y-interval): new function. (paper-system-annotate-last): new function. Annotate bottom-space. * mf/feta-beugel.mf (y): 2005-10-02 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.11 * scm/lily-library.scm (interval-translate): new function (interval-center): new function. * scm/page-layout.scm (paper-system-annotate): new function. Add arrows for dimensions. * scm/stencil.scm (dimension-arrows): new function. * Documentation/user/global.itely (Vertical spacing): mention annotatespacing * input/regression/page-spacing.ly: add annotatespacing * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil} (LY_DEFINE): new function ly:paper-system-set-property! * Documentation/user/global.itely (Paper size): explain how to add sizes. * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to correspond to GS's definition. * lily/tuplet-bracket.cc (after_line_breaking): suicide empty tuplet bracket. (print): only connect to next bracket if the next one is alive. (print): set padding to 0.0 if the bound is a breakable column. This makes tupletFullLength brackets reach up to the staff line if it doesn't connect to the next line. 2005-09-30 Han-Wen Nienhuys * lily/bar-number-engraver.cc: correct docs. * scm/output-lib.scm (first-bar-number-invisible): rename from default-bar-number-visibility 2005-09-28 Han-Wen Nienhuys * scm/define-music-properties.scm (all-music-properties): remove predicate property. 2005-09-28 Heikki Junes * po/fi.po: refresh. 2005-09-27 Han-Wen Nienhuys * input/regression/hara-kiri-pianostaff.ly (disappear): remove superfluous s1. (disappear): bugfix. * lily/stem-tremolo.cc (raw_stencil): read slope property. * lily/include/paper-system.hh (class Paper_system): remove staff_extents_ member. * lily/paper-system-scheme.cc (LY_DEFINE): remove. * lily/include/paper-system.hh (class Paper_system): remove number_ variable. Remove is_title_. Remove break_before_penalty_ * lily/paper-book.cc (systems): use 'number property iso. number_ member. * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty remove ly:paper-system-number. * scm/lily-library.scm (paper-system-title?): new function. * lily/book.cc (process): bugfix: flip ?: cases. * Documentation/user/changing-defaults.itely (Difficult tweaks): add outputProperty. * ly/music-functions-init.ly: add outputProperty music function. * scm/paper.scm (set-paper-dimension-variables): add pagetopspace * scm/page-layout.scm (ly:optimal-page-breaks): read next-space and next-padding. (optimal-page-breaks): rename from ly:optimal-page-breaks. * lily/paper-system-scheme.cc (LY_DEFINE): new function. * lily/paper-system.cc (internal_get_property): new function. * Documentation/user/global.itely (Vertical spacing): refer to page-spacing.ly * scm/page-layout.scm (ly:optimal-page-breaks): add support for pagetopspace * input/regression/page-spacing.ly: new file. * input/regression/page-top-space.ly: new file. * lily/spacing-spanner.cc: cmath -> math.h * lily/paper-system.cc (read_left_bound): new function. Read line-break-system-details from left bound to determine extents. * Documentation/user/programming-interface.itely (Using LilyPond syntax inside Scheme): change applyxxx -> applyXxx. * ly/music-functions-init.ly: add outputProperty music function. * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature. * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name. * python/convertrules.py (conv): rule * ly/music-functions-init.ly: applyxxx -> applyXxx * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias TabVoice to Voice. 2005-09-26 Han-Wen Nienhuys * flower/include/real.hh: include iso. * flower/include/offset.hh: include real.hh 2005-09-20 Han-Wen Nienhuys * Documentation/user/changing-defaults.itely (Difficult tweaks): fix example, now that 'interfaces is no longer directly available. * lily/book.cc (process): don't crash if paper == NULL. * po/fr.po: update. 2005-09-17 Han-Wen Nienhuys * scm/define-music-types.scm (music-descriptions): set length and start-callback for QuoteMusic 2005-09-15 Mats Bengtsson * lily/tie.cc (get_configuration): Replace fabs -> abs for integer arguments. Fixes compilation error with gcc 3.3. 2005-09-13 Han-Wen Nienhuys * VERSION: release 2.7.10 * stepmake/stepmake/python-module-rules.make ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end. * lily/*.cc: remove everywhere. is included from real.hh 2005-09-12 Han-Wen Nienhuys * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add -Werror. Otherwise GCC barfs over various optimizations. * scm/define-grob-properties.scm (all-internal-grob-properties): add note-head property * Documentation/user/instrument-notation.itely (Laissez vibrer ties): new node. * input/regression/laissez-vibrer-ties.ly: new file. * lily/laissez-vibrer-engraver.cc: new file. * lily/include/tie-column-format.hh: new file. * lily/tie-column-format.cc: new file. * lily/tie-column.cc (set_manual_tie_configuration): new function. * lily/laissez-vibrer-tie.cc: new file. * lily/include/laissez-vibrer-tie.hh: new file. * ly/engraver-init.ly: add Laissez_vibrer_engraver * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer * scm/define-grobs.scm (all-grob-descriptions): add LaissezVibrerTie, LaissezVibrerTieColumn * lily/tie-column.cc (set_tie_config_directions): new function (final_shape_adjustment): new function. (shift_small_ties): new function. * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent * lily/include/tie.hh (struct Tie_details): add x_gap_ (struct Tie_configuration): add head_position_ * lily/tie-column.cc (set_chord_outline): new function. * mf/cmr.enc.in: remove file. 2005-09-11 Graham Percival * Documentation/user/examples.itely: typo fix. Thanks, Matevž 2005-09-11 Han-Wen Nienhuys * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to reduce aliasing effects. * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete box in skyline. 2005-09-08 Han-Wen Nienhuys * lily/tie.cc (get_configuration): don't crash if left_dot is NULL. * flower/include/real.hh: std::fabs too. 2005-09-08 Jan Nieuwenhuizen * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner). * lily, flower: Include C++ iso C headers. Import namespace std throughout. * lily/side-position-interface.cc: * lily/scm-hash.cc: * lily/note-head.cc: * lily/include/includable-lexer.hh: * flower/include/string-data.icc: Remove using std::*. * lily, flower: Include C++ iso C headers. Import namespace std throughout. * lily/side-position-interface.cc: * lily/scm-hash.cc: * lily/note-head.cc: * lily/include/includable-lexer.hh: * flower/include/string-data.icc: Remove using std::*. * Documentation/user/instrument-notation.itely (Entering lyrics): Multiple latin-1->utf-8 conversion fix. * Documentation/user/*tely: Update Emacs cookie to utf-8. 2005-09-08 Han-Wen Nienhuys * lily/tie.cc (get_configuration): also avoid dots for non-space situations. 2005-09-07 Jan Nieuwenhuizen * Documentation/user/instrument-notation.itely: Bugfix. 2005-09-06 Han-Wen Nienhuys * tex/GNUmakefile: don't install texinfo.tex * tex/ : cleanup: remove unused files. * lily/general-scheme.cc: remove my_{isinf,isnan}. * flower/include/real.hh: using std::{isnan,isinf} * VERSION (PATCH_LEVEL): release 2.7.9 2005-09-05 Graham Percival * Documentation/user/ instrument-notation.itely, advanced-notation.itely: minor tweaks. * input/test/script-chart.ly: add item padding. 2005-09-05 Han-Wen Nienhuys * flower/offset.cc: use math.h iso. * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake of IE users. * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup. (widen-left-stencil-edges): new function. Fix alignment problems with LaTeX includegraphics. * lily/text-interface.cc (interpret_markup): use abort(). 2005-09-04 Han-Wen Nienhuys * input/regression/tie-chord.ly (testLong): add a chord in 4ths * lily/tie.cc (get_configuration): update bezier shape as we change Y positions. (get_configuration): don't move large ties if we're outside of the staff. 2005-09-01 Han-Wen Nienhuys * scm/define-markup-commands.scm (strut): swap X and Y dims. 2005-09-03 Jan Nieuwenhuizen * .cvsignore: Add auto-generated configure files and then some. 2005-09-02 Jan Nieuwenhuizen * scm/define-grobs.scm (DynamicLineSpanner): Add X-extent-callback. Fixes hairpin-slur collision. 2005-08-31 Graham Percival * Documentation/user/advanced-notation.itely, basic-notation.itely: minor changes. 2005-08-31 Mats Bengtsson * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a \linebreak between each .eps file if \betweenLilyPondSystem is undefined. * Documentation/user/lilypond-book.itely (Integrating LaTeX and music): Document the \linebreak * Documentation/user/lilypond-book.itely, input/tutorial/lbook-latex-test.tex, Documentation/user/examples.itely: Remove \usepackage{graphics} 2005-08-31 Han-Wen Nienhuys * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu. * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier compat bugfix. * scripts/lilypond-book.py (PREAMBLE_LY): define inside-lilypond-book (modify_preamble): new function. Insert \RequirePackage{graphics} when no {graphics found in preamble. 2005-08030 Graham Percival * Documentation/user/basic-notation.itely, global.itely, tutorial.itely: misc small changes. 2005-08-30 Jan Nieuwenhuizen * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's VERSION. 2005-08-30 Han-Wen Nienhuys * lily/tie-column.cc (new_directions): put Tie down on center staff line. * lily/script-interface.cc (before_line_breaking): use Grob::programming_error * scm/ps-to-png.scm (make-ps-images): use pngalpha device. * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0] of splitext. 2005-08-29 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): VERSION release 2.7.8 2005-08-29 Werner Lemberg * mf/GNUmakefile: Add `-f' flag to `rm' command while removing the `*.scale.pfa' files to avoid warnings. 2005-08-29 Han-Wen Nienhuys * lily/tempo-performer.cc (process_music): idem. * lily/midi-def.cc (get_tempo): Rational to int conversion bug. 2005-08-27 Han-Wen Nienhuys * Documentation/user/advanced-notation.itely (Text markup): not a fragment. * lily/midi-item.cc (to_string): use to_int() iso. int cast. * lily/staff-performer.cc (initialize): add tempo/name to audio_staff_ 2005-08-26 Graham Percival * Documentation/user/advanced.itely: add text-only example. * Documentation/user/invoking.itely: add index entries for convert-ly. * Documentation/user/ tutorial.itely, basic-notation.itely: small fixes suggested by Steve D. Thanks! 2005-08-26 Han-Wen Nienhuys * input/regression/markup-bidi-pango.ly: new file. * lily/pango-font.cc (pango_item_string_stencil): make Mingw code standard. Remove #ifdef. Remove memleak. (text_stencil): use text_dir to decide how to composite items. (text_stencil): determine uniform text direction for the entire string. * scripts/lilypond-book.py (output_name): remove latex_filter_cmd. Non-portable to non-Unix systems. (get_latex_textwidth): use File.write and os.unlink() instead. * THANKS: add Vicente & Trevor. * lily/grob.cc (discretionary_processing): look up origin for programming_error too. * input/regression/tie-broken.ly: new file. * lily/tie-column.cc (set_chord_outlines): set outline for line break case too. 2005-08-25 Han-Wen Nienhuys * lily/pango-font.cc (text_stencil): don't translate glyphs in unscaled transform, just translate stencils. * ly/performer-init.ly: init timing to #t. Fixes bar checks in MIDI. * scm/define-markup-commands.scm (wordwrap-string): use text-direction (wordwrap-stencils): idem. (line): idem. (fill-line): idem. (wordwrap-stencils): translate last line to right for text-direction = LEFT. * scm/define-grob-properties.scm (all-user-grob-properties): add text-direction. 2005-08-25 Nicolas Sceaux * lily/lily-parser.cc (Lily_parser): also copy output_basename_ when copying a Lily_parser object. 2005-08-25 Han-Wen Nienhuys * scm/define-markup-commands.scm (null): add null markup. 2005-08-25 Mats Bengtsson * lily/item.cc: Add documentation of center-invisible 2005-08-24 Graham Percival * Documentation/user/advanced-notation.itely: add info about raising text. * Documentation/user/programming-interface.itely: fix example involving raised text. 2005-08-24 Han-Wen Nienhuys * lily/beam.cc (print): fix X start/end points of isolated beamlets. * scm/output-ps.scm (grob-cause): escape spaces in URLs. * lily/multi-measure-rest.cc (set_text_rods): new function. * lily/vertical-align-engraver.cc (process_music): call Align_interface::set_axis(). This forces #'elements to be ordered, preventing random vertical reordering of staves. * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface): add avoid-slur property. * Documentation/user/basic-notation.itely (Measure repeats): add countPercentRepeats example. * Documentation/user/advanced-notation.itely (Other text markup issues): remove remark about normal-font. We have \normal-text * input/regression/tie-chord.ly: add note about remaining bugs. * lily/tie.cc (print): try Tie_column::set_directions () if control-points not yet defined. 2005-08-23 Han-Wen Nienhuys * lily/system-start-delimiter.cc (staff_brace): don't remove brace extent. This fixes braces falling out of the EPS bbox. * mf/feta-beugel.mf (braces_per_font): make brace glyph align exactly to bbox. 2005-08-23 Graham Percival * {various} : change #up->#UP and #down->#DOWN. * ly/titling-init.ly: Spacing fix when using printallheaders=##t. * Documentation/user/advanced-notation.itely: clarify what objects handles text on a multimeasure rest. 2005-08-23 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): release 2.7.7 2005-08-22 Han-Wen Nienhuys * make/lilypond-vars.make: set -dgs-font-load for "make web" * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement. * input/regression/*.ly: formatting clean-up. Default layout before music expression. * input/mutopia/R.Schumann/GNUmakefile (examples): switch off romanze28-2 example. * scm/ps-to-png.scm: remove dir-re function. (make-ps-images): generate page names, instead of globbing them. This brings down LilyPond memory usage for make web by a factor 10. * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated): don't use glob. With 3000 files, globbing Documentation/user/out-www/ can take too much time. * lily/lily-guile.cc (gulp_file_to_string): take size argument. * lily/general-scheme.cc (LY_DEFINE): take optional size argument. * input/regression/tie-manual.ly: new file * input/regression/tie-chord.ly: update. * flower/include/interval.hh (struct Interval_t): * lily/tie.cc (distance): new function (height): new function. (init): new function (Tie_details): new struct. * lily/skyline.cc (skyline_height): new function. * lily/tie-column.cc (set_chord_outlines): new function. (new_directions): read tie-configuration * lily/skyline.cc: fix ASCII art. 2005-08-22 Mats Bengtsson * python/convertrules.py (string_or_scheme): Fix spelling error 2005-08-22 Han-Wen Nienhuys * lily/tie-column.cc (set_directions): set directions only once. (add_configuration): new function. * lily/tie.cc (set_control_points): new function * lily/tie-column.cc (new_directions): new function. * ly/music-functions-init.ly: set 'pitch property iso. trill-pitch. This makes \relative work with \pitchedTrill * lily/tie.cc (get_configuration): new function. Don't generate control points, rather, generate configuration. remove head-pair property. * lily/include/tie.hh (struct Tie_configuration): new struct. 2005-08-22 Heikki Junes * Documentation/topdocs/NEWS.tely: clarify. 2005-08-21 Han-Wen Nienhuys * lily/tie.cc: remove minimum-length * scm/define-grob-properties.scm (all-user-grob-properties): remove staffline-clearance, y-offset * input/regression/tie-dots.ly (Module): remove. * lily/tie.cc (get_control_points): rewrite. Put short ties in staff-spaces, make long ties cross staff lines. Avoid flags and dots. * input/regression/tie-single.ly: new file. 2005-08-21 Graham Percival * ly/bagpipe.ly: fix compile problem. 2005-08-21 Han-Wen Nienhuys * lily/midi-item.cc (name): new method. * lily/staff-performer.cc (acknowledge_audio_element): use signature of baseclass. * lily/engraver-group.cc (do_announces): move recursion call out of while loop. * lily/drum-note-performer.cc (class Drum_note_performer): use process_music everywhere. * ly/performer-init.ly: add default children everywhere. * lily/paper-book.cc (output): call paper-book-write-midis directly: always write MIDI, even if no \layout {} block. 2005-08-19 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.6 * lily/percent-repeat-engraver.cc (try_music): don't print warning about not being able to handle repeat. 2005-08-19 Jan Nieuwenhuizen * Documentation/user/examples.itely (Piano templates): * lily/include/performer-group.hh: Remove last traces of Performer_group_performer. Fixes make web. 2005-08-19 Han-Wen Nienhuys * Documentation/user/examples.itely (Piano templates): change Engraver_group_engraver -> Engraver_group * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if scm_stand_in_procs is not weak_any. * lily/volta-bracket.cc (print): don't use strcmp(). * lily/volta-engraver.cc (process_music): use Text_interface::is_markup() for setting the 'text property of the volta bracket. * input/mutopia/claop.py (accents): update syntax to 2.6 * scm/define-context-properties.scm (all-user-translation-properties): add countPercentRepeats. * Documentation/user/basic-notation.itely (Measure repeats): add isolated percent example. 2005-08-18 Graham Percival * input/ {various}: change direction #1, #-1 to #up/#down or \fooUp, \fooDown. * Documentation/user/music-glossary.tely: #-1 to #down. * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1 to #up, #-1 to #down. 2005-08-18 Han-Wen Nienhuys * lily/include/engraver-group.hh: rename. * lily/include/performer-group.hh: rename. 2005-08-18 Mats Bengtsson * input/test/script-abbreviations.ly: Removed some old LaTeX left overs. 2005-08-18 Jan Nieuwenhuizen * python/convertrules.py (conv): inside-slur -> avoid-slur. Remove functions. Remove if 1: constructs, reindent. * scripts/convert-ly.py (add_version): Add functions from convertrules.py * scm/script.scm (default-script-alist): s/priority/script-priority. Fixes script stacking. Backportme. (Fermata): Very low priority. 2005-08-18 Han-Wen Nienhuys * input/regression/*.ly: remove superfluous \score blocks. Reindent. * input/regression/slur-script.ly: remove padding tweaks. Add comment strings. * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide time sigs and related stuff. * scm/define-grob-properties.scm (all-user-grob-properties): add @code{} tags to property description. * lily/include/line-group-group-engraver.hh (Module): remove file. * python/convertrules.py (conv): add rule for Engraver_group_engraver -> Engraver_group. * lily/include/performer-group-performer.hh: analogous. * lily/include/engraver-group-engraver.hh: rename to Engraver_group. * lily/context-def.cc (instantiate): check for Engraver_group_engraver and Performer_group_performer not Engraver/Performer. Fixes crashes when doing \with { \consists .. } 2005-08-18 Jan Nieuwenhuizen * input/les-nereides.ly: Remove three fingering tweaks, update remaining one. * input/regression/slur-script-inside.ly: Update, fix doc. * scm/script.scm: Update to avoid-slur. * scm/define-grob-properties.scm (avoid-slur): New property. * lily/phrasing-slur-engraver.cc (acknowledge_extra_object): * lily/slur-engraver.cc (acknowledge_extra_object): Invoke outside_slur_callback if avoid-slur != #'inside. * scm/define-grobs.scm (Fingering, Textscript): No inside-slur/outside-slur preference. (DynamicLineSpanner): Always outside slur. * input/regression/slur-script.ly: More tests. 2005-08-17 Graham Percival * Documentation/user/lilypond-book: fix notime entry. * Documentation/user/advanced-notation.itely: add info on getting an I rehearsal mark. * Documentation/user/putting.itely: reinstate "I", re-enforce the fact that \override numbers are the result of experimentation and personal taste. * Documentation/user/invoking.itely: update convert-ly bugs. 2005-08-17 Han-Wen Nienhuys * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set timing to #t. * lily/timing-translator.cc (initialize): don't initialize timing. * input/regression/stem-spacing.ly (Module): remove file. * input/regression/spacing-stick-out.ly: specify Score context for \override * input/regression/clefs.ly: remove spurious {}s 2005-08-17 Heikki Junes * Documentation/topdocs/NEWS.tely, input/regression/repeat-percent-count.ly: clarify a bit. 2005-08-16 Nicolas Sceaux * input/no-notation/display-lily-tests.ly: delete display-lily-init call. * ly/music-functions-init.ly (displayLilyMusic): move display-lily-init call at top level, so that the user should not have to call it. * scm/define-music-display-methods.scm (note-name->lily-string): retrieve note names directly from pitchnames using new function `rassoc'. (display-lily-init): note names list construction removed. 2005-08-16 Han-Wen Nienhuys * THANKS: spello. * lily/lily-parser.cc (get_header): copy module, instead of returning it. * Documentation/topdocs/NEWS.tely (Top): add entry for percent counters. * Documentation/user/basic-notation.itely (Measure repeats): add links to Counter grobs. * scm/define-grobs.scm (all-grob-descriptions): add DoublePercentRepeatCounter (all-grob-descriptions): add PercentRepeatCounter * lily/percent-repeat-engraver.cc (class Percent_repeat_engraver): also create counter grobs. * lily/separation-item.cc (extremal_break_aligned_grob): don't return grob without space-alist. * input/proportional.ly: tune staff-padding. * input/regression/repeat-percent-count.ly: new file. 2005-08-16 Nicolas Sceaux * input/no-notation/display-lily-tests.ly: moved from input/regression/ to input/no-notation. Be sure to call `display-lily-init' before trying to use the display function. 2005-08-16 Mats Bengtsson * scripts/lilypond-book.py (option_definitions): Don't localize the empty string. Fixes bug when --psfonts was used with non-English locale. 2005-08-15 Graham Percival * lily/tuplet-bracket.cc: simple build fix. * Documentation/user/putting.itely: use "we" instead of "I". * Documentation/user/basic-notation.itely: cautionary accidentals work with naturals, too. 2005-08-15 Han-Wen Nienhuys * lily/tuplet-bracket.cc (calc_position_and_height): add staff-padding support. * input/proportional.ly: set staff-padding. * VERSION (PATCH_LEVEL): release 2.7.5 * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): text formatting fixes. Remove tweaks. * input/regression/tuplet-slope.ly: add a test case. * lily/tuplet-bracket.cc (calc_position_and_height): revert erroneous fix. Add spanner bounds to offset array with relative X positions. * ly/engraver-init.ly: add Rest_engraver only once. * scm/define-music-display-methods.scm (KeyChangeEvent): only do (*parser*) lookup if (*parser*) != #f. 2005-08-15 Jan Nieuwenhuizen * lily/phrasing-slur-engraver.cc (acknowledge_extra_object): Cut-and paste update. * input/regression/slur-script.ly: Add example of reverting inside-slur for fingering. * scm/define-grobs.scm (DynamicLineSpanner, Fingering, TextScript): Explicitly set inside-slur #f, forcing these out of slur. * lily/slur-engraver.cc (acknowledge_extra_object): Only invoke outside_slur_callback if inside-slur == #f (as opposed to unset). 2005-08-14 Jan Nieuwenhuizen * tex/GNUmakefile (INSTALLATION_FILES): Remove enc symlink setup, encoding files are already removed. 2005-08-15 Mats Bengtsson * Documentation/user/advanced-notation.itely (Instrument names): Document a workaround for instrument names that collide with system start braces/brackets. 2005-08-15 Han-Wen Nienhuys * lily/rest-collision.cc (do_shift): spello. * input/proportional.ly: use #'used property. Set break-overshoot property. * mf/feta-arrow.mf: center on arrow tip center, iso. tip edge. * lily/paper-column.cc: add #'used property * lily/mark-engraver.cc (stop_translation_timestep): set grob array for staves found. * lily/metronome-engraver.cc (stop_translation_timestep): set grob array for stavesFound. * lily/staff-spacing.cc (next_note_correction): add fixed and space to calling convention. This fixes spacing of accidentals after barlines. * input/regression/spacing-accidental-stretch.ly: add barline - accidental case. * scm/framework-ps.scm (page-header): add version number to creator (eps-header): idem. * mf/feta-bolletjes.mf: swap d0 and u0 fa heads. 2005-08-13 Graham Percival * Documentation/user/global.itely: add "fit as much as possible onto this page" example (Vertical spacing). 2005-08-13 Jan Nieuwenhuizen * *: Nitpick run. * buildscripts/fixcc.py: Fixes. 2005-08-12 Graham Percival * Documentation/user/advanced-notation.itely: add markup example to Text spanners. 2005-08-12 Mats Bengtsson * Documentation/user/basic-notation.itely (Ties): Add example of tying a tremolo to a chord. Thanks to Steve Doonan. * lily/tie-engraver.cc: Add tieWaitForNote to the list of read properties and move tieMelismaBusy to the list of written properties. 2005-08-12 Heikki Junes * po/TODO: suggest to use a dedicated tool like kbabel. * po/fi.po: update using kbabel. 2005-08-12 Jan Nieuwenhuizen * *: Remove obsolete files. Nitpick run. * lily/lily-guile.cc (parse_symbol_list): Bugfix. 2005-08-11 Jan Nieuwenhuizen * mf/GNUmakefile (get-*-fonts): Rename from get-*-pfa. Copy SVG too. * Documentation/topdocs/NEWS.tely (Top): Add slur script feature. * lily/lily-guile.cc (parse_symbol_list): Rewrite. Grok multiple whitespace as symbol separator. * lily/side-position-interface.cc: Add slur-padding. * input/regression/slur-script.ly: Fixed. Backportme? This is quite a large fix, and it never worked in a stable release; so not really a regression. * lily/phrasing-slur-engraver.cc (class Phrasing_slur_engraver): Update cut and paste code from Slur_engraver. * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface): Add. * scm/define-grobs.scm (DynamicLineSpanner): Add dynamic-line-spanner-interface. (DynamicLineSpanner, TextScript, Fingering): Add slur-padding. 2005-08-09 Jan Nieuwenhuizen * lily/slur-engraver.cc (acknowledge_extra_object): Bugfix: use to_boolean () so that non-set 'inside-slur means false. * lily/slur.cc (outside_slur_callback): Bugfixes: make sure that slur has control-points. Skip script without direction. Always do_shift if script inside slur, even if slur not contained in script y-extent. Increment k in loop. 2005-08-11 Mats Bengtsson * scm/define-markup-commands.scm: Improved regexp to search for EPS bounding boxes and corrected call to ly:warning. 2005-08-10 Nicolas Sceaux * Documentation/user/programming-interface.itely (Displaying music expressions): doc for \displayLilyMusic. Also some precisions in "Markup construction in Scheme" 2005-08-10 Mats Bengtsson * scm/define-markup-commands.scm (normal-text): Added 2 new markup commands, \normal-text and \medium (the latter thanks to Bruce Fairchild). 2005-08-08 Graham Percival * Documentation/user/programming-interface.itely: fix @{ @}. * scm/define-markup-commands.scm: add linewidth info to \justify and \wordwrap, add "upright is the opposite of italic". * Documentation/user/advanced-notation.itely: shaped->shape, add (cons (markup "foo")) type of example to text markup, reword multi-measure rests section. * lily/note-heads-engraver.cc: changed Shaped->Shape in a comment. No actual code was touched. * Documentation/user/invoking.itely: add more info about \include. Thanks, Bruce! * THANKS: add Bruce Fairchild, alphabetise. * Documentation/user/global.itely: document \score{\header{}} behavior. * Documentation/user/basic-notation.itely: reword multi-measure rest discussion in Rests. 2005-08-08 Mats Bengtsson * Documentation/user/programming-interface.itely (Markup construction in Scheme): Corrected example and tried to clarify the implicit \line in the table. 2005-08-07 Graham Percival * Documentation/user/instrument-notation.itely: moved some bagpipe info back into the bagpipe section. Somehow it ended up in the "other vocal issues" section?! :o_O 2005-08-07 Jan Nieuwenhuizen * scm/framework-ps.scm (dir-join): Rename from path-join (joins directories, not paths). 2005-08-06 Jan Nieuwenhuizen * scm/framework-ps.scm (munge-lily-font-name): Bugfix: Munge only plain emmentaler/aybabtu. Backportme. * lily/tuplet-bracket.cc (calc_position_and_height): Bugfix: missing dir correction. 2005-08-05 Graham Percival * scm/define-markup-commands: fix reversed justify/wordwrap doc strings. 2005-08-05 Jürgen Reuter * lily/ligature-engaver.cc, lily/coherent-ligature-engaver.cc, lily/gregorian-ligature-engaver.cc, lily/include/ligature-engraver.hh, lily/include/coherent-ligature-engraver.hh, lily/include/gregorian-ligature-engraver.hh: make these classes truely abstract. This should fix some internal oddities such as duplicate as well as dead translator/property declarations, and also some dead code. * lily/ligature-bracket-engraver.cc, lily/ligature-engraver.cc: bugfix: avoid message "junking empty ligature" on ligature brackets by collecting dummy grobs. 2005-08-05 Han-Wen Nienhuys * lily/tuplet-bracket.cc (print): default right overshoot to 0.0 * input/proportional.ly (staffKind): bugfix. (staffKind): updates by Trevor Baca. * scm/define-grobs.scm (all-grob-descriptions): remove arrows as default layout. * lily/tuplet-bracket.cc (print): check whether edge-text is a pair. * lily/beam.cc (rest_collision_callback): call position_beam() if necessary. * VERSION: release 2.7.4 * input/regression/spacing-uniform-stretching.ly: new file. * lily/spacing-loose-columns.cc (set_loose_columns): use robust_relative_extent(). * Documentation/topdocs/NEWS.tely (Top): add Nicolas as contributor. * lily/include/ly-module.hh: define MODULE_GC_KLUDGE globally. * input/proportional.ly: new file. * lily/tuplet-bracket.cc (after_line_breaking): don't suicide if columns is empty * lily/tuplet-engraver.cc (finalize): new function. Reset right bounds to currentCommandColumn for the last step. (start_translation_timestep): if tupletFullLength is set, set bound to Paper Column * input/regression/tuplet-full-length.ly (indent): new file. * lily/spacing-loose-columns.cc (set_loose_columns): space a whole clique of loose columns, eg. a set of grace notes in strict notespacing. * input/regression/spacing-strict-spacing-grace.ly: new file. * lily/key-signature-interface.cc: change property name to alteration-alist * lily/key-engraver.cc (read_event): read keyAlterationOrder, not keyAccidentalOrder * python/convertrules.py (conv): keyAccidentalOrder -> keyAlterationOrder * lily/key-engraver.cc (create_key): always print a cancellation for going to C-major/A-minor, regardless of printKeyCancellation. (create_key): remove typecheck for visibility. This fixes key signature not being printed. * lily/spacing-determine-loose-columns.cc: new file. * input/regression/spacing-strict-notespacing.ly: new file. * lily/spacing-spanner.cc (generate_springs): rename from do_measure. (generate_pair_spacing): new function. (init, generate_pair_spacing): set between-cols for floating nonmusical columns. * lily/spaceable-grob.cc (get_spring): new function. * lily/tuplet-bracket.cc (print): on the left, the overshoot is relative to the right edge of the prefatory matter. * lily/beam.cc (print): read break-overshoot to determine where to stop/start broken beams. * input/regression/spanner-break-overshoot.ly: new file. 2005-08-04 Graham Percival * ly/bagpipe.ly: updated. * Documentat/user/instrument.itely: un-comment out bagpipe example. 2005-08-04 Han-Wen Nienhuys * lily/dynamic-engraver.cc (acknowledge_slur): add slur to support: now (de)crescs avoid slurs as well. * Documentation/user/instrument-notation.itely (Bagpipe example): comment out non-functioning bagpipe example. (Bagpipe definitions): idem. * Documentation/topdocs/NEWS.tely (Top): add uniform-stretching example. (Top): add proportionalNotationDuration example. * input/regression/spacing-proportional.ly: new file. * lily/tuplet-bracket.cc (parallel_beam): broken bracket never is synched to a beam. * lily/beam.cc (shift_region_to_valid): divide by zero fix. This fixes beams with a single stem (eg. beams across linebreaks.) * lily/parser.yy (simple_string): allow \new STRING_IDENTIFIER. * flower/rational.cc (operator +): prevent overflow. This fixes heavily nested tuplets. * lily/auto-beam-engraver.cc (derived_mark): new method. Yes. We have to protect even those unlikely to be corrupted data members. 2005-08-04 Graham Percival * ly/bagpipe.ly: new file. * THANKS: added Sven Axelsson. 2005-08-04 Han-Wen Nienhuys * lily/spacing-engraver.cc (stop_translation_timestep): directly copy proportionalNotationDuration into currentMusicalColumn if set. * lily/spacing-spanner.cc (musical_column_spacing): if uniform-stretching set, fixed space is 0.0 * input/regression/spacing-multi-tuplet.ly: show uniform-stretching property. * lily/spacing-spanner.cc (effective_shortest_duration): new function. * lily/include/spacing-spanner.hh (class Spacing_spanner): new file. (struct Spacing_options): new struct. * lily/spacing-basic.cc: new file. * lily/spacing-spanner.cc (note_spacing): remove outdated code: delta_t doesn't have to be smaller than shortest_playing_len 2005-08-03 Han-Wen Nienhuys * input/regression/markup-arrows.ly: new file. * lily/tuplet-bracket.cc: document new behavior. * input/regression/tuplet-broken.ly: new file. Demonstrate tuplets with line breaks. * scm/define-markup-commands.scm (arrow-head): arrow-head markup command. * scm/define-grobs.scm (all-grob-descriptions): set arrows as default * lily/tuplet-bracket.cc: add edge-text property. add break-overshoot. (print): read break-overshoot. (print): read edge-text, add stencils. * mf/feta-arrow.mf: new file. * mf/feta-generic.mf: add feta-arrow. 2005-08-03 Mats Bengtsson * Documentation/user/lilypond-book.itely (An example of a musicological document): Added flag -o to dvips for people who use the default setting in teTeX where output is sent to the printer. * Documentation/user/global.itely (Vertical spacing): Added reference to the Axis_group_engraver which documents the *Extent properties. 2005-08-03 Han-Wen Nienhuys * Documentation/user/basic-notation.itely (Tuplets): add note about nested tuplets. Remove BUG. * input/regression/tuplet-nest.ly: update: remove manual hack. * lily/tuplet-bracket.cc (print): use robust_scm2drul (print): manually call print() for subtuplets. (calc_position_and_height): add subtuplets to the support. Vertically shift outer tuplet * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): set remove-first for Lyrics, ChordNames and FiguredBass * scm/define-grob-properties.scm (all-internal-grob-properties): use ly:grob-array? iso. grob-list? (all-internal-grob-properties): add tuplets grob-array. * lily/tuplet-bracket.cc (add_tuplet_bracket): new function 2005-08-03 Han-Wen Nienhuys * input/test/time-signature-staff.ly: new file. * ly/declarations-init.ly (center): escape to Scheme. Fixes spurious # errors. Backportme. 2005-08-03 Mats Bengtsson * Documentation/user/programming-interface.itely (Markup construction in Scheme): Corrected markup syntax in the translation table. 2005-08-03 Graham Percival * Documentation/user/instrument-notation.itely: small update to bagpipe notation docs; thanks Sven! * Documentation/user/basic-notation.itely: add link about trills. 2005-08-02 Graham Percival * Documentation/user/music-glossary: remove accidentally committed fink patch. 2005-08-02 Yoshinobu Ishizaki * lily/lily-parser.cc (get_header): new function. Enable multiple \header definitions. * lily/parser.yy (lilypond_header_body): use get_header. * ly/init.ly: * scm/lily-library.scm (print-score-with-defaults): renamed $globalheader to $defaultheader * Documentation/user/global.itely (Creating titles): added short explanation that multiple headers are useable. 2005-08-01 Han-Wen Nienhuys * lily/module-scheme.cc (LY_DEFINE): new file. * Documentation/user/advanced-notation.itely (Font selection): add doco for make-pango-font-tree. 2005-07-31 Graham Percival * Documentation/user/music-glossary: more languages for tenuto. * Docuemntation/user/instrument-notation.itely: minor update for bagpipe example. 2005-07-29 Han-Wen Nienhuys * input/regression/+.ly (TODO): add some text. 2005-07-28 Graham Percival * Documentation/user/invoking.itely: \score begins with music. * Documentation/user/ basic-notation.itely, instrument-notation.itely: minor changes. * Documentation/user/music-glossary.itely: began tenuto entry. 2005-07-28 Han-Wen Nienhuys * scm/output-socket.scm (bezier-sandwich): add bezier-sandwich * mf/feta-bolletjes.mf: swap up and down for aiken heads. 2005-07-27 Graham Percival * Documentation/user/examples.itely: remove bagpipe template. * Documentation/user/instrument-notation.itely: add bagpipe section, maybe fix quotes in lyrics. I hate text encoding. Clarify chord durations, more bagpipe stuff. 2005-07-27 Han-Wen Nienhuys * lily/accidental-engraver.cc: formatting fixes. * lily/spacing-spanner.cc (prune_loose_columns): right-items is a grob-array. * lily/arpeggio.cc (print): suicide arpeggio for single notehead. * lily/note-column.cc (arpeggio): new function. * lily/note-spacing.cc (get_spacing): also take arpeggio into account for spacing. 2005-07-25 Jan Nieuwenhuizen * lily/main.cc (sane_setenv)[!ARGV0_RELOCATION]: Also define. (setup_guile_env): Use it instead of nonstandard setenv. Fixes mingw build. 2005-07-25 Han-Wen Nienhuys * scm/lily.scm (lilypond-all): clear anonymous modules after processing files. 2005-07-24 Han-Wen Nienhuys * flower/include/guile-compatibility.hh (SCM_I_CONSP): add SCM_I_CONSP * VERSION: 2.7.3 released * Documentation/user/invoking.itely (Invoking lilypond): add LILYPOND_GC_YIELD documentation. * lily/*: cleanups: use scm_from_int iso. scm_int2num. Idem for scm_from_real / scm_make_real. * lily/main.cc (setup_guile_env): new function. Set GC min_yields higher. This increases memory footprint, but provides overall speedup of 15 to 20%. * lily/include/translator.hh (class Translator): remove PRECOMPUTED_VIRTUAL everywhere. * lily/include/lily-guile.hh: inline scm_c[ad]r, scm_is_pair. * lily/context.cc (now_mom): non-recursive now_mom() * lily/include/profile.hh: new file. * lily/profile.cc: new file. * lily/grob.cc (Grob::Grob): look properties up directly. * lily/open-type-font.cc (get_indexed_char): cache index -> bbox lookups. * lily/include/box.hh (class Box): smob Box type. * lily/smobs.cc (protect_smob): O(1) GC (un)protection. * lily/include/smobs.hh (DECLARE_BASE_SMOBS): add methods protect() and unprotect(). Use throughout. 2005-07-24 Nicolas Sceaux * Documentation/topdocs/NEWS.tely: new item for \displayLilyMusic * scm/define-music-display-methods.scm (markup->lily-string): markup elements can also be strings (without simple-markup appended) 2005-07-24 Han-Wen Nienhuys * lily/context.cc (where_defined): also assign value in where_defined(). * lily/bezier.cc (get_other_coordinate): use curve_coordinate (curve_coordinate): new function * lily/simple-spacer.cc (add_columns): only add rods between column i and begin/end if keep-inside-line is set (this repleces allow-outside-line as default) 2005-07-23 Han-Wen Nienhuys * lily/tuplet-engraver.cc (start_translation_timestep): only read tupletSpannerDuration if applicable. * lily/font-size-engraver.cc (process_music): read fontSize only once per timestep. * lily/engraver*cc: use throughout. * lily/include/translator.icc (ADD_ACKNOWLEDGER): new macro. * lily/translator.cc (add_acknowledger): new file. Directly jump into an Engraver::acknowledge_xxx () method based on a grobs interface-list. * lily/include/translator-dispatch-list.hh (class Engraver_dispatch_list): new struct, new file. * scm/define-context-properties.scm (all-internal-translation-properties): remove acceptHashTable, acknowledgeHashTable * lily/translator-group.cc (mark_smob): idem for acceptHashTable. * lily/engraver-group-engraver.cc (Engraver_group_engraver): change acknowledgeHashTable to C++ member. * lily/rest-collision.cc (do_shift): use extract_grob_set(). 2005-07-22 Nicolas Sceaux * scm/display-lily.scm: new file. Define a `display-lily-music' function, that displays the music expression given as an argument, using LilyPond notation. * scm/define-music-display-methods.scm: new file. Implementation of display methods for each music type. * ly/music-functions-init.ly (displayLilyMusic): new function for displaying music with LilyPond notation. * input/regression/display-lily-tests.ly: new regression test file for `display-lily-music'. * scm/markup.scm: remove obsolete debugging code (for printing markups with LilyPond notation). * scm/define-music-types.scm (music-name-to-property-table): * scm/clef.scm (supported-clefs): export, in order to be accessible from the (scm display-lily) module. 2005-07-22 Jan Nieuwenhuizen * Documentation/topdocs/NEWS.tely (Top): Typo. 2005-07-22 Heikki Junes * Documentation/index.html.in, Documentation/texinfo.css, stepmake/bin/text2html.py, buildscripts/mutopia-index.py, Documentation/bibliography/index.html.in, Documentation/bibliography/html-long.bst: revert css-width patch, it does not work with IE6. 2005-07-21 Han-Wen Nienhuys * Documentation/texinfo.css: revert 760px hack. * VERSION: release 2.7.2 * Documentation/topdocs/NEWS.tely (Top): mention barNumberCheck * Documentation/user/basic-notation.itely (Barnumber check): add section. * scm/music-functions.scm (skip-to-last): new function. Show only last showLastLength part of the \score. * lily/moment-scheme.cc (LY_DEFINE): new function ly:moment-sub * python/convertrules.py (conv): add ly:x-moment rule * lily/moment-scheme.cc (LY_DEFINE): rename ly:X-moment -> ly:moment-X * Documentation/topdocs/NEWS.tely (Top): add new feature. * Documentation/user/instrument-notation.itely (Flexibility in alignment): options in subsections. * lily/lyric-engraver.cc (process_music): don't typeset text for _ syllable text. Instead, assume that the previous lyric text is a melismated text. * Documentation/index.html.in: revert 800x600 change. 2005-07-19 Jan Nieuwenhuizen * lily/main.cc (main): Remove invalid handle kludge. * scm/lily.scm (running-from-gui?): WINDOWS: check -dgui. (lambda): add gui define. 2005-07-21 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): add note about Musica ficta. * Documentation/user/instrument-notation.itely (Musica ficta accidentals): add section Musica ficta accidentals * lily/accidental-engraver.cc (make_suggested_accidental): new function. (make_standard_accidental): move into new function. (create_accidental): new function. * scm/define-grobs.scm (all-grob-descriptions): new Grob AccidentalSuggestion * lily/output-def-scheme.cc (LY_DEFINE): take default argument. * lily/output-def.cc (lookup_variable): return SCM_UNDEFINED if undefined. * Documentation/user/global.itely (Page formatting): document horizontalshift. * scm/page-layout.scm (default-page-music-height): horizontalshift: new variable, shift all systems by horizontalshift to the right, to make space for instrument names. * scm/paper.scm (set-paper-dimension-variables): add horizontalshift * lily/input-scheme.cc (LY_DEFINE): take format commands. 2005-07-20 Han-Wen Nienhuys * lily/note-column.cc (dir): idem. * lily/spacing-spanner.cc (Module): idem. * lily/script-column.cc (before_line_breaking): use extract_grob_set() * lily/include/paper-column.hh (class Paper_column): add non-static get_rank() member. * VERSION: release 2.7.1 * scm/framework-null.scm: new file, used for benchmarking. 2005-07-20 Heikki Junes * Documentation/topdocs/INSTALL.texi, configure.in: fix version dependencies for fontforge and gs. * Documentation/index.html.in, Documentation/texinfo.css, stepmake/bin/text2html.py, buildscripts/mutopia-index.py, Documentation/bibliography/index.html.in, Documentation/bibliography/html-long.bst: optimize width of html for a 800x600 screen (width:760), increases printability when 'fit to page' is not set and readability in wide screens. * stepmake/bin/add-html-footer.py: add missing

. 2005-07-19 Han-Wen Nienhuys * scm/define-markup-commands.scm (beam): use polygon in beam command. * lily/grob-pq-engraver.cc (stop_translation_timestep): save up all acknowledged grobs, and do potentially expensive merge and write in one go. * buildscripts/mf-to-table.py (write_fontlist): enforce noBreak. * configure.in (reloc_b): add --enable-static-gxx to statically link to libstdc++ * lily/GNUmakefile (static-gxx-libs): new target static-gxx-libs. Create symlink to libstdc++.a * lily/new-lyric-combine-music-iterator.cc: rename to Lyric_combine_music_iterator * lily/lyric-combine-music-iterator.cc (Old_lyric_combine_music_iterator): rename to Old_lyric_combine_music_iterator * lily/*-engraver.cc (various): remove double use of PRECOMPUTED_VIRTUAL function: only use start_translation_timestep() and stop_translation_timestep(), not both. * lily/break-substitution.cc (fast_substitute_grob_array): do fast_substitute_grob_array for all unordered grob_arrays. (substitute_grob): return Grob *. Saves packing/unpacking SCMs. (substitute_grob_array): optimize. * lily/align-interface.cc (set_axis): set ordered_ for 'elements * lily/include/grob-array.hh (class Grob_array): ordered_ member. * lily/parser.yy: revert $globalheader patch. * lily/include/translator.icc (IMPLEMENT_FETCH_PRECOMPUTABLE_METHODS): directly jump into Translator methods, without _static helper. * lily/grob-smob.cc (derived_mark): rename from do_derived_mark(). Return void. * scm/define-context-properties.scm (all-internal-translation-properties): remove tweakCount/tweakRank. * scm/output-lib.scm (begin-of-line-invisible): use vectors for predefined break-visibilities. * lily/item.cc (handle_prebroken_dependencies): use a vector of 3 booleans for break-visibility. * Documentation/topdocs/NEWS.tely (Top): add note about engravers. * python/convertrules.py (conv): rule for Timing_translator. * lily/include/translator.icc: new file. * lily/paper-column-engraver.cc (process_music): new file. Separate Paper_column factory from Score_engraver. * lily/vertically-spaced-context-engraver.cc: administer spaceable-staves property of System. * lily/translator-group-ctors.cc: new file. * lily/context-property.cc (make_grob_from_properties): construct the right Grob class programmatically, looking at the class entry for the meta property. * lily/break-align-engraver.cc (stop_translation_timestep): call Break_align_interface::add_element() directly. * lily/context.cc (measure_position): measure_position() is now a normal function. * lily/include/translator.hh (class Translator): rename process_acknowledged_grobs() to process_acknowledged() and move to Translator. * scm/define-grobs.scm (all-grob-descriptions): add a 'class meta field for each grob description. * lily/include/translator-group.hh (class Translator_group): change to base class. Separate class from Translator. This gets rid of virtual inheritance for Engravers/Performers. * lily/staff-performer.cc (class Staff_performer): derive Staff_performer from Performer, not Performer_group_performer * Lily/translator-group.cc (precomputed_recurse_over_translators): new function. (precompute_method_bindings): new function. Precompute lists of Translators, so we only call methods (process_music, start_translation_timestep, etc.) for Translators needing it. Also: dispose of pointer-to-member-function calls. * lily/engraver-group-engraver.cc: remove engraver_each, recurse_down_engravers () * lily/note-head.cc (internal_print): only call glyph-name-procedure if style != default. 2005-07-16 Graham Percival * ly/titling-init.ly: add printallheaders option. * Documentation/user/global.itely: document printallheaders. 2005-07-16 Han-Wen Nienhuys * lily/system.cc (do_derived_mark): don't mark from object_alist_ anymore, but do it centrally. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove hammer hack. * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-object * scm/output-lib.scm: remove hammer-print-function. * lily/include/pointer-group-interface.hh (extract_grob_set): new macro. Declare a Link_array and fill it from a grob. (extract_item_set): idem for item. * lily/break-substitution.cc: add header. (fast_substitute_grob_array): rewrite for Grob_arrays. (substitute_grob_array): idem. * lily/group-interface.cc (add_thing): remove file. * flower/include/parray.hh (class Link_array): slice() is const. * lily/include/grob-array.hh: new file. * lily/grob-array.cc (spanner): new file. * lily/beam-quanting.cc (fill): read details property from beam. * lily/beam.cc: support details property. * total speedups below: approx 10%. * lily/include/beam.hh: new struct, softcode beam quanting parameters * lily/include/grob.hh (class Grob): add interfaces_ member. * lily/bezier.cc (init_polynomial_cache): new function: cache binom(3,j) t^j (1-t)^{3-j} (curve_point): opps, actually use the cache for t^j , (1-t)^j! * lily/*.cc: substitution throughout. * lily/grob-property.cc (internal_get_object): new routine. (internal_set_object): idem. Store grob refrences in separate alist. This saves processing time, since properties aren't break-substituted, and the per grob namespace is smaller, both for grobs and non-grob properties. * scm/define-grob-properties.scm (all-internal-grob-properties): remove center-element. * lily/grob.cc: remove tweak-count, tweak-rank. 2005-07-15 Graham Percival * Documentation/user/lilypond-book.itely: fixes example. 2005-07-15 Nicolas Sceaux * Documentation/user/global.itely (Creating titles): * Documentation/user/examples.itely (All headers): change the place of \header in \score blocks (after music block) to make examples compile (cf. changes on parser.yy on 2005-07-10) 2005-07-13 Graham Percival * python/convertrules.py: add exc -> ecc rule. * scripts/convert-ly.py: add location of convertrules.py in a comment. * Documentation/user/changing-defaults.itely: fix language. 2005-07-12 Jan Nieuwenhuizen * lily/lily-parser-scheme.cc (LY_DEFINE): Guile 1.6 fix. 2005-07-13 Han-Wen Nienhuys * scm/output-socket.scm (grob-bbox): don't use inf? * flower/include/rational.hh: add operator bool() * scm/define-music-types.scm (music-descriptions): remove internal-class-name properties. * lily/include/event.hh: remove file. * lily/include/music-constructor.hh: remove file. * lily/parser.yy (Lily_lexer): check EVENT_IDENTIFIER using 'event in 'types property. * lily/music.cc (duration_length_callback): new function. * lily/event.cc: remove file. * lily/music-constructor.cc: remove file. * lily/music-scheme.cc (LY_DEFINE): rename to ly:make-music * lily/context.cc (get_grob_key): nop if use_object_keys not set. (get_context_key): idem. * scm/lily.scm (lambda): new option object-keys (default to #f) * scm/output-svg.scm (utf-8-string): rename from utf8-string. * scm/output-gnome.scm: remove beam routine. * scm/output-ps.scm (scm): idem. * scm/output-svg.scm: remove beam. * ps/music-drawing-routines.ps: remove draw_beam. * lily/lookup.cc (beam): use round_filled_polygon() for beam. * flower/include/guile-compatibility.hh (scm_from_locale_string): add scm_from_locale_string compatibility glue. 2005-07-13 Yoshinobu Ishizaki * scripts/lilypond-book.py: Prevent occuring error when 'lilypond-book --output=foo/ somefile.ly' is executed multiple times and target file shoud be overwritten. (Error message said 'input file and output file is same'.) 2005-07-13 Graham Percival * input/regression/slur-extreme.ly, input/regression/slur-scoring.ly, lily/slur-configuration.cc, lily/slur.cc, mf/feta-din-code.mf, mf/feta-timesig.mf, mf/parmesan-heads.mf, scm/define-grob-properties.scm: Change "excentricity" to "eccentricity". * Documentation/user/converters.itely: fix URL for Noteedit and Rosegarden. * THANKS: added Yoshinobu Ishizaki. 2005-07-12 Han-Wen Nienhuys * scm/define-markup-commands.scm (justify-field): add. * scm/define-grobs.scm (all-grob-descriptions): decrease font size. 2005-07-11 Han-Wen Nienhuys * lily/lookup.cc (filled_box): express filled_box with round_filled_box * scm/midi.scm (paper-book-write-midis): new function. Write all performances in numbered MIDI files. * lily/performance-scheme.cc (LY_DEFINE): new file. (LY_DEFINE): new function ly:performance-write. * lily/lily-parser-scheme.cc (LY_DEFINE): ly:parser-output-name: new function. (LY_DEFINE): change name ly:parser-define -> ly:parser-define! * scm/framework-*.scm: use port arguments throughout. * lily/include/lily-guile.hh: rename ly_c_X_p -> ly_is_X * lily/paper-outputter.cc (Paper_outputter): take port argument. * lily/paper-outputter-scheme.cc (LY_DEFINE): take port argument. * scm/framework-texstr.scm (output-framework): * input/regression/repeat-fold.ly (texidoc): remove TeX strings. * scm/output-lib.scm (tablature-stem-attachment-function): tablature stem attachment fix. 2005-07-10 Han-Wen Nienhuys * lily/bezier.cc: hardcode binomial coefficients of order 3. * lily/include/music-wrapper.hh: remove Music_wrapper as Music subtype. * scm/define-music-types.scm (music-descriptions): don't use Music_wrapper type. * lily/paper-column.cc (print): print moment too. * scripts/mup2ly.py (cp_to_dir): remove 1.5.2 compat glue. remove compatibility cruft. * lily/parser.yy (score_body): \score can only begin with Music. * lily/score-scheme.cc (LY_DEFINE): rename scorify to make-score. Take music argument only. Move parser interaction to Scheme. * scm/lily-library.scm (scorify-music): new function. * python/lilylib.py (datadir): remove 2.1 compat kludge. (datadir): remove resource import. (print_environment): remove get_bbox() (cp_to_dir): remove pre 1.5.2 compat glue. 2005-07-09 Han-Wen Nienhuys * lily/include/simple-spacer.hh (Module): idem. * lily/include/spring.hh (struct Spring): store inverse strength. This prevents division by zero. * VERSION: release 2.7.0 * lily/include/music.hh (class Music): remove Music::duration_log() * lily/stem-engraver.cc (make_stem): take duration log from event. * lily/chord-tremolo-engraver.cc: don't ack note-head-interface. 2005-07-08 Han-Wen Nienhuys * scm/lily.scm (ly:load): load autochange.scm * Documentation/user/tutorial.itely (Running LilyPond for the first time): remove reference to DVI/TeX * scm/define-markup-commands.scm (text): add \text markup command. * configure.in (reloc_b): bump requirement to Python 2.2. * lily/include/dots.hh (class Dots): make has_interface() static. * python/convertrules.py (conv): add rule for ly:grob-default-font * scm/define-grobs.scm (all-grob-descriptions): reorganize in alphabetical order. * input/regression/trill-spanner-pitched.ly: new file. * lily/font-interface-scheme.cc (LY_DEFINE): function ly:grob-default-font (changed from get-default-font). * lily/axis-group-interface-scheme.cc (LY_DEFINE): new file. * lily/note-head.cc (internal_print): if style is not a symbol, set style to 'default. (internal_print): no style suffix if glyph-name-procedure not set. Default to quarter head. * scm/define-grobs.scm (Module): new grob TrillPitchHead. * scm/define-music-properties.scm (all-music-properties): add trill-pitch. * ly/music-functions-init.ly: \pitchedTrill * lily/pitched-trill-engraver.cc (acknowledge_grob): new file. * ly/Welcome_to_LilyPond.ly: update to 2.6.0 * lily/trill-spanner-engraver.cc (finalize): rename req -> event * scm/define-markup-commands.scm (pad-markup): pad-markup command. * po/fr.po: update * po/de.po: update. 2005-07-06 Graham Percival * Documentation/user/changing-defaults.itely: add link to grob-iterface. * Documentation/user/advanced-notation.itely: add material to Setting automatic beam behaviour. Thanks, Joe! * Documentation/user/lilypond.itely: change encoding to utf-8. 2005-07-01 Mats Bengtsson * Documentation/user/advanced-notation.itely (Setting automatic beam behavior): Correct the documentation of revert-auto-beam-setting (backportme) 2005-07-01 Han-Wen Nienhuys * lily/ly-module.cc (ly_make_anonymous_module): define %module-public-interface of module. * lily/lily-parser.cc (print_smob): allow printing of parser smob without lexer. 2005-07-01 Han-Wen Nienhuys * input/regression/fret-diagrams.ly: stretch example. 2005-06-30 Jan Nieuwenhuizen * cygwin/GNUmakefile ($(outdir)/%.sh): Bugfix: use TAB (Bertalan Fodor). 2005-06-30 Graham Percival * Documentation/topdocs/AUTHORS.texi: update personal web address. * Documentation/user/examples.itely, lilypond-book.itely: change \RequirePackage to \usepackage. * Documentation/user/global.itely: document copyright and tagline. 2005-06-30 Han-Wen Nienhuys * Documentation/user/basic-notation.itely (Transpose): remove link to nonexistent UntransposableMusic. * scm/output-svg.scm: remove old definitions. * scripts/lilypond-book.py (do_file): search for kpsewhich before invoking. * python/lilylib.py (search_exe_path): new function. 2005-06-29 Han-Wen Nienhuys * python/lilylib.py (mkdir_p): remove setup_environment() (backportme) * buildscripts/mutopia-index.py (headertext): trim text. * Documentation/topdocs/NEWS.tely (Top): refresh. * scm/define-markup-commands.scm (wordwrap-string): new function: split string in paras and words. (wordwrap-markups): new function. (wordwrap-stencils): new function. (justify): use it. (wordwrap): use it. (wordwrap-string): use it (justify-string): use it. * scm/lily-library.scm (regexp-split): new function. * scm/define-markup-commands.scm: remove encoded-simple. remove font-markup. (fontsize): remove old version of fontsize. (wordwrap): new markup function. Wrap into paragraphs. * VERSION: Branch lilypond_2_6 (MINOR_VERSION): go to 2.7.0 2005-06-28 Han-Wen Nienhuys * po/zh_TW.po: update from translation project. 2005-06-28 Graham Percival * scm/midi.scm: compile fix. 2005-06-28 Mats Bengtsson * scripts/lilypond-book.py : Fix embarrassing bug in my previous patch. Now, the tempfile module is loaded too, not only used. 2005-06-28 Stephen Charles McCarthy * scm/midi.scm: changed midi volumes in absolute-volume-alist from 0.05 - 1.00 to 0.25 - 1.00 * scm/midi.scm: moved the default-instrument-equalizer procedure to just under the insturment-equalizer-alist it takes as an argument. 2005-06-28 Han-Wen Nienhuys * Documentation/user/advanced-notation.itely (Font selection): remove CMR note. * scm/framework-ps.scm (write-preamble): ly:warning iso. ly:warn 2005-06-28 Jan Nieuwenhuizen * THANKS: Add UTF-8 marker. * Documentation/user/point-and-click.itely (http): Update: use lilypond-invoke-editor. Fix: instruct to use user.js. 2005-06-27 Graham Percival * ly/titling-init.ly: implements printpagenumber, increases space between dedication and title (to avoid collisions with "g" and "q" in dedication), and nicer logic about copyright and instrument fields being printed on the first page. Thanks Vincent! * Documentation/user/global.itely: document printpagenumber. 2005-06-27 Jan Nieuwenhuizen * Documentation/topdocs/NEWS.tely: Update to 2.6. 2005-06-27 Han-Wen Nienhuys * THANKS: update to 2.6 * VERSION: 2.6.0 released. 2005-06-27 Jan Nieuwenhuizen * cygwin/GNUmakefile (OUT_POSTREMOVES): Reinclude install script rule, errorneously removed probably because of misleading comment. 2005-06-27 Han-Wen Nienhuys * python/lilylib.py (datadir): py2exe comments. * Documentation/topdocs/INSTALL.texi (Top): remove EC fonts requirement. * configure.in (reloc_b): make fontconfig REQUIRED. 2005-06-27 Heikki Junes * po/fi.po: add latest translations. 2005-06-27 Han-Wen Nienhuys * ChangeLog: recode utf-8 * Documentation/pictures/lilypond.xpm (Module): edited photo as logo. * Documentation/user/examples.itely (Module): 2.4.0 -> 2.6.0 * input/*.ly (Module): 2.4 -> 2.6 grand convert-ly s/r. * python/convertrules.py (do_conversion): don't print program_name from within a module * configure.in (reloc_b): bump fontforge requirement to 20050624. * python/convertrules.py (conv): add 2.6.0 dummy rule. 2005-06-23 Graham Percival * Documentation/user/lilypond-book.itely, Documentation/user/examples.itely: add \RequirePackage{graphics}. * ly/titling.ly: checks printfirstpagenumber, adds meter, and fixes baseline-skip. Thanks Vincent! * Documentation/user/advanced-notation.itely, global.itely: moved "Selecting font sizes" to global, since it deals with notation font size, not text fonts. 2005-06-23 Han-Wen Nienhuys * buildscripts/gen-emmentaler-scripts.py (notice): add GPL notice to fonts. 2005-06-23 Mats Bengtsson * scripts/lilypond-book.py (LATEX_DOCUMENT): More or less ugly workaround since /dev/stdin doesn't work on Cygwin. Using a temporary file in the current directory since latex doesn't understand the path name to the default TMP in Cygwin (at least on win XP). * Documentation/user/global.itely (Creating titles): Correct misprint in example. Thanks to Rob Vlasaty. 2005-06-22 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): release 2.5.32 * lily/lily-parser-scheme.cc (LY_DEFINE): don't set 'parser variable in lily module * scm/framework-ps.scm (output-classic-framework): error message regarding the classic framework. * Documentation/user/henle-flat-gray.png (Module): new file. * Documentation/user/baer-flat-gray.png (Module): new file. * scm/output-lib.scm (fret-number-tablature-format): vcenter and whiteout for markups. * buildscripts/substitute-encoding.py (note_glyph): include _ in regex too. This fixes change clef appearance in PDF. * ttftool/include/*: remove. * configure.in (reloc_b): remove TTFTOOL_ENDIAN * config.make.in (WINDRES): remove TTFTOOL_ENDIAN. * lily/GNUmakefile (MODULE_INCLUDES): remove ttftool * ttftool/*: remove ttftool subdirectory. * GNUmakefile.in (SUBDIRS): remove ttftool subdirectory. * lily/ttf.cc (print_header): new file. Convert to type42, using FreeType to parse the TTF. * ttftool/parse.c (readPostTable): ugh. Kludge: nglyphs in maxp and post table may differ. Pass around post_nglyphs as well. 2005-06-20 Han-Wen Nienhuys * ly/music-functions-init.ly (musicMap): new music function musicMap. 2005-06-19 Han-Wen Nienhuys * make/mutopia-rules.make: anti-alias-factor = 2 * scm/ps-to-png.scm (make-ps-images): cleanup multipage vs. single page switch. * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): set anti-alias-factor for lilypond-book runs. * scm/ps-to-png.scm (scale-down-image): new function. (my-system): new function. (make-ps-images): blow up GS resolution by anti-alias-factor, scale down image by anti-alias-factor. This improves appearance of bitmaps (make-ps-images): remove showpage. Fixes spurious empty png at end. * scm/framework-ps.scm (write-preamble): downcase filename before string-matching. Should fix .TTF files (as opposed to ttf files) * Documentation/user/tutorial.itely (Running LilyPond for the first time): separate subsections for windows, macos and unix. * Documentation/user/invoking.itely (Updating files with convert-ly): add MacOS X note. 2005-06-18 Han-Wen Nienhuys * Documentation/user/introduction.itely (Engraving): don't include file optical-spacing, add directly. * lily/paper-outputter.cc (file): open file in binary mode. This fixes OTF embedding on windows. 2005-06-17 Han-Wen Nienhuys * scm/framework-ps.scm (write-preamble): remove debugging output. * mf/aybabtu.pe.in (i): don't generate aybabtu.cff * mf/GNUmakefile ($(outdir)/fonts.cache-1): create font cache for outdir. (install-fc-cache): install font cache in installation directories. 2005-06-17 Jan Nieuwenhuizen * scm/editor.scm (editor-command-template-alist): Use char iso column, except for Emacs. (get-editor-command): Substitute char too (Bertalan Fodor). 2005-06-16 Jan Nieuwenhuizen * scm/ps-to-png.scm (make-ps-images): Use ~S instead of single quoted ~s. This should fix PNG output on Windows; single quotes are regular characters on Windows. 2005-06-16 Graham Percival * Documentation/user/basic-notation.itely: include ChoirStaff in System start delimiters. * Documentation/user/putting.itely: new doc section on fixing overlapping notation. 2005-06-16 Han-Wen Nienhuys * Documentation/user/global.itely (Paper size): \paper is in \book, not \score. * make/mutopia-rules.make: -ddelete-intermediate-files * ly/engraver-init.ly: make Staff default child of ChoirStaff. 2005-06-16 Jan Nieuwenhuizen * ChangeLog: Recode utf-8. * python/GNUmakefile (INSTALLATION_OUT_DIR): Install .so module in datadir with .py modules. 2005-06-15 Heikki Junes * Documentation/user/basic-notation.itely (Ties): add tieDashed. 2005-06-15 Han-Wen Nienhuys * make/mutopia-rules.make: switch off ps, p&c for lilypond runs. * scm/framework-ps.scm (write-preamble): remove status check. * Documentation/user/invoking.itely (Updating files with convert-ly): remove -o option. * VERSION (PACKAGE_NAME): release 2.5.31 * scm/framework-ps.scm (write-preamble): use ly:system. (write-preamble): verbosity. * scripts/convert-ly.py: cleanup. Use lilylib. Use convertrules. * python/convertrules.py: new file. Store conversion rules separately. 2005-06-14 Han-Wen Nienhuys * scm/backend-library.scm (postprocess-output): remove debugging gobs. 2005-06-14 Mats Bengtsson * Documentation/topdocs/NEWS.tely (Top): Corrected name of \musicDisplay * Documentation/user/instrument-notation.itely (More stanzas): Add reference to StanzaNumber. 2005-06-14 Han-Wen Nienhuys * THANKS: separate section for website translators. 2005-06-14 Graham Percival * Documentation/topdocs/INSTALL.texi: update vim info; thanks Simon Bailey! * Documentation/user/advanced-notation.itely: included color names. * Documentation/user/advanced-notation.itely, Documentation/usr/notation-appendices.itely: moved color names into an appendix. 2005-06-14 Han-Wen Nienhuys * lily/program-option.cc (LY_DEFINE): new function ly_add_option. * scm/lily.scm (lambda): initialize program options from here. * scm/framework-*.scm: add header info. * lily/main.cc (parse_argv): only set output format to pdf if no other format specified. * scm/backend-library.scm (postprocess-output): process 'delete-intermediate-files after running convert-to-*. This fixes PNG generation when 'delete-intermediate-files is set. 2005-06-13 Han-Wen Nienhuys * buildscripts/mutopia-index.py (list_item): thinko. Fixes png links on website. 2005-06-13 Graham Percival * Documentation/topdocs/INSTALL.texi, Documentation/user/lilypond-book.itely: typos. 2005-06-12 Pal Benko * elisp/lilypond-mode.el (LilyPond-command-alist: 2PS): space added between program name and switch; -b changed to -f not to generate pdf 2005-06-12 Han-Wen Nienhuys * elisp/lilypond-mode.el (LilyPond-command-alist): remove 2midi (LilyPond-command-alist): use -f ps (thanks to Pal Benko) * input/sakura-sakura.ly: add \midi. * buildscripts/mutopia-index.py (find): use /usr/bin/find iso. python find. * ttftool/test.c (main): cosmetics. * ttftool/util.c (surely_lseek): use stdio FILE's for I/O * ttftool/test.c: new file. If compiled with -DTEST_TTFTOOL, create a ttf2ps binary. * scm/ps-to-png.scm (make-ps-images): fix rename-page-1 functionality. * scm/backend-library.scm (postscript->png): set rename-page-1 to true. 2005-06-11 Graham Percival * Documentation/user/lilypond-book.itely: add warning about the font warnings in dvips. 2005-06-11 Han-Wen Nienhuys * THANKS: typo * mf/GNUmakefile ($(outdir)/$(redhat-package)): Fedora-4 url. * GNUmakefile.in: remove links for .map, .enc don't fail if out/ doesn't exist yet. 2005-06-10 Han-Wen Nienhuys * ttftool/util.c (surely_read): return nbytes * stepmake/bin/text2html.py (txt2html): add utf-8 marker. * VERSION (PACKAGE_NAME): release 2.5.30 * flower/string-convert.cc (precision_string): >? fix. * scm/ps-to-png.scm (make-ps-images): search-gs for multipage too. (make-ps-images): add verbose -q too. * lily/default-actions.cc (Module): new file. default {book,score}-print functions. * scm/ly-from-scheme.scm (ly:parse-string-result): use new setup: pass results via parseStringResult, lookup via ly:parser-lookup. * lily/lily-parser.cc (Lily_parser): only clone lexer in constructors. (parse_file): encapsulate do_yyparse() in scm_set_current_module() (parse_string): idem. * ly/spanners-init.ly (assertBeamQuant): don't use #{ #} in init. * lily/main.cc (main_with_guile): copy be_verbose_global into ly_set_option() 2005-06-10 Jan Nieuwenhuizen * scm/backend-library.scm (postscript->pdf): * scm/ps-to-png.scm (make-ps-images): Do not use gs -q switch in verbose mode. Search for several names of gs executable. 2005-06-10 Han-Wen Nienhuys * lily/ly-module.cc (ly_make_anonymous_module): call make-module directly. This fixes a massive memory leak, provided you use CVS GUILE. 2005-06-10 Erik Sandberg * ly/property-init.ly: Added tieDashed. * THANKS: Added some bughunters for 2.5. 2005-06-09 Han-Wen Nienhuys * lily/program-option.cc: add debug-gc option. * lily/include/lily-guile-macros.hh: don't protect exported module objects. * lily/include/lily-parser.hh (class Lily_parser): remove beam_check(). * scm/backend-library.scm (postscript->pdf): use delete-intermediate-files iso. running-from-gui? * ttftool/util.c (surely_read): robustness. Allow read() to return less bytes than requested, as per posix standards. * lily/pfb.cc (LY_DEFINE): set ttf_verbosity from ttf-verbosity program option. * ttftool/include/ttftool.h ("C"): rename verbosity to ttf_verbosity. Add to public interface. * scm/music-functions.scm (unfold-repeats): remove debugging display. * lily/program-option.cc: rename from scm-option.cc * lily/scm-option.cc (LY_DEFINE): handle no-foobar option setting. (get_help_string): Print pretty help string. * scripts/lilypond-book.py (PREAMBLE_LY): add no-point-and-click to snippet preamble. * lily/scm-option.cc: remove command-line-settings option. Fold all command-line options plus default settings in a generic interface. * flower/getopt-long.cc (table_string): indent 2nd lines of help texts too. 2005-06-09 Jan Nieuwenhuizen * flower/file-name.cc: Bugfix: only append DIRSEP if BASE_ or EXT_ components non-empty. 2005-06-08 Jan Nieuwenhuizen * scm/lily.scm (running-from-gui?): Export. * lily/lily-parser-scheme.cc (ly:parse-file): Use it to generate output in .ly source directory. 2005-06-09 Han-Wen Nienhuys * ttftool/util.c (surely_lseek): more verbosity. * lily/include/lily-proto.hh: add Context_def. This fixes FC4 compile. * lily/parser.yy (Repeated_music): remove >? * scm/backend-library.scm (postscript->pdf): Support for -dgs-font-load=1 * scm/framework-ps.scm (write-preamble): make font loading switchable to GS via --define-default gs-font-load=1 2005-06-09 Graham Percival * Documentation/user/global.itely: added \layout docs. 2005-06-09 Han-Wen Nienhuys * lily/lily-parser-scheme.cc: add unistd.h 2005-06-08 Han-Wen Nienhuys * scm/editor.scm: add char argument. * scripts/lilypond-invoke-editor.scm (dissect-uri): add char. * ttftool/util.c (syserror): use errno for better error reporting. * lily/source-file.cc (get_counts): new function. Calc column, line and char count in one go. * lily/binary-source-file.cc (quote_input): rename to quote_input * lily/input.cc (set): new function. 2005-06-08 Jan Nieuwenhuizen * flower/file-path.cc (find): Bugfix. Append rather than prepend directory part of file name to search directory. * lily/lily-parser-scheme.cc (ly:parse-file): Prepend cwd to search path and chdir to DIR if --outname=DIR used. * lily/main.cc (prepend_env_path): Bugfix: Check directory existence before appending original path. 2005-06-08 Han-Wen Nienhuys * ttftool/parse.c (readNamingTable): verbosity for "bad TTF file" massage. * Documentation/user/GNUmakefile (TEXINPUTS): set TEXINPUTS so our texinfo.tex is always used. 2005-06-07 Han-Wen Nienhuys * flower/include/axis.hh: rename from axes.hh * lily/include/text-interface.hh (Module): rename from text-item.hh * VERSION (PATCH_LEVEL): release 2.5.29 * ttftool/parse.c (readNamingTable): handle Apple/8bit encoding too. * scm/framework-ps.scm (font-file-as-ps-string): new function. (handle-macfont): new function. Call fondu for Native mac fonts. * scm/define-markup-commands.scm (fill-line): handle text-widths = '() case. 2005-06-07 Jan Nieuwenhuizen * scm/ps-to-png.scm (make-ps-images): Bugfix: `Pages: 1\n' is not multi-page. Fix .eps regular expression. 2005-06-07 Graham Percival * Documentation/user/putting.itely: add info on modifying templates. * Documentation/user/lilypond.itely, converters.itely, invoking.itely: misc small changes. 2005-06-07 Han-Wen Nienhuys * scm/ps-to-png.scm (make-ps-images): no paper size for multi-page. * scripts/lilypond-ps2png.scm * VERSION (PACKAGE_NAME): release 2.5.28 2005-06-07 Jan Nieuwenhuizen * lily/main.cc (prepend_env_path): Do not append /, that does not work. Localedir lives in datadir, not in prefix. * scm/framework-ps.scm (write-preamble): Remove load-font-via-GS hack for windows. * flower/include/file-cookie.hh: Compile fix. 2005-06-06 Han-Wen Nienhuys * ly/engraver-init.ly: add \defaultchild to InnerStaffGroup. * scm/ps-to-png.scm (gulp-port): rename from read. Don't redefine system primitives. (gulp-port): using read-string!/partial. We don't want to read an entire PS file (GUILE 1.6 limits strings to 16M) * scm/define-grobs.scm (all-grob-descriptions): remove arch-* properties. Add font-interface. * scm/define-grob-properties.scm (all-user-grob-properties): remove old bracket properties. * scm/x11-color.scm: reformat. * lily/ledger-line-engraver.cc (acknowledge_grob): create new LedgerLineSpanner if new StaffSymbol is found. * lily/staff-symbol-engraver.cc (acknowledge_grob): also set staff-symbol for finishing staff. * lily/GNUmakefile (OUT_DIST_FILES): don't dist Flex output * scm/output-svg.scm (setcolor): implement (re)setcolor with change black to currentColor everywhere. This fixes color support in SVG. 2005-06-06 Carl Sorensen * input/regression/fret-diagrams.ly: new file to test fret diagram capability * scm/output-tex.scm: remove white-dot and white-text * scm/output-ps.scm: remove white-dot and white-text * scm/fret-diagrams.scm (sans-serif-stencil-white): removed -- using ly:stencil-in-color instead (draw-dots) : remove call to white-dot 2005-06-06 Han-Wen Nienhuys * flower/memory-stream.cc (Memory_out_stream): remove fopencookie support. * ttftool/ttfps.c: use lily_cookie functions everywhere. * flower/include/file-cookie.hh: new file. lily_cookie extension * flower/file-cookie.cc: new file. lily_cookie extension. 2005-06-06 Jan Nieuwenhuizen * scm/editor.scm (editor-command-template-alist): Add syn editor (Jaap [de Vos]). 2005-06-05 Jan Nieuwenhuizen * scripts/lilypond-ps2png.scm: * scm/ps-to-png.scm: New file. * scm/backend-library.scm (postscript->png): Use it. * scripts/lilypond-ps-to-png.py: Remove file. * python/lilylib.py (get_bbox, make_ps_images): Remove. 2005-06-03 Han-Wen Nienhuys * lily/auto-beam-engraver.cc (acknowledge_grob): remove dead code. * scm/auto-beam.scm (default-auto-beam-check): only forbid beam start on grace moment. Fixes autobeam-grace.ly. * lily/auto-beam-engraver.cc (process_acknowledged_grobs): don't process anything unless we're at the end of a pending beam. Fixes syncopated 8ths beamed across a beat. 2005-06-03 Jan Nieuwenhuizen * scm/editor.scm (editor-command-template-alist): Start emacs if emacslient fails. * lily/main.cc (setup_localisation): Listen to LILYPOND_LOCALEDIR. * flower/file-path.cc (is_file, is_dir): Export. * lily/main.cc (prepend_env_path, set_env_file): Use them. 2005-06-02 Mats Bengtsson * lily/easy-notation.cc: Added include cctype to correct compilation error. 2005-06-02 Han-Wen Nienhuys * scm/backend-library.scm (postscript->pdf): set resolution to 1200, so bitmap fonts aren't that ugly. * Documentation/topdocs/NEWS.tely (Top): add entry about font family. * lily/dynamic-engraver.cc (acknowledge_grob): only center on parent if we have a notehead. Fixes incorrect offsets when Paper_column is very wide in the X direction. * input/regression/font-family-override.ly (Module): new file. * scm/font.scm (make-pango-font-tree): new function. * lily/beam.cc (before_line_breaking): remove warning about less than 2 visible stems. We still get a warning when there is only one stem. 2005-06-01 Werner Lemberg * buildscripts/substitute-encoding.py: Handle PFAemmentaler-xx.pfa correctly. 2005-06-01 Han-Wen Nienhuys * lily/slur-scoring.cc (generate_avoid_offsets): new function. Generate avoid offsets once per slur. * lily/slur.cc (add_extra_encompass): add dependency to extra-encompass object. This fixes bugs/c-phrasing-slur.ly * lily/stencil.cc (is_empty): check dim_ field for is_empty() too. Fixes inf error with added bass notes. * scripts/lilypond-book.py (do_options): --psfonts doesn't take argument anymore. * make/ly-vars.make (DVIPS_FLAGS): use .psfonts as extension. * input/tutorial/lbook-latex-test.tex: add line length test. * scripts/lilypond-book.py (set_default_options): new function. Call this before dissecting snippets, so linewidth settings reach the snippets. 2005-06-01 Jan Nieuwenhuizen * scm/lily.scm (PLATFORM, slashify): Remove double slashes. 2005-06-01 Han-Wen Nienhuys * input/mutopia/R.Schumann/romanze-op28-2.ly (leftb): bugfix. 2005-05-31 Jan Nieuwenhuizen * stepmake/aclocal.m4: More autopackage friendliness. 2005-05-31 Graham Percival * Documentation/index.html.in: remove link to LSR. * Documentation/user/global.itely: remove duplicate "dedication" \header{} section. 2005-05-31 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.5.27. * lily/lily-parser-scheme.cc (LY_DEFINE): unprotect paper too. Plugs memory leak. * make/lilypond.fedora.spec.in (Group): remove lilypond-pdfpc-helper. * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-pdfpc-helper. Use lilypond-invoke-editor instead. * scm/font.scm (make-century-schoolbook-tree): add Mono as 'typewriter family. * lily/score.cc (Score): unprotect copy of Output_def. Plugs memory leak. * lily/parser.yy (score_body): don't clone Score, that's done in Lily_lexer::try_special_identifiers(). This fixes a memory leak. * lily/score-engraver.cc (derived_mark): new function. (initialize): unprotect Paper_score. This fixes a memory leak. * lily/score-performer.cc (derived_mark): new function. * lily/score-translator.cc (get_output): use SCM for get_output() call. * stepmake/aclocal.m4: put FlexLexer.h test in conftest.cc. Fixes spurious warning. * scm/font.scm (make-century-schoolbook-tree): use Sans for sans serif. 2005-05-31 Jan Nieuwenhuizen * configure.in (reloc_b): Add --enable-relocation. 2005-05-31 Han-Wen Nienhuys * lily/pfb.cc (LY_DEFINE): show file name when loading PFB. * input/regression/alignment-order.ly: add Staff example. 2005-05-31 John Mandereau * po/fr.po: update. 2005-05-31 Graham Percival * Documentation/index.html.in: add link to LSR. 2005-05-31 Han-Wen Nienhuys * scm/define-stencil-commands.scm (Module): new file. Register all allowed stencil expression heads in a central place. * lily/stencil-scheme.cc (LY_DEFINE): check is_stencil_head in ly:make-stencil * lily/stencil-expression.cc (all_stencil_heads): registering stencil expressions. * lily/stencil-interpret.cc: new file. Stencil expression interpreting. * input/xiao-haizi-guai-guai.ly: move file back. 2005-05-30 Graham Percival * Documentation/user/advanced.itely, converters.itely, instrument-notation.itely, lilypond-book.itely: misc small changes. 2005-05-30 Jan Nieuwenhuizen * lily/lexer.ll: Skip UTF-8 BOM at BOF. * make/lilypond.fedora.spec.in: Fix source url. * cygwin: Update from mingw patches. * scm/editor.scm (editor-command-template-alist): Use jedit -reuseview (Bertalan), add uedit (Patrick Huberts). * input/xiao-hai-zi-guai-guai.ly: Rename from xiao-haizi-guai-guai.ly. * input/*: Reindent, do not use TAB. * Documentation/pictures/ly.xpm: Bugfix: do not anti-alias against white background. 2005-05-29 Jan Nieuwenhuizen * scm/framework-ps.scm (dump-stencil-as-EPS): Add silly fix for numerical overflow error. 2005-05-29 Laura Conrad * abc2ly.py: fix to syntax error in multi-part output. 2005-05-30 Han-Wen Nienhuys * lily/span-bar.cc (print): sort bar line extents. Fixes problem with disappearing span bars when alignAboveContext is active * lily/property-iterator.cc (check_grob): use is-grob? object-property. Fixes crash-key-sig-font-size.ly. 2005-05-29 Han-Wen Nienhuys * lily/bar-line.cc (print): don't round barlines; this produces odd aliasing effects in Acroread. * lily/timing-engraver.cc (process_music): robustness fix. * lily/context-def.cc (filter_engravers): bugfix. 2005-05-28 Jan Nieuwenhuizen * lily/lilypond.rc.in: Add ly-icon. * lily/GNUmakefile: * Documentation/pictures/GNUmakefile (OUT_DIST_FILES): Add ly-icon rules. 2005-05-28 Han-Wen Nienhuys * lily/stencil-scheme.cc (LY_DEFINE): ly:stencil-in-color * ps/music-drawing-routines.ps: * scm/output-ps.scm: remove draw ez_ball. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove EasyNotation context definition. * lily/easy-notation.cc (brew_ez_stencil): new file. Use Text_interface and color for making easy note heads. * lily/stencil.cc (with_color): new function. * ps/music-drawing-routines.ps: remove draw_zigzag_line * lily/line-spanner.cc (zigzag_stencil): rewrite to use draw-line output routine. Zigzag now works in SVG too. * scm/output-tex.scm (filledbox): idem. * scm/output-svg.scm (filledbox): idem. * scm/output-ps.scm (lily-def): remove horizontal-line. * lily/lookup.cc (horizontal_line): use draw-line. * lily/system-start-delimiter.cc: remove old staff bracket code. * mf/feta-haak.mf: further tweaks. * lily/system-start-delimiter.cc (staff_bracket): use glyphs. * mf/feta-generic.mf: include feta-haak. * mf/feta-haak.mf: rewrite. Make separate glyphs for the tips * scm/framework-ps.scm (write-preamble): only load fonts if their filename is a string. 2005-05-27 Han-Wen Nienhuys * scm/output-svg.scm (circle): support circle. (bracket): stub for bracket. * scripts/lilypond-book.py (main): make sure --psfonts warning is correct. 2005-05-26 Graham Percival * Documentation/user/lilypond.tely, advanced-notation.itely, basic-notation.itely, instrument-notation.itely, global.itely, introduction.itely, tutorial.itely: rearranging, editing, clean-up. * mf/GNUmakefile: change a "make -C" to "${MAKE} -C", required for compiling on FreeBSD. 2005-05-26 Han-Wen Nienhuys * lily/pfb.cc (LY_DEFINE): progress indication for opening ttf and otf files. * input/mutopia/E.Satie/petite-ouverture-a-danser.ly (lower): bugfixes. * VERSION: 2.5.26 released. * scm/titling.scm (marked-up-headfoot): revert Pedro's patch. 2005-05-25 Pedro Kroger * scm/titling.scm (marked-up-headfoot): doesn't print pagenumbers if printpagenumber is false. 2005-05-26 Han-Wen Nienhuys * lily/font-config.cc (init_fontconfig): comment out FontConfig cache warning. * lily/tie.cc (print): support dotted ties. 2005-05-25 Han-Wen Nienhuys * scm/define-grobs.scm (all-grob-descriptions): switch off debugging (all-grob-descriptions): Arpeggio has Y-extent. * scm/define-music-properties.scm (all-music-properties): document length-callback and start-callback as "read-only". * scm/music-functions.scm (unfold-repeats): rewrite. Cannot set length-callback after creation. * scripts/convert-ly.py (conv): unfoldrepeats -> unfoldRepeats, compressmusic -> compressMusic. * ly/music-functions-init.ly (oldaddlyrics): idem. * lily/parser.yy: NewLyricCombineMusic -> LyricCombineMusic. LyricCombineMusic -> OldLyricCombineMusic. 2005-05-24 Pedro Kroger * ly/Welcome_to_LilyPond.ly: typo. 2005-05-24 Graham Percival * Documentation/user/lilypond.tely: move changing-defaults to be before global issues. * Documentation/user/basic-notation.itely: move Transpose section here from advanced/Other. * Documentation/user/changing-defaults.itely, advanced-notation.itely: move Fonts to advanced, edit. 2005-05-24 Han-Wen Nienhuys * lily/parser.yy (bare_int): remove rule. From now on, we require # before negative integers. 2005-05-23 Graham Percival * ly/property.ly: Update tieDotted to have the same form as slurDotted. * Documentation/user/lilypond.tely: change Unified index to LilyPond index. * Documentation/user/advanced-notation.itely, instrument-notation.itely: editing. 2005-05-23 Jan Nieuwenhuizen * scm/lily.scm (lilypond-all): Bugfix: return failed. * lily/main.cc (setup_paths)[__MINGW32__]: Normalize LILYPONDPREFIX. 2005-05-21 Jan Nieuwenhuizen * lily/general-scheme.cc (ly:stderr-redirect): Rename from ly:port-move. Needs to be stderr-specific on mingw. Run fixcc. 2005-05-20 Jan Nieuwenhuizen * lily/general-scheme.cc (ly:port-move): Remove. * scm/backend-library.scm (postscript->pdf): Remove -dSAFER in windows. * lily/main.cc (setup_paths) [ARGV0_RELOCATION]: Reinstate GS_* variables. This eliminates the need for a gs.bat wrapper, which opens a console. * scripts/lilypond-invoke-editor.scm (running-from-gui?): * scm/lily.scm (running-from-gui?): * lily/main.cc[MINGW]: Remove isatty inversion, this is an artifact of not compiling with -mwindows. * scm/editor.scm: Define PLATFORM. 2005-05-23 Han-Wen Nienhuys * scripts/lilypond-book.py (PREAMBLE_LY): add marker, where people can start to cut & paste lilypond-book fragments. * scm/define-music-types.scm (music-descriptions): remove UntransposableMusic 2005-05-20 Han-Wen Nienhuys * scm/output-ps.scm (glyph-string): remove / before CIDs. 2005-05-20 Graham Percival * Documentation/user/instrument-notation.itely: remove *Engraver. * Documentation/user/advanced-notation.itely: edit, rearrange. 2005-05-20 Han-Wen Nienhuys * scm/output-ps.scm (glyph-string): take cid? argument. Use findresource iso. findfont for CID CFF fonts. * VERSION (PACKAGE_NAME): release 2.5.25 * ly/Welcome_to_LilyPond.ly: add \version 2005-05-20 Graham Percival * Documentation/user/programming-interface.itely: move \displayMusic into its own section. * Documentation/user/basic-notation.itely: finish editing. 2005-05-20 Han-Wen Nienhuys * flower/file-path.cc (find): don't throw away file_name.dir, but append to it. Fixes \include with directories. * flower/include/file-path.hh (class File_path): don't derive from Array. * flower/include/file-name.hh (class File_name): remove to_str0() * lily/hara-kiri-engraver.cc (acknowledge_grob): split Hara_kiri_engraver in separate file. * lily/slur-configuration.cc (score_encompass): oops, * Documentation/user/basic-notaton.itely: editing. 2005-05-18 Graham Percival * Documentation/user/macros.itexi, basic-notation.itely: add @commonprop (commonly used properties) macro. 2005-05-18 Han-Wen Nienhuys * ly/Welcome_to_LilyPond.ly: talk about icon, not program. * scripts/lilypond-book.py (invokes_lilypond): new function (main): only run fontextract if invokes_lilypond() is true. * lily/function-documentation.cc (ly_add_function_documentation): duh, use != * Documentation/topdocs/INSTALL.texi (Top): add MacOS command. * stepmake/aclocal.m4: remove kpathsea warning, change to OPTIONAL. * scm/lily.scm (running-from-gui?): lowercase Darwin. * lily/function-documentation.cc (ly_add_function_documentation): use scm_hash_table_p() for checking. 2005-05-18 Jan Nieuwenhuizen * Documentation/user/advanced-notation.itely (Text scripts): Change nonexisting @internalsref{Text markup} to @ref{Text markup}. Change @internalsref{Text script} to @internalsref{TextScript}. * lily/main.cc (setup_paths): Bugfix: pangorc is not pango.modules. 2005-05-17 Graham Percival * Documentation/user/tutorial.itely, basic-notation.itely, changing-defaults.itely: remove duplicate cindex entries that appear on the same page. * scm/define-grobs.scm: change default padding for TextSpanner. * Documentation/topdocs/AUTHORS.texi: update email address. * Documentation/user/global.itely: add info about \include. 2005-05-17 Jan Nieuwenhuizen * scm/backend-library.scm (postscript->pdf): Remove (useless) .ps when running-from-gui. * scm/editor.scm (get-editor): Add platform defaults. * scm/backend-library.scm (postscript->pdf): Typo. 2005-05-17 Han-Wen Nienhuys * scm/lily.scm (running-from-gui?): Darwin never runs from GUI. * lily/font-config.cc (init_fontconfig): add warning about cache. 2005-05-16 Jan Nieuwenhuizen * lily/main.cc (setup_paths)[ARGV0_RELOCATION]: Remove GS_*. 2005-05-16 Mats Bengtsson * lily/horizontal-bracket.cc (print): Take care of the direction property so brackets above the stave point downwards. * scm/define-grobs.scm (all-grob-descriptions): Set staff-padding for HorizontalBracket so it doesn't end up within the stave. 2005-05-16 Jan Nieuwenhuizen * lily/GNUmakefile (default): Typo. * scm/lily.scm (PLATFORM): Export. * scm/framework-ps.scm (write-preamble)[MINGW]: Use load-font-via-GS, ttftool or fopencookie is broken on windows. * scm/backend-library.scm (postscript->pdf)[MINGW]: Do not use -dSAFER, that is broken on windows. 2005-05-15 Han-Wen Nienhuys * lily/GNUmakefile ($(outdir)/FlexLexer.h): conditional dependency for FlexLexer.h * scripts/lilypond-invoke-editor.scm: remove stray - 2005-05-15 Jan Nieuwenhuizen * lily/lily-guile.cc (ly_scm2newstr): Use scm_i_string_length. Fixes deprecation warning. * flower/include/string.icc (to_string): Only inline if -DSTRING_UTILS_INLINED. * lily/pango-font.cc (pango_item_string_stencil): Normalize file name. Remove windows comment. * scm/editor.scm (slashify): New function. (get-editor-command): Use it. (get-command-template): Do not alter editor command if environment value includes `%(file)s' magic. * scripts/lilypond-invoke-editor.scm (unquote-uri): New function. (dissect-uri): Use it. (unquote-uri): Bugfix. 2005-05-15 Han-Wen Nienhuys * scm/framework-ps.scm (write-preamble): add TTF rule. * Documentation/topdocs/README.texi (Top): remove note about xdelta. * Documentation/topdocs/INSTALL.texi (Top): remove Flex requirement. * stepmake/aclocal.m4: STEPMAKE_FLEXLEXER_LOCATION: new function. Figure out where FlexLexer.h lives * lily/GNUmakefile (OUT_DIST_FILES): dist lexer.cc and FlexLexer.h 2005-05-14 Jan Nieuwenhuizen * scripts/lilypond-invoke-editor.scm (dissect-uri): Handle URIs with Windows root in file name. * scm/backend-library.scm (ly:system): Only redirect output (using system and shell, ugh) if /dev/null is writable. * Documentation/pictures/GNUmakefile [PLATFORM_WINDOWS]: Build windows icon. * scm/lily.scm (is-absolute?): New function. Fixes absolute files on Mingw. * scm/output-ps.scm (grob-cause): Use it. Fixes PDF point and click. * flower/file-path.cc (is_dir, is_file): New function. Actually use result of stat when available. * flower/file-path.cc (find): Use it. Refactor. Fixes Mingw, absolute file name and root. * scm/lily.scm (PLATFORM): On mingw, slashify getcwd. * scm/editor.scm (get-editor-command): Typo: do not apply editor. * flower/file-name.cc (slashify): Bugfix, do substitute if no slashes in file name. 2005-05-13 Jan Nieuwenhuizen * Documentation/user/preface.itely (Preface): Run texinfo-all-menus-update. * scm/editor.scm (get-editor-command): Bugfix: allow full LYEDITOR setting, partial XEDITOR setting. With typo fix. * Documentation/pictures/lilypond-48.xpm: New file. * flower/file-path.cc (to_string): Bugfix: use PATHSEP. * ly/Welcome_to_LilyPond.ly: New file. * lily/main.cc (main): Only identify if we have a terminal. * scm/backend-library.scm (postscript->png) (postscript->pdf): Fix file name quoting for GS/MINGW (ie, non-/bin/sh). 2005-05-13 Heikki Junes * Documentation/topdocs/AUTHORS.texi: polish, update. 2005-05-13 Han-Wen Nienhuys * Documentation/user/preface.itely (Notes for version 2.6): new notes for 2.6 * lily/dynamic-engraver.cc (stop_translation_timestep): first set finished_span_, then call typeset_all(). Fixes spurious "Hairpin is not fully contained" warnings. * lily/slur-scoring.cc (get_bound_info): remove warning. * lily/staff-symbol-engraver.cc (process_music): start initial spanner in process_music(). This fixes overrides of StaffSymbol properties. * scm/framework-pdf.scm (Module): remove. * Documentation/topdocs/AUTHORS.texi (AUTHORS): clean up, update. * lily/ambitus-engraver.cc: formatting cleanups. * mf/feta-solfa.mf (Module): remove. * ChangeLog: more details about contributions. 2005-05-12 Han-Wen Nienhuys * lily/align-interface.cc (align_elements_to_extents): warn if called too early. Fixes: disappearing-staff-lines.ly * VERSION (PACKAGE_NAME): release 2.5.24 2005-05-12 Jan Nieuwenhuizen * stepmake/aclocal.m4: Typo. * flower/string.cc (substitute): Take two strings or two characters. Update callers. 2005-05-11 Jan Nieuwenhuizen * flower/file-name.cc (File_name): Slashify. * scm/lily.scm: Use gui-main iso lilypond-main on MINGW. * scripts/GNUmakefile (SEXECUTABLES): Add lilypond-invoke-editor. * stepmake/aclocal.m4 (STEPMAKE_WINDOWS): New function. * configure.in (gui_b): Use it. * lily/lilypond.rc.in: New file. * lily/GNUmakefile[PLATFROM_WINDOWS]: Compile it into executable. 2005-05-12 Graham Percival * Documentation/user/advanced-notation.itely: edit of Text section; clarify text scripts vs. text markup. 2005-05-12 Han-Wen Nienhuys * lily/multi-measure-rest-engraver.cc (Multi_measure_rest_engraver): init bar_seen_ to true. Notice separation items on start. Fixes mm rests in start of score. * lily/slur-scoring.cc (move_away_from_staffline): robustness, don't access StaffSymbol if not there. Fixes: crash-staff-symbol-engraver.ly. * lily/instrument-name-engraver.cc (class Instrument_name_engraver): data member first_. Create InstrumentName on start. 2005-05-12 Graham Percival * Documentation/user/instrument-notation.itely: add guitar position. * Documentation/user/introduction.itely, Documentation/user/lilypond.tely, Documentation/user/tutorial.itely: begin pruning unused (duplicated) cindex entries and misc cleanup. 2005-05-12 Mats Bengtsson * input/test/volta-chord-names.ly: Bring the explanation up to date. 2005-05-11 Heikki Junes * Documentation/topdocs/{AUTHORS.texi,INSTALL.texi,README.texi}: Specify `@documentencoding utf-8' for html, ignore warnings. 2005-05-11 Erik Sandberg * THANKS: Added bughunters. 2005-05-11 Heikki Junes * lily/main.cc: update help string for `lilypond -H'. * po/fi.po: update. 2005-05-10 Graham Percival * Documentation/user/advanced-notation.itely: minor fixes. 2005-05-10 Jan Nieuwenhuizen * scm/editor.scm: New module. * scm/lily.scm (gui-main): Use it. * scm/framework-gnome.scm (spawn-editor): Use it. * scripts/lilypond-invoke-editor.scm: Use it in new script. 2005-05-10 Han-Wen Nienhuys * scm/framework-ps.scm (load-font-via-GS): new function. * lily/pango-font.cc (pango_item_string_stencil): add support for CID keyed font. * scm/output-ps.scm (glyph-string): add support for CID keyed font. 2005-05-10 Graham Percival * Documentation/user/basic-notation.itely: add @ref. * Documentation/user/advanced-notation.itely: add example of 5/8 beaming. 2005-05-10 Han-Wen Nienhuys * scripts/lilypond-pdfpc-helper.py (ly_pc_editor): robustness fixes. * scm/backend-library.scm (postscript->pdf): Invoke gs instead of going through ps2pdf wrappers. 2005-05-09 Jürgen Reuter * Documentation/user/instrument-notation.itely: petrucci note heads: updated docu * input/regression/note-head-style.ly: updated regression test; indentation fixes * ly/engraver-init.ly: MensuralVoiceContext: use petrucci note heads as default * mf/parmesan-heads.mf: minor editing; use musicological names (rather than optical description) as note head names * scm/output-lib.scm: complete petrucci heads 2005-05-09 Pal Benko * mf/parmesan-heads.mf: add petrucci heads (like neo-mensural heads, but bigger) 2005-05-09 Jan Nieuwenhuizen * lily/main.cc (main_with_guile): Remove no files check. * lily/main.cc (ly:usage): Export to Scheme. * scm/lily.scm (no-files-handler): New function. * scm/lily.scm (lilypond-main): Use it. * configure.in (gui_b): Add mbrtowc checking. Resurrect [utf8/]wchar.h checking. 2005-05-09 Mats Bengtsson * Documentation/user/advanced-notation.itely (Metronome marks): Add link to the program reference for MetronomeMark * Documentation/user/lilypond-book.itely (An example of a musicological document): Correct the example using psfonts 2005-05-09 Heikki Junes * po/fi.po: update after a lesson how to update entries against source. * po/TODO: document the lesson. 2005-05-09 Han-Wen Nienhuys * configure.in (gui_b): remove wcrtomb checking. * lily/general-scheme.cc (LY_DEFINE): hand-convert utf8 to 32 bits. Patch by Matthias Neeracher. 2005-05-09 Mats Bengtsson * scripts/convert-ly.py: In the conversion to version 1.9.0, keep Scheme expressions and strings unmodified when doing the conversion to postfix notation for slurs and beams. Should hopefully solve most related conversion problems. * Documentation/user/lilypond-book.itely : Clarify and correct how to call dvips with -h psfonts. 2005-05-09 Jan Nieuwenhuizen * Documentation/user/instrument-notation.itely (Entering lyrics): Typo. Fixes build. 2005-05-09 Graham Percival * Documentation/user/lilypond-book.itely: document PSFONTS file. * Documentation/user/lilypond.tely, lilypond-book.itely, tutorial.itely: change references to 2.5.x to 2.6.x. * Documentation/user/instrument-notation.itely: clarified \addlyrics vs \lyricmode. * Documentation/user/invoking.itely: remove old info about lilypond-profile. * Documentation/topdocs/INSTALL.texi: remove old info about lilypond-profile, add warning about needing international fonts to build docs. 2005-05-09 Han-Wen Nienhuys * lily/include/grob-info.hh (class Grob_info): make data member private. Changes throughout. * input/regression/alignment-order.ly: new file. * lily/vertical-align-engraver.cc (acknowledge_grob): read alignAboveContext and alignBelowContext 2005-05-08 Han-Wen Nienhuys * lily/pfb.cc (LY_DEFINE): add cast. * scm/framework-ps.scm (write-preamble): embed CFFs if file name matches .otf (write-preamble): warn about unknown fonts. * lily/pfb.cc (Module): new function ly:otf->cff * lily/open-type-font.cc (get_otf_table): use ::get_otf_table (get_otf_table): new function. 2005-05-07 Han-Wen Nienhuys * scm/backend-library.scm (postscript->png): call lilypond-ps2png iso. ps2png. 2005-05-06 Heikki Junes * po/fi.po: apply second round of update. 2005-05-06 Han-Wen Nienhuys * scm/x11-color.scm (make-x11-color-handler): don't use #\sp. Apparently doesn't work on all platforms. 2005-05-06 Graham Percival * Documentation/user/advanced-notation.itely, putting.itely, tutorial.itely, global.itely, introduction.itely: really minor fixes. 2005-05-06 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.5.23 2005-05-06 Jan Nieuwenhuizen * Documentation/topdocs/AUTHORS.texi: Remove texinfo @accents, convert to utf-8. * THANKS: Add translators for this release, convert to utf-8. * mf/GNUmakefile (MFTRACE_FLAGS): * buildscripts/substitute-encoding.py (outdir): Build fix: pass outdir as option (WAS: hardcoded). 2005-05-06 Han-Wen Nienhuys * lily/staff-symbol-engraver.cc (Staff_symbol_engraver): init finished_span_ * THANKS: add Hans Forbrich. * Documentation/topdocs/NEWS.tely (Top): document new feature. * Documentation/user/basic-notation.itely (Staff symbol): document start/stop staff. Reference to ossia.ly * input/test/ossia.ly: new example using stop and startStaff. * lily/timing-engraver.cc: remove Timing_engraver::initialize(), in other words, don't create "|" barline at start of the score. (start_translation_timestep): don't set whichBar for start of score. * input/regression/staff-halfway.ly: use new functionality. * lily/staff-symbol-engraver.cc (try_music): take StaffSpanEvents, start and stop staff based on events. * scm/define-music-types.scm (music-descriptions): add StaffSpanEvent * ly/declarations-init.ly (startStaff, stopStaff): new identifiers. 2005-05-05 Han-Wen Nienhuys * Documentation/user/programming-interface.itely (How markups work internally ): remove \encoding reference. 2005-05-04 Mats Bengtsson * scripts/convert-ly.py: Attempt to do a smarter update of text markups from versions < 1.9.0 with arbitrary nesting. 2005-05-04 Heikki Junes * po/fi.po: convert to utf-8, and update. 2005-05-04 Han-Wen Nienhuys * make/lilypond.suse.spec.in: update from suse 2.4 package. * lily/*.cc: more ? to min/max changes * lily/include/interpretation-context-handle.hh: rename Interpretation_context_handle to Context_handle. 2005-05-04 Heikki Junes * input/regression/GNUmakefile (local_delete): use `find` together with `xargs` to avoid too long argument-lists in cmd line. 2005-05-04 Graham Percival * Documentation/user/introduction.itely: updates "About this manual". * Documentation/user/advanced-notation.itely, invoking.itely: minor fixes. 2005-05-04 Han-Wen Nienhuys * COPYING: add font exception. Update FSF address. * lily/context-def.cc (path_to_acceptable_context): bugfix, depth should be taken without child context. * ly/chord-modifiers-init.ly (blackTriangleMarkup): use it. * scm/define-markup-commands.scm (triangle): new command, as robust replacement for unicode Delta/Triangle. 2005-05-03 Han-Wen Nienhuys * ps/music-drawing-routines.ps: add fillp argument. * lily/lookup.cc (round_filled_polygon): polygon takes filled? argument * lily/font-config.cc (init_fontconfig): don't add cff/ * VERSION (PACKAGE_NAME): release 2.5.22 * mf/GNUmakefile: remove cff/cff.ps/.map install rules. * lily/grace-engraver.cc (consider_change_grace_settings): use is_alias(). Fixes problem with CueVoice grace notes. * lily/simultaneous-music-iterator.cc (construct_children): call Music_iterator::quit() for iterators that start out invalid. This fixes indefinitely continuing contexts. * buildscripts/substitute-encoding.py: new file * Documentation/user/basic-notation.itely (Basic polyphony): fix missing @end * scripts/lilypond-book.py (write_if_updated): print file name. * Documentation/user/basic-notation.itely (Explicitly instantiating voices): idem. * Documentation/user/advanced-notation.itely (Text spanners): remove stray { } * lily/context.cc (default_child_context_name): the default child is now first in accepts_list_. * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add \defaultchild to all relevant contexts. This fixes: drums-pitch.ly. (Probably also fixes similar problems with ancient transcriptions getting CueVoices instead of the desired voices.) * lily/context-def.cc (get_default_child): new function. (get_accepted): place default child in front of list. * lily/parser.yy (FIXME): add DEFAULTCHILD token. * lily/include/context-def.hh (struct Context_def): add default_accept_ 2005-05-03 Graham Percival * scm/define-grobs.scm: remove "remove-first" line, since the absent property is set to #f anyway. * Documentation/user/basic-notation.itely, advanced-notation.itely, instrument-notation.itely: minor fixes. * ly/property-init.ly: add textSpanner{Up,Down,Neutral}. * Documentation/user/advanced-notation.itely, changing-defaults.itely: consolidate Text stuff in advanced notation. * Documentation/user/global.itely: better docs for \header. * Documentation/user/putting.itely: new chapter; placeholder for future expansion. * Documentation/user/examples.itely: moved "suggestions for writing LP files" section into putting.itely. * Documentation/user/lilypond.itely: added new chapter, fixed the short table of contents. 2005-05-03 Han-Wen Nienhuys * lily/beam-quanting.cc (quanting): robustness fix, don't produce infinity for unfeasible beams. * make/lilypond.fedora.spec.in (Group): idem. * scripts/GNUmakefile (SEXECUTABLES): rename ps2png to lilypond-ps2png * mf/GNUmakefile (ALL_GEN_FILES): remove .map * scm/framework-ps.scm (write-preamble): extract CFF from OTF fonts directly. * buildscripts/gen-emmentaler-scripts.py (i): idem. * mf/GNUmakefile: remove all CFF rules. * scm/framework-ps.scm (ps-embed-cff): reinstate. * lily/open-type-font-scheme.cc (LY_DEFINE): new function ly:otf-font-table-data. (LY_DEFINE): new function otf-font? 2005-05-02 Han-Wen Nienhuys * mf/GNUmakefile ($(outdir)/lilypond.map): remove rule. ($(outdir)/Fontmap.lily): idem. * buildscripts/gen-emmentaler-scripts.py (i): load fetaXX encoding for PFAEmmentaler-XXX.pfa. * Documentation/user/music-glossary.tely (accidental): NL translation of accidental. 2005-05-02 Jan Nieuwenhuizen * flower/include/international.hh: Bugfix: include "string.hh". * lily/include/mingw-compatibility.hh: New file. * flower/include/libc-extension.hh (memrev): Rename from strrev. * configure.in: Search for mingw wcrtomb library. 2005-05-02 Mats Bengtsson * scripts/convert-ly.py: Bug fix * Documentation/user/changing-defaults.itely (Common tweaks): Added example where the context has to be specified explicitly (MetronomeMark). 2005-05-01 Han-Wen Nienhuys * scripts/lilypond-book.py (ly_options): set timing to #f for notime option. * scripts/convert-ly.py (conv): typo. * flower/*.cc: remove ? * lily/*.cc: remove ? * lily/tweak-registration.cc (insert_tweak_from_file): Make sure that 0x0 isn't passed into scm_cons(). Fixes crash with tweak editor. 2005-04-30 Han-Wen Nienhuys * lily/part-combine-engraver.cc: add space to variable list. 2005-04-30 Graham Percival * scm/define-grobs.scm: changed RemoveEmptyVerticalGroup's remove-first to false (matches docs) * Documentation/user/advanced-notation.itely: corrected docs concerning remove-first. 2005-04-29 Mats Bengtsson * lily/part-combine-engraver.cc: make sure that the relevant properties are included in the documentation. 2005-04-28 Graham Percival * Documentation/user/lilypond-book.itely: Bernard's docs for \betweenLilyPondSystem. 2005-04-28 Han-Wen Nienhuys * Documentation/topdocs/INSTALL.texi (Top): remove TeX outdated remarks. 2005-04-28 Pal Benko * lily/mensural-ligature.cc (brew_flexa): apply thickness property only on vertical lines of flexa shape, and use a constant thickness value for horizontal lines (patch slightly modified by Jürgen Reuter) * lily/include/mensural-ligature.hh: make 2 comments clearer 2005-04-28 Jürgen Reuter * lily/vaticana-ligature-engraver.cc (need_extra_space): renamed to need_extra_horizontal_space; bugfix: use class scope to avoid global namespace pollution * Documentation/user/instrument-notation.itely (ligatures): added comment on possible future syntax change and how to work around * lily/vaticana-ligature-engraver.cc, mf/parmesan-heads.mf (epiphonus, cephalicus): fine-tune shape of plica head for narrow intervals (fixes agnus dei example) * Documentation/user/instrument-notation.itely (white mensural ligatures): selected a more illustrative example 2005-04-28 Heikki Junes * Documentation/index.html.in: specify utf-8 charset in meta content. 2005-04-27 Han-Wen Nienhuys * python/lilylib.py (make_ps_images): bugfixes; GS can produce empty 2nd page for single page. * scm/lily.scm: remove p&c definitions. * po/zh_TW.po (Module): new translation. * lily/lily-guile.cc (ly_chain_assoc): remove. * lily/general-scheme.cc (LY_DEFINE): export ly:chain_assoc_get (LY_DEFINE): recurse, iso. calling ly_chain_assoc. 2005-04-26 Han-Wen Nienhuys * lily/beaming-info.cc: remove infinity_i * scripts/abc2ly.py (out_filename): fix thinko with \version. 2005-04-26 Graham Percival * Documentation/user/basic-notation.itely, instrument-notation.itely, advanced-notation.itely, changing-defaults.itely: minor fixes. Added docs for colors to advanced-notation.itely. * Documentation/user/advanced-notation.itely: fixed compile problem and added Bernard's x11-color doc patch. 2005-04-25 Jan Nieuwenhuizen * scm/output-ps.scm (grob-cause): Yet another fix, hope it's alright this time round. 2005-04-25 Han-Wen Nienhuys * Documentation/topdocs/INSTALL.texi (Top): idem. * Documentation/topdocs/README.texi (Top): remove clean-fonts refs. * VERSION (MAJOR_VERSION): release 2.5.21 * scm/output-ps.scm (grob-cause): bugfix. 2005-04-25 Jan Nieuwenhuizen * cygwin/*: Update. * cygwin/GNUmakefile (INSTALLATION_OUT_SUFFIXES): Remove profile stuff. * scm/output-ps.scm (grob-cause): Bugfix. * scm/lily.scm (ly:load): Remove x11-color. * stepmake/aclocal.m4 (STEPMAKE_GET_EXECUTABLE): Bugfix: do not quote executable, fixes getting version from program --with --options. (STEPMAKE_KPATHSEA): Bugfix for Cygwin cross building: use $ac_exeect. * Documentation/user/GNUmakefile: Only build music-glossary with rendered lilypond snippets during web. 2005-04-25 Han-Wen Nienhuys * po/de.po: update. * lily/GNUmakefile (OUT_DIST_FILES): don't dist lexer.cc 2005-04-22 Laura Conrad * scripts/abc2ly: second title line append with punctuation dash character; encode abc2ly python strings in utf-8 2005-04-21 Laura Conrad * scripts/abc2ly fix chords (again) 2005-04-22 Bernard Hurley * scm/x11-color.scm: new file All x11 color names can be accessed with: #(x11-color 'ColorName), #(x11-color "ColorName") or: #(x11-color "color name") If the x11 color name is not recognised then it defaults to black * scm/lily.scm: amended to call scm/x11-color.scm 2005-04-24 Han-Wen Nienhuys * Documentation/user/invoking.itely (Reporting bugs): comment out reference to online PNG bug repository. 2005-04-21 Jan Nieuwenhuizen * lily/translator-scheme.cc (ly:translator-property): Remove. Update callers. * lily/context-scheme.cc (ly:context-now): Move from translator. Update callers. 2005-04-21 Han-Wen Nienhuys * input/regression/grid-lines.ly (skips): refine example. * scm/define-context-properties.scm (all-user-translation-properties): doc autoBeamCheck * input/regression/grid-lines.ly (Module): new file. * lily/grid-point-engraver.cc (Module): new file. * lily/grid-line.cc (Module): new file. * lily/grid-line-span-engraver.cc (Module): new file. * lily/grid-line-interface.cc (Module): new file. 2005-04-21 Jan Nieuwenhuizen * scm/auto-beam.scm (revert-property-setting): Bugfixes: add missing parameter, actualy cdr through list. Actually return a list with ENTRY removed (was '()). * scripts/convert-ly.py: Update. Print warning if file cannot be opened. (do_conversion): Fix printing of continuation comma. * Documentation/user/advanced-notation.itely (Beam formatting): Remove refbugs about compound time and mixed duration. * scm/auto-beam.scm (default-auto-beam-settings): Write out all modulo moments explicitely. * lily/moment.cc (operator %): New function. * lily/moment-scheme.cc (ly:mod-moment): Wrap it. * lily/translator-scheme.cc (ly:translator-now, ly:translator-property): New function. * scm/auto-beam.scm (default-auto-beam-check): New function. * lily/auto-beam-engraver.cc (test_moment): Use it. * flower/rational.cc (operator %): Bugfix. 2005-04-21 Erik Sandberg * scripts/abc2ly: Bugfix 2005-04-20 Han-Wen Nienhuys * python/fontextract.py (write_extracted_fonts): bugfix, too many %'s on EndFont comment. * lily/ledger-line-spanner.cc: some more words of explanation. 2005-04-20 John Williams * scripts/lilypond-book.py: htmlquote bugfix. Allow snippets to be given distinct filenames. Allow the default alt text to be overridden. 2005-04-20 Erik Sandberg * ly/performer-init.ly: Bugfix * THANKS: Added bughunters. 2005-04-20 Jan Nieuwenhuizen * SConstruct (test_lib): Bump mftrace requirement to 1.1.9. * lily/auto-beam-engraver.cc (test_moment): Test exact measure position (was: use modulo measure length). * configure.in (no gui_b): Remove optional gtk+ requirement. 2005-04-20 Han-Wen Nienhuys * Documentation/user/basic-notation.itely (Pitches): add LedgerLineSpanner. * lily/dynamic-engraver.cc (process_music): set right bound to script if present. Else, do not set. (acknowledge_grob): only set right bound of finished spanner to note column if no other bound is set. * python/lilylib.py (make_ps_images): switch back to png16m. 2005-04-19 Jan Nieuwenhuizen * scripts/lilypond-book.py (write_if_updated): Bugfix for not writing up to date file. Add dvips usage suggestion. * scripts/convert-ly.py: Fix error message. Print usage if no files on command line. (usage): Add example usage. * input/test/compound-time.ly: New file. * input/test/circle.ly: New file. * Documentation/topdocs/NEWS.tely: Use them. * input/test/boxed-stencil.ly: Remove \score. * buildscripts/mf-to-table.py (base): Add .log dependency. * mf/GNUmakefile: Add PFAemmentaler and PFAaybabtu dependencies on pfa's. Add .log dependency * scm/define-markup-commands.scm (lower): New command. * elisp/lilypond-mode.el (LilyPond-pdf-command): New command, make it default. 2005-04-19 Han-Wen Nienhuys * lily/dynamic-engraver.cc (acknowledge_grob): add note-column also to finished cresc as right bound. This fixes: skip-string-decresc.ly * lily/slur-scoring.cc (get_bound_info): robustness: substitute relative_coordinate if extent is empty. * lily/stem.cc (width_callback): determine correct extent if flag is not there. This fixes slur-no-flag.ly * lily/grace-engraver.cc (consider_change_grace_settings): new function. (initialize): also consider_change_grace_settings() on initialization. Fixes large grace notes at start of score. * lily/break-align-interface.cc (do_alignment): don't translate if total_extent is empty. * buildscripts/lilypond-{login,profile}.sh (Module): remove file. 2005-04-18 Han-Wen Nienhuys * scm/output-ps.scm (grob-cause): don't add cwd if path starts with slash. 2005-04-18 Jan Nieuwenhuizen * stepmake/aclocal.m4: Remove tfm_path. 2005-04-18 Nicolas Sceaux * scm/music-functions.scm (markup-expression->make-markup): fix bug with cons arguments of markup commands. (music->make-music): fix music expression property list building 2005-04-18 Jan Nieuwenhuizen * aclocal.m4: Massage package names. * SCons updates. 2005-04-18 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.5.20 * lily/stem.cc (calc_stem_info): add minimum Y extent of stem-tremolo. Fixes: bugs/tremolo-stem-length-beamed * lily/percent-repeat-engraver.cc (try_music): add measure before next_moment to future processing moment. Fixes: percent-repeat-mm-rest.ly (process_music): don't add moment for 2nd time. * input/regression/repeat-percent.ly: add mmrests as extra test. * lily/axis-group-engraver.cc (acknowledge_grob): read keepAliveInterfaces to decide what to kill. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add percent-repeat-interface to keepAliveInterfaces. This fixes percent-repeat-harakiri. 2005-04-17 Jan Nieuwenhuizen * SCons updates. 2005-04-18 Han-Wen Nienhuys * config.make.in (TTFTOOL_ENDIAN): rm TFM_PATH * aclocal.m4: remove --enable-tfm-path configure option * input/test/ancient-font.ly (lowerStaff): clef name errors. * scm/backend-library.scm (postscript->png): newline after finishing command. * lily/paper-score-scheme.cc (LY_DEFINE): new file. (LY_DEFINE): ly:paper-score-paper-systems: new function * lily/score-scheme.cc (LY_DEFINE): require music argument. * lily/score.cc (default_rendering): use Music_output too. * input/test/chord-names-languages.ly (Module): rename file. * lily/text-spanner.cc: add bound-padding. * lily/paper-book.cc (systems): accept Paper_score iso. Paper_system vector. * input/regression/line-arrows.ly: new file. * lily/paper-score.cc (process): run get_paper_systems() only once. * lily/line-spanner.cc (line_stencil): add arrows. 2005-04-18 Jonatan Liljedahl * lily/line-interface.cc (make_arrow): new function. (arrows): idem. 2005-04-18 Mathieu Giraud * input/test/chord-names-german.ly: update for italian/french chords. * Documentation/user/instrument-notation.itely (Printing chord names): update. 2005-04-18 Han-Wen Nienhuys * lily/include/paper-score.hh (class Paper_score): remove unused prototypes. * lily/book.cc (process): add -COUNT to midi output. * lily/score.cc (book_rendering): remove outname argument (book_rendering): return list of Music_outputs. * lily/global-context-scheme.cc (LY_DEFINE): remove outname argument. * lily/book.cc (process): loop over Music_outputs returned from Score::book_rendering(). * lily/*.cc (width_callback): remove spurious "unused" warnings for assert (axis==[XY]_AXIS); * lily/include/music-output.hh (class Music_output): smobify class. * lily/include/paper-score.hh (class Paper_score): make members private. * lily/performance.cc (process): return #f iso. #. This prevents # leaking into GUILE-userspace. 2005-04-17 Han-Wen Nienhuys * config.hh.in: remove HAVE_PANGO_FC_FONT_MAP_ADD_DECODER_FIND_FUNC. 2005-04-17 Mathieu Giraud * scm/chord-name.scm : support for italian and french chords names. * scm/chord-ignatzek-names.scm (ignatzek-chord-names): add a space defined by chordPrefixSpacer when the root name is direclty followed by a prefix. * ly/engraver-init.ly : chordPrefixSpacer * scm/define-context-properties.scm : chordPrefixSpacer * ly/property-init.ly : italianChords, frenchChords 2005-04-17 Jan Nieuwenhuizen * mf/feta-din.mf: Remove. * mf/GNUmakefile (fontdir): Bugfix. * mf/SConstruct: Some updates. * SConstruct: Require pkg-config. (test_program): Bugfix for double digit version compares, use integer (not string-) compare. Optionally require gs 8.14. * stepmake/aclocal.m4 (STEPMAKE_PANGO_FT2): Define HAVE_PANGO16 too. * lily/*: s/ifdef HAVE_*/if have/. * SConstruct (test_lib): New function. Update pkg-config and some other requirements. * configure.in: Require pkg-config. Enforce REQUIRE and version for freetype, pangof2t. 2005-04-16 Jan Nieuwenhuizen * po/lilypond.pot, ...: Update using bison-CVS. * python/lilylib.py (make_ps_images): Fixo. 2005-04-16 Han-Wen Nienhuys * python/lilylib.py (make_ps_images): typo. * configure.in (gui_b): make bison optional. * lily/GNUmakefile (OUT_DIST_FILES): dist parser and lexer. 2005-04-16 Bernard Hurley * framework-eps.scm: code added so that a macro \betweenLilyPondSystem with one parameter can be defined in a LaTeX file when processed by lilypond-book this will be evaluated between the systems of a multi-system score. The parameter is the number of systems processed. 2005-04-16 Jan Nieuwenhuizen * python/lilylib.py (make_ps_images): Escape newline. * Documentation/user/music-glossary.tely: Run texinfo-all-menus-update. 2005-04-14 Jan Nieuwenhuizen * scm/lily-library.scm (old-relative-not-used-message) (version-not-seen-message): Add input-file-name-location to message. * lily/parser.yy (lilypond): Add token aliases. * Documentation/user/music-glossary.tely (accidental): Fixes. Do not confuse with alteration. (alteration): Add. 2005-04-14 Han-Wen Nienhuys * python/lilylib.py (make_ps_images): use -dEPSCrop * VERSION (PACKAGE_NAME): release 2.5.19 * Documentation/user/lilypond-book.itely (Invoking lilypond-book): only put xrefs in info documentation. * make/ly-rules.make ($(outdir)/%.html.omf): transplant .dvi -> .pdf rule to tex-rules.make. * scm/framework-eps.scm (dump-stencils-as-EPSes): remove comments from -systems.* output. * stepmake/stepmake/tex-rules.make ($(outdir)/%.pdf): make PDF directly, remove -$(PAGESIZE) target. * input/test/embedded-postscript.ly: update. 2005-04-13 Han-Wen Nienhuys * make/lysdoc-targets.make (local-WWW): remove ps.gz target. * Documentation/user/changing-defaults.itely (Font selection): document font-name. * input/regression/font-name.ly: show Pango fonts for font-name. Update example. * lily/pango-select.cc (properties_to_pango_description): don't convert symbol font-size to number, but use to lookup. * python/fontextract.py (write_extracted_fonts): add VMusage 0. * scm/framework-ps.scm (write-preamble): use (NAME . CONTENTS) and (NAME . FILE-NAME) tuples for font descriptions. (write-preamble): display BeginFont DSC comments. * python/fontextract.py (write_extracted_fonts): new file. Extract font resources from a PS file. * scripts/lilypond-book.py (option_definitions): --psfonts option. (Compile_error.process_include): do_file returns chunks. * make/ly-vars.make (DVIPS_FLAGS): don't load .map file. * make/lysdoc-targets.make: .texi is .PRECIOUS * scripts/lilypond-book.py (write_if_updated): new function. 2005-04-13 Jan Nieuwenhuizen * scm/framework-eps.scm (dump-stencils-as-EPSes): Massage messages. 2005-04-13 Han-Wen Nienhuys * scm/framework-eps.scm (dump-stencils-as-EPSes): no massages. * input/regression/markup-syntax.ly: remove \score. * scm/define-markup-commands.scm (draw-circle): add fill argument * scm/stencil.scm (make-circle-stencil): add fill argument * ps/music-drawing-routines.ps: add fill argument. * ly/performer-init.ly: add CueVoice to MIDI too. * ps/music-drawing-routines.ps: new routine BeginEPSF / EndEPSF. * input/regression/markup-eps.ly: new file. * scm/framework-ps.scm (write-preamble): change order: vars should be inited before procedures. * scm/output-ps.scm (glyph-string): break lines. 255 chars is max for EPS files. * scm/define-markup-commands.scm (epsfile): add epsfile command. 2005-04-12 Han-Wen Nienhuys * configure.in (gui_b): add check for ghostscript 8.15 2005-04-11 Han-Wen Nienhuys * lily/hairpin.cc (after_line_breaking): suicide the hairpinlet at start of line. Fixes cresc-after-newline.ly * lily/source-file.cc (file_line_column_string): use get_column(). 2005-04-10 Han-Wen Nienhuys * lily/source-file.cc (get_column): utf-8 support for column numbers. 2005-04-12 Jan Nieuwenhuizen * lily/*: use message () iso progress_indication () for messages. Revise/uniformise user messages. * flower/warn.cc (progress_indication): New function. (message): Use it. Fixes newline problems. * config.make.in (webdir): Sort out install dirs. * stepmake/stepmake/generic-targets.make (final-install): Bugfix. * python/lilylib.py (command_name): Bugfix. (make_ps_images): 2005-04-11 Pedro Kroger * lily/main.cc: --help says what types of backends are availabe 2005-04-11 Jan Nieuwenhuizen Fix ./VERSION dependency, and without need to reconfigure. * lily/main.cc (setup_paths): Update. * stepmake/bin/make-version.py (defs): Add TOPLEVEL_VERSION define.. * config.hh.in (LILYPOND_DATADIR): Remove TOPLEVEL_VERSION. * scripts/convert-ly.py (\markup): Fix too simplistic regexps. Add \line for some simplistic cases. * lily/GNUmakefile (main.o): Add missing dependency on version.hh. 2005-04-10 Nicolas Sceaux * elisp/lilypond-mode.el (LilyPond-lilypond-command): command used to compile LY files (useful for adding eg. "-I" args) (LilyPond-command-alist): use `LilyPond-lilypond-command'. Add a 2Gnome command for gnome backend. (LilyPond-command-formatgnome): call the 2Gnome command. key binding: C-c C-g 2005-04-10 Jan Nieuwenhuizen * Documentation/user/GNUmakefile (lilypond/index.html): Bugfix: depend on all PNG images. 2005-04-09 Jan Nieuwenhuizen * GNUmakefile.in: Bugfix: also link .map files. 2005-04-09 Nicolas Sceaux * scm/music-functions.scm (music->make-music): generate a (make-music ...) sexpr from a music expression. (display-scheme-music): use guile pretty printer to display the make-music sexpr. 2005-04-09 Han-Wen Nienhuys * ly/engraver-init.ly: reindent. Add CueVoice. * scm/music-functions.scm (music-pretty-string): handle moments too. (music-pretty-string): only print non-empty lists. (cue-substitute): create CueVoice context, which has smaller type. * lily/moment-scheme.cc (LY_DEFINE): new methods ly:moment-grace-{numerator,denominator} * lily/context-handle.cc: remove quit() method. * lily/font-config.cc (init_fontconfig): be verbose about font path. (init_fontconfig): success is 0, not !0 2005-04-08 Han-Wen Nienhuys * mf/feta-nummer-code.mf (code): add plus glyph. * lily/tie.cc (print): idem. * lily/slur.cc (print): don't use thickness property for slur shape-thickness. * lily/stencil-scheme.cc (LY_DEFINE): don't reverse the order while adding stencils. * scm/define-markup-commands.scm (with-color): with-color markup command. (whiteout): new markup command (filled-box): new markup command 2005-04-07 Jan Nieuwenhuizen * Documentation/topdocs/NEWS.tely (Top): Make tex-able. Handy test for PDF docs. * mf/GNUmakefile (lilypond.map): Add PFAEmmentaler, PFAAybabtu-Regular. Fixes feta font in PDFs. Notes for tetex-3.0 make web: psclean.map: s/uhv8a/uhvr8a/ config.ps add: p +psfonts_t1.map p +psclean.map p +typeface.map 2005-04-06 Nicolas Sceaux * scm/music-functions.scm (music-pretty-string): fix bug with string argument. 2005-04-06 Jan Nieuwenhuizen * stepmake/bin/add-html-footer.py (i18n): Bugfix. 2005-04-06 Han-Wen Nienhuys * scripts/lilypond-book.py (Lilypond_snippet.__init__): only process options if they're there. (write_file_map): add version-seen? to snippet-map.ly 2005-04-06 Jan Nieuwenhuizen * scripts/lilypond-book.py (split_options): Bugfix. Small code formatting cleanups. * mf/GNUmakefile: Rewrite $addprefix, $addsuffix using % short-forms. Add PFAaybabtu.pfa dependency on aybabtu.subfonts. 2005-04-06 Han-Wen Nienhuys * scm/framework-ps.scm (ps-font-command): don't hash, just use name directly. * lily/main.cc (setup_paths): either add mf/out to search path or fonts/{otf,type1,etc} * lily/font-config.cc (init_fontconfig): either add mf/out to FontConfig or fonts/{otf,type1,etc} * GNUmakefile.in: don't put mf/ link in share/ dir. * lily/staff-spacing.cc: move same-direction-correction to note-spacing-interface * scm/lily.scm (lilypond-main): use variable argument count for exception handler. * lily/font-config.cc (init_fontconfig): add operator pacification message. * mf/aybabtu.pe.in (i): generate PFAAybabtu.pfa * buildscripts/gen-emmentaler-scripts.py (i): generate PFAEmmentaler as well. * scm/framework-ps.scm (munge-lily-font-name): new function (write-preamble): hack: insert PFA equivalent of CFF into .PS. This makes LilyPond output printable on normal PS printers again. * buildscripts/gen-emmentaler-scripts.py (i): generate PFAEmmentaler.pfa aswell. 2005-04-06 John Williams * scripts/lilypond-book.py: refactor the compose_ly procedure. 2005-04-06 Han-Wen Nienhuys * scm/page-layout.scm (default-page-make-stencil): always combine the header stencil, even if empty. This prevents the body text to reach up to the margins. * po/rw.po (Module): new file, for Kinyarwanda. * input/test/spacing-optical.ly (Module): new file. * lily/staff-spacing.cc: add same-direction-correction 2005-04-06 Jan Nieuwenhuizen * Documentation/user/introduction.itely (Engraving): Comment-out non-existent file. 2005-04-05 Han-Wen Nienhuys * scm/define-grob-properties.scm (all-user-grob-properties): add same-direction-correction * VERSION: release 2.5.18 2005-04-05 Jan Nieuwenhuizen * lily/grob.cc (mark_smob): Check pscore->layout_ before dereferencing. Fixes make web. * lily/midi-stream.cc: Handle unwritable midi file. Include errno.h. * Documentation/user/: Fix links. 2005-04-05 Han-Wen Nienhuys * lily/text-interface.cc (Module): rename from text-item.cc * input/regression/apply-output.ly (texidoc): function naming fix. * lily/time-signature-performer.cc (derived_mark): new function. * lily/lily-parser-scheme.cc: print mapped file name for progress * scripts/lilypond-book.py (find_linestarts): new function. (find_toplevel_snippets): keep track of line numbers. * lily/key-performer.cc (try_music): remove FIXME warning, gobble all key changes. * ly/declarations-init.ly (partCombineListener): use ignoreBarChecks. Fixes: warn-partcombine-barcheck.ly * lily/bar-check-iterator.cc (process): ignoreBarChecks property. 2005-04-04 Jan Nieuwenhuizen * lily/text-item.cc: Fix link. * Documentation/user/changing-defaults.itely (Changing defaults): Fix programs reference links. * Documentation/user/music-glossary.tely: Convert to utf-8. 2005-04-04 Han-Wen Nienhuys * make/lilypond-vars.make: remove TEXMF from variables. remove DEB_BUILD pk font variables. remove GUILE_LOAD_PATH remove TeX memory vars. 2005-04-04 Werner Lemberg * lilypond/scm-option.cc (ly_option_usage): Add final newline. 2005-04-03 Han-Wen Nienhuys * ps/lilyponddefs.ps: remove reencode-font * lily/simple-spacer.cc (add_columns): also compare directly. Column rank doesn't distinguish between broken and unbroken columns. This fixes large spaces before time sig changes. * Documentation/user/point-and-click.itely: document ly:set-option. * lily/grob.cc (get_uncached_stencil): only set grob-cause if point_and_click_global is set. * lily/scm-option.cc (LY_DEFINE): add point-and-click ly:set-option argument. 2005-04-03 Jan Nieuwenhuizen * GNUmakefile.in: Include symlinks in webball. * Documentation/user/GNUmakefile (source-links): Add symlinks to source dir for split and non-split manuals. * Documentation/user/*y: Fix @uref/@inputfile links for split/non-split HTML documents. * Documentation/user/GNUmakefile (local-WWW): Do not generate .ps.gz. 2005-04-02 Jan Nieuwenhuizen * GNUmakefile.in: Add newline. 2005-04-01 Erlend Aasland * tex/lilyponddefs.tex: use color instead of xcolor * scm/output-tex.scm: minor editing 2005-04-02 Nicolas Sceaux * scm/music-functions.scm (display-scheme-music): pretty printer for music expressions. 2005-04-02 Jan Nieuwenhuizen * buildscripts/install-info-html.sh (index_file): Fix link. 2005-04-01 Jan Nieuwenhuizen * input/test/dynamic-extra.ly (piuf): Use utf-8 iso TeX accent. * Documentation/index.html.in: Add size estimates with some big pages. * Documentation/user/tutorial.itely (Running LilyPond for the first time): Add/replace some @rglos links. TODO: add more @rglos links in tutorial, test non-intrusiveness (.css). * stepmake/bin/add-html-footer.py (do_file): Remove info's annoying's indication of referencing external document. * Documentation/user/GNUmakefile: Split version of glossary too. * Documentation/user/macros.itexi (@rglos): Have makeinfo produce links, not only for html. * Documentation/user/introduction.itely: Fix some links for other than html, do not use `here' as link name. 2005-03-31 Jan Nieuwenhuizen * scm/documentation-generate.scm (string-append): Fix @usermanref, @glossaryref. 2005-03-31 Han-Wen Nienhuys * scm/page-layout.scm (default-page-make-stencil): only add header if existing and not empty. Fixes spurious programming error. * lily/span-bar.cc (print): don't make rounded edges for spanbars. 2005-03-31 Erlend Aasland * scm/output-tex.scm: implement {re,}setcolor * tex/lilyponddefs.tex: use color package 2005-03-31 Jan Nieuwenhuizen * GNUmakefile.in (local-WWW-post): Restore .htaccess and .html additions to website. * Documentation/user/lilypond.tely: Remove reference to ps.gz. * Documentation/user/macros.itexi: Fix @usermanref html links in split documents: use @inforef. 2005-03-30 Graham Percival * Documentation/user/programming-interface.itely: minor fix. * Documentation/user/advanced-notation.itely: added info to Metronome markings. 2005-03-30 Jan Nieuwenhuizen * scm/output-lib.scm (make-stencil-boxer): Junk code duplication, use box-stencil. Remove y-padding argument. (make-stencil-circler): New function. * buildscripts/lilypond-words.py (F): * elisp/SConscript (a): * elisp/GNUmakefile (LILYPOND_WORDS_DEPENDS): * vim/SConscript (a): * vim/GNUmakefile (LILYPOND_WORDS_DEPENDS): Update. * lily/general-scheme.cc: Build fix. * scm/markup.scm: * input/regression/markup-scheme.ly: * input/regression/markup-syntax.ly: Drop 'new-' from name. * scm/stencil.scm (make-circle-stencil): New function. * scm/define-markup-commands.scm (draw-circle): Use it. New name (was cicle). Update callers. (circle): New markup command, similar to box. * scm/stencil.scm (circle-stencil): New function. 2005-03-29 David Jedlinsky * configure.in: Detect libutf8/wchar.h variant. * stepmake/aclocal.m4: Modify shared size test. 2005-03-30 Han-Wen Nienhuys * make/lilypond.fedora.spec.in (Group): remove texmf profile stuff. 2005-03-29 Han-Wen Nienhuys * scripts/convert-ly.py (conv): add stencil-aligned-to! rule. * VERSION (PACKAGE_NAME): release 2.5.17 2005-03-29 Jan Nieuwenhuizen * scm/backend-library.scm (postscript->png): Fix comment and png message. * GNUmakefile.in (link-tree): Fix locales. 2005-03-29 Han-Wen Nienhuys * lily/stencil-scheme.cc (LY_DEFINE): change to ly:stencil-aligned-to, non mutating. * scm/safe-lily.scm (lambda): remove ly:stencil-set-extent! * lily/stencil-scheme.cc: remove ly:stencil-set-extent! * lily/quote-iterator.cc (derived_mark): call Music_wrapper_iterator::derived_mark() too. * lily/grace-engraver.cc (derived_mark): change signature, add const. 2005-03-28 Jan Nieuwenhuizen * SConstruct (symlink): * GNUmakefile.in (link-tree): Add scripts to prefix. * lily/general-scheme.cc (ly:effective-prefix): New function. * scm/backend-library.scm (postscript->png): Use it. 2005-03-28 Han-Wen Nienhuys * lily/paper-score.cc (process): don't delete grobs after producing stencils. * scm/part-combiner.scm (determine-split-list): switch off debugging info. * scm/backend-library.scm (postscript->png): explicitly use ps2png.py if available. * scm/define-context-properties.scm (all-user-translation-properties): add stringNumberOrientations. * lily/new-fingering-engraver.cc (position_scripts): make generic, so fingering and string-numbers are separately controlled. 2005-03-28 Jan Nieuwenhuizen * stepmake/aclocal.m4: Fix shared size test: add missing comma, do not use debugging. 2005-03-28 Han-Wen Nienhuys * GNUmakefile.in (local-WWW-post): remove UTF8 .htaccess. * config.hh.in: add HAVE_FONTCONFIG. * Documentation/user/instrument-notation.itely (String number indications): new node. * input/regression/new-markup-syntax.ly (texidoc): add circle. * lily/new-fingering-engraver.cc (add_string): new function. (acknowledge_grob): accept string-number-event as well. * scm/define-markup-commands.scm (circle): new markup command. * scm/output-lib.scm (print-circled-text-callback): new function. * lily/GNUmakefile: move ifeq after include stepmake.make. 2005-03-28 Jan Nieuwenhuizen * config.make.in (HAVE_LIBKPATHSEA_SO): * stepmake/aclocal.m4: Also subst HAVE_LIBKPATHSEA_SO. * lily/GNUmakefile (MODULE_LDFLAGS): Only if not HAVE_KPATHSEA_SO, add KPATHSEA_LIBS. * debian/watch: * debian/control: Update. 2005-03-28 Han-Wen Nienhuys * input/test/title-markup.ly (spaceTest): remove. * input/test/embedded-tex.ly (Module): remove. * input/test/music-box.ly: use 'name property, not ly:music-name. * lily/GNUmakefile (MODULE_LDFLAGS): add KPATHSEA_LIBS. * stepmake/aclocal.m4: STEPMAKE_FONTCONFIG: add. 2005-03-28 Jan Nieuwenhuizen * Documentation/topdocs/INSTALL.texi (Top): Remove information about xdeltas. Add information about CVS. * scm/lily.scm (lilypond-main): Fix invocation of handler, gracefully handle failed files. * lily/GNUmakefile (MODULE_LDFLAGS): Remove KPATHSEA_LIBS. * Documentation/topdocs/INSTALL.texi (Top): Whitespace and other small fixes. * scm/framework-tex.scm (convert-to-ps): Proper option spacing. No unnecessarily specific i18n messages. Remove stray `1'. 2005-03-28 Han-Wen Nienhuys * buildscripts/lys-to-tely.py (strip_extension): add utf-8 documentencoding * scm/documentation-lib.scm (texi-file-head): set utf-8 documentencoding. * ly/chord-modifiers-init.ly (whiteTriangleMarkup): use the greek Delta, not the Symbol one. * mf/GNUmakefile ($(outdir)/lilypond.map): add -Regular to Aybabtu for the .map file. * Documentation/topdocs/INSTALL.texi (Top): add running requirement as compilation requirement. 2005-03-27 Han-Wen Nienhuys * buildscripts/mutopia-index.py (headertext): add h1 header and utf-8 charset meta field. * input/GNUmakefile: prune example list. * scm/framework-tex.scm (convert-to-ps): add -ofoo.ps to dvips options. * lily/slur-scoring.cc (get_base_attachments): only look at stem extent for visible stems. * lily/grob.cc (mark_smob): mark \layout block from Grob::mark_smob(). 2005-03-27 Jan Nieuwenhuizen * Documentation/topdocs/INSTALL.texi (Top): Updates. * scripts/convert-ly.py: Python 2.2 compatibility (thanks Mats). 2005-03-27 Han-Wen Nienhuys * lily/slur-scoring.cc (get_base_attachments): robustness. Don't pass inf/nan into slur scoring. * ly/titling-init.ly (oddHeaderMarkup): don't show page no. on 1st page. * scripts/abc2ly.py (dump_voices): use alphabet(). 2005-03-27 Jeff Smith * mf/GNUmakefile (depth): use $(FONTFORGE). 2005-03-27 Matthias Neeracher * flower/include/virtual-methods.hh: simplify. Patch by 2005-03-25 John Williams * scripts/lilypond-book.py (main): add png for HTML too, guess only if necessary. 2005-03-25 Graham Percival * Documentation/topdocs/INSTALL.texi: now recommends lexer-gcc-3.1.sh for gcc 3.1.1 or higher. * Documentation/user/basic-notation.itely, Documentation/user/tutoria.itely: warn about only one (phrasing) slur at once. 2005-03-24 Pedro Kroger * ly/music-functions-init.ly (removeWithTag): fixed to return "music". 2005-03-23 Graham Percival * Documentation/user/basic-notation.itely: fixed info about ending a (de)cresc. * Documentation/user/lilypond-book.itely: fixed lilypond-book filter example and warned about not doing --filter and --process at the same time. 2005-03-23 Mats Bengtsson * lily/parser.yy (bass_number), Documentation/user/instrument-notation.itely (Figured bass): Add the possibility to use text markup in figured bass. 2005-03-19 Graham Percival * Documentation/user/global.itely: added info about naming identifiers and breakbefore. * Documentation/user/invoking.itely: added info about batch processing files with convert-ly, removed references to TeX in the jail section. * Documentation/user/examples.itely: possibly fixed piano dynamics. * Documentation/user/advanced-notation.itely: added info about removing other types of Staff. * Documentation/user/instrument-notation.itely: possibly fixed piano staff line switch. * Documentation/user/changing-defaults.itely: added info about using normal font in titles. 2005-03-18 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): release 2.5.16 * make/ly-vars.make (DVIPS_FLAGS): include lilypond.map path explicitly. 2005-03-18 Jan Nieuwenhuizen * scm/framework-tex.scm (convert-to-dvi): Barf if NAME contains whitespace. * python/lilylib.py (make_ps_images): * scm/backend-library.scm (postscript->pdf, postscript->png): Quote file name. Use format rather than string-append juggling. 2005-03-18 Han-Wen Nienhuys * python/lilylib.py (make_ps_images): add x to -g argument. * lily/key-performer.cc (create_audio_elements): don't use scm_eval_string. Check for minor 3rd directly. * input/mutopia/J.S.Bach/baerenreiter-sarabande.ly (sarabandeCelloGlobal): key is D minor, not F major. 2005-03-17 Jan Nieuwenhuizen Fix truncated --png output (Peter Danenberg). * python/lilylib.py (make_ps_images): * scripts/ps2png.py (copyright): Grok --papersize option. * scm/backend-library.scm (postscript->png): Add parameter PAPERSIZE. Update callers. * scm/output-gnome.scm (music-font?): Bugfix: use "Emmentaler". Fixes symbol placement. * lily/spanner.cc: * lily/stencil.cc: Use "libc-extension.hh" (WAS: ). 2005-03-16 Jan Nieuwenhuizen * Nitpick run. * buildscripts/fixcc.py: Update. Builddir run fixes. * HACKING (datadir): Add VERSION. * GNUmakefile.in (linktree): Bugfix: outconfdirs are one dir higher up. 2005-03-15 Werner Lemberg * mf/feta-klef.mf (draw_gclef): Move z10' slightly so that the diagonal stem doesn't become thinner. 2005-03-15 Jan Nieuwenhuizen * buildscripts/fixcc.py: Fixes (Werner). 2005-03-15 Han-Wen Nienhuys * mf/GNUmakefile ($(outdir)/lilypond.map): capitalize Emmentaler/Aybabtu. * GNUmakefile.in: fix lilypond-words path. * po/tr.po: update to 2.3.21 * lily/new-fingering-engraver.cc (position_scripts): take priority from head position. * input/regression/finger-chords-order.ly (texidoc): new file. 2005-03-14 Jan Nieuwenhuizen * make/ly-rules.make: * stepmake/aclocal.m4: * Documentation/user/GNUmakefile: Remove old makeinfo compatibility. * buildscripts/fixcc.py (rules): Leave space after operator. 2005-03-14 Werner Lemberg * mf/feta-klef.mf (draw_gclef): Replace `simple_serif' for top of the glyph with smooth curve. 2005-03-14 Han-Wen Nienhuys * Documentation/user/global.itely (Page layout): remove printpagenumber. 2005-03-13 Jürgen Reuter * input/regression/mensural-ligatures.ly: new file (with examples compiled by Pal Benko). * Documentation/user/instrument-notation.itely: Bugfix: yet some other "custodes.*-u0" -> "custodes.*.u0" renaming victims in musicglyph access. Many small beautifications in ancient examples. * input/test/divisiones.ly: fixed indentation; small beautifications * ly/engraver-init.ly: added FIXME comment * scripts/lilypond-book.py, Documentation/user/lilypond-book.itely: added music fragment option "packed" to lilypond-book * Documentation/user/instrument-notation.itely: Bugfix: added missing LedgerLineSpanner color setting in several places. Added music fragment option "packed" to VaticanaContext example. 2005-03-12 Han-Wen Nienhuys * scm/define-grobs.scm (all-grob-descriptions): switch off Hyphen_spanner::set_spacing_rods * lily/lyric-hyphen.cc (print): add padding between syllable and hyphen. (print): shorten hyphen in tight situations (determine using minimum-length) * scm/paper.scm (layout-set-staff-size): increase blotdiameter to 0.4pt. 2005-03-13 Jan Nieuwenhuizen * ly/titling-init.ly (bookTitleMarkup): Refinements. * input/regression/page-breaks.ly (paper): Set not raggedlastbottom, header/footer markings for regression-test. * scm/backend-library.scm (output-scopes, header-to-file): Move from framework-tex.scm. * scm/framework-ps.scm (output-framework) (output-preview-framework): * scm/framework-eps.scm (output-classic-framework) (output-framework): Use it. Fixes collated files. 2005-03-12 Jan Nieuwenhuizen * input/sakura-sakura.ly: * input/xiao-haizi-guai-guai.ly: Add from Debian package (Anthony). * buildscripts/guile-gnome.sh: Update. * mf/GNUmakefile (aybabtu.otf): Add dependency on .pe. * mf/aybabtu.pe.in: Capitalize Aybabtu. 2005-03-11 Han-Wen Nienhuys * lily/separating-group-spanner.cc (find_rods): oops. Fix the real culprit: always exit the loop if we find a rod, even if it has distance < 0. * lily/ledger-line-spanner.cc (set_spacing_rods): rewrite to O(n) algorithm. * stepmake/stepmake/metafont-rules.make ($(outdir)/%.pfb $(outdir)/%.svg $(outdir)/%.pfa): add --simplify. * scm/output-svg.scm (dashed-line): new function body. * GNUmakefile.in: create .htaccess. 2005-03-11 Jan Nieuwenhuizen * Documentation/topdocs/NEWS.tely (Top): Fix text example. 2005-03-11 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.5.15 * scm/output-{pdf,pdftex,sketch}.scm (Module): remove bitrotted files. * scm/framework-svg.scm (output-framework): put scaling in document header. Apply scaling only once. (output-framework): dump page size in px, not mm. * scm/lily-library.scm (modified-font-metric-font-scaling): rename from font-size. * lily/paper-outputter-scheme.cc (LY_DEFINE): ly:outputter-output-scheme, new function. * scm/output-svg.scm (pango-description-to-svg-font): new function 2005-03-10 Han-Wen Nienhuys * Documentation/user/GNUmakefile (deep-symlinks): remove outimages target. * input/typography-demo.ly: new file. 2005-03-10 Jan Nieuwenhuizen * Documentation/user/global.itely (File structure): Add markup blocks to toplevel expressions. (Multiple movements, Creating titles): Add markup blocks. * lily/stencil-scheme.cc: Use "libc-extension.hh" (WAS: ). * lily/accidental.cc (accurate_boxes): Compile fix: 1.51 was broken. * flower * lily * kpath-guile: Nitpick run: buildscripts/fixcc.py. 2005-03-10 Han-Wen Nienhuys * lily/accidental.cc: special bboxes for natural. * mf/feta-toevallig.mf: make stems heavier. * lily/dynamic-text-spanner.cc (print): add bound padding for edge texts as well. * mf/feta-klef.mf: revise. * mf/feta-schrift.mf: make thinning of accent less pronounced. * mf/feta-klef.mf: add rounded curve at top. make thinnib a little heavier. 2005-03-10 Jan Nieuwenhuizen * lily/parser.yy (book_body): Oops, allow \markup in \book too. * buildscripts/fixcc.py: New file. * input/regression/utf8.ly: Update Debian font description. 2005-03-09 Jan Nieuwenhuizen * stepmake/aclocal.m4: Fix test. 2005-03-09 Graham Percival * Documentation/user/invoking.itely: added Sebastino Vigna's docs for the --jail option. 2005-03-09 Han-Wen Nienhuys * lily/stem.cc (print): only produce stemlets if there are no noteheads on this stem. * lily/note-spacing.cc (stem_dir_correction): robustness fix: don't crash on stemlet (visible stem without heads). * scm/define-grobs.scm (all-grob-descriptions): junk LeftEdge for unbroken situations. * scm/output-lib.scm (center-invisible): new function. * lily/spacing-loose-columns.cc (set_loose_columns): use spacing wishes to determine loose column space. * lily/font-config.cc (init_fontconfig): add fonts/{otf,type1,cff} to path. * lily/main.cc (setup_paths): add fonts/{otf,svg,tfm,cff} to path * mf/GNUmakefile (Module): install all fonts under otf/ * scm/framework-ps.scm (Module): read fonts from fonts/extension, replace /fonts/otf/ by /ps/ 2005-03-09 Jan Nieuwenhuizen * lily/paper-book.cc (classic_output): Reinstate header_0_ hack. * lily/book.cc (process): Oops, add score_.header_. * lily/paper-book.cc: Fold hearders, score and texts into scores_. * lily/parser.yy: Handle toplevel and book texts as score. * scm/page-layout.scm (default-page-make-stencil): Bugfix: (page-properties rename. * scm/backend-library.scm (ly:system): Typo. 2005-03-09 Han-Wen Nienhuys * stepmake/stepmake/executable-targets.make (installexe): don't strip installed executables * lily/font-select.cc (get_font_by_design_size): revert pango_description_string as well. * lily/system.cc (set_loose_columns): put loose column just left of next column. * lily/include/group-interface.hh (extract_grob_array): rename from Pointer_group_interface__extract_grobs * input/regression/ledger-line-minimum.ly (texidoc): new file. * lily/ledger-line-spanner.cc (set_spacing_rods): new function. Keep ledgered note heads at a minimum distance. Introduce minimum-length-fraction (print): introduce length-fraction property. 2005-03-08 Han-Wen Nienhuys * tex/GNUmakefile: remove latin1.enc rules. 2005-03-08 Jan Nieuwenhuizen * scm/titling.scm: Typo. * input/regression/score-text.ly: Really add. * lily/score.cc: Bugfixes for SCM header_ and texts_ members. 2005-03-08 Han-Wen Nienhuys * lily/open-type-font-scheme.cc: new file. 2005-03-08 Jan Nieuwenhuizen * scm/titling.scm (layout-extract-page-properties): Rename from page-properties. Update callers. * lily/lexer.ll (Lily_lexer): * lily/parser.yy: Junk lyric_markup state. * Documentation/topdocs/NEWS.tely (Top): Mention markup text feature. * scripts/lilypond-book.py (PREAMBLE_LY): toplevel-music-handler: Add texts parameter. 2005-03-07 Jan Nieuwenhuizen * lily/lexer.ll (lyric_markup): New mode. (Lily_lexer::push_lyric_markup_state): New method. (MARKUPCOMMAND): Markup during lyric mode returns LYRIC_MARKUP. * lily/parser.yy (book_body): (toplevel_expression): Grok \markup texts. * lily/score-scheme.cc (ly:music-scorify): * scm/lily-library.scm (collect-music-for-book): Take texts parameter. * lily/score.cc (texts_): New member. * lily/paper-book.cc (systems): Format score texts. * score-text.ly: New file. * ttftool/SConscript: * kpath-guile/SConscript: New file. * lily/SConscript: * SConstruct: Update. 2005-03-07 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.5.14 2005-03-07 Jan Nieuwenhuizen * lily/main.cc: Add dummy xgettext markers. 2005-03-07 Han-Wen Nienhuys * make/lilypond.fedora.spec.in (Requires): scrap kpathsea/tex requirements * stepmake/aclocal.m4: check dynamic link, by checking if kpathsea executable is < 40k * lily/main.cc (setup_paths): remove tfm1 tfm2 tfm3 include path hack. 2005-03-06 Jan Nieuwenhuizen * flower/libc-extension.cc: * flower/include/libc-extension.hh: [Open]BSD simply cast cookie/funopen declarations. * stepmake/aclocal.m4: Check for libkpathsea.so. * kpath-guile/kpath.c (ly_kpathsea_expand_variable): Use dl_kpse_find_file. 2005-03-06 Han-Wen Nienhuys * kpath-guile/kpath.c (open_library): dlopen libkpathsea.so (open_library): alternative for static library. 2005-03-06 Jan Nieuwenhuizen * configure.in: Set TTFTOOL_ENDIAN iso global CFLAGS. * ttftool/GNUmakefile (MODULE_CFLAGS): Add $(TTFTOOL_ENDIAN). Drop run-time dependency on teTeX. * lily/kpath.cc (initialize_kpathsea): dlopen libkpathsea. * stepmake/aclocal.m4 (STEPMAKE_KPATHSEA): Do not include KPATHSEA_LIBS in LIBS. (STEPMAKE_DLOPEN): New function. * lily/font-config.cc (init_fontconfig): Use dir for directory, not path. * flower/file-path.cc (directories): Rename from paths, as this return an array of directories (a single path). 2005-03-06 Han-Wen Nienhuys * lily/GNUmakefile (MODULE_LIBS): link with kpath-guile * lily/all-font-metrics.cc (kpathsea_find_file): wrapper around new ly:kpathsea-find-file * kpath-guile/kpath.c: new file. Put kpath bindings in lib. * kpath-guile/GNUmakefile: new file * buildscripts/gen-emmentaler-scripts.py (i): generate emmentaler-X.fontname as well. * buildscripts/ps-embed-cff.py: new script * scm/lily-library.scm: remove ps-embed-cff. * scm/framework-ps.scm (write-preamble): don't use kpathsea for font loading. * scm/font.scm (add-music-fonts): load dynamics/numbers through fontconfig as well. * lily/font-config.cc (init_fontconfig): add cff/ too. * ly/generate-embedded-cff.ly: capitalize. * lily/pango-select.cc (select_pango_font): use ::find_pango_font, so as to register the pango font. * lily/font-config.cc (init_fontconfig): add prefix/{otf,type1,mf/out} to fontconfig path. * lily/main.cc: only look at one prefix directory, LILYPONDPREFIX overrides all. * configure.in (gui_b): remove ec mftrace check * config.hh.in: use lilypond-Major.Minor as data directory. * scm/framework-ps.scm (dump-page): use output-units for landscape. * buildscripts/gen-emmentaler-scripts.py (i): lower case file name. 2005-03-06 Jan Nieuwenhuizen * lily/main.cc (do_chroot_jail): Small cleanups. Avoid constant error messages. * flower/libc-extension.cc: * flower/include/libc-extension.hh: [Open]BSD fixes for cookie/funopen declarations. 2005-03-06 Han-Wen Nienhuys * buildscripts/gen-emmentaler-scripts.py (outdir): capitalize emmentaler. * lily/score-engraver.cc (initialize): remove check for ecrm10 / lcrm10. * scm/define-markup-commands.scm (fontsize): new markup command. Also set baseline-skip 2005-03-06 Sebastiano Vigna . * lily/main.cc (do_chroot_jail): paranoia security for webserver use. 2005-03-05 Han-Wen Nienhuys * stepmake/bin/add-html-footer.py (do_file): make wiki link optional. * lily/pdf.cc: remove PDF related files 2005-03-04 Han-Wen Nienhuys * ly/deutsch.ly: add quarter tones, patch by Arno Waschk. 2005-03-05 Graham Percival * Documentation/user/advanced-notation.itely: first draft of reorg done. * Documentation/user/global.itely: fixed (sub)section bits of MIDI. 2005-03-02 Jan Nieuwenhuizen * cygwin/mknetrel (extras): Bufix (Bertalan). * Documentation/user/basic-notation.itely (Chords): @ref fix. * Documentation/user/instrument-notation.itely (Introducing chord names): Compile fix: must have unique name. 2005-03-02 Graham Percival * Documentation/user/instrument-notation.itely: reorg. 2005-03-02 Jan Nieuwenhuizen * scm/output-gnome.scm: * scm/output-svg.scm: Fix font scaling. 2005-03-01 Jan Nieuwenhuizen * ly/titling-init.ly (tagline): Use Engraving. Add comment about what link to use best. * Documentation/user/instrument-notation.itely (Ancient accidentals): * Documentation/user/tutorial.itely (Automatic and manual beams): Fix @ref. * lily/tweak-registration.cc (replace_grob_tweak): New function. * lily/tweak-registration-scheme.cc (LY_DEFINE): Wrap it. * scm/framework-gnome.scm (tweak): Use it. 2005-03-01 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): elucidate GS problem. * scm/output-ps.scm (white-text): reinstate white-text 2005-03-01 Jan Nieuwenhuizen * scm/output-ps.scm (offset-add): Remove. * scm/lily-library.scm (offset-flip-y): New function. * scm/framework-gnome.scm (tweak): Use it. * scm/output-gnome.scm (grob-cause): Add parameter. * scm/lily.scm (ly:all-stencil-expressions): Add url-link. * scm/output-ps.scm (url-link): Move. (white-text): Warn user about brokenness. * Documentation/topdocs/NEWS.tely: Be more accurate and respectful wrt ghostscript. 2005-03-01 Han-Wen Nienhuys * lily/slash-repeat-engraver.cc (try_music): always make slashes if body length smaller than measure length. * scm/define-markup-commands.scm (with-url): oops. use Y extent for Y. * ly/titling-init.ly (tagline): put default tagline in \paper 2005-03-01 Jan Nieuwenhuizen * lily/kpath.cc: * lily/pdf.cc (Pdf_file): Use more generic error messages. * scm/lily-library.scm (version-not-seen-message): New function. * ly/init.ly: Use it. * scm/page-layout.scm (ly:optimal-page-breaks): Display page breaks as progess. * scripts/lilypond-book.py (do_process_cmd): Do not lump whitespace with l10n message. * scm/framework-tex.scm (convert-to-ps): (convert-to-dvi): Do not use overly specific l10n messages. * ly/titling-init.ly (bookTitleMarkup): Add baseline skips from 2.4. * tex/GNUmakefile $(outdir)/latin1.enc: Build fix: merge stderr with stdout. 2005-03-01 Jan Nieuwenhuizen * flower/libc-extension.cc: Tested BSD compile fix (Matthias Neeracher). 2005-02-29 Graham Percival * Documentation/user/instrument-notation.teily: moved \arpeggio to Basic. * Documentation/user/advanced-notation.itely: Articulation to Basic, a bunch of stuff from Basic moved to Advanced. * Documentation/user/basic.itely: swapped various sections, reorganized Basic. 2005-02-28 Jan Nieuwenhuizen * flower/memory-stream.cc: * flower/libc-extension.cc: Remove obsolete #undefs. * flower/include/libc-extension.hh: Bugfix for BSD, place #ifdef more carefully. 2005-02-28 Han-Wen Nienhuys * make/lilypond.fedora.spec.in (Requires): add GS 8.15 as dependency. * VERSION (PACKAGE_NAME): release 2.5.13 * GNUmakefile.in (web-ext): don't ship ps.gz * tex/GNUmakefile ($(outdir)/latin1.enc): redirect stderr to stdout 2005-02-28 Jan Nieuwenhuizen * lily/general-scheme.cc (LY_DEFINE): Compile fix for systems without libintl. Now it compiles too. 2005-02-28 Graham Percival * Documentation/user/basic-notation.itely, instument-notation.itely, advanced-notation.itely: split up contents of notation.itely. * Documentation/user/notation.itely: file removed. * Documentation/user/invoking.itely, converters.itely: moved convert-ly info to invoking.itely. * Documentation/user/global.itely, changing-defaults.itely, sound-output.itexi: moved global settings, file layout, and sound into global.itely. * Documentation/user/sound-output.itexi: file removed. * Documentation/user/lilypond.tely: removed links to notation.itely and sound.itely. 2005-02-27 Han-Wen Nienhuys * scm/output-ps.scm (grob-cause): only do mark_URI if non-empty. * scm/framework-ps.scm (write-preamble): remove pdf-viewer code. * THANKS: add sponsor. * scm/define-markup-commands.scm (with-url): new markup command. * scm/page-layout.scm (TAGLINE): add www.lilypond.org with URL to tagline. * scm/output-tex.scm (url-link): stub. * scm/output-ps.scm (url-link): new function. * lily/lily-parser-scheme.cc (LY_DEFINE): deprecate ly:set-point-and-click 2005-02-27 Jan Nieuwenhuizen * ps/music-drawing-routines.ps (mark_file_line): Switch Action based on pdf-viewer setting. * scm/framework-ps.scm (write-preamble): Find and set preferred pdf-viewer. 2005-02-27 Han-Wen Nienhuys * Documentation/user/point-and-click.itely: update for PDF point & click. * scripts/lilypond-pdfpc-helper.py: new file. Invoke different editors based on EDITOR setting. 2005-02-27 Jan Nieuwenhuizen * scm/*: Oops, more grand 2005 replace bits. 2005-02-27 Han-Wen Nienhuys * ps/music-drawing-routines.ps: new routine: insert PDF mark * scm/output-ps.scm (grob-cause): point & click support for PostScript 2005-02-26 Han-Wen Nienhuys * lily/input-scheme.cc (LY_DEFINE): rename to ly:input-file-line-column 2005-02-26 Graham Percival * Documentation/user/examples.itely: small fix from Steve Doonan. * Documentation/user/scheme-tutorial.itely: small fix from Steve Doonan. * THANKS: added Yuval Harel. * Documentation/user/{various}: inserted two spaces after a period. * Documentation/user/lilypond.tely: added framework for reorg. * Documentation/user/basic-notation.itely, instrument-notation.itely, advanced-notation.itely, global.itely: new files, placeholder for future reorg. 2005-02-26 Yuval Harel * Documentation/user/notation.itely: revamped Polyphony section 2005-02-26 Han-Wen Nienhuys * Documentation/user/lilypond-book.itely (Music fragment options): doc fontload. * Documentation/user/changing-defaults.itely (Text encoding): add fontload option to utf8 include * scripts/lilypond-book.py (compose_ly): add fontload option * scm/framework-eps.scm (dump-stencils-as-EPSes): add force-eps-font-include option. * ly/chord-modifiers-init.ly (blackTriangleMarkup): reinstate black triangle * Documentation/user/invoking.itely (Editor support): remove lilypond-latex section. * scripts/lilypond-latex.py (Module): remove script. * cygwin/lily-wins.py (stat): write to .lylog, so as not to overwrite .log. * lily/main.cc: remove -m, --no-layout * flower/include/libc-extension.hh: add ALIAS_FILE_TO_FILECOOKIE to define. We don't want to override fprintf everywhere. 2005-02-26 Jan Nieuwenhuizen * cygwin/lilypond.hint: * cygwin/README.in: Update dependencies. * stepmake/aclocal.m4 (STEPMAKE_PANGO, STEPMAKE_PANGO_FT2): Bugfix: do not pollute CPPFLAGS, LIBS. * cygwin/mknetrel (extras): Cross compile fixes. * ttftool/util.c: * ttftool/ttfps.c: * ttftool/ps.c: #include libc-extension.hh * flower/include/libc-extension.hh: * flower/libc-extension.cc (fopencookie)[!HAVE_FOPENCOOKIE]: Add wrapper using funopen. (fopencookie, handle_cookie_io_fclose, handle_cookie_io_fprintf, handle_cookie_io_fprintf): Add wrappers catching Memory_out_stream. * config.hh.in: * configure.in (AC_CHECK_FUNCS): Add fopencookie, funopen. (AC_CHECK_HEADERS): Add libio.h * scripts/convert-ly.py: Uniformize, internationalize. (2.5.2): Remove fatal encoding rule. (2.5.13): Handle latin1 encoding gracefully. 2005-02-23 Jan Nieuwenhuizen * HACKING: Fix line breaks. 2005-02-23 Werner Lemberg * mf/graycx.mf, mf/graylj.mf: Removed. Any decent TeX distribution contains those two files. 2005-02-21 Werner Lemberg * mf/feta-nummer-code.mf ("Numeral 5"): Include intersection point to improve overlap removal process. * mf/feta-slag.mf (draw_trillelement): Add parameter to control left and right ending. This ensures better overlapping. Update all callers. ("lineprall"): Don't use draw_gridline to get better overlapping. 2005-02-21 Han-Wen Nienhuys * scm/lily-library.scm (ps-embed-cff): add \n after EndResource * Documentation/topdocs/NEWS.tely (Top): oops. 2005-02-21 Pedro Kroger * HACKING: new file. * input/regression/utf8.ly (portuguese): added a portuguese example to show latin1 accents. 2005-02-21 Pal Benko * lily/mensural-ligature-engraver.cc: * lily/mensural-ligature.cc: * lily/include/mensural-ligature.hh: new algorithm implemented * scm/define-grob-properties.scm: join-left killed (add-join may be used); join-left-amount changed to join-right-amount 2005-02-21 Graham Percival * Documentation/user/notation.itely: small but urgent fix. 2005-02-21 Jürgen Reuter * lily/duration-scheme.cc: bugfix: correct parameters to SCM_ASSERT_TYPE. * THANKS: added Pal. * Documentation/user/notation.itely: bugfix: unTeXified $\\backslash$. Bugfix: yet another glyph renaming victim: "timesig.*x/y" -> "timesig.*xy". 2005-02-21 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.5.12 2005-02-20 Han-Wen Nienhuys * ly/engraver-init.ly: set tieWaitForNote to #t by default * configure.in (gui_b): bump GUILE requirement to 1.6.5 * Documentation/topdocs/NEWS.tely: add inputfileref macro. * scm/framework-ps.scm (supplies-or-needs): uniq font name list. 2005-02-20 Jan Nieuwenhuizen * input/mutopia/E.Satie/petite-ouverture-a-danser.ly: recode latin1..utf-8. * input/regression/stanza-number.ly: * input/regression/utf8.ly (hebrew): Use addlyrics. Update. * lily/tie-engraver.cc (acknowledge_grob): Compile fix. 2005-02-20 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): only mention 2.5 NEWS. Refer to website for older news. * stepmake/bin/add-html-footer.py (i18n): don't strip .PNG / .HTML. This should be done for specific servers only. * Documentation/topdocs/NEWS.tely (Top): move to .tely. Add some .ly image examples. * scm/define-grobs.scm (all-grob-descriptions): put ledger lines in layer 0 too. * scm/define-context-properties.scm (all-user-translation-properties): add tieWaitForNote * scm/define-grobs.scm (all-grob-descriptions): add Tie_column::before_line_breaking * lily/tie.cc (get_column_rank): new function * lily/tie-column.cc (before_line_breaking): new function. (werner_directions): take into account ties that start on different columns. * lily/score-engraver.cc (set_columns): move add_column() so we have column rank available. * lily/tie.cc (get_column_rank): new function. * input/regression/utf8.ly (japanese): add japanese lyrics. * lily/pfb.cc (LY_DEFINE): ly:ttf->pfa, new function. * THANKS: add Steve D * ttftool/*.c: add TTF -> Type42 conversion library. Based on Public Domain work by Juliusz Chroboczek 2005-02-20 Tatsuya Ono * mf/parmesan-heads.mf: "0harmonic" -> "s0harmonic" to show harmonic notes * scm/define-markup-commands.scm: in \markup-by-number "dots-dot" -> "dots.dot" to show dotted notes 2005-02-20 Han-Wen Nienhuys * flower/include/memory-stream.hh (class Memory_out_stream): new file. * flower/memory-stream.cc (writer): new file. * configure.in: add endian test. 2005-02-19 Jürgen Reuter * Documentation/user/examples.itely: small simplification/beautification * Documentation/user/notation.ietly: bugfix: fixed many artefacts from the "x-y-z"->"x.y.z" renaming of glyphs throughout the whole notation manual. * lily/mensural-ligature.cc: bugfix: another few victims of the "x-y-z"->"x.y.s-z" symetrical notehead glyph renaming. * ly/gregorian-init.ly: commit some experimental code for hi-level ligature input language lying around here for several months. * lily/mensural-ligature-engraver.cc: bugfix: another victim of the "x-y-z"->"x.y.s-z" symetrical notehead glyph renaming. * lily/vaticana-ligature-engraver.cc: bugfix: another few "x-y-z"->"x.y.s-z" fixes. 2005-02-19 Han-Wen Nienhuys * scm/framework-pdf.scm (scm): new file * lily/include/pdf.hh (class Pdf_file): new file. * lily/pdf.cc (write_trailer): new file. 2005-02-18 Erlend Aasland * input/regression/color.ly: new file * lily/stencil.cc (interpret_stencil_expression): when a color expression is encountered: save current color, process the rest of the expression, and restore previous color. * lily/system.cc (get_line): check all grobs for color property and prepare the stencil scheme expressions for further processing. Fix layer-loop. * scm/define-grob-properties.scm: introduce the color property. * scm/output-lib.scm: color helper functions. * scm/output-ps.scm: introduce setcolor/resetcolor. 2005-02-07 Erik Sandberg * ly/*.ly, input/regression/*.ly: Added missing \version statements in some files. 2005-02-15 Graham Percival * Documentation/user/notation.itely: minor editing. * Documentation/user/converters.itely: updated convert-ly bugs. * Documentation/user/lilypond-book.itely: add info about using feta characters in latex. 2005-02-15 Han-Wen Nienhuys * scripts/convert-ly.py: new slur dash patch by Bertalan Fodor. 2005-02-12 Han-Wen Nienhuys * scm/define-grob-properties.scm (all-user-grob-properties): removed 'dashed property. 2005-02-13 Nicolas Sceaux * scm/lily.scm (define-safe-public): new macro for defining variables that can be used in --safe mode. Use it in *.scm instead of manually setting safe-objects in safe-lily.scm. 2005-02-11 Han-Wen Nienhuys * lily/slur.cc: Slur-dash patch by Bertalan. * ly/engraver-init.ly (EasyNotation): glyph name dash -> period. * stepmake/bin/add-html-footer.py (do_file): do i18n only once. 2005-02-10 Jan Nieuwenhuizen * stepmake/aclocal.m4: teTeX-3.0 inimf fix. Comment-out. 2005-02-09 Jan Nieuwenhuizen * mf/GNUmakefile: teTeX-3.0 install fix. * Cygwin patch from Bertalan. * stepmake/stepmake/metafont-rules.make: Remove bashism. 2005-02-08 Jan Nieuwenhuizen * GNUmakefile.in: * SConstruct (symlink): teTeX-3.0 build fix: add map symlink. * tex/GNUmakefile: teTeX-3.0 fix: install .enc in fonts/enc. Add 2.0.x compatibility. 2005-02-08 Werner Lemberg * mf/feta-din-code.mf: Format; clean up code. Replace `---' with `--' plus explicit path directions. (linethickness#, stafflinethickness#): Remove. ("dynamic f"): Replace `draw' with `draw_rounded_block'. ("dynamic s"): Improve shape. ("dynamic p"): Improve shape. Replace `draw' with better outline approximation. ("dynamic r"): Improve shape. Don't call `fill' and `draw' at the same time. 2005-02-08 Jan Nieuwenhuizen * SConstruct (symlink): * GNUmakefile.in ($(builddir)/share/lilypond-force): teTeX-3.0 build fix: add enc symlink. * lily/general-scheme.cc: Compile fixes: include wchar.h, string.h. Support for DESTDIR besides prefix=/foo * vim/GNUmakefile (local-install): Use $(INSTALL) -d iso mkdir. * stepmake/stepmake/*.make: * */GNUmakefile: * GNUmakefile.in: Prepend $(DESTDIR) to installation directory. * config.make.in (prefix): Remove broken $(DESTDIR) hack. * stepmake/aclocal.m4: Use %0.f iso %d to quiet gawk < 3.1.4 and mawk in fontforge (date) test. 2005-02-07 Han-Wen Nienhuys * scm/font.scm (make-century-schoolbook-tree): add NCS as font-family=roman. Add Luxi Sans as sans 2005-02-07 Graham Percival * Documentation/user/notation.itely: add warning about percent repeats and Voice contexts. * Documentation/user/lilypond-book.itely: clarified the necessity of dvips -u arguments. 2005-02-07 Erik Sandberg * THANKS: Added a bunch of bug hunters. 2005-02-06 Han-Wen Nienhuys * scm/framework-ps.scm (output-preview-framework): bugfix. * ly/chord-modifiers-init.ly (ignatzekExceptionMusic): use unicode o/ for chord modifier.. * lily/general-scheme.cc (LY_DEFINE): new function ly:wide-char->utf-8. * lily/drum-note-performer.cc: remove unused (thanks Michael Welsh Duggan). 2005-02-06 Jan Nieuwenhuizen * Documentation/user/changing-defaults.itely (Text encoding): Clarify. * ly/titling-init.ly: Do not also print intstrument in header on first page. Do not print page number on first and only page. 2005-02-05 Han-Wen Nienhuys * input/regression/*.ly: remove old-relative everywhere * lily/music-sequence.cc (simultaneous_relative_callback): do what-if analysis on copy, not on original. Fixes old-relative compatibility. * scm/backend-library.scm (postscript->png): space before --verbose. 2005-02-05 Werner Lemberg * mf/feta-autometric.mf (fet_beginchar): Check whether `feta_group' is defined. * mf/feta-alphabet.mf: Define `staffsize#'. Include `feta-params.mf'. s/staffheight/design_size/. * mf/feta-alphabet??.mf: s/staffheight/design_size/. * mf/feta-alphabet26.mf: Fix a serious bug (design size off by 8pt). * mf/feta-nummer-code.mf: Reformatted. (draw_six): Use outline intersection to avoid a self-intersecting path. ("Numeral comma"): Fix serious outline glitches. This slightly changes the glyph shape. ("Numeral dash"): Use `draw_rounded_block'. ("Numeral dot"): Use `drawdot'. ("Numeral 1"): Assure identical tangent directions for the intersection points of paths. The glyph shape improvement is only visible at very high magnifications. ("Numeral 2"): Use `solve' macro to make the lower right part of the glyph outline touch the x axis exactly. This changes the glyph shape. Minor fixes for better overlap removal support. ("Numeral 4"): Make lefter corner `rounder'. ("Numeral 5"): Assure identical tangent directions for the intersection points of paths. This improves the glyph shape at high magnifications. ("Numeral 7"): Use `solve' macro to make the upper right part of the glyph outline touch the metrics box exactly. This changes the glyph shape. Avoid corner in the upper left part of the glyph (causing a minor shape change). * mf/feta-ital-*.mf: Removed. Unused. 2005-02-04 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): release 2.5.11 * input/regression/fill-line-test.ly: new file. * buildscripts/gen-emmentaler-scripts.py (i): insert dash in emmentaler name, eg. emmentaler-23. 2005-02-04 Christian Hitz * scm/scm/define-markup-commands.scm (fill-line): rework for better alignment with centered texts * scm/stencil.scm (stack-stencils-padding-list): new function, takes a list of paddings 2005-02-04 Han-Wen Nienhuys * mf/GNUmakefile ($(outdir)/lilypond.map): add aybabtu to .map file. * lily/note-column.cc (translate_rests): call flush_extent_cache() of parents when translating rests. Fixes: c-chord-rest.ly * lily/include/dimension-cache.hh (struct Dimension_cache): add dimension_callback_ member. * lily/grob.cc (flush_extent_cache): new function. Force recompute of extents. 2005-02-04 Jan Nieuwenhuizen * all but lily/*: The grand 2004/2005 replace. 2005-02-04 Han-Wen Nienhuys * lily/*: add space after , * scm/music-functions.scm (has-request-chord): don't use ly:music-name anywhere. Fixes <<\\>> notation. * scm/define-markup-commands.scm (box): use font-size for padding. Fixes boxed-rehearsal-marks.ly * lily/parser.yy (assignment_id): allow LYRICS_STRING as identifier definition too, so foo = \lyrics { ... } bar = #1 doesn't complain about "bar" being LYRICS_STRING. * lily/paper-def.cc (find_pango_font): new routine; Store pango_fonts in hash tab too. This is necessary for retrieving Pango_fonts::physical_font_tab() later on. * lily/pango-font.cc (pango_item_string_stencil): bugfix: don't crash if psname is null. * lily/lily-guile.cc (ly_hash2alist): new function * Documentation/user/changing-defaults.itely (Text encoding): rewrite. * lily/pango-font.cc (physical_font_tab): new member. Store PSname -> font_filename mapping. * lily/pango-font-scheme.cc (LY_DEFINE): new file. New function ly_pango_font_physical_fonts * scm/framework-ps.scm (supplies-or-needs): extract names from physical Pango_fonts. * utf8.ly: new file. 2005-02-02 Han-Wen Nienhuys * Documentation/user/changing-defaults.itely (Page layout): add doco about systemSeparatorMarkup. * scm/page-layout.scm (default-page-make-stencil): add-to-page function. (default-page-make-stencil): insert system separators. * scm/define-markup-commands.scm (hcenter): add (beam): add. 2005-02-01 Han-Wen Nienhuys * scm/output-ps.scm (ez-ball): reinstate ez notation. 2005-02-01 Jan Nieuwenhuizen * lily/main.cc: Spell backend consistently. Sort options. 2005-01-31 Han-Wen Nienhuys * scripts/lilypond-book.py (Module): revert @include. 2005-01-31 Jan Nieuwenhuizen * scripts/lilypond-book.py: Resurrect HTML links to .ly source. Bugfix: @include .tex (not .texi). Small cleanups. * stepmake/bin/add-html-footer.py (i18n): New function. 2005-01-31 Werner Lemberg * mf/feta-nummer.mf: Removed. Unused. 2005-01-31 Han-Wen Nienhuys * lily/ : 2004 -> 2005 s&r * scm/file-cache.scm (cached-file-contents): add file. Read each file only once. * scm/font.scm (add-pango-fonts): change order. Medium weight is now default. * VERSION: release 2.5.10 * mf/GNUmakefile (INSTALLATION_OUT_FILES4): install cff.ps files. * make/ly-rules.make ($(outdir)/%.texi): detect new EOF marker. * scm/framework-ps.scm (dump-stencil-as-EPS): robustness: ensure that both X and Y extents of bbox are non-nil. 2005-01-30 Han-Wen Nienhuys * scm/chord-name.scm (alteration->text-accidental-markup): change - to . * scm/output-ps.scm (utf8-string): add utf8-string for completeness. * scm/framework-ps.scm (dump-stencil-as-EPS): new function * Documentation/user/invoking.itely (Invoking lilypond): add note about EPS backend. * scm/framework-eps.scm: new file: create per-system/per-page EPS files for inclusion in lilypond-book document. * input/tutorial/lbook-latex-test.tex: rename from lilbook.tex * input/tutorial/lbook-texi-test.texi: new file. * scm/safe-lily.scm (safe-objects): add {begin,end}-of-line-(in)?visible as safe. 2005-01-30 Graham Percival * Documentation/user/changing-defaults.itely: fixed example of (dynamics). 2005-01-29 Graham Percival * lily/main.cc: fix info about -o=FILE. 2005-01-29 Werner Lemberg * mf/feta-toevallig.mf ("Natural"): Completely changed the construction to assure smooth transition from straight to curved lines. 2005-01-29 Han-Wen Nienhuys * lily/stencil.cc (moved_to_edge): don't halt on adding empty stencils. * ps/lilyponddefs.ps: add start-page, start-system doesn't translate to top of page. Fixes alignment problems of lilypond-generated EPS files. 2005-01-28 Han-Wen Nienhuys * scm/part-combiner.scm (analyse-spanner-states): trigger on crescendo-end as well, since Decrescendo maybe ended with Stop Crescendo.). Fixes: partcombine-diminuendo.ly * scm/script.scm (default-script-alist): swap portato symbols. * lily/instrument-name-engraver.cc (acknowledge_grob): typo. * lily/paper-outputter-scheme.cc (LY_DEFINE): ly:outputter-port. New function. * scm/framework-ps.scm (output-classic-framework): dump a -systems.texi too (output-classic-framework): dump multiple systems on an "infinite" page EPS including fonts. * scripts/lilypond-book.py (Lilypond_snippet.ly_is_outdated): use .eps files for both texi and tex formats. Use PNG coming from lilypond. 2005-01-28 Graham Percival * Docuemntation/user/invoking.itely: fix info about -o=FILE. * scripts/lilypond-latex.py: fix info about -o=FILE. 2005-01-28 Han-Wen Nienhuys * ly/generate-embedded-cff.ly: write .cff.ps files. * mf/GNUmakefile ($(outdir)/lilypond.map): add .cff.ps to .map file. * stepmake/stepmake/metafont-rules.make ($(outdir)/%.pfb $(outdir)/%.svg $(outdir)/%.pfa): remove --simplify 2005-01-28 Jan Nieuwenhuizen * lily/include/guile-compatibility.hh (SCM_VECTOR_P): Compile fix. 2005-01-28 Werner Lemberg * mf/feta-macros.mf (soft_start_penstroke, soft_end_penstroke): New macros. (draw_bulb): Improved. * mf/feta-pendaal.mf ("Pedal asterisk"): Remove workaround for metapost bug. (draw_pedal_P): Use soft_end_penstroke. (draw_pedal_d): Use soft_start_penstroke. * mf/feta-schrift.mf ("Trill (`tr')"): Remove redundant point in path. ("Varied Coda"): Move some points to avoid fontforge warnings. This doesn't change the glyph shape. * mf/feta-accordion.mf ("accOldEE"): Draw glyph differently (without changing the shape) to avoid fontforge warnings. * mf/feta-klef.mf (draw_tab_T, draw_tab_A, draw_tab_B): Use soft_end_penstroke and fix glyph shape. 2005-01-27 Han-Wen Nienhuys * lily/*.cc: Scheme deprecation of SCM_VECTOR_* 2005-01-27 Han-Wen Nienhuys * scm/define-markup-commands.scm (line): filter out empty stencils from line command. * lily/stencil-scheme.cc (LY_DEFINE): only allow finite real amount. 2005-01-27 Graham Percival * Documentation/user/notation.itely: added info about what \voiceFoo does. Also rewrote warning about marks at a line break. * Documentation/user/changing-defaults.itely: added info about putting dynamics in parenthesis and brackets. 2005-01-27 Werner Lemberg * mf/feta-schrift.mf ("Trill (`tr')"): Fix typo. 2005-01-27 Han-Wen Nienhuys * mf/feta-schrift.mf: reverse u and d portato. Fixes: portato-direction.ly * lily/beam.cc (consider_auto_knees): add beam height to threshold. Fixes: knee-multiple-beam.ly * lily/instrument-name-engraver.cc (acknowledge_grob): also ignore pedal line spanners. Fixes: instrument-center-pedal.ly * lily/auto-beam-engraver.cc (acknowledge_grob): stop beam if encountering barline. Fixes: auto-beam-repeat.ly 2005-01-26 Werner Lemberg * mf/feta-slag.mf (draw_trillelement): Fix shape to get clean overlapping. * mf/feta-toevallig.mf (draw_meta_sharp): Fix shape to avoid curves with inflections for the 1/2 sharp glyph. * mf/feta-schrift.mf ("Trill (`tr')"): Fix start position of connection between `t' and `r'. Unify bulb with the rest of `r' to avoid grazing outlines which confuses the overlap removal algorithm of fontforge. * mf/feta-bolletjes.mf (draw_slash): Fix shape to avoid curves with inflections. (draw_cross): Fix shape to have uniform thickness in corners. * mf/feta-pendaal.mf (draw_pedal_P): Break shape into smaller pieces to avoid an uneven number of self-intersections; this confuses fontforge. Fix a slight bug in the shape at left bottom (which is visible only at high magnifications). `Center' the stem horizontally to avoid overlapping. 2005-01-24 Werner Lemberg * mf/feta-autometric.mf (fet_beginfont): Set font_coding_scheme to `asis'. (fet_begingroup): Save group name in string `feta_group'. (fet_endgroup): Updated. (fet_beginchar): Emit `glyph_name' special for mf2pt1. * mf/feta-bolletjes.mf: s/p/pat/ for paths. * mf/feta-pendaal.mf ("Pedal asterisk"): Add workaround for bug in metapost. 2005-01-24 Graham Percival * Documentation/user/notation.itely: really minor editing. 2005-01-22 Graham Percival * Documentation/user/examples.itely: minor editing. * Documentation/user/changing-defaults.itely: minor editing. * Documentation/user/notation.itely: clarified info on polyphony and \addlyrics. 2005-01-22 Jan Nieuwenhuizen * scm/output-gnome.scm: * scm/output-svg.scm: * scm/lily-library.scm (font-name-style): Update font name kludging for fontconfig use. 2005-01-20 Erlend Aasland * scm/define-markup-commands.scm: Document right-align and larger markup commands. Remove "TODO" from the topmost comment "each markup function should have a doc string." More consistent use of new-lines. 2005-01-22 Graham Percival * Documentation/user/changing-defaults: removed info about copyright symbol, since it's likely to change soon. Added info about betweensystemspace. * Documentation/user/notation.itely: minor fixes. * Documentation/user/lilypond.tely, Documentation/user/music-glossary.tely: changed copyright date to 2005 instead of 2004. * input/test/volta-chord-names.ly: added old example back. 2005-01-22 Han-Wen Nienhuys * mf/feta-beugel.mf: use design size 20 (not 15). * mf/aybabtu.pe.in: scale brace fonts to design sizes. change name to aybabtu completely 2005-01-21 Han-Wen Nienhuys * buildscripts/gen-emmentaler-scripts.py (outdir): add design_size to fontname 2005-01-19 Werner Lemberg * mf/feta-accordion.mf, mf/feta-klef.mf, mf/feta-pendaal.mf, mf/feta-schrift.mf: s/p/pat/ if a path variable. * mf/feta-autometric.mf (set_char_box): Add code which emits specials for mf2pt1 if run with metapost. (to_bp): New macro for mf2pt1. 2005-01-18 Graham Percival * Documentation/user/changing-defaults: added info on creating a copyright symbol. 2005-01-18 Han-Wen Nienhuys * VERSION: release 2.5.9 2005-01-18 Erlend Aasland * scm/auto-beam.scm: Simplify score-override-auto-beam-setting * Documentation/user/notation.itely: Document score-override-auto-beam-setting Fix documentation for revert-auto-beam-setting. 2005-01-18 Werner Lemberg * scm/framework-ps.scm (ps-embed-cff): Fix DSC comments. (procset): New function to define a procset resource. (ps-embed-pfa): New function to define a font resource. (setup): New function to define a `Setup' environment. (preamble): Use new functions. * ps/lilypond.defs (init-lilypond-parameters): New function to get rid of directly executed PS code. Used in scm/framework-ps.scm. 2005-01-18 Han-Wen Nienhuys * mf/GNUmakefile (MFTRACE_FLAGS): add --no-afm to MFTRACE_FLAGS 2005-01-17 Erlend Aasland * scm/define-markup-commands.scm: Change number->markletter-string to take two arguments (vector number). Add number->mark-alphabet-vector and markalphabet markup command. * scm/translation-functions.scm: Add format-mark-box-alphabet, format-mark-alphabet, format-mark-box-barnumbers and format-mark-barnumbers. Fix bug in format-mark-box-numbers. 2005-01-17 Graham Percival * Documentation/user/examples.itely: add SATB automatic piano reduction template. * Documentation/user/notation.itely: added info about changing partcombine texts. Also adds examples of alternate lyrics. * Documentation/user/changing-defaults.itely: added warning about \RemoveEmptyStaffContext overriding previous changes. 2005-01-17 Werner Lemberg * buildscripts/mf-to-table.py: Use `FetaAlphabetEncoding' for feta-alphabet*. 2005-01-17 Han-Wen Nienhuys * python/lilylib.py (make_ps_images): don't do final showpage for multi-page documents. * VERSION (MY_PATCH_LEVEL): release 2.5.8 2005-01-16 Graham Percival * Documentation/user/lilypond.tely: changed order of appendices; unified index should be last. * Documentation/user/notation.itely: add example of key signatures and info about Staff.printKeyCancellation. 2005-01-16 Han-Wen Nienhuys * lily/include/repeated-music.hh (class Repeated_music): change into "namespace" class. * lily/event.cc: remove Key_change_event. * lily/include/transposed-music.hh (class Transposed_music): remove. * lily/transposed-music.cc: remove * lily/include/relative-music.hh: remove. * lily/include/music-sequence.hh (struct Music_sequence): change into "namespace" class. * lily/untransposable-music.cc (Module): remove * lily/include/un-relativable-music.hh (Module): remove * lily/include/untransposable-music.hh (Module): remove * lily/include/music-list.hh (Module): remove file * lily/un-relativable-music.cc: remove file. 2005-01-14 Jan Nieuwenhuizen * lily/parser.yy: Compile fix. 2005-01-14 Han-Wen Nienhuys * lily/include/music.hh (class Music): unvirtualize transpose(). * lily/sequential-music.cc: remove file. * lily/include/lyric-combine-music.hh ("music.hh"): remove file. * lily/slur-scoring.cc (get_best_curve): only switch on DEBUG_SLUR_SCORING for non NDEBUG builds. * lily/include/music.hh (class Music): replace Music::start_mom() by start-callback property * lily/include/grace-music.hh: remove file. * lily/stem.cc (height): robustness fix. * lily/time-scaled-music.cc: remove file. * lily/include/music.hh (class Music): include SCM init argument. (class Music): replace Music::get_length() virtual by length-callback property everywhere. * scripts/convert-ly.py (conv): add # to \property scalar value. * mf/GNUmakefile: don't install *list.ly 2005-01-14 Jan Nieuwenhuizen * mf/GNUmakefile (CFF_FILES): Bugfix: only big cheeses and braces. 2005-01-12 Werner Lemberg This patch addresses the following problems in the feta sources files which contribute to the fetaXX fonts. . Many fixes for rasterization at low resolutions (consistent use of `vround' and `hround', integer shift values for paths, applying `eps' for mirrored paths, use of `define_whole_pixels' and friends, etc.) -- while this probably looks like a waste of time it has revealed deficiencies in some glyph shapes. See comment at the end of feta-params.mf how vertical symmetry is achieved. . The `---' operator has been replaced everywhere with `--'; this both improves and considerably reduces the font size after conversion with mf2pt1. These change aren't explicitly mentioned below since virtually all glyphs are affected. Other notable differences: . Glyphs from feta-accordion.mf now have charboxes around the outline. . Fixed incorrect charbox for `accDot'. . The `rcomma' and `lcomma' glyphs were distorted due to a typo. . Fixed position of the bow in the `upprall' glyph and its siblings. . The bulb size in the `2/2 meter' and `4/4 meter' glyphs is now dependent on the staff line thickness to avoid touching the middle staff line at smaller sizes. . Largely extended output for feta-testXX: Where useful, glyphs are shown both between and on staff lines. * mf/feta-params.mf (staff_space_rounded, stafflinethickness_rounded, linethickness_rounded, ledgerlinethickness_rounded, stemthickness_rounded): New variables. Update all code which uses them where appropriate. (feta_eps, feta_shift, feta_space_shift, feta_offset, feta_fillpen): New variables used to control rasterization at low resolutions. Set to zero if feta code is processed with metapost. * mf/feta-macros.mf (draw_staff, draw_staff_outline): Updated. (draw_rounded_block, draw_square_block): Updated to use `--' only. (flare_path): Updated. Make it work with `filldraw' (but only circular pens). (hfloor, vfloor, hceiling, vceiling): New macros. * mf/feta-accordion.mf ("accDiscant", "accFreebase", "accStdbase"): Use `draw' again in mf mode to have good pixel dropout control. Fix intersection points of horizontal lines with circle. ("accDot"): Fix parameters for set_char_box. ("accOldEE"): Use `draw' again in mf mode to have good pixel dropout control. * mf/feta-banier.mf: Updated. * mf/feta-bolletjes.mf (remember_pic): New variable, used for testing. (undraw_inside_ellipse): Remove `center' argument. Update all callers. (draw_brevis): New macro, called by "Brevis notehead". (draw_whole_triangle_head): New macro, called by "Whole trianglehead". (draw_small_triangle_head): Use `filldraw'. * mf/feta-eindelijk.mf: Remove useless global group. Updated. * mf/feta-klef.mf (draw_c_clef): Correct point positions for using `filldraw'. * mf/feta-pendaal.mf: Updated. * mf/feta-puntje.mf: Updated. * mf/feta-schrift.mf (draw_very_long_fermata): Simplified to use less points. ("Flageolet"): Use `draw' again in mf mode to have good pixel dropout control. ("Varied Coda"): Use `draw_block'. (draw_comma): Fix typo. (draw_arpeggio_arrow): Use `draw' also in mf mode to have good pixel dropout control. * mf/feta-slag.mf ("upprall", "downprall", "lineprall"): Fix start position of bow. * mf/feta-timesig.mf (draw_C): Reduce bulb size for smaller design sizes. * mf/feta-toevallig.mf (remember_pic): New variable, used for testing. (draw_meta_sharp): Much simplified. ("Sharp", "1/2 Sharp", "3/4 Sharp"): Don't rotate but shift. * mf/feta-test-generic.mf: Include all files as in feta-generic.mf. 2005-01-13 Mats Bengtsson * Documentation/user/notation.itely (Ancient rests): Fix typo (thanks Anthony) 2005-01-13 Jan Nieuwenhuizen * scm/auto-beam.scm (score-override-auto-beam-setting): New function. * lily/main.cc (setup_paths): Add cff. * mf/GNUmakefile (foe): Include actual target %.cff. (INSTALLATION_OUT_SUFFIXES): Install CFF and SVG fonts too. 2005-01-10 Han-Wen Nienhuys * lily/include/lily-lexer.hh (class Lily_lexer): lose hungarian _b suffix for main_input_b_. * scm/music-functions.scm (toplevel-music-functions): precompute music lengths for music expressions. 2005-01-11 Nicolas Sceaux * lily/include/input.hh (class Input): new `end_' slot for end of input. Renamed defined_str0_ to start_. * lily/input.cc (Input): Add Input::Input (Input const &) and remove Input::Input (Source_file*, char const *). Use the new slots. (set_location): method used by bison to propagate input locations (YYLLOC_DEFAULT). (end_line_number, end_column_number, step_forward): new methods * lily/input-scheme.cc (ly:input-both-locations): new function, similar to ly:input-location, but also return the end line and column. * lily/include/includable-lexer.hh: * lily/includable-lexer.cc: * lily/include/lily-lexer.hh (class Lily_lexer): * lily/lily-lexer.cc (add_lexed_char): Move add_lexed_char from Includable_lexer to Lily_lexer, in order to update lexloc (the yylloc), a new slot of Lily_lexer. (here_input, LexerError): simplify by using the lexloc slot (aka yylloc) * lily/lexer.ll: #define yylloc to use input locations (it may be useless here?). Fixed the #embedded_scm rule (step the location forward in order to skip the sharp sign before parsing the scheme expression) * lily/include/lily-parser.hh (class Lily_parser): * lily/lily-parser.cc: Remove push_spot(), pop_spot() and here_input() (parser_error): overload for more precise locations of errors. * lily/parser.yy (YYLTYPE): set location type to Input (YYLLOC_DEFAULT): use Input::set_location() (yylex): add the YYLTYPE* location parameter. Clean push_spot()/pop_spot()/here_input(), and use @$, @1, etc. Give an Input parameter to THIS->parser-error() for more accurate messages. 2005-01-10 Han-Wen Nienhuys * stepmake/aclocal.m4: do NDEBUG for optimizing builds. * lily/include/beam.hh (DEBUG_QUANTING): performance: only switch on BEAMQUANTING for non-NDEBUG builds. * lily/stem.cc (head_count): performance: avoid String::String() inside oft called function. 2005-01-09 Graham Percival * Documentation/user/examles.itely: attempted fix for broken string quartet template. * Documentation/user/notation.itely: remove unnecessary broken link. 2005-01-09 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.5.7 2005-01-09 Jan Nieuwenhuizen * config.make.in (METAFONT): Append -progname=mf, fixes use with mf-nowin for teTeX-3.0. Backportme. * scm/output-svg.scm (utf8-string): New function. * scm/output-gnome.scm (utf8-string): New function. (otf-name-mangling): Remove. * lily/pango-font.cc (Pango_font): Use font string iso font filename for utf8-text. * buildscripts/gen-emmentaler-scripts.py: Remove designsize from name. 2005-01-08 Graham Percival * Documentation/user/notation.itely: add info about Staff.extraNatural = ##f in Pitches section. Also fixed some minor issues in the Vocal music section. 2005-01-08 Han-Wen Nienhuys * scm/output-ps.scm (white-text): comment out Helvetica font, which is broken for my GS install. * lily/pango-font.cc (pango_item_string_stencil): use ink_rect, which provides a tighter bbox. * scm/define-grobs.scm (all-grob-descriptions): remove all extra-offsets from definitions. 2005-01-08 Erlend Aasland * scm/output-lib.scm: Rename guitar-tunings to guitar-tuning and add tuning for 4-string bass and some common 4/5-string banjo tunings. New function (four-string-banjo) turns a 5-string tuning into a 4-string tuning. New function (fret-number-tablature-format-banjo) computes correct fret numbers on 5-string banjos. * ly/engraver-init.ly: Default stringTunings = #guitar-tuning Add beam correction to TabVoice. * scm/define-grobs.scm: Adjust notehead offset. Print fret numbers using bold font; makes tabs more readable. 2005-01-08 Han-Wen Nienhuys * lily/font-select.cc (get_font_by_design_size): don't make Modified_font_metric; this causes trouble, since we don't know the font magnification from inside Pango_font::text_stencil() * lily/all-font-metrics.cc (find_pango_font): take magnification argument. * Documentation/user/notation.itely (The Lyrics context): comment out broken {Small ensembles} link. * scm/framework-svg.scm (output-framework): change calling convention. * lily/object-key-dumper-scheme.cc: new file. * lily/object-key-undumper-scheme.cc: new file. * lily/tweak-registration-scheme.cc: new file. * lily/pango-select.cc (symbol_to_pango_variant): init local variable. * Documentation/user/examples.itely (String quartet): uncomment broken example. * lily/font-config.cc: new file. 2005-01-08 Jan Nieuwenhuizen * scm/output-svg.scm: * scm/output-gnome.scm: s/bigcheese/emmentaler. * lily/score-engraver.cc (MUSIC_FONT): Use emmentaler20. 2005-01-07 Jan Nieuwenhuizen * lily/general-scheme.cc (LY_DEFINE): Use snprintf (WAS: sprintf). Add headers. * lily/GNUmakefile (general-scheme.o): Add version.hh dependency. 2005-01-07 Han-Wen Nienhuys * mf/GNUmakefile (debian-mirror): rename bigcheese to emmentaler. * lily/include/main.hh: lose _b hungarian suffixes for global variables. * lily/include/lily-guile-macros.hh: new file. * lily/pango-select-scheme.cc (LY_DEFINE): new file. * lily/general-scheme.cc: new file. * lily/font-select.cc (get_font_by_design_size): retrieve PangoFont for (designsize . "pango-descr") entries. * lily/lily-parser-scheme.cc: new file. * lily/output-def-scheme.cc: new file. * lily/paper-book-scheme.cc: new file. * lily/duration-scheme.cc (LY_DEFINE): new file. * lily/pitch-scheme.cc: new file. * scm/font.scm (add-cmr-fonts): use real dimens in font selection. 2005-01-07 Han-Wen Nienhuys * lily/dimensions.cc (LY_DEFINE): add ly:{inch,cm,mm,bp,pt}. 2005-01-06 Graham Percival * Documentation/user/notation.itely: minor editing. * Documentation/user/changing-defaults: minor editing. * Documentation/user/examples.itely: add template for string quartet part extraction; demonstrates tag. 2005-01-06 Erlend Aasland * Documentation/user/notation.itely: documents format-mark-box-letters and format-mark-box-numbers * scm/define-context-properties.scm: change comment. 2005-01-06 Han-Wen Nienhuys * scm/framework-ps.scm (output-classic-framework): new function: dump systems as separate .eps files (without fonts) and write a single collecting .tex file. 2005-01-05 Mats Bengtsson * Documentation/user/notation.itely (Setting simple songs): Correct several errors in the equivalent formulation of \addlyrics. (The Lyrics context): Corrected link to the SATB example. 2005-01-05 Han-Wen Nienhuys * scm/lily.scm (completize-formats): new function (postprocess-output): new function * lily/paper-book.cc (classic_output): change calling convention. Give basename as first argument. remove Paper_book::post_processing(). * lily/lily-guile.cc (LY_DEFINE): ly:output-backend, new function. 2005-01-04 Han-Wen Nienhuys * lily/paper-outputter.cc (LY_DEFINE): new function ly:outputter-close. * lily/main.cc: change --format,-f to --backend,-b * lily/include/main.hh: rename format to backend. * scm/translation-functions.scm (format-mark-box-numbers): add. patch by Erlend Aasland 2005-01-03 Han-Wen Nienhuys * lily/pango-font.cc (text_stencil): dump string as (utf-8-string FONTDESC UTF8) for use in -f gnome, -f svg. 2005-01-03 Jan Nieuwenhuizen * configure.in (gui_b): Remove handy developer-only PKG_CONFIG_PATH settings that cater for Jan-and-Han-Wen ~/usr/pkg/ CVS source installations (but break other non-default but correct PKG_CONFIG_PATH setups), as this is no longer developer-only. * SConstruct: * ps/GNUmakefile (INSTALLATION_FILES): teTeX-3.0 compatibility (backportme). * GNUmakefile.in: teTeX-3.0 compatibility (backportme). 2005-01-03 Werner Lemberg Prepare glyph shapes for mf2pt1 conversion. * mf/feta-accordion.mf (accreg_pen): Removed. No longer used. (accDiscant, accFreebase, accStdbase): Replace `draw' with `penstroke'. (accDot): Use `drawdot'. (accBayanbase): Replace `draw' with `draw_gridline'. (print_penpos): Moved to feta-macros.mf. (accOldEE): Replace `filldraw' with `penstroke'. Replace `draw' with `penstroke' and `drawdot'. * mf/feta-banier.mf: Code clean-up. ("grace dash (up)", "grace dash (down)"): Replace `draw' with `fill'. * mf/feta-bolletjes (draw_cross): Remove call to `labels'. * mf/feta-eindelijk.mf (draw_rest_bulb, draw_eigth_rest): Add paremeter to control drawing of labels. Update all callers. * mf/feta-klef.mf (draw_c_clef): Use `&' not `..' to connect paths. (new_bulb): Return a bulb as a single path. To do that, it now takes some more parameters. Updated all callers. (draw_gclef): Major clean-up. `draw' has been replaced with `penstroke', unnecessary outlines have been removed. Remove (unused) gnome-canvas code. * mf/feta-macros.mf (print_penpos): New macro (from feta-accordion.mf). Other minor fixes. * mf/feta-pendaal.mf ("Pedal asterisk"): Use `undrawdot'. ("Pedal dot"): Use `drawdot'. (draw_pedal_P): Add parameter to control drawing of labels. Update all callers. Fix shape at top. (draw_pedal_e): Add parameter to control drawing of labels. Update all callers. (draw_pedal_d): Add parameter to control drawing of labels. Update all callers. Revert drawing direction. * mf/feta-schrift.mf (draw_fermata): Use single path. (draw_short_fermata): Replace `filldraw' with `fill'. (draw_long_fermata, draw_very_long_fermata): Replace calls to `draw_rounded_block' with a single path. ("Thumb"): Draw full circle instead of mirroring segments. (draw_accent): New macro. ("> accent", "espr"): Use it. (draw_marcato): Replace `filldraw' and `draw' with `fill'. ("open (unstopped)"): Draw full circle instead of mirroring segments. (draw_vee): Removed. ("Upbow"): Use `draw_accent' instead of `draw_vee'. ("Downbow"): Replace calls to `draw_rounded_block' with a single path. ("Trill (`tr')"): Replace overlapping loop drawn with `draw' with partial pieces drawn with `fill' -- these do still overlap with the stem of the `t' but just once, not multiple times so that fontforge can handle it gracefully. Change other parts of the glyph so that fontforge's overlapping algorithm reliably works. (draw_heel): Replace `draw' with `fill'. (draw_toe): Use `draw_accent' instead of `draw_vee'. ("Flageolet"): Replace `draw' with `penstroke'. ("Segno"): Replace `filldraw' with `penstroke'. Replace `draw' with `drawdot'. ("Coda"): Replace `fill' with `penstroke', using a single path. ("Varied Coda"): Use less overlapping paths. (draw_arpeggio_arrow): Replace `filldraw' with `fill', using a single path. * mf/feta-slag.mf (draw_trillelement): Put `clearxy' outside of group to better control the `labels' command. Rename argument to `offset' and use it actually. Update all callers. Replace `filldraw' with `fill'. ("mordent", "prallmordent", "upmordent", "downmordent", "lineprall"): Replace `draw' with `draw_gridline'. ("upprall", "downprall"): Replace `draw' with `fill'. * mf/feta-timesig.mf: Formatting. * mf feta-toevallig.mf (draw_meta_flag): Move code to draw labels to... ("Flat"): Here. (draw_paren): Move code to draw labels to... ("Right Parenthesis"): Here. 2005-01-02 Graham Percival * Documentation/user/notation.itely: add example of \setTextDecresc and \setTextDim. 2005-01-02 Tatsuya Ono * scm/define-markup-commands.scm : fix glyph-strings of accidentals and \note-by-number 2005-01-01 Han-Wen Nienhuys * VERSION: 2.5.6 released. * ps/lilyponddefs.ps: put mm -> pt scaling in here. * input/regression/new-markup-scheme.ly: oops. font-family=music -> font-encoding fetaMusic. * lily/main.cc: put default to PS. * lily/tfm.cc: idem. * lily/afm.cc: idem. * lily/include/modified-font-metric.hh (struct Modified_font_metric): remove coding_scheme() method. * input/mutopia/F.Schubert/morgenlied.ly: convert to utf8 * scripts/convert-ly.py (conv): crash on encountering \encoding. * input/les-nereides.ly: convert to utf8 * lily/modified-font-metric.cc (text_dimension): idem. * lily/parser.yy (TODO): idem. * lily/include/lily-lexer.hh (class Lily_lexer): idem. * lily/lexer.ll: remove encoding * scm/framework-ps.scm (output-variables): separately scale the page to mm * lily/pango-font.cc (Pango_font): fix scaling. * lily/font-metric.cc (design_size): design_size returns a dimension now as well. 2004-12-31 Han-Wen Nienhuys * mf/GNUmakefile ($(outdir)/%.otf-table): use findstring. Fixes brace generation. * lily/text-metrics.cc (LY_DEFINE): use scm_c_make_hash_table(). 2004-12-30 Jan Nieuwenhuizen * mf/GNUmakefile (INSTALLATION_OUT_SUFFIXES): Do not try to install unbuildable Fontmap and Fontmap.lily (Simon Aridis-Lang). 2004-12-30 Han-Wen Nienhuys * mf/GNUmakefile ($(outdir)/%.otf-table): include parmesan20.lisp in first run as well. * scm/paper.scm (layout-set-staff-size): use text-font-size in dimension less points (ie. 12 = 12 point) * lily/pango-select.cc (select_pango_font): use find_scaled_font(). * lily/all-font-metrics.cc (find_pango_font): set description_ * lily/pango-font.cc (text_stencil): export size as well. (text_stencil): fix scaling and extents box. 2004-12-29 Han-Wen Nienhuys * Documentation/topdocs/NEWS.texi (Top): add -f texstr * Documentation/user/invoking.itely (Invoking lilypond): document texstr * scripts/convert-ly.py (conv): add ancient rules. * scm/clef.scm (c0-pitch-alist): replace - with . * scripts/lilypond-book.py (process_snippets): add texstr support. * scm/framework-texstr.scm (header): change extension to .textmetrics * lily/lily-parser.cc (parse_file): do try_load_text_metrics for -f tex. * lily/text-metrics.cc: new file. (try_load_text_metrics): new function * lily/include/text-metrics.hh: new file. 2004-12-28 Han-Wen Nienhuys * lily/include/lily-guile.hh (ly_lily_module_constant): rename ly_scheme_function to ly_lily_module_constant. * lily/modified-font-metric.cc (text_dimension): try lookup_tex_text_dimension() first. * lily/tfm.cc: new function ly:load-text-dimensions 2004-12-27 Han-Wen Nienhuys * scm/output-texstr.scm (text): use \lilygetmetrics * scm/framework-texstr.scm (header): dump in new format. * tex/lilypond-tex-metrics: new file. 2004-12-27 Jan Nieuwenhuizen * lily/pango-font.cc (text_stencil): Quick try at glyph->charcode mapping. (index_to_charcode): New method. * scm/output-ps.scm (glyph-string): * scm/output-gnome.scm (glyph-string): Add FONT parameter. 2004-12-26 Jan Nieuwenhuizen * scm/output-gnome.scm (FIXME-glyph-string): New function. Cannot implement fully, need FONT to get to charcode. * scm/lily.scm (ly:all-stencil-expressions): Add glyph-string. * scm: Cleanups. * Documentation/user/changing-defaults.itely: Fix internalsrefs {Tunable context properties}, {All layout objects}, {Music definitions}. 2004-12-25 Han-Wen Nienhuys * VERSION: release 2.5.5 * lily/main.cc: use TeX as default output format. * flower/file-path.cc (find): try to open directly as well, so we find absolute path files. * lily/pango-select.cc: new file. * scm/framework-ps.scm: remove all encoding code. load pfb/pfa for PangoFont too. * lily/lily-guile.cc (ly_chain_assoc_get): new function. 2004-12-22 Werner Lemberg Prepare glyph shapes for mf2pt1 conversion. * mf/feta-toevallig.mf ("Double Sharp"): Minor path fix. * mf/feta-bolletjes.mf (penposx): New auxiliary macro. (define_triangle_shape): Use it to replace `draw' with `fill' and `unfill'. Update all callers. (draw_slash): Replace `filldraw' with `fill'. Update all callers. (draw_cross): Ditto. ("X-Circled notehead"): Replace `draw' with `fill' and `unfill'. Use penrazor for better conversion with mf2pt1. (generic_draw_solfa_note_shape, draw_solfa_note_shape, draw_solfa_quarter_note_shape, triangle): Removed. Unused. (draw_do_head, draw_re_head, draw_mi_head, draw_fa_head, draw_la_head, draw_ti_head): Replace `filldraw' with `fill'. Update all callers. 2004-12-24 Han-Wen Nienhuys * lily/paper-book.cc (output): revert: only allow a single output format. * lily/include/pango-font.hh: new file. * lily/pango-font.cc: new file. * lily/font-metric.cc (text_stencil): new routine * lily/all-font-metrics.cc (find_pango_font): new routine. * lily/include/font-metric.hh (struct Font_metric): add text_stencil() * configure.in (PKG_CONFIG_PATH): require PANGO_FT2 2004-12-22 Werner Lemberg Prepare glyph shapes for mf2pt1 conversion. * mf/feta-macros.mf, mf_feta-eindelijk.mf: Some formatting. * mf/feta-toevallig.mf: Formatting. (draw_meta_sharp): Modify path to replace `filldraw' with `fill'. ("Natural"): Fix paths to allow better postprocessing. (draw_meta_flat): Use `z3l' as additional point in path to get better conversion with mf2pt1. Other minor cleanups. ("3/4 Flat"): Add auxiliary points and modify path to replace `draw' with `fill'. ("Double Sharp"): Mirror path segments instead of picture elements to get a single outline. Modify path to replace `filldraw' with `fill'. 2004-12-22 Graham Percival * input/test/unfold-all-repeats.ly: added file back. * Documentation/user/notation.itely, Documentation/user/programming-interface.itely Documentation/user/changing-defaults.itely: fixed misc broken links to input/test/ files. 2004-12-22 Jan Nieuwenhuizen * tex/texinfo.tex: Update. We should not be distributing this, but since we do, use latest version. * Documentation/user/macros.itexi: Comment-out \fetaflat, \fetasharp. Fixes make web. FIXME: make usable (compatible?) TeX macros for feta glyphs. 2004-12-22 Graham Percival * Documentation/user/changing-defaults.itely: fix index for set. * Documentation/user/converters.itely: added convert-ly bugs list from CVS. 2004-12-21 Jan Nieuwenhuizen * python/lilylib.py (setup_environment): Set GS_FONTPATH, GS_LIB to empty. Fixes make web, using gs-gpl-8.01. In fact, gs-afpl-8.50 has more trouble with make web (ie, uses *a lot* more resourses; 3x MAXSIZE, 4x MAXRSS, 1.5x user). * mf/GNUmakefile (pfa_warning): Use less broken check. * python/lilylib.py (setup_environment): Remove cruft from GS_FONTPATH. * configure.in: Bump mftrace requirement to 1.1.1. 2004-12-20 Jan Nieuwenhuizen * scm/output-svg.scm (beam): Use polygon. * scm/lily-library.scm: Bugfix. * Documentation/user/invoking.itely (Invoking lilypond): Bugfix. * mf/GNUmakefile (ALL_GEN_FILES): Remove unbuildable Fontmap.lily. 2004-12-19 Werner Lemberg Prepare glyph shapes for mf2pt1 conversion. * mf/feta-eindelijk: Some formatting. (multi_rest_x, multi_beam_height): Removed. Unused. ("Quarter rest"): Use `intersectiontimes' to create a single outline. (rest_crook): Removed. Unused. (draw_rest_bulb): Return path (without filling). Update callers. Simplified. (draw_eighth_rest, "16th rest", "32th rest", "64th rest", "128th rest"): Simplify `pat'. Create single outline. 2004-12-19 Jan Nieuwenhuizen * mf/GNUmakefile (ALL_GEN_FILES): (INSTALLATION_OUT_SUFFIXES): Remove unbuildable fonts.scale. * scm/output-svg.scm (polygon, draw-line, dashed-line): New function. 2004-12-19 Han-Wen Nienhuys * scm/output-texstr.scm (placebox): add routine * VERSION (PACKAGE_NAME): release 2.5.4 * scm/framework-texstr.scm (output-framework): new file. * scm/output-texstr.scm: new file. Collect (TEXT . ) calls for TeX processing. * Documentation/user/invoking.itely (Invoking lilypond): add SVG * stepmake/stepmake/metafont-rules.make: make single SVG/PFA/PFB rule. * configure.in (gui_b): bump mftrace requirement to 1.1.0 * mf/feta-bolletjes.mf (triangle): add s to 0triangle. * mf/GNUmakefile (ALL_GEN_FILES): make SVG files too. 2004-12-19 Jan Nieuwenhuizen * scm/framework-svg.scm (dump-page): Implement landscape. 2004-12-18 Jan Nieuwenhuizen * lily/main.cc (setup_paths): Add svg to search path. * scm/output-svg.scm: * scm/framework-svg.scm: Add pageSet. Update. (dump-fonts): New function. (output-framework): Use it. * mf/GNUmakefile: * buildscripts/gen-bigcheese-scripts.py: Also generate SVG font. 2004-12-18 Han-Wen Nienhuys * tex/lilyponddefs.tex: comment out new ifpdf code. 2004-12-17 Jan Nieuwenhuizen * GNUmakefile.in: * SConstruct (symlink): Replace afm by otf. * scm/framework-gnome.scm (gnome-main): Remove invocation of ly:pango-add-afm-decoder. * lily/lily-guile.cc ("ly:pango-add-afm-decoder"): Build fix: Remove. 2004-12-17 Han-Wen Nienhuys * scm/output-ps.scm (new-text): don't access t glyph for getting space dimension. * ly/init.ly: warn about \version * lily/lexer.ll: set version-seen? 2004-12-17 Jan Nieuwenhuizen * scm/output-svg.scm (string->entities): Update. 2004-12-17 Han-Wen Nienhuys * lily/main.cc (setup_paths): replace afm by otf for path. * lily/pangofc-afm-decoder.cc: remove. * lily/include/pangofc-afm-decoder.hh: remove. * scm/framework-scm.scm (output-framework): new file. * mf/GNUmakefile: remove SAUTER_FONTS. remove SVG/sodipodi hacks. * scm/lily-library.scm (stderr): move stderr. * mf/GNUmakefile: remove AFM support. * buildscripts/mf-to-table.py (base): remove AFM support. * lily/open-type-font.cc (design_size): use design_size 2004-12-17 Pedro Kroger * lily/font-metric.cc (LY_DEFINE): Fix the docstring. 2004-12-17 Jan Nieuwenhuizen * mf/GNUmakefile: Generate combined aybabtu info. * mf/aybabtu.pe.in (i): Load it. * scm/framework-tex.scm (otf-font-load-command): Bugfix: subfonts are not symbols. * lily/include/open-type-font.hh (count): New method. * mf/aybabtu.pe.in: Typo. * Documentation/user/out/lilypond-internals.nexi (Scheme functions): Typo. * lily/include/guile-compatibility.hh (SCM_HASHTABLE_P): Add compat. 2004-12-17 Han-Wen Nienhuys * buildscripts/gen-bigcheese-scripts.py (i): use symbols for subfonts. * scm/output-tex.scm (named-glyph): new function. This fixes TeX output. * scm/framework-tex.scm (otf-font-load-command): load subfonts. (tex-font-command-raw): new function. * lily/include/virtual-font-metric.hh (Module): remove file * lily/virtual-font-metric.cc (Module): remove file. * lily/open-type-font.cc (LY_DEFINE): ly:otf-font-glyph-info (get_indexed_char): read bbox from lily table if present. 2004-12-16 Han-Wen Nienhuys * mf/GNUmakefile ($(outdir)/aybabtu.subfonts): rule for aybabtu.subfonts * mf/feta-beugel.mf (y): don't number consecutively, instead, use global glyphname. Enables more than 64 glyphs in the OTF. 2004-12-16 Jan Nieuwenhuizen * scm/font.scm (add-music-fonts): Load aybabtu iso all separate braces. * lily/open-type-font.cc (design_size): Use 12 as default for design size. * mf/aybabtu.pe.in: New file. Merge all our braces. * mf/GNUmakefile: Generate aybabtu. * tex/lilyponddefs.tex: teTeX 3.0 pdfetex fix. 2004-12-14 Jan Nieuwenhuizen * scm/lily-library.scm (char->unicode-index): Remove. * scm/output-gnome.scm (text): Bugfix for plain string input. Updates. * scm/output-svg.scm (svg-font): Add weight to font selection. 2004-12-14 Mats Bengtsson * Documentation/topdocs/INSTALL.texi (Top): Point to buildscripts/out/clean-fonts instead of buildscripts/clean-fonts.sh. 2004-12-13 Graham Percival * input/regression/figured-bass.ly: attempt to clarify text. * Documentation/user/notation.tely: add cindex for tag, attempt to add figured bass example. * Documentation/user/changing-defaults: basic editing. 2004-12-13 Han-Wen Nienhuys * buildscripts/gen-bigcheese-scripts.py (i): load .subfonts table. * lily/open-type-font.cc (LY_DEFINE): new function ly:font-sub-fonts * lily/include/font-metric.hh (struct Font_metric): new method sub_fonts() * lily/vaticana-ligature-engraver.cc (transform_heads): replace . with - in add.stem. 2004-12-13 Jan Nieuwenhuizen * scm/encoding.scm (coding-alist): Fix encodings for fetaNumber and fetaDynamic. * lily/rest.cc (glyph_name): Change - to . . * scm/output-gnome.scm (text): Hello world, again. * scm/output-svg.scm (named-glyph): New function. Hello world! * lily/modified-font-metric.cc (index_to_charcode): New method. * lily/include/font-metric.hh (index_to_charcode): New function. * lily/font-metric.cc (ly:font-glyph-name-to-charcode): Use it in new function. (ly:font-glyph-to-index): Remove. 2004-12-12 Han-Wen Nienhuys * lily/open-type-font.cc (make_index_to_charcode_map): new method. * mf/feta-autometric.mf (code): remove tex name from fet_beginchar. * lily/open-type-font.cc (load_scheme_table): new function * lily/dots.cc (print): replace - * lily/open-type-font.cc (attachment_point): new function. (load_table): read LILC table * buildscripts/gen-bigcheese-scripts.py (Module): new file. Generate FF scripts. * mf/feta-din10.mf: idem. * mf/feta-nummer10.mf: remove mf files. * mf/feta-alphabet.mf (dynamic_design_size): merge din and number font. 2004-12-12 Jan Nieuwenhuizen * lily/lily-guile.cc: Use scm_from_locale_stringn. * lily/include/guile-compatibility.hh (scm_from_locale_stringn): Add compatibility. 2004-12-12 Han-Wen Nienhuys * lily/open-type-font.cc (get_indexed_char): scale metrics by design-size and units_per_EM. * mf/bigcheese.pe.in: set PUA codepoints before loading din & nummer. 2004-12-12 Jan Nieuwenhuizen * mf/bigcheese.pe.in (i): Map to 0xe000 (PUA) for testing, which does not crash fontforge. * scm/lily-library.scm (char->unicode-index): Hack to map onto PUA. 2004-12-12 Han-Wen Nienhuys * scm/framework-ps.scm (ps-embed-cff): new function. * lily/lily-guile.cc (LY_DEFINE): make ly:gulp-file binary proof. 2004-12-12 Werner Lemberg * mf/bigcheese.pe.in: Add PUA mapping. Don't create Type 42 but bare CFF font. 2004-12-12 Jan Nieuwenhuizen * scm/output-gnome.scm (placebox): Hackery to get bigcheese symbols within canvas boundaries. * mf/merge.pe.in: Set font names, version, license GPL. * make/substitute.make: Add FONTFORGE. * config.make.in (FONTFORGE): Add. * configure.in (gui_b): Use PATH_PROG for fontforge. 2004-12-11 Graham Percival * scm/define-markup-commands.scm: add baseline-skip to info about \column. 2004-12-11 Jan Nieuwenhuizen * lily/font-metric.cc (ly:font-get-glyph-index): New function. * scm/output-gnome.scm (named-glyph): Use it. * scm/lily.scm (ly:all-stencil-expressions): Add named-glyph. * flower/string.cc (substitute_char): Rename, rewrite, modify this. (upper_string, lower_string, reverse_string): Remove. * configure.in (fontforge): Reinstate version check. * ly/engraver-init.ly: Fix clef glyph names. * lily/time-signature.cc (special_time_signature): Fix fraction glyph names. 2004-12-11 Han-Wen Nienhuys * mf/merge.pe: new file. * lily/freetype.cc: new file. * lily/include/open-type-font.hh (class Open_type_font): new file. * lily/include/freetype.hh: new file. * lily/open-type-font.cc: new file. * lily/all-font-metrics.cc (find_otf): new function. 2004-12-11 Jan Nieuwenhuizen * lily/time-signature.cc (special_time_signature): Fix. * configure.in (PKG_CONFIG_PATH): Remove stray `i'. Check for GTK2 before checking for pango. Fixes -fgnome. * lily/font-metric.cc (LY_DEFINE): Also rename C name to match Scheme name. * scm/define-markup-commands.scm: * scm/safe-lily.scm: Bugfix: ly:font-by-name. * configure.in: Require makeinfo 4.7 (needed for @ifdocbook). * stepmake/aclocal.m4 (STEPMAKE_GET_VERSION): Grok fontforge-like date versions. Fixes configure. (STEPMAKE_CHECK_VERSION): Support optional actual program version argument. 2004-12-10 Han-Wen Nienhuys * buildscripts/mf-to-table.py (write_ps_encoding): write real names in .enc * lily/*.cc: use '.' iso. '-' for separating glyph name elements. 2004-12-09 Graham Percival * Documentation/user/changing-defaults.itely: add info about make-dynamic-script * Documentation/user/notation.itely: add link in dynamics to section about make-dynamic-script. 2004-12-09 Christian hitz * lily/lily-guile.cc: change MACOS_X to __APPLE__ 2004-12-09 Han-Wen Nienhuys * buildscripts/mf-to-table.py (parse_logfile): use . for concatting name and group. (parse_logfile): use M for Minus (negative.) * lily/include/type-swallow-translator.hh (DECLARE_EVENT_SWALLOWER): ENTER_DESCRIPTION -> ADD_TRANSLATOR * lily/*.cc: cosmetics around = sign. * lily/paper-column.cc (Paper_column): copy rank_. This fixes lyric spacing on the penultimate column. 2004-12-05 Christian Hitz * configure.in: * lily/accidental-placement.cc: * lily/bar-line.cc: * lily/beam-concave.cc: * lily/beam-quanting.cc: * lily/beam.cc: * lily/bezier-bow.cc: * lily/bezier.cc: * lily/break-align-interface.cc: * lily/custos.cc: * lily/dimension-cache.cc: * lily/dot-column.cc: * lily/font-metric.cc: * lily/font-select.cc: * lily/gourlay-breaking.cc: * lily/grob-property.cc: * lily/grob.cc: * lily/lily-guile.cc: * lily/line-spanner.cc: * lily/lookup.cc: * lily/lyric-extender.cc: * lily/lyric-hyphen.cc: * lily/mensural-ligature.cc: * lily/midi-def.cc: * lily/misc.cc: * lily/note-collision.cc: * lily/note-column.cc: * lily/note-head.cc: * lily/paper-outputter.cc: * lily/percent-repeat-item.cc: * lily/rest-collision.cc: * lily/side-position-interface.cc: * lily/simple-spacer.cc: * lily/slur-configuration.cc: * lily/slur-scoring.cc: * lily/slur.cc: * lily/spaceable-grob.cc: * lily/spacing-spanner.cc: * lily/spanner.cc: * lily/staff-symbol-referencer.cc: * lily/stem.cc: * lily/stencil.cc: * lily/system-start-delimiter.cc: * lily/system.cc: * lily/text-item.cc: * lily/tie.cc: * lily/tuplet-bracket.cc: * lily/vaticana-ligature.cc: Fix for MacOS X: use instead of beacause isinf/isnan is undefined in 2004-12-03 Mats Bengtsson * cygwin/lily-wins.py (stat): remove old flag -p when calling lilypond. 2004-12-02 Han-Wen Nienhuys * VERSION: release 2.5.3 2004-11-29 Arno Waschk * mf/feta-schrift.mf: added <>-like articulation mark as "espressivo" 2004-12-01 Han-Wen Nienhuys * scm/music-functions.scm (cue-substitute): voice counts start at 0. * lily/note-head.cc (internal_print): always try the "s" head if u/d not found. * scm/titling.scm (marked-up-headfoot): reinstate default tagline. 2004-11-29 Han-Wen Nienhuys * mf/parmesan-heads.mf (overdone_heads): typos. 2004-11-30 Nicolas Sceaux * lily/parser.yy (markup): in markups, { .. } without command before are also flattened, ie \line must be explicitely used. * Documentation/user/changing-defaults.itely: * Documentation/user/notation.itely: * input/wilhelmus.ly: * input/regression/instrument-name-markup.ly: * input/regression/markup-score.ly: * input/regression/new-markup-scheme.ly: * input/regression/new-markup-syntax.ly: * input/test/coriolan-margin.ly: use \line in markups where appropriate 2004-11-28 Nicolas Sceaux * scm/new-markup.scm (map-markup-command-list): helper function used in parser.yy to map markup commands on a markup list. * lily/parser.yy: get rid off < > in markups by treating { } as real lists. * lily/lexer.ll: remove < > from markup lexer mode. * scripts/convert-ly.py (conv): add rule for converting \markup < > to \markup { } * ly/titling-init.ly: * input/test/coriolan-margin.ly: * input/regression/new-markup-syntax.ly: * input/regression/new-markup-scheme.ly: * input/regression/multi-measure-rest-text.ly: * input/regression/markup-stack.ly: * input/regression/markup-score.ly: * input/regression/instrument-name-markup.ly: * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: * input/mutopia/R.Schumann/romanze-op28-2.ly: * input/mutopia/J.S.Bach/wtk1-fugue2.ly: * input/wilhelmus.ly: * Documentation/user/notation.itely: * Documentation/user/music-glossary.tely: * Documentation/user/changing-defaults.itely: change < > to { } in markups 2004-11-28 Han-Wen Nienhuys * lily/accidental-placement.cc (position_accidentals): shortcut if no accidentals to place. 2004-11-28 Nicolas Sceaux * scm/define-grob-properties.scm (all-user-grob-properties): fixed typo s/ly:dimension ?/ly:dimension?/ * input/regression/lily-in-scheme.ly: * input/regression/music-function.ly: * ly/spanners-init.ly (assertBeamSlope): * scm/music-functions.scm (def-grace-function): add the paper argument to music function definitions. 2004-11-28 Han-Wen Nienhuys * lily/moment.cc (LY_DEFINE): ly:moment-main-{denominator,numberator}, new function. * lily/score-engraver.cc (typeset_all): assign to column on basis of axis-group-parent-X setting. * lily/axis-group-engraver.cc (process_acknowledged_grobs): do add_element() on basis of axis-group-parent-Y setting. * lily/grob.cc: add axis-group-parent-{XY} properties. * input/regression/spacing-stick-out.ly: new file. * lily/simple-spacer.cc (add_columns): use binary search for setting column rods. Changes O(n^2) to O(n log(n)) for constructing spacing problem from columns. (add_columns): read allow-outside-line to make sure no texts stick out. (solve): Simple_spacer::is_active() only determines satisfies_constraints_ for non-ragged typesetting. * lily/simultaneous-music.cc (to_relative_octave): only set old_relative_used if return pitch actually changed. * scm/define-context-properties.scm (all-user-translation-properties): change to match implementation. * python/lilylib.py: Replace re.match by re.search and adds "-c showpage" to the gs command line (Johannes Schindelin) * scm/framework-ps.scm (output-preview-framework): sanitize bbox before processing. Prevents crash when inf is in the extent. * scm/define-markup-commands.scm (note-by-number): add "s" to "noteheads-" glyphname. * lily/parser.yy (Generic_prefix_music): supply parser argument to music function as well. 2004-11-26 Han-Wen Nienhuys * VERSION: release 2.5.2 * Documentation/user/changing-defaults.itely (Creating titles): add breakbefore variable. * lily/paper-book.cc (set_system_penalty): new function. Set penalty_ based on breakBefore setting * lily/context-specced-music-iterator.cc (construct_children): interpret special context id $uniqueContextId * lily/context.cc (create_unique_context): new method. Move creation of unique (\new) contexts into interpreting phase. This makes foo= \new Staff .. << \foo \foo >> produce 2 staves. * scm/define-music-properties.scm (all-music-properties): add quoted-voice-direction * ly/music-functions-init.ly: killCues function. * scm/music-functions.scm (cue-substitute): move creation of voice contexts further to the back. 2004-11-25 Werner Lemberg * tex/GNUmakefile ($(outdir)/latin1.enc): Replace `/minus' with `/hyphen' in encoding vector to get correct glyph name for EC fonts. 2004-11-24 Erik Sandberg * buildscripts/guile-gnome.sh: Fixed typo. 2004-11-23 Han-Wen Nienhuys * lily/lexer.ll: add < > to markup lexer mode (backportme) * scripts/abc2ly.py (dump_slyrics): add ord(). * lily/note-heads-engraver.cc (process_music): add shapeNoteStyles to regular engraver. 2004-11-22 Han-Wen Nienhuys * mf/feta-bolletjes.mf (triangle): rewrite solfa heads. 2004-11-22 Jan Nieuwenhuizen * scm/define-markup-commands.scm (fill-line): Typo. * buildscripts/guile-gnome.sh (GGVERSION): Build update for 2.7.96 and newer. 2004-11-22 Erik Sandberg * ly/dynamic-scripts-init.ly: Fixed typo. 2004-11-22 Han-Wen Nienhuys * mf/feta-bolletjes.mf (overdone_heads): cleanup triangle note-head, to have different attachment points for up and down. * mf/feta-bolletjes.mf: merge solfa heads into main note heads. * mf/feta-generic.mf (else): remove solfa. * mf/feta-bolletjes.mf (tishape): remove unicode test. * scm/define-context-properties.scm (all-user-translation-properties): add shapeNoteStyles property. * lily/shape-note-heads-engraver.cc (process_music): new file. * lily/event.cc (transpose): call Event::transpose() for transposing the tonic. 2004-11-21 Jan Nieuwenhuizen * scm/output-gnome.scm: Save some pointers about pango/fontconfig Unicode/OpenType and AFM. * lily/include/guile-compatibility.hh (scm_from_bool): Add. 2004-11-21 Han-Wen Nienhuys * lily/grob.cc (Grob): idem. Plugs mem leaks. * lily/context.cc (Context): unprotect key from ctor. * scm/stencil.scm (stack-lines): return empty-stencil if argument is '() (stack-stencils): idem. * Documentation/user/changing-defaults.itely (Creating titles): document new title layout options. * lily/parser.yy (lilypond_header_body): copy previous $globalheader if present. * lily/ly-module.cc (LY_DEFINE): rename ly:import-module to ly:module-copy * scm/page-layout.scm (marked-up-headfoot): remove old functions. * scm/titling.scm: remove old titling functions * lily/stencil.cc (translate): remove absolute dimension. * ly/titling-init.ly (oddFooterMarkup): new file. Generate titles via markup. * scm/page-layout.scm (marked-up-headfoot): create header/footer field from user-supplied markup * scm/define-markup-commands.scm (on-the-fly): new markup command. Enter SCM markup procedure directly in Scheme. (fromproperty): new markup command. Read markup from props argument. * scm/titling.scm (marked-up-title): create title via user-specified markup. * scm/define-markup-commands.scm (column): remove empty stencils from column. * lily/ly-module.cc (LY_DEFINE): use ly_module_lookup(). This does not have side-effect of creating variable stub. * lily/stencil-scheme.cc (LY_DEFINE): add ly:stencil-empty? 2004-11-21 Jan Nieuwenhuizen * scm/encoding.scm (coding-alist): * scm/font.scm (add-ec-fonts): * ly/paper-defaults.ly: Use actual name for EC fontencoding: Extended-TeX-Font-Encoding---Latin. * lily/side-position-interface.cc (general_side_position): Add actual offset to error message (avoid constant error messages). * lily/all-font-metrics.cc (find_font): Add "lm" to try-AFM-first block. * lily/font-select.cc (select_encoded_font) (get_font_by_mag_step, get_font_by_design_size): * lily/modified-font-metric.cc (Modified_font_metric): * lily/paper-def.cc (find_scaled_font): Add font_encoding parameter. * scm/encoding.scm (coding-alist): Add fetaDynamic. (read-encoding-file): Bugfix: do not require space after bracket. * scm/font.scm (add-cork-lm-fonts): Remove lmbxi8 and lmbxi14, these do not exist. 2004-11-20 Graham Percival * Documentation/user/notation.itely: added info about typesetting boxed bar numbers. 2004-11-20 Han-Wen Nienhuys * flower/interval.cc (T_to_string): gcc4 fixes. * scm/define-markup-commands.scm (fill-line): use stack-stencils. This fixes problems with putting already centered stencils in a line. * VERSION: release 2.5.1 * lily/bar-line.cc (get_staff_bar_size): add line thickness. 2004-11-19 Han-Wen Nienhuys * input/example-[1-3].ly: simplify. * lily/cluster-engraver.cc (try_music): react to busy-playing-event * scm/output-ps.scm (new-text): new function. Use glyphshow to show glyphs. * scm/encoding.scm (decode-byte-string): new function. * scripts/convert-ly.py (conv): add warning about set-global-staff-size. * Doxyfile: add. * scripts/convert-ly.py (conv): add raggedlastbottom rule (conv): warn for TextSpanner split. (conv): warn for textheight. 2004-11-19 Jan Nieuwenhuizen * GNUmakefile.in (install-WWW): Invoke install-info, so that when building the documentation, info with images are installed. (final-install): Fix description. Mention sourcing of login scripts (instead of running). 2004-11-18 Jan Nieuwenhuizen * Debian lmodern support. Note that LilyPond will issue warnings no such encoding: "FontSpecific" The font selection mechanism wants to get the encoding from the font itself, but the idea of lmodern is that it is usable with different encodings, ie, Lily should get the encoding from the font tree, rather than the font itself. This would require some more work. * configure.in: Test for and accept lmodern if EC fonts not found. * scm/framework-tex.scm (font-load-command): TeX font name mangling for latin1 encoded cork-lm fonts. (convert-to-ps): Load lm.map if available. * ly/paper-defaults.ly: Use cork-lm encoding if ec is not available. * scm/encoding.scm (coding-alist): Add cork-lm encoding. * scm/font.scm: Add header. Autoload cork-lm and ec fonts if available. * lily/kpath.cc (ly_kpathsea_find_file): Rename. Do not use path for absolute file name, that is silly. * lily/score-engraver.cc (initialize): * Documentation/user/GNUmakefile (local-install-info): Invoke install-info --remove first. * #include cleanup (Andreas Scherer). 2004-11-18 Heikki Junes * input/test/script-abbreviations.ly: fix typos. 2004-11-17 Werner Lemberg * python/lilylib.py (options_help_str): Support pretty-printing of newlines in fourth element of option description. * scripts/lilypond-book.py (option_definitions): Use new lilylib feature. Sort options. * Documentation/user/lilypond-book.itely: Finish update. 2004-11-17 Jan Nieuwenhuizen * Documentation/user/macros.itexi: Add comment about \command. * Documentation/user/lilypond.tely: * Documentation/user/lilypond-book.itely: Fix names of lilypond and lilypond-book nodes, so that `info lilypond' visits the manual at top level, and `info lilypond-book' visits the lilypond-book section. * Documentation/user/GNUmakefile (local-install-info): Fix rules and packager messages. * lily/pangofc-afm-decoder.cc: Update test. 2004-11-16 Jan Nieuwenhuizen * scm/lily-library.scm (char->unicode-index): New function. * scm/output-gnome.scm: * scm/output-svg.scm: Cleanup. Map custom fonts to PUA. * Proper naming of file name throughout; s/filename/file[-_]name/. * lily/modified-font-metric.cc ("ly:font-encoding"): New function. * lily/pangofc-afm-decoder.cc (pango_fc_afm_get_glyph): Map onto PUA. 2004-11-16 Werner Lemberg * scripts/lilypond-book.py: The Lord has commanded me to use only tabs for indentation. Your humble servant obeys. 2004-11-16 Jan Nieuwenhuizen * scm/output-svg.scm: Font fixes. Sodipodi now groks svg including font, if LilyPond-feta font is only feta font in path. * scm/output-gnome.scm (text): Revert to file name of font if font has no name. Fixes ec font selection. (char): Bugfix: do not utf8 twice. Fixes clefs. * scm/framework-svg.scm: * scm/output-svg.scm: New file. TODO: figure out how to do character by index in font. * scm/output-sodipodi.scm: Remove. * scm/output-ps.scm (stem): Remove. 2004-11-15 Jan Nieuwenhuizen * scm/output-gnome.scm (beam): New function. (slur): Round corners. (round-filled-box): Round corners. 2004-11-16 Han-Wen Nienhuys * scm/output-gnome.scm (beam): add function. (draw-line): new routine. (dashed-line): stub; call draw-line (polygon): new routine. 2004-11-15 Werner Lemberg * Documentation/user/lilypond-book.itely: Revise section on lilypond-book options. Other minor fixes. * scripts/lilypond-book.py: Change indentation to 4. Minor formatting. 2004-11-15 Han-Wen Nienhuys * lily/system.cc (apply_tweaks): new function. Run tweaks on all grobs that have tweaks specced. 2004-11-14 Heikki Junes * Documentation/user/sound-output.itexi: add code snippets for MIDI. 2004-11-14 Jan Nieuwenhuizen * lily/font-metric.cc (get_indexed_char_stencil): Bugfix: get actual char #, not 0 based index. * lily/system-start-delimiter.cc (staff_brace): Start at 65. * mf/feta-beugel.mf: Actually start at char #65. Add header. Warning: do make -C mf clean. * lily/context-property.cc: Compile fix. * scm/output-gnome.scm: Add ec-fonts-mftraced to ~/.fonts.conf. Grok ec-fonts, braces and dynamics. * scm/framework-gnome.scm (gnome-main): Register braces with pango. 2004-11-14 Han-Wen Nienhuys * lily/include/tweak-registration.hh: new file. * lily/tweak-registration.cc: new file. * scm/framework-gnome.scm (save-tweaks): use new key mechanism for saving tweaks. * scm/output-gnome.scm (text): comment dribble. 2004-11-14 Jan Nieuwenhuizen * lily/pangofc-afm-decoder.cc (main): Test more feta fonts. * scm/output-gnome.scm (bezier-sandwich): New function. Reset path-def before using. Fixes muchtomany slurs in wrong places bug. 2004-11-14 Han-Wen Nienhuys * lily/grob-scheme.cc (LY_DEFINE): add new function ly:grob-key. * lily/include/object-key-undumper.hh (Module): new file. * lily/object-key-undumper.cc (Module): New file. Deserialize keys. SCM bindings * lily/object-key-dumper.cc (Object_key_dumper): idem. Provide SCM bindings. * lily/include/object-key-dumper.hh (class Object_key_dumper): new file. Serialize object keys. * lily/object-key.cc (dump): new function. (as_scheme): new virtual function (undump): new function (undumpers): new table. * lily/include/global-context.hh (Context): take \score key upon init. * lily/object-key-dumper.cc (serialize_key): new file. * lily/include/object-key-dumper.hh (class Object_key_dumper): new file. * lily/lily-lexer.cc: remove \quote. * lily/lookup.cc (triangle): rewrite, obviating symmetric_x_triangle(). * lily/context.cc (Context): take key argument in ctor. (create_context): new function * lily/grob.cc (Grob): take key argument in ctor. * lily/lilypond-key.cc (do_compare): new file. * lily/object-key.cc (Object_key): new file. * lily/include/object-key.hh (class Object_key): new file. * lily/include/lilypond-key.hh (class Lilypond_context_key): new file. 2004-11-13 Graham Percival * Documentation/user/lilypond-book.itely: add small warning about noindent default in lilypond-book. * Documentation/user/converters.itely: add examples for convert-ly. * Documentation/user/examples.itely: change version string in templates to 2.4.0. 2004-11-12 Karl Hammar * GNUmakefile.in (local-WWW-post): `find ...` overflows the cmdline, use xargs instead (backportme) 2004-11-10 Andreas Scherer * Documentation/user/: Numerous fixes in the user manual. 2004-11-13 Han-Wen Nienhuys * lily/parser.yy (re_rhythmed_music): search music expression for context-id, surround by \new Voice if not found. Fixes: addlyrics-second-staff.ly * VERSION: 2.5.0 released. 2004-11-12 Jan Nieuwenhuizen * Documentation/index.html.in: Fix url to one big page. (backportme) * Documentation/user/GNUmakefile: Separate rules for split and unsplit html documents. Remove perl massaging. (backportme) 2004-11-11 Graham Percival * Documentation/user/lilypond-book.itely: add short warning about \lilypond{} in LaTeX docs. 2004-11-11 Jan Nieuwenhuizen * stepmake/aclocal.m4: Barf if kpathsea/kpathsea.h is not found. (backportme) * Documentation/topdocs/INSTALL.texi (ec-fonts-mtraced): Add version requirement. (backportme) * configure.in: Be explicit about old versions of ec-fonts-mtraced. (backportme) * lily/context-selector.cc (set_tweaks): New function. * lily/grob-selector.cc (set_tweaks): (Re)set hash table. Fixes web with -DTWEAK. * Documentation/user/introduction.itely (Automated engraving): Remove fragment option. Fixes web. * lily/context-property.cc (make_item_from_properties): * lily/context.cc (add_context)[TWEAK]: Tweak registration behind #ifdef. * scm/define-context-properties.scm (all-internal-translation-properties): Add tweakRank and tweakCount. * lily/grob.cc: * scm/define-grob-properties.scm (all-internal-grob-properties): Add tweak-rank and tweak-count. 2004-11-10 Jan Nieuwenhuizen * scm/output-gnome.scm (string->utf8-string, char->utf8-string): New function. (text): Use them. * scm/framework-gnome.scm (item-event): Add support from TLA. Support animated/opaque grob dragging tweaks. * buildscripts/guile-gnome.sh: Update. 2004-11-10 Mats Bengtsson * scm/define-grobs.scm (all-grob-descriptions): Added line-interface to the LigatureBracket object. 2004-11-10 Jan Nieuwenhuizen * scm/framework-gnome.scm (item-event): Support non-animated mouse dragging tweaks. * lily/lily-guile.cc (ly_to_string, ly_to_symbol): New function. * lily/context-selector.cc (store_context): New function. * lily/grob-selector.cc (register_grob)[TWEAK]: Apply tweak. (store_grob): New function. (identify_grob): Add Moment parameter. * lily/lily-parser.cc (parse_file)[TWEAK]: Read .ly.t file if it exists. * scm/framework-gnome.scm (save-tweaks): Write as alist. 2004-11-09 Jan Nieuwenhuizen * scm/framework-gnome.scm (item-event): Print grob id. (save-tweaks): New function. (tweak): New funtion. (item-event): Use it, bound to arrow keys. * lily/context-property.cc (make_item_from_properties): Register grob. * lily/context.cc (add_context): Register context. * lily/include/context-selector.hh: * lily/include/grob-selector.hh: * lily/context-selector.cc: * lily/grob-selector.cc: New file. 2004-11-08 Han-Wen Nienhuys * lily/slur.cc: add 'positions to interface * lily/main.cc: reinstate PS as standard output format. * scm/framework-tex.scm (output-preview-framework): print systems up to first non title system. * lily/grace-engraver.cc (start_translation_timestep): split scm_cadddr 2004-11-07 Han-Wen Nienhuys * lily/quote-iterator.cc (Module): remove old quote-iterator * scm/define-music-types.scm (music-descriptions): move NewQuoteMusic over QuoteMusic * Documentation/user/notation.itely (Formatting cue notes): use \cueDuring. * lily/new-quote-iterator.cc (quote_ok): new function. * input/regression/quote-cue-during.ly: new file. * input/regression/quote-grace.ly: new file. * scm/define-context-properties.scm (Module): change definition of graceSettings * lily/context-property.cc (Module): rename from translator-property.cc * lily/context.cc (context_name_symbol): new function * lily/grace-engraver.cc: new file. Set properties for grobs based on the grace-ness of now_moment(). * scm/music-functions.scm (add-grace-property): use list iso. vector for graceSettings remove set-{start,stop}-grace-properties. * lily/new-quote-iterator.cc (construct_children): set quote_outlet_ if no quoted-context-{id,type} specified. * scripts/convert-ly.py (conv): \quote -> \quoteDuring. * lily/parser.yy (command_element): remove \quote. * ly/music-functions-init.ly (location): add quoteDuring music function. * lily/lexer.ll: allow \encoding in lyrics as well. Remove optional semicolon. (backportme) 2004-11-06 Jan Nieuwenhuizen * python/GNUmakefile (STEPMAKE_TEMPLATES): Unset USER_LDFLAGS, no need to link to GUILE et al. 2004-11-06 Han-Wen Nienhuys * scm/define-music-properties.scm (all-music-properties): add quoted-context-type, quoted-context-id. * scm/lily.scm (type-check-list): new function. * scm/lily-library.scm: new file. Generic library routines. * lily/parser.yy (Generic_prefix_music): move typechecking out of parser. * ly/music-functions-init.ly: add quoteDuring function. * lily/include/music-iterator.hh (class Music_iterator): rename set_translator -> set_context * lily/parser.yy (Generic_prefix_music_scm): add MUSIC_FUNCTION_SCM_SCM_MUSIC * scm/lily.scm (sanitize-command-option): new function. (backportme) * scm/framework-tex.scm (header): sanitize TeX paper size. (backportme) 2004-11-06 Jan Nieuwenhuizen * elisp/lilypond-indent.el (LilyPond-indent-level): 2 is now standard. * tex/lilyponddefs.tex: If no inputencoding use latin1. (backportme) * scm/framework-tex.scm (font-load-command): Use T1 if no font-encoding set. (backportme) * scm/lily.scm (postscript->pdf): Remove .pdf file if it exists before converting. (backportme) * scm/framework-tex.scm (convert-to-dvi): Remove .dvi file if it exists before converting. (backportme) (convert-to-ps): Remove .ps file if it exists before converting. (backportme) * lily/lexer.ll: Remove extra progress newline, use present tense. * scm/paper.scm (paper-alist): public. * scm/framework-tex.scm (convert-to-ps): * scm/lily.scm (postscript->pdf): Do not leak papersizename into command line. 2004-11-06 Han-Wen Nienhuys * scm/lily.scm (ly:system): add > /dev/null 2>&1 . (backportme) * lily/recording-group-engraver.cc (derived_mark): mark now_events_. (backportme) 2004-11-05 Han-Wen Nienhuys * mf/GNUmakefile: use Fedora-3 in download link. (backportme.) * scm/framework-tex.scm (convert-to-dvi): use ly:system for invoking latex. (backportme.) * lily/stem.cc (off_callback): center stems for all rest stems. 2004-11-05 Werner Lemberg * Documentation/user/lilypond.tely: Add more guidelines for writing lilypond texinfo documents. 2004-11-05 Heikki Junes * Documentation/index.html.in: remove
. * THANKS: change 2.3 to 2.4. 2004-11-05 Jan Nieuwenhuizen * scm/output-gnome.scm: More fontconfig comment. 2004-11-05 Pedro Kroger * GNUmakefile.in ($(builddir)/share/lilypond-force): create the directory in $(builddir)/share according with PACKAGE_NAME defined in the VERSION file. 2004-11-04 Han-Wen Nienhuys * lily/beam.cc (rest_collision_callback): use local beam multiplicity. * input/regression/stem-stemlet.ly: new file. * lily/stem.cc (add_head): store rests as well. * scm/define-grob-properties.scm (all-user-grob-properties): add stemlet-length * lily/stem.cc: store rests as well. * input/regression/new-slur.ly: mention forcing. 2004-11-04 Werner Lemberg * Documentation/user/*: A new round of layout fixes and document structure cleanup. 2004-11-04 Heikki Junes * Documentation/user/lilypond.tely: changes 2.3.x to 2.5.x. 2004-11-04 Jan Nieuwenhuizen * Documentation/topdocs/INSTALL.texi (Top): Remove geometry. 2004-11-03 Jan Nieuwenhuizen * Documentation/topdocs/INSTALL.texi (Top): Fix geometry url (dax). * lily/lily-parser.cc (LY_DEFINE): Remove "Now " from message. * lily/main.cc (main): Invoke identify. * scm/lily.scm (postscript->pdf): Remove progress newline. Write progress to stderr. * lily/paper-book.cc (output): Remove progress newline. * scm/framework-tex.scm (convert-to-dvi, convert-to-ps): Call gettext on user messages, and remove whitespace. * lily/paper-outputter.cc (get_paper_outputter): Add progress newline. * scripts/lilypond-latex.py (program_name): Bugfix: use only basename of argv[0] (Thomas Scharkowski). * configure.in: Bugfix: add REQUIRED parameter to STEPMAKE_TEXMF call (carlyannehorse). Also check for mf and mf-nowin. Add check for ec-fonts-mtraced. * GNUmakefile.in (builddir-exec): Add symlink tex/out. Fixes --srcdir build (Bertalan). * stepmake/aclocal.m4 (STEPMAKE_GUILE_DEVEL): Check for guile headers and library too (Laura Conrad). * Documentation/topdocs/INSTALL.texi (Top): Mention development package for guile too (Laura Conrad). * lily/main.cc (usage): Typo. 2004-11-02 Werner Lemberg * Documentation/user/notation.ly: More fixes to improve appearance. * tex/texinfo.tex: Updated from texinfo CVS -- this version provides better output for multicolumn tables. 2004-11-01 Mats Bengtsson * lily/main.cc (dir_info): Fixed typo in the printouts. 2004-11-01 Werner Lemberg * buildscripts/mf-to-table.py (write_fontlist): Improve formatting of output. Set `per_line' to 2; replace hard-coded value with it. * Documentation/user/*: Many fixes to improve appearance of printed manual. 2004-11-01 Werner Lemberg * Documentation/user/changing-defaults.itely, Documentation/user/notation.ly, Documentation/user/programming-interface.itely: Use @/. Fix formatting of some lilypond snippets and tables. * scripts/lilypond-book.py (compose_ly): Provide useful default for LINEWIDTH in `override'. 2004-10-31 Graham Percival * Documentation/user/invoking.itely: change "3.0" -> "2.4" 2004-10-31 Werner Lemberg Resetting @exampleindent to `5' gives ugly results with texinfo's DVI output. Use `@format @exampleindent 0 ... @end format' instead (if not quoting) to change @exampleindent only locally. * scripts/lilypond-book.py (NOQUOTE): New variable. (output) [LATEX]: Remove AFTER and BEFORE. [TEXINFO]: Remove AFTER and BEFORE. Fix QUOTE and VERBATIM pattern. Add NOQUOTE pattern. (Lilypond_snippet) [output_info, output_latex]: Don't handle AFTER and BEFORE. [output_texinfo]: Use NOQUOTE. 2004-10-31 Graham Percival * Documentation/user/changing-defaults.itely: clarify paper size commands with correct info. * Documentation/user/lilypond-book.itely: add more docs for filename extensions. 2004-10-31 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): Branch lilypond_2_4, release 2.4.0 (PATCH_LEVEL): start 2.5.0. #Local variables: #coding: utf-8 #End: