]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/lily-guile.cc (parse_symbol_list): Rewrite. Grok multiple
authorJan Nieuwenhuizen <janneke@gnu.org>
Thu, 11 Aug 2005 12:47:26 +0000 (12:47 +0000)
committerJan Nieuwenhuizen <janneke@gnu.org>
Thu, 11 Aug 2005 12:47:26 +0000 (12:47 +0000)
whitespace as symbol separator.

* lily/side-position-interface.cc: Add slur-padding.

ChangeLog
Documentation/topdocs/GNUmakefile
Documentation/topdocs/NEWS.tely
lily/dynamic-engraver.cc
lily/lily-guile.cc
lily/script-interface.cc
lily/side-position-interface.cc
lily/text-interface.cc
stepmake/stepmake/topdocs-targets.make

index 27da26c83d40410823cd1e3d454d313cf9b9efa3..3509fea22f4747db8b3284a0708ff1a37a7ccb98 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,13 @@
 2005-08-11  Jan Nieuwenhuizen  <janneke@gnu.org>
 
-       * input/regression/slur-script.ly: Fixed.
+       * lily/lily-guile.cc (parse_symbol_list): Rewrite.  Grok multiple
+       whitespace as symbol separator.
+
+       * lily/side-position-interface.cc: Add slur-padding.
+
+       * input/regression/slur-script.ly: Fixed.  Backportme?  This is
+       quite a large fix, and it never worked in a stable release; so not
+       really a regression.
 
        * lily/phrasing-slur-engraver.cc (class Phrasing_slur_engraver):
        Update cut and paste code from Slur_engraver.
index f9b4aa23e610397b4475b5f323179307c89099d7..747f3993eee2a3ba238b748d5a71832acefc63eb 100644 (file)
@@ -3,8 +3,8 @@ depth = ../..
 
 STEPMAKE_TEMPLATES=documentation tex texinfo topdocs
 LOCALSTEPMAKE_TEMPLATES=lilypond ly
-HTML_FILES=$(addprefix $(outdir)/, $(TEXI_FILES:.texi=.html) $(TELY_FILES:.tely=.html))
-
+HTML_FILES=$(TEXI_FILES:%.texi=$(outdir)/%.html) $(TELY_FILES:%.tely=$(outdir)/%.html)
+PDF_FILES=$(outdir)/NEWS.pdf
 include $(depth)/make/stepmake.make 
 
 ifneq ($(out),www)
index cd34afd0261e0ef7d646cc5cf27ddd07249b6d8f..b0ad6ef3d0062fa4b179b7082c569934c5b4ab06 100644 (file)
@@ -30,9 +30,25 @@ See user manual, \NAME\
 @end ifnottex
 @unnumbered New features in 2.7 since 2.6
 
+@ifhtml
+This document is also available in @uref{source/Documentation/topdocs/out-www/NEWS.pdf,PDF}.
+@end ifhtml
+
 
 @itemize @bullet
 
+@item
+Text scripts such as fingering instructions and dynamics avoid
+collissions with Slurs
+
+@lilypond[fragment,relative=1]
+{
+  b_1( b <b d f>_1_3_5)
+  c-2_\markup { \italic {"cresc."}}( f c)
+  c-3( c\f c)
+}
+@end lilypond
+
 @item
 Tuplets can be made to reach the next non-tuplet note by setting the
 @code{tupletFullLength}  property,
index 1cb03277f3781784d7b38310042c09ff09e26f2c..23cda4eccd6908fc07bcd07dafb50e893fb6c828 100644 (file)
@@ -441,10 +441,9 @@ Dynamic_engraver::acknowledge_script (Grob_info info)
     Side_position_interface::add_support (line_spanner_, info.grob ());
 }
 
-
-ADD_ACKNOWLEDGER (Dynamic_engraver,script);
-ADD_ACKNOWLEDGER (Dynamic_engraver,note_column);
-ADD_ACKNOWLEDGER (Dynamic_engraver,slur);
+ADD_ACKNOWLEDGER (Dynamic_engraver, script);
+ADD_ACKNOWLEDGER (Dynamic_engraver, note_column);
+ADD_ACKNOWLEDGER (Dynamic_engraver, slur);
 
 ADD_TRANSLATOR (Dynamic_engraver,
                /* descr */
index 1f28e78d60d8b9f91f3f8d89f7f624ed3b55dd49..cb269924c30482f4e9b2d0d36f42453828deec62 100644 (file)
@@ -25,6 +25,7 @@
 #include "misc.hh"
 #include "offset.hh"
 #include "pitch.hh"
+#include "string-convert.hh"
 #include "source-file.hh"
 #include "version.hh"
 #include "warn.hh"
@@ -352,46 +353,31 @@ ly_assoc_cdr (SCM key, SCM alist)
   if (scm_is_pair (alist))
     {
       SCM trykey = scm_caar (alist);
-      if (scm_is_pair (trykey) && to_boolean (scm_equal_p (key, scm_cdr (trykey))))
+      if (scm_is_pair (trykey)
+         && to_boolean (scm_equal_p (key, scm_cdr (trykey))))
        return scm_car (alist);
-      else
-       return ly_assoc_cdr (key, scm_cdr (alist));
+      return ly_assoc_cdr (key, scm_cdr (alist));
     }
   return SCM_BOOL_F;
 }
 
-/* LST has the form "sym1 sym2 sym3\nsym4\nsym5"
-   i.e. \n and ' ' can be used interchangeably as separators.  */
 SCM
-parse_symbol_list (char const *lst)
+ly_string_array_to_scm (Array<String> a)
 {
-  char *s = strdup (lst);
-  char *orig = s;
-  SCM create_list = SCM_EOL;
-
-  char *e = s + strlen (s) - 1;
-  while (e >= s && isspace (*e))
-    *e-- = 0;
-
-  for (char *p = s; *p; p++)
-    if (*p == '\n')
-      *p = ' ';
-  
-  if (!s[0])
-    s = 0;
+  SCM s = SCM_EOL;
+  for (int i = a.size () - 1; i >= 0; i--)
+    s = scm_cons (ly_symbol2scm (a[i].to_str0 ()), s);
+  return s;
+}
   
-  while (s)
-    {
-      char *next = strchr (s, ' ');
-      if (next)
-       *next++ = 0;
-
-      create_list = scm_cons (ly_symbol2scm (s), create_list);
-      s = next;
-    }
-
-  free (orig);
-  return create_list;
+/* LST is whitespace separated list of symbols.  */
+SCM
+parse_symbol_list (char const *lst)
+{
+  String s = lst;
+  s.substitute ('\n', ' ');
+  s.substitute ('\t', ' ');
+  return ly_string_array_to_scm (String_convert::split (s, ' '));
 }
 
 SCM
index b6a17251efff27e59d6f767fc0d75256c1ed2227..f796c58e38ff03d4ef21c01f17911af2d8f01543 100644 (file)
@@ -6,9 +6,10 @@
   (c) 1999--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
+#include "script-interface.hh"
+
 #include "directional-element-interface.hh"
 #include "warn.hh"
-#include "script-interface.hh"
 #include "font-interface.hh"
 #include "side-position-interface.hh"
 #include "output-def.hh"
index e6821a3bd9f8e0e6bb8435b268b44871044ee2a8..0801a4f76b0f321663e6e44009a980af7c5df305 100644 (file)
@@ -261,5 +261,12 @@ ADD_INTERFACE (Side_position_interface, "side-position-interface",
               "victim object relative to the support (left or right, up or down?)\n\n "
               "The routine also takes the size the staff into account if "
               "@code{staff-padding} is set. If undefined, the staff symbol is ignored.",
-              "staff-padding side-support-elements direction-source "
-              "direction side-relative-direction minimum-space padding");
+              "direction "
+              "direction-source "
+              "minimum-space "
+              "padding "
+              "side-relative-direction "
+              "side-support-elements "
+              "slur-padding "
+              "staff-padding "
+              );
index 1c5cee670fad70654a61b91c63d68c87a41b44f5..18ec49f8746fab8bddb11a1b14d92c79caa53856 100644 (file)
@@ -92,5 +92,5 @@ Text_interface::is_markup (SCM x)
 
 ADD_INTERFACE (Text_interface, "text-interface",
               "A scheme markup text, see @usermanref{Text markup}.",
-              "text baseline-skip word-space");
+              "baseline-skip direction text word-space");
 
index 0a858bd45b2ccafba47b485fc8bb4996ffbbb912..32d9a0b920ed8802bf30ca1cd2b378ad0b78ab71 100644 (file)
@@ -5,5 +5,5 @@ copy-to-top:  $(TO_TOP_FILES)
        $(foreach i, $(TO_TOP_FILES), \
          cp $(i) $(builddir) && ) true
 
-local-WWW: $(HTML_FILES) copy-to-top
+local-WWW: $(HTML_FILES) $(PDF_FILES) copy-to-top