]> git.donarmstrong.com Git - lilypond.git/commitdiff
release commit
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 24 Dec 2003 00:57:31 +0000 (00:57 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 24 Dec 2003 00:57:31 +0000 (00:57 +0000)
21 files changed:
ChangeLog
Documentation/topdocs/NEWS.texi
Documentation/user/refman.itely
VERSION
autogen.sh
buildscripts/mf-to-xpms.sh [deleted file]
input/les-nereides.ly
input/no-notation/recording.ly [new file with mode: 0644]
lily/lyric-combine-music-iterator.cc
lily/mark-engraver.cc
lily/paper-outputter.cc
lily/paper-score.cc
lily/tie-engraver.cc
make/lilypond.mandrake.spec.in
make/lilypond.redhat.spec.in
scm/define-grobs.scm
stepmake/aclocal.m4
stepmake/autogen.sh
stepmake/bin/stepmakeise.sh
stepmake/stepmake/automatically-generated.sub.make
stepmake/stepmake/toplevel-targets.make

index 36f798c0792aceb772fa3c1feb79f47332dac5a8..7bea6ea3f4422782c14c7a1bcbe0e9e900751162 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,18 @@
-<<<<<<< ChangeLog
+2003-12-24  Han-Wen Nienhuys   <hanwen@cs.uu.nl>
+
+       * stepmake/stepmake/toplevel-targets.make: remove pfa targets
+
+       * make/lilypond.redhat.spec.in (Group): remove MAKE_PFA_FILES
+
+       * lily/mark-engraver.cc (process_music): fix mark
+       \default. (backportme)
+
+       * stepmake/stepmake/automatically-generated.sub.make (default):
+       use -n for head/tail commands. 
+
+       * lily/tie-engraver.cc (acknowledge_grob): make ties only for note
+       heads with the same pitch. (backportme)
+
 2003-12-20  Han-Wen Nienhuys   <hanwen@cs.uu.nl>
 
        * lily/recording-group-engraver.cc (finalize): set protected_scm
index 2f95b8b4901deb1896c13741f7eed65e6754a795..496e209603cbffc50ff2034685705f5743c368a9 100644 (file)
@@ -8,6 +8,12 @@
 @chapter New features in 2.1 since 2.0
 
 @itemize
+@item Processing scores is now done while parsing the file. New
+Scheme functions give more flexibility: for example, it is now possible
+interpret a score, collecting synchronized musical events in a list, and
+manipulate that information using inline Scheme. For an example, see
+@file{input/no-notation/recording.ly}.
+
 @item Font sizes can now truly be scaled continuously: the  @code{font-size}
 is similar to the old @code{font-relative-size}, but may be set to
 fractional values; the closest design size will be scaled to achieve
index 5822820de897514766125b980a16d76f7367e30b..2a739ba89c083561cb78ddb8b1f93bab6e1b6002 100644 (file)
@@ -8057,7 +8057,10 @@ This translates an object. Its first argument is a cons of numbers
 @example
 A \translate #(cons 2 -3) @{ B C @} D
 @end example
-This moves `B C' 2 spaces to the right, and 3 down.
+This moves `B C' 2 spaces to the right, and 3 down, relative to its
+surroundings. This command cannot be used to move isolated scripts
+vertically, for the same reason that @code{\raise} cannot be used for
+that.
 
 @item \magnify  #@var{mag}
 @cindex @code{\magnify}
diff --git a/VERSION b/VERSION
index a466bc5efe48ea8f4657700b6d7a8c987459f8a8..f62c2cb57d2d019b716efce942adeb866b6c01f2 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=2
 MINOR_VERSION=1
-PATCH_LEVEL=2
-MY_PATCH_LEVEL=hwn2
+PATCH_LEVEL=3
+MY_PATCH_LEVEL=
 
index bf647044619930ccd500f9ec7988cc1d0abf2683..bc99b2d1afcb7715290a3ced31dc642e0cfebaa5 100755 (executable)
@@ -23,7 +23,7 @@ fi
 # If you have such a setup, invoke this script as:
 #   autoconf=autoconf2.50 ./autogen.sh
 for i in autoconf2.50 autoconf-2.50 autoconf  false; do
-  version=`$i --version 2>/dev/null | head -1 | awk '{print $NF}' | awk -F. '{print $1 * 100 + $2}'`
+  version=`$i --version 2>/dev/null | head -1 | awk '{print $NF}' | awk -F. '{print $1 * 100 + $2}'`
   if test "0$version" -ge 250; then
     autoconf=$i
     break
diff --git a/buildscripts/mf-to-xpms.sh b/buildscripts/mf-to-xpms.sh
deleted file mode 100644 (file)
index 3e3d84d..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#!@SHELL@
-# mf-to-xpms.sh
-
-if [ $# -ne 1 ]; then
-       echo Usage: mf-to-xpms feta20
-       exit 2
-fi
-
-font=`basename $1 .mf`
-mf=$font.mf
-afm=out/$font.afm
-PKTOPBM=pktopbm
-MODE=ibmvga
-RESOLUTION=110
-named=yes
-
-if [ ! -e out/$font.${RESOLUTION}pk ]; then
-       mf "\\mode=${MODE}; \\input $mf"
-       mv $font.${RESOLUTION}gf out
-       rm -f $font.log $font.tfm
-       gftopk out/$font.${RESOLUTION}gf out/$font.${RESOLUTION}pk
-fi
-
-# num=`grep "^C *[0-9]*;" $afm | tail -1 | sed "s!^C *\([^;]*\).*!\\1!"`
-# num=66
-# tex=out/$font.tex
-# cat > $tex <<EOF
-# \font\fetatwenty=feta20
-# \fetatwenty
-# \nopagenumbers
-# \newcount\c\c64
-# \char\c
-# \loop\ifnum\c<$num\advance\c by1
-#      \vfill\eject
-#      \char\c
-# \repeat
-# \vfill\eject
-# \end
-# EOF
-
-# for i in $NUMS; do
-#      $PKTOPBM out/$font.${RESOLUTION}pk -c $i out/$font-$i.pbm
-# done
-
-# numbered files
-if [ "x$named" = "x" ]; then
-       NUMS=`grep "^C *[0-9]* *;" $afm | sed "s!^C *\([^ ;]*\).*!\\1!"`
-       PBMS=`grep "^C *[0-9]* *;" $afm | sed "s!^C *\([^ ;]*\).*!out/$font-\\1.pbm!"`
-else
-       NUMS=`grep "^C *[0-9]* *;" $afm | sed "s!^C *.*; *N *\([^ ;]*\).*!\\1!"`
-       PBMS=`grep "^C *[0-9]* *;" $afm | sed "s!^C *.*; *N *\([^ ;]*\).*!out/$font-\\1.pbm!"`
-fi
-
-# $PKTOPBM out/$font.${RESOLUTION}pk -x 100 -y 100 $PBMS
-$PKTOPBM out/$font.${RESOLUTION}pk $PBMS
-
-for i in $NUMS; do
-       ppmtoxpm out/$font-$i.pbm > out/$font-$i.xpm
-done
-rm -f $PBMS
index 60d405311983e4bc6e79decc75056d0d4186428f..1c18b8652569a414f6cff4f3785a59278456b5b9 100644 (file)
@@ -1,5 +1,5 @@
 #(ly:set-option 'old-relative)
-\version "1.9.8"
+\version "2.1.1"
 
 \header {
     composer =   "ARTHUR GRAY"
@@ -353,7 +353,7 @@ lowerDynamics = \notes{
            \consists "Dynamic_engraver"
            \consists "Text_engraver"
 
-           TextScript \override #'font-relative-size = #1
+           TextScript \override #'font-size = #2
            TextScript \override #'font-shape = #'italic
 
            \consists "Skip_event_swallow_translator"
diff --git a/input/no-notation/recording.ly b/input/no-notation/recording.ly
new file mode 100644 (file)
index 0000000..2ccb66f
--- /dev/null
@@ -0,0 +1,25 @@
+\version "2.1.2"
+\header {
+
+texidoc = "The @code{Recording_group_engraver} will record events
+synchronized in time, collecting them in a list.  This file also shows
+how to skip the rendering and outputting step of the process, using
+@code{ly:run-translator}."
+
+}
+\include "english.ly"
+
+theMusic = \context Staff \notes { c4 d8-. }
+
+#(define (notice-the-events context lst)
+  (map (lambda (x) (display x) (newline))  lst))
+
+listener = \paper {
+ \translator {
+   \ThreadContext
+   \type "Recording_group_engraver"
+   recordEventSequence = #notice-the-events
+ }
+}
+
+#(ly:run-translator theMusic listener)
index 2848cca140ecf73096a3c297453b8f8c1fab02d0..4715b76998932167d4e52fcf01443b9e0e53e020 100644 (file)
@@ -157,8 +157,8 @@ Lyric_combine_music_iterator::do_quit ()
     music_iter_->quit();
   if (lyric_iter_)
     lyric_iter_->quit();
-  
 }
+
 Lyric_combine_music_iterator::Lyric_combine_music_iterator (Lyric_combine_music_iterator const & src)
     : Music_iterator (src)
 {
index 003ec782f611b6659eeb52f1ad589d55f0b94f0e..de66bca0ec3c71120a7d0b548a80b848d8403d0c 100644 (file)
@@ -87,10 +87,7 @@ Mark_engraver::create_items (Music *rq)
   if (text_)
     return;
 
-  SCM s = get_property ("RehearsalMark");
-  text_ = new Item (s);
-
-
+  text_ = new Item (get_property ("RehearsalMark"));
   announce_grob(text_, rq->self_scm());
 }
 
@@ -122,8 +119,6 @@ Mark_engraver::process_music ()
     {
       create_items (mark_req_);
 
-      String t;
-
       /*
        automatic marks.
        */
@@ -135,6 +130,8 @@ Mark_engraver::process_music ()
        }
       else 
        {
+         String t ;
+         
          if (!gh_string_p (m) && !gh_number_p (m)) 
            m =  get_property ("rehearsalMark");
          
@@ -153,19 +150,18 @@ Mark_engraver::process_music ()
                {
                  char c = t[0];
                  c++;
-                 next = to_string (c);
+                 t = to_string (c);
                }
-             m = scm_makfrom0str (next.to_str0 ());
+             m = scm_makfrom0str (t.to_str0 ());
            }
          else
            {
              m = gh_int2scm (1);
+             t = to_string (1);
            }
          
-         daddy_trans_->set_property ("rehearsalMark", m);
-         
          text_->set_grob_property ("text",
-                                     scm_makfrom0str (t.to_str0 ()));
+                                   scm_makfrom0str (t.to_str0 ()));
 
          SCM series = SCM_EOL;
          SCM family = ly_symbol2scm ("number");
@@ -173,7 +169,13 @@ Mark_engraver::process_music ()
            {
              if (!isdigit (t[i])) 
                {
-                 series = ly_symbol2scm ("bold");
+                 /*
+                   This looks strange, since \mark "A"
+                   isn't printed in bold.
+                   
+                  */
+                 
+                 // series = ly_symbol2scm ("bold");
                  family = ly_symbol2scm ("roman");
                  break;
                }
@@ -183,6 +185,8 @@ Mark_engraver::process_music ()
          if (gh_symbol_p (family))
            text_->set_grob_property ("font-family",  family);
        }
+
+      daddy_trans_->set_property ("rehearsalMark", m);
     }
 }
 
index 6dc512510761995328c8fb05d37e5a5c20f92b51..44b9b671156db9794d8a4f4041b32ef2dbe67352 100644 (file)
 
 
 /*
-  Ugh, this is messy.
+  TODO: this entire class should be implemented at Scheme level.
+
+
+  
  */
 Paper_outputter::Paper_outputter (String name)
 {
index 5feda5abf9a8c2ebcf2446dc88b8d6999e851ce7..0cc8169ede947399a15ca164b3dcf5b0e7702f58 100644 (file)
@@ -113,12 +113,6 @@ Paper_score::process (String outname)
       outputter_->write_header_fields_to_file (header_);
     }
 
-#if 0
-  // todo: transport origin_string_ in header.
-  outputter_->output_comment (_ ("Outputting Score, defined at: "));
-  outputter_->output_comment (origin_string_);
-#endif
-  
   outputter_->output_scope (paper_->scope_, "lilypondpaper");
 
   SCM scm = scm_list_n (ly_symbol2scm ("header-end"), SCM_UNDEFINED);
index 681c1dfaade242d3ee88c2175b8806d8b0acddca..f44e8b3b0d80a03d55bd7e37fbd29792c921e6db 100644 (file)
@@ -90,10 +90,15 @@ Tie_engraver::acknowledge_grob (Grob_info i)
       for  (int i = heads_to_tie_.size (); i--;)
        {
          Grob *th =  heads_to_tie_[i];
-         int staff_pos = int (Staff_symbol_referencer::get_position (h));
-         int left_staff_pos = int (Staff_symbol_referencer::get_position (th));
-         
-         if (staff_pos == left_staff_pos)
+         Music * right_mus = unsmob_music (h->get_grob_property ("cause"));
+         Music * left_mus = unsmob_music (th->get_grob_property ("cause"));
+
+         /*
+           maybe should check positions too.
+          */
+         if (right_mus && left_mus
+             && gh_equal_p (right_mus->get_mus_property ("pitch"),
+                            left_mus->get_mus_property ("pitch")))
            {
              Grob * p = new Spanner (get_property ("Tie"));
              Tie::set_interface (p); // cannot remove yet!
index 5404a1e035600b48a6fa2b4075ef83545002f160..8dcd8bdf1e4f7f49ba001b101926c0444fbd3b80 100644 (file)
@@ -70,8 +70,7 @@ unset out
 
 ./configure --disable-checking --prefix=%{_prefix} --libdir=%{_libdir} --enable-optimising
 
-%make MAKE_PFA_FILES=1 all
-make -C mf/ pfa
+%make  all
 
 # make info
 make -C Documentation
@@ -92,7 +91,7 @@ rm -rf $RPM_DOC_ROOT
 mkdir -p $RPM_DOC_ROOT
 
 strip lily/out/lilypond 
-%makeinstall MAKE_PFA_FILES=1
+%makeinstall 
 local_lilypond_libdir=$RPM_BUILD_ROOT/%{_libdir}/%{name}/%{version}
 
 %if %{info}
index ffc1513959f338dfb32e51006bb4971e77c013e1..164a66ac17b383f0894fa4b068d170cab8046789 100644 (file)
@@ -47,8 +47,7 @@ Documentation and example files of LilyPond. An index is available at
 ./configure --disable-checking --prefix=%{_prefix} --enable-optimising
 
 
-make MAKE_PFA_FILES=1 all
-make -C mf/ pfa
+make all
 
 # make info
 make -C Documentation
@@ -63,7 +62,7 @@ make -C Documentation/user omf
 rm -rf $RPM_BUILD_ROOT
 mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc
 
-make prefix="$RPM_BUILD_ROOT%{_prefix}" infodir="$RPM_BUILD_ROOT%{_infodir}" MAKE_PFA_FILES=1 mandir="$RPM_BUILD_ROOT%{_mandir}" install
+make prefix="$RPM_BUILD_ROOT%{_prefix}" infodir="$RPM_BUILD_ROOT%{_infodir}"  mandir="$RPM_BUILD_ROOT%{_mandir}" install
 
 %if %{info}
 rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
index b54a2e6ef2e5b62d58632a8584ee2c24ad16cc53..a132929ac94aa07dd31d58c1f21480c978328aca 100644 (file)
        (padding . 1.0)
        (direction . 1)
        (font-family . roman)
-       (font-relative-size . -1)
+       (font-size . -2)
        (Y-offset-callbacks . (,Side_position_interface::aligned_side))
        (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
        (self-alignment-X . 1)
 
        ;; We must do this, other BFs in
        ;; paper16 become too small.
-       (font-relative-size . -2)
+       (font-size . -4)
        (font-magnification . 0.8) 
        (kern . 0.2)
        (meta . ((interfaces . (text-interface                                                  rhythmic-grob-interface
      . (
        (molecule-callback . ,Text_item::brew_molecule)
        (padding . 0.6)
-       ;;              (direction . -1)
        (self-alignment-X . 0)
        (self-alignment-Y . 0)
        (script-priority . 100)
        (font-family . number)
-       (font-relative-size . -3)
+       (font-size . -4)
        (font-shape . upright)
        (meta . ((interfaces . (finger-interface font-interface text-script-interface text-interface side-position-interface self-alignment-interface item-interface ))))
        ))
        (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
        (Y-offset-callbacks . (,Side_position_interface::aligned_side)) 
        (self-alignment-X . 0)
-       (break-align-symbol . time-signature)
        (direction . 1)
        (breakable . #t)
-       (font-relative-size . 1)
+       (font-size . 2)
        (font-family . roman)
        (baseline-skip . 2)
        (break-visibility . ,end-of-line-invisible)
        (molecule-callback . ,Text_item::brew_molecule)
        (font-shape . italic)
        (padding . 0.4)
-       (font-relative-size . -2)
+       (font-size . -4)
        (font-family . roman)
        (meta . ((interfaces . (text-interface self-alignment-interface side-position-interface font-interface item-interface ))))
        ))
        (font-shape . italic)
        (font-series . bold)
 
-       (font-relative-size . -1)
+       (font-size . -2)
        (meta .  ((interfaces . (text-interface tuplet-bracket-interface font-interface spanner-interface))))
        ))
 
        (height . 2.0) ; staffspace;
        (minimum-space . 5)
        (font-family . number)
-       (font-relative-size . -2)
+       (font-size . -4)
        (meta . ((interfaces . (volta-bracket-interface text-interface side-position-interface font-interface spanner-interface))))
        ))
     
index f37985eba6d60764436efba4f4ddd6210850b793..6308424a7b17e911e323fc6817b88179dcf9bafb 100644 (file)
@@ -11,13 +11,13 @@ AC_DEFUN(STEPMAKE_GET_EXECUTABLE, [
     ## command -v doesn't work in zsh
     ## command -v "$1" 2>&1
     ## this test should work in ash, bash, pdksh (ksh), zsh
-    type -p "$1" 2>/dev/null | tail -1 | awk '{print $NF}'
+    type -p "$1" 2>/dev/null | tail -1 | awk '{print $NF}'
 ])
 
 
 # Get version string from executable ($1)
 AC_DEFUN(STEPMAKE_GET_VERSION, [
-    ## "$1" --version 2>&1 | grep -v '^$' | head -1 | awk '{print $NF}'
+    ## "$1" --version 2>&1 | grep -v '^$' | head -1 | awk '{print $NF}'
     ##
     ## ARG.
     ## Workaround for broken Debian gcc version string:
@@ -28,7 +28,7 @@ AC_DEFUN(STEPMAKE_GET_VERSION, [
     ## Assume, and hunt for, dotted version multiplet.
 
     changequote(<<, >>)dnl
-    ("$1" --version || "$1" -V) 2>&1 | grep '[0-9]\.[0-9]' | head -1 | \
+    ("$1" --version || "$1" -V) 2>&1 | grep '[0-9]\.[0-9]' | head -1 | \
        sed -e 's/.*[^-.0-9]\([0-9][0-9]*\.[0-9][.0-9]*\).*/\1/'
     changequote([, ])dnl
 ])
index bf647044619930ccd500f9ec7988cc1d0abf2683..bc99b2d1afcb7715290a3ced31dc642e0cfebaa5 100755 (executable)
@@ -23,7 +23,7 @@ fi
 # If you have such a setup, invoke this script as:
 #   autoconf=autoconf2.50 ./autogen.sh
 for i in autoconf2.50 autoconf-2.50 autoconf  false; do
-  version=`$i --version 2>/dev/null | head -1 | awk '{print $NF}' | awk -F. '{print $1 * 100 + $2}'`
+  version=`$i --version 2>/dev/null | head -1 | awk '{print $NF}' | awk -F. '{print $1 * 100 + $2}'`
   if test "0$version" -ge 250; then
     autoconf=$i
     break
index 2fdb05c74456fc91b60f9128beecf0e61a33f328..4119be3df53b1740db51ad307022b0ffa84e1372 100755 (executable)
@@ -54,7 +54,7 @@ if [ true ]; then
                echo "$name: huh 2?"
                exit 1
        fi
-       LATEST=`cd $reldir; ls -t1 stepmake-*.tar.gz | head -1 | sed 's!stepmake-!!' | sed 's!.tar.gz!!'`
+       LATEST=`cd $reldir; ls -t1 stepmake-*.tar.gz | head -1 | sed 's!stepmake-!!' | sed 's!.tar.gz!!'`
        # urg
        latest=`echo $LATEST | sed 's/\.[a-zA-Z][a-zA-Z]*[0-9]*$//'`
        latest_val=`value $latest`
index 610aa14344892f8c1dc957aacfcf248750b1b1dc..1ebfcc30783327fde7de69b38608a2b3f1f1b345 100644 (file)
@@ -3,7 +3,7 @@ LINECOMMENT=\#
 
 default:
        -chmod +w $(OUTFILE)
-       head -1 $(INFILE) > $(OUTFILE)
+       head -1 $(INFILE) > $(OUTFILE)
        echo "$(LINECOMMENT) WARNING WARNING WARNING" >> $(OUTFILE)
        echo "$(LINECOMMENT) do not edit! this is $(OUTFILE), generated from $(INFILE)" >> $(OUTFILE)
        cat $(INFILE) >> $(OUTFILE)
index 9670c1b8b0ff051d5434a7473dd7c6a0006c9607..fe29adffbfb6bee9033c3be3b3a1a4358964a024 100644 (file)
@@ -71,11 +71,6 @@ local-help:
   distclean   cleaner than clean (duh)\n\
   doc         update all documentation\n\
   release     roll tarball and generate patch\n\
-  rpm         build rpm (Red Hat) package\n\
-  rpm-mdk     build rpm (Mandrake) packages\n\
-  pfa-fonts   build type1 fonts in mf/$(outdir)\n\
-  install-pfa-fonts install type1 fonts in $(local_lilypond_datadir)/fonts/\n\
-  po          make new translation Portable Object database\n\
   po          make new translation Portable Object database\n\
   po-replace  do po-update and replace catalogs with msgmerged versions\n\
   po-update   update translation Portable Object database\n\