From: Han-Wen Nienhuys Date: Wed, 24 Dec 2003 00:57:31 +0000 (+0000) Subject: release commit X-Git-Tag: release/2.1.23~300 X-Git-Url: https://git.donarmstrong.com/?p=lilypond.git;a=commitdiff_plain;h=26633bbfbf821a7cfdfe7a0367d1ea94a440be2e release commit --- diff --git a/ChangeLog b/ChangeLog index 36f798c079..7bea6ea3f4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,18 @@ -<<<<<<< ChangeLog +2003-12-24 Han-Wen Nienhuys + + * 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 * lily/recording-group-engraver.cc (finalize): set protected_scm diff --git a/Documentation/topdocs/NEWS.texi b/Documentation/topdocs/NEWS.texi index 2f95b8b490..496e209603 100644 --- a/Documentation/topdocs/NEWS.texi +++ b/Documentation/topdocs/NEWS.texi @@ -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 diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 5822820de8..2a739ba89c 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -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 a466bc5efe..f62c2cb57d 100644 --- 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= diff --git a/autogen.sh b/autogen.sh index bf64704461..bc99b2d1af 100755 --- a/autogen.sh +++ b/autogen.sh @@ -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 -n 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 index 3e3d84dcd0..0000000000 --- a/buildscripts/mf-to-xpms.sh +++ /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 < out/$font-$i.xpm -done -rm -f $PBMS diff --git a/input/les-nereides.ly b/input/les-nereides.ly index 60d4053119..1c18b86525 100644 --- a/input/les-nereides.ly +++ b/input/les-nereides.ly @@ -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 index 0000000000..2ccb66f51a --- /dev/null +++ b/input/no-notation/recording.ly @@ -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) diff --git a/lily/lyric-combine-music-iterator.cc b/lily/lyric-combine-music-iterator.cc index 2848cca140..4715b76998 100644 --- a/lily/lyric-combine-music-iterator.cc +++ b/lily/lyric-combine-music-iterator.cc @@ -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) { diff --git a/lily/mark-engraver.cc b/lily/mark-engraver.cc index 003ec782f6..de66bca0ec 100644 --- a/lily/mark-engraver.cc +++ b/lily/mark-engraver.cc @@ -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); } } diff --git a/lily/paper-outputter.cc b/lily/paper-outputter.cc index 6dc5125107..44b9b67115 100644 --- a/lily/paper-outputter.cc +++ b/lily/paper-outputter.cc @@ -28,7 +28,10 @@ /* - Ugh, this is messy. + TODO: this entire class should be implemented at Scheme level. + + + */ Paper_outputter::Paper_outputter (String name) { diff --git a/lily/paper-score.cc b/lily/paper-score.cc index 5feda5abf9..0cc8169ede 100644 --- a/lily/paper-score.cc +++ b/lily/paper-score.cc @@ -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); diff --git a/lily/tie-engraver.cc b/lily/tie-engraver.cc index 681c1dfaad..f44e8b3b0d 100644 --- a/lily/tie-engraver.cc +++ b/lily/tie-engraver.cc @@ -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! diff --git a/make/lilypond.mandrake.spec.in b/make/lilypond.mandrake.spec.in index 5404a1e035..8dcd8bdf1e 100644 --- a/make/lilypond.mandrake.spec.in +++ b/make/lilypond.mandrake.spec.in @@ -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} diff --git a/make/lilypond.redhat.spec.in b/make/lilypond.redhat.spec.in index ffc1513959..164a66ac17 100644 --- a/make/lilypond.redhat.spec.in +++ b/make/lilypond.redhat.spec.in @@ -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 diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index b54a2e6ef2..a132929ac9 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -101,7 +101,7 @@ (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) @@ -123,7 +123,7 @@ ;; 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 @@ -369,12 +369,11 @@ . ( (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 )))) )) @@ -519,10 +518,9 @@ (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) @@ -661,7 +659,7 @@ (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 )))) )) @@ -1168,7 +1166,7 @@ (font-shape . italic) (font-series . bold) - (font-relative-size . -1) + (font-size . -2) (meta . ((interfaces . (text-interface tuplet-bracket-interface font-interface spanner-interface)))) )) @@ -1217,7 +1215,7 @@ (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)))) )) diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index f37985eba6..6308424a7b 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -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 -n 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 -n 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 -n 1 | \ sed -e 's/.*[^-.0-9]\([0-9][0-9]*\.[0-9][.0-9]*\).*/\1/' changequote([, ])dnl ]) diff --git a/stepmake/autogen.sh b/stepmake/autogen.sh index bf64704461..bc99b2d1af 100755 --- a/stepmake/autogen.sh +++ b/stepmake/autogen.sh @@ -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 -n 1 | awk '{print $NF}' | awk -F. '{print $1 * 100 + $2}'` if test "0$version" -ge 250; then autoconf=$i break diff --git a/stepmake/bin/stepmakeise.sh b/stepmake/bin/stepmakeise.sh index 2fdb05c744..4119be3df5 100755 --- a/stepmake/bin/stepmakeise.sh +++ b/stepmake/bin/stepmakeise.sh @@ -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 -n 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` diff --git a/stepmake/stepmake/automatically-generated.sub.make b/stepmake/stepmake/automatically-generated.sub.make index 610aa14344..1ebfcc3078 100644 --- a/stepmake/stepmake/automatically-generated.sub.make +++ b/stepmake/stepmake/automatically-generated.sub.make @@ -3,7 +3,7 @@ LINECOMMENT=\# default: -chmod +w $(OUTFILE) - head -1 $(INFILE) > $(OUTFILE) + head -n 1 $(INFILE) > $(OUTFILE) echo "$(LINECOMMENT) WARNING WARNING WARNING" >> $(OUTFILE) echo "$(LINECOMMENT) do not edit! this is $(OUTFILE), generated from $(INFILE)" >> $(OUTFILE) cat $(INFILE) >> $(OUTFILE) diff --git a/stepmake/stepmake/toplevel-targets.make b/stepmake/stepmake/toplevel-targets.make index 9670c1b8b0..fe29adffbf 100644 --- a/stepmake/stepmake/toplevel-targets.make +++ b/stepmake/stepmake/toplevel-targets.make @@ -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\