From 0349917b7d91f01c8e5a3461185c850820e51710 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Wed, 31 May 2000 10:26:37 +0200 Subject: [PATCH] release: 1.3.57 ====== * Fixed several forgotten molecule-callbacks * Fixed first clef in score; now F clefs are also possible. 1.3.56. --- CHANGES | 26 ++++++++-------- VERSION | 4 +-- lily/axis-group-engraver.cc | 13 ++++++-- lily/line-group-group-engraver.cc | 8 +++-- lily/line-of-score.cc | 46 +++++++++++++++-------------- lily/local-key-engraver.cc | 2 +- lily/multi-measure-rest-engraver.cc | 2 +- lily/paper-column.cc | 8 +++-- lily/staff-symbol-referencer.cc | 4 ++- lily/text-engraver.cc | 6 ++-- ly/engraver.ly | 23 ++++++++++----- make/out/lilypond.lsm | 8 ++--- make/out/lilypond.spec | 4 +-- scm/lily.scm | 6 ++-- stepmake/bin/add-html-footer.py | 2 +- 15 files changed, 96 insertions(+), 66 deletions(-) diff --git a/CHANGES b/CHANGES index 5e1da30ae9..83a1f61af0 100644 --- a/CHANGES +++ b/CHANGES @@ -1,28 +1,30 @@ ---- ../lilypond-1.3.56/CHANGES Mon May 29 00:12:41 2000 -++ b/CHANGES Wed May 31 00:06:33 2000 -@@ -1,3 +1,10 @@ -1.3.56.mb1 -========== +1.3.57 +====== + +* Fixed several forgotten molecule-callbacks + +* Fixed first clef in score; now F clefs are also possible. +1.3.56.mb1 +========= + * Updated FAQ with two useful GDB macros. * Several fixes in the documentation. - 1.3.55.hwn1 - =========== - 1.3.55.jcn1 +1.3.55.jcn1 =========== * Made (dutch) po-update -1.3.55.hwn1 +1.3.56 =========== * Molecules are now generated via callbacks exclusively; most calls to -set_elt_property ("transparent) have been replaced by suicide(). +set_elt_property ("transparent", SCM_BOOL_T) have been replaced by suicide(). -1.3.54.hwn2 -=========== +1.3.55 +====== * Experimental property collapse for most score-elements. (notable exceptions: Scripts, pedals). Change all Score_element constructors to diff --git a/VERSION b/VERSION index 79db5745d5..27b50caab0 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 -PATCH_LEVEL=56 -MY_PATCH_LEVEL=mb1 +PATCH_LEVEL=57 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/lily/axis-group-engraver.cc b/lily/axis-group-engraver.cc index 52fc80484a..6ffe752dda 100644 --- a/lily/axis-group-engraver.cc +++ b/lily/axis-group-engraver.cc @@ -24,7 +24,11 @@ Axis_group_engraver::do_creation_processing () staffline_p_ = get_spanner_p (); Axis_group_interface (staffline_p_).set_interface (); Axis_group_interface (staffline_p_).set_axes (Y_AXIS, Y_AXIS); - staffline_p_->set_bound(LEFT,get_staff_info().command_pcol_l ()); + + Item * it = get_staff_info().command_pcol_l (); + Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_); + staffline_p_->set_bound(LEFT,it); + announce_element (Score_element_info (staffline_p_, 0)); } @@ -57,8 +61,11 @@ Axis_group_engraver::do_removal_processing () && gh_number_p (gh_cdr (dims))) staffline_p_->set_elt_property ("extra-extent-Y", dims); - - staffline_p_->set_bound(RIGHT,get_staff_info().command_pcol_l ()); + Item * it = get_staff_info().command_pcol_l (); + + Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_); + staffline_p_->set_bound(RIGHT,it); + typeset_element (staffline_p_); staffline_p_ = 0; } diff --git a/lily/line-group-group-engraver.cc b/lily/line-group-group-engraver.cc index aa4b6e8c20..202d8ff328 100644 --- a/lily/line-group-group-engraver.cc +++ b/lily/line-group-group-engraver.cc @@ -34,8 +34,10 @@ void Line_group_engraver_group::do_removal_processing() { Engraver_group_engraver::do_removal_processing (); + Item * it = get_staff_info().command_pcol_l (); - staffline_p_->set_bound(RIGHT,get_staff_info().command_pcol_l ()); + Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_); + staffline_p_->set_bound(RIGHT,it); Engraver_group_engraver::typeset_element (staffline_p_); staffline_p_ = 0; } @@ -44,7 +46,9 @@ void Line_group_engraver_group::do_creation_processing() { create_line_spanner (); - staffline_p_->set_bound(LEFT,get_staff_info().command_pcol_l ()); + Item * it = get_staff_info().command_pcol_l (); + staffline_p_->set_bound(LEFT,it); + Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_); Engraver::announce_element (Score_element_info (staffline_p_,0)); } diff --git a/lily/line-of-score.cc b/lily/line-of-score.cc index 1c8f59d34c..dc78eb09da 100644 --- a/lily/line-of-score.cc +++ b/lily/line-of-score.cc @@ -179,27 +179,6 @@ Line_of_score::add_column (Paper_column*p) typeset_element (p); } -Link_array -Line_of_score::column_l_arr ()const -{ - Link_array acs - = Pointer_group_interface__extract_elements (this, (Paper_column*) 0, "columns"); - bool bfound = false; - for (int i= acs.size (); i -- ; ) - { - bool brb = acs[i]->breakable_b(); - bfound = bfound || brb; - - /* - the last column should be breakable. Weed out any columns that - seem empty. We need to retain breakable columns, in case - someone forced a breakpoint. - */ - if (!bfound || !acs[i]->used_b ()) - acs.del (i); - } - return acs; -} void fixup_refpoints (SCM s) @@ -344,5 +323,28 @@ Line_of_score::broken_col_range (Item const*l, Item const*r) const return ret; } +/** + Return all columns, but filter out any unused columns , since they might + disrupt the spacing problem. + */ +Link_array +Line_of_score::column_l_arr ()const +{ + Link_array acs + = Pointer_group_interface__extract_elements (this, (Paper_column*) 0, "columns"); + bool bfound = false; + for (int i= acs.size (); i -- ; ) + { + bool brb = acs[i]->breakable_b(); + bfound = bfound || brb; - + /* + the last column should be breakable. Weed out any columns that + seem empty. We need to retain breakable columns, in case + someone forced a breakpoint. + */ + if (!bfound || !acs[i]->used_b ()) + acs.del (i); + } + return acs; +} diff --git a/lily/local-key-engraver.cc b/lily/local-key-engraver.cc index 8a5678fe1b..192baaee47 100644 --- a/lily/local-key-engraver.cc +++ b/lily/local-key-engraver.cc @@ -124,7 +124,7 @@ Local_key_engraver::process_acknowledged () { if (!key_item_p_) { - key_item_p_ = new Local_key_item (SCM_EOL); + key_item_p_ = new Local_key_item (get_property ("basicLocalKeyProperties")); Side_position_interface (key_item_p_).set_axis (X_AXIS); Side_position_interface (key_item_p_).set_direction (LEFT); staff_symbol_referencer(key_item_p_).set_interface (); diff --git a/lily/multi-measure-rest-engraver.cc b/lily/multi-measure-rest-engraver.cc index 5941e43ec8..943092d400 100644 --- a/lily/multi-measure-rest-engraver.cc +++ b/lily/multi-measure-rest-engraver.cc @@ -109,7 +109,7 @@ Multi_measure_rest_engraver::do_process_music () if (busy_span_req_l_ && !mmrest_p_) { - mmrest_p_ = new Multi_measure_rest (SCM_EOL); + mmrest_p_ = new Multi_measure_rest (get_property ("basicMultiMeasureRestProperties")); Staff_symbol_referencer_interface si (mmrest_p_); si.set_interface (); diff --git a/lily/paper-column.cc b/lily/paper-column.cc index f7db1474a2..d38687e4f1 100644 --- a/lily/paper-column.cc +++ b/lily/paper-column.cc @@ -95,7 +95,7 @@ Paper_column::column_l () const } Paper_column::Paper_column (Moment w) - : Item (SCM_EOL) + : Item (SCM_EOL) // guh.? { SCM when = (new Moment (w))->smobify_self (); scm_unprotect_object (when); @@ -103,7 +103,7 @@ Paper_column::Paper_column (Moment w) Axis_group_interface (this).set_interface (); Axis_group_interface (this).set_axes (X_AXIS, X_AXIS); - + set_elt_pointer ("bounded-by-me", SCM_EOL); line_l_=0; rank_i_ = -1; } @@ -135,5 +135,7 @@ Paper_column::musical_b () const bool Paper_column::used_b ()const { - return gh_pair_p (get_elt_pointer ("elements")) || breakable_b (); + return gh_pair_p (get_elt_pointer ("elements")) || breakable_b () + || gh_pair_p (get_elt_pointer ("bounded-by-me")) + ; } diff --git a/lily/staff-symbol-referencer.cc b/lily/staff-symbol-referencer.cc index 9c52f04256..ba6d15a7d8 100644 --- a/lily/staff-symbol-referencer.cc +++ b/lily/staff-symbol-referencer.cc @@ -21,7 +21,9 @@ Staff_symbol_referencer_interface::Staff_symbol_referencer_interface (Score_elem void Staff_symbol_referencer_interface::set_interface () { - elt_l_->set_elt_property ("staff-position", gh_double2scm (0.0)); + if (!gh_number_p (elt_l_->get_elt_property ("staff-position"))) + elt_l_->set_elt_property ("staff-position", gh_double2scm (0.0)); + elt_l_->add_offset_callback (callback, Y_AXIS); } diff --git a/lily/text-engraver.cc b/lily/text-engraver.cc index a3d72332f9..a0390bd6a2 100644 --- a/lily/text-engraver.cc +++ b/lily/text-engraver.cc @@ -78,7 +78,7 @@ Text_engraver::do_process_music () { Text_script_req * r = reqs_[i]; - Text_item *text = new Text_item (SCM_EOL); + Text_item *text = new Text_item (get_property ("basicTextScriptProperties")); Side_position_interface stafy (text); SCM axisprop = get_property ("scriptHorizontal"); @@ -106,9 +106,9 @@ Text_engraver::do_process_music () text->set_elt_property ("style", ly_str02scm (r->style_str_.ch_C())); SCM empty = get_property ("textNonEmpty"); - if (!to_boolean (empty)) + if (to_boolean (empty)) { - text->set_elt_property ("no-spacing-rods" , SCM_BOOL_T); + text->set_elt_property ("no-spacing-rods" , SCM_BOOL_F); text->set_extent_callback (0, X_AXIS); } announce_element (Score_element_info (text, r)); diff --git a/ly/engraver.ly b/ly/engraver.ly index 9e6bbe3bdd..ba8064a104 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -465,6 +465,7 @@ ScoreContext = \translator { (molecule-callback . ,Lyric_extender::scheme_molecule) ) basicLyricTextProperties = #`( + (molecule-callback . ,Text_item::scheme_molecule) (non-rhythmic . #t) ) basicMarkProperties = #`( @@ -472,16 +473,20 @@ ScoreContext = \translator { (breakable . #t) (visibility-lambda . ,end-of-line-invisible) ) + basicMultiMeasureRestProperties = #`( + (molecule-callback . ,Multi_measure_rest::scheme_molecule) + (staff-position . 0) + ) basicNoteColumnProperties = #`( (axes 0 1) ) basicNoteHeadProperties = #`( (molecule-callback . ,Note_head::scheme_molecule) ) - basicOctavateEightProperties = #`( (self-alignment-X . 0) (text . "8") + (visibility-lambda . ,begin-of-line-visible) (molecule-callback . ,Text_item::scheme_molecule) (style . "italic") ) @@ -495,7 +500,7 @@ ScoreContext = \translator { basicScriptProperties = #`( (molecule-callback . ,Script::scheme_molecule) ) - + basicSlurProperties = #`( (molecule-callback . ,Slur::scheme_molecule) ) @@ -508,10 +513,14 @@ ScoreContext = \translator { (molecule-callback . ,Stem::scheme_molecule) ) staffSymbolBasicProperties = #`( - (molecule-callback . ,Staff_symbol::scheme_molecule) - (staff-space . 1.0 ) - (line-count . 5 ) - ) + (molecule-callback . ,Staff_symbol::scheme_molecule) + (staff-space . 1.0 ) + (line-count . 5 ) + ) + basicTextScriptProperties = #`( + (molecule-callback . ,Text_item::scheme_molecule) + (no-spacing-rods . #t) + ) basicTimeSignatureProperties = #`( (molecule-callback . ,Time_signature::scheme_molecule) (break-align-symbol . Time_signature) @@ -538,7 +547,7 @@ ScoreContext = \translator { ) basicInstrumentNameProperties = #`( (breakable . #t) - (molecule-callback . Text_item::scheme_molecule) + (molecule-callback . ,Text_item::scheme_molecule) (break-align-symbol . Instrument_name) (visibility-lambda . ,begin-of-line-visible) ) diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 6f2f1bdd76..048670decd 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.3.56 -Entered-date: 29MAY00 +Version: 1.3.57 +Entered-date: 31MAY00 Description: Keywords: music notation typesetting midi fonts engraving Author: hanwen@cs.uu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 1000k lilypond-1.3.56.tar.gz + 1000k lilypond-1.3.57.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.3.56.tar.gz + 1000k lilypond-1.3.57.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index e8efa1de87..bf7ae4cd46 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.3.56 +Version: 1.3.57 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.56.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.57.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond # Icon: lilypond-icon.gif diff --git a/scm/lily.scm b/scm/lily.scm index ec316ecff8..62417660b1 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -310,7 +310,9 @@ (string-append "% " s)) (define (end-output) - "\n\\EndLilyPondOutput") + (string-append "\n\\EndLilyPondOutput" + ; Put GC stats here. + )) (define (experimental-on) "") @@ -917,7 +919,7 @@ content)) ;; urg: Use when standalone, do: -;; (define (ly-gulp-file name) (scm-gulp-file name)) +;; (define ly-gulp-file scm-gulp-file) (define (scm-gulp-file name) (set! %load-path (cons (string-append (getenv 'LILYPONDPREFIX) "/ly") diff --git a/stepmake/bin/add-html-footer.py b/stepmake/bin/add-html-footer.py index 153cc4a48d..705ed904a0 100644 --- a/stepmake/bin/add-html-footer.py +++ b/stepmake/bin/add-html-footer.py @@ -42,7 +42,7 @@ of %s builtstr = r"""
This page was built from %s-%s by -

%s <%s>, %s.

""" +


%s <%s>, %s.

""" package_name = '' -- 2.39.5