From: fred <fred>
Date: Wed, 27 Mar 2002 02:04:19 +0000 (+0000)
Subject: lilypond-1.5.23
X-Git-Tag: release/1.5.59~395
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=9e57e9f817623460d2ee89496c4aff69accdaf47;p=lilypond.git

lilypond-1.5.23
---

diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi
index dd4b50599a..e542171569 100644
--- a/Documentation/topdocs/INSTALL.texi
+++ b/Documentation/topdocs/INSTALL.texi
@@ -171,12 +171,10 @@ configure something like:
 
 
 @item pktrace, [OPTIONAL], needed for generating PostScript Type1
-fonts. Get it from
- @uref{http://www.cs.uu.nl/~hanwen/public/software/pktrace-0.1.tar.gz}
+fonts. Get it from  @uref{http://www.cs.uu.nl/~hanwen/pktrace/}
 
 @item autotrace-0.27a, [OPTIONAL], needed for generating PostScript Type1
-fonts. You must apply the patch included pktrace-0.1 first.
-@uref{http://autotrace.sourceforge.net}.
+fonts. @uref{http://autotrace.sourceforge.net}.
  
 @item MetaPost [OPTIONAL] needed for generating PostScript Type3 fonts. Please
 note that tetex-0.4pl8 (included with Red Hat 5.x) does not include
diff --git a/Documentation/user/converters.itely b/Documentation/user/converters.itely
index 05e31d59ff..1d1e75b1b9 100644
--- a/Documentation/user/converters.itely
+++ b/Documentation/user/converters.itely
@@ -33,8 +33,10 @@ therefore not recommended to use midi2ly for human-generated midi
 files. Correcting the quantization mistakes of the human player takes a
 lot of time.
 
-Hackers who know about signal processing are invited to write  a more
-robust midi2ly.
+Hackers who know about signal processing are invited to write a more
+robust midi2ly.  midi2ly is written in Python, using a module written in
+C to parse the MIDI files.
+
 
 @subsection Invoking midi2ly
 
@@ -75,12 +77,6 @@ robust midi2ly.
 @end table
 
 
-Report bugs to @email{bug-lilypond@@gnu.org}.
-
-
-Written by @email{Jan Nieuwenhuizen, janneke@@gnu.org}.
-
-
 @node etf2ly
 @section etf2ly
 
@@ -111,11 +107,9 @@ version information
 
 @refbugs
 
-Known: articulation scripts are buggy.  Empty measures confuse etf2ly.
-
-Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
+The list of articulation scripts is incomplete.  Empty measures confuse
+etf2ly.
 
-Report bugs to @email{bug-lilypond@@gnu.org}.
 
 @node abc2ly
 @section abc2ly
@@ -172,18 +166,12 @@ not.
 
 abc2ly ignores the ABC beaming.
 
-Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
-@c How about Laura?   /MB
-
-Report bugs to @email{bug-lilypond@@gnu.org}.
-
 @node pmx2ly
 @section pmx2ly
 
 PMX is a MusiXTeX preprocessor written by Don Simons, see
 @uref{http://icking-music-archive.sunsite.dk/Misc/Music/musixtex/software/pmx/}.
 
-Report bugs to @email{bug-lilypond@@gnu.org}.
 
 @subsection Invoking pmx2ly
 
@@ -204,10 +192,6 @@ set output filename to FILE
 version information
 @end table
 
-Report bugs to @email{bug-lilypond@@gnu.org}.
-
-Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
-
 
 @node musedata2ly
 @section musedata2ly
@@ -242,10 +226,6 @@ version information
 @var{REFFILE}
 @end table
 
-Report bugs to @email{bug-lilypond@@gnu.org}.
-
-Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
-
 
 @node mup2ly
 @section mup2ly
@@ -287,9 +267,5 @@ print warranty and copyright.  Mup2ly comes with absolutely @strong{NO WARRANTY}
 Currently, only plain notes (pitches, durations), voices and staves are
 converted.
 
-Written by @email{Jan Nieuwenhuizen,janneke@@gnu.org}, based on pmx2ly.
-
-Report bugs to @email{bug-lilypond@@gnu.org}.
-
 
 
diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely
index 7acb95d58a..12adf9a8c4 100644
--- a/Documentation/user/refman.itely
+++ b/Documentation/user/refman.itely
@@ -329,7 +329,7 @@ r1 r2 r4 r8 r16 r32 r64 r64
 @lilypond[]
 \score {
   \notes \relative c'' {
-        a\breve  \autoBeamOff
+    a\breve  \autoBeamOff
     a1 a2 a4 a8 a16 a32 a64 a64 
     r\longa r\breve  
     r1 r2 r4 r8 r16 r32 r64 r64 
@@ -609,6 +609,7 @@ Shortcut for
   \property Staff.clefOctavation = @var{extra transposition of clefname}
 @end example
 
+
 Any change in these properties creates a clef (A @internalsref{Clef} grob).
 
 Supported clef-names include 
@@ -640,7 +641,12 @@ G clef on 2nd line
 @end table
 
 By adding @code{_8} or @code{^8} to the clef name, the clef is
-transposed one octave down or up, respectively.
+transposed one octave down or up, respectively.  Note that you have to
+enclose @var{clefname} in quotes if you use underscores or digits in the
+name. For example,
+@example
+	\clef "G_8"
+@end example 
 
 Supported associated glyphs (for @code{Staff.clefGlyph}) are:
 
diff --git a/Documentation/windows/installing.texi b/Documentation/windows/installing.texi
index 2df724461a..daa584aca5 100644
--- a/Documentation/windows/installing.texi
+++ b/Documentation/windows/installing.texi
@@ -19,41 +19,30 @@ users.  Please remember that we (the developers) rather dislike windows,
 and none of us use it.  Don't complain to us that installing LilyPond is
 too difficult; rather, if you know something about your Windows, send us
 code that works better (see @uref{compiling.html,compiling}).
+Nevertheless, detailed bug reports are appreciated; before you send a
+report, make sure to read the section on bugreports below. 
 
-@section Windows binary setup 
-
-Apart from LilyPond itself, you need Cygwin, GUILE, Python and a TeX
-installation, but all this software be installed by running setup.exe:
-
-@table @asis
-@item LilyPond
-Download and run
-@c let's do http, so that people read the README
-@uref{http://www.lilypond.org/gnu-windows/setup.exe, setup.exe}
-to install LilyPond.
 
-This will install the minimal set of cygwin tools needed to run
-LilyPond.  Make sure to install in the default place, @file{c:/cygwin},
-and install everything.
+@section Windows binary setup 
 
-As of version 1.3.150, you also have the option to install MiKTeX and
-GSView from this installer, which is recommended.  If you choose to
-install these by hand (see below), make sure to install them
-@strong{before} you install LilyPond, otherwise your LilyPond setup will
-be broken.
 
-If you already have cygwin installed, don't worry: nothing will be
-installed twice.  To expand on this minimal set, click
-@uref{http://sources.redhat.com/cygwin/setup.exe,here}, or visit a
-Cygwin @uref{http://sources.redhat.com/cygwin/mirrors.html,mirror site}.
-@end table
+All the software you need is installed by downloading and running
+@uref{http://www.lilypond.org/gnu-windows/setup.exe, setup.exe}.  You
+will be asked some questions. If you are unsure just click "Next".  Do
+not change the default install directory @file{c:/cygwin}.
 
+This installs LilyPond, and Cygwin, GUILE, Python, MiKTeX and GSView If
+you already have some of that software under @file{c:/cygwin}, then
+don't worry: nothing will be installed twice.
 
-@section Windows running setup
+If you want to install any of this software by hand, do this
+@strong{before} you run @file{setup.exe}, otherwise your LilyPond setup
+will not work.
 
-If you're lucky, after running @file{setup.exe} you're all set up.
+@section Testing LilyPond
 
-Open a LilyPond shell (or any bash shell), and type
+Open a LilyPond shell (To open a a lilypond shell, click the "GNU
+LilyPond" icon), and type
 
 @quotation
 @example
@@ -61,7 +50,7 @@ lilypond --help
 @end example
 @end quotation
 
-If you don't see something similar to
+You should see something similar to
 
 @quotation
 @example
@@ -79,25 +68,71 @@ Options:
 @end example
 @end quotation
 
-you should try adding @file{/usr/lilypond-x.y.z/bin} to your @var{PATH},
-do:
+Then, prepare a file called @file{foo.ly}, by issuing
+@example
+notepad foo.ly
+@end example
+Enter the following into the file
+@example
+
+\score @{ \notes @{ c4 ( ) c4 @} @}
+
+@end example
+Close the file and save it. Run the following command a few times until
+it says @code{PS output to `foo.ps', DVI output to `foo.dvi'}.
+@example
+
+ly2dvi -P foo
+
+@end example
+You can now view the file using the following command
+@example
+
+gsview32 foo.ps
+
+@end example
+
+If this works, then you can head to the
+@uref{../../user/out-www/lilypond/Tutorial.html,Tutorial} to start using
+LilyPond.
 
+
+
+@section Removing LilyPond
+
+Start @file{setup.exe}, click Next, select "Install from Local
+Directory". Then click next until you reach "Select packages to
+install". Click "View". Now, for every package, click on the recycle
+icon until it says "Uninstall". Then, click Next.
+
+(If you find this too tedious, you can also simply remove
+@file{c:/cygwin}. This also removes the @file{/home/} directories under
+cygwin (i.e. @file{C:\CYGWIN\HOME}, so make sure that you bring
+important files in safety first.)
+
+@section Troubleshooting
+
+
+@unnumberedsubsec invoking lilypond --help doesn't work
+
+Open the shell, and try adding @file{/usr/lilypond-x.y.z/bin} to your
+@var{PATH}, do:
 @quotation
 @example
 PATH=/usr/lilypond-1.4.2/bin:$PATH
 @end example
 @end quotation
 
-and try again.
-
-
-@subsection Trouble
+Now, invoke @file{lilypond --help}
 
 For problems and solutions see
 @uref{http://lilypond.org/wiki?TroubleshootingWindows,Troubleshooting
 Windows}
 
 
+
+
+@ignore
 @subsection Additional software
 
 LilyPond needs a number of software packages to be really useful.  These
@@ -141,11 +176,8 @@ Click @uref{ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs650/gs650w32.exe
 @uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum,ftp.cs.wisc.edu}.
 or visit the
 @uref{http://www.cs.wisc.edu/~ghost/,Ghostscript, Ghostview and GSview site}.
-
 @end table
 
-
-
 [TODO:
 
 
@@ -154,9 +186,6 @@ emacs-on-cygwin setup.
 
 ]
 
-
-@ignore 
-
   guile -v
   Guile 1.4.1
 
@@ -188,4 +217,19 @@ in each corner.
 
 @end ignore
 
+@ignore
+@c irrelevant.
+
+If you want to install more of cygwnTo expand on this minimal set,
+@section If you already have MikTeX, GSView or
 
+If you already have cygwin installed, don't worry: nothing will be
+installed twice.  To expand on this minimal set, click
+@uref{http://sources.redhat.com/cygwin/setup.exe,here}, or visit a
+Cygwin @uref{http://sources.redhat.com/cygwin/mirrors.html,mirror site}.
+
+
+This will install the minimal set of cygwin tools needed to run
+LilyPond.  Make sure to install in the default place, @file{c:/cygwin},
+and install everything. 
+@end ignore
diff --git a/lily/completion-note-heads-engraver.cc b/lily/completion-note-heads-engraver.cc
index 965f6cda80..85609c295a 100644
--- a/lily/completion-note-heads-engraver.cc
+++ b/lily/completion-note-heads-engraver.cc
@@ -302,5 +302,5 @@ ENTER_DESCRIPTION(Completion_heads_engraver,
 break long notes and automatically tie them into the next measure.",
 /* creats*/       "NoteHead Dots",
 /* acks  */       "",
-/* reads */       "",
+/* reads */       "easyPlay centralCPosition measurePosition measureLength",
 /* write */       "");
diff --git a/lily/grob.cc b/lily/grob.cc
index 3f35eb86b8..4251e16c5e 100644
--- a/lily/grob.cc
+++ b/lily/grob.cc
@@ -397,7 +397,7 @@ Grob::handle_broken_grobs (SCM src, SCM criterion)
 	  return SCM_UNDEFINED;
 	}
     }
-  else if (SCM_CONSP (src))
+  else if (ly_pair_p (src)) // SCM_CONSP (src))  // huh?
     {
       SCM oldcar =ly_car (src);
       /*
diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc
index 42d28ecdd5..e01fd24b30 100644
--- a/lily/lily-guile.cc
+++ b/lily/lily-guile.cc
@@ -266,8 +266,11 @@ init_lily_guile (String p )
   // todo: junk this. We should make real modules iso. just loading files.
   prepend_load_path (p + "/scm/");
 
+
+#if GUILE_MINOR_VERSION >= 5
   SCM last_mod = scm_current_module ();
   scm_set_current_module (scm_c_resolve_module ("guile"));
+#endif
   
   init_cxx_function_smobs ();
   for (int i=scm_init_funcs_->size () ; i--;)
@@ -276,7 +279,10 @@ init_lily_guile (String p )
   if (verbose_global_b)
     progress_indication ("\n");
   read_lily_scm_file ("lily.scm");
+
+#if GUILE_MINOR_VERSION >= 5
   scm_set_current_module (last_mod);
+#endif
 }
 
 unsigned int ly_scm_hash (SCM s)
diff --git a/lily/note-heads-engraver.cc b/lily/note-heads-engraver.cc
index ae238425cd..e3eed55cd5 100644
--- a/lily/note-heads-engraver.cc
+++ b/lily/note-heads-engraver.cc
@@ -139,5 +139,5 @@ ENTER_DESCRIPTION(Note_heads_engraver,
 /* descr */       "Generate one or more noteheads from Music of type Note_req.",
 /* creats*/       "NoteHead Dots",
 /* acks  */       "",
-/* reads */       "",
+/* reads */       "easyPlay centralCPosition",
 /* write */       "");
diff --git a/lily/paper-outputter.cc b/lily/paper-outputter.cc
index abfed82563..24ed811878 100644
--- a/lily/paper-outputter.cc
+++ b/lily/paper-outputter.cc
@@ -91,7 +91,7 @@ Paper_outputter::output_comment (String str)
 void
 Paper_outputter::output_scheme (SCM scm)
 {
-  scm_apply_2 (output_func_, scm, file_, SCM_EOL);
+  gh_call2 (output_func_, scm, file_);
 }
 
 void
diff --git a/lily/text-engraver.cc b/lily/text-engraver.cc
index 3fdc1a3f71..5db60e1750 100644
--- a/lily/text-engraver.cc
+++ b/lily/text-engraver.cc
@@ -145,7 +145,8 @@ Text_engraver::stop_translation_timestep ()
   for (int i=0; i < texts_.size (); i++)
     {
       Item *ti = texts_[i];
-      Side_position_interface::add_staff_support (ti);
+      if (!to_boolean (get_property ("scriptHorizontal")))
+	Side_position_interface::add_staff_support (ti);
       typeset_grob (ti);
     }
   texts_.clear ();
diff --git a/scm/ascii-script.scm b/scm/ascii-script.scm
index b3138812f3..25255e3f28 100644
--- a/scm/ascii-script.scm
+++ b/scm/ascii-script.scm
@@ -1,11 +1,9 @@
 (define-module (scm ascii-script)
-  :export (as-output-expression)
-  :no-backtrace
   )
 
 (define this-module (current-module))
 
-(define (as-output-expression expr port)
+(define-public (as-output-expression expr port)
   (display (eval expr this-module) port)
   )
 
diff --git a/scm/lily.scm b/scm/lily.scm
index d5aa43e429..5f10a15e7c 100644
--- a/scm/lily.scm
+++ b/scm/lily.scm
@@ -119,11 +119,11 @@
 
 
 
-
 (use-modules (scm tex)
 	     (scm ps)
 	     (scm pysk)
 	     (scm ascii-script)
+	     (scm sketch)
 	     )
 
 (define output-alist
@@ -133,11 +133,10 @@
     ("scm" . ,write)
     ("as" . ,as-output-expression)
     ("pysk" . ,pysk-output-expression)
+    ("sketch" . ,sketch-output-expression)
 ))
 
 
-
-
 (define (find-dumper format )
   (let*
       ((d (assoc format output-alist)))
@@ -155,7 +154,6 @@
 	   "sketch.scm"
 	   "pdf.scm"
 	   "pdftex.scm"
-	   "ascii-script.scm"
       	   "c++.scm"
 	   "grob-property-description.scm"
 	   "translator-property-description.scm"
@@ -179,3 +177,4 @@
 
 
 
+1
diff --git a/scm/ps.scm b/scm/ps.scm
index f469ec7ac9..6af36d6ab7 100644
--- a/scm/ps.scm
+++ b/scm/ps.scm
@@ -8,20 +8,27 @@
 
 
 (define-module (scm ps)
-  :export (ps-output-expression)
-  :no-backtrace
   )
 
 (define this-module (current-module))
 
-(define (ps-output-expression expr port)
-  (display (eval expr this-module) port)
-  )
+(debug-enable 'backtrace)
+
+(if (or (equal? (minor-version) "4")
+	(equal? (minor-version) "3.4"))
+    (define-public (ps-output-expression expr port)
+      (display (eval-in-module expr this-module) port )
+      )
+
+    (define-public (ps-output-expression expr port)
+      (display (eval expr this-module) port )
+      )
+    )
 
  
 (use-modules
  (guile)
- (guile-user))
+)
 
 
 
diff --git a/scm/pysk.scm b/scm/pysk.scm
index e999e00d25..e62575af53 100644
--- a/scm/pysk.scm
+++ b/scm/pysk.scm
@@ -8,19 +8,16 @@
 
 
 (define-module (scm pysk)
-  :export (pysk-output-expression)
-  :no-backtrace
   )
 
 (use-modules (scm ps)
 	     (ice-9 regex)
 	     (ice-9 string-fun)
-	     (guile-user)
 	     (guile)
 	     )
 
 (define this-module (current-module))
-(define (pysk-output-expression expr port)
+(define-public (pysk-output-expression expr port)
   (display (pythonify expr) port )
   )
 
diff --git a/scm/tex.scm b/scm/tex.scm
index 01880f90f6..072ed76ece 100644
--- a/scm/tex.scm
+++ b/scm/tex.scm
@@ -6,16 +6,12 @@
 ;;; Han-Wen Nienhuys <hanwen@cs.uu.nl>
 
 
-(define-module (scm tex)
-  :export (tex-output-expression)
-  :no-backtrace
-  )
-
+(define-module (scm tex) )
+(debug-enable 'backtrace)
 (use-modules (scm ps)
 	     (ice-9 regex)
 	     (ice-9 string-fun)
 	     (ice-9 format)
-	     (guile-user)
 	     (guile)
 	     )
 
@@ -87,7 +83,7 @@
   (embedded-ps (list 'bracket  arch_angle arch_width arch_height height arch_thick thick)))
 
 (define (dashed-slur thick dash l)
-  (embedded-ps (list 'dashed-slur   thick dash l)))
+  (embedded-ps (list 'dashed-slur thick dash `(quote ,l))))
 
 (define (hairpin thick w sh eh)
   (embedded-ps (list 'hairpin thick w sh eh))
@@ -129,7 +125,6 @@
   ""
   )
 
-
 (define (embedded-ps expr)
   (let
       ((os (open-output-string)))
@@ -194,7 +189,7 @@
 ;;
 ;; need to do something to make this really safe.
 ;;
-(define (output-tex-string s)
+(define-public (output-tex-string s)
   (if security-paranoia
       (if use-regex
 	  (regexp-substitute/global #f "\\\\" s 'pre "$\\backslash$" 'post)
@@ -267,6 +262,16 @@
 					; no-origin not yet supported by Xdvi
 (define (no-origin) "")
 
-(define (tex-output-expression expr port)
-  (display (eval expr this-module) port )
+(define my-eval-in-module eval)
+
+(if (or (equal? (minor-version) "4")
+	(equal? (minor-version) "3.4"))
+    (begin
+      (set! my-eval-in-module eval-in-module)
+
+    ))
+
+(define-public (tex-output-expression expr port)
+  (display (my-eval-in-module expr this-module) port )
   )
+
diff --git a/scripts/abc2ly.py b/scripts/abc2ly.py
index 23aa46d397..af8cbf877c 100644
--- a/scripts/abc2ly.py
+++ b/scripts/abc2ly.py
@@ -1269,6 +1269,12 @@ Options:
   
 This program converts ABC music files (see
 http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt) To LilyPond input.
+
+
+Report bugs to bug-gnu-music@gnu.org
+
+Written by Han-Wen Nienhuys <hanwen@cs.uu.nl>, Laura Conrad
+<lconrad@laymusic.org>, Roy Rankin <Roy.Rankin@@alcatel.com.au>
 """
 
 def print_version ():
diff --git a/scripts/etf2ly.py b/scripts/etf2ly.py
index f80334bc14..36976017a4 100644
--- a/scripts/etf2ly.py
+++ b/scripts/etf2ly.py
@@ -1,7 +1,7 @@
 #!@PYTHON@
 
 # info mostly taken from looking at files. See also
-# http://www.cs.uu.nl/~hanwen/lily-devel/etf.html
+# http://lilypond.org/wiki/?EnigmaTransportFormat
 
 # This supports
 #
@@ -24,7 +24,7 @@
 #  * dynamics
 #  * empty measures (eg. twopt03.etf from freenote)
 #
-# 
+
 
 program_name = 'etf2ly'
 version = '@TOPLEVEL_VERSION@'