]> git.donarmstrong.com Git - lilypond.git/commitdiff
*** empty log message ***
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 9 Mar 2006 22:15:41 +0000 (22:15 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 9 Mar 2006 22:15:41 +0000 (22:15 +0000)
20 files changed:
ChangeLog
Documentation/user/invoking.itely
THANKS
lily/constrained-breaking.cc
lily/include/constrained-breaking.hh
lily/main.cc
po/cs.po
po/da.po
po/de.po
po/es.po
po/fr.po
po/it.po
po/ja.po
po/lilypond.pot
po/nl.po
po/ru.po
po/rw.po
po/sv.po
po/tr.po
po/zh_TW.po

index b9a3299dac6f96041deac6543353b5f220092d6d..72d94e1706d8b5606854724656595fddfde481ae 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
+2006-03-08  Joe Neeman  <joeneeman@gmail.com>
+       
+       * lily/constrained-breaking.cc (get_max_systems): used to return a
+       much too big value
+       (combine_demerits): use pointers to reduce copying data
+       (calc_subproblem): idem
+       (get_page_penalty): add page turn penalties
+       
 2006-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
 
+       * Documentation/user/invoking.itely (Invoking lilypond): better
+       explanation of -e usage.
+
+       * lily/main.cc (main_with_guile): don't append to
+       init_scheme_code_string
+
        * tex/texinfo.tex (sectionheading, q.v.): don't center @image.
 
        * Documentation/user/invoking.itely: add note about MacOS X scripts.
index 82e9cefdb76325b8e6dd1d73b015e2bcf9d323ab..e4b4c95c056ef3a7f1b6139e0741a47c9973349d 100644 (file)
@@ -52,7 +52,24 @@ The following options are supported:
 @item -e,--evaluate=@var{expr}
 Evaluate the Scheme @var{expr} before parsing any @file{.ly} files.
 Multiple @code{-e} options may be given, they will be evaluated
-sequentially.  
+sequentially.
+
+The expression will be evaluated in the @code{guile-user} module, so
+if you want to use definitions in @var{expr}, use
+
+@example
+lilypond -e '(define-public a 42)'
+@end example
+
+@noindent
+on the command-line, and include
+
+@example
+#(use-modules (guile-user))
+@end example
+
+@noindent
+at the top of the @code{.ly} file. 
 
 @item -f,--format=@var{format}
 which formats should be written.  Choices are @code{svg}, @code{ps},
diff --git a/THANKS b/THANKS
index e4385208eb3447dcab434ad4be2564293e2eb5cf..52db802432ecf508adab71583fbd33dfa70b5ae0 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -53,6 +53,7 @@ Vicente Solsona Dellá
 
 BUG HUNTERS/SUGGESTIONS
 
+Alan Stern
 Andrea Valle
 Bertalan Fodor
 Bob Broadus
index b507c0725df9a1ac27db1b654d5827a5d8bff07a..f5183f12046a6d7e7d93504d59de483a471292bd 100644 (file)
@@ -82,8 +82,8 @@ Constrained_breaking::calc_subproblem (vsize start, vsize sys, vsize brk)
       if (0 == sys && j > 0)
         break; /* the first line cannot have its first break after the beginning */
 
-      Column_x_positions const &cur = cols_[(j + start_col)*cols_rank_ + brk];
-      Column_x_positions prev;
+      Column_x_positions const *cur = &cols_[(j + start_col)*cols_rank_ + brk];
+      Column_x_positions const *prev = NULL;
       Real prev_dem = 0;
 
       if (sys > 0)
@@ -97,7 +97,7 @@ Constrained_breaking::calc_subproblem (vsize start, vsize sys, vsize brk)
       Real dem;
       Real force;
       Real pen;
-      combine_demerits(prev, cur, &force, &pen, &dem);
+      combine_demerits (prev, cur, &force, &pen, &dem);
       dem += prev_dem;
       if (isinf (dem))
         continue;
@@ -229,7 +229,7 @@ Constrained_breaking::get_solution (vsize start, vsize end, vsize sys_count)
               for (vsize cur_sys = sys; cur_sys != VPOS; cur_sys--)
                 {
                   assert (brk != VPOS);
-                  ret.push_back( st[cur_sys*rank + brk].line_config_ );
+                  ret.push_back( *st[cur_sys*rank + brk].line_config_ );
                   brk = st[cur_sys*rank + brk].prev_;
                 }
               reverse (ret);
@@ -284,7 +284,7 @@ Constrained_breaking::get_penalty (vsize start, vsize end, vsize sys_count)
 }
 
 Real
-Constrained_breaking::get_page_penalty (vsize start, vsize end, vsize sys_count, vsize sys_num)
+Constrained_breaking::get_page_penalty (vsize start, vsize end, vsize sys_count, vsize sys_num, bool turn)
 {
   vsize rank;
   vsize brk;
@@ -296,16 +296,21 @@ Constrained_breaking::get_page_penalty (vsize start, vsize end, vsize sys_count,
 
   if (brk == VPOS) /* we didn't satisfy constraints */
     return 0;
-  vector<Grob*> &cols = state_[start][sys*rank + brk].line_config_.cols_;
+  vector<Grob*> const &cols = state_[start][sys*rank + brk].line_config_->cols_;
   if (cols.empty ())
     return 0;
 
-  Grob *pc = cols.back ();
+  Grob const *pc = cols.back ();
   if (pc->original ())
     {
       SCM pen = pc->get_property ("page-penalty");
-      if (scm_is_number (pen) && fabs (scm_to_double (pen)) < 10000)
-       return scm_to_double (pen);
+      SCM turn_pen = pc->get_property ("page-turn-penalty");
+      Real ret = 0;
+      if (!turn && scm_is_number (pen) && fabs (scm_to_double (pen)) < 10000)
+       ret = scm_to_double (pen);
+      if (turn && scm_is_number (turn_pen) && fabs (scm_to_double (turn_pen)) < 10000)
+        ret = scm_to_double (turn_pen);
+      return ret;
     }
   return 0;
 }
@@ -331,13 +336,13 @@ Constrained_breaking::get_min_systems (vsize start, vsize end)
         return sys_count + 1;
     }
   /* no possible breaks satisfy constraints */
-  return 0;
+  return 1;
 }
 
 int
 Constrained_breaking::get_max_systems (vsize start, vsize end)
 {
-  vsize brk = (end >= start_.size ()) ? breaks_.size () - 1 : start_[end];
+  vsize brk = (end >= start_.size ()) ? breaks_.size () - 1 : starting_breakpoints_[end];
   return brk - starting_breakpoints_[start];
 }
 
@@ -369,20 +374,22 @@ Constrained_breaking::Constrained_breaking (vector<int> const &start)
 }
 
 void
-Constrained_breaking::combine_demerits (Column_x_positions const &prev,
-                                        Column_x_positions const &col,
+Constrained_breaking::combine_demerits (Column_x_positions const *prev,
+                                        Column_x_positions const *col,
                                         Real *force,
                                         Real *penalty,
                                         Real *demerits) const
 {
+  Real prev_f = prev ? prev->force_ : 0;
+
   *penalty = 0;
-  if (col.cols_.empty () || !col.satisfies_constraints_)
+  if (col->cols_.empty () || !col->satisfies_constraints_)
     *force = infinity_f;
   else
     {
-      *force = col.force_;
+      *force = col->force_;
 
-      Grob *pc = col.cols_.back ();
+      Grob *pc = col->cols_.back ();
       if (pc->original ())
         {
           SCM pen = pc->get_property ("penalty");
@@ -391,6 +398,6 @@ Constrained_breaking::combine_demerits (Column_x_positions const &prev,
         }
     }
 
-  *demerits = (*force) * (*force) + abs (prev.force_ - *force) + *penalty;
+  *demerits = (*force) * (*force) + abs (prev_f - *force) + *penalty;
 }
 
index f96e264a160140401ae4b6e89c45516e40d2868a..41dae1cd5e8d491aad080c805a41946efc4a9d3f 100644 (file)
@@ -26,7 +26,7 @@ struct Constrained_break_node
   Real demerits_;
   Real force_;
   Real penalty_;
-  Column_x_positions line_config_;
+  Column_x_positions const *line_config_;
 
   Constrained_break_node ()
   {
@@ -34,7 +34,7 @@ struct Constrained_break_node
     demerits_ = infinity_f;
     force_ = infinity_f;
     penalty_ = 0;
-    line_config_.satisfies_constraints_ = false;
+    line_config_ = 0;
   }
 
   void print () const
@@ -62,7 +62,7 @@ public:
   int get_min_systems (vsize start, vsize end);
 
   /* get the page penalty of system number sys with the given breaking */
-  Real get_page_penalty (vsize start, vsize end, vsize sys_count, vsize sys);
+  Real get_page_penalty (vsize start, vsize end, vsize sys_count, vsize sys, bool turn);
 
   void resize (vsize systems);
 
@@ -88,7 +88,7 @@ private:
   Column_x_positions space_line (vsize start_col, vsize end_col);
   void prepare_solution (vsize start, vsize end, vsize sys_count, vsize *rank, vsize *brk);
 
-  void combine_demerits (Column_x_positions const &, Column_x_positions const &,
+  void combine_demerits (Column_x_positions const *, Column_x_positions const *,
                          Real *force, Real *pen, Real *dem) const;
 
   bool calc_subproblem(vsize start, vsize systems, vsize max_break_index);
index 8f0678bc4868f12d262405dd3d98310bbf03446b..6f985ae25381650c0993d20266e0ef92fc117d5d 100644 (file)
@@ -402,7 +402,7 @@ main_with_guile (void *, int, char **)
        + init_scheme_variables + "))";
 
       init_scheme_code_string
-       += "(begin #t "
+       = "(begin #t "
        + init_scheme_variables
        + init_scheme_code_string
        + ")";
index 7940cc8bb9c203da8c4e202cb30398570da07269..3a5bacdebe267ea5ede58ee85eb06dfce67b3b44 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -1981,7 +1981,7 @@ msgid "quoted string expected after \\version"
 msgstr ""
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
+msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
 #: lexer.ll:218
index b4affe10710a03f867e1b65ab9ec4aa793e8bcc8..a057da4bef27e3245d019bcd5ed0fd5ede626c64 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -1972,7 +1972,7 @@ msgid "quoted string expected after \\version"
 msgstr ""
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
+msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
 #: lexer.ll:218
index e6ec4f4eb77e9f2ba89580cef63f29767e3bc586..27ae846b7cb6e27c9143fc64d4a77427e6544180 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -1926,8 +1926,8 @@ msgid "quoted string expected after \\version"
 msgstr "zitierte Zeichenkette hinter \\version erwartet"
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
-msgstr "zitierte Zeichenkette hinter \\renameinput erwartet"
+msgid "quoted string expected after \\sourcefilename"
+msgstr "zitierte Zeichenkette hinter \\sourcefilename erwartet"
 
 #: lexer.ll:218
 msgid "EOF found inside a comment"
index af2a2d6c8c8a3a6b734a586b1eea7c63efbbb162..09ff9f55f58d018484a15d115104305adcb701cf 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -1933,7 +1933,7 @@ msgid "quoted string expected after \\version"
 msgstr ""
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
+msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
 #: lexer.ll:218
index f489a8fd98a0b014c1340016d7688940cb319da9..4482f7b1dc594fbdb76bebd45252fab2f5a5a96d 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -1927,8 +1927,8 @@ msgid "quoted string expected after \\version"
 msgstr "\\version doit être suivi d'une chaîne entre guillemets"
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
-msgstr "\\renameinput doit être suivi d'une chaîne entre guillemets"
+msgid "quoted string expected after \\sourcefilename"
+msgstr "\\sourcefilename doit être suivi d'une chaîne entre guillemets"
 
 #: lexer.ll:218
 msgid "EOF found inside a comment"
index be4069bacc3ecde12273a2d6fe84d56b1aee7f9e..ba1bfe9f989b85a4b3420602fdef68626e63cfd6 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -1957,7 +1957,7 @@ msgid "quoted string expected after \\version"
 msgstr ""
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
+msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
 #: lexer.ll:218
index 5a4f31a20e75db7047d605bda74e7f06619e2fbd..efd9bc970d76644fc943733434917b1e6ace17a5 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -1995,7 +1995,7 @@ msgid "quoted string expected after \\version"
 msgstr ""
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
+msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
 #: lexer.ll:218
index 847af287ba1a701338fc3bae7adc16b56dc710f9..28f8b29921aaeea86785cf25078553d5995af077 100644 (file)
@@ -1880,7 +1880,7 @@ msgid "quoted string expected after \\version"
 msgstr ""
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
+msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
 #: lexer.ll:218
index d0fe2eba473680dfbb0ad7ca1ce8344db665ae99..a901c72750540f3b4f108fac063ca7a95aa29236 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -1950,8 +1950,8 @@ msgid "quoted string expected after \\version"
 msgstr "tekst tussen aanhalingstekens verwacht na \\version"
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
-msgstr "tekst tussen aanhalingstekens verwacht na \\renameinput"
+msgid "quoted string expected after \\sourcefilename"
+msgstr "tekst tussen aanhalingstekens verwacht na \\sourcefilename"
 
 #: lexer.ll:218
 msgid "EOF found inside a comment"
index 74460b2b52e2e32b3b4c6acc9bf6d6e7dfc4cffe..432b48a31b99520c8c1a4cc6270d17d692ab0018 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -1941,7 +1941,7 @@ msgid "quoted string expected after \\version"
 msgstr ""
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
+msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
 #: lexer.ll:218
index 1b82d38f26e77a5908c5238031b8d59554ee9849..a2190fc163cc50619f8d283f26c55ba75e63f299 100644 (file)
--- a/po/rw.po
+++ b/po/rw.po
@@ -2038,7 +2038,7 @@ msgid "quoted string expected after \\version"
 msgstr ""
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
+msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
 #: lexer.ll:218
index e02175b57ed3290cb4b66bb365daaaeb570fea42..c533e275d6a51385e69762966e2607f3f8de92a9 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -1977,7 +1977,7 @@ msgid "quoted string expected after \\version"
 msgstr ""
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
+msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
 #: lexer.ll:218
index f55a6787fe2ef20acb3ff9dc3b00e0a670a95721..6d147e66f28ddcb93b2dc1f53154890df748a4c0 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -1989,7 +1989,7 @@ msgid "quoted string expected after \\version"
 msgstr ""
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
+msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
 #: lexer.ll:218
index fd6445d85c93a5976bc3a1b774230e8ed23d2a74..adcc11f9bff874c17a361b57ab31ff70cf520cd7 100644 (file)
@@ -1899,8 +1899,8 @@ msgid "quoted string expected after \\version"
 msgstr "\\version 後應該是加上引號的字串"
 
 #: lexer.ll:205
-msgid "quoted string expected after \\renameinput"
-msgstr "\\renameinput 後應該是加上引號的字串"
+msgid "quoted string expected after \\sourcefilename"
+msgstr "\\sourcefilename 後應該是加上引號的字串"
 
 #: lexer.ll:218
 msgid "EOF found inside a comment"