+1.3.154.hwn1
+============
+
+* RedHat .spec tweaks.
+
+* Bugfix: ly2dvi -o directory/ foo now works.
+
+1.3.153.lec1
+============
+
+* abc2ly fixes:
+ - names in multi-voice music also don't have numbers in them.
+ - No longer using staff_margin_engraver
+
1.3.154.jcn1
============
* PO updates.
* petite-ouverture-a-danser.ly bugfix, twinkle.ly bugfix
-
+V
1.3.153
=======
If you want to compile LilyPond from source, download here:
@itemize @bullet
@item Download development releases from
-@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/} by FTP and
-@uref{http://ftp.cs.uu.nl/pub/GNU/LilyPond/development/}, by HTTP.
+@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/} by FTP and
+@uref{http://ftp.cs.uu.nl/pub/GNU/LilyPond/}, by HTTP.
@item @uref{ftp://sca.uwaterloo.ca/pub/} by FTP (Canadian mirror)
@item at @code{lilypond.org}
@uref{ftp://ftp.lilypond.org/pub/LilyPond/} by FTP and
LilyPond uses a versioning scheme similar to the Linux kernel. In a
version "x.y.z", an even second number 'y' denotes a stable version.
-For development versions 'y' is odd. So, in theory, version 1.2 is stable,
-which means that there are no glaring errors in it. In practice 1.2.x is also
-unmaintained.
+For development versions 'y' is odd.
-1.3.x is in healthy development: lots of problems turn up, but they're
-fixed quickly. Therefore we recommend you try 1.2.x, if you have any
-problem with it, upgrade to the latest 1.3.x release.
+Version 1.4 is the latest stable release.
-@section Requirements
-For the compilation and running of LilyPond you need some additional
-packages. Please refer to the installation instructions in
-@file{INSTALL.txt}.
+@section Compilation
+
+For compiling and running LilyPond please refer to the installation
+instructions. These instructions can be found when you unpack lilypond,
+as @file{lilypond-x.y.z/INSTALL.txt}.
+
NOTE: If you downloaded a binary (.rpm or a W95/NT .zip file),
you don't have to compile LilyPond.
-@section Installation
-
-For your convenience, a formatted copy of the INSTALL instructions are
-in the toplevel directory, as INSTALL.txt
@section Documentation
If you want to compile LilyPond from source, download here:
* Download development releases from
- `ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/' by FTP and
- `http://ftp.cs.uu.nl/pub/GNU/LilyPond/development/', by HTTP.
+ `ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/' by FTP and
+ `http://ftp.cs.uu.nl/pub/GNU/LilyPond/', by HTTP.
* `ftp://sca.uwaterloo.ca/pub/' by FTP (Canadian mirror)
DESIGN
-cocentric
-
* More pervasive GUILE integration resulting in improved design and
implementation. LilyPond is smaller, cleaner, more flexible, etc.
LilyPond uses a versioning scheme similar to the Linux kernel. In a
version "x.y.z", an even second number 'y' denotes a stable version.
-For development versions 'y' is odd. So, in theory, version 1.2 is
-stable, which means that there are no glaring errors in it. In practice
-1.2.x is also unmaintained.
+For development versions 'y' is odd.
- 1.3.x is in healthy development: lots of problems turn up, but
-they're fixed quickly. Therefore we recommend you try 1.2.x, if you
-have any problem with it, upgrade to the latest 1.3.x release.
+ Version 1.4 is the latest stable release.
-Requirements
-============
+Compilation
+===========
- For the compilation and running of LilyPond you need some additional
-packages. Please refer to the installation instructions in
-`INSTALL.txt'.
+ For compiling and running LilyPond please refer to the installation
+instructions. These instructions can be found when you unpack lilypond,
+as `lilypond-x.y.z/INSTALL.txt'.
NOTE: If you downloaded a binary (.rpm or a W95/NT .zip file), you
don't have to compile LilyPond.
-Installation
-============
-
- For your convenience, a formatted copy of the INSTALL instructions
-are in the toplevel directory, as INSTALL.txt
-
Documentation
=============
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
-MINOR_VERSION=3
-PATCH_LEVEL=154
-MY_PATCH_LEVEL=jcn1
+MINOR_VERSION=4
+PATCH_LEVEL=0
+MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
setenv GS_FONTPATH "$datadir/afm:@datadir@/pfa:$GS_FONTPATH"
setenv GS_LIB "$datadir/ps:$GS_LIB"
-# bit silly. for ly2dvi, overrules compiled-in datadir...
# setenv LILYPONDPREFIX "$datadir"
+# bit silly. for ly2dvi, overrules compiled-in datadir...
+# setenv LILYPONDPREFIX "@datadir@"
+
# include an empty path component for the system wide includes.
if ($?MFINPUTS) then
setenv MFINPUTS "$datadir/mf:${MFINPUTS}::"
TEXINPUTS="$datadir/tex:$datadir/ps:"${TEXINPUTS:=":"}
TFMFONTS="$datadir/tfm:"${TFMFONTS:=":"}
-export MFINPUTS TEXINPUTS TFMFONTS GS_LIB GS_FONTPATH
+# LILYPONDPREFIX="$datadir"
+# export LILYPONDPREFIX
+
+export MFINPUTS TEXINPUTS TFMFONTS GS_LIB GS_FONTPATH
Begin3
Title: LilyPond
-Version: 1.3.154
-Entered-date: 09MAY01
+Version: 1.4.0
+Entered-date: 10MAY01
Description: @BLURB@
Keywords: music notation typesetting midi fonts engraving
Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
janneke@gnu.org (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 1000k lilypond-1.3.154.tar.gz
+ 1000k lilypond-1.4.0.tar.gz
Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 1000k lilypond-1.3.154.tar.gz
+ 1000k lilypond-1.4.0.tar.gz
Copying-policy: GPL
End
%define info yes
Name: lilypond
-Version: 1.3.154
+Version: 1.4.0
Release: 1
License: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.154.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.4.0.tar.gz
Summary: Create and print music notation
URL: http://www.cs.uu.nl/~hanwen/lilypond
BuildRoot: /tmp/lilypond-install
# In fact, do not take out the spaces between % and { in the above comment,
# because RPM will gladly do a substitution anyway.
-./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimise --enable-shared
+./configure --disable-checking --prefix=%{_prefix} --enable-optimise
make all
-# ok, now make sure that lilypond package will succeed,
-# even if documentation fails to build
-make -C Documentation || true
-make web || true
+# make info
+make -C Documentation
+
+# make html
+make web-doc top-web
%install
make prefix="$RPM_BUILD_ROOT%{_prefix}" install
%if info=="yes"
-gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* || true
+gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/*
%endif
mkdir -p $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d
install -m 644 lilypond-mode.el lilypond-font-lock.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/
install -m 644 lilypond-init.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d
-gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/* || true
+gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/*
mkdir -p $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d
cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.sh
# again, make sure that main package installs even if doco fails
mkdir -p web/out
-tar -C web -xzf out/web.tar.gz || true
+tar -C web -xzf out/web.tar.gz
%post
rm `find /var/lib/texmf -name 'feta*pk -print' -or -name 'feta*tfm -print'` /tmp/.lilypond-install
%if info=="yes"
-/sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true
+/sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir
%endif
%preun
%if info=="yes"
if [ $1 = 0 ]; then
- /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true
+ /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir
fi
%endif
Distribution: SuSE Linux 7.0 (i386)
Name: lilypond
-Version: 1.3.154
+Version: 1.4.0
Release: 2
Copyright: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.154.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.4.0.tar.gz
# music notation software for.. ?
Summary: A program for printing sheet music.
URL: http://www.lilypond.org/
# even if documentation fails to build
make -C Documentation || true
-make web || true
+make web-doc top-web || true
%install
# In fact, do not take out the spaces between % and { in the above comment,
# because RPM will gladly do a substitution anyway.
-./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimise --enable-shared
+./configure --disable-checking --prefix=%{_prefix} --enable-optimise
make all
-# ok, now make sure that lilypond package will succeed,
-# even if documentation fails to build
-make -C Documentation || true
-make web || true
+# make info
+make -C Documentation
+
+# make html
+make web-doc top-web
%install
make prefix="$RPM_BUILD_ROOT%{_prefix}" install
%if info=="yes"
-gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* || true
+gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/*
%endif
mkdir -p $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d
install -m 644 lilypond-mode.el lilypond-font-lock.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/
install -m 644 lilypond-init.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d
-gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/* || true
+gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/*
mkdir -p $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d
cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.sh
# again, make sure that main package installs even if doco fails
mkdir -p web/out
-tar -C web -xzf out/web.tar.gz || true
+tar -C web -xzf out/web.tar.gz
%post
rm `find /var/lib/texmf -name 'feta*pk -print' -or -name 'feta*tfm -print'` /tmp/.lilypond-install
%if info=="yes"
-/sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true
+/sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir
%endif
%preun
%if info=="yes"
if [ $1 = 0 ]; then
- /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true
+ /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir
fi
%endif
# even if documentation fails to build
make -C Documentation || true
-make web || true
+make web-doc top-web || true
%install
ks = voice_idx_dict.keys()
ks.sort ()
for k in ks:
+ if re.match('[1-9]', k):
+ m = alphabet[string.atoi(k)]
+ else:
+ m = k
for i in range (len(slyrics[voice_idx_dict[k]])):
l=alphabet[i]
- outf.write ("\nwords%sV%s = \\lyrics {" % (k, l))
+ outf.write ("\nwords%sV%s = \\lyrics {" % (m, l))
outf.write ("\n" + slyrics [voice_idx_dict[k]][i])
outf.write ("\n}")
ks = voice_idx_dict.keys()
ks.sort ()
for k in ks:
- outf.write ("\nvoice%s = \\notes {" % k)
+ if re.match ('[1-9]', k):
+ m = alphabet[string.atoi(k)]
+ else:
+ m = k
+ outf.write ("\nvoice%s = \\notes {" % m)
dump_default_bar(outf)
if repeat_state[voice_idx_dict[k]]:
outf.write("\n\\repeat volta 2 {")
ks = voice_idx_dict.keys ();
ks.sort ()
for k in ks:
+ if re.match('[1-9]', k):
+ m = alphabet[string.atoi(k)]
+ else:
+ m = k
if k == 'default' and len (voice_idx_dict) > 1:
break
if len ( slyrics [voice_idx_dict[k]] ):
outf.write ("\n\t\\context Staff=\"%s\"\n\t{\n" %k )
if k != 'default':
outf.write ("\t \\voicedefault\n")
- outf.write ("\t \\voice%s " % k)
+ outf.write ("\t \\voice%s " % m)
outf.write ("\n\t}\n")
if len ( slyrics [voice_idx_dict[k]] ):
outf.write ("\n\t\\context Lyrics=\"%s\" \n\t<\t" % k)
+ if re.match('[1-9]',k):
+ m = alphabet[string.atoi(k)]
+ else:
+ m = k
for i in range (len(slyrics[voice_idx_dict[k]])):
l=alphabet[i]
- outf.write("\n\t { \\words%sV%s }" % ( k, l) )
+ outf.write("\n\t { \\words%sV%s }" % ( m, l) )
outf.write ( "\n\t>\n" )
outf.write ("\n >")
outf.write ("\n\t\\paper {\n")
if part_names:
outf.write ("\t \\translator \n\t {\n")
outf.write ("\t\t\\StaffContext\n")
- outf.write ("\t\t\\consists Staff_margin_engraver\n")
+# outf.write ("\t\t\\consists Staff_margin_engraver\n")
outf.write ("\t }\n")
outf.write ("\t}\n\t\\midi {}\n}\n")
optstring = re.sub ('\n', ' ', optstring)
body = r"""
%% Generated automatically by: lilypond-book.py
-%% options are %s %%ughUGH not original options
+%% options are %s
\include "paper%d.ly"
\paper { linewidth = %f \pt }
""" % (optstring, music_size, l) + body
+
+ # ughUGH not original options
return body
def parse_options_string(s):
original_dir = os.getcwd ()
-temp_dir = '%s.dir' % program_name
+temp_dir = os.path.join (original_dir, '%s.dir' % program_name)
+
keep_temp_dir_p = 0
verbose_p = 0
os.mkdir (temp_dir, 0777)
except OSError:
pass
-
+
return temp_dir
if ( os.name != 'posix' ):
cmd = re.sub (r'''\\''', r'''\\\\\\''', cmd)
cmd = "sh -c \'%s\'" % cmd
+
+
if verbose_p:
progress (_ ("Invoking `%s\'") % cmd)
st = os.system (cmd)
files = map (lambda x: strip_extension (x, '.ly'), files)
+ (outdir, outbase) = ('','')
if not output_name:
- output_name = os.path.basename (files[0])
+ outbase = os.path.basename (files[0])
+ outdir = abspath('.')
+ elif output_name[-1] == os.sep:
+ outdir = abspath (output_name)
+ outbase = os.path.basename (files[0])
+ else:
+ (outdir, outbase) = os.path.split (abspath (output_name))
for i in ('.dvi', '.latex', '.ly', '.ps', '.tex'):
output_name = strip_extension (output_name, i)
dep_prefix = 0
reldir = os.path.dirname (output_name)
-
- (outdir, outbase) = os.path.split (abspath (output_name))
if outdir != '.' and (track_dependencies_p or targets.keys ()):
mkdir_p (outdir, 0777)
$(PYTHON) $(step-bindir)/release.py --outdir=$(topdir)/$(outdir) --package=$(topdir)
# rpm: $(depth)/$(package-icon) dist
-rpm: dist
- su -c 'rpm -tb $(depth)/$(outdir)/$(distname).tar.gz'
+rpm:
+ @echo The \"rpm\" target is deprecated.
+ @echo Please select the .spec appropriate for your distribution and run
+ @echo
+ @echo " rpm -bb SPEC-FILE"
+ @echo
+ @echo different SPEC-FILEs may be found in $(depth)/make/out/
+
+# su -c 'rpm -tb $(depth)/$(outdir)/$(distname).tar.gz'