]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.3.62 release/1.3.62
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 21 Jun 2000 14:36:07 +0000 (16:36 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 21 Jun 2000 14:36:07 +0000 (16:36 +0200)
======

* 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

108 files changed:
CHANGES
Documentation/header.html.in
Documentation/topdocs/INSTALL.texi
Documentation/user/tutorial.itely
INSTALL.txt
VERSION
buildscripts/ps-to-gifs.sh [changed mode: 0644->0755]
flower/include/pointer.hh
input/bugs/dots.fly
input/bugs/dots.ly [new file with mode: 0644]
input/bugs/dotted-collision.ly [new file with mode: 0644]
lily/align-note-column-engraver.cc
lily/all-font-metrics.cc
lily/bar.cc
lily/beam.cc
lily/break-align-item.cc
lily/breathing-sign.cc
lily/chord-name.cc
lily/chord.cc
lily/clef-item.cc
lily/collision.cc
lily/crescendo.cc
lily/dot-column.cc
lily/dots.cc
lily/grace-align-item.cc
lily/hara-kiri-engraver.cc
lily/hyphen-spanner.cc
lily/includable-lexer.cc
lily/include/bar.hh
lily/include/beam.hh
lily/include/break-align-item.hh
lily/include/breathing-sign.hh
lily/include/chord-name.hh
lily/include/clef-item.hh
lily/include/collision.hh
lily/include/crescendo.hh
lily/include/dot-column.hh
lily/include/dots.hh
lily/include/extender-spanner.hh
lily/include/grace-align-item.hh
lily/include/hyphen-spanner.hh
lily/include/key-item.hh
lily/include/local-key-item.hh
lily/include/main.hh
lily/include/molecule.hh
lily/include/multi-measure-rest.hh
lily/include/note-column.hh
lily/include/note-head.hh
lily/include/rest-collision.hh
lily/include/rest.hh
lily/include/rhythmic-head.hh
lily/include/score-element.hh
lily/include/script-column.hh
lily/include/script.hh
lily/include/slur.hh
lily/include/span-bar.hh
lily/include/staff-symbol.hh
lily/include/stem-tremolo.hh
lily/include/stem.hh
lily/include/system-start-delimiter.hh
lily/include/tie-column.hh
lily/include/tie.hh
lily/include/time-signature.hh
lily/include/tuplet-spanner.hh
lily/include/volta-spanner.hh
lily/key-item.cc
lily/lexer.ll
lily/lily-guile.cc
lily/line-of-score.cc
lily/local-key-item.cc
lily/lyric-extender.cc
lily/main.cc
lily/multi-measure-rest.cc
lily/my-lily-parser.cc
lily/note-column.cc
lily/note-head.cc
lily/paper-score.cc
lily/performance.cc
lily/rest-collision.cc
lily/rest.cc
lily/rhythmic-head.cc
lily/score-element.cc
lily/score.cc
lily/scores.cc
lily/script-column.cc
lily/script.cc
lily/slur.cc
lily/span-bar-engraver.cc
lily/span-bar.cc
lily/staff-symbol.cc
lily/stem-tremolo.cc
lily/stem.cc
lily/sustain-pedal.cc
lily/system-start-delimiter.cc
lily/text-item.cc
lily/tie-column.cc
lily/tie.cc
lily/time-signature.cc
lily/tuplet-spanner.cc
lily/volta-spanner.cc
ly/engraver.ly
ly/part-paper.ly
make/out/lilypond.lsm
make/out/lilypond.spec
mf/feta-toevallig.mf
po/lilypond.pot
po/nl.po
scripts/abc2ly.py

diff --git a/CHANGES b/CHANGES
index 5ac9585f13d512d0df03331698fbd97b203bd5a7..9d3aa6b1705c27ba2b4ea16392cf0110c0fdf703 100644 (file)
--- 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
 
index 5bc712509ff6cddff974519c06916c2961dece92..22300ddee0333614c4b779173d1471f0bc331de2 100644 (file)
@@ -37,7 +37,6 @@ which substitutes some @AT_VARIABLES@ as well.
     <table align=left>
       <tr><td bgcolor="#e8e8ff"><a href="@INDEX@"><b>Home</b></a></td></tr>
       <tr><td><font size=-1>
-        <a href="http://www.cs.uu.nl/~hanwen/lilypond">Development</a><br>
         <a href="http://appel.dyndns.org/lilypond">Hacking</a><br>
         <a href="http://www.gnu.org">GNU Project</a><br>
         <a href="http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?domain=lilypond">Translations</a><br>
index bca84206475b345267041bb302c91aa948831326..f7d9daed120f6beea0e43a3afa4d0f6ac7db6d94 100644 (file)
@@ -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/}.
index 87993537ae4cb43baca46d8e375fc87a5f722299..f5da04c8c7b1e570dbc9dff7520b1da4e2bf47be 100644 (file)
@@ -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 {
index 75215d77dc1070b9d090a0bb915b32fd79b13978..a5d6534d996aa533dbc0725626a69cfab7a0bec4 100644 (file)
@@ -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 d8db4f2a28e12a76bc271b21f8ce370a44c599fe..e2d5f09aafef7304dee4135c516c5e0e50eb8e59 100644 (file)
--- 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.
old mode 100644 (file)
new mode 100755 (executable)
index 726f3c7e34caedbbd8d37a82e4e85bba89cef49a..850ec183486e8f16bda41c6a433d7e44a46752dd 100644 (file)
@@ -10,6 +10,8 @@
 #ifndef POINTER_HH
 #define POINTER_HH
 
+#error
+
 /** P<T> is a handy template to use iso T*. It inits to 0, deletes on
   destruction, deep copies upon copying
 
index 4372115e2023a736d3671a4c868019c422cc14fe..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,2 +0,0 @@
-
-\context Voice { <f,4. c'' d e f>}
diff --git a/input/bugs/dots.ly b/input/bugs/dots.ly
new file mode 100644 (file)
index 0000000..6dfd11a
--- /dev/null
@@ -0,0 +1,3 @@
+\score {
+\notes\context Voice { <f,4. c'' d e f>}
+}
diff --git a/input/bugs/dotted-collision.ly b/input/bugs/dotted-collision.ly
new file mode 100644 (file)
index 0000000..e56cd2c
--- /dev/null
@@ -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
+   }
+
+ }
+}
index c034b0df9cd2411f1c97ab1d98fafe1d3bcdff2b..74d165a141f7fb6270a374f4c846c34e8663302a 100644 (file)
@@ -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);
   
index eba97b0ec6b0d2819805cb80f90fa21228f6fd39..f8e2c0cee1ae37ed3c061af5ec6d3c97f769c445 100644 (file)
@@ -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;
index ea076435857e0096f56c8d37a1d758ac1c249185..8b9ecadc6069c728991e3d419cc7005caf880a2b 100644 (file)
@@ -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<Bar*> (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;
 }
   
 
index e131cbc17c176f47794847a9f7f1af67b28e4dd4..08173a742f8b9d194b0a1659810ddcd26bed85d4 100644 (file)
@@ -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
index 6e5722ca1282658e9bf4bb6c39ae18758fd02c5a..bbea713e2bb8d1f711fad9d141242db4371b5c9a 100644 (file)
@@ -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<Real> 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)
index a78e6106450d7bb521548a410d086b4667d42358..6c337642d1fa21efbb0ff64c57735a3e0f80265a 100644 (file)
@@ -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;
 }
 
index b2ed2442674dcb42b82a8ed34c22b8e6a6caab0e..0d4ff138499a7b2fe91603e5b84df0bfaa033951 100644 (file)
@@ -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");
index 8fa7611e55d49aef2194a453789f8cc4d54ef736..2eb762b7786e075da698b1a4be1a1d3a127927f7 100644 (file)
@@ -49,7 +49,7 @@ to_chord (Musical_pitch tonic, Array<Musical_pitch>* add_arr_p, Array<Musical_pi
       int j = Chord::find_pitch_i (add_arr_p, (*add_arr_p)[i]);
       if ((j != -1) && (i != j))
         {
-           add_arr_p->get (i);
+         add_arr_p->get (i);
        } 
     }
 
@@ -400,7 +400,7 @@ Chord::find_tonic_i (Array<Musical_pitch> 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<Musical_pitch> 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;
index 64df471244c0e382e22044c2c403ef914670fd56..781522d697009792392ab1029d5e34dbcaa6d97a 100644 (file)
@@ -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;
 }
 
 
index 52498e533a5d0195230756152dfeceb3d81b3a3b..4807e47b7adae1a4989262ea8cdfe7d30ad0d36c 100644 (file)
@@ -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;
 }
 
 /*
index d119ca9a04cf818ae9e70b370e11c56517aafd5a..7890d5cf0057c631b37ed5e8eaaa951be0650064 100644 (file)
@@ -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 ();
 }
 
 
index 75b86cf65785a6b166e27ee89eb23204599ad78d..1caf93797849862849291611f95fec7c5be9508f 100644 (file)
@@ -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> 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  <dots.size (); pos += 2, i++)
+  for (int i=0; i dots.size (); pos += 2, i++)
     {
       staff_symbol_referencer (dots[i]).set_position(pos);
     }
+
+  return SCM_UNDEFINED;
 }
index c77175e0ad968b9a22c52e9c9a9f3fcdf3f66d4f..9dc8c8b75b97067de064041ef749d43c07caa2d3 100644 (file)
@@ -18,8 +18,9 @@ Dots::Dots (SCM s)
 {
 }
 
-void
-Dots::after_line_breaking ()
+GLUE_SCORE_ELEMENT(Dots,after_line_breaking);
+SCM
+Dots::member_after_line_breaking ()
 {
   SCM d= get_elt_property ("dot-count");
   if (gh_number_p (d) && gh_scm2int (d))
@@ -32,12 +33,15 @@ Dots::after_line_breaking ()
       if (!(p % 2))
        si.set_position (p  + directional_element (this).get ());
     }
+
+    return SCM_UNDEFINED;
+
 }
 
-MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(Dots);
+MAKE_SCHEME_SCORE_ELEMENT_CALLBACK(Dots,brew_molecule);
 
 SCM  
-Dots::scheme_molecule (SCM d)
+Dots::brew_molecule (SCM d)
 {
   Score_element *sc = unsmob_element (d);
   Molecule mol (sc->lookup_l ()->blank (Box (Interval (0,0),
index 654f44139edaa4c3ed7c5235c88f11cd18775faa..e4467a9e3fe1bb0a6fe6d2af12f18fcdf9362cac 100644 (file)
@@ -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;
+
 }
 
 
index cab10f8cb34090c6555cd6f3aeb1be508f070bca..10eca4fe1d181149ce7e4a2bfe090d67811b7e17 100644 (file)
@@ -6,14 +6,14 @@
   (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
-#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
index 165c6c6b11b67220af834004f50ed99608c7e1d9..624f682be20234a3c1085a7c60e04e85ae908856 100644 (file)
 #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<Spanner*> (unsmob_element (smob));
   Molecule  mol;
index a73b2266b17664c92d0f26c1047b2d1f60032cd9..b4ee0f2821db88992d8eaa9e22994912dd884366 100644 (file)
@@ -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 ())
index 8d408c04b9313e6aac495d77c82ad15f93ff7cf4..92c03f20d87315213a08479af22c0ae6ddb230d5 100644 (file)
@@ -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;
 };
index 9021a08ab05374486082dde59ea481e77e797bd9..d14801e370a24fc9c0fdcc6266761e40c74ea014 100644 (file)
@@ -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:
index 6ba3cc1b7a8a4c90c10e63b24efb05039c7477f2..0a4a42b59749cffe94e3b152f12928b45191394b 100644 (file)
 
 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);
 };
index 6ecf02e263908594fe8dc83e4c9bf914994b9bcf..dd495b1db866198b6b1ebb6d31033dce867b3b84 100644 (file)
 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
index d89e81c2e3e543745ae9dd0c72c517b07efe3892..fae9d217b0a8c67cb07e7b37b7b3779e3ca56f14 100644 (file)
 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;
 
 };
 
index 75aad9b0d83ea5036d3721ec25a87fdb80b8d8ce..e14276ba6783cab7ab058c920c15e743012a53b6 100644 (file)
  */
 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);
 };
index 4cb199385686502cff424b420d957762860d50f8..e1297545da24326e47ed29099e664ed146522557 100644 (file)
 */
 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);
index a9d45763207e63a8879ba50cce90a27bed7122d7..e45ef61ffdb6b3914e92339e2c8910aeeef93d71 100644 (file)
  */
 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;
index 9fd7150b82bc2abfcf9775f7a907b85791d029ab..c91d05d3d45089830abd5d1e88f7607b0af425cd 100644 (file)
@@ -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
index ace3555c6c4195efc227638f145f30a50512fda7..f816cc2a247d49f649c950623f9ddb39a30cdabf 100644 (file)
   */
 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);
 };
index 0fe3b35b66276d242ba285b816aa985cbede090b..5d7e4c4af93115f68463e4d58fc4e3d6862a1b7e 100644 (file)
@@ -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
index b4f9e94e99de3adebeff72287b445dbd30618061..301178afd3481e458d91274afd663c0876bedda2 100644 (file)
@@ -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 */
 
index f1ef2ea45d4a04a6454fbc9c498154e8e234a5aa..c185c64e962f76d21fd1d8e5109486943b3d8846 100644 (file)
@@ -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
index 8743259021623add22abd8b23e5bfb9427932728..756a2b013988a96ebfd95a408ead2dce78511e54 100644 (file)
@@ -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
index ccedf0f9b7e7fa222d1bf8248678b6a41d2827a9..0006c857bc16c47e2b0b82bcd59e1b71781ae9ba 100644 (file)
@@ -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
index 0d7b4ffa1c6aed20e83fc44c446e224724e886bd..1adae59d0eb123ab01f9f686c433bd83b7fa2275 100644 (file)
@@ -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<String> get_inclusion_names ();
index b8153c72a09e96d65ea15338814706af3df5fd41..548085bcff912bfc8228d17e1b1b8a9c183c7506 100644 (file)
@@ -80,7 +80,7 @@ public:
 
 SCM fontify_atom (Font_metric*, SCM atom);
 
-Molecule create_molecule (SCM scheme_molecule);
+Molecule create_molecule (SCM brew_molecule);
 
 
 
index 4349b8d3cf48a6012db42c883382a2dac7ff26fd..50ab957bb359c47bcca821949b48cc7c246fdc01 100644 (file)
@@ -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<Rod> get_rods () const;
 };
 
index 88c2c3601627add17fb4d1e24c5384407a9bddac..c8cf7959e9f2bdd5158a9dfc104e51f1cdaae944 100644 (file)
@@ -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
index eb86e467704e599f415578b4d287edeeef5c1962..272ed3da9521488112f45ba36e758a74ea0ac40f 100644 (file)
@@ -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
 
index d6f26fa718f32bc5ec803a784246b7512d7558bc..550ed5e0f45a844239b64c0bb44dee5f913cc2f0 100644 (file)
@@ -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
index 1977bd67388559ed925fc8c9116004d32b163f55..db36065f0ce919bbaca019f445d17540b321f2de 100644 (file)
  */
 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);
 };
index b9fc4415b60c01a7051a956c80e1630650ab5d3c..8145bd911827b9611d598fb4d520ecc73007145f 100644 (file)
@@ -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);
 };
 
index 2ded67f8cc51fa228fd41fe17b408b9bff2c9ae9..32398bb089d909ab9fb9d321f03ce60b109698d5 100644 (file)
@@ -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<TYPE*> (unsmob_element (smob));      \
-  return b ?  b->do_brew_molecule ().create_scheme () : SCM_EOL; \
-}                                                              \
-                                                               \
-
+  return b ?   b->member_ ## FUNC () : SCM_UNDEFINED; \
+}  \
 
 
 #endif // STAFFELEM_HH
index d79e25f3f8071bfb2391d76e4855e09400307283..9c580c50833b3699d43b068c5363e73a81e3022c 100644 (file)
@@ -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);
 };
 
 
index 0204e811120f6318855f94d5e8eec0c385ba7476..4d7bc39cfd0e30b9d85a7fa08631ebe4b80fb715 100644 (file)
@@ -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 */
index cefb249d732cc3b2284752af228e3a886881d96b..654bc45685dec606e24036afc8f73c3d4db4ca50 100644 (file)
@@ -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<Offset> get_encompass_offset_arr () const;
   Bezier get_curve () const;
 
@@ -36,7 +33,8 @@ protected:
   Drul_array<Real> 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<Rod> get_rods () const;
 
index 17886676cdf2fb56bf0b5f55779fb2b8ee060f65..9ccb4d65b37e571d17cce28aee606001240e1f89 100644 (file)
@@ -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
index 98478d5c36c904eef091539fe8558363ea2cdc10..79af611f13c2630efc8c41e58d7f831c44a85540 100644 (file)
@@ -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
index 97cbd2c690c1fe5c504cd9a4a47a3b298f8e11cd..2cd904a6320dfd04866d74ba279c8d6224a8d794 100644 (file)
 
 
 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 *);
 };
 
index ea208ff7921dedb6965b5de86beba621efca11dd..24e0630c76d748a7937a238c3284d6da07e273c9 100644 (file)
@@ -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 () ;
 };
index 61d23efdb19080b625eaacee26b06a84e4ec1f30..659b166514e3723c1fc2c45aaff646e1b32d7c49 100644 (file)
@@ -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;
index 6dfe54d82b30e85c8f2af2d528d99da3027882de..d4ff9f41e7d41986c7f8dc4a4edefe7011301944 100644 (file)
@@ -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 ();
 };
 
index e45a456b997d07bbee7c588fc11a2148dfb42c30..bf6f386fc4f86293723845660f7197faca006c10 100644 (file)
@@ -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<Offset> get_encompass_offset_arr () const;
   Bezier get_curve () const;
 
@@ -42,7 +42,8 @@ protected:
   Drul_array<Real> 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<Rod> get_rods () const;
 
index ea338b29a45511c3f38547b5faa7a3320799ec20..80a08ac7a61bba9c8b36caf7e1b1dd90b53c9019 100644 (file)
@@ -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);
   
 
   /*
index ca725e5d401d0b1ac45a58ea6cbc3f871c5f8cae..42019434b7ca9fa573f543db5b46a75bf595e8cd 100644 (file)
@@ -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;
 };
 
index 40c2195a44f803a364cc9f0878435542828ffd7d..ede918a767e5ed8c8044eba767c7a4e6b2a09a77 100644 (file)
@@ -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
index 46ad565f5044ef075a3e8623470e1f0e835f1fde..77a9e104188d80a4a0fe205d451429205e527693 100644 (file)
@@ -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();
 }
 
 
index 44209d00e3df2d37f24e78104b88e96aa81f25f2..7178826d35fb44977c709f744847bbb84d0acf39 100644 (file)
@@ -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;
 }
index 5c9c793c9e57a100ac407933ebe2e9ee40a1700b..e40605572296fb36da5a90be2842a53091de9b6e 100644 (file)
@@ -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)
 {
index 110aea1c93deb2df52859bd7945df9a67d6207c3..62bd6a153d0b2ac5acc8711f8c0bb1f6a5b39441 100644 (file)
@@ -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<Line_of_score*> (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));
index 4b77e00fd3e3fa82bf6778d8f52e01692dde5839..0c1ec92137f530c59e871a16897203a891785fc0 100644 (file)
@@ -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)
index e20d7d1ea956c69d745591d48af29e0ff5c4d368..89f3eddf05ddf9891d88b4e4ee019a61a5c1fca9 100644 (file)
@@ -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<Spanner*> (unsmob_element (smob));
   
index 3f7a41e000b7b69187655b1d30b0f6454ed42a8e..d5752455707c7b65adade9bd7fbaa1c9014343de 100644 (file)
@@ -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;
index eb12c9f9b21bc89b03ab0c1112f02c9c46fb8a65..bf8a009f4552bc2af8852edbc6b1fb06d26312db 100644 (file)
@@ -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;
 }
 
 
index 65e3c69adc6c3ea1b11e35d7d4c506eacf6f0976..286c938429f2e6b81fff36cda7ae667bf45d48f2 100644 (file)
@@ -43,7 +43,6 @@ My_lily_parser::~My_lily_parser()
 void
 My_lily_parser::set_version_check (bool ig)
 {
-  ignore_version_b_ = ig;
 }
 
 void
index 7c1dd5ae9cf481c0079d358102a42535ab487eec..db93c4370bd36a02172fef096482da15745cee8a 100644 (file)
@@ -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;
 }
 
 
index 4f8934ab376d463608241169ba969e9adaee7650..4452ce905a9e5fad0e42da131457154410f86bb3 100644 (file)
@@ -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();
 }
 
 
index 7e3388fedff4fa427b54611369b2c62fd192edf1..c90f8ca0ff87c6e0dfb0eff8f199f55c46a4bba5 100644 (file)
@@ -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...") + " ");
 
index 84a8e64b4c5b9f1a92f5b0392abbef062d0ceda8..f6ff1cb5c7fc06874b385d269959f8fe74200e97 100644 (file)
@@ -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 ("]");
     }
 }
 
index f5be97061c97cfda84d0da7690e0965a5fe141b3..f7474eccb33de0678df690d1ff6115eeb9f5ee9b 100644 (file)
@@ -60,8 +60,9 @@ col2rhythmic_head (Note_column* c)
   return dynamic_cast<Rhythmic_head*> (e);
 }
 
-void
-Rest_collision::before_line_breaking ()
+GLUE_SCORE_ELEMENT(Rest_collision,before_line_breaking);
+SCM
+Rest_collision::member_before_line_breaking ()
 {
   Link_array<Note_column> 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;
 }
 
 
index 24bc4d084773f248b91bed8d829db87145badd26..9d9385f567e878fcc70980d604e9cda897886f09 100644 (file)
@@ -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);
   
index 1b735cd5eed77d679ee4976ba0cb7d4e948e17ee..b6a83b6d438ca5a33b91d0ebaebff7874ba391f5 100644 (file)
@@ -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;
 }
 
 
index a0a13eb5afa1532809d992cea194c95c4d35125b..0761c5e51ec93857e7906091c4f9623fa011181d 100644 (file)
@@ -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");
index e8fd342f353b89154accc5f214714ba856d9c7dc..b9027e9288c6ecff777a30c9b9f05412f5bf1b75 100644 (file)
@@ -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();
index e0ff3ffc1878202f85bf7d2b5377aaf92d43c730..86c03032843b16604cffdfafbcc03581497f1379 100644 (file)
@@ -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_)
index c4123815d435e7080fe78dbb32fb2d043920886e..cc8cfcacb0b5d0d22ce005a1e644ef83c96322ee 100644 (file)
@@ -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<Link_array<Item> > arrs;
   Link_array<Item> staff_sided 
@@ -75,5 +76,7 @@ Script_column::before_line_breaking ()
       }
     
   } while (flip (&d) != DOWN);
+
+  return SCM_UNDEFINED;
 }
 
index 6c51f6ac5e33ee339d7241847dec25fddc2402f1..326667e7b44cc99a6d380d756d3bc11bc1922e8b 100644 (file)
@@ -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();
 }
 
 
index 118bae506c2f3998a1457942e1906a752a89fe0c..fd59628e5703066ceb55b88b747b067e9c95ad86 100644 (file)
@@ -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
index f2659b09230e6ad55c1202e5e994e141c27c44f5..17c713b453e5419ff37ba13e56e72270df4c3c88 100644 (file)
@@ -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);
 
index 415f1cac8b33d4c93b4d2ef3a83049a3577e9f10..91ab2a0ab291a43a9a41da542c970af3e5a4f682 100644 (file)
@@ -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
index b791b707fd91feb4310321e66b4202e93f6a183c..ae2167d98861ea3fc07ea8196aa61ed2d5d229f3 100644 (file)
 
 
 
-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
index ee39f337ad9d4200f86ecc67a1d558abcc461fde..a209a04a633e9d0e44ada2c213e802c58139faf1 100644 (file)
@@ -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();
 }
 
 
index 1ca3d9b3ebcb4acac4b707b117d4424e8ac89ffa..e1b53608c82bf03420f1756dc4bc643e4319a36c 100644 (file)
@@ -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
index 1906eb29ac6199257786b91cee2978439553e652..77a3727ecfc6cb7ece257d2740a259ae0049c6f2 100644 (file)
 
   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);
   
index 884f44e3139efe855669d64086a1d98607cc00fc..5be06b334ee7315995f45859eade2c84ffcaa918 100644 (file)
@@ -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);
 
index ae3ea80b402c916e98cd0454450627f08533a833..777706f0bff1e0f9ae84995471be70aa3cd8d699 100644 (file)
 
 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);
   
index 5ef23866d270f7c4712c79d523f593cf51c07a41..08e242bb6180db35b2852b196d56b6e9b07fe608 100644 (file)
@@ -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;
 }
index 90debb307901e5d70d1c30b79aa4c230155b5b9e..ed3d2be69b4e4cc189473831caa193496502680c 100644 (file)
@@ -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()
 }
 
 
index bbefb9dcfaf3e1f6dd7ad7a3b7017648e76e2e0d..50c45abd4c4dc0e812ee73779bd0de4a49bfbd6a 100644 (file)
@@ -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
index eeabe86e5b1f24f797a1645b6c36831bb8eb4cdc..5779209b150b1400c125ce706238c58829a9ae48 100644 (file)
@@ -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<Note_column> 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;
 }
 
 
index 4f4880a716233f43d406632cba35c8ef5df45cf9..cb9400bbca44716b491eb1d7d45ca4b9f91b18a1 100644 (file)
@@ -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> 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
index 4445e4afa7fdb149692182383ef2576dacd01471..10a44a2db828259e985f42027e9e864b8d50c93a 100644 (file)
@@ -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";
index 162984e5b305cf748348141122ad33b6cf376f4a..2d3f1eb094fc62c9936eb661f4a4f1e8778016d2 100644 (file)
@@ -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; }
 }
 
index 70160c080fbab77ed066240d7d2b86f2a3768691..080f6468fd2bc71920d82aff8c6f7134223c1b02 100644 (file)
@@ -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
index 1caf25c93d3e754abe368bb98b3a5717dd8b5aa6..920a5e0ec7527b6cfd16e14152c8705433bf6cd2 100644 (file)
@@ -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
index 22d6b3b9b930d01af57bb02fe1fea0aad4d86113..b3d77bb10857baf751e1a3c9ce2a1d2700d982a0 100644 (file)
@@ -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);
index e93d45d142c59f107122b8056fe5ad327b130231..30fd6bfd6b026397cc88aa2d91097c3b84aae282 100644 (file)
@@ -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 <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\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 ""
index 3138baa043f54333a3562c90b50f962a66451ca0..ed02b27e723861916f23935d20486ca9e33a08df 100644 (file)
--- 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 <janneke@gnu.org>, Han-Wen Nienhuys <hanwen@cs.uu.nl>.
-# Jan Nieuwenhuizen <janneke@gnu.org>, 1998.
-# Han-Wen Nienhuys <hanwen@cs.uu.nl>, 1998.
-#
-# Don't change the format of the first three lines,
-# the TP robot wants them like this (I hope).
-# Of course, Han-Wen <hanwen@cs.uu.nl> also was FIRST AUTHOR.
+# Jan Nieuwenhuizen <janneke@gnu.org>
+# Han-Wen Nienhuys <hanwen@cs.uu.nl>, 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 <janneke@gnu.org>\n"
-"Language-Team: Dutch <nl@li.org>\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:  <janneke@gnu.org>\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"
index 9dcba7c6861b06cf914b5f1483e80e998c734e7c..e592f9f38fa5756dd878f11216be5d63d047cf2e 100644 (file)
@@ -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.