+1.3.136
+=======
+
+* Bugfix: set dependency for direction-source in script-engraver. This
+fixes core-dump problem when stacking multiple scripts containing
+staccato dots.
+
+* Put TFM files under $VARTEXFONTS (/var/lib/texmf,
+typically). PK files are put in the right spot
+automatically, and dirs are also created automatically.
+
+A change to mktexnam is still required -- add
+
+ MT_DESTROOT=foobar
+
+before line 161.
+
1.3.135.jcn3
============
* Coriolan fixes.
-1.3.135.jcn2
-============
-
* Bugfix: (first and also) write global header fields; this fixes
`latexpackages' and ly2dvi.
-* Crude sanity check for kpath.cc searching.
-
-1.3.135.jcn1
-============
-
* Bugfix: website build.
* Fixed titling: cleaned out titledefs.tex for use by ly2dvi.
+1.3.134.mb1
+===========
+
+* minor documentation fix.
+
1.3.134.jcn2
============
============
* Tied notes at a linebreak repeat their accidental.
-
+F
* Removed some cruft from lily/include/.
* Bugfix: tied notes in chords sometimes got stuck in MIDI output
-$(BIBTEX2HTML) $(BIBTEX2HTML_FLAGS)
$(footify) $@
-localclean:
+local-clean:
rm -f fonts.aux fonts.log feta*.tfm feta*.*pk
# we want footers even if website builds (or is built) partly
$(MAKE) footify
-localclean:
+local-clean:
rm -f fonts.aux fonts.log feta*.tfm feta*.*pk
rm -rf $(outdir)/lilypond $(outdir)/lilypond-internals
# and using a matching TeX (well, I gave up trying for now).
my_tfm_path=$(TFM_PATH) /tmp /tmp /tmp /tmp /tmp /tmp
-localinstall:
+local-install:
mkdir -p $(datadir)
ifeq ($(KPATHSEA),0)
$(foreach i, 1 2 3 4 5, rm -f $(datadir)/tfm.$(i); $(LN_S) $(word $(i), $(my_tfm_path)) $(datadir)/tfm.$(i) ; )
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=3
-PATCH_LEVEL=135
-MY_PATCH_LEVEL=jcn4
+PATCH_LEVEL=136
+MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
else
setenv TEXINPUTS "/usr/share/lilypond/tex::"
endif
+if ($?TEXINPUTS) then
+ setenv TFMFONTS "@datadir@/tfm:$TFMFONTS"
+else
+ setenv TFMFONTS "@datadir@/tfm:"
+endif
+
MFINPUTS="@datadir@/mf:"${MFINPUTS:=":"}
TEXINPUTS="@datadir@/tex:@datadir@/ps:"${TEXINPUTS:=":"}
+# TFMFONTS="@datadir@/tfm:$TFMFONTS"
## gs_lib ???
export LILYINCLUDE LILYPONDPREFIX MFINPUTS TEXINPUTS GS_LIB GS_FONTPATH
--- /dev/null
+
+\score { \notes { c'''-. c-. }}
\property Staff.Custos \override #'style = #'mensural
\clef "mensural1_c2";
c2 d e f g
+ \property Staff.forceClef = ##t
\clef "mensural1_c2";
a b c'
b a g f
\clef "mensural2_c2";
c2 d e f g
+ \property Staff.forceClef = ##t
\clef "mensural3_c2";
a b c'
b a g f
\clef "mensural1_f";
c2 d e f g
+ \property Staff.forceClef = ##t
\clef "mensural1_f";
a b c'
b a g f
\clef "mensural2_f";
e d c1 \bar "|";
+ \property Staff.forceClef = ##t
\clef "mensural2_f";
c2 d e f g
\clef "mensural_g";
a' b' c''
b' a' g' f'
+ \property Staff.forceClef = ##t
\clef "mensural_g";
e' d' c'1 \bar "|";
+ \property Staff.forceClef = ##t
\clef "mensural_g";
c'2 d' e' f' g'
\clef "hufnagel_do_fa";
a b c'
b a g f
+ \property Staff.forceClef = ##t
\clef "hufnagel_do_fa";
e d c1 \bar "||";
}
$(outdir)/library.a:
@echo "*** To install libintl type 'make lib; make install-lib' ***"
-localinstall: $(outdir)
+local-install: $(outdir)
@echo "*** To install libintl type 'make lib; make install-lib' ***"
-localuninstall: $(outdir)
+local-uninstall: $(outdir)
@echo "*** To uninstall libintl type 'make uninstall-lib' ***"
include $(depth)/make/stepmake.make
$(MAKE) LIBINTL=yes all
install-lib: $(LIBRARY)
- $(MAKE) LIBINTL=yes localinstall
+ $(MAKE) LIBINTL=yes local-install
uninstall-lib:
- $(MAKE) LIBINTL=yes localuninstall
+ $(MAKE) LIBINTL=yes local-uninstall
*/
#include <stdio.h>
+
#include "config.h"
+#include "string.hh"
#define popen REALLYUGLYKLUDGE
#define pclose ANOTHERREALLYUGLYKLUDGE
}
#endif
-#include <sys/types.h>
-#include <fcntl.h>
-#if HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-
#include "kpath.hh"
-
+#include "version.hh"
char * ly_find_afm (char const * name)
kpse_maketex_option("tfm", TRUE);
/*
- UGH: should not use DIR_DATADIR, but /var,
-
- hmm, but where to get /var?
-
+ ugh: apparently the program_args is non-functional.
*/
+#define VERSION MAJOR_VERSION "." MINOR_VERSION "." PATCH_LEVEL
+
+#define MY_TFMPATH "$VARTEXFONTS/tfm/lilypond/" VERSION "/"
- int fd;
- struct stat stat_buf;
- if (stat (DIR_DATADIR "/tfm", &stat_buf) == 0
- && (S_ISDIR (stat_buf.st_mode) || S_ISLNK (stat_buf.st_mode))
- // ugh, howto test if we can write there?
- // && (stat_buf.st_mode & S_IWUSR))
- && ((fd = open (DIR_DATADIR "/tfm/lily", O_CREAT)) != -1))
- {
- close (fd);
- unlink (DIR_DATADIR "/tfm/lily");
- kpse_format_info[kpse_tfm_format].program ="mktextfm --destdir " DIR_DATADIR "/tfm";
-
- kpse_format_info[kpse_tfm_format].client_path =
- (DIR_DATADIR "/tfm" );
- }
+ char * mypath = kpse_expand (MY_TFMPATH);
+ String prog = "mktextfm --destdir ";
+ prog += mypath;
+ kpse_format_info[kpse_tfm_format].program = strdup (prog.ch_C());
+ kpse_format_info[kpse_tfm_format].client_path = mypath;
#endif
}
+++ /dev/null
-/*
- group-interface.cc -- implement Pointer_group_interface
-
- source file of the GNU LilyPond music typesetter
-
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
- */
-#include "group-interface.hh"
-#include "grob.hh"
-
-
-
-
-
virtual void initialize ();
virtual void stop_translation_timestep ();
virtual void start_translation_timestep ();
- virtual void create_grobs ();
+ virtual void process_music ();
virtual void acknowledge_grob (Grob_info);
};
}
void
-Script_engraver::create_grobs ()
+Script_engraver::process_music ()
{
for (int i=0; i < script_req_l_arr_.size(); i++)
{
announce_grob (p, l);
}
- script_req_l_arr_.clear ();
}
void
Grob*e = script_p_arr_[i];
e->set_grob_property ("direction-source", inf.elem_l_->self_scm ());
+ e->add_dependency (inf.elem_l_);
Side_position_interface::add_support (e, inf.elem_l_);
}
}
#include "dimensions.hh"
#include "staff-symbol-referencer.hh"
#include "group-interface.hh"
+#include "directional-element-interface.hh"
void
Side_position_interface::add_support (Grob*me, Grob*e)
Grob * e = unsmob_grob(other_elt);
if (e)
{
- return (Direction)(relative_dir * Side_position_interface::get_direction (e));
+ return (Direction)(relative_dir * Directional_element_interface::get (e));
}
return CENTER;
export MFINPUTS:=$(topdir)/mf/:$(MFINPUTS)::
export TEXINPUTS:=$(topdir)/mf/out/:$(topdir)/tex/:$(topdir)/ps/:$(TEXINPUTS):$(pwd)::
export LILYINCLUDE:=$(topdir)/ps:$(topdir)/scm:$(topdir)/ly:$(topdir)/mf/out::$(TEX_TFMDIR):$(LILYINCLUDE)
+export TFMFONTS=$(topdir)/mf/out:
export LILYPONDPREFIX:=$(depth)/
#
# Also clean hand-compiled stuff in cwd
#
-localclean: local-auto-gen-clean
+local-clean: local-auto-gen-clean
# Compose string from two parts: must not remove myself.
auto-gen-tag=Generated
mutopia:
$(MAKE) examples="$(mutopia-examples)" PAPERSIZE=letter local-WWW $(mutopia-letter)
-localclean: local-letter-clean
+local-clean: local-letter-clean
local-letter-clean:
rm -f $(outdir)-letter/*
Begin3
Title: LilyPond
-Version: 1.3.135
-Entered-date: 05MAR01
+Version: 1.3.136
+Entered-date: 08MAR01
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.135.tar.gz
+ 1000k lilypond-1.3.136.tar.gz
Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 1000k lilypond-1.3.135.tar.gz
+ 1000k lilypond-1.3.136.tar.gz
Copying-policy: GPL
End
%define info yes
Name: lilypond
-Version: 1.3.135
+Version: 1.3.136
Release: 1
License: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.135.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.136.tar.gz
Summary: A program for printing sheet music.
URL: http://www.cs.uu.nl/~hanwen/lilypond
# Icon: lilypond-icon.gif
$(outdir)/%.afm $(outdir)/%.tex $(outdir)/%.dep: $(outdir)/%.log
$(PYTHON) $(buildscript-dir)/mf-to-table.py --package=$(topdir) --outdir=$(outdir) --dep $(outdir)/$(<F:.log=.dep) --afm $(outdir)/$(<F:.log=.afm) --tex $(outdir)/$(<F:.log=.tex) $<
-localclean:
+local-clean:
rm -f mfplain.mem mfplain.log mpout.log
rm -f *.tfm *.log
+
default: $(MO_FILES)
-localinstall: $(MO_FILES)
+local-install: $(MO_FILES)
for i in $(CATALOGS); do \
$(INSTALL) -d $(localedir)/$$i/LC_MESSAGES; \
$(INSTALL) -m 644 $(outdir)/$$i.mo \
$(localedir)/$$i/LC_MESSAGES/$(package).mo; \
done
-localuninstall:
+local-uninstall:
for i in $(CATALOGS); do \
rm -f $(localedir)/$$i/LC_MESSAGES/$(package).mo; \
rmdir $(localedir)/$$i/LC_MESSAGES || true; \
))
(Script . (
+ ;; don't set direction here: it breaks staccato.
(molecule-callback . ,Script::brew_molecule)
- (direction . -1)
(X-offset-callbacks . (,Side_position_interface::centered_on_parent))
(after-line-breaking-callback . ,Script::after_line_breaking)
(meta . ,(grob-description "Script" script-interface side-position-interface font-interface))
;;TODO? extra padding :: Real (given in staff spaces)
+
+;; TODO: generate Grob types for this, by prepending appropriate props
+;; on top of Script (?)
+
(set! default-script-alist
(append
'(("thumb" . ((feta . ("thumb" . "thumb")) #f 0 1 0))
(translator-property-description 'followThread boolean?
"if set, note heads are tracked across staff switches by a thin line")
-(translator-property-description 'forceClef boolean? "Show clef symbol, even if it hasn't changed.")
+(translator-property-description 'forceClef boolean? "Show clef symbol, even if it hasn't changed. Only active for the first clef after the property is set, not for the full staff.")
(translator-property-description 'forgetAccidentals boolean? "do
not set localKeySignature when a note alterated differently from
localKeySignature is found.
INFOINSTALL=$(MAKE) INSTALLATION_OUT_DIR=$(infodir) depth=$(depth) INSTALLATION_OUT_FILES="$(INFO_INSTALL_FILES)" -f $(stepdir)/install-out.sub.make
-localinstall: install-info
-localuninstall: uninstall-info
+local-install: install-info
+local-uninstall: uninstall-info
install-info: $(INFO_FILES)
-$(INSTALL) -d $(infodir)
- $(INFOINSTALL) localinstall
+ $(INFOINSTALL) local-install
uninstall-info:
- $(INFOINSTALL) localuninstall
- -rmdir $(infodir)
\ No newline at end of file
+ $(INFOINSTALL) local-uninstall
+ -rmdir $(infodir)
-localinstall: installexe
+local-install: installexe
-localuninstall: uninstallexe
+local-uninstall: uninstallexe
installexe: all
-$(INSTALL) -d $(bindir)
$(LOOP)
# be careful about deletion.
-clean: localclean
+clean: local-clean
-rm -f $(outdir)/*
$(LOOP)
autoconf
chmod +x configure
-localclean:
+local-clean:
local-distclean:
install-strip:
$(MAKE) INSTALL="$(INSTALL) -s" install
-install: localinstall
+install: local-install
$(LOOP)
-localinstall:
+local-install:
-uninstall: localuninstall
+uninstall: local-uninstall
$(LOOP)
-localuninstall:
+local-uninstall:
installextradoc:
-$(INSTALL) -d $(prefix)/doc/$(package)
default: man
-localinstall: install-help2man
+local-install: install-help2man
install-help2man: man
-$(INSTALL) -d $(mandir)/man1
man: $(HELP2MAN_GROFFS)
-localuninstall: uninstall-help2man
+local-uninstall: uninstall-help2man
uninstall-help2man:
$(foreach a, $(notdir $(MANGROFFS)), rm -f $(a) && ) true
-localinstall: $(LIBRARY)
+local-install: $(LIBRARY)
ifneq ($(strip $(INSTALL_HEADERS)),)
$(INSTALL) -d $(includedir)
$(INSTALL) $(INSTALL_HEADERS) $(includedir)
$(INSTALL) $(LIBRARY) $(libdir)/$(INSTALL_LIBRARY)
endif
-localuninstall:
+local-uninstall:
ifneq ($(strip $(INSTALL_HEADERS)),)
rm -f $(addprefix $(includedir)/, $(INSTALL_HEADERS))
endif
# install-out-targets.make
-localinstall: localinstall-files localinstall-outfiles
+local-install: local-install-files local-install-outfiles
-localinstall-files:
+local-install-files:
# urg, parameterise
-localinstall-outfiles: $(INSTALLATION_OUT_FILES) $(foreach suff, $(INSTALLATION_OUT_SUFFIXES), $(INSTALLATION_OUT_FILES$(suff)))
+local-install-outfiles: $(INSTALLATION_OUT_FILES) $(foreach suff, $(INSTALLATION_OUT_SUFFIXES), $(INSTALLATION_OUT_FILES$(suff)))
-$(INSTALL) -d $(INSTALLATION_OUT_DIR)
$(foreach i, $(INSTALLATION_OUT_FILES), \
$(INSTALL) -m 644 $(i) $(INSTALLATION_OUT_DIR)/ && ) true
$(INSTALL) -m 644 $(i) $(INSTALLATION_OUT_DIR$(suff))/ && ) true && ) true
-localuninstall: localuninstall-outfiles localuninstall-files
+local-uninstall: local-uninstall-outfiles local-uninstall-files
-localuninstall-files:
+local-uninstall-files:
-localuninstall-outfiles:
+local-uninstall-outfiles:
rm -f $(foreach i, $(notdir $(INSTALLATION_OUT_FILES)), \
$(INSTALLATION_OUT_DIR)/$(i))
rm -f $(foreach suff, $(INSTALLATION_OUT_SUFFIXES), \
# install-targets.make
-localinstall: localinstall-files localinstall-outfiles
+local-install: local-install-files local-install-outfiles
-localinstall-outfiles:
+local-install-outfiles:
# urg, parameterise
-localinstall-files:
+local-install-files:
$(PRE_INSTALL)
-$(INSTALL) -d $(INSTALLATION_DIR)
$(foreach i, $(INSTALLATION_FILES),\
$(INSTALL) -m 644 $(i) $(INSTALLATION_DIR$(suff))/ && ) && ) true
$(POST_INSTALL)
-localuninstall: localuninstall-outfiles localuninstall-files
+local-uninstall: local-uninstall-outfiles local-uninstall-files
-localuninstall-outfiles:
+local-uninstall-outfiles:
-localuninstall-files:
+local-uninstall-files:
rm -f $(foreach i, $(INSTALLATION_FILES), $(INSTALLATION_DIR)/$(i))
rm -f $(foreach suff, $(INSTALLATION_SUFFIXES), \
$(foreach i, $(INSTALLATION_FILES$(suff)),\
MANGROFF = $(addprefix $(outdir)/, $(addsuffix .$(SECTION)))
-localinstall: $(MANGROFFS)
+local-install: $(MANGROFFS)
-$(INSTALL) -d $(mandir)/man$(SECTION)
$(INSTALL) -m 644 $(MANGROFFS) $(mandir)/man$(SECTION)
-localuninstall:
+local-uninstall:
(cd $(mandir)/man$(SECTION)/; rm -f $(MANGROFF))
$(README_TXT_FILES): do-top-doc
-localclean:
+local-clean:
# if you fix this, please fix yodl too!
% encapsulating tex backend for auto-generated feta definitions
% fix chord.cc::banter_str before removing these
+
\def\fetdef#1#2{%
\def#1{\hbox{\char#2}}}
\fetdef\fetasharp{16}
\fetdef\fetanatural{17}
\fetdef\fetaflat{18}
-\font\fetasixteenfont=feta16
+
+% \font\fetasixteenfont=feta16
+
+\def\fetasixteenfont{\message{TeX strings are deprecated. Please use
+Scheme markup expressions. See the reference manual for more information}}
+
\def\fetafont{\fetasixteenfont}
\def\textflat{{\fetafont\raise 1ex\hbox{\fetaflat}}}
\def\textnatural{{\fetafont\raise 1ex\hbox{\fetanatural}}}