---- ../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
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.
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));
}
&& 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;
}
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;
}
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));
}
typeset_element (p);
}
-Link_array<Paper_column>
-Line_of_score::column_l_arr ()const
-{
- Link_array<Paper_column> 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)
return ret;
}
+/**
+ Return all columns, but filter out any unused columns , since they might
+ disrupt the spacing problem.
+ */
+Link_array<Paper_column>
+Line_of_score::column_l_arr ()const
+{
+ Link_array<Paper_column> 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;
+}
{
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 ();
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 ();
}
Paper_column::Paper_column (Moment w)
- : Item (SCM_EOL)
+ : Item (SCM_EOL) // guh.?
{
SCM when = (new Moment (w))->smobify_self ();
scm_unprotect_object (when);
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;
}
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"))
+ ;
}
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);
}
{
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");
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));
(molecule-callback . ,Lyric_extender::scheme_molecule)
)
basicLyricTextProperties = #`(
+ (molecule-callback . ,Text_item::scheme_molecule)
(non-rhythmic . #t)
)
basicMarkProperties = #`(
(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")
)
basicScriptProperties = #`(
(molecule-callback . ,Script::scheme_molecule)
)
-
+
basicSlurProperties = #`(
(molecule-callback . ,Slur::scheme_molecule)
)
(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)
)
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)
)
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
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
(string-append "% " s))
(define (end-output)
- "\n\\EndLilyPondOutput")
+ (string-append "\n\\EndLilyPondOutput"
+ ; Put GC stats here.
+ ))
(define (experimental-on)
"")
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")
builtstr = r"""<hr><font size=-1>
This page was built from %s-%s by
-<address><br>%s <<a href=\"mailto:%s\">%s</a>>, %s.</address><p></font>"""
+<address><br>%s <<a href="mailto:%s">%s</a>>, %s.</address><p></font>"""
package_name = ''