From fbb6d20e9f58d691ffe845284cbb4d8bacf9ca60 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Tue, 14 Mar 2000 20:56:02 +0100 Subject: [PATCH] release: 1.3.33 ====== 1.3.32.h --- CHANGES | 45 +++--- Documentation/user/properties.itely | 8 +- VERSION | 4 +- flower/include/hash-table.hh | 6 +- input/test/GNUmakefile | 2 +- input/test/bar-lines.ly | 14 ++ input/test/font-body.ly | 4 +- input/test/repeat-volta.ly | 4 +- lily/align-element.cc | 4 +- lily/all-font-metrics.cc | 6 + lily/auto-beam-engraver.cc | 2 +- lily/bar-engraver.cc | 2 +- lily/bar-number-engraver.cc | 2 +- lily/bar.cc | 148 +++++++++++++++++- lily/beam-engraver.cc | 2 +- lily/beam.cc | 4 +- lily/break-align-item.cc | 4 +- lily/breathing-sign-engraver.cc | 2 +- lily/breathing-sign.cc | 2 +- lily/chord-name-engraver.cc | 2 +- lily/chord-tremolo-engraver.cc | 4 +- lily/clef-engraver.cc | 4 +- lily/clef-item.cc | 2 +- lily/collision.cc | 2 +- lily/dot-column.cc | 2 +- lily/dots.cc | 4 +- lily/dynamic-engraver.cc | 4 +- lily/extender-engraver.cc | 2 +- lily/extender-spanner.cc | 2 +- lily/grace-align-item.cc | 4 +- lily/hara-kiri-vertical-group-spanner.cc | 2 +- lily/hyphen-engraver.cc | 2 +- lily/hyphen-spanner.cc | 2 +- lily/include/align-element.hh | 4 +- lily/include/all-font-metrics.hh | 2 + lily/include/auto-beam-engraver.hh | 2 +- lily/include/bar-engraver.hh | 2 +- lily/include/bar-number-engraver.hh | 2 +- lily/include/bar.hh | 8 +- lily/include/beam-engraver.hh | 2 +- lily/include/beam.hh | 4 +- lily/include/break-align-item.hh | 2 +- lily/include/breathing-sign-engraver.hh | 2 +- lily/include/breathing-sign.hh | 2 +- lily/include/chord-name-engraver.hh | 2 +- lily/include/chord-tremolo-engraver.hh | 0 lily/include/clef-item.hh | 2 +- lily/include/collision.hh | 2 +- lily/include/dot-column.hh | 2 +- lily/include/dots.hh | 2 +- lily/include/extender-engraver.hh | 2 +- lily/include/extender-spanner.hh | 2 +- lily/include/font-size-engraver.hh | 2 +- lily/include/grace-align-item.hh | 2 +- .../hara-kiri-vertical-group-spanner.hh | 2 +- lily/include/hyphen-engraver.hh | 2 +- lily/include/hyphen-spanner.hh | 2 +- lily/include/identifier.hh | 2 +- lily/include/key-engraver.hh | 2 +- lily/include/key-performer.hh | 2 +- lily/include/local-key-item.hh | 2 +- lily/include/lookup.hh | 6 +- lily/include/lyric-engraver.hh | 2 +- lily/include/lyric-performer.hh | 2 +- lily/include/molecule.hh | 7 +- lily/include/multi-measure-rest.hh | 2 +- lily/include/note-column.hh | 2 +- lily/include/note-head.hh | 2 +- lily/include/note-heads-engraver.hh | 2 +- lily/include/note-performer.hh | 2 +- lily/include/repeat-engraver.hh | 2 +- lily/include/rest-collision.hh | 2 +- lily/include/rest-engraver.hh | 2 +- lily/include/rest.hh | 2 +- lily/include/rhythmic-head.hh | 2 +- lily/include/scm-hash.hh | 24 ++- lily/include/score-element.hh | 4 +- lily/include/script-column.hh | 2 +- lily/include/script.hh | 4 +- lily/include/slur-engraver.hh | 2 +- lily/include/slur.hh | 2 +- lily/include/span-bar.hh | 6 +- lily/include/staff-performer.hh | 2 +- lily/include/stem-engraver.hh | 0 lily/include/stem.hh | 2 +- lily/include/super-element.hh | 1 - lily/include/tempo-performer.hh | 2 +- lily/include/tie-column.hh | 2 +- lily/include/tie-performer.hh | 2 +- lily/include/tie.hh | 2 +- lily/include/time-signature-engraver.hh | 2 +- lily/include/time-signature-performer.hh | 2 +- lily/include/timing-translator.hh | 2 +- lily/include/translator-group.hh | 2 +- lily/include/translator.hh | 2 +- lily/include/tuplet-spanner.hh | 2 +- lily/include/volta-spanner.hh | 2 +- lily/key-engraver.cc | 2 +- lily/key-item.cc | 2 +- lily/key-performer.cc | 2 +- lily/lily-guile.cc | 55 +++++-- lily/local-key-engraver.cc | 4 +- lily/local-key-item.cc | 4 +- lily/lookup.cc | 142 +---------------- lily/lyric-engraver.cc | 2 +- lily/lyric-performer.cc | 2 +- lily/mark-engraver.cc | 4 +- lily/molecule.cc | 7 - lily/multi-measure-rest-engraver.cc | 4 +- lily/multi-measure-rest.cc | 2 +- lily/note-column.cc | 2 +- lily/note-head.cc | 2 +- lily/note-heads-engraver.cc | 2 +- lily/note-name-engraver.cc | 4 +- lily/note-performer.cc | 2 +- lily/output-property-engraver.hh | 0 lily/property-engraver.cc | 4 +- lily/repeat-engraver.cc | 2 +- lily/rest-collision.cc | 2 +- lily/rest-engraver.cc | 2 +- lily/rest.cc | 2 +- lily/rhythmic-head.cc | 2 +- lily/scm-hash.cc | 121 ++++++++++++++ lily/score-element.cc | 30 ++-- lily/script-column.cc | 2 +- lily/script-engraver.cc | 4 +- lily/script.cc | 4 +- lily/slur-engraver.cc | 2 +- lily/slur.cc | 2 +- lily/span-bar.cc | 47 +++--- lily/staff-performer.cc | 4 +- lily/stem.cc | 2 +- lily/super-element.cc | 9 +- lily/tempo-performer.cc | 2 +- lily/text-engraver.cc | 4 +- lily/tie-column.cc | 2 +- lily/tie-engraver.cc | 4 +- lily/tie-performer.cc | 2 +- lily/tie.cc | 2 +- lily/time-signature-engraver.cc | 2 +- lily/time-signature-performer.cc | 2 +- lily/timing-translator.cc | 2 +- lily/translator-group.cc | 2 +- lily/translator.cc | 4 +- lily/tuplet-engraver.cc | 4 +- lily/tuplet-spanner.cc | 2 +- lily/volta-spanner.cc | 2 +- ly/property.ly | 4 +- make/out/lilypond.lsm | 8 +- make/out/lilypond.spec | 4 +- make/toplevel.make.in | 9 ++ scm/lily.scm | 46 ++---- .../stepmake/yolily-toplevel-targets.make | 9 -- 153 files changed, 632 insertions(+), 444 deletions(-) create mode 100644 input/test/bar-lines.ly delete mode 100644 lily/include/chord-tremolo-engraver.hh delete mode 100644 lily/include/stem-engraver.hh delete mode 100644 lily/output-property-engraver.hh diff --git a/CHANGES b/CHANGES index f659443b62..5ee74be6f6 100644 --- a/CHANGES +++ b/CHANGES @@ -1,18 +1,30 @@ ---- ../lilypond-1.3.32.hwn1/CHANGES Tue Mar 14 12:47:50 2000 -++ b/CHANGES Tue Mar 14 15:16:52 2000 -@@ -1,3 +1,12 @@ -1.3.32.hwn2 +1.3.33 +====== + +1.3.32.hwn3 =========== +* Experiment: use STL map for Scheme_hash_table; Is there a speedup? + +* Bugfix: print brace iso. bracket for Piano / GrandStaff + +* Change naming: change do_post_processsing into after_line_breaking, +do_pre_processsing into before_line_breaking and do_process_requests +into do_process_music. + +* Bugfix in hash-table.hh: do quadratic probing, and not cubic probing. + +* Display property name for type error. + * Cleanups for Dynamic_engraver and Dynamic_line_spanner. * Warn if last column in score is musical. Helps catch programming errors. * Spanner::spanned_drul_ now is private. - 1.3.32.jcn2 - =========== - 1.3.32.jcn3 +* Rewrote some bar code: moved molecule functions out of Lookup. + +1.3.32.jcn3 =========== * Embedded newlines in text items are now allowed. This helps avoiding @@ -27,14 +39,8 @@ * Fixed slur/bezier-beautiful name mismatch. This should fix the steep slurs that were apparently reintroduced in 1.3.29. -1.3.32.jcn2 -=========== - * Made some small fixes to Coriolan. -1.3.32.jcn1 -=========== - * Removed duplicate lily/output-property-engraver.hh. * Removed optional use of vanilla spanner in Dynamic_engraver. @@ -47,6 +53,13 @@ * Added *.yy and *.ll to TAGS, to that tags-find-replace doesn't omit parser and lexer. +1.3.31.mb1 +========= + +* Fixed \specialkey and \normalkey. Updated documentation. + +1.3.32 +====== 1.3.31.jcn5 =========== @@ -57,9 +70,6 @@ * Various fixes to Coriolan, score starts to look acceptable. -1.3.31.jcn3 -=========== - * Moved optional text of crescendo into Crescendo spanner. Fixed horizontal and vertical alignment of dynamics. @@ -68,9 +78,6 @@ stuck. I'm not sure whose fault this is, Lily's MIDI output may be stretching the standard a bit. -1.3.30.jcn4 -=========== - * Adjacent dynamic markings are now grouped on a horizontal line, but it's not perfect yet: they're always below the staff and no horizontal spacing is done. Also, character metrics of dynamics are still not used. diff --git a/Documentation/user/properties.itely b/Documentation/user/properties.itely index ebf2c901b4..101274a2b8 100644 --- a/Documentation/user/properties.itely +++ b/Documentation/user/properties.itely @@ -467,16 +467,16 @@ no clef is printed upon creation. is used to determine the instrument for MIDI output. @item @code{keyOctaviation}@indexcode{keyOctaviation} @propertytype{boolean} - If set to TRUE, then keys are the same in all octaves. If set - to FALSE then the key signature for different octaves can be + If set to false, then keys are the same in all octaves. If set + to true then the key signature for different octaves can be different and is specified independently: @example \keysignature bes fis' @end example - The default value is 1. Can be set to zero with - @code{\specialkey} or reset to 1 with @code{\normalkey}. + The default value is @code{#f}. Can be set to @code{#t} with + @code{\specialkey} or reset with @code{\normalkey}. @item @code{timeSignatureStyle}@indexcode{timeSignatureStyle} @propertytype{string} Changes the default two-digit layout for time signatures. The diff --git a/VERSION b/VERSION index 4f01f008b7..0c7ec16646 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 -PATCH_LEVEL=32 -MY_PATCH_LEVEL=hwn2 +PATCH_LEVEL=33 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/flower/include/hash-table.hh b/flower/include/hash-table.hh index aec7ae31af..bd437e6e97 100644 --- a/flower/include/hash-table.hh +++ b/flower/include/hash-table.hh @@ -61,9 +61,12 @@ public: int lookup (K s, unsigned int initial_hash) { int sz =dict_arr_.size (); - int i = initial_hash % sz; + initial_hash = initial_hash % sz; + int i; int j = 0; while (j <= sz/2) { + i = (initial_hash + j*j) % sz; + if (dict_arr_[i].free_b_) return i; @@ -71,7 +74,6 @@ public: return i; j++; - i = (i + j*j) % sz; } diff --git a/input/test/GNUmakefile b/input/test/GNUmakefile index 0923318b99..85f2a1fbca 100644 --- a/input/test/GNUmakefile +++ b/input/test/GNUmakefile @@ -1,7 +1,7 @@ # input/test/Makefile depth = ../.. -examples=font20 +examples= # font20 LOCALSTEPMAKE_TEMPLATES=mutopia include $(depth)/make/stepmake.make diff --git a/input/test/bar-lines.ly b/input/test/bar-lines.ly new file mode 100644 index 0000000000..d9e99a30bc --- /dev/null +++ b/input/test/bar-lines.ly @@ -0,0 +1,14 @@ + +\score +{ +\notes \relative c'' { +c4 +\bar "|."; c +\bar "|:";c +\bar "||";c +\bar ":|" ; c +\bar ".|"; c +\bar ".|."; c +\bar "|"; c +} +} diff --git a/input/test/font-body.ly b/input/test/font-body.ly index c640110777..67bca85779 100644 --- a/input/test/font-body.ly +++ b/input/test/font-body.ly @@ -51,8 +51,8 @@ c\longa*1/4 c\breve*1/2 c1 c2 c4 c8 a'^\flageolet \property Voice . textStyle = "roman" \time 1/2; a2 | - \time 3/2; < a1. - { s4 \ppp \< s4 \! s4 \fff s4 \> s4 \! s4\ppp} > + % \time 3/2; < a1. + % { s4 \ppp \< s4 \! s4 \fff s4 \> s4 \! s4\ppp} > | \time 2/4; a2 | \time 5/4; a1.. | diff --git a/input/test/repeat-volta.ly b/input/test/repeat-volta.ly index 46cea92205..b64a981a03 100644 --- a/input/test/repeat-volta.ly +++ b/input/test/repeat-volta.ly @@ -2,7 +2,9 @@ % no alts. \score { \notes \relative c'' { -\repeat volta 3 { c^"3$\\times$ 0alt" d } +% repeat non aligning with barlines. +e +\repeat volta 3 { c^"3$\\times$ 0alt" d e } % less alts than body \repeat volta 4 { c^"4$\\times$ 2alt" d } \alternative { e f } diff --git a/lily/align-element.cc b/lily/align-element.cc index 2f5c617ac6..c75902783b 100644 --- a/lily/align-element.cc +++ b/lily/align-element.cc @@ -14,14 +14,14 @@ #include "dimension-cache.hh" void -Align_element::do_post_processing() +Align_element::after_line_breaking() { if (axis () == Y_AXIS) do_side_processing (); } void -Align_element::do_pre_processing () +Align_element::before_line_breaking () { if (axis () == X_AXIS) do_side_processing (); diff --git a/lily/all-font-metrics.cc b/lily/all-font-metrics.cc index 81a4133430..0d61907069 100644 --- a/lily/all-font-metrics.cc +++ b/lily/all-font-metrics.cc @@ -147,3 +147,9 @@ All_font_metrics::font_descriptions () const } + +Font_metric* +find_font (String name) +{ + return all_fonts_global_p->find_font (name); +} diff --git a/lily/auto-beam-engraver.cc b/lily/auto-beam-engraver.cc index 95052f5e1d..779d0781b0 100644 --- a/lily/auto-beam-engraver.cc +++ b/lily/auto-beam-engraver.cc @@ -43,7 +43,7 @@ Auto_beam_engraver::do_try_music (Music*) } void -Auto_beam_engraver::do_process_requests () +Auto_beam_engraver::do_process_music () { consider_end_and_begin (shortest_mom_); } diff --git a/lily/bar-engraver.cc b/lily/bar-engraver.cc index ccc1183b81..68c8760492 100644 --- a/lily/bar-engraver.cc +++ b/lily/bar-engraver.cc @@ -107,7 +107,7 @@ Bar_engraver::do_removal_processing () } void -Bar_engraver::do_process_requests() +Bar_engraver::do_process_music() { Translator * t = daddy_grav_l ()->get_simple_translator ("Timing_engraver"); diff --git a/lily/bar-number-engraver.cc b/lily/bar-number-engraver.cc index 1715fde5de..c334d087ee 100644 --- a/lily/bar-number-engraver.cc +++ b/lily/bar-number-engraver.cc @@ -22,7 +22,7 @@ Bar_number_engraver::Bar_number_engraver() void -Bar_number_engraver::do_process_requests () +Bar_number_engraver::do_process_music () { Translator *tr = daddy_grav_l ()->get_simple_translator ("Timing_engraver"); Timing_translator *time = dynamic_cast(tr); diff --git a/lily/bar.cc b/lily/bar.cc index e4f66f1d35..7bcccfed32 100644 --- a/lily/bar.cc +++ b/lily/bar.cc @@ -5,7 +5,10 @@ (c) 1997--2000 Han-Wen Nienhuys */ +#include +#include "main.hh" +#include "dimensions.hh" #include "dimension-cache.hh" #include "bar.hh" #include "string.hh" @@ -13,7 +16,7 @@ #include "paper-def.hh" #include "lookup.hh" #include "debug.hh" - +#include "all-font-metrics.hh" Bar::Bar () { @@ -32,14 +35,151 @@ Bar::get_bar_size () const Molecule Bar::do_brew_molecule () const { - String s = ly_scm2string (get_elt_property ("glyph")); - return lookup_l ()->bar (s, get_bar_size (), paper_l ()); + SCM s = get_elt_property ("glyph"); + if (gh_string_p (s)) + { + String str =ly_scm2string (s); + if (str == "bracket") + return staff_bracket (get_bar_size ()); + else if (str == "brace") + return staff_brace (get_bar_size ()); + else + return compound_barline (str, get_bar_size ()); + } + return Molecule (); +} + + +Molecule +Bar::staff_bracket (Real height) const +{ + Paper_def* p= paper_l (); + SCM at = gh_list (ly_symbol2scm ("bracket"), + gh_double2scm (p->get_var("bracket_arch_angle")), + gh_double2scm (p->get_var("bracket_arch_width")), + gh_double2scm (p->get_var("bracket_arch_height")), + gh_double2scm (p->get_var("bracket_width")), + gh_double2scm (height), + gh_double2scm (p->get_var("bracket_arch_thick")), + gh_double2scm (p->get_var("bracket_thick")), + SCM_UNDEFINED); + + Real staff_space = p->get_var ("interline"); + Box b (Interval (0, 1.5 * staff_space), Interval (-height/2,height/2)); + Molecule mol (b, at); + + mol.translate_axis (- mol.dim_[X_AXIS].length () / 2, X_AXIS); + return mol; } +Molecule +Bar::compound_barline (String str, Real h) const +{ + Real kern = paper_l()->get_var ("bar_kern"); + Real thinkern = paper_l()->get_var ("bar_thinkern"); + + Molecule thin = simple_barline (paper_l()->get_var ("barthick_thin"), h); + Molecule thick = simple_barline (paper_l()->get_var ("barthick_thick"), h); + Molecule colon = lookup_l ()->afm_find ("dots-repeatcolon"); + + Molecule m; + + if (str == "") + { + return lookup_l ()->blank (Box (Interval(0, 0), Interval (-h/2, h/2))); + } + if (str == "scorepostbreak") + { + return simple_barline (paper_l ()->get_var ("barthick_score"), h); + } + else if (str == "|") + { + return thin; + } + else if (str == "|.") + { + m.add_at_edge (X_AXIS, LEFT, thick, 0); + m.add_at_edge (X_AXIS, LEFT, thin, kern); + } + else if (str == ".|") + { + m.add_at_edge (X_AXIS, RIGHT, thick, 0); + m.add_at_edge (X_AXIS, RIGHT, thin, kern); + } + else if (str == ":|") + { + m.add_at_edge (X_AXIS, LEFT, thick, 0); + m.add_at_edge (X_AXIS, LEFT, thin, kern); + m.add_at_edge (X_AXIS, LEFT, colon, kern); + } + else if (str == "|:") + { + m.add_at_edge (X_AXIS, RIGHT, thick, 0); + m.add_at_edge (X_AXIS, RIGHT, thin, kern); + m.add_at_edge (X_AXIS, RIGHT, colon, kern); + } + else if (str == ":|:") + { + m.add_at_edge (X_AXIS, LEFT, thick, thinkern); + m.add_at_edge (X_AXIS, LEFT, colon, kern); + m.add_at_edge (X_AXIS, RIGHT, thick, kern); + m.add_at_edge (X_AXIS, RIGHT, colon, kern); + } + else if (str == ".|.") + { + m.add_at_edge (X_AXIS, LEFT, thick, thinkern); + m.add_at_edge (X_AXIS, RIGHT, thick, kern); + } + else if (str == "||") + { + m.add_at_edge (X_AXIS, RIGHT, thin, 0); + m.add_at_edge (X_AXIS, RIGHT, thin, thinkern); + } + + return m; +} + +/* + ugh. Suck me plenty. + */ +Molecule +Bar::staff_brace (Real y) const +{ + Real staffht = paper_l ()->get_var ("staffheight"); + int staff_size = int (rint (staffht )); + + // URG + Real step = 1.0; + int minht = 2 * staff_size; + int maxht = 7 * minht; + int idx = int (((maxht - step) ? 0; + + SCM l = ly_eval_str ("(style-to-cmr \"brace\")"); + String nm = "feta-braces"; + if (l != SCM_BOOL_F) + nm = ly_scm2string (gh_cdr (l)); + nm += to_str (staff_size); + SCM e =gh_list (ly_symbol2scm ("char"), gh_int2scm (idx), SCM_UNDEFINED); + SCM at = (e); + + at = fontify_atom (all_fonts_global_p->find_font (nm), at); + + Box b ( Interval (-y/2,y/2), + Interval (0,0)); + return Molecule(b, at); +} + + +Molecule +Bar::simple_barline (Real w, Real h) const +{ + return lookup_l ()->filledbox (Box (Interval(0,w), Interval(-h/2, h/2))); +} void -Bar::do_pre_processing () +Bar::before_line_breaking () { SCM g = get_elt_property ("glyph"); Direction bsd = break_status_dir (); diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index 392d035808..cb65aa5863 100644 --- a/lily/beam-engraver.cc +++ b/lily/beam-engraver.cc @@ -50,7 +50,7 @@ Beam_engraver::do_try_music (Music *m) void -Beam_engraver::do_process_requests () +Beam_engraver::do_process_music () { if (reqs_drul_[STOP]) { diff --git a/lily/beam.cc b/lily/beam.cc index 4b87534347..d641c8912c 100644 --- a/lily/beam.cc +++ b/lily/beam.cc @@ -79,7 +79,7 @@ Beam::get_multiplicity () const their beam, during 'final-pre-processing'.] */ void -Beam::do_pre_processing () +Beam::before_line_breaking () { // Why? if (visible_stem_count () < 2) @@ -263,7 +263,7 @@ Beam::set_stem_shorten () Adjust stem lengths to reach beam. */ void -Beam::do_post_processing () +Beam::after_line_breaking () { /* first, calculate y, dy */ Real y, dy; diff --git a/lily/break-align-item.cc b/lily/break-align-item.cc index 84fa63071d..dfb91c3845 100644 --- a/lily/break-align-item.cc +++ b/lily/break-align-item.cc @@ -24,7 +24,7 @@ */ void -Break_align_item::do_pre_processing() +Break_align_item::before_line_breaking () { Direction ad = (break_status_dir() == LEFT) ? RIGHT : LEFT; Real interline= paper_l ()->get_var ("interline"); @@ -103,7 +103,7 @@ Break_align_item::do_pre_processing() scm_set_car_x (first_pair, gh_double2scm (-dists[0])); elems[0]->set_elt_property ("minimum-space", first_pair); - Axis_align_item::do_pre_processing(); + Axis_align_item::before_line_breaking (); Real pre_space = elems[0]->relative_coordinate (column_l (), X_AXIS); diff --git a/lily/breathing-sign-engraver.cc b/lily/breathing-sign-engraver.cc index 46761a934f..afa950d618 100644 --- a/lily/breathing-sign-engraver.cc +++ b/lily/breathing-sign-engraver.cc @@ -42,7 +42,7 @@ Breathing_sign_engraver::do_try_music (Music*r_l) } void -Breathing_sign_engraver::do_process_requests() +Breathing_sign_engraver::do_process_music() { if(breathing_sign_req_l_) { diff --git a/lily/breathing-sign.cc b/lily/breathing-sign.cc index 54120930f3..0b9758edc3 100644 --- a/lily/breathing-sign.cc +++ b/lily/breathing-sign.cc @@ -39,7 +39,7 @@ Breathing_sign::do_brew_molecule () const } void -Breathing_sign::do_post_processing() +Breathing_sign::after_line_breaking () { Real space = staff_symbol_referencer (this).staff_space(); Direction d = directional_element (this). get (); diff --git a/lily/chord-name-engraver.cc b/lily/chord-name-engraver.cc index cf2891b02c..eb28971785 100644 --- a/lily/chord-name-engraver.cc +++ b/lily/chord-name-engraver.cc @@ -61,7 +61,7 @@ Chord_name_engraver::do_try_music (Music* m) } void -Chord_name_engraver::do_process_requests () +Chord_name_engraver::do_process_music () { if (chord_name_p_) return; diff --git a/lily/chord-tremolo-engraver.cc b/lily/chord-tremolo-engraver.cc index 154d273426..769ec5a3fc 100644 --- a/lily/chord-tremolo-engraver.cc +++ b/lily/chord-tremolo-engraver.cc @@ -35,7 +35,7 @@ public: protected: virtual void do_removal_processing(); - virtual void do_process_requests(); + virtual void do_process_music(); virtual bool do_try_music (Music*); virtual void acknowledge_element (Score_element_info); virtual void do_pre_move_processing(); @@ -92,7 +92,7 @@ Chord_tremolo_engraver::do_try_music (Music* m) } void -Chord_tremolo_engraver::do_process_requests () +Chord_tremolo_engraver::do_process_music () { if (reqs_drul_[STOP]) { diff --git a/lily/clef-engraver.cc b/lily/clef-engraver.cc index 162cc06978..835b2c5760 100644 --- a/lily/clef-engraver.cc +++ b/lily/clef-engraver.cc @@ -29,7 +29,7 @@ class Clef_engraver : public Engraver { void create_clef(); bool set_type (String); protected: - virtual void do_process_requests(); + virtual void do_process_music(); virtual void do_pre_move_processing(); virtual void do_creation_processing(); virtual void do_post_move_processing(); @@ -183,7 +183,7 @@ Clef_engraver::create_clef() void -Clef_engraver::do_process_requests() +Clef_engraver::do_process_music() { if (clef_req_l_) { diff --git a/lily/clef-item.cc b/lily/clef-item.cc index 35f4d46bf3..d49534d727 100644 --- a/lily/clef-item.cc +++ b/lily/clef-item.cc @@ -19,7 +19,7 @@ #include "warn.hh" void -Clef_item::do_pre_processing() +Clef_item::before_line_breaking () { SCM style_sym =get_elt_property ("style"); String style; diff --git a/lily/collision.cc b/lily/collision.cc index 0de6a942f8..161016104c 100644 --- a/lily/collision.cc +++ b/lily/collision.cc @@ -28,7 +28,7 @@ Collision::add_column (Note_column* ncol_l) */ void -Collision::do_pre_processing() +Collision::before_line_breaking () { Array autos (automatic_shift ()); Array hand (forced_shift ()); diff --git a/lily/dot-column.cc b/lily/dot-column.cc index 2e80a913bc..d9331f8907 100644 --- a/lily/dot-column.cc +++ b/lily/dot-column.cc @@ -70,7 +70,7 @@ Dot_column::Dot_column () Should be smarter. */ void -Dot_column::do_post_processing () +Dot_column::after_line_breaking () { Link_array dots = Group_interface__extract_elements (this, (Dots*)0 , "dots"); dots.sort (Dot_column::compare); diff --git a/lily/dots.cc b/lily/dots.cc index f63f77ddae..7846e2d367 100644 --- a/lily/dots.cc +++ b/lily/dots.cc @@ -19,7 +19,7 @@ Dots::Dots () } void -Dots::do_post_processing () +Dots::after_line_breaking () { SCM d= get_elt_property ("dot-count"); if (!gh_number_p (d) || !gh_scm2int (d)) @@ -42,7 +42,7 @@ Dots::do_post_processing () Molecule Dots::do_brew_molecule () const { - Molecule mol (lookup_l ()->fill (Box (Interval (0,0), + Molecule mol (lookup_l ()->blank (Box (Interval (0,0), Interval (0,0)))); Molecule d = lookup_l ()->afm_find (String ("dots-dot")); diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index b729de9c65..87ab488ac6 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -84,7 +84,7 @@ protected: virtual void do_removal_processing (); virtual void acknowledge_element (Score_element_info); virtual bool do_try_music (Music *req_l); - virtual void do_process_requests (); + virtual void do_process_music (); virtual void do_pre_move_processing (); virtual void do_post_move_processing (); }; @@ -151,7 +151,7 @@ Dynamic_engraver::do_try_music (Music * m) } void -Dynamic_engraver::do_process_requests () +Dynamic_engraver::do_process_music () { if ((span_req_l_drul_[START] || text_req_l_) && !line_spanner_) { diff --git a/lily/extender-engraver.cc b/lily/extender-engraver.cc index 9cab9a6db5..aba5025d69 100644 --- a/lily/extender-engraver.cc +++ b/lily/extender-engraver.cc @@ -65,7 +65,7 @@ Extender_engraver::do_removal_processing () } void -Extender_engraver::do_process_requests () +Extender_engraver::do_process_music () { if (req_l_) { diff --git a/lily/extender-spanner.cc b/lily/extender-spanner.cc index a590aa1a24..0f5cbfb5d9 100644 --- a/lily/extender-spanner.cc +++ b/lily/extender-spanner.cc @@ -50,7 +50,7 @@ Extender_spanner::do_brew_molecule () const void -Extender_spanner::do_post_processing () +Extender_spanner::after_line_breaking () { // UGH Real gap = paper_l ()->get_var ("interline"); diff --git a/lily/grace-align-item.cc b/lily/grace-align-item.cc index 3d3df3ca0f..2ae9d267e9 100644 --- a/lily/grace-align-item.cc +++ b/lily/grace-align-item.cc @@ -19,7 +19,7 @@ Grace_align_item::Grace_align_item () } void -Grace_align_item::do_pre_processing () +Grace_align_item::before_line_breaking () { Real nhw = // lookup_l ()->notehead (2, "").dim_[X_AXIS].length(); paper_l ()->get_var ("quartwidth"); @@ -28,7 +28,7 @@ Grace_align_item::do_pre_processing () column_l ()->set_elt_property ("contains-grace", SCM_BOOL_T); - Axis_align_item::do_pre_processing (); + Axis_align_item::before_line_breaking (); // translate_axis (-0.5* nhw, X_AXIS); // ugh. } diff --git a/lily/hara-kiri-vertical-group-spanner.cc b/lily/hara-kiri-vertical-group-spanner.cc index f5b1e47294..3abb6296f2 100644 --- a/lily/hara-kiri-vertical-group-spanner.cc +++ b/lily/hara-kiri-vertical-group-spanner.cc @@ -28,7 +28,7 @@ Hara_kiri_group_spanner::add_interesting_item (Item* n) } void -Hara_kiri_group_spanner::do_post_processing () +Hara_kiri_group_spanner::after_line_breaking () { SCM worth = get_elt_property ("items-worth-living"); if (gh_pair_p (worth)) diff --git a/lily/hyphen-engraver.cc b/lily/hyphen-engraver.cc index b259f29670..72eb2268fe 100644 --- a/lily/hyphen-engraver.cc +++ b/lily/hyphen-engraver.cc @@ -63,7 +63,7 @@ Hyphen_engraver::do_removal_processing () } void -Hyphen_engraver::do_process_requests () +Hyphen_engraver::do_process_music () { if (req_l_) { diff --git a/lily/hyphen-spanner.cc b/lily/hyphen-spanner.cc index 3fd4f63bc9..5f41e23d53 100644 --- a/lily/hyphen-spanner.cc +++ b/lily/hyphen-spanner.cc @@ -57,7 +57,7 @@ Hyphen_spanner::do_brew_molecule () const void -Hyphen_spanner::do_post_processing () +Hyphen_spanner::after_line_breaking () { // UGH Real gap = paper_l ()->get_var ("interline"); diff --git a/lily/include/align-element.hh b/lily/include/align-element.hh index c6e230df5d..49d4e4bab1 100644 --- a/lily/include/align-element.hh +++ b/lily/include/align-element.hh @@ -50,8 +50,8 @@ public: void set_axis (Axis); int get_count (Score_element*)const; protected: - virtual void do_post_processing() ; - virtual void do_pre_processing (); + virtual void after_line_breaking () ; + virtual void before_line_breaking (); virtual void do_side_processing (); }; #endif // VERTICAL_ALIGN_ITEM_HH diff --git a/lily/include/all-font-metrics.hh b/lily/include/all-font-metrics.hh index fa6eb9097c..02d59dae09 100644 --- a/lily/include/all-font-metrics.hh +++ b/lily/include/all-font-metrics.hh @@ -38,5 +38,7 @@ public: SCM font_descriptions () const; }; +Font_metric * find_font (String name); + #endif /* ALL_FONTS_HH */ diff --git a/lily/include/auto-beam-engraver.hh b/lily/include/auto-beam-engraver.hh index 6621ecce1a..2c7575fde4 100644 --- a/lily/include/auto-beam-engraver.hh +++ b/lily/include/auto-beam-engraver.hh @@ -24,7 +24,7 @@ protected: virtual void do_post_move_processing (); virtual void do_removal_processing (); virtual void acknowledge_element (Score_element_info); - virtual void do_process_requests (); + virtual void do_process_music (); virtual void process_acknowledged (); virtual void do_creation_processing (); private: diff --git a/lily/include/bar-engraver.hh b/lily/include/bar-engraver.hh index 388cc17149..7f446bcd13 100644 --- a/lily/include/bar-engraver.hh +++ b/lily/include/bar-engraver.hh @@ -26,7 +26,7 @@ public: protected: virtual void do_creation_processing (); virtual void do_removal_processing (); - virtual void do_process_requests(); + virtual void do_process_music(); virtual void do_pre_move_processing(); diff --git a/lily/include/bar-number-engraver.hh b/lily/include/bar-number-engraver.hh index eb1c7de7fa..22c6c3ef22 100644 --- a/lily/include/bar-number-engraver.hh +++ b/lily/include/bar-number-engraver.hh @@ -14,7 +14,7 @@ class Bar_number_engraver : public Bar_script_engraver { protected: - void do_process_requests (); + void do_process_music (); public: VIRTUAL_COPY_CONS(Translator); Bar_number_engraver(); diff --git a/lily/include/bar.hh b/lily/include/bar.hh index 1e4f8c539a..994f04b500 100644 --- a/lily/include/bar.hh +++ b/lily/include/bar.hh @@ -15,8 +15,14 @@ class Bar:public Item { public: VIRTUAL_COPY_CONS(Score_element); Bar(); + + Molecule staff_bracket (Real height) const; + Molecule staff_brace (Real height) const; + Molecule compound_barline (String, Real height) const; + Molecule simple_barline (Real wid, Real height) const; + protected: - virtual void do_pre_processing (); + virtual void before_line_breaking (); virtual Molecule do_brew_molecule () const; virtual Real get_bar_size () const; }; diff --git a/lily/include/beam-engraver.hh b/lily/include/beam-engraver.hh index 044cfaddb7..9393529a11 100644 --- a/lily/include/beam-engraver.hh +++ b/lily/include/beam-engraver.hh @@ -36,7 +36,7 @@ protected: virtual void do_removal_processing (); virtual void acknowledge_element (Score_element_info); virtual bool do_try_music (Music*); - virtual void do_process_requests (); + virtual void do_process_music (); public: Beam_engraver (); VIRTUAL_COPY_CONS (Translator); diff --git a/lily/include/beam.hh b/lily/include/beam.hh index aff606c7a9..54f6d04bdc 100644 --- a/lily/include/beam.hh +++ b/lily/include/beam.hh @@ -45,8 +45,8 @@ public: protected: - virtual void do_pre_processing (); - virtual void do_post_processing (); + virtual void before_line_breaking (); + virtual void after_line_breaking (); virtual Molecule do_brew_molecule () const; Molecule stem_beams (Stem *here, Stem *next, Stem *prev) const; diff --git a/lily/include/break-align-item.hh b/lily/include/break-align-item.hh index 20d5a3f749..791e104f00 100644 --- a/lily/include/break-align-item.hh +++ b/lily/include/break-align-item.hh @@ -17,7 +17,7 @@ class Break_align_item : public Axis_align_item { protected: - virtual void do_pre_processing(); + virtual void before_line_breaking (); public: Break_align_item (); VIRTUAL_COPY_CONS(Score_element); diff --git a/lily/include/breathing-sign-engraver.hh b/lily/include/breathing-sign-engraver.hh index 3c003081e5..ef0fa899fa 100644 --- a/lily/include/breathing-sign-engraver.hh +++ b/lily/include/breathing-sign-engraver.hh @@ -21,7 +21,7 @@ public: protected: virtual bool do_try_music (Music *req_l); - virtual void do_process_requests(); + virtual void do_process_music(); virtual void do_pre_move_processing(); virtual void do_post_move_processing(); diff --git a/lily/include/breathing-sign.hh b/lily/include/breathing-sign.hh index 83cf87e5e8..ca074df3fa 100644 --- a/lily/include/breathing-sign.hh +++ b/lily/include/breathing-sign.hh @@ -19,7 +19,7 @@ public: VIRTUAL_COPY_CONS(Score_element); Breathing_sign (); protected: - virtual void do_post_processing (); + virtual void after_line_breaking (); virtual Molecule do_brew_molecule () const; }; diff --git a/lily/include/chord-name-engraver.hh b/lily/include/chord-name-engraver.hh index c9a9886f6c..e8b780d383 100644 --- a/lily/include/chord-name-engraver.hh +++ b/lily/include/chord-name-engraver.hh @@ -23,7 +23,7 @@ public: protected: virtual void do_pre_move_processing (); virtual void acknowledge_element (Score_element_info i); - virtual void do_process_requests (); + virtual void do_process_music (); virtual bool do_try_music (Music* m); private: diff --git a/lily/include/chord-tremolo-engraver.hh b/lily/include/chord-tremolo-engraver.hh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lily/include/clef-item.hh b/lily/include/clef-item.hh index a5d5585db3..60322e19ed 100644 --- a/lily/include/clef-item.hh +++ b/lily/include/clef-item.hh @@ -26,7 +26,7 @@ class Clef_item : public Item { protected: - virtual void do_pre_processing(); + virtual void before_line_breaking (); virtual void do_add_processing (); public: VIRTUAL_COPY_CONS(Score_element); diff --git a/lily/include/collision.hh b/lily/include/collision.hh index 4fe2de3906..f64db66504 100644 --- a/lily/include/collision.hh +++ b/lily/include/collision.hh @@ -29,7 +29,7 @@ protected: Array automatic_shift (); Array forced_shift (); - virtual void do_pre_processing(); + virtual void before_line_breaking (); public: void add_column (Note_column*ncol_l); diff --git a/lily/include/dot-column.hh b/lily/include/dot-column.hh index de7d522f05..9679bf32a4 100644 --- a/lily/include/dot-column.hh +++ b/lily/include/dot-column.hh @@ -26,6 +26,6 @@ public: Dot_column (); protected: - virtual void do_post_processing (); + virtual void after_line_breaking (); }; #endif // DOT_COLUMN_HH diff --git a/lily/include/dots.hh b/lily/include/dots.hh index 6a36c9ef06..4f3ba7200b 100644 --- a/lily/include/dots.hh +++ b/lily/include/dots.hh @@ -22,7 +22,7 @@ class Dots : { protected: virtual Molecule do_brew_molecule () const; - virtual void do_post_processing (); + virtual void after_line_breaking (); public: Dots (); diff --git a/lily/include/extender-engraver.hh b/lily/include/extender-engraver.hh index 28e9dadeb9..9973f41d31 100644 --- a/lily/include/extender-engraver.hh +++ b/lily/include/extender-engraver.hh @@ -39,7 +39,7 @@ public: protected: virtual void acknowledge_element (Score_element_info); virtual void do_removal_processing(); - virtual void do_process_requests(); + virtual void do_process_music(); virtual bool do_try_music (Music*); virtual void do_pre_move_processing(); virtual void do_post_move_processing (); diff --git a/lily/include/extender-spanner.hh b/lily/include/extender-spanner.hh index 0fa11e6f57..d2d0b021ef 100644 --- a/lily/include/extender-spanner.hh +++ b/lily/include/extender-spanner.hh @@ -35,7 +35,7 @@ public: protected: virtual Molecule do_brew_molecule () const; - void do_post_processing (); + void after_line_breaking (); VIRTUAL_COPY_CONS (Score_element); diff --git a/lily/include/font-size-engraver.hh b/lily/include/font-size-engraver.hh index c0fbb35c04..5ebc44dd7b 100644 --- a/lily/include/font-size-engraver.hh +++ b/lily/include/font-size-engraver.hh @@ -23,7 +23,7 @@ class Font_size_engraver : public Engraver { Protected_scm size_; protected: virtual void acknowledge_element (Score_element_info); - virtual void do_process_requests (); + virtual void do_process_music (); public: Font_size_engraver (); diff --git a/lily/include/grace-align-item.hh b/lily/include/grace-align-item.hh index ee8d0ce6f2..028ff63255 100644 --- a/lily/include/grace-align-item.hh +++ b/lily/include/grace-align-item.hh @@ -20,7 +20,7 @@ public: Grace_align_item (); protected: virtual void do_add_processing (); - virtual void do_pre_processing (); + virtual void before_line_breaking (); }; #endif /* GRACE_ALIGN_ITEM_HH */ diff --git a/lily/include/hara-kiri-vertical-group-spanner.hh b/lily/include/hara-kiri-vertical-group-spanner.hh index a6245449dd..bba2981777 100644 --- a/lily/include/hara-kiri-vertical-group-spanner.hh +++ b/lily/include/hara-kiri-vertical-group-spanner.hh @@ -21,7 +21,7 @@ class Hara_kiri_group_spanner : public Axis_group_spanner { public: Hara_kiri_group_spanner (); - virtual void do_post_processing (); + virtual void after_line_breaking (); void add_interesting_item (Item* n); protected: VIRTUAL_COPY_CONS(Score_element); diff --git a/lily/include/hyphen-engraver.hh b/lily/include/hyphen-engraver.hh index d8af602c12..4db4d25bff 100644 --- a/lily/include/hyphen-engraver.hh +++ b/lily/include/hyphen-engraver.hh @@ -38,7 +38,7 @@ public: protected: virtual void acknowledge_element (Score_element_info); virtual void do_removal_processing(); - virtual void do_process_requests(); + virtual void do_process_music(); virtual bool do_try_music (Music*); virtual void do_pre_move_processing(); virtual void do_post_move_processing (); diff --git a/lily/include/hyphen-spanner.hh b/lily/include/hyphen-spanner.hh index 2530a5e116..ec60dee675 100644 --- a/lily/include/hyphen-spanner.hh +++ b/lily/include/hyphen-spanner.hh @@ -28,7 +28,7 @@ protected: virtual Molecule do_brew_molecule () const; Interval do_height () const; - void do_post_processing (); + void after_line_breaking (); VIRTUAL_COPY_CONS (Score_element); diff --git a/lily/include/identifier.hh b/lily/include/identifier.hh index c80a28770e..51cc20d2c5 100644 --- a/lily/include/identifier.hh +++ b/lily/include/identifier.hh @@ -37,7 +37,7 @@ virtual Class * access_content_ ## Class (bool) const { error (#Class + String /** A declarable data structure in mudela. - TODO: use SCM and SMOBS for union datatype. + TODO: use SMOBS for the union type, and junk all derived classes. */ struct Identifier : public Input { bool init_b_; diff --git a/lily/include/key-engraver.hh b/lily/include/key-engraver.hh index 6e7850290d..cbd80e8d42 100644 --- a/lily/include/key-engraver.hh +++ b/lily/include/key-engraver.hh @@ -36,7 +36,7 @@ public: protected: virtual bool do_try_music (Music *req_l); - virtual void do_process_requests(); + virtual void do_process_music(); virtual void do_pre_move_processing(); virtual void do_post_move_processing(); virtual void acknowledge_element (Score_element_info); diff --git a/lily/include/key-performer.hh b/lily/include/key-performer.hh index 335614b91e..535cb3e1bd 100644 --- a/lily/include/key-performer.hh +++ b/lily/include/key-performer.hh @@ -23,7 +23,7 @@ public: protected: void do_print() const; virtual bool do_try_music (Music* req_l); - virtual void do_process_requests (); + virtual void do_process_music (); virtual void do_pre_move_processing (); private: diff --git a/lily/include/local-key-item.hh b/lily/include/local-key-item.hh index 3e2063167b..3cfb339ce1 100644 --- a/lily/include/local-key-item.hh +++ b/lily/include/local-key-item.hh @@ -49,7 +49,7 @@ public: void add_pitch (Musical_pitch, bool cautionary, bool natural); protected: - virtual void do_pre_processing(); + virtual void before_line_breaking (); virtual Molecule do_brew_molecule() const; }; #endif // LOCALKEYITEM_HH diff --git a/lily/include/lookup.hh b/lily/include/lookup.hh index 2a227470fe..4563501ecc 100644 --- a/lily/include/lookup.hh +++ b/lily/include/lookup.hh @@ -30,20 +30,16 @@ public: Lookup (); Lookup (Lookup const&); - Molecule simple_bar (String s, Real w, Paper_def*) const; Molecule afm_find (String, bool warn=true) const; - Molecule bar (String, Real height, Paper_def*) const; Molecule accordion (SCM arg, Real interline_f) const; static Molecule frame (Box b, Real thick); static Molecule slur (Bezier controls, Real cthick, Real thick) ; static Molecule beam (Real, Real, Real) ; static Molecule dashed_slur (Bezier, Real thick, Real dash) ; - static Molecule fill (Box b) ; + static Molecule blank (Box b) ; static Molecule filledbox (Box b) ; static Molecule text (String style, String text, Paper_def*) ; - static Molecule staff_brace (Real dy, int) ; - static Molecule staff_bracket (Real height, Paper_def* paper_l) ; }; #endif // LOOKUP_HH diff --git a/lily/include/lyric-engraver.hh b/lily/include/lyric-engraver.hh index 7ed599e275..1ef2eb7490 100644 --- a/lily/include/lyric-engraver.hh +++ b/lily/include/lyric-engraver.hh @@ -23,7 +23,7 @@ class Lyric_engraver : public Engraver protected: virtual void do_pre_move_processing(); virtual bool do_try_music (Music*); - virtual void do_process_requests(); + virtual void do_process_music(); virtual void do_post_move_processing (); public: Lyric_engraver (); diff --git a/lily/include/lyric-performer.hh b/lily/include/lyric-performer.hh index 6619ab29ee..89890b4982 100644 --- a/lily/include/lyric-performer.hh +++ b/lily/include/lyric-performer.hh @@ -22,7 +22,7 @@ public: protected: void do_print() const; virtual bool do_try_music (Music* req_l); - virtual void do_process_requests(); + virtual void do_process_music(); virtual void do_pre_move_processing (); private: diff --git a/lily/include/molecule.hh b/lily/include/molecule.hh index 6992a2fa42..ec5ed0e409 100644 --- a/lily/include/molecule.hh +++ b/lily/include/molecule.hh @@ -73,9 +73,14 @@ public: Box extent() const; Interval extent (Axis) const; bool empty_b() const; - void print ()const; + + + /*******/ }; SCM fontify_atom (Font_metric*, SCM atom); + + + #endif diff --git a/lily/include/multi-measure-rest.hh b/lily/include/multi-measure-rest.hh index 527e93fcd6..8dfbba2f5f 100644 --- a/lily/include/multi-measure-rest.hh +++ b/lily/include/multi-measure-rest.hh @@ -25,7 +25,7 @@ protected: VIRTUAL_COPY_CONS (Score_element); virtual void do_add_processing (); - virtual void do_post_processing (); + virtual void after_line_breaking (); virtual Array get_rods () const; }; diff --git a/lily/include/note-column.hh b/lily/include/note-column.hh index 48f6215d48..df0876b598 100644 --- a/lily/include/note-column.hh +++ b/lily/include/note-column.hh @@ -17,7 +17,7 @@ (chord) and scripts) as a single entity. */ class Note_column : public Axis_group_item { protected: - virtual void do_post_processing () ; + virtual void after_line_breaking () ; public: static int shift_compare (Note_column *const &, Note_column*const&); diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index fbebc0a404..dcdeca9ca4 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -23,7 +23,7 @@ public: Molecule ledger_line (Interval) const; protected: - virtual void do_pre_processing(); + virtual void before_line_breaking (); virtual Molecule do_brew_molecule() const; }; #endif // NOTEHEAD_HH diff --git a/lily/include/note-heads-engraver.hh b/lily/include/note-heads-engraver.hh index 1d8d667975..39eb3868fe 100644 --- a/lily/include/note-heads-engraver.hh +++ b/lily/include/note-heads-engraver.hh @@ -24,7 +24,7 @@ public: protected: virtual bool do_try_music (Music *req_l) ; - virtual void do_process_requests(); + virtual void do_process_music(); virtual void do_pre_move_processing(); }; diff --git a/lily/include/note-performer.hh b/lily/include/note-performer.hh index beaae306d9..f9af35188d 100644 --- a/lily/include/note-performer.hh +++ b/lily/include/note-performer.hh @@ -21,7 +21,7 @@ public: Note_performer(); protected: - virtual void do_process_requests (); + virtual void do_process_music (); virtual bool do_try_music (Music *req_l) ; virtual void do_print () const; virtual void do_pre_move_processing (); diff --git a/lily/include/repeat-engraver.hh b/lily/include/repeat-engraver.hh index f3887077b3..bd8bbd9237 100644 --- a/lily/include/repeat-engraver.hh +++ b/lily/include/repeat-engraver.hh @@ -40,7 +40,7 @@ protected: virtual void acknowledge_element (Score_element_info i); virtual void do_removal_processing (); virtual bool do_try_music (Music *req_l); - virtual void do_process_requests(); + virtual void do_process_music(); virtual void do_pre_move_processing(); virtual void do_post_move_processing (); void queue_events (); diff --git a/lily/include/rest-collision.hh b/lily/include/rest-collision.hh index 8de616c71d..eac7a48a0f 100644 --- a/lily/include/rest-collision.hh +++ b/lily/include/rest-collision.hh @@ -20,6 +20,6 @@ public: Rest_collision(); protected: - virtual void do_pre_processing(); + virtual void before_line_breaking (); }; #endif // REST_COLLISION_HH diff --git a/lily/include/rest-engraver.hh b/lily/include/rest-engraver.hh index a3b6ced3e3..54d5967480 100644 --- a/lily/include/rest-engraver.hh +++ b/lily/include/rest-engraver.hh @@ -21,7 +21,7 @@ protected: virtual bool do_try_music (Music *); virtual void do_pre_move_processing (); virtual void do_post_move_processing (); - virtual void do_process_requests (); + virtual void do_process_music (); public: VIRTUAL_COPY_CONS(Translator); diff --git a/lily/include/rest.hh b/lily/include/rest.hh index 56b13441a6..21ab46ae03 100644 --- a/lily/include/rest.hh +++ b/lily/include/rest.hh @@ -15,7 +15,7 @@ class Rest : public Rhythmic_head { protected: - virtual void do_post_processing (); + virtual void after_line_breaking (); virtual Molecule do_brew_molecule () const; }; #endif // REST_HH diff --git a/lily/include/rhythmic-head.hh b/lily/include/rhythmic-head.hh index 3de4c87ace..2435085d57 100644 --- a/lily/include/rhythmic-head.hh +++ b/lily/include/rhythmic-head.hh @@ -23,7 +23,7 @@ public: Dots * dots_l () const; int dot_count () const; protected: - virtual void do_post_processing (); + virtual void after_line_breaking (); }; #endif // RHYTHMIC_HEAD_HH diff --git a/lily/include/scm-hash.hh b/lily/include/scm-hash.hh index 0a15bfce9a..409fc1a3cf 100644 --- a/lily/include/scm-hash.hh +++ b/lily/include/scm-hash.hh @@ -10,19 +10,41 @@ #ifndef SCM_HASH_HH #define SCM_HASH_HH + +#include + #include "lily-guile.hh" #include "hash-table.hh" #include "smobs.hh" +#define usestl + +struct SCM_less +{ + bool operator () (SCM s1, SCM s2) const + { + return long(s1) < long (s2); + } +}; + +typedef map Scm_stl_map; + /** auto resizing hash table. This should come from GUILE. */ -class Scheme_hash_table : private Hash_table +class Scheme_hash_table : private Scm_stl_map { public: +#ifndef usestl // bool elem_b (SCM k) const; Hash_table::try_retrieve; Hash_table::elem_b; +#else + bool try_retrieve (SCM key, SCM *val); + bool elem_b (SCM key) const; +#endif + + /** WARNING: putting something in assumes responsibility for cleaning up. */ diff --git a/lily/include/score-element.hh b/lily/include/score-element.hh index e3bec466ef..8eb39f509b 100644 --- a/lily/include/score-element.hh +++ b/lily/include/score-element.hh @@ -141,14 +141,14 @@ protected: ///executed directly after the item is added to the Paper_score virtual void do_add_processing (); /// do calculations before determining horizontal spacing - virtual void do_pre_processing (); + virtual void before_line_breaking (); /// generate rods & springs virtual void do_space_processing (); virtual void do_breakable_col_processing (); /// do calculations after determining horizontal spacing - virtual void do_post_processing (); + virtual void after_line_breaking (); virtual Link_array get_extra_dependencies () const; diff --git a/lily/include/script-column.hh b/lily/include/script-column.hh index 4f6e2bca81..9e2b9ded5f 100644 --- a/lily/include/script-column.hh +++ b/lily/include/script-column.hh @@ -18,7 +18,7 @@ public: Script_column(); void add_staff_sided (Item*); protected: - virtual void do_pre_processing (); + virtual void before_line_breaking (); }; diff --git a/lily/include/script.hh b/lily/include/script.hh index b9c0be1238..c6ee25529e 100644 --- a/lily/include/script.hh +++ b/lily/include/script.hh @@ -24,8 +24,8 @@ class Script : public Item public: protected: - virtual void do_pre_processing (); - virtual void do_post_processing (); + virtual void before_line_breaking (); + virtual void after_line_breaking (); Molecule do_brew_molecule () const; }; diff --git a/lily/include/slur-engraver.hh b/lily/include/slur-engraver.hh index d82cb95cdb..f639783421 100644 --- a/lily/include/slur-engraver.hh +++ b/lily/include/slur-engraver.hh @@ -19,7 +19,7 @@ class Slur_engraver :public Engraver { void set_melisma (bool); protected: virtual bool do_try_music (Music*); - virtual void do_process_requests(); + virtual void do_process_music(); virtual void acknowledge_element (Score_element_info); virtual void do_pre_move_processing(); virtual void do_post_move_processing(); diff --git a/lily/include/slur.hh b/lily/include/slur.hh index 93844719cc..cb202f1e93 100644 --- a/lily/include/slur.hh +++ b/lily/include/slur.hh @@ -30,7 +30,7 @@ protected: Drul_array dx_f_drul_; virtual Direction get_default_dir () const; - virtual void do_post_processing (); + virtual void after_line_breaking (); virtual void do_add_processing (); Array get_rods () const; diff --git a/lily/include/span-bar.hh b/lily/include/span-bar.hh index 8100bbafed..bc93e8fe3d 100644 --- a/lily/include/span-bar.hh +++ b/lily/include/span-bar.hh @@ -36,9 +36,9 @@ protected: static Interval width_callback(Dimension_cache const*) ; static Interval height_callback(Dimension_cache const*) ; - virtual void do_pre_processing(); - virtual void do_post_processing(); - virtual Molecule do_brew_molecule() const; + virtual Real get_bar_size () const; + virtual void before_line_breaking (); + virtual void after_line_breaking (); }; #endif // SPAN_BAR_HH diff --git a/lily/include/staff-performer.hh b/lily/include/staff-performer.hh index 4c552e081f..12abd08cfb 100644 --- a/lily/include/staff-performer.hh +++ b/lily/include/staff-performer.hh @@ -30,7 +30,7 @@ protected: virtual void play_element (Audio_element* p); virtual void do_removal_processing (); virtual void do_creation_processing (); - virtual void do_process_requests (); + virtual void do_process_music (); virtual void do_pre_move_processing (); private: diff --git a/lily/include/stem-engraver.hh b/lily/include/stem-engraver.hh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lily/include/stem.hh b/lily/include/stem.hh index b31627019f..8eee7cee7e 100644 --- a/lily/include/stem.hh +++ b/lily/include/stem.hh @@ -89,7 +89,7 @@ protected: protected: Molecule flag () const; - virtual void do_pre_processing(); + virtual void before_line_breaking(); static Interval dim_callback (Dimension_cache const*); virtual Molecule do_brew_molecule() const; diff --git a/lily/include/super-element.hh b/lily/include/super-element.hh index cdc121c06e..8c574bb683 100644 --- a/lily/include/super-element.hh +++ b/lily/include/super-element.hh @@ -27,7 +27,6 @@ public: void space_processing (); void pre_processing(); void breakable_col_processing(); - void break_processing(); void post_processing(); void output_all (); }; diff --git a/lily/include/tempo-performer.hh b/lily/include/tempo-performer.hh index fc7be5139a..086b731cd3 100644 --- a/lily/include/tempo-performer.hh +++ b/lily/include/tempo-performer.hh @@ -23,7 +23,7 @@ public: protected: void do_print() const; virtual bool do_try_music (Music* req_l); - virtual void do_process_requests(); + virtual void do_process_music(); virtual void do_pre_move_processing (); private: diff --git a/lily/include/tie-column.hh b/lily/include/tie-column.hh index d4de3697df..cdbe522201 100644 --- a/lily/include/tie-column.hh +++ b/lily/include/tie-column.hh @@ -20,7 +20,7 @@ public: void add_tie (Tie*); Tie_column (); protected: - virtual void do_post_processing (); + virtual void after_line_breaking (); void set_directions (); }; diff --git a/lily/include/tie-performer.hh b/lily/include/tie-performer.hh index 8e3d9d50e8..6b1f924470 100644 --- a/lily/include/tie-performer.hh +++ b/lily/include/tie-performer.hh @@ -54,7 +54,7 @@ protected: virtual void do_pre_move_processing (); virtual void acknowledge_element (Audio_element_info); virtual bool do_try_music (Music*); - virtual void do_process_requests (); + virtual void do_process_music (); virtual void process_acknowledged (); }; diff --git a/lily/include/tie.hh b/lily/include/tie.hh index 53dc0733ec..4240193247 100644 --- a/lily/include/tie.hh +++ b/lily/include/tie.hh @@ -37,7 +37,7 @@ protected: Drul_array dx_f_drul_; virtual void do_add_processing (); - virtual void do_post_processing (); + virtual void after_line_breaking (); virtual Array get_rods () const; diff --git a/lily/include/time-signature-engraver.hh b/lily/include/time-signature-engraver.hh index aa35e921ee..11959f816f 100644 --- a/lily/include/time-signature-engraver.hh +++ b/lily/include/time-signature-engraver.hh @@ -17,7 +17,7 @@ */ class Time_signature_engraver : public Engraver { protected: - virtual void do_process_requests(); + virtual void do_process_music(); virtual void do_pre_move_processing(); public: VIRTUAL_COPY_CONS(Translator); diff --git a/lily/include/time-signature-performer.hh b/lily/include/time-signature-performer.hh index c2c8330715..7226d1c086 100644 --- a/lily/include/time-signature-performer.hh +++ b/lily/include/time-signature-performer.hh @@ -23,7 +23,7 @@ public: protected: void do_print() const; virtual bool do_try_music (Music* req_l); - virtual void do_process_requests(); + virtual void do_process_music(); virtual void do_pre_move_processing (); private: diff --git a/lily/include/timing-translator.hh b/lily/include/timing-translator.hh index 4309878562..c60d4de3b5 100644 --- a/lily/include/timing-translator.hh +++ b/lily/include/timing-translator.hh @@ -26,7 +26,7 @@ public: protected: virtual void do_creation_processing (); virtual bool do_try_music (Music *req_l); - virtual void do_process_requests(); + virtual void do_process_music(); virtual void do_pre_move_processing(); virtual void do_post_move_processing(); diff --git a/lily/include/translator-group.hh b/lily/include/translator-group.hh index 11df320ce8..b2cba74b19 100644 --- a/lily/include/translator-group.hh +++ b/lily/include/translator-group.hh @@ -76,7 +76,7 @@ protected: bool try_music_on_nongroup_children (Music *m); virtual void do_print () const; - virtual void do_process_requests (); + virtual void do_process_music (); virtual void do_add_processing (); virtual bool do_try_music (Music* req_l); virtual void do_pre_move_processing(); diff --git a/lily/include/translator.hh b/lily/include/translator.hh index 7740fc7a9c..f7afd50cfa 100644 --- a/lily/include/translator.hh +++ b/lily/include/translator.hh @@ -91,7 +91,7 @@ protected: virtual void do_print () const; virtual void do_pre_move_processing(); virtual void do_post_move_processing(); - virtual void do_process_requests () ; + virtual void do_process_music () ; virtual void do_creation_processing() ; virtual void do_removal_processing(); }; diff --git a/lily/include/tuplet-spanner.hh b/lily/include/tuplet-spanner.hh index a38a9dcb4c..b851d1f626 100644 --- a/lily/include/tuplet-spanner.hh +++ b/lily/include/tuplet-spanner.hh @@ -31,7 +31,7 @@ protected: virtual Molecule do_brew_molecule () const; VIRTUAL_COPY_CONS(Score_element); virtual void do_add_processing (); - virtual void do_post_processing (); + virtual void after_line_breaking (); virtual Direction get_default_dir () const; }; diff --git a/lily/include/volta-spanner.hh b/lily/include/volta-spanner.hh index bdc42ffdf4..9630477fa8 100644 --- a/lily/include/volta-spanner.hh +++ b/lily/include/volta-spanner.hh @@ -27,7 +27,7 @@ protected: virtual void do_add_processing (); static Interval dim_callback (Dimension_cache const*); - virtual void do_post_processing (); + virtual void after_line_breaking (); }; #endif // VOLTA_SPANNER_HH diff --git a/lily/key-engraver.cc b/lily/key-engraver.cc index 161f323b0f..b9f0ec4e29 100644 --- a/lily/key-engraver.cc +++ b/lily/key-engraver.cc @@ -106,7 +106,7 @@ Key_engraver::acknowledge_element (Score_element_info info) } void -Key_engraver::do_process_requests () +Key_engraver::do_process_music () { if (keyreq_l_) { diff --git a/lily/key-item.cc b/lily/key-item.cc index 55c594c01c..52d76b5769 100644 --- a/lily/key-item.cc +++ b/lily/key-item.cc @@ -130,7 +130,7 @@ Key_item::do_brew_molecule() const Interval x(0, inter); Interval y(0,0); - mol.add_at_edge (X_AXIS, RIGHT, lookup_l()->fill (Box(x,y)),0); + mol.add_at_edge (X_AXIS, RIGHT, lookup_l()->blank (Box(x,y)),0); } for (int i =0; i < pitch_arr_.size(); i++) diff --git a/lily/key-performer.cc b/lily/key-performer.cc index d026cf590d..6c4132a451 100644 --- a/lily/key-performer.cc +++ b/lily/key-performer.cc @@ -35,7 +35,7 @@ Key_performer::do_print () const } void -Key_performer::do_process_requests () +Key_performer::do_process_music () { if (key_req_l_) { diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc index 09eca147be..dd14be84fe 100644 --- a/lily/lily-guile.cc +++ b/lily/lily-guile.cc @@ -11,6 +11,7 @@ #include #include +#include // isinf #include "libc-extension.hh" #include "lily-guile.hh" @@ -217,16 +218,6 @@ ly_isdir_p (SCM s) } -static void -init_functions () -{ - scm_make_gsubr ("ly-warn", 1, 0, 0, (SCM(*)(...))ly_warning); - scm_make_gsubr ("ly-gulp-file", 1,0, 0, (SCM(*)(...))ly_gulp_file); - scm_make_gsubr ("dir?", 1,0, 0, (SCM(*)(...))ly_isdir_p); -} - -ADD_SCM_INIT_FUNC(funcs, init_functions); - typedef void (*Void_fptr)(); Array *scm_init_funcs_; @@ -367,3 +358,47 @@ ly_type (SCM exp) return ly_str02scm (cp); } + +/* + convert without too many decimals, and leave a space at the end. + */ + + +SCM +ly_number2string (SCM s) +{ + assert (gh_number_p (s)); + + char str[100]; // ugh. + + if (scm_integer_p (s)) + { + Real r (gh_scm2double (s)); + + if (isinf (r) || isnan (r)) + { + programming_error ("Infinity or NaN encountered while converting Real number; setting to zero."); + r = 0.0; + } + + sprintf (str, "%8.4f ", r); + } + else + { + sprintf (str, "%d ", gh_scm2int (s)); + } + + return gh_str02scm (str); +} + + +static void +init_functions () +{ + scm_make_gsubr ("ly-warn", 1, 0, 0, (SCM(*)(...))ly_warning); + scm_make_gsubr ("ly-gulp-file", 1,0, 0, (SCM(*)(...))ly_gulp_file); + scm_make_gsubr ("dir?", 1,0, 0, (SCM(*)(...))ly_isdir_p); + scm_make_gsubr ("ly-number->string", 1, 0,0, (SCM(*)(...)) ly_number2string); +} + +ADD_SCM_INIT_FUNC(funcs, init_functions); diff --git a/lily/local-key-engraver.cc b/lily/local-key-engraver.cc index 228ec8d157..bfd5390b9c 100644 --- a/lily/local-key-engraver.cc +++ b/lily/local-key-engraver.cc @@ -34,7 +34,7 @@ struct Local_key_engraver : Engraver { Local_key_item *key_item_p_; protected: VIRTUAL_COPY_CONS(Translator); - virtual void do_process_requests(); + virtual void do_process_music(); virtual void acknowledge_element (Score_element_info); virtual void do_pre_move_processing(); virtual void do_creation_processing (); @@ -218,7 +218,7 @@ Local_key_engraver::acknowledge_element (Score_element_info info) } void -Local_key_engraver::do_process_requests() +Local_key_engraver::do_process_music() { if (time_trans_l_ && !time_trans_l_->measure_position ()) { diff --git a/lily/local-key-item.cc b/lily/local-key-item.cc index 249abd0743..354e49cd1e 100644 --- a/lily/local-key-item.cc +++ b/lily/local-key-item.cc @@ -33,7 +33,7 @@ Local_key_item::add_pitch (Musical_pitch p, bool cautionary, bool natural) void -Local_key_item::do_pre_processing() +Local_key_item::before_line_breaking () { accidental_arr_.sort (Local_key_cautionary_tuple::compare); } @@ -126,7 +126,7 @@ Local_key_item::do_brew_molecule() const Box b(Interval (0, gh_scm2double (pads[d]) * note_distance), Interval (0,0)); - Molecule m (lookup_l ()->fill (b)); + Molecule m (lookup_l ()->blank (b)); mol.add_at_edge (X_AXIS, d, m, 0); } while ( flip (&d)!= LEFT); } diff --git a/lily/lookup.cc b/lily/lookup.cc index 2be2e39093..0f422458ee 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -12,10 +12,10 @@ */ #include #include + #include "lookup.hh" #include "debug.hh" #include "dimensions.hh" - #include "bezier.hh" #include "paper-def.hh" #include "string-convert.hh" @@ -75,98 +75,8 @@ Lookup::afm_find (String s, bool warn) const return Molecule ( afm_bbox_to_box (cm->charBBox), at); } -Molecule -Lookup::simple_bar (String type, Real h, Paper_def* paper_l) const -{ - SCM thick = ly_symbol2scm (("barthick_" + type).ch_C()); - Real w = 0.0; - - if (paper_l->scope_p_->elem_b (thick)) - { - w = paper_l->get_realvar (thick); - } - else - { - programming_error ("No bar thickness set ! "); - w = 1 PT; - } - return filledbox (Box (Interval(0,w), Interval(-h/2, h/2))); -} - -Molecule -Lookup::bar (String str, Real h, Paper_def *paper_l) const -{ - if (str == "bracket") - return staff_bracket (h, paper_l); - else if (str == "brace") - { - Real staffht = paper_l->get_var ("staffheight"); - return staff_brace (h,staffht); - } - Real kern = paper_l->get_var ("bar_kern"); - Real thinkern = paper_l->get_var ("bar_thinkern"); - Molecule thin = simple_bar ("thin", h, paper_l); - Molecule thick = simple_bar ("thick", h, paper_l); - Molecule colon = afm_find ("dots-repeatcolon", paper_l); - - Molecule m; - - if (str == "") - { - return fill (Box (Interval(0, 0), Interval (-h/2, h/2))); - } - if (str == "scorepostbreak") - { - return simple_bar ("score", h, paper_l); - } - else if (str == "|") - { - return thin; - } - else if (str == "|.") - { - m.add_at_edge (X_AXIS, LEFT, thick, 0); - m.add_at_edge (X_AXIS, LEFT, thin, kern); - } - else if (str == ".|") - { - m.add_at_edge (X_AXIS, RIGHT, thick, 0); - m.add_at_edge (X_AXIS, RIGHT, thin, kern); - } - else if (str == ":|") - { - m.add_at_edge (X_AXIS, LEFT, thick, 0); - m.add_at_edge (X_AXIS, LEFT, thin, kern); - m.add_at_edge (X_AXIS, LEFT, colon, kern); - } - else if (str == "|:") - { - m.add_at_edge (X_AXIS, RIGHT, thick, 0); - m.add_at_edge (X_AXIS, RIGHT, thin, kern); - m.add_at_edge (X_AXIS, RIGHT, colon, kern); - } - else if (str == ":|:") - { - m.add_at_edge (X_AXIS, LEFT, thick, thinkern); - m.add_at_edge (X_AXIS, LEFT, colon, kern); - m.add_at_edge (X_AXIS, RIGHT, thick, kern); - m.add_at_edge (X_AXIS, RIGHT, colon, kern); - } - else if (str == ".|.") - { - m.add_at_edge (X_AXIS, LEFT, thick, thinkern); - m.add_at_edge (X_AXIS, RIGHT, thick, kern); - } - else if (str == "||") - { - m.add_at_edge (X_AXIS, RIGHT, thin, 0); - m.add_at_edge (X_AXIS, RIGHT, thin, thinkern); - } - - return m; -} Molecule Lookup::beam (Real slope, Real width, Real thick) @@ -215,7 +125,7 @@ Lookup::dashed_slur (Bezier b, Real thick, Real dash) Molecule -Lookup::fill (Box b) +Lookup::blank (Box b) { Molecule m; m.dim_ = b; @@ -392,32 +302,6 @@ Lookup::text (String style, String text, Paper_def *paper_l) -Molecule -Lookup::staff_brace (Real y, int staff_size) -{ - // URG - Real step = 1.0; - int minht = 2 * staff_size; - int maxht = 7 * minht; - int idx = int (((maxht - step) ? 0; - - SCM l = ly_eval_str ("(style-to-cmr \"brace\")"); - String nm = "feta-braces"; - if (l != SCM_BOOL_F) - nm = ly_scm2string (gh_cdr (l)); - nm += to_str (staff_size); - SCM e =gh_list (ly_symbol2scm ("char"), gh_int2scm (idx), SCM_UNDEFINED); - SCM at = (e); - - at = fontify_atom (all_fonts_global_p->find_font (nm), at); - - Box b ( Interval (-y/2,y/2), - Interval (0,0)); - return Molecule(b, at); -} - - /* Make a smooth curve along the points */ @@ -458,28 +342,6 @@ Lookup::slur (Bezier curve, Real curvethick, Real linethick) return Molecule (b, at); } -Molecule -Lookup::staff_bracket (Real height, Paper_def* paper_l) -{ - SCM at = ( gh_list (ly_symbol2scm ("bracket"), - gh_double2scm (paper_l->get_var("bracket_arch_angle")), - gh_double2scm (paper_l->get_var("bracket_arch_width")), - gh_double2scm (paper_l->get_var("bracket_arch_height")), - gh_double2scm (paper_l->get_var("bracket_width")), - gh_double2scm (height), - gh_double2scm (paper_l->get_var("bracket_arch_thick")), - gh_double2scm (paper_l->get_var("bracket_thick")), - SCM_UNDEFINED)); - - Real staff_space = paper_l->get_var ("interline"); - Box b (Interval (0, 1.5 * staff_space), Interval (-height/2,height/2)); - Molecule mol (b, at); - - mol.translate_axis (- mol.dim_[X_AXIS].length () / 2, X_AXIS); - return mol; -} - - Molecule Lookup::accordion (SCM s, Real staff_space) const { diff --git a/lily/lyric-engraver.cc b/lily/lyric-engraver.cc index 60c59e8141..61e12a1c51 100644 --- a/lily/lyric-engraver.cc +++ b/lily/lyric-engraver.cc @@ -36,7 +36,7 @@ Lyric_engraver::do_try_music (Music*r) } void -Lyric_engraver::do_process_requests() +Lyric_engraver::do_process_music() { if (req_l_) { diff --git a/lily/lyric-performer.cc b/lily/lyric-performer.cc index 5a5be59567..e07fe0f4fe 100644 --- a/lily/lyric-performer.cc +++ b/lily/lyric-performer.cc @@ -27,7 +27,7 @@ Lyric_performer::do_print () const } void -Lyric_performer::do_process_requests () +Lyric_performer::do_process_music () { if (lreq_arr_.size () && lreq_arr_[0]->text_str_.length_i ()) { diff --git a/lily/mark-engraver.cc b/lily/mark-engraver.cc index 3c3777d5e8..1158daec6e 100644 --- a/lily/mark-engraver.cc +++ b/lily/mark-engraver.cc @@ -20,7 +20,7 @@ public: VIRTUAL_COPY_CONS(Translator); protected: virtual bool do_try_music (Music *req_l); - virtual void do_process_requests (); + virtual void do_process_music (); virtual void do_post_move_processing (); private: Mark_req * mark_req_l_; @@ -59,7 +59,7 @@ Mark_engraver::do_try_music (Music* r_l) } void -Mark_engraver::do_process_requests () +Mark_engraver::do_process_music () { if (mark_req_l_) { diff --git a/lily/molecule.cc b/lily/molecule.cc index 5620a92d18..ac70426542 100644 --- a/lily/molecule.cc +++ b/lily/molecule.cc @@ -104,13 +104,6 @@ Molecule::set_empty (bool e) } } -void -Molecule::print () const -{ -#ifndef NPRINT - gh_display (expr_); -#endif -} void Molecule::align_to (Axis a, Direction d) diff --git a/lily/multi-measure-rest-engraver.cc b/lily/multi-measure-rest-engraver.cc index 2ed4779388..de6975998a 100644 --- a/lily/multi-measure-rest-engraver.cc +++ b/lily/multi-measure-rest-engraver.cc @@ -26,7 +26,7 @@ public: protected: virtual void acknowledge_element (Score_element_info i); - virtual void do_process_requests (); + virtual void do_process_music (); virtual bool do_try_music (Music*); virtual void do_pre_move_processing (); virtual void do_post_move_processing (); @@ -87,7 +87,7 @@ Multi_measure_rest_engraver::do_try_music (Music* req_l) void -Multi_measure_rest_engraver::do_process_requests () +Multi_measure_rest_engraver::do_process_music () { if (new_req_l_ && stop_req_l_) stop_req_l_ = 0; diff --git a/lily/multi-measure-rest.cc b/lily/multi-measure-rest.cc index 81ba1f26da..6001e531bf 100644 --- a/lily/multi-measure-rest.cc +++ b/lily/multi-measure-rest.cc @@ -151,7 +151,7 @@ Multi_measure_rest::do_add_processing () } void -Multi_measure_rest::do_post_processing () +Multi_measure_rest::after_line_breaking () { if (!gh_pair_p (get_elt_property ("columns"))) set_elt_property ("transparent", SCM_BOOL_T); diff --git a/lily/note-column.cc b/lily/note-column.cc index 8dca8fc061..ab801410ff 100644 --- a/lily/note-column.cc +++ b/lily/note-column.cc @@ -147,7 +147,7 @@ Note_column::set_dotcol (Dot_column *d) */ void -Note_column::do_post_processing () +Note_column::after_line_breaking () { if (!stem_l () || !rest_b ()) return; diff --git a/lily/note-head.cc b/lily/note-head.cc index 188d967f3b..ea39db1104 100644 --- a/lily/note-head.cc +++ b/lily/note-head.cc @@ -53,7 +53,7 @@ Note_head::ledger_line (Interval xwid) const void -Note_head::do_pre_processing () +Note_head::before_line_breaking () { // 8 ball looks the same as 4 ball: String type; diff --git a/lily/note-heads-engraver.cc b/lily/note-heads-engraver.cc index 4a397581a3..9dcc875192 100644 --- a/lily/note-heads-engraver.cc +++ b/lily/note-heads-engraver.cc @@ -53,7 +53,7 @@ Note_heads_engraver::do_try_music (Music *m) } void -Note_heads_engraver::do_process_requests() +Note_heads_engraver::do_process_music() { if (note_p_arr_.size ()) return ; diff --git a/lily/note-name-engraver.cc b/lily/note-name-engraver.cc index a87cea19ff..4c629dd2b7 100644 --- a/lily/note-name-engraver.cc +++ b/lily/note-name-engraver.cc @@ -18,7 +18,7 @@ public: Link_array req_l_arr_; Link_array texts_; virtual bool do_try_music (Music*m); - virtual void do_process_requests (); + virtual void do_process_music (); virtual void do_pre_move_processing (); }; @@ -35,7 +35,7 @@ Note_name_engraver::do_try_music (Music *m) void -Note_name_engraver::do_process_requests () +Note_name_engraver::do_process_music () { String s ; for (int i=0; i < req_l_arr_.size (); i++) diff --git a/lily/note-performer.cc b/lily/note-performer.cc index 6e2bab25ca..c0f8cf48ef 100644 --- a/lily/note-performer.cc +++ b/lily/note-performer.cc @@ -31,7 +31,7 @@ Note_performer::do_print () const } void -Note_performer::do_process_requests () +Note_performer::do_process_music () { if (note_req_l_arr_.size ()) { diff --git a/lily/output-property-engraver.hh b/lily/output-property-engraver.hh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lily/property-engraver.cc b/lily/property-engraver.cc index e8f4aff10a..ba0c1ee4e1 100644 --- a/lily/property-engraver.cc +++ b/lily/property-engraver.cc @@ -74,8 +74,8 @@ Property_engraver::apply_properties (SCM p, Score_element *e) { SCM errport = scm_current_error_port (); warning (_("Wrong type for property")); - - scm_puts ("type predicate: ", errport); + scm_display (prop_sym, errport); + scm_puts (", type predicate: ", errport); scm_display (type_p, errport); scm_puts (", value found: ", errport); scm_display (val, errport); diff --git a/lily/repeat-engraver.cc b/lily/repeat-engraver.cc index ef5a60c3b0..dcf545cf3f 100644 --- a/lily/repeat-engraver.cc +++ b/lily/repeat-engraver.cc @@ -137,7 +137,7 @@ Repeat_engraver::queue_events () } void -Repeat_engraver::do_process_requests () +Repeat_engraver::do_process_music () { if (repeated_music_l_ && !done_this_one_b_) { diff --git a/lily/rest-collision.cc b/lily/rest-collision.cc index 07ab3c764a..4ef293f8f1 100644 --- a/lily/rest-collision.cc +++ b/lily/rest-collision.cc @@ -33,7 +33,7 @@ Rest_collision::add_column (Note_column *nc_l) } void -Rest_collision::do_pre_processing() +Rest_collision::before_line_breaking () { Link_array rest_l_arr = Group_interface__extract_elements (this, (Note_column*) 0, "rests"); diff --git a/lily/rest-engraver.cc b/lily/rest-engraver.cc index 5fe98cf293..fce8f71bbd 100644 --- a/lily/rest-engraver.cc +++ b/lily/rest-engraver.cc @@ -42,7 +42,7 @@ Rest_engraver::do_pre_move_processing () } void -Rest_engraver::do_process_requests () +Rest_engraver::do_process_music () { if (rest_req_l_ && !rest_p_) { diff --git a/lily/rest.cc b/lily/rest.cc index 783372390c..0c4aafee66 100644 --- a/lily/rest.cc +++ b/lily/rest.cc @@ -17,7 +17,7 @@ void -Rest::do_post_processing () +Rest::after_line_breaking () { if (balltype_i () == 0) { diff --git a/lily/rhythmic-head.cc b/lily/rhythmic-head.cc index a96a750f74..015fa2f9aa 100644 --- a/lily/rhythmic-head.cc +++ b/lily/rhythmic-head.cc @@ -49,7 +49,7 @@ Rhythmic_head::dot_count () const } void -Rhythmic_head::do_post_processing () +Rhythmic_head::after_line_breaking () { if (Dots *d = dots_l ()) { diff --git a/lily/scm-hash.cc b/lily/scm-hash.cc index 83357769fa..ebef9e278c 100644 --- a/lily/scm-hash.cc +++ b/lily/scm-hash.cc @@ -11,6 +11,126 @@ #include "scm-hash.hh" #include "hash-table-iter.hh" + +#ifdef usestl + + +Scheme_hash_table::Scheme_hash_table () +{ + self_scm_ = SCM_EOL; + smobify_self (); +} + +void +Scheme_hash_table::operator =(Scheme_hash_table const & src) +{ + Scm_stl_map::operator = (src); + + // we do not copy the self_scm_ field! +} + +void +Scheme_hash_table::do_smobify_self () +{ +} + + +SCM +Scheme_hash_table::mark_smob (SCM s) +{ + /* + can't typecheck naively, since GC bit lives in CAR of S + */ + + Scheme_hash_table *me = SMOB_TO_TYPE(Scheme_hash_table,s); + + for (Scm_stl_map::const_iterator i= me->begin (); i != me->end(); i++) + { + scm_gc_mark ((*i).first); + scm_gc_mark ((*i).second); + } + return SCM_EOL; +} + + +Scheme_hash_table::Scheme_hash_table (Scheme_hash_table const &src) + : Scm_stl_map (src) +{ + self_scm_ = SCM_EOL; + smobify_self (); +} + +int +Scheme_hash_table::print_smob (SCM s, SCM p, scm_print_state*) +{ + assert (SMOB_IS_TYPE_B (Scheme_hash_table, s)); + char str[1000]; + sprintf (str, "#begin (); i != me->end(); i++) + { + scm_display ((*i).first, p); + scm_puts (" = ",p); + scm_display ((*i).second, p); + scm_puts ("\n",p); + } + scm_puts ("> ",p); + return 1; +} + +bool +Scheme_hash_table::try_retrieve (SCM k, SCM *v) +{ + Scm_stl_map ::const_iterator i (find (k)); + bool found = i != end (); + if (found) + *v = (*i).second; + return found; +} + +bool +Scheme_hash_table::elem_b (SCM k) const +{ + Scm_stl_map::const_iterator i (find (k)); + return i != end (); +} + +void +Scheme_hash_table::set (SCM k, SCM v) +{ + (*this)[k] = v; + scm_unprotect_object (v); +} + +// UGH. +SCM +Scheme_hash_table::get (SCM k)const +{ + return (*(Scheme_hash_table*)this)[k]; +} + + +Scheme_hash_table::~Scheme_hash_table( ) +{ + unsmobify_self (); +} + +SCM +Scheme_hash_table::to_alist () const +{ + SCM l = SCM_EOL; + for (Scm_stl_map ::const_iterator i = begin (); i != end(); i++) + l = gh_cons (gh_cons ((*i).first, (*i).second), l); + return l; +} + + +#include "ly-smobs.icc" +IMPLEMENT_UNSMOB(Scheme_hash_table,scheme_hash); +IMPLEMENT_SMOBS(Scheme_hash_table); + +#else Scheme_hash_table::Scheme_hash_table () { hash_func_ = ly_scm_hash; @@ -110,3 +230,4 @@ Scheme_hash_table::to_alist () const #include "ly-smobs.icc" IMPLEMENT_UNSMOB(Scheme_hash_table,scheme_hash); IMPLEMENT_SMOBS(Scheme_hash_table); +#endif diff --git a/lily/score-element.cc b/lily/score-element.cc index bdc28e626a..141d95a22d 100644 --- a/lily/score-element.cc +++ b/lily/score-element.cc @@ -274,7 +274,7 @@ Score_element::do_break_processing() } void -Score_element::do_post_processing() +Score_element::after_line_breaking () { } @@ -285,7 +285,7 @@ Score_element::do_breakable_col_processing() } void -Score_element::do_pre_processing() +Score_element::before_line_breaking () { } @@ -312,9 +312,9 @@ Score_element::do_brew_molecule() const } else { - Interval emp; - emp.set_empty (); - return lookup_l ()->fill (Box (emp,emp)); + Molecule m ; + m.set_empty (true); + return m; } } @@ -555,28 +555,28 @@ Score_element::fixup_refpoint () for (int a = X_AXIS; a < NO_AXES; a ++) { Axis ax = (Axis)a; - Score_element * par = parent_l (ax); + Score_element * parent = parent_l (ax); - if (!par) + if (!parent) continue; - if (par->line_l () != line_l ()) + if (parent->line_l () != line_l ()) { - Score_element * newpar = par->find_broken_piece (line_l ()); - set_parent (newpar, ax); + Score_element * newparent = parent->find_broken_piece (line_l ()); + set_parent (newparent, ax); } if (Item * i = dynamic_cast (this)) { - Item *pari = dynamic_cast (par); + Item *parenti = dynamic_cast (parent); - if (pari && i) + if (parenti && i) { Direction my_dir = i->break_status_dir () ; - if (my_dir!= pari->break_status_dir()) + if (my_dir!= parenti->break_status_dir()) { - Item *newpar = pari->find_broken_piece (my_dir); - set_parent (newpar, ax); + Item *newparent = parenti->find_broken_piece (my_dir); + set_parent (newparent, ax); } } } diff --git a/lily/script-column.cc b/lily/script-column.cc index 5c892091a7..a386058d87 100644 --- a/lily/script-column.cc +++ b/lily/script-column.cc @@ -41,7 +41,7 @@ staff_side_compare (Item * const &i1, } void -Script_column::do_pre_processing () +Script_column::before_line_breaking () { Drul_array > arrs; Link_array staff_sided diff --git a/lily/script-engraver.cc b/lily/script-engraver.cc index 74d8b93f9f..5498b5b7f6 100644 --- a/lily/script-engraver.cc +++ b/lily/script-engraver.cc @@ -25,7 +25,7 @@ public: Script_engraver(); protected: virtual bool do_try_music (Music*); - virtual void do_process_requests (); + virtual void do_process_music (); virtual void do_pre_move_processing (); virtual void do_post_move_processing (); virtual void acknowledge_element (Score_element_info); @@ -54,7 +54,7 @@ Script_engraver::do_try_music (Music *r_l) } void -Script_engraver::do_process_requests() +Script_engraver::do_process_music() { for (int i=0; i < script_req_l_arr_.size(); i++) { diff --git a/lily/script.cc b/lily/script.cc index 7e19e16940..6f96f1b7b8 100644 --- a/lily/script.cc +++ b/lily/script.cc @@ -39,7 +39,7 @@ Script::get_molecule(Direction d) const void -Script::do_pre_processing () +Script::before_line_breaking () { /* center my self on the note head. @@ -49,7 +49,7 @@ Script::do_pre_processing () } void -Script::do_post_processing () +Script::after_line_breaking () { Side_position_interface i (this); Direction d = i.get_direction (); diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc index 61a7d6ce03..0b1a8c6839 100644 --- a/lily/slur-engraver.cc +++ b/lily/slur-engraver.cc @@ -63,7 +63,7 @@ Slur_engraver::do_removal_processing () } void -Slur_engraver::do_process_requests() +Slur_engraver::do_process_music() { Array start_slur_l_arr_; for (int i=0; i< new_slur_req_l_arr_.size(); i++) diff --git a/lily/slur.cc b/lily/slur.cc index 774a5dc132..c2166932a0 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -352,7 +352,7 @@ Slur::encompass_offset (Note_column const* col) const } void -Slur::do_post_processing () +Slur::after_line_breaking () { set_extremities (); set_control_points (); diff --git a/lily/span-bar.cc b/lily/span-bar.cc index 0ee3142afd..4aacb94248 100644 --- a/lily/span-bar.cc +++ b/lily/span-bar.cc @@ -31,16 +31,18 @@ Span_bar::width_callback (Dimension_cache const * c) { Span_bar* s= dynamic_cast (c->element_l ()); String gl = ly_scm2string (s->get_elt_property ("glyph")); - - Molecule m = s->lookup_l ()->bar (gl, 40 PT, s->paper_l ()); + + /*urg. + */ + Molecule m = s->compound_barline (gl, 40 PT); return m.extent (X_AXIS); } void -Span_bar::do_pre_processing () +Span_bar::before_line_breaking () { - Bar::do_pre_processing (); + Bar::before_line_breaking (); evaluate_empty (); @@ -48,9 +50,9 @@ Span_bar::do_pre_processing () } void -Span_bar::do_post_processing () +Span_bar::after_line_breaking () { - Bar::do_post_processing (); + Bar::after_line_breaking (); Interval i(get_spanned_interval ()); translate_axis (i.center (), Y_AXIS); @@ -88,6 +90,10 @@ Span_bar::evaluate_empty () type_str= ".|."; } } + + /* + uhh. should do something with type_str ?!! + */ } Interval @@ -113,6 +119,7 @@ Span_bar::get_spanned_interval () const y_int.unite (y + iv); } } + return y_int; } @@ -123,29 +130,21 @@ Span_bar::height_callback (Dimension_cache const *c) return s->get_spanned_interval (); } -Molecule -Span_bar::do_brew_molecule () const +Real +Span_bar::get_bar_size () const { - Interval iv (get_spanned_interval ()); - Molecule output; - SCM s = get_elt_property ("glyph"); - if (gh_string_p (s) && !iv.empty_b()) - { - output.add_molecule (lookup_l ()->bar (ly_scm2string (s), - iv.length (), - paper_l ())); - } - else - { - programming_error("Huh? My children deflated (FIXME)"); - } - return output; + Interval iv (get_spanned_interval ()); + if (iv.empty_b ()) + { + programming_error("Huh? My children deflated (FIXME)"); + iv = Interval (0,0); + } + return iv.length (); } - - Span_bar::Span_bar () { + group (this).set_interface (); dim_cache_[X_AXIS]->set_callback (width_callback); dim_cache_[Y_AXIS]->set_callback (height_callback); } diff --git a/lily/staff-performer.cc b/lily/staff-performer.cc index 208da51a18..bebb642468 100644 --- a/lily/staff-performer.cc +++ b/lily/staff-performer.cc @@ -45,7 +45,7 @@ Staff_performer::do_creation_processing () } void -Staff_performer::do_process_requests () +Staff_performer::do_process_music () { String str = new_instrument_str (); if (str.length_i ()) @@ -55,7 +55,7 @@ Staff_performer::do_process_requests () instrument_p_ = new Audio_instrument (str); announce_element (Audio_element_info (instrument_p_, 0)); } - Performer_group_performer::do_process_requests (); + Performer_group_performer::do_process_music (); } void diff --git a/lily/stem.cc b/lily/stem.cc index 94417b0634..2b9ca36469 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -367,7 +367,7 @@ Stem::position_noteheads () } void -Stem::do_pre_processing () +Stem::before_line_breaking () { stem_end_position (); // ugh. Trigger direction calc. position_noteheads (); diff --git a/lily/super-element.cc b/lily/super-element.cc index c46d963f21..ee544eafae 100644 --- a/lily/super-element.cc +++ b/lily/super-element.cc @@ -36,7 +36,7 @@ enum Score_element_status { void Super_element::pre_processing () { - calculate_dependencies (PRECALCED, PRECALCING, &Score_element::do_pre_processing); + calculate_dependencies (PRECALCED, PRECALCING, &Score_element::before_line_breaking); } void @@ -56,18 +56,13 @@ Super_element::breakable_col_processing () // calculate_dependencies (PREBROKEN_SECOND, PREBROKEN_SECOND, &Score_element::handle_prebroken_dependents); } -void -Super_element::break_processing () -{ - calculate_dependencies (BROKEN, BROKEN, &Score_element::do_break_processing); -} void Super_element::post_processing () { // calculate_dependencies (BROKEN_SECOND, BROKEN_SECOND, // &Score_element::handle_broken_dependents); - calculate_dependencies (POSTCALCED, POSTCALCING, &Score_element::do_post_processing); + calculate_dependencies (POSTCALCED, POSTCALCING, &Score_element::after_line_breaking); } void diff --git a/lily/tempo-performer.cc b/lily/tempo-performer.cc index 3463d3e8e4..b728730947 100644 --- a/lily/tempo-performer.cc +++ b/lily/tempo-performer.cc @@ -32,7 +32,7 @@ Tempo_performer::do_print () const } void -Tempo_performer::do_process_requests () +Tempo_performer::do_process_music () { if (tempo_req_l_) { diff --git a/lily/text-engraver.cc b/lily/text-engraver.cc index 194b779774..ad69deef94 100644 --- a/lily/text-engraver.cc +++ b/lily/text-engraver.cc @@ -30,7 +30,7 @@ protected: virtual bool do_try_music (Music* m); virtual void do_pre_move_processing (); virtual void do_post_move_processing (); - virtual void do_process_requests (); + virtual void do_process_music (); virtual void acknowledge_element (Score_element_info); }; @@ -72,7 +72,7 @@ Text_engraver::acknowledge_element (Score_element_info i) } void -Text_engraver::do_process_requests () +Text_engraver::do_process_music () { for (int i=0; i < reqs_.size (); i++) { diff --git a/lily/tie-column.cc b/lily/tie-column.cc index eba1c4d8f0..78d6b487c3 100644 --- a/lily/tie-column.cc +++ b/lily/tie-column.cc @@ -92,7 +92,7 @@ Tie_column::set_directions () } void -Tie_column::do_post_processing () +Tie_column::after_line_breaking () { set_directions (); } diff --git a/lily/tie-engraver.cc b/lily/tie-engraver.cc index 9ad9be2236..273d66843e 100644 --- a/lily/tie-engraver.cc +++ b/lily/tie-engraver.cc @@ -57,7 +57,7 @@ protected: virtual void do_pre_move_processing (); virtual void acknowledge_element (Score_element_info); virtual bool do_try_music (Music*); - virtual void do_process_requests (); + virtual void do_process_music (); virtual void process_acknowledged (); public: @@ -110,7 +110,7 @@ Tie_engraver::acknowledge_element (Score_element_info i) } void -Tie_engraver::do_process_requests () +Tie_engraver::do_process_music () { if (req_l_) { diff --git a/lily/tie-performer.cc b/lily/tie-performer.cc index b9109b9d86..9b5afbc491 100644 --- a/lily/tie-performer.cc +++ b/lily/tie-performer.cc @@ -47,7 +47,7 @@ Tie_performer::acknowledge_element (Audio_element_info i) } void -Tie_performer::do_process_requests () +Tie_performer::do_process_music () { if (req_l_) { diff --git a/lily/tie.cc b/lily/tie.cc index e98bb1eea9..6735059d29 100644 --- a/lily/tie.cc +++ b/lily/tie.cc @@ -92,7 +92,7 @@ Tie::do_add_processing() } void -Tie::do_post_processing() +Tie::after_line_breaking () { if (!head (LEFT) && !head (RIGHT)) { diff --git a/lily/time-signature-engraver.cc b/lily/time-signature-engraver.cc index 0e6f874f1f..f485c22afd 100644 --- a/lily/time-signature-engraver.cc +++ b/lily/time-signature-engraver.cc @@ -18,7 +18,7 @@ Time_signature_engraver::Time_signature_engraver() } void -Time_signature_engraver::do_process_requests() +Time_signature_engraver::do_process_music() { Translator * result = daddy_grav_l()->get_simple_translator ("Timing_engraver"); // ugh diff --git a/lily/time-signature-performer.cc b/lily/time-signature-performer.cc index 3db298cdc4..aeed66b806 100644 --- a/lily/time-signature-performer.cc +++ b/lily/time-signature-performer.cc @@ -32,7 +32,7 @@ Time_signature_performer::do_print () const } void -Time_signature_performer::do_process_requests () +Time_signature_performer::do_process_music () { if (time_signature_req_l_) { diff --git a/lily/timing-translator.cc b/lily/timing-translator.cc index 7e49f77f2e..4ef6f4df26 100644 --- a/lily/timing-translator.cc +++ b/lily/timing-translator.cc @@ -54,7 +54,7 @@ Timing_translator::time_signature_req_l() const } void -Timing_translator::do_process_requests() +Timing_translator::do_process_music() { for (int i=0; i < timing_req_l_arr_.size (); i++) { diff --git a/lily/translator-group.cc b/lily/translator-group.cc index c76e68e884..64851dfc19 100644 --- a/lily/translator-group.cc +++ b/lily/translator-group.cc @@ -388,7 +388,7 @@ Translator_group::do_post_move_processing () } void -Translator_group::do_process_requests () +Translator_group::do_process_music () { each (&Translator::process_requests); } diff --git a/lily/translator.cc b/lily/translator.cc index 28e2b4c31b..4840b898c4 100644 --- a/lily/translator.cc +++ b/lily/translator.cc @@ -145,7 +145,7 @@ Translator::process_requests () return; status = PROCESSED_REQS; - do_process_requests (); + do_process_music (); } void @@ -182,7 +182,7 @@ Translator:: do_pre_move_processing(){} void Translator::do_post_move_processing(){} void -Translator::do_process_requests () {} +Translator::do_process_music () {} void Translator::do_creation_processing() {} void diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc index 2430e7b37c..1dccd22122 100644 --- a/lily/tuplet-engraver.cc +++ b/lily/tuplet-engraver.cc @@ -34,7 +34,7 @@ protected: virtual void do_removal_processing (); virtual void acknowledge_element (Score_element_info); virtual bool do_try_music (Music*r); - virtual void do_process_requests (); + virtual void do_process_music (); virtual void do_post_move_processing (); }; @@ -62,7 +62,7 @@ Tuplet_engraver::do_try_music (Music *r) } void -Tuplet_engraver::do_process_requests () +Tuplet_engraver::do_process_music () { SCM v = get_property ("tupletInvisible"); if (to_boolean (v)) diff --git a/lily/tuplet-spanner.cc b/lily/tuplet-spanner.cc index dd55332caa..ab38ee1514 100644 --- a/lily/tuplet-spanner.cc +++ b/lily/tuplet-spanner.cc @@ -189,7 +189,7 @@ Tuplet_spanner::calc_dy (Real * dy) const } void -Tuplet_spanner::do_post_processing () +Tuplet_spanner::after_line_breaking () { Link_array column_arr= Group_interface__extract_elements (this, (Note_column*)0, "columns"); diff --git a/lily/volta-spanner.cc b/lily/volta-spanner.cc index a446d7cd12..743609de93 100644 --- a/lily/volta-spanner.cc +++ b/lily/volta-spanner.cc @@ -137,7 +137,7 @@ Volta_spanner::dim_callback (Dimension_cache const *c) } void -Volta_spanner::do_post_processing () +Volta_spanner::after_line_breaking () { Link_array bar_arr = Group_interface__extract_elements (this, (Bar*)0, "bars"); diff --git a/ly/property.ly b/ly/property.ly index 8fe96e79a8..a45c4702c2 100644 --- a/ly/property.ly +++ b/ly/property.ly @@ -103,11 +103,11 @@ normalsize = { } normalkey = { - \property Staff.keyOctaviation = 1 + \property Staff.keyOctaviation = ##f } specialkey = { - \property Staff.keyOctaviation = 0 + \property Staff.keyOctaviation = ##t } % End the incipit and print a ``normal line start''. diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 96d4bf36af..00de2551e9 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.3.32 -Entered-date: 13MAR00 +Version: 1.3.33 +Entered-date: 14MAR00 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.32.tar.gz + 1000k lilypond-1.3.33.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.3.32.tar.gz + 1000k lilypond-1.3.33.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index de148ac93b..94972a476e 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.3.32 +Version: 1.3.33 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.32.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.33.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond # get Packager from (undocumented?) ~/.rpmmacros! diff --git a/make/toplevel.make.in b/make/toplevel.make.in index fd457e035f..c8a102b841 100644 --- a/make/toplevel.make.in +++ b/make/toplevel.make.in @@ -32,6 +32,15 @@ fonts: $(MAKE) -C $(depth)/mf + +htmldoc: + $(MAKE) CONFIGSUFFIX='www' local-WWW + $(MAKE) CONFIGSUFFIX='www' -C Documentation WWW + rm -f `find . -name \*.html~ -print` + $(footify-all-command) + find `find Documentation -type d -name 'out-www'` -not -name '*dvi' -not -name '*ly' -not -name '*tex' -not -name '*.ps' -not -name 'out-www' > wwwlist + tar cfz $(outdir)/htmldoc.tar.gz `cat wwwlist` `ls *.png $(ERRORLOG)` index.html + examples: $(MAKE) CONFIGSUFFIX='www' -C input WWW $(MAKE) CONFIGSUFFIX='www' -C mutopia WWW diff --git a/scm/lily.scm b/scm/lily.scm index 4fb33ee1f1..aef1ec55cc 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -5,6 +5,14 @@ ; (c) 1998 Jan Nieuwenhuizen +; +; This file contains various routines in Scheme that are easier to +; do here than in C++. At present it is a unorganised mess. Sorry. +; +; + + + ;(debug-enable 'backtrace) ;;; library funtions @@ -27,13 +35,11 @@ ) ) -(define (glue-2-strings a b) - (string-append a " " b)) (define (numbers->string l) - (reduce glue-2-strings (map number->string l))) + (apply string-append (map ly-number->string l))) -(define (chop-decimal x) (if (< (abs x) 0.001) 0.0 x)) +; (define (chop-decimal x) (if (< (abs x) 0.001) 0.0 x)) (define (number->octal-string x) (let* ((n (inexact->exact x)) @@ -49,11 +55,9 @@ (number->string n radix))) -(define - (control->string c) - (string-append - (string-append (number->string (car c)) " ") - (string-append (number->string (cdr c)) " "))) +(define (control->string c) + (string-append (number->string (car c)) " " + (number->string (cdr c)) " ")) (define (font i) @@ -230,20 +234,6 @@ (not (not (memq name (ly-get-elt-property elt 'interfaces)))))) - - - - - - - - -;;;;;;;;;;;;;;;;;;; generic output - -(define (translate-molecule offset) - "") - - ;;;;;;;;;;;;;;;;;;; TeX output (define (tex-scm action-name) (define (unknown) @@ -287,12 +277,6 @@ (define (decrescendo thick w h cont) (embedded-ps ((ps-scm 'decrescendo) thick w h cont))) - ;This sets CTM so that you get to the currentpoint - ; by executing a 0 0 moveto - - - - (define (font-load-command name-mag command) (string-append "\\font\\" command "=" @@ -301,7 +285,6 @@ (number->string (magstep (cdr name-mag))) "\n")) - (define (embedded-ps s) (string-append "\\embeddedps{" s "}")) @@ -365,7 +348,7 @@ (define (number->dim x) (string-append - (number->string (chop-decimal x)) " pt ")) + (ly-number->string x) " pt ")) (define (placebox x y s) (string-append @@ -463,7 +446,6 @@ ;;;;;;;;;;;; PS (define (ps-scm action-name) - ;; alist containing fontname -> fontcommand assoc (both strings) (define font-alist '()) (define font-count 0) diff --git a/stepmake/stepmake/yolily-toplevel-targets.make b/stepmake/stepmake/yolily-toplevel-targets.make index 73565b8c2e..377e05398c 100644 --- a/stepmake/stepmake/yolily-toplevel-targets.make +++ b/stepmake/stepmake/yolily-toplevel-targets.make @@ -11,15 +11,6 @@ do-top-doc: $(README_TXT_FILES): do-top-doc - -htmldoc: - $(MAKE) CONFIGSUFFIX='www' local-WWW - $(MAKE) CONFIGSUFFIX='www' -C Documentation WWW - rm -f `find . -name \*.html~ -print` - $(footify-all-command) - find `find Documentation -type d -name 'out-www'` -not -name '*dvi' -not -name '*ly' -not -name '*tex' -not -name '*.ps' -not -name 'out-www' - tar cfz $(outdir)/htmldoc.tar.gz `cat wwwlist` `ls *.png $(ERRORLOG)` index.html - localclean: -- 2.39.2