From c21d49df60cb97801ab33ab8a1bad6f2c81cd820 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Wed, 21 Jun 2000 16:36:07 +0200 Subject: [PATCH] release: 1.3.62 ====== * Made callbacks from Score_element::before_line_breaking() and Score_element::after_line_breaking() * Fixed website; backlinks should work again. * Removed --ignore-version option. Added --verbose option. 1.3 --- CHANGES | 19 ++- Documentation/header.html.in | 1 - Documentation/topdocs/INSTALL.texi | 9 +- Documentation/user/tutorial.itely | 2 +- INSTALL.txt | 7 +- VERSION | 4 +- buildscripts/ps-to-gifs.sh | 0 flower/include/pointer.hh | 2 + input/bugs/dots.fly | 2 - input/bugs/dots.ly | 3 + input/bugs/dotted-collision.ly | 58 ++++++++ lily/align-note-column-engraver.cc | 2 +- lily/all-font-metrics.cc | 19 ++- lily/bar.cc | 12 +- lily/beam.cc | 30 ++-- lily/break-align-item.cc | 11 +- lily/breathing-sign.cc | 11 +- lily/chord-name.cc | 4 +- lily/chord.cc | 6 +- lily/clef-item.cc | 9 +- lily/collision.cc | 6 +- lily/crescendo.cc | 13 +- lily/dot-column.cc | 15 +- lily/dots.cc | 12 +- lily/grace-align-item.cc | 8 +- lily/hara-kiri-engraver.cc | 4 +- lily/hyphen-spanner.cc | 4 +- lily/includable-lexer.cc | 12 +- lily/include/bar.hh | 7 +- lily/include/beam.hh | 12 +- lily/include/break-align-item.hh | 5 +- lily/include/breathing-sign.hh | 9 +- lily/include/chord-name.hh | 8 +- lily/include/clef-item.hh | 5 +- lily/include/collision.hh | 7 +- lily/include/crescendo.hh | 8 +- lily/include/dot-column.hh | 5 +- lily/include/dots.hh | 9 +- lily/include/extender-spanner.hh | 2 +- lily/include/grace-align-item.hh | 5 +- lily/include/hyphen-spanner.hh | 2 +- lily/include/key-item.hh | 6 +- lily/include/local-key-item.hh | 9 +- lily/include/main.hh | 2 +- lily/include/molecule.hh | 2 +- lily/include/multi-measure-rest.hh | 9 +- lily/include/note-column.hh | 4 +- lily/include/note-head.hh | 9 +- lily/include/rest-collision.hh | 5 +- lily/include/rest.hh | 9 +- lily/include/rhythmic-head.hh | 5 +- lily/include/score-element.hh | 39 +++-- lily/include/script-column.hh | 5 +- lily/include/script.hh | 12 +- lily/include/slur.hh | 10 +- lily/include/span-bar.hh | 7 +- lily/include/staff-symbol.hh | 7 +- lily/include/stem-tremolo.hh | 10 +- lily/include/stem.hh | 9 +- lily/include/system-start-delimiter.hh | 7 +- lily/include/tie-column.hh | 5 +- lily/include/tie.hh | 9 +- lily/include/time-signature.hh | 6 +- lily/include/tuplet-spanner.hh | 11 +- lily/include/volta-spanner.hh | 9 +- lily/key-item.cc | 12 +- lily/lexer.ll | 6 +- lily/lily-guile.cc | 48 +++---- lily/line-of-score.cc | 23 ++- lily/local-key-item.cc | 17 +-- lily/lyric-extender.cc | 4 +- lily/main.cc | 6 +- lily/multi-measure-rest.cc | 18 ++- lily/my-lily-parser.cc | 1 - lily/note-column.cc | 11 +- lily/note-head.cc | 15 +- lily/paper-score.cc | 4 +- lily/performance.cc | 6 +- lily/rest-collision.cc | 12 +- lily/rest.cc | 11 +- lily/rhythmic-head.cc | 7 +- lily/score-element.cc | 28 ++-- lily/score.cc | 3 +- lily/scores.cc | 3 +- lily/script-column.cc | 7 +- lily/script.cc | 24 ++-- lily/slur.cc | 17 +-- lily/span-bar-engraver.cc | 6 +- lily/span-bar.cc | 15 +- lily/staff-symbol.cc | 10 +- lily/stem-tremolo.cc | 9 +- lily/stem.cc | 16 ++- lily/sustain-pedal.cc | 8 +- lily/system-start-delimiter.cc | 10 +- lily/text-item.cc | 6 +- lily/tie-column.cc | 7 +- lily/tie.cc | 19 +-- lily/time-signature.cc | 13 +- lily/tuplet-spanner.cc | 16 ++- lily/volta-spanner.cc | 18 +-- ly/engraver.ly | 126 ++++++++++------ ly/part-paper.ly | 6 +- make/out/lilypond.lsm | 8 +- make/out/lilypond.spec | 4 +- mf/feta-toevallig.mf | 4 +- po/lilypond.pot | 133 ++++++++--------- po/nl.po | 191 ++++++++++++++----------- scripts/abc2ly.py | 2 +- 108 files changed, 860 insertions(+), 625 deletions(-) mode change 100644 => 100755 buildscripts/ps-to-gifs.sh create mode 100644 input/bugs/dots.ly create mode 100644 input/bugs/dotted-collision.ly diff --git a/CHANGES b/CHANGES index 5ac9585f13..9d3aa6b170 100644 --- a/CHANGES +++ b/CHANGES @@ -1,18 +1,15 @@ -1.3.61.jcn2 -=========== - -* Included dutch po-update based on submitted 1.3.57 nl.po +1.3.62 +====== -* Added "Development" link to website, now that "Home" is a relative link. +* Made callbacks from Score_element::before_line_breaking() and +Score_element::after_line_breaking() -1.3.60.jcn2 -=========== +* Fixed website; backlinks should work again. -* Did som more webpage hacking and made some make website fixes, back links - should work again. +* Removed --ignore-version option. Added --verbose option. -1.3.60.jcn1 -=========== +1.3.61 +====== * Webpage hacking diff --git a/Documentation/header.html.in b/Documentation/header.html.in index 5bc712509f..22300ddee0 100644 --- a/Documentation/header.html.in +++ b/Documentation/header.html.in @@ -37,7 +37,6 @@ which substitutes some @AT_VARIABLES@ as well.
Home
- Development
Hacking
GNU Project
Translations
diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index bca8420647..f7d9daed12 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -61,10 +61,13 @@ NT/95/98 as well. See Section Windows NT/95,es. Check out @uref{ftp://ftp.python.org} or @uref{ftp://ftp.cwi.nl/pub/python}. -@item GUILE 1.3.4, check out @uref{http://www.gnu.org/software/guile/guile.html,http://www.gnu.org/software/guile/guile.html}. +@item GUILE 1.3.4 or newer, check out +@uref{http://www.gnu.org/software/guile/guile.html,http://www.gnu.org/software/guile/guile.html}. +Version 1.4 is recommended for better performance. -@item GNU make. -Check out @uref{ftp://ftp.gnu.org/gnu/make/,ftp://ftp.gnu.org/gnu/make/}. +@item GNU Make. +Check out +@uref{ftp://ftp.gnu.org/gnu/make/,ftp://ftp.gnu.org/gnu/make/}. @item Flex (version 2.5.4 or newer). Check out @uref{ftp://ftp.gnu.org/gnu/flex/,ftp://ftp.gnu.org/gnu/flex/}. diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely index 87993537ae..f5da04c8c7 100644 --- a/Documentation/user/tutorial.itely +++ b/Documentation/user/tutorial.itely @@ -707,7 +707,7 @@ Sammartini. It was composed around 1740. @mudela[verbatim] -\version "1.3.61"; +\version "1.3.60"; \include "paper16.ly"; viola = \notes \relative c' \context Voice = viola { diff --git a/INSTALL.txt b/INSTALL.txt index 75215d77dc..a5d6534d99 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -53,11 +53,12 @@ Prerequisites * Python 1.5, Check out `ftp://ftp.python.org' or `ftp://ftp.cwi.nl/pub/python'. - * GUILE 1.3.4, check out + * GUILE 1.3.4 or newer, check out http://www.gnu.org/software/guile/guile.html - (http://www.gnu.org/software/guile/guile.html). + (http://www.gnu.org/software/guile/guile.html). Version 1.4 is + recommended for better performance. - * GNU make. Check out ftp://ftp.gnu.org/gnu/make/ + * GNU Make. Check out ftp://ftp.gnu.org/gnu/make/ (ftp://ftp.gnu.org/gnu/make/). * Flex (version 2.5.4 or newer). Check out diff --git a/VERSION b/VERSION index d8db4f2a28..e2d5f09aaf 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 -PATCH_LEVEL=61 -MY_PATCH_LEVEL=jcn2 +PATCH_LEVEL=62 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/buildscripts/ps-to-gifs.sh b/buildscripts/ps-to-gifs.sh old mode 100644 new mode 100755 diff --git a/flower/include/pointer.hh b/flower/include/pointer.hh index 726f3c7e34..850ec18348 100644 --- a/flower/include/pointer.hh +++ b/flower/include/pointer.hh @@ -10,6 +10,8 @@ #ifndef POINTER_HH #define POINTER_HH +#error + /** P is a handy template to use iso T*. It inits to 0, deletes on destruction, deep copies upon copying diff --git a/input/bugs/dots.fly b/input/bugs/dots.fly index 4372115e20..e69de29bb2 100644 --- a/input/bugs/dots.fly +++ b/input/bugs/dots.fly @@ -1,2 +0,0 @@ - -\context Voice { } diff --git a/input/bugs/dots.ly b/input/bugs/dots.ly new file mode 100644 index 0000000000..6dfd11ae45 --- /dev/null +++ b/input/bugs/dots.ly @@ -0,0 +1,3 @@ +\score { +\notes\context Voice { } +} diff --git a/input/bugs/dotted-collision.ly b/input/bugs/dotted-collision.ly new file mode 100644 index 0000000000..e56cd2c6d2 --- /dev/null +++ b/input/bugs/dotted-collision.ly @@ -0,0 +1,58 @@ +\header{ +enteredby = "Donat Wullschleger"; +} + +\version "1.3.59"; + +\include "paper16.ly"; +\include "deutsch.ly"; + +righthandfirstvoice = \notes \relative c'' + \context Voice = upper { + \key b \major; + \time 6/8; + + r8. r8. r8. r8. | + r4. r4. | + r2. | + + \bar "|."; +} + +lefthandfirstvoice = \notes \relative c + \context Voice = upper { + \voiceone + \key b \major; + \clef bass; + + as4. [g8 a16 h c8] | + as4. [g8 a16 h c8] | + as4. [g8 a16 h c8] | +} + +lefthandsecondvoice = \notes \relative c + \context Voice = lower { + \voicetwo + r2. | + r4. r4. | + r8. r8. r8. r8. | +} + +\score{ + \context PianoStaff \notes < + \context Staff = top < + \righthandfirstvoice + > + \context Staff = bottom < + \lefthandfirstvoice + \lefthandsecondvoice + > + > + + \paper{ + \translator{ + \OrchestralScoreContext + } + + } +} diff --git a/lily/align-note-column-engraver.cc b/lily/align-note-column-engraver.cc index c034b0df9c..74d165a141 100644 --- a/lily/align-note-column-engraver.cc +++ b/lily/align-note-column-engraver.cc @@ -45,7 +45,7 @@ Align_note_column_engraver::Align_note_column_engraver() void Align_note_column_engraver::do_creation_processing () { - align_item_p_ = new Grace_align_item (SCM_EOL); + align_item_p_ = new Grace_align_item (get_property ("basicGraceAlignItemProperties")); Side_position_interface (align_item_p_).set_axis (X_AXIS); Side_position_interface (align_item_p_).set_direction (LEFT); diff --git a/lily/all-font-metrics.cc b/lily/all-font-metrics.cc index eba97b0ec6..f8e2c0cee1 100644 --- a/lily/all-font-metrics.cc +++ b/lily/all-font-metrics.cc @@ -33,11 +33,15 @@ All_font_metrics::find_afm (String name) path = search_path_.find (path); if (path.empty_b ()) return 0; - progress_indication ("[" + path); + + if (verbose_global_b) + progress_indication ("[" + path); Adobe_font_metric * afm_p = read_afm_file (path); afm_p->name_ = ly_symbol2scm (name.ch_C ()); - progress_indication ("]"); + + if (verbose_global_b) + progress_indication ("]"); afm_p_dict_.set (sname,afm_p->self_scm_); } @@ -76,10 +80,13 @@ All_font_metrics::find_tfm (String name) path = search_path_.find (path); if (path.empty_b ()) return 0; - progress_indication ("[" + path); + if (verbose_global_b) + progress_indication ("[" + path); Tex_font_metric * tfm_p = Tex_font_metric_reader::read_file (path); tfm_p->name_ = ly_symbol2scm (name.ch_C( )); - progress_indication ("]"); + + if (verbose_global_b) + progress_indication ("]"); tfm_p_dict_.set (sname, tfm_p->self_scm_); } @@ -119,8 +126,8 @@ All_font_metrics::find_font (String name) if (f) return f; - non_fatal_error (_f ("can't find default font: `%s'", def_name.ch_C ())); - non_fatal_error (_f ("(search path: `%s')", search_path_.str ())); + error (_f ("can't find default font: `%s'", def_name.ch_C ())); + error (_f ("(search path: `%s')", search_path_.str ())); error (_ ("Giving up")); return 0; diff --git a/lily/bar.cc b/lily/bar.cc index ea07643585..8b9ecadc60 100644 --- a/lily/bar.cc +++ b/lily/bar.cc @@ -33,7 +33,7 @@ Bar::get_bar_size () const SCM -Bar::scheme_molecule (SCM smob) +Bar::brew_molecule (SCM smob) { Score_element * self = unsmob_element (smob); Bar * fly = dynamic_cast (self); @@ -46,7 +46,7 @@ Bar::scheme_molecule (SCM smob) return SCM_EOL; } -MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(Bar); +MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(Bar,brew_molecule); Molecule Bar::compound_barline (String str, Real h) const @@ -132,8 +132,9 @@ Bar::simple_barline (Real w, Real h) const } -void -Bar::before_line_breaking () +GLUE_SCORE_ELEMENT(Bar,before_line_breaking ); +SCM +Bar::member_before_line_breaking () { SCM g = get_elt_property ("glyph"); SCM orig = g; @@ -162,6 +163,9 @@ Bar::before_line_breaking () } else if (! gh_equal_p (g, orig)) set_elt_property ("glyph", g); + + + return SCM_UNDEFINED; } diff --git a/lily/beam.cc b/lily/beam.cc index e131cbc17c..08173a742f 100644 --- a/lily/beam.cc +++ b/lily/beam.cc @@ -81,8 +81,9 @@ Beam::get_multiplicity () const [Alternatively, stems could set its own directions, according to their beam, during 'final-pre-processing'.] */ -void -Beam::before_line_breaking () +GLUE_SCORE_ELEMENT(Beam,before_line_breaking); +SCM +Beam::member_before_line_breaking () { // Why? if (visible_stem_count () < 2) @@ -96,7 +97,9 @@ Beam::before_line_breaking () auto_knees (); set_stem_directions (); - set_stem_shorten (); + set_stem_shorten (); + + return SCM_EOL; } /* @@ -267,8 +270,9 @@ Beam::set_stem_shorten () Set elt properties height and y-position if not set. Adjust stem lengths to reach beam. */ -void -Beam::after_line_breaking () +GLUE_SCORE_ELEMENT(Beam,after_line_breaking); +SCM +Beam::member_after_line_breaking () { /* first, calculate y, dy */ Real y, dy; @@ -333,7 +337,10 @@ Beam::after_line_breaking () // UGH. Y is not in staff position unit? // Ik dacht datwe daar juist van weg wilden? set_stem_length (y, dy); - set_elt_property ("y-position", gh_double2scm (y)); + set_elt_property ("y-position", gh_double2scm (y)); + + + return SCM_UNDEFINED; } /* @@ -719,14 +726,13 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const return leftbeams; } -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS (Beam); - -Molecule -Beam::do_brew_molecule () const +GLUE_SCORE_ELEMENT(Beam,brew_molecule); +SCM +Beam::member_brew_molecule () const { Molecule mol; if (!stem_count ()) - return mol; + return SCM_EOL; Real x0,dx; if (visible_stem_count ()) { @@ -757,7 +763,7 @@ Beam::do_brew_molecule () const mol.translate_axis (x0 - get_bound (LEFT)->relative_coordinate (0, X_AXIS), X_AXIS); - return mol; + return mol.create_scheme (); } int diff --git a/lily/break-align-item.cc b/lily/break-align-item.cc index 6e5722ca12..bbea713e2b 100644 --- a/lily/break-align-item.cc +++ b/lily/break-align-item.cc @@ -20,8 +20,9 @@ #include "group-interface.hh" #include "align-interface.hh" -void -Break_align_item::before_line_breaking () +GLUE_SCORE_ELEMENT(Break_align_item,before_line_breaking); +SCM +Break_align_item::member_before_line_breaking () { if (break_status_dir() == LEFT) { @@ -48,7 +49,7 @@ Break_align_item::before_line_breaking () } if (!elems.size ()) - return; + return SCM_UNDEFINED; SCM symbol_list = SCM_EOL; Array dists; @@ -168,7 +169,9 @@ Break_align_item::before_line_breaking () column_l ()->set_elt_property ("stretch-distance", gh_cons (gh_double2scm (-dists[0]), gh_double2scm (stretch_distance))); - + + + return SCM_UNDEFINED; } Break_align_item::Break_align_item (SCM s) diff --git a/lily/breathing-sign.cc b/lily/breathing-sign.cc index a78e610645..6c337642d1 100644 --- a/lily/breathing-sign.cc +++ b/lily/breathing-sign.cc @@ -28,10 +28,10 @@ Breathing_sign::Breathing_sign (SCM s) -MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(Breathing_sign); +MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(Breathing_sign,brew_molecule); SCM -Breathing_sign::scheme_molecule (SCM smob) +Breathing_sign::brew_molecule (SCM smob) { Score_element * sc = unsmob_element (smob); Staff_symbol_referencer_interface si (sc); @@ -45,8 +45,9 @@ Breathing_sign::scheme_molecule (SCM smob) return sc->lookup_l()->filledbox(b).create_scheme (); } -void -Breathing_sign::after_line_breaking () +GLUE_SCORE_ELEMENT(Breathing_sign,after_line_breaking); +SCM +Breathing_sign::member_after_line_breaking () { Real space = staff_symbol_referencer (this).staff_space(); Direction d = directional_element (this). get (); @@ -57,5 +58,7 @@ Breathing_sign::after_line_breaking () } translate_axis(2.0 * space * d, Y_AXIS); + + return SCM_UNDEFINED; } diff --git a/lily/chord-name.cc b/lily/chord-name.cc index b2ed244267..0d4ff13849 100644 --- a/lily/chord-name.cc +++ b/lily/chord-name.cc @@ -128,10 +128,10 @@ Chord_name::ly_text2molecule (SCM text) const return mol; } -MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(Chord_name); +MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(Chord_name,brew_molecule); SCM -Chord_name::scheme_molecule (SCM smob) +Chord_name::brew_molecule (SCM smob) { Score_element *sc = unsmob_element (smob); SCM style = sc->get_elt_property ("style"); diff --git a/lily/chord.cc b/lily/chord.cc index 8fa7611e55..2eb762b778 100644 --- a/lily/chord.cc +++ b/lily/chord.cc @@ -49,7 +49,7 @@ to_chord (Musical_pitch tonic, Array* add_arr_p, Arrayget (i); + add_arr_p->get (i); } } @@ -400,7 +400,7 @@ Chord::find_tonic_i (Array const* pitch_arr_p) find tonic first try: base of longest line of thirds - */ + */ int tonic_i = 0; int longest_i = 0; for (int i = 0; i < pitch_arr_p->size (); i++) @@ -437,7 +437,7 @@ Chord::find_tonic_i (Array const* pitch_arr_p) { int gap = (*pitch_arr_p)[i].notename_i_ - (*pitch_arr_p)[(i - 1 + pitch_arr_p->size ()) - % pitch_arr_p->size ()].notename_i_; + % pitch_arr_p->size ()].notename_i_; while (gap < 0) gap += 7; gap %= 7; diff --git a/lily/clef-item.cc b/lily/clef-item.cc index 64df471244..781522d697 100644 --- a/lily/clef-item.cc +++ b/lily/clef-item.cc @@ -22,8 +22,9 @@ FIXME: should use symbol. FIXME: this should be schemified. */ -void -Clef_item::before_line_breaking () +GLUE_SCORE_ELEMENT(Clef_item,before_line_breaking); +SCM +Clef_item::member_before_line_breaking () { SCM style_sym =get_elt_property ("style"); String style; @@ -49,7 +50,7 @@ Clef_item::before_line_breaking () else { suicide (); - return; + return SCM_UNDEFINED; } // ugh. @@ -59,6 +60,8 @@ Clef_item::before_line_breaking () set_elt_property ("molecule-callback", SCM_BOOL_T); set_extent_callback (0, X_AXIS); } + + return SCM_UNDEFINED; } diff --git a/lily/collision.cc b/lily/collision.cc index 52498e533a..4807e47b7a 100644 --- a/lily/collision.cc +++ b/lily/collision.cc @@ -27,10 +27,12 @@ Collision::add_column (Note_column* ncol_l) add_dependency (ncol_l); } -void -Collision::before_line_breaking () +GLUE_SCORE_ELEMENT(Collision,before_line_breaking); +SCM +Collision::member_before_line_breaking () { do_shifts(); + return SCM_UNDEFINED; } /* diff --git a/lily/crescendo.cc b/lily/crescendo.cc index d119ca9a04..7890d5cf00 100644 --- a/lily/crescendo.cc +++ b/lily/crescendo.cc @@ -24,9 +24,10 @@ Crescendo::Crescendo (SCM s) -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Crescendo) -Molecule -Crescendo::do_brew_molecule () const +GLUE_SCORE_ELEMENT(Crescendo,brew_molecule); + +SCM +Crescendo::member_brew_molecule () const { Real absdyn_dim = paper_l ()-> get_var ("crescendo_shorten"); Real extra_left = get_broken_left_end_align (); @@ -38,9 +39,7 @@ Crescendo::do_brew_molecule () const { Crescendo * me = (Crescendo*)this; me->suicide (); - Molecule m; - - return m; + return SCM_EOL; } Direction gd = to_dir (dir); @@ -133,7 +132,7 @@ Crescendo::do_brew_molecule () const m.add_at_edge (X_AXIS, RIGHT, span, pad); m.translate_axis (extra_left, X_AXIS); - return m; + return m.create_scheme (); } diff --git a/lily/dot-column.cc b/lily/dot-column.cc index 75b86cf657..1caf937978 100644 --- a/lily/dot-column.cc +++ b/lily/dot-column.cc @@ -74,14 +74,16 @@ Dot_column::Dot_column (SCM s) Should be smarter. */ -void -Dot_column::after_line_breaking () + +GLUE_SCORE_ELEMENT(Dot_column,after_line_breaking); +SCM +Dot_column::member_after_line_breaking () { Link_array dots = Pointer_group_interface__extract_elements (this, (Dots*)0 , "dots"); dots.sort (Dot_column::compare); if (dots.size () < 2) - return; + return SCM_UNDEFINED; Slice s; s.set_empty (); @@ -101,7 +103,8 @@ Dot_column::after_line_breaking () } if (!conflicts) - return; + return SCM_UNDEFINED; + int middle = s.center (); /* @@ -111,8 +114,10 @@ Dot_column::after_line_breaking () if (!(pos % 2)) pos ++; // center () rounds down. - for (int i=0; i lookup_l ()->blank (Box (Interval (0,0), diff --git a/lily/grace-align-item.cc b/lily/grace-align-item.cc index 654f44139e..e4467a9e3f 100644 --- a/lily/grace-align-item.cc +++ b/lily/grace-align-item.cc @@ -24,8 +24,9 @@ Grace_align_item::Grace_align_item (SCM s) /* TODO: cfg-able */ -void -Grace_align_item::before_line_breaking () +GLUE_SCORE_ELEMENT(Grace_align_item,before_line_breaking); +SCM +Grace_align_item::member_before_line_breaking () { Real nhw = // lookup_l ()->notehead (2, "")..extent (X_AXIS).length(); paper_l ()->get_var ("quartwidth"); @@ -34,6 +35,9 @@ Grace_align_item::before_line_breaking () gh_cons (gh_double2scm (nhw* 1.5), gh_double2scm (infinity_f))); column_l ()->set_elt_property ("contains-grace", SCM_BOOL_T); + + return SCM_UNDEFINED; + } diff --git a/lily/hara-kiri-engraver.cc b/lily/hara-kiri-engraver.cc index cab10f8cb3..10eca4fe1d 100644 --- a/lily/hara-kiri-engraver.cc +++ b/lily/hara-kiri-engraver.cc @@ -6,14 +6,14 @@ (c) 1999--2000 Han-Wen Nienhuys */ -#include "hara-kiri-vertical-group-spanner.hh" +#include "hara-kiri-group-spanner.hh" #include "hara-kiri-engraver.hh" #include "rhythmic-head.hh" Spanner* Hara_kiri_engraver::get_spanner_p () const { - return new Hara_kiri_group_spanner (SCM_EOL); + return new Hara_kiri_group_spanner (get_property ("basicHaraKiriVerticalGroupspannerProperties")); } void diff --git a/lily/hyphen-spanner.cc b/lily/hyphen-spanner.cc index 165c6c6b11..624f682be2 100644 --- a/lily/hyphen-spanner.cc +++ b/lily/hyphen-spanner.cc @@ -18,10 +18,10 @@ #include "spanner.hh" #include "item.hh" -MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(Hyphen_spanner) +MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(Hyphen_spanner,brew_molecule) SCM -Hyphen_spanner::scheme_molecule (SCM smob) +Hyphen_spanner::brew_molecule (SCM smob) { Spanner * sp =dynamic_cast (unsmob_element (smob)); Molecule mol; diff --git a/lily/includable-lexer.cc b/lily/includable-lexer.cc index a73b2266b1..b4ee0f2821 100644 --- a/lily/includable-lexer.cc +++ b/lily/includable-lexer.cc @@ -14,6 +14,7 @@ #include "source-file.hh" #include "source.hh" #include "debug.hh" +#include "main.hh" #ifndef YY_BUF_SIZE #define YY_BUF_SIZE 16384 @@ -57,7 +58,9 @@ Includable_lexer::new_input (String s, Sources * global_sources) char_count_stack_.push (0); if (yy_current_buffer) state_stack_.push (yy_current_buffer); - progress_indication (String ("[") + s); + + if (verbose_global_b) + progress_indication (String ("[") + s); include_stack_.push (sl); @@ -81,7 +84,9 @@ Includable_lexer::new_input (String name, String data, Sources* sources) char_count_stack_.push (0); if (yy_current_buffer) state_stack_.push (yy_current_buffer); - progress_indication (String ("[") + name); + + if (verbose_global_b) + progress_indication (String ("[") + name); include_stack_.push (file); yy_switch_to_buffer (yy_create_buffer (file->istream_l (), YY_BUF_SIZE)); @@ -94,7 +99,8 @@ Includable_lexer::close_input () { include_stack_.pop (); char_count_stack_.pop (); - progress_indication ("]"); + if (verbose_global_b) + progress_indication ("]"); yy_delete_buffer (yy_current_buffer); yy_current_buffer = 0; if (state_stack_.empty ()) diff --git a/lily/include/bar.hh b/lily/include/bar.hh index 8d408c04b9..92c03f20d8 100644 --- a/lily/include/bar.hh +++ b/lily/include/bar.hh @@ -18,11 +18,12 @@ public: Molecule compound_barline (String, Real height) const; Molecule simple_barline (Real wid, Real height) const; - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); -protected: - virtual void before_line_breaking (); +public: + SCM member_before_line_breaking (); + static SCM before_line_breaking (SCM); virtual Real get_bar_size () const; }; diff --git a/lily/include/beam.hh b/lily/include/beam.hh index 9021a08ab0..d14801e370 100644 --- a/lily/include/beam.hh +++ b/lily/include/beam.hh @@ -26,7 +26,7 @@ class Beam : public Spanner { public: - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); int stem_count () const; @@ -45,11 +45,13 @@ public: int get_multiplicity () const; -protected: +public: - virtual void before_line_breaking (); - virtual void after_line_breaking (); - Molecule do_brew_molecule () const; + SCM member_before_line_breaking (); + static SCM before_line_breaking (SCM); + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); + SCM member_brew_molecule () const; Molecule stem_beams (Stem *here, Stem *next, Stem *prev) const; private: diff --git a/lily/include/break-align-item.hh b/lily/include/break-align-item.hh index 6ba3cc1b7a..0a4a42b597 100644 --- a/lily/include/break-align-item.hh +++ b/lily/include/break-align-item.hh @@ -26,9 +26,10 @@ class Break_align_item : public Item { -protected: - virtual void before_line_breaking (); public: + SCM member_before_line_breaking (); + static SCM before_line_breaking (SCM); + Break_align_item (SCM s); VIRTUAL_COPY_CONS(Score_element); }; diff --git a/lily/include/breathing-sign.hh b/lily/include/breathing-sign.hh index 6ecf02e263..dd495b1db8 100644 --- a/lily/include/breathing-sign.hh +++ b/lily/include/breathing-sign.hh @@ -20,13 +20,14 @@ class Breathing_sign : public Item { public: - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); VIRTUAL_COPY_CONS(Score_element); Breathing_sign (SCM s); -protected: - virtual void after_line_breaking (); - Molecule do_brew_molecule () const; +public: + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); + SCM member_brew_molecule () const; }; #endif // BREATHING_SIGN_HH diff --git a/lily/include/chord-name.hh b/lily/include/chord-name.hh index d89e81c2e3..fae9d217b0 100644 --- a/lily/include/chord-name.hh +++ b/lily/include/chord-name.hh @@ -22,14 +22,14 @@ class Chord_name : public Item { public: - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); -VIRTUAL_COPY_CONS (Score_element); + VIRTUAL_COPY_CONS (Score_element); Molecule ly_word2molecule (SCM scm, Real* x) const; Molecule ly_text2molecule (SCM scm) const; Chord_name(SCM s); -protected: - Molecule do_brew_molecule () const; +public: + SCM member_brew_molecule () const; }; diff --git a/lily/include/clef-item.hh b/lily/include/clef-item.hh index 75aad9b0d8..e14276ba67 100644 --- a/lily/include/clef-item.hh +++ b/lily/include/clef-item.hh @@ -25,9 +25,10 @@ */ class Clef_item : public Item { -protected: - virtual void before_line_breaking (); public: + SCM member_before_line_breaking (); + static SCM before_line_breaking (SCM); + VIRTUAL_COPY_CONS(Score_element); Clef_item (SCM); }; diff --git a/lily/include/collision.hh b/lily/include/collision.hh index 4cb1993856..e1297545da 100644 --- a/lily/include/collision.hh +++ b/lily/include/collision.hh @@ -37,12 +37,13 @@ */ class Collision : public Item { -protected: +public: SCM automatic_shift (); SCM forced_shift (); void do_shifts (); - virtual void before_line_breaking (); -public: + SCM member_before_line_breaking (); + static SCM before_line_breaking (SCM); + void add_column (Note_column*ncol_l); Collision(SCM); diff --git a/lily/include/crescendo.hh b/lily/include/crescendo.hh index a9d4576320..e45ef61ffd 100644 --- a/lily/include/crescendo.hh +++ b/lily/include/crescendo.hh @@ -18,12 +18,12 @@ */ class Crescendo : public Spanner { public: - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); -Crescendo(SCM); -protected: + Crescendo(SCM); + VIRTUAL_COPY_CONS(Score_element); - Molecule do_brew_molecule() const; + SCM member_brew_molecule() const; private: Molecule get_symbol() const; diff --git a/lily/include/dot-column.hh b/lily/include/dot-column.hh index 9fd7150b82..c91d05d3d4 100644 --- a/lily/include/dot-column.hh +++ b/lily/include/dot-column.hh @@ -25,7 +25,8 @@ public: void add_head (Rhythmic_head*); Dot_column (SCM); -protected: - virtual void after_line_breaking (); + + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); }; #endif // DOT_COLUMN_HH diff --git a/lily/include/dots.hh b/lily/include/dots.hh index ace3555c6c..f816cc2a24 100644 --- a/lily/include/dots.hh +++ b/lily/include/dots.hh @@ -25,12 +25,11 @@ */ class Dots : public Item { -protected: - Molecule do_brew_molecule () const; - virtual void after_line_breaking (); public: - static SCM scheme_molecule (SCM); - + SCM member_brew_molecule () const; + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); + static SCM brew_molecule (SCM); Dots (SCM); }; diff --git a/lily/include/extender-spanner.hh b/lily/include/extender-spanner.hh index 0fe3b35b66..5d7e4c4af9 100644 --- a/lily/include/extender-spanner.hh +++ b/lily/include/extender-spanner.hh @@ -33,7 +33,7 @@ public: Spanner*elt_l_; Lyric_extender (Spanner*); void set_textitem (Direction, Item*); - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); }; #endif // EXTENDER_SPANNER_HH diff --git a/lily/include/grace-align-item.hh b/lily/include/grace-align-item.hh index b4f9e94e99..301178afd3 100644 --- a/lily/include/grace-align-item.hh +++ b/lily/include/grace-align-item.hh @@ -18,9 +18,10 @@ class Grace_align_item : public Item public: VIRTUAL_COPY_CONS (Score_element); Grace_align_item (SCM); -protected: + virtual void do_add_processing (); - virtual void before_line_breaking (); + SCM member_before_line_breaking (); + static SCM before_line_breaking (SCM); }; #endif /* GRACE_ALIGN_ITEM_HH */ diff --git a/lily/include/hyphen-spanner.hh b/lily/include/hyphen-spanner.hh index f1ef2ea45d..c185c64e96 100644 --- a/lily/include/hyphen-spanner.hh +++ b/lily/include/hyphen-spanner.hh @@ -24,7 +24,7 @@ public: Spanner* elt_l_; Hyphen_spanner (Spanner*); void set_textitem (Direction, Item*); - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); }; #endif // HYPHEN_SPANNER_HH diff --git a/lily/include/key-item.hh b/lily/include/key-item.hh index 8743259021..756a2b0139 100644 --- a/lily/include/key-item.hh +++ b/lily/include/key-item.hh @@ -29,11 +29,11 @@ class Key_item :public Item public: VIRTUAL_COPY_CONS(Score_element); Key_item (SCM); - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); -protected: - Molecule do_brew_molecule() const; + + SCM member_brew_molecule() const; }; #endif // KEYITEM_HH diff --git a/lily/include/local-key-item.hh b/lily/include/local-key-item.hh index ccedf0f9b7..0006c857bc 100644 --- a/lily/include/local-key-item.hh +++ b/lily/include/local-key-item.hh @@ -41,12 +41,13 @@ class Local_key_item : public Item Molecule accidental (int,bool,bool) const; public: Local_key_item (SCM ); - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); void add_pitch (Musical_pitch, bool cautionary, bool natural); -protected: - virtual void before_line_breaking (); - Molecule do_brew_molecule() const; + + SCM member_before_line_breaking (); + static SCM before_line_breaking (SCM); + SCM member_brew_molecule() const; }; #endif // LOCALKEYITEM_HH diff --git a/lily/include/main.hh b/lily/include/main.hh index 0d7b4ffa1c..1adae59d0e 100644 --- a/lily/include/main.hh +++ b/lily/include/main.hh @@ -29,7 +29,7 @@ extern int exit_status_i_; extern bool experimental_features_global_b; extern char const* output_global_ch; extern bool dependency_global_b; -extern bool version_ignore_global_b; +extern bool verbose_global_b; extern Array get_inclusion_names (); diff --git a/lily/include/molecule.hh b/lily/include/molecule.hh index b8153c72a0..548085bcff 100644 --- a/lily/include/molecule.hh +++ b/lily/include/molecule.hh @@ -80,7 +80,7 @@ public: SCM fontify_atom (Font_metric*, SCM atom); -Molecule create_molecule (SCM scheme_molecule); +Molecule create_molecule (SCM brew_molecule); diff --git a/lily/include/multi-measure-rest.hh b/lily/include/multi-measure-rest.hh index 4349b8d3cf..50ab957bb3 100644 --- a/lily/include/multi-measure-rest.hh +++ b/lily/include/multi-measure-rest.hh @@ -17,17 +17,18 @@ class Multi_measure_rest : public Spanner { public: Multi_measure_rest (SCM); - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); void add_column (Item*); Molecule compound_rest (int)const; -protected: - Molecule do_brew_molecule () const; + + SCM member_brew_molecule () const; VIRTUAL_COPY_CONS (Score_element); virtual void do_add_processing (); - virtual void after_line_breaking (); + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); virtual Array get_rods () const; }; diff --git a/lily/include/note-column.hh b/lily/include/note-column.hh index 88c2c36016..c8cf7959e9 100644 --- a/lily/include/note-column.hh +++ b/lily/include/note-column.hh @@ -17,9 +17,9 @@ */ class Note_column : public Item { -protected: - virtual void after_line_breaking () ; public: + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); static int shift_compare (Note_column *const &, Note_column*const&); /** The relative position of the "voice" containing this diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index eb86e46770..272ed3da95 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -23,14 +23,15 @@ class Note_head : public Rhythmic_head { public: static int compare (Note_head * const &a, Note_head *const &b) ; - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); Molecule ledger_line (Interval) const; Note_head (SCM); -protected: - virtual void before_line_breaking (); - Molecule do_brew_molecule() const; + + SCM member_before_line_breaking (); + static SCM before_line_breaking (SCM); + SCM member_brew_molecule() const; }; #endif // NOTEHEAD_HH diff --git a/lily/include/rest-collision.hh b/lily/include/rest-collision.hh index d6f26fa718..550ed5e0f4 100644 --- a/lily/include/rest-collision.hh +++ b/lily/include/rest-collision.hh @@ -19,7 +19,8 @@ public: Interval rest_dim () const; Rest_collision(SCM); -protected: - virtual void before_line_breaking (); + + SCM member_before_line_breaking (); + static SCM before_line_breaking (SCM); }; #endif // REST_COLLISION_HH diff --git a/lily/include/rest.hh b/lily/include/rest.hh index 1977bd6738..db36065f0c 100644 --- a/lily/include/rest.hh +++ b/lily/include/rest.hh @@ -21,11 +21,12 @@ */ class Rest : public Rhythmic_head { -protected: - virtual void after_line_breaking (); - Molecule do_brew_molecule () const; public: - static SCM scheme_molecule (SCM); + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); + SCM member_brew_molecule () const; + + static SCM brew_molecule (SCM); Rest (SCM s); }; diff --git a/lily/include/rhythmic-head.hh b/lily/include/rhythmic-head.hh index b9fc4415b6..8145bd9118 100644 --- a/lily/include/rhythmic-head.hh +++ b/lily/include/rhythmic-head.hh @@ -34,8 +34,9 @@ public: Stem * stem_l () const; Dots * dots_l () const; int dot_count () const; -protected: - virtual void after_line_breaking (); + + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); Rhythmic_head (SCM s); }; diff --git a/lily/include/score-element.hh b/lily/include/score-element.hh index 2ded67f8cc..32398bb089 100644 --- a/lily/include/score-element.hh +++ b/lily/include/score-element.hh @@ -152,7 +152,7 @@ public: #funcptr# is the function to call to update this element. */ - void calculate_dependencies (int final, int busy, Score_element_method_pointer funcptr); + void calculate_dependencies (int final, int busy, SCM funcname); static SCM handle_broken_smobs (SCM, SCM criterion); @@ -163,10 +163,6 @@ public: virtual void do_space_processing (); virtual void discretionary_processing (); virtual void do_derived_mark (); - /// do calculations before determining horizontal spacing - virtual void before_line_breaking (); - /// do calculations after determining horizontal spacing - virtual void after_line_breaking (); Molecule get_molecule () const; void suicide (); @@ -176,7 +172,6 @@ public: static Interval molecule_extent (Score_element const*,Axis); protected: - /** Junk score element. This is protected because this is supposed to be handled by GUILE gc. */ @@ -184,14 +179,14 @@ protected: ///executed directly after the item is added to the Paper_score virtual void do_add_processing (); - Molecule do_brew_molecule ()const; - static Interval dim_cache_callback (Dimension_cache const*); public: + SCM member_brew_molecule ()const; + static SCM ly_set_elt_property (SCM, SCM,SCM); static SCM ly_get_elt_property (SCM, SCM); - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); virtual void handle_broken_dependencies (); virtual void handle_prebroken_dependencies (); @@ -245,26 +240,24 @@ public: Score_element * unsmob_element (SCM); -#define MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(TYPE) \ +#define MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(TYPE, FUNC) \ void \ -TYPE ## __init_functions () \ +TYPE ## _ ## FUNC ## _init_functions () \ { \ - scm_make_gsubr (#TYPE "::scheme_molecule", 1, 0, 0, \ - (SCM(*)(...))TYPE::scheme_molecule); \ + scm_make_gsubr (#TYPE "::" #FUNC, 1, 0, 0, \ + (SCM(*)(...))TYPE :: FUNC); \ } \ \ -ADD_SCM_INIT_FUNC(TYPE ## _molecule, TYPE ## __init_functions); \ +ADD_SCM_INIT_FUNC(TYPE ## _ ## FUNC ## _scelt, TYPE ## _ ## FUNC ## _init_functions); \ -#define MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(TYPE) \ -MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(TYPE);\ -SCM \ -TYPE::scheme_molecule (SCM smob) \ -{ \ +#define GLUE_SCORE_ELEMENT(TYPE, FUNC) \ +MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(TYPE,FUNC);\ +SCM \ +TYPE::FUNC (SCM smob) \ +{ \ TYPE * b = dynamic_cast (unsmob_element (smob)); \ - return b ? b->do_brew_molecule ().create_scheme () : SCM_EOL; \ -} \ - \ - + return b ? b->member_ ## FUNC () : SCM_UNDEFINED; \ +} \ #endif // STAFFELEM_HH diff --git a/lily/include/script-column.hh b/lily/include/script-column.hh index d79e25f3f8..9c580c5083 100644 --- a/lily/include/script-column.hh +++ b/lily/include/script-column.hh @@ -17,8 +17,9 @@ class Script_column : public Item public: Script_column(SCM); void add_staff_sided (Item*); -protected: - virtual void before_line_breaking (); + + SCM member_before_line_breaking (); + static SCM before_line_breaking (SCM); }; diff --git a/lily/include/script.hh b/lily/include/script.hh index 0204e81112..4d7bc39cfd 100644 --- a/lily/include/script.hh +++ b/lily/include/script.hh @@ -23,13 +23,15 @@ class Script : public Item Molecule get_molecule (Direction d) const; public: Script (SCM); - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); -protected: - virtual void before_line_breaking (); - virtual void after_line_breaking (); - Molecule do_brew_molecule () const; + + SCM member_before_line_breaking (); + static SCM before_line_breaking (SCM); + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); + SCM member_brew_molecule () const; }; #endif /* Stem_SCRIPT_HH */ diff --git a/lily/include/slur.hh b/lily/include/slur.hh index cefb249d73..654bc45685 100644 --- a/lily/include/slur.hh +++ b/lily/include/slur.hh @@ -20,12 +20,9 @@ public: VIRTUAL_COPY_CONS(Score_element); void add_column (Note_column*); - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); - - -protected: - Molecule do_brew_molecule () const; + SCM member_brew_molecule () const; virtual Array get_encompass_offset_arr () const; Bezier get_curve () const; @@ -36,7 +33,8 @@ protected: Drul_array dx_f_drul_; virtual Direction get_default_dir () const; - virtual void after_line_breaking (); + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); virtual void do_add_processing (); Array get_rods () const; diff --git a/lily/include/span-bar.hh b/lily/include/span-bar.hh index 17886676cd..9ccb4d65b3 100644 --- a/lily/include/span-bar.hh +++ b/lily/include/span-bar.hh @@ -29,14 +29,15 @@ public: VIRTUAL_COPY_CONS(Score_element); void add_bar (Score_element*); -protected: void evaluate_empty (); static Interval width_callback(Score_element const*, Axis) ; virtual Real get_bar_size () const; - virtual void before_line_breaking (); - virtual void after_line_breaking (); + SCM member_before_line_breaking (); + static SCM before_line_breaking (SCM); + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); }; #endif // SPAN_BAR_HH diff --git a/lily/include/staff-symbol.hh b/lily/include/staff-symbol.hh index 98478d5c36..79af611f13 100644 --- a/lily/include/staff-symbol.hh +++ b/lily/include/staff-symbol.hh @@ -22,12 +22,9 @@ public: int steps_i() const; int line_count () const; Staff_symbol (SCM s); - static SCM scheme_molecule (SCM); - - -protected: + static SCM brew_molecule (SCM); VIRTUAL_COPY_CONS(Score_element); - Molecule do_brew_molecule() const; + SCM member_brew_molecule() const; }; #endif // STAFFSYM_HH diff --git a/lily/include/stem-tremolo.hh b/lily/include/stem-tremolo.hh index 97cbd2c690..2cd904a632 100644 --- a/lily/include/stem-tremolo.hh +++ b/lily/include/stem-tremolo.hh @@ -14,15 +14,13 @@ class Stem_tremolo : public Item { -protected: +public: Stem * stem_l () const; - Molecule do_brew_molecule () const; + SCM member_brew_molecule () const; static Interval dim_callback (Score_element*, Axis); -public: - static SCM scheme_molecule (SCM); - -Stem_tremolo (SCM); + static SCM brew_molecule (SCM); + Stem_tremolo (SCM); void set_stem (Stem *); }; diff --git a/lily/include/stem.hh b/lily/include/stem.hh index ea208ff792..24e0630c76 100644 --- a/lily/include/stem.hh +++ b/lily/include/stem.hh @@ -43,7 +43,7 @@ class Stem : public Item { public: - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); @@ -82,7 +82,7 @@ public: /// heads that the stem encompasses (positions) Interval head_positions() const; -protected: +public: friend class Stem_tremolo; // ugh. Real get_default_stem_end_position () const; void position_noteheads(); @@ -91,9 +91,10 @@ protected: static Real off_callback (Score_element const*, Axis); Molecule flag () const; - virtual void before_line_breaking(); + SCM member_before_line_breaking (); + static SCM before_line_breaking (SCM); static Interval dim_callback (Score_element const*,Axis); - Molecule do_brew_molecule() const; + SCM member_brew_molecule() const; void set_spacing_hints () ; }; diff --git a/lily/include/system-start-delimiter.hh b/lily/include/system-start-delimiter.hh index 61d23efdb1..659b166514 100644 --- a/lily/include/system-start-delimiter.hh +++ b/lily/include/system-start-delimiter.hh @@ -19,11 +19,12 @@ class System_start_delimiter : public Spanner { public: System_start_delimiter (SCM); - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); VIRTUAL_COPY_CONS (Score_element); -protected: - virtual void after_line_breaking(); + + virtual SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); Molecule staff_bracket (Real) const; Molecule staff_brace (Real) const; diff --git a/lily/include/tie-column.hh b/lily/include/tie-column.hh index 6dfe54d82b..d4ff9f41e7 100644 --- a/lily/include/tie-column.hh +++ b/lily/include/tie-column.hh @@ -19,8 +19,9 @@ public: VIRTUAL_COPY_CONS (Score_element); void add_tie (Tie*); Tie_column (SCM s); -protected: - virtual void after_line_breaking (); + + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); void set_directions (); }; diff --git a/lily/include/tie.hh b/lily/include/tie.hh index e45a456b99..bf6f386fc4 100644 --- a/lily/include/tie.hh +++ b/lily/include/tie.hh @@ -25,13 +25,13 @@ public: Note_head* head (Direction) const; Real position_f () const; - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); virtual Direction get_default_dir() const; -protected: - Molecule do_brew_molecule () const; + + SCM member_brew_molecule () const; virtual Array get_encompass_offset_arr () const; Bezier get_curve () const; @@ -42,7 +42,8 @@ protected: Drul_array dx_f_drul_; virtual void do_add_processing (); - virtual void after_line_breaking (); + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); virtual Array get_rods () const; diff --git a/lily/include/time-signature.hh b/lily/include/time-signature.hh index ea338b29a4..80a08ac7a6 100644 --- a/lily/include/time-signature.hh +++ b/lily/include/time-signature.hh @@ -23,11 +23,11 @@ class Time_signature: public Item Molecule special_time_signature (String,int,int) const; Molecule time_signature (int, int)const; -protected: - Molecule do_brew_molecule() const; public: + SCM member_brew_molecule() const; + Time_signature (SCM); - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); /* diff --git a/lily/include/tuplet-spanner.hh b/lily/include/tuplet-spanner.hh index ca725e5d40..42019434b7 100644 --- a/lily/include/tuplet-spanner.hh +++ b/lily/include/tuplet-spanner.hh @@ -7,7 +7,6 @@ #ifndef Tuplet_spanner_HH #define Tuplet_spanner_HH -#include "pointer.hh" #include "spanner.hh" /** supportable plet: triplets, eentweetjes, ottava, etc. @@ -21,19 +20,21 @@ class Tuplet_spanner : public Spanner { public: Tuplet_spanner (SCM); - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); void add_column (Note_column*); void add_beam (Beam*); -protected: + void calc_dy (Real *) const; void calc_position_and_height (Real*,Real *dy)const; - Molecule do_brew_molecule () const; + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); + SCM member_brew_molecule () const; VIRTUAL_COPY_CONS(Score_element); + virtual void do_add_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 40c2195a44..ede918a767 100644 --- a/lily/include/volta-spanner.hh +++ b/lily/include/volta-spanner.hh @@ -8,7 +8,6 @@ #define VOLTA_SPANNER_HH -#include "pointer.hh" #include "spanner.hh" /** Volta bracket with number */ @@ -17,16 +16,16 @@ class Volta_spanner : public Spanner { public: Volta_spanner (SCM); - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); void add_column (Note_column*); void add_bar (Bar*); -protected: - Molecule do_brew_molecule () const; + SCM member_brew_molecule () const; VIRTUAL_COPY_CONS (Score_element); virtual void do_add_processing (); - virtual void after_line_breaking (); + SCM member_after_line_breaking (); + static SCM after_line_breaking (SCM); }; #endif // VOLTA_SPANNER_HH diff --git a/lily/key-item.cc b/lily/key-item.cc index 46ad565f50..77a9e10418 100644 --- a/lily/key-item.cc +++ b/lily/key-item.cc @@ -74,14 +74,13 @@ Key_item::calculate_position(SCM pair) const } } -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Key_item) - /* TODO - space the `natural' signs wider */ -Molecule -Key_item::do_brew_molecule () const +GLUE_SCORE_ELEMENT(Key_item,brew_molecule); +SCM +Key_item::member_brew_molecule () const { Molecule mol; @@ -134,12 +133,9 @@ Key_item::do_brew_molecule () const mol.add_at_edge (X_AXIS, LEFT, m,0); } } - - } - - return mol; + return mol.create_scheme(); } diff --git a/lily/lexer.ll b/lily/lexer.ll index 44209d00e3..7178826d35 100644 --- a/lily/lexer.ll +++ b/lily/lexer.ll @@ -586,9 +586,9 @@ valid_version_b (String s) Mudela_version ver (s); if (!((ver >= oldest_version) && (ver <= current))) { - error (_f ("incorrect mudela version: %s (%s, %s)", ver.str (), oldest_version.str (), current.str ())); - if (!version_ignore_global_b) - return false; + non_fatal_error (_f ("incorrect mudela version: %s (%s, %s)", ver.str (), oldest_version.str (), current.str ())); + non_fatal_error (_("Consider converting the input with the convert-mudela script")); + return false; } return true; } diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc index 5c9c793c9e..e406055722 100644 --- a/lily/lily-guile.cc +++ b/lily/lily-guile.cc @@ -108,12 +108,8 @@ ly_symbol2string (SCM s) } -/** - Read a file, and shove it down GUILE. GUILE also has file read - functions, but you can't fiddle with the path of those. - */ -void -read_lily_scm_file (String fn) +String +gulp_file_to_string (String fn) { String s = global_path.find (fn); if (s == "") @@ -123,39 +119,35 @@ read_lily_scm_file (String fn) e += _f ("(load path: `%s')", global_path.str ()); error (e); } - else - progress_indication ("[" + s); + else if (verbose_global_b) + progress_indication ("[" + s ); Simple_file_storage f(s); - - gh_eval_str ((char *) f.ch_C()); - progress_indication ("]"); + String result (f.ch_C()); + if (verbose_global_b) + progress_indication ("]"); + return result; } - SCM -ly_gulp_file (SCM name) +ly_gulp_file (SCM fn) { - String fn (ly_scm2string (name)); - String s = global_path.find (fn); - if (s == "") - { - String e = _f ("can't find file: `%s'", fn); - e += " "; - e += _f ("(load path: `%s')", global_path.str ()); - error (e); - } - else - progress_indication ("[" + s ); + return ly_str02scm (gulp_file_to_string (ly_scm2string (fn)).ch_C()); +} - Simple_file_storage f(s); - SCM result = ly_str02scm (f.ch_C()); - progress_indication ("]"); - return result; +/** + Read a file, and shove it down GUILE. GUILE also has file read + functions, but you can't fiddle with the path of those. + */ +void +read_lily_scm_file (String fn) +{ + gh_eval_str ((char *) gulp_file_to_string (fn).ch_C()); } + void ly_display_scm (SCM s) { diff --git a/lily/line-of-score.cc b/lily/line-of-score.cc index 110aea1c93..62bd6a153d 100644 --- a/lily/line-of-score.cc +++ b/lily/line-of-score.cc @@ -83,17 +83,24 @@ Line_of_score::output_lines () unsmob_element (gh_car (s))->handle_broken_dependencies (); } handle_broken_dependencies (); - progress_indication ( _f("Element count %d.", count + element_count())); + + if (verbose_global_b) + progress_indication ( _f("Element count %d.", count + element_count())); for (int i=0; i < broken_into_l_arr_.size (); i++) { Line_of_score *line_l = dynamic_cast (broken_into_l_arr_[i]); - progress_indication ("["); + if (verbose_global_b) + progress_indication ("["); line_l->post_processing (); - progress_indication (to_str (i)); - progress_indication ("]"); + + if (verbose_global_b) + { + progress_indication (to_str (i)); + progress_indication ("]"); + } } } @@ -200,7 +207,8 @@ Line_of_score::pre_processing () for (SCM s = get_elt_pointer ("all-elements"); gh_pair_p (s); s = gh_cdr (s)) unsmob_element (gh_car (s))->discretionary_processing (); - progress_indication ( _f("Element count %d ", element_count ())); + if(verbose_global_b) + progress_indication ( _f("Element count %d ", element_count ())); for (SCM s = get_elt_pointer ("all-elements"); gh_pair_p (s); s = gh_cdr (s)) @@ -211,7 +219,7 @@ Line_of_score::pre_processing () for (SCM s = get_elt_pointer ("all-elements"); gh_pair_p (s); s = gh_cdr (s)) { Score_element* sc = unsmob_element (gh_car (s)); - sc->calculate_dependencies (PRECALCED, PRECALCING, &Score_element::before_line_breaking); + sc->calculate_dependencies (PRECALCED, PRECALCING, ly_symbol2scm ("before-line-breaking-callback")); } progress_indication ("\n" + _ ("Calculating column positions...") + " " ); @@ -226,7 +234,8 @@ Line_of_score::post_processing () gh_pair_p (s); s = gh_cdr (s)) { Score_element* sc = unsmob_element (gh_car (s)); - sc->calculate_dependencies (POSTCALCED, POSTCALCING, &Score_element::after_line_breaking); + sc->calculate_dependencies (POSTCALCED, POSTCALCING, + ly_symbol2scm ("after-line-breaking-callback")); } Interval i(extent(Y_AXIS)); diff --git a/lily/local-key-item.cc b/lily/local-key-item.cc index 4b77e00fd3..0c1ec92137 100644 --- a/lily/local-key-item.cc +++ b/lily/local-key-item.cc @@ -14,7 +14,6 @@ #include "note-head.hh" #include "misc.hh" - void Local_key_item::add_pitch (Musical_pitch p, bool cautionary, bool natural) { @@ -30,12 +29,13 @@ Local_key_item::add_pitch (Musical_pitch p, bool cautionary, bool natural) accidental_arr_.push (t); } +GLUE_SCORE_ELEMENT(Local_key_item,before_line_breaking); - -void -Local_key_item::before_line_breaking () +SCM +Local_key_item::member_before_line_breaking () { accidental_arr_.sort (Local_key_cautionary_tuple::compare); + return SCM_UNDEFINED; } Molecule @@ -61,9 +61,10 @@ Local_key_item::accidental (int j, bool cautionary, bool natural) const /* UGH. clean me up */ -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Local_key_item) -Molecule -Local_key_item::do_brew_molecule () const + +GLUE_SCORE_ELEMENT(Local_key_item,brew_molecule); +SCM +Local_key_item::member_brew_molecule () const { Molecule mol; Staff_symbol_referencer_interface si (this); @@ -134,7 +135,7 @@ Local_key_item::do_brew_molecule () const } while ( flip (&d)!= LEFT); } - return mol; + return mol.create_scheme(); } Local_key_item::Local_key_item (SCM s) diff --git a/lily/lyric-extender.cc b/lily/lyric-extender.cc index e20d7d1ea9..89f3eddf05 100644 --- a/lily/lyric-extender.cc +++ b/lily/lyric-extender.cc @@ -16,9 +16,9 @@ #include "extender-spanner.hh" -MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(Lyric_extender) +MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(Lyric_extender,brew_molecule) SCM -Lyric_extender::scheme_molecule (SCM smob) +Lyric_extender::brew_molecule (SCM smob) { Spanner *sp = dynamic_cast (unsmob_element (smob)); diff --git a/lily/main.cc b/lily/main.cc index 3f7a41e000..d575245570 100644 --- a/lily/main.cc +++ b/lily/main.cc @@ -34,7 +34,7 @@ #endif -bool version_ignore_global_b = false; +bool verbose_global_b = false; bool no_paper_global_b = false; bool no_timestamps_global_b = false; bool find_old_relative_b = false; @@ -80,8 +80,8 @@ Long_option_init theopts[] = { {0, "safe", 's', _i ("inhibit file output naming and exporting")}, {0, "no-timestamps", 'T', _i ("don't timestamp the output")}, {0, "test", 't', _i ("switch on experimental features")}, - {0, "ignore-version", 'V', _i ("ignore mudela version")}, {0, "version", 'v', _i ("print version number")}, + {0, "verbose", 'V', _i("verbose")}, {0, "warranty", 'w', _i ("show warranty and copyright")}, {0,0,0, 0} }; @@ -346,7 +346,7 @@ main (int argc, char **argv) exit (0); break; case 'V': - version_ignore_global_b = true; + verbose_global_b = true; break; case 's': safe_global_b = true; diff --git a/lily/multi-measure-rest.cc b/lily/multi-measure-rest.cc index eb12c9f9b2..bf8a009f45 100644 --- a/lily/multi-measure-rest.cc +++ b/lily/multi-measure-rest.cc @@ -31,9 +31,11 @@ Multi_measure_rest::Multi_measure_rest (SCM s) [TODO] 17 * variable-sized multi-measure rest symbol: |====| ?? */ -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Multi_measure_rest) -Molecule -Multi_measure_rest::do_brew_molecule () const + +GLUE_SCORE_ELEMENT(Multi_measure_rest,brew_molecule); + +SCM +Multi_measure_rest::member_brew_molecule () const { Real staff_space = staff_symbol_referencer (this).staff_space (); @@ -131,7 +133,7 @@ Multi_measure_rest::do_brew_molecule () const mol.add_molecule (s); } mol.translate_axis (x_off, X_AXIS); - return mol; + return mol.create_scheme(); } /* @@ -152,14 +154,16 @@ Multi_measure_rest::do_add_processing () // set columns to SCM_EOL? } -void -Multi_measure_rest::after_line_breaking () +GLUE_SCORE_ELEMENT(Multi_measure_rest,after_line_breaking); +SCM +Multi_measure_rest::member_after_line_breaking () { if (!gh_pair_p (get_elt_pointer ("columns"))) { suicide (); } - + + return SCM_UNDEFINED; } diff --git a/lily/my-lily-parser.cc b/lily/my-lily-parser.cc index 65e3c69adc..286c938429 100644 --- a/lily/my-lily-parser.cc +++ b/lily/my-lily-parser.cc @@ -43,7 +43,6 @@ My_lily_parser::~My_lily_parser() void My_lily_parser::set_version_check (bool ig) { - ignore_version_b_ = ig; } void diff --git a/lily/note-column.cc b/lily/note-column.cc index 7c1dd5ae9c..db93c4370b 100644 --- a/lily/note-column.cc +++ b/lily/note-column.cc @@ -149,15 +149,16 @@ Note_column::set_dotcol (Dot_column *d) rest -> stem -> beam -> interpolate_y_position () */ -void -Note_column::after_line_breaking () +GLUE_SCORE_ELEMENT(Note_column,after_line_breaking); +SCM +Note_column::member_after_line_breaking () { if (!stem_l () || !rest_b ()) - return; + return SCM_UNDEFINED; Beam * b = stem_l ()->beam_l (); if (!b || !b->visible_stem_count ()) - return; + return SCM_UNDEFINED; /* ugh. Should be done by beam. (what? should be done --jcn) @@ -204,6 +205,8 @@ Note_column::after_line_breaking () discrete_dist = int (ceil (discrete_dist / 2.0)* 2.0); translate_rests (-d * discrete_dist); + + return SCM_UNDEFINED; } diff --git a/lily/note-head.cc b/lily/note-head.cc index 4f8934ab37..4452ce905a 100644 --- a/lily/note-head.cc +++ b/lily/note-head.cc @@ -52,8 +52,9 @@ Note_head::ledger_line (Interval xwid) const } -void -Note_head::before_line_breaking () +GLUE_SCORE_ELEMENT(Note_head,before_line_breaking); +SCM +Note_head::member_before_line_breaking () { // 8 ball looks the same as 4 ball: @@ -67,14 +68,16 @@ Note_head::before_line_breaking () si.set_position(int (me.position_f ())); } + + return SCM_UNDEFINED; } -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Note_head); +GLUE_SCORE_ELEMENT(Note_head,brew_molecule); -Molecule -Note_head::do_brew_molecule() const +SCM +Note_head::member_brew_molecule () const { Staff_symbol_referencer_interface si (this); @@ -117,7 +120,7 @@ Note_head::do_brew_molecule() const out.add_molecule (s); } } - return out; + return out.create_scheme(); } diff --git a/lily/paper-score.cc b/lily/paper-score.cc index 7e3388fedf..c90f8ca0ff 100644 --- a/lily/paper-score.cc +++ b/lily/paper-score.cc @@ -67,7 +67,9 @@ Paper_score::calc_breaking () void Paper_score::process () { - progress_indication ( _f("Element count %d ", line_l_->element_count ())); + if (verbose_global_b) + progress_indication ( _f("Element count %d ", line_l_->element_count ())); + progress_indication (_ ("Preprocessing elements...") + " "); diff --git a/lily/performance.cc b/lily/performance.cc index 84a8e64b4c..f6ff1cb5c7 100644 --- a/lily/performance.cc +++ b/lily/performance.cc @@ -52,7 +52,8 @@ Performance::output (Midi_stream& midi_stream) for (int i =0; i < audio_staff_l_arr_.size (); i++) { Audio_staff *s = audio_staff_l_arr_[i]; - progress_indication ("[" + to_str (i)) ; + if(verbose_global_b) + progress_indication ("[" + to_str (i)) ; /* Aargh, let's hear it for the MIDI standard. @@ -62,7 +63,8 @@ Performance::output (Midi_stream& midi_stream) if (channel == 9) channel++; s->output (midi_stream, channel++); - progress_indication ("]"); + if(verbose_global_b) + progress_indication ("]"); } } diff --git a/lily/rest-collision.cc b/lily/rest-collision.cc index f5be97061c..f7474eccb3 100644 --- a/lily/rest-collision.cc +++ b/lily/rest-collision.cc @@ -60,8 +60,9 @@ col2rhythmic_head (Note_column* c) return dynamic_cast (e); } -void -Rest_collision::before_line_breaking () +GLUE_SCORE_ELEMENT(Rest_collision,before_line_breaking); +SCM +Rest_collision::member_before_line_breaking () { Link_array rest_l_arr = Pointer_group_interface__extract_elements (this, (Note_column*) 0, "rests"); @@ -80,11 +81,11 @@ Rest_collision::before_line_breaking () // no rests to collide if (!rest_l_arr.size()) - return; + return SCM_UNDEFINED; // no partners to collide with if (rest_l_arr.size() + ncol_l_arr.size () < 2) - return; + return SCM_UNDEFINED; // meisjes met meisjes if (!ncol_l_arr.size()) @@ -145,7 +146,7 @@ Rest_collision::before_line_breaking () Interval restdim = rcol->rest_dim (); if (restdim.empty_b ()) - return; + return SCM_UNDEFINED; // staff ref'd? Real staff_space = paper_l()->get_var ("interline"); @@ -188,6 +189,7 @@ Rest_collision::before_line_breaking () rcol->translate_rests (dir * discrete_dist); } + return SCM_UNDEFINED; } diff --git a/lily/rest.cc b/lily/rest.cc index 24bc4d0847..9d9385f567 100644 --- a/lily/rest.cc +++ b/lily/rest.cc @@ -15,8 +15,9 @@ #include "staff-symbol-referencer.hh" // -> offset callback -void -Rest::after_line_breaking () +GLUE_SCORE_ELEMENT(Rest,after_line_breaking); +SCM +Rest::member_after_line_breaking () { if (balltype_i () == 0) { @@ -33,13 +34,15 @@ Rest::after_line_breaking () staff_symbol_referencer (d) .set_position ((balltype_i () == 7) ? 4 : 3); } + + return SCM_UNDEFINED; } -MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(Rest) +MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(Rest,brew_molecule) SCM -Rest::scheme_molecule (SCM smob) +Rest::brew_molecule (SCM smob) { Score_element* sc = unsmob_element (smob); diff --git a/lily/rhythmic-head.cc b/lily/rhythmic-head.cc index 1b735cd5ee..b6a83b6d43 100644 --- a/lily/rhythmic-head.cc +++ b/lily/rhythmic-head.cc @@ -47,8 +47,9 @@ Rhythmic_head::dot_count () const ? gh_scm2int (dots_l ()->get_elt_property ("dot-count")) : 0; } -void -Rhythmic_head::after_line_breaking () +GLUE_SCORE_ELEMENT(Rhythmic_head,after_line_breaking); +SCM +Rhythmic_head::member_after_line_breaking () { if (Dots *d = dots_l ()) { @@ -56,6 +57,8 @@ Rhythmic_head::after_line_breaking () Staff_symbol_referencer_interface me (d); si.set_position(int (me.position_f ())); } + + return SCM_UNDEFINED; } diff --git a/lily/score-element.cc b/lily/score-element.cc index a0a13eb5af..0761c5e51e 100644 --- a/lily/score-element.cc +++ b/lily/score-element.cc @@ -199,8 +199,7 @@ Score_element::add_processing() } void -Score_element::calculate_dependencies (int final, int busy, - Score_element_method_pointer funcptr) +Score_element::calculate_dependencies (int final, int busy, SCM funcname) { assert (status_i_ >=0); @@ -218,11 +217,17 @@ Score_element::calculate_dependencies (int final, int busy, for (SCM d= get_elt_pointer ("dependencies"); gh_pair_p (d); d = gh_cdr (d)) { unsmob_element (gh_car (d)) - ->calculate_dependencies (final, busy, funcptr); + ->calculate_dependencies (final, busy, funcname); } - (this->*funcptr)(); + // ughugh. + String s = ly_symbol2string (funcname); + SCM proc = get_elt_property (s.ch_C()); + if (gh_procedure_p (proc)) + gh_call1 (proc, this->self_scm_); + status_i_= final; + } Molecule @@ -246,17 +251,6 @@ Score_element::do_break_processing() { } -void -Score_element::after_line_breaking () -{ -} - - -void -Score_element::before_line_breaking () -{ -} - void Score_element::do_space_processing () { @@ -268,13 +262,13 @@ Score_element::do_add_processing() } -MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(Score_element) +MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(Score_element,brew_molecule) /* ugh. */ SCM -Score_element::scheme_molecule (SCM smob) +Score_element::brew_molecule (SCM smob) { Score_element * sc = unsmob_element (smob); SCM glyph = sc->get_elt_property ("glyph"); diff --git a/lily/score.cc b/lily/score.cc index e8fd342f35..b9027e9288 100644 --- a/lily/score.cc +++ b/lily/score.cc @@ -94,7 +94,8 @@ Score::run_translator (Music_output_def *odef_l) Music_output * output = trans_p->get_output_p(); delete trans_p; - progress_indication (_f ("elapsed time: %.2f seconds", timer.read ())); + if(verbose_global_b) + progress_indication (_f ("elapsed time: %.2f seconds", timer.read ())); output->header_l_ = header_p_; output->origin_str_ = location_str(); diff --git a/lily/scores.cc b/lily/scores.cc index e0ff3ffc18..86c0303284 100644 --- a/lily/scores.cc +++ b/lily/scores.cc @@ -120,7 +120,8 @@ do_one_file (String init_str, String file_str) source_global_l->set_path (&global_path); { My_lily_parser parser (source_global_l); - parser.set_version_check (version_ignore_global_b); + parser.set_version_check (false); + cout << "\nNow processing `" << file_str << "'\n"; parser.parse_file (init_str, file_str); if (parser.error_level_i_) diff --git a/lily/script-column.cc b/lily/script-column.cc index c4123815d4..cc8cfcacb0 100644 --- a/lily/script-column.cc +++ b/lily/script-column.cc @@ -41,8 +41,9 @@ staff_side_compare (Item * const &i1, return gh_scm2int (p1) - gh_scm2int (p2); } -void -Script_column::before_line_breaking () +GLUE_SCORE_ELEMENT(Script_column,before_line_breaking); +SCM +Script_column::member_before_line_breaking () { Drul_array > arrs; Link_array staff_sided @@ -75,5 +76,7 @@ Script_column::before_line_breaking () } } while (flip (&d) != DOWN); + + return SCM_UNDEFINED; } diff --git a/lily/script.cc b/lily/script.cc index 6c51f6ac5e..326667e7b4 100644 --- a/lily/script.cc +++ b/lily/script.cc @@ -42,34 +42,42 @@ Script::get_molecule(Direction d) const } -void -Script::before_line_breaking () +GLUE_SCORE_ELEMENT(Script,before_line_breaking); +SCM +Script::member_before_line_breaking () { /* center my self on the note head. */ Score_element * e = parent_l(X_AXIS); translate_axis (e->extent (X_AXIS).center (), X_AXIS); + + return SCM_UNDEFINED; } -void -Script::after_line_breaking () +GLUE_SCORE_ELEMENT(Script,after_line_breaking); +SCM +Script::member_after_line_breaking () { Side_position_interface i (this); Direction d = i.get_direction (); i.set_direction (d); + + return SCM_UNDEFINED; } -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Script) -Molecule -Script::do_brew_molecule () const + +GLUE_SCORE_ELEMENT(Script,brew_molecule); + +SCM +Script::member_brew_molecule () const { Direction dir = DOWN; SCM d = get_elt_property ("direction"); if (isdir_b (d)) dir = to_dir (d); - return get_molecule (dir); + return get_molecule (dir).create_scheme(); } diff --git a/lily/slur.cc b/lily/slur.cc index 118bae506c..fd59628e57 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -341,11 +341,14 @@ Slur::encompass_offset (Note_column const* col) const return o; } -void -Slur::after_line_breaking () +GLUE_SCORE_ELEMENT(Slur,after_line_breaking); + +SCM +Slur::member_after_line_breaking () { set_extremities (); set_control_points (); + return SCM_UNDEFINED; } /* @@ -602,14 +605,12 @@ Slur::get_rods () const } - -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Slur); - /* Ugh should have dash-length + dash-period */ -Molecule -Slur::do_brew_molecule () const +GLUE_SCORE_ELEMENT(Slur,brew_molecule); +SCM +Slur::member_brew_molecule () const { Real thick = paper_l ()->get_var ("slur_thickness"); Bezier one = get_curve (); @@ -621,7 +622,7 @@ Slur::do_brew_molecule () const else a = lookup_l ()->slur (one, directional_element (this).get () * thick, thick); - return a; + return a.create_scheme(); } void diff --git a/lily/span-bar-engraver.cc b/lily/span-bar-engraver.cc index f2659b0923..17c713b453 100644 --- a/lily/span-bar-engraver.cc +++ b/lily/span-bar-engraver.cc @@ -59,7 +59,11 @@ Span_bar_engraver::acknowledge_element (Score_element_info i) if (bar_l_arr_.size() >= 2 && !spanbar_p_) { - spanbar_p_ = get_span_bar_p( bar_l_arr_[0]->property_alist_); + spanbar_p_ = get_span_bar_p (get_property ("basicSpanBarProperties")); + spanbar_p_->set_elt_property ("glyph", bar_l_arr_[0]->get_elt_property ("glyph")); + spanbar_p_->set_elt_property ("visibility-lambda", + bar_l_arr_[0]->get_elt_property ("visibility-lambda")); + spanbar_p_->set_parent (bar_l_arr_[0], Y_AXIS); spanbar_p_->set_parent (bar_l_arr_[0], X_AXIS); diff --git a/lily/span-bar.cc b/lily/span-bar.cc index 415f1cac8b..91ab2a0ab2 100644 --- a/lily/span-bar.cc +++ b/lily/span-bar.cc @@ -39,16 +39,20 @@ Span_bar::width_callback (Score_element const *se, Axis ) return m.extent (X_AXIS); } -void -Span_bar::before_line_breaking () +GLUE_SCORE_ELEMENT(Span_bar,before_line_breaking); +SCM +Span_bar::member_before_line_breaking () { - Bar::before_line_breaking (); + Bar::member_before_line_breaking (); evaluate_empty (); + + return SCM_UNDEFINED; } -void -Span_bar::after_line_breaking () +GLUE_SCORE_ELEMENT(Span_bar,after_line_breaking); +SCM +Span_bar::member_after_line_breaking () { Interval i (get_spanned_interval ()); @@ -57,6 +61,7 @@ Span_bar::after_line_breaking () we have to translate ourselves to be in the center of the interval that we span. */ translate_axis (i.center (), Y_AXIS); + return SCM_UNDEFINED; } void diff --git a/lily/staff-symbol.cc b/lily/staff-symbol.cc index b791b707fd..ae2167d988 100644 --- a/lily/staff-symbol.cc +++ b/lily/staff-symbol.cc @@ -15,9 +15,11 @@ -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Staff_symbol) -Molecule -Staff_symbol::do_brew_molecule () const + +GLUE_SCORE_ELEMENT(Staff_symbol,brew_molecule); + +SCM +Staff_symbol::member_brew_molecule () const { Score_element * common = get_bound (LEFT)->common_refpoint (get_bound (RIGHT), X_AXIS); @@ -43,7 +45,7 @@ Staff_symbol::do_brew_molecule () const m.add_molecule (a); } - return m; + return m.create_scheme(); } int diff --git a/lily/stem-tremolo.cc b/lily/stem-tremolo.cc index ee39f337ad..a209a04a63 100644 --- a/lily/stem-tremolo.cc +++ b/lily/stem-tremolo.cc @@ -48,9 +48,10 @@ Stem_tremolo::dim_callback (Score_element * se, Axis ) } -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Stem_tremolo) -Molecule -Stem_tremolo::do_brew_molecule () const + +GLUE_SCORE_ELEMENT(Stem_tremolo,brew_molecule); +SCM +Stem_tremolo::member_brew_molecule () const { Stem * stem = stem_l (); Beam * beam = stem->beam_l (); @@ -128,7 +129,7 @@ Stem_tremolo::do_brew_molecule () const whole_note_correction, dy)); } - return mol; + return mol.create_scheme(); } diff --git a/lily/stem.cc b/lily/stem.cc index 1ca3d9b3eb..e1b53608c8 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -377,8 +377,9 @@ Stem::position_noteheads () } } -void -Stem::before_line_breaking () +GLUE_SCORE_ELEMENT(Stem,before_line_breaking); +SCM +Stem::member_before_line_breaking () { stem_end_position (); // ugh. Trigger direction calc. position_noteheads (); @@ -390,6 +391,7 @@ Stem::before_line_breaking () } set_spacing_hints (); + return SCM_UNDEFINED; } @@ -455,9 +457,11 @@ Stem::dim_callback (Score_element const *se, Axis ) const Real ANGLE = 20* (2.0*M_PI/360.0); // ugh! Should be settable. -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Stem) -Molecule -Stem::do_brew_molecule () const + +GLUE_SCORE_ELEMENT(Stem,brew_molecule); + +SCM +Stem::member_brew_molecule () const { Molecule mol; @@ -490,7 +494,7 @@ Stem::do_brew_molecule () const mol.add_molecule (fl); } - return mol; + return mol.create_scheme(); } Real diff --git a/lily/sustain-pedal.cc b/lily/sustain-pedal.cc index 1906eb29ac..77a3727ecf 100644 --- a/lily/sustain-pedal.cc +++ b/lily/sustain-pedal.cc @@ -22,21 +22,21 @@ Properties: - glyph -- text string (TODO: make one large glyph of the Ped symbol, removes need for do_brew_molecule ()) + glyph -- text string (TODO: make one large glyph of the Ped symbol, removes need for member_brew_molecule ()) */ struct Sustain_pedal { public: - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); }; -MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(Sustain_pedal); +MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(Sustain_pedal,brew_molecule); SCM -Sustain_pedal::scheme_molecule (SCM smob) +Sustain_pedal::brew_molecule (SCM smob) { Score_element * e = unsmob_element (smob); diff --git a/lily/system-start-delimiter.cc b/lily/system-start-delimiter.cc index 884f44e313..5be06b334e 100644 --- a/lily/system-start-delimiter.cc +++ b/lily/system-start-delimiter.cc @@ -55,8 +55,9 @@ System_start_delimiter::simple_bar (Real h) const return lookup_l ()->filledbox (Box (Interval(0,w), Interval(-h/2, h/2))); } -void -System_start_delimiter::after_line_breaking () +GLUE_SCORE_ELEMENT(System_start_delimiter,after_line_breaking); +SCM +System_start_delimiter::member_after_line_breaking () { SCM gl = get_elt_property ("glyph"); @@ -64,12 +65,13 @@ System_start_delimiter::after_line_breaking () { suicide (); } + return SCM_UNDEFINED; } -MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(System_start_delimiter); +MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(System_start_delimiter,brew_molecule); SCM -System_start_delimiter::scheme_molecule (SCM smob) +System_start_delimiter::brew_molecule (SCM smob) { Score_element * sc = unsmob_element (smob); diff --git a/lily/text-item.cc b/lily/text-item.cc index ae3ea80b40..777706f0bf 100644 --- a/lily/text-item.cc +++ b/lily/text-item.cc @@ -15,14 +15,14 @@ struct Text_item { - static SCM scheme_molecule (SCM); + static SCM brew_molecule (SCM); }; -MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(Text_item) +MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(Text_item,brew_molecule) SCM -Text_item::scheme_molecule (SCM sm) +Text_item::brew_molecule (SCM sm) { Score_element * s = unsmob_element (sm); diff --git a/lily/tie-column.cc b/lily/tie-column.cc index 5ef23866d2..08e242bb61 100644 --- a/lily/tie-column.cc +++ b/lily/tie-column.cc @@ -85,14 +85,15 @@ Tie_column::set_directions () Direction d = (Direction) sign (p); if (!d) d = UP; - directional_element (s[i]).set (d); } } -void -Tie_column::after_line_breaking () +GLUE_SCORE_ELEMENT(Tie_column,after_line_breaking); +SCM +Tie_column::member_after_line_breaking () { set_directions (); + return SCM_UNDEFINED; } diff --git a/lily/tie.cc b/lily/tie.cc index 90debb3079..ed3d2be69b 100644 --- a/lily/tie.cc +++ b/lily/tie.cc @@ -92,14 +92,15 @@ Tie::do_add_processing() index_set_cell (get_elt_pointer ("heads"), RIGHT, new_head_drul[RIGHT]->self_scm_ ); } -void -Tie::after_line_breaking () +GLUE_SCORE_ELEMENT(Tie,after_line_breaking); +SCM +Tie::member_after_line_breaking () { if (!head (LEFT) && !head (RIGHT)) { programming_error ("Tie without heads."); suicide (); - return; + return SCM_UNDEFINED; } if (!directional_element (this).get ()) @@ -169,6 +170,8 @@ Tie::after_line_breaking () } dy_f_drul_[LEFT] = dy_f_drul_[RIGHT] = y_f; + + return SCM_UNDEFINED; } @@ -187,12 +190,10 @@ Tie::get_rods () const return a; } +GLUE_SCORE_ELEMENT(Tie,brew_molecule); - - -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Tie) -Molecule -Tie::do_brew_molecule () const +SCM +Tie::member_brew_molecule () const { Real thick = paper_l ()->get_var ("tie_thickness"); Bezier one = get_curve (); @@ -204,7 +205,7 @@ Tie::do_brew_molecule () const else a = lookup_l ()->slur (one, directional_element (this).get () * thick, thick); - return a; + return a.create_scheme(); } diff --git a/lily/time-signature.cc b/lily/time-signature.cc index bbefb9dcfa..50c45abd4c 100644 --- a/lily/time-signature.cc +++ b/lily/time-signature.cc @@ -20,9 +20,10 @@ Time_signature::Time_signature (SCM s) } // ugh.! -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Time_signature) -Molecule -Time_signature::do_brew_molecule () const + +GLUE_SCORE_ELEMENT(Time_signature,brew_molecule); +SCM +Time_signature::member_brew_molecule () const { SCM st = get_elt_property ("style"); @@ -41,15 +42,15 @@ Time_signature::do_brew_molecule () const String style (ly_scm2string (st)); if (style[0]=='1') { - return time_signature (n, 0); + return time_signature (n, 0).create_scheme(); } else { - return special_time_signature (style, n, d); + return special_time_signature (style, n, d).create_scheme(); } } else - return time_signature (n,d); + return time_signature (n,d).create_scheme(); } Molecule diff --git a/lily/tuplet-spanner.cc b/lily/tuplet-spanner.cc index eeabe86e5b..5779209b15 100644 --- a/lily/tuplet-spanner.cc +++ b/lily/tuplet-spanner.cc @@ -35,9 +35,10 @@ Tuplet_spanner::Tuplet_spanner (SCM s) /* TODO. */ -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Tuplet_spanner) -Molecule -Tuplet_spanner::do_brew_molecule () const + +GLUE_SCORE_ELEMENT(Tuplet_spanner,brew_molecule); +SCM +Tuplet_spanner::member_brew_molecule () const { Molecule mol; @@ -111,7 +112,7 @@ Tuplet_spanner::do_brew_molecule () const mol.add_molecule (Molecule (b, at)); } } - return mol; + return mol.create_scheme(); } void @@ -201,8 +202,9 @@ Tuplet_spanner::calc_dy (Real * dy) const - column_arr[0]->extent (Y_AXIS) [d]; } -void -Tuplet_spanner::after_line_breaking () +GLUE_SCORE_ELEMENT(Tuplet_spanner,after_line_breaking); +SCM +Tuplet_spanner::member_after_line_breaking () { Link_array column_arr= Pointer_group_interface__extract_elements (this, (Note_column*)0, "columns"); @@ -210,6 +212,7 @@ Tuplet_spanner::after_line_breaking () if (!column_arr.size ()) { suicide (); + return SCM_UNDEFINED; } Direction d = directional_element (this).get (); @@ -237,6 +240,7 @@ Tuplet_spanner::after_line_breaking () && get_bound (RIGHT)->column_l () == beam_l->get_bound (RIGHT)->column_l ()) set_elt_property ("parallel-beam", SCM_BOOL_T); } + return SCM_UNDEFINED; } diff --git a/lily/volta-spanner.cc b/lily/volta-spanner.cc index 4f4880a716..cb9400bbca 100644 --- a/lily/volta-spanner.cc +++ b/lily/volta-spanner.cc @@ -41,9 +41,10 @@ Volta_spanner::Volta_spanner (SCM s) */ -MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Volta_spanner) -Molecule -Volta_spanner::do_brew_molecule () const + +GLUE_SCORE_ELEMENT(Volta_spanner,brew_molecule); +SCM +Volta_spanner::member_brew_molecule () const { Molecule mol; @@ -51,7 +52,7 @@ Volta_spanner::do_brew_molecule () const = Pointer_group_interface__extract_elements (this, (Bar*)0, "bars"); if (!bar_arr.size ()) - return mol; + return mol.create_scheme(); bool no_vertical_start = false; bool no_vertical_end = to_boolean (get_elt_property ("last-volta")); @@ -94,13 +95,12 @@ Volta_spanner::do_brew_molecule () const mol.add_at_edge (X_AXIS, LEFT, num, - num.extent (X_AXIS).length () - staff_space); - return mol; + return mol.create_scheme(); } void Volta_spanner::do_add_processing () { - Link_array bar_arr = Pointer_group_interface__extract_elements (this, (Bar*)0, "bars"); @@ -111,10 +111,12 @@ Volta_spanner::do_add_processing () } } -void -Volta_spanner::after_line_breaking () +GLUE_SCORE_ELEMENT(Volta_spanner,after_line_breaking); +SCM +Volta_spanner::member_after_line_breaking () { Side_position_interface (this).add_staff_support (); + return SCM_UNDEFINED; } void diff --git a/ly/engraver.ly b/ly/engraver.ly index 4445e4afa7..10a44a2db8 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -403,10 +403,10 @@ ScoreContext = \translator { basicBarProperties = #`( (break-align-symbol . Staff_bar) - (molecule-callback . ,Bar::scheme_molecule) + (molecule-callback . ,Bar::brew_molecule) (visibility-lambda . ,begin-of-line-invisible) (breakable . #t) - + (before-line-breaking-callback . ,Bar::before_line_breaking) ;; ;; Ross. page 151 lists other values, we opt for a leaner look ;; @@ -417,47 +417,56 @@ ScoreContext = \translator { ) basicBarNumberProperties = #`( - (molecule-callback . ,Text_item::scheme_molecule) + (molecule-callback . ,Text_item::brew_molecule) (breakable . #t) (visibility-lambda . ,begin-of-line-visible) ) basicBeamProperties = #`( - (molecule-callback . ,Beam::scheme_molecule) - (beam-thickness . 0.42) ; interline! + (molecule-callback . ,Beam::brew_molecule) + (beam-thickness . 0.42) ; interline + (before-line-breaking-callback . ,Beam::before_line_breaking) + (after-line-breaking-callback . ,Beam::after_line_breaking) ) basicBreakAlignProperties = #`( (breakable . #t) - ) + (before-line-breaking-callback . ,Break_align_item::before_line_breaking) +) basicBreathingSignProperties = #`( (break-align-symbol . Breathing_sign) + (after-line-breaking-callback . ,Breathing_sign::after_line_breaking) (breakable . #t ) - (molecule-callback . ,Breathing_sign::scheme_molecule) + (molecule-callback . ,Breathing_sign::brew_molecule) (visibility-lambda . ,begin-of-line-invisible) + ) basicClefItemProperties = #`( - (molecule-callback . ,Score_element::scheme_molecule) + (molecule-callback . ,Score_element::brew_molecule) + (before-line-breaking-callback . ,Clef_item::before_line_breaking) (breakable . #t) (break-align-symbol . Clef_item) (visibility-lambda . ,begin-of-line-visible) ) basicSlurProperties = #`( - (molecule-callback . ,Slur::scheme_molecule) + (molecule-callback . ,Slur::brew_molecule) + (after-line-breaking-callback . ,Slur::after_line_breaking) ) basicChordNameProperties = #`( - (molecule-callback . ,Chord_name::scheme_molecule) + (molecule-callback . ,Chord_name::brew_molecule) ) basicCollisionProperties = #`( (axes 0 1) + (before-line-breaking-callback . ,Collision::before_line_breaking) ) basicCrescendoProperties = #`( - (molecule-callback . ,Crescendo::scheme_molecule) + (molecule-callback . ,Crescendo::brew_molecule) ) basicDotsProperties = #`( - (molecule-callback . ,Dots::scheme_molecule) + (molecule-callback . ,Dots::brew_molecule) + (after-line-breaking-callback . ,Dots::after_line_breaking) (dot-count . 1) ) basicDynamicLineSpannerProperties = #`( @@ -465,7 +474,7 @@ ScoreContext = \translator { ) basicDynamicTextProperties = # `( (style . "dynamic") - (molecule-callback . ,Text_item::scheme_molecule) + (molecule-callback . ,Text_item::brew_molecule) (script-priority . 100) (self-alignment-Y . 0) ) @@ -473,54 +482,62 @@ ScoreContext = \translator { (break-align-symbol . Left_edge_item) (breakable . #t) ) + basicGraceAlignItemProperties = #`( + (axes . (0)) + (before-line-breaking-callback . ,Grace_align_item::before_line_breaking) + ) + basicHaraKiriVerticalGroupspannerProperties = #`( + (after-line-breaking-callback . ,Hara_kiri_group_spanner::after_line_breaking) + ) basicHyphenSpannerProperties = #`( - (thickness . 1.0) - (height . 0.4) - (minimum-length . 0.5) - (molecule-callback . ,Hyphen_spanner::scheme_molecule) + (thickness . 1.0) + (height . 0.4) + (minimum-length . 0.5) + (molecule-callback . ,Hyphen_spanner::brew_molecule) ) basicKeyProperties = #`( - (molecule-callback . ,Key_item::scheme_molecule) + (molecule-callback . ,Key_item::brew_molecule) (break-align-symbol . Key_item) (visibility-lambda . ,begin-of-line-visible) (breakable . #t) ) basicLocalKeyProperties = #`( - (molecule-callback . ,Local_key_item::scheme_molecule) + (molecule-callback . ,Local_key_item::brew_molecule) (left-padding . 0.2) (right-padding . 0.4) ) basicLyricExtenderProperties = #`( - (molecule-callback . ,Lyric_extender::scheme_molecule) + (molecule-callback . ,Lyric_extender::brew_molecule) ) basicLyricTextProperties = #`( - (molecule-callback . ,Text_item::scheme_molecule) + (molecule-callback . ,Text_item::brew_molecule) (non-rhythmic . #t) ) basicMarkProperties = #`( - (molecule-callback . ,Text_item::scheme_molecule) + (molecule-callback . ,Text_item::brew_molecule) (breakable . #t) (visibility-lambda . ,end-of-line-invisible) ) basicMultiMeasureRestProperties = #`( - (molecule-callback . ,Multi_measure_rest::scheme_molecule) + (molecule-callback . ,Multi_measure_rest::brew_molecule) (staff-position . 0) + (after-line-breaking-callback . ,Multi_measure_rest::after_line_breaking) ) basicNoteColumnProperties = #`( (axes 0 1) ) basicNoteHeadProperties = #`( - (molecule-callback . ,Note_head::scheme_molecule) + (molecule-callback . ,Note_head::brew_molecule) ) basicOctavateEightProperties = #`( (self-alignment-X . 0) (text . "8") (visibility-lambda . ,begin-of-line-visible) - (molecule-callback . ,Text_item::scheme_molecule) + (molecule-callback . ,Text_item::brew_molecule) (style . "italic") ) basicPedalProperties = #`( - (molecule-callback . ,Text_item::scheme_molecule) + (molecule-callback . ,Text_item::brew_molecule) (style . "italic") (no-spacing-rods . #t) (self-alignment-X . 0) @@ -528,25 +545,46 @@ ScoreContext = \translator { ) basicTextProperties = #`( ) basicRestProperties = #`( - (molecule-callback . ,Rest::scheme_molecule) + (molecule-callback . ,Rest::brew_molecule) ) basicRestCollisionProperties = #`( ) basicScriptProperties = #`( - (molecule-callback . ,Script::scheme_molecule) + (molecule-callback . ,Script::brew_molecule) ) basicSlurProperties = #`( - (molecule-callback . ,Slur::scheme_molecule) + (molecule-callback . ,Slur::brew_molecule) + (after-line-breaking-callback . ,Rest::after_line_breaking) + ) + basicSpanBarProperties = #`( + (break-align-symbol . Staff_bar) + (molecule-callback . ,Bar::brew_molecule) + (visibility-lambda . ,begin-of-line-invisible) + (breakable . #t) + (before-line-breaking-callback . ,Span_bar::before_line_breaking) + (after-line-breaking-callback . ,Span_bar::after_line_breaking) + + ;; ugh duplication! + + ;; + ;; Ross. page 151 lists other values, we opt for a leaner look + ;; + (kern . 3.0) + (thin-kern . 3.0) + (hair-thickness . 1.6) + (thick-thickness . 6.0) + ) basicSustainPedalProperties = #`( (no-spacing-rods . #t) - (molecule-callback . ,Sustain_pedal::scheme_molecule) + (molecule-callback . ,Sustain_pedal::brew_molecule) (self-alignment-X . 0) ) basicSystemStartDelimiterProperties = #`( - (molecule-callback . ,System_start_delimiter::scheme_molecule) + (molecule-callback . ,System_start_delimiter::brew_molecule) + (after-line-breaking-callback . ,System_start_delimiter::after_line_breaking) (collapse-height . 1.0) (thickness . 1.6) (arch-height . 1.5) @@ -557,36 +595,39 @@ ScoreContext = \translator { (bracket-width . 2.0) ) basicStemProperties = #`( - (molecule-callback . ,Stem::scheme_molecule) + (before-line-breaking-callback . ,Stem::before_line_breaking) + (molecule-callback . ,Stem::brew_molecule) ) staffSymbolBasicProperties = #`( - (molecule-callback . ,Staff_symbol::scheme_molecule) + (molecule-callback . ,Staff_symbol::brew_molecule) (staff-space . 1.0 ) (line-count . 5 ) ) basicTextScriptProperties = #`( - (molecule-callback . ,Text_item::scheme_molecule) + (molecule-callback . ,Text_item::brew_molecule) (no-spacing-rods . #t) ) basicTimeSignatureProperties = #`( - (molecule-callback . ,Time_signature::scheme_molecule) + (molecule-callback . ,Time_signature::brew_molecule) (break-align-symbol . Time_signature) (visibility-lambda . ,all-visible) (breakable . #t) ) basicTieProperties = #`( - (molecule-callback . ,Tie::scheme_molecule) + (molecule-callback . ,Tie::brew_molecule) + (after-line-breaking-callback . ,System_start_delimiter::after_line_breaking) ) basicTieColumnProperties = #`( - + (after-line-breaking-callback .,Tie_engraver::after_line_breaking) ) basicTupletSpannerProperties = #`( (number-gap . 2.0) - (thick . 1.0) - (molecule-callback . ,Tuplet_spanner::scheme_molecule) + (thick . 1.0) + (after-line-breaking-callback . ,Tuplet_spanner::after_line_breaking) + (molecule-callback . ,Tuplet_spanner::brew_molecule) ) basicStemTremoloProperties = #`( - (molecule-callback . ,Stem_tremolo::scheme_molecule) + (molecule-callback . ,Stem_tremolo::brew_molecule) (beam-width . 4.0) ; interline! (beam-thickness . 0.42) ; interline! ) @@ -596,7 +637,7 @@ ScoreContext = \translator { ) basicInstrumentNameProperties = #`( (breakable . #t) - (molecule-callback . ,Text_item::scheme_molecule) + (molecule-callback . ,Text_item::brew_molecule) (break-align-symbol . Instrument_name) (visibility-lambda . ,begin-of-line-visible) ) @@ -604,7 +645,8 @@ ScoreContext = \translator { (axes 1) ) basicVoltaSpannerProperties = #`( - (molecule-callback . ,Volta_spanner::scheme_molecule) + (molecule-callback . ,Volta_spanner::brew_molecule) + (after-line-breaking-callback . ,Volta_spanner::after_line_breaking) ) \accepts "Staff"; diff --git a/ly/part-paper.ly b/ly/part-paper.ly index 162984e5b3..2d3f1eb094 100644 --- a/ly/part-paper.ly +++ b/ly/part-paper.ly @@ -1,9 +1,9 @@ + +% JUNKME %part-paper.ly \paper { \translator { \OrchestralPartStaffContext } - \translator { \ScoreContext skipBars = 1; } - % for simple testing only! -% castingalgorithm = \Wordwrap; % lots faster on my 486 -- jcn + \translator { \ScoreContext skipBars = ##t; } } diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 70160c080f..080f6468fd 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.3.61 -Entered-date: 18JUN00 +Version: 1.3.62 +Entered-date: 21JUN00 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.61.tar.gz + 1000k lilypond-1.3.62.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.3.61.tar.gz + 1000k lilypond-1.3.62.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index 1caf25c93d..920a5e0ec7 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.3.61 +Version: 1.3.62 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.61.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.62.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond # Icon: lilypond-icon.gif diff --git a/mf/feta-toevallig.mf b/mf/feta-toevallig.mf index 22d6b3b9b9..b3d77bb108 100644 --- a/mf/feta-toevallig.mf +++ b/mf/feta-toevallig.mf @@ -270,11 +270,11 @@ def draw_paren = .. simple_serif(z1r, z1l, 90) .. z2l{down} -- cycle; enddef; -fet_beginchar("Right paranthesis", ")", "rightparen") +fet_beginchar("Right parenthesis", ")", "rightparen") draw_paren; fet_endchar; -fet_beginchar("Left paranthesis", "(", "leftparen") +fet_beginchar("Left parenthesis", "(", "leftparen") draw_paren; currentpicture := currentpicture xscaled -1; set_char_box(charwd, charbp, chardp, charht); diff --git a/po/lilypond.pot b/po/lilypond.pot index e93d45d142..30fd6bfd6b 100644 --- a/po/lilypond.pot +++ b/po/lilypond.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2000-06-21 16:48+0200\n" +"POT-Creation-Date: 2000-06-09 02:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,7 +22,7 @@ msgstr "" msgid "warning: " msgstr "" -#: dstream.cc:187 +#: dstream.cc:184 msgid "not enough fields in Dstream init" msgstr "" @@ -249,11 +249,11 @@ msgstr "" msgid "unterminated (de)crescendo" msgstr "" -#: extender-engraver.cc:97 +#: extender-engraver.cc:96 msgid "unterminated extender" msgstr "" -#: extender-engraver.cc:109 +#: extender-engraver.cc:108 msgid "Nothing to connect extender to on the left. Ignoring extender request." msgstr "" @@ -273,15 +273,15 @@ msgstr "" msgid "Unattached grace notes. Attaching to last musical column." msgstr "" -#: hyphen-engraver.cc:91 +#: hyphen-engraver.cc:59 msgid "unterminated hyphen" msgstr "" -#: hyphen-engraver.cc:103 +#: hyphen-engraver.cc:71 msgid "Nothing to connect hyphen to on the left. Ignoring hyphen request." msgstr "" -#: identifier.cc:47 +#: identifier.cc:44 #, c-format msgid "wrong identifier type, expected: `%s'" msgstr "" @@ -292,7 +292,15 @@ msgstr "" msgid "can't find file: `%s'" msgstr "" -#: key-engraver.cc:92 key-performer.cc:54 +#: key-def.cc:31 +msgid "No key name, assuming `C'" +msgstr "" + +#: key-def.cc:92 +msgid "Don't know how handle empty keys" +msgstr "" + +#: key-engraver.cc:74 key-performer.cc:65 msgid "FIXME: key change merge" msgstr "" @@ -301,20 +309,30 @@ msgstr "" msgid "(load path: `%s')" msgstr "" -#: line-of-score.cc:86 +#: line-of-score.cc:90 #, c-format msgid "Element count %d." msgstr "" -#: line-of-score.cc:203 paper-score.cc:70 +#: line-of-score.cc:207 paper-score.cc:70 #, c-format msgid "Element count %d " msgstr "" -#: line-of-score.cc:217 +#: line-of-score.cc:221 msgid "Calculating column positions..." msgstr "" +#: local-key-engraver.cc:82 +msgid "out of tune:" +msgstr "" + +#: local-key-engraver.cc:83 time-signature-engraver.cc:29 +#: translator-group.cc:416 translator-group.cc:425 +#, c-format +msgid "can't find: `%s'" +msgstr "" + #: lookup.cc:58 msgid "Aborting" msgstr "" @@ -469,16 +487,16 @@ msgstr "" msgid "no such instrument: `%s'" msgstr "" -#: midi-item.cc:366 +#: midi-item.cc:365 #, c-format msgid "unconventional key: flats: %d, sharps: %d" msgstr "" -#: midi-item.cc:413 +#: midi-item.cc:410 msgid "silly duration" msgstr "" -#: midi-item.cc:426 +#: midi-item.cc:423 msgid "silly pitch" msgstr "" @@ -486,11 +504,11 @@ msgstr "" msgid "Error syncing file (disk full?)" msgstr "" -#: music-output-def.cc:50 +#: music-output-def.cc:57 msgid "Interpretation context with empty type" msgstr "" -#: music-output-def.cc:77 +#: music-output-def.cc:87 #, c-format msgid "can't find `%s' context" msgstr "" @@ -500,12 +518,12 @@ msgstr "" msgid "Transposition by %s makes accidental larger than two" msgstr "" -#: my-lily-lexer.cc:118 +#: my-lily-lexer.cc:129 #, c-format msgid "Identifier name is a keyword: `%s'" msgstr "" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:148 #, c-format msgid "error at EOF: %s" msgstr "" @@ -518,16 +536,21 @@ msgstr "" msgid "Braces don't match" msgstr "" -#: paper-def.cc:85 +#: paper-def.cc:70 +#, c-format +msgid "unknown paper variable: `%s'" +msgstr "" + +#: paper-def.cc:74 msgid "not a real variable" msgstr "" -#: paper-def.cc:174 +#: paper-def.cc:165 #, c-format msgid "paper output to %s..." msgstr "" -#: mudela-stream.cc:93 paper-outputter.cc:91 performance.cc:95 +#: mudela-stream.cc:93 paper-outputter.cc:92 performance.cc:95 msgid ", at " msgstr "" @@ -715,12 +738,6 @@ msgstr "" msgid "lost in time:" msgstr "" -#: time-signature-engraver.cc:29 translator-group.cc:417 -#: translator-group.cc:426 -#, c-format -msgid "can't find: `%s'" -msgstr "" - #: timing-translator.cc:36 msgid "conflicting timing request" msgstr "" @@ -739,21 +756,21 @@ msgstr "" msgid "unknown translator: `%s'" msgstr "" -#: translator-group.cc:80 translator-group.cc:93 +#: translator-group.cc:81 translator-group.cc:94 msgid "Program has no such type" msgstr "" -#: translator-group.cc:84 translator-group.cc:99 +#: translator-group.cc:85 translator-group.cc:100 #, c-format msgid "Already contains: `%s'" msgstr "" -#: translator-group.cc:211 +#: translator-group.cc:210 #, c-format msgid "can't find or create `%s' called `%s'" msgstr "" -#: translator-group.cc:323 +#: translator-group.cc:322 #, c-format msgid "can't find or create: `%s'" msgstr "" @@ -767,68 +784,52 @@ msgstr "" msgid "Oldest supported input version: %s" msgstr "" -#: parser.yy:418 +#: parser.yy:427 msgid "Need a translator group for a context" msgstr "" -#: parser.yy:433 +#: parser.yy:448 msgid "Wrong type for property value" msgstr "" -#: parser.yy:607 +#: parser.yy:694 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" -#: parser.yy:652 +#: parser.yy:739 msgid "Second argument must be a symbol" msgstr "" -#: parser.yy:657 +#: parser.yy:744 msgid "First argument must be a procedure taking 1 argument" msgstr "" -#: parser.yy:957 -msgid "Expecting string as script definition" -msgstr "" - -#: parser.yy:967 +#: parser.yy:1069 msgid "Can't specify direction for this request" msgstr "" -#: parser.yy:1059 +#: parser.yy:1170 #, c-format msgid "Expecting %d arguments" msgstr "" -#: parser.yy:1075 -msgid "Must have 2 arguments for duration" -msgstr "" - -#: parser.yy:1082 parser.yy:1090 parser.yy:1331 +#: parser.yy:1193 parser.yy:1201 parser.yy:1443 msgid "Have to be in Lyric mode for lyrics" msgstr "" -#: parser.yy:1231 parser.yy:1251 +#: parser.yy:1342 parser.yy:1362 #, c-format msgid "not a duration: %d" msgstr "" -#: parser.yy:1260 +#: parser.yy:1371 msgid "Have to be in Note mode for notes" msgstr "" -#: parser.yy:1347 +#: parser.yy:1459 msgid "Have to be in Chord mode for chords" msgstr "" -#: parser.yy:1508 parser.yy:1526 -msgid "need integer number arg" -msgstr "" - -#: parser.yy:1512 -msgid "Must be positive integer" -msgstr "" - #: lexer.ll:158 msgid "EOF found inside a comment" msgstr "" @@ -837,36 +838,36 @@ msgstr "" msgid "\\maininput disallowed outside init files" msgstr "" -#: lexer.ll:196 +#: lexer.ll:202 #, c-format -msgid "wrong or undefined identifier: `%s'" +msgid "undefined identifier: `%s'" msgstr "" #. backup rule -#: lexer.ll:201 +#: lexer.ll:207 msgid "Missing end quote" msgstr "" #. backup rule -#: lexer.ll:223 lexer.ll:227 +#: lexer.ll:229 lexer.ll:233 msgid "white expected" msgstr "" -#: lexer.ll:235 +#: lexer.ll:241 msgid "Can't evaluate Scheme in safe mode" msgstr "" -#: lexer.ll:431 +#: lexer.ll:436 #, c-format msgid "invalid character: `%c'" msgstr "" -#: lexer.ll:503 +#: lexer.ll:494 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "" -#: lexer.ll:589 +#: lexer.ll:580 #, c-format msgid "incorrect mudela version: %s (%s, %s)" msgstr "" diff --git a/po/nl.po b/po/nl.po index 3138baa043..ed02b27e72 100644 --- a/po/nl.po +++ b/po/nl.po @@ -1,22 +1,11 @@ # nl.po -- GNU LilyPond's dutch language file -# Copyright (C) 1998, 1999, 2000 Jan Nieuwenhuizen , Han-Wen Nienhuys . -# Jan Nieuwenhuizen , 1998. -# Han-Wen Nienhuys , 1998. -# -# Don't change the format of the first three lines, -# the TP robot wants them like this (I hope). -# Of course, Han-Wen also was FIRST AUTHOR. +# Jan Nieuwenhuizen +# Han-Wen Nienhuys , 1998, 1999, 2000. # msgid "" msgstr "" -"Project-Id-Version: lilypond 1.3.59\n" -"POT-Creation-Date: 2000-06-21 16:48+0200\n" -"PO-Revision-Date: 2000-06-09 02:23+0200\n" -"Last-Translator: Jan Nieuwenhuizen \n" -"Language-Team: Dutch \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=8859-1\n" -"Content-Transfer-Encoding: 8bit\n" +"POT-Creation-Date: 2000-06-09 02:01+0200\n" +"Content-Type: text/plain; charset=\n" "Date: 1998-05-26 11:26:28+0200\n" "From: \n" "Xgettext-Options: --c++ --default-domain=lilypond --join --output-dir=../po " @@ -31,7 +20,7 @@ msgstr "EOF in een string" msgid "warning: " msgstr "waarschuwing: " -#: dstream.cc:187 +#: dstream.cc:184 msgid "not enough fields in Dstream init" msgstr "onvoldoende velden in Dstream init" @@ -168,7 +157,6 @@ msgid "weird beam vertical offset" msgstr "rare verticale waardestreep verplaatsing" #: break-align-item.cc:87 -#, c-format msgid "unknown spacing pair `%s', `%s'" msgstr "onbekend ruimte paar `%s', `%s'" @@ -260,11 +248,11 @@ msgstr "heb al een decrescendo" msgid "unterminated (de)crescendo" msgstr "onbeëindigd (de)crescendo" -#: extender-engraver.cc:97 +#: extender-engraver.cc:96 msgid "unterminated extender" msgstr "onbeëindigde extender" -#: extender-engraver.cc:109 +#: extender-engraver.cc:108 msgid "Nothing to connect extender to on the left. Ignoring extender request." msgstr "" "Niets om extender aan linkerkant aan vast te maken. Negeer extender verzoek." @@ -285,19 +273,19 @@ msgstr "geen Grace context voor handen" msgid "Unattached grace notes. Attaching to last musical column." msgstr "Losse grace noten. Maak ze vast aan vorige muziekale kolom." -#: hyphen-engraver.cc:91 +#: hyphen-engraver.cc:59 msgid "unterminated hyphen" msgstr "onafgesloten waardestreep" -#: hyphen-engraver.cc:103 +#: hyphen-engraver.cc:71 msgid "Nothing to connect hyphen to on the left. Ignoring hyphen request." msgstr "" "Niets om streepje aan linkerkant aan vast te maken. Negeer streepje verzoek." -#: identifier.cc:47 +#: identifier.cc:44 #, c-format msgid "wrong identifier type, expected: `%s'" -msgstr "verkeerd type identifier, verwachtte: `%s'" +msgstr "Verkeerd type identifier: " #: includable-lexer.cc:47 lily-guile.cc:121 lily-guile.cc:144 #: midi-score-parser.cc:24 scores.cc:108 scores.cc:114 @@ -305,7 +293,15 @@ msgstr "verkeerd type identifier, verwachtte: `%s'" msgid "can't find file: `%s'" msgstr "kan bestand niet vinden: `%s'" -#: key-engraver.cc:92 key-performer.cc:54 +#: key-def.cc:31 +msgid "No key name, assuming `C'" +msgstr "Geen toonsoort, ga uit van `C'" + +#: key-def.cc:92 +msgid "Don't know how handle empty keys" +msgstr "Weet niet hoe lege toonsoorten te behandelen" + +#: key-engraver.cc:74 key-performer.cc:65 msgid "FIXME: key change merge" msgstr "MAAKME: toonsoort sleutel samenvoeging" @@ -314,20 +310,30 @@ msgstr "MAAKME: toonsoort sleutel samenvoeging" msgid "(load path: `%s')" msgstr "(zoekpad: `%s')" -#: line-of-score.cc:86 +#: line-of-score.cc:90 #, c-format msgid "Element count %d." msgstr "Aantal elementen: %d." -#: line-of-score.cc:203 paper-score.cc:70 +#: line-of-score.cc:207 paper-score.cc:70 #, c-format msgid "Element count %d " msgstr "Aantal elementen: %d." -#: line-of-score.cc:217 +#: line-of-score.cc:221 msgid "Calculating column positions..." msgstr "Berekenen van kolomposities..." +#: local-key-engraver.cc:82 +msgid "out of tune:" +msgstr "vals:" + +#: local-key-engraver.cc:83 time-signature-engraver.cc:29 +#: translator-group.cc:416 translator-group.cc:425 +#, c-format +msgid "can't find: `%s'" +msgstr "kan niet vinden: `%s'" + #: lookup.cc:58 msgid "Aborting" msgstr "Breek af" @@ -504,16 +510,16 @@ msgstr "" msgid "no such instrument: `%s'" msgstr "geen dergelijk instrument: `%s'" -#: midi-item.cc:366 +#: midi-item.cc:365 #, c-format msgid "unconventional key: flats: %d, sharps: %d" msgstr "vreemde toonsoort: %d mollen, %d kruizen" -#: midi-item.cc:413 +#: midi-item.cc:410 msgid "silly duration" msgstr "rare duur" -#: midi-item.cc:426 +#: midi-item.cc:423 msgid "silly pitch" msgstr "rare toonhoogte" @@ -521,11 +527,11 @@ msgstr "rare toonhoogte" msgid "Error syncing file (disk full?)" msgstr "Fout by synchroniseren van bestand (disk vol?)" -#: music-output-def.cc:50 +#: music-output-def.cc:57 msgid "Interpretation context with empty type" msgstr "Vertolk context met leeg type" -#: music-output-def.cc:77 +#: music-output-def.cc:87 #, c-format msgid "can't find `%s' context" msgstr "kan `%s' context niet vinden" @@ -535,12 +541,12 @@ msgstr "kan `%s' context niet vinden" msgid "Transposition by %s makes accidental larger than two" msgstr "Transponering van %s geeft tripel kruizen/mollen" -#: my-lily-lexer.cc:118 +#: my-lily-lexer.cc:129 #, c-format msgid "Identifier name is a keyword: `%s'" msgstr "Identifier naam is een sleutelwoord: `%s'" -#: my-lily-lexer.cc:137 +#: my-lily-lexer.cc:148 #, c-format msgid "error at EOF: %s" msgstr "fout bij EOF: %s" @@ -553,16 +559,21 @@ msgstr "Ontleden..." msgid "Braces don't match" msgstr "Haakjes paren niet" -#: paper-def.cc:85 +#: paper-def.cc:70 +#, c-format +msgid "unknown paper variable: `%s'" +msgstr "onbekende papier veranderlijke: `%s'" + +#: paper-def.cc:74 msgid "not a real variable" msgstr "niet een reële veranderlijke" -#: paper-def.cc:174 +#: paper-def.cc:165 #, c-format msgid "paper output to %s..." msgstr "papier uitvoer naar %s..." -#: mudela-stream.cc:93 paper-outputter.cc:91 performance.cc:95 +#: mudela-stream.cc:93 paper-outputter.cc:92 performance.cc:95 msgid ", at " msgstr ", bij " @@ -733,7 +744,7 @@ msgstr "" #: tfm.cc:70 #, c-format msgid "can't find ascii character: `%d'" -msgstr "kan ascii teken niet vinden: `%d'" +msgstr "kan teken niet vinden: `%s'" #: tie-engraver.cc:195 tie-performer.cc:109 msgid "No ties were created!" @@ -751,12 +762,6 @@ msgstr "niemand om een x-ool start haak af te drukken" msgid "lost in time:" msgstr "verdwaald in de tijd:" -#: time-signature-engraver.cc:29 translator-group.cc:417 -#: translator-group.cc:426 -#, c-format -msgid "can't find: `%s'" -msgstr "kan niet vinden: `%s'" - #: timing-translator.cc:36 msgid "conflicting timing request" msgstr "strijdig timing verzoek" @@ -775,21 +780,21 @@ msgstr "maatstreep controle gefaald op: %s" msgid "unknown translator: `%s'" msgstr "onbekende papier varanderlijke: `%s'" -#: translator-group.cc:80 translator-group.cc:93 +#: translator-group.cc:81 translator-group.cc:94 msgid "Program has no such type" msgstr "Programma heeft geen dergelijk type" -#: translator-group.cc:84 translator-group.cc:99 +#: translator-group.cc:85 translator-group.cc:100 #, c-format msgid "Already contains: `%s'" msgstr "Bevat reeds: `%s'" -#: translator-group.cc:211 +#: translator-group.cc:210 #, c-format msgid "can't find or create `%s' called `%s'" msgstr "kan niet vinden of scheppen `%s' genaamd `%s'" -#: translator-group.cc:323 +#: translator-group.cc:322 #, c-format msgid "can't find or create: `%s'" msgstr "kan niet vinden of scheppen: `%s'" @@ -803,69 +808,53 @@ msgstr "niemand om een volta haak af te drukken" msgid "Oldest supported input version: %s" msgstr "Oudst ondersteunde invoerversie: %s" -#: parser.yy:418 +#: parser.yy:427 msgid "Need a translator group for a context" msgstr "Heb een translator groep nodig voor een context" -#: parser.yy:433 +#: parser.yy:448 msgid "Wrong type for property value" msgstr "Verkeerd type voor property waarde" -#: parser.yy:607 +#: parser.yy:694 msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" "Meer alternatieven dan herhalingen. Schroot overvloedige alternatieven." -#: parser.yy:652 +#: parser.yy:739 msgid "Second argument must be a symbol" msgstr "Tweede argument moet een symbool zijn" -#: parser.yy:657 +#: parser.yy:744 msgid "First argument must be a procedure taking 1 argument" msgstr "Eerste argument moet een procedure zijn met 1 argument" -#: parser.yy:957 -msgid "Expecting string as script definition" -msgstr "Verwacht string voor script definitie" - -#: parser.yy:967 +#: parser.yy:1069 msgid "Can't specify direction for this request" msgstr "Kan richting voor dit verzoek niet specificeren" -#: parser.yy:1059 +#: parser.yy:1170 #, c-format msgid "Expecting %d arguments" msgstr "Verwacht %d argumenten" -#: parser.yy:1075 -msgid "Must have 2 arguments for duration" -msgstr "Moet 2 argumenten hebben voor duur" - -#: parser.yy:1082 parser.yy:1090 parser.yy:1331 +#: parser.yy:1193 parser.yy:1201 parser.yy:1443 msgid "Have to be in Lyric mode for lyrics" msgstr "Moet in Lyric modus zijn voor liedteksten" -#: parser.yy:1231 parser.yy:1251 +#: parser.yy:1342 parser.yy:1362 #, c-format msgid "not a duration: %d" msgstr "geen duur: %d" -#: parser.yy:1260 +#: parser.yy:1371 msgid "Have to be in Note mode for notes" msgstr "Moet in Note modus zijn voor noten" -#: parser.yy:1347 +#: parser.yy:1459 msgid "Have to be in Chord mode for chords" msgstr "Moet in Chord modus zijn voor accoorden" -#: parser.yy:1508 parser.yy:1526 -msgid "need integer number arg" -msgstr "heb integer getal arg nogig" - -#: parser.yy:1512 -msgid "Must be positive integer" -msgstr "Moet positieve integer zijn" - #: lexer.ll:158 msgid "EOF found inside a comment" msgstr "EOF gevonden in een kommentaar" @@ -874,35 +863,36 @@ msgstr "EOF gevonden in een kommentaar" msgid "\\maininput disallowed outside init files" msgstr "\\maininput niet toegestaan buiten init bestanden" -#: lexer.ll:196 -msgid "wrong or undefined identifier: `%s'" -msgstr "verkeerde of ongedefiniëerde identifier: `%s'" +#: lexer.ll:202 +#, c-format +msgid "undefined identifier: `%s'" +msgstr "ongedefiniëerde idendifier: `%s'" #. backup rule -#: lexer.ll:201 +#: lexer.ll:207 msgid "Missing end quote" msgstr "Aanhalingsteken sluiten mist" #. backup rule -#: lexer.ll:223 lexer.ll:227 +#: lexer.ll:229 lexer.ll:233 msgid "white expected" msgstr "wit verwacht" -#: lexer.ll:235 +#: lexer.ll:241 msgid "Can't evaluate Scheme in safe mode" msgstr "Kan Scheme niet evalueren in veilige modus" -#: lexer.ll:431 +#: lexer.ll:436 #, c-format msgid "invalid character: `%c'" msgstr "ongeldig teken: `%c'" -#: lexer.ll:503 +#: lexer.ll:494 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "onbekende ontsnapte string: `\\%s'" -#: lexer.ll:589 +#: lexer.ll:580 #, c-format msgid "incorrect mudela version: %s (%s, %s)" msgstr "verkeerde mudela versie: %s (%s, %s)" @@ -1075,6 +1065,39 @@ msgid "% Automatically generated" msgstr "% Automatisch gegenereerd" #: mudela-stream.cc:97 +#, c-format msgid "% from input file: " msgstr "% van invoerbestand: " +#~ msgid "Don't have that many octaves (%s)" +#~ msgstr "Zoveel oktaven heb ik niet (%s)" + +#~ msgid "underdone accidentals (%s)" +#~ msgstr "onderdreven aantal kruizen/mollen (%s)" + +#~ msgid "overdone accidentals (%s)" +#~ msgstr "overdreven aantal kruizen/mollen (%s)" + +#~ msgid "score does not have any columns" +#~ msgstr "partituur heeft geen enkele kolom" + +#~ msgid "can't find start of chord tremolo" +#~ msgstr "kan start van akkoordtremolo niet vinden" + +#~ msgid "already have a chord tremolo" +#~ msgstr "heb al een akkoordtremolo" + +#~ msgid "redeclaration of `\\%s'" +#~ msgstr "`herdeclaratie van `\\%s'" + +#~ msgid "Must set spring between differing columns" +#~ msgstr "Moet veertje zetten tussen verschillende kolommen" + +#~ msgid "Will ignore \\relative for transposed music" +#~ msgstr "Zal \\relative negeren voor getransponeerde muziek" + +#~ msgid "More than one music block" +#~ msgstr "Meer dan een muziekblok" + +#~ msgid "can't put stem tremolo on tuplet" +#~ msgstr "kan stoktremolo niet op n-ool zetten" diff --git a/scripts/abc2ly.py b/scripts/abc2ly.py index 9dcba7c686..e592f9f38f 100644 --- a/scripts/abc2ly.py +++ b/scripts/abc2ly.py @@ -512,7 +512,7 @@ def try_parse_header_line (ln, state): m = re.match ('^([^ \t]*) *(.*)$', a) # seperate clef info if m: __main__.global_key =compute_key (m.group(1))# ugh. - voices_append ('\\key %s \\major;' % lily_key(m.group(1))) + voices_append ('\\key %s;' % lily_key(m.group(1))) check_clef(m.group(2)) else: __main__.global_key =compute_key (a)# ugh. -- 2.39.2