+1.3.131.jcn1
+============
+
+* Bugfix: out-letter/%.ps generation for mutopia.
+
+* Bugfix: don't use $(message ) in makefiles; some versions of make
+choke on this.
+
+* Bugfix: ly2dvi.py: don't add magic `//' to TEXINPUTS,MFINPUTS; this
+chokes kpsewhich 3.3.1 (bug report filed).
+
+* Bugfix: file-path.cc: don't interpret relative path as system root.
+
+* Bugfix: --srcdir install.
+
1.3.130.hwn2
============
EXTRA_DIST_FILES = lilypond-font-lock.el lilypond-mode.el vimrc VERSION $(README_FILES) $(SCRIPTS) $(IN_FILES)
NON_ESSENTIAL_DIST_FILES = $(README_TXT_FILES)
INSTALLATION_DIR=$(datadir)
-INSTALLATION_FILES=config.make VERSION
+INSTALLATION_FILES=$(builddir)/config.make VERSION
# bootstrap stepmake:
#
MAJOR_VERSION=1
MINOR_VERSION=3
PATCH_LEVEL=131
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=jcn1
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
PATHSEP=':'
INSTALL="\$(SHELL) \$(stepdir)/../bin/install-dot-exe.sh -c"
else
- ROOTSEP='/'
+ ROOTSEP=':'
DIRSEP='/'
PATHSEP=':'
LN=ln
#define PATHSEP ':'
#endif
+/* We don't have multiple roots, set this to '\0'? */
#ifndef ROOTSEP
-#define ROOTSEP '/'
+#define ROOTSEP ':'
#endif
#ifndef DIRSEP
if (i >= 0)
{
p.root = path.left_str (i);
- path = path.right_str (path.length_i () - i); // - 1);
+ path = path.right_str (path.length_i () - i - 1);
}
i = path.index_last_i (DIRSEP);
-
% dynamics should not collide with staff
% dynamics (of two voices) should not collide with eachother
+% strange stem through beam bug in bar 8 on viola staff
+% 1-staff-high brace should collapse
\header {
texidoc="Template for part-combining orchestral scores";
}
-End = { \skip 1; }
-violoncello = \notes\relative c'' {
- c1\ff
+End = { \skip 1*8; }
+
+violaI = \notes\relative c'' {
+ c1 \break c c c c\break
+ g4\p\< r r r8 g(|
+ )c,4 r r r8 c|
+ [\!f8\sf(\>as f as][f g d)\!g]|
+ r [es'\p(c)es] r [d(bes)d]|
+
+
}
+violaII = \notes\relative c'' {
+ c1 c c c c
+ g4\p\< r r r8 g(|
+ )c,4 r r r8 c|
+ [\!f8\sf(\>as f as][f g d)\!g]|
+ r [c\p(g)c] r [bes(g)bes]|
+}
+
-contrabasso = \notes\relative c'' {
- c1\pp
+violoncello = \notes\relative c {
+ c4\< c c c
+ \!c1\pp c c c
+ \property Voice.crescendoText = #"cresc."
+ \property Voice.crescendoSpanner = #'dashed-line
+ [g8\p\<(bes' g bes][d bes g)d~]|
+ [d8(a' fis a][d a fis)d]|
+ [\!f!8\sf\>(as f as][f g d)g]|
+ %75
+ \!c,4\p r d r|
}
-flautiStaff = \notes \context Staff = flauti <
- \context Voice=oneBassi \End
- \context Voice=twoBassi \End
- \context Voice=Flauti \partcombine Voice
- \context Thread=oneFlauti \violoncello
- \context Thread=twoFlauti \contrabasso
+contrabasso = \notes\relative c {
+ d8\< d d d d d d d
+ \!c1\ff c c c
+ \property Voice.crescendoText = #"cresc."
+ \property Voice.crescendoSpanner = #'dashed-line
+ g4\p\< r r r8 g(|
+ )c4 r r r8 c(|
+ \!)b1\sf|
+ c4\p r d r|
+}
+
+violeStaff = \notes \context Staff = viole <
+ \context Voice=oneViole <
+ \property Staff.instrument = #"Viola"
+ \property Staff.instr = #"Vla."
+
+ \End
+ >
+ \context Voice=twoViole <
+ \property Staff.instrument = #"Viola II"
+ \property Staff.instr = #"Vla. II"
+ \End
+ >
+ \context Voice=oneViole \partcombine Voice
+ \context Thread=oneViole \violaI
+ \context Thread=twoViole \violaII
>
-staffCombineProperties = {
- \property Voice.devNullThread = #'unisolo
- \property Voice.soloADue = ##t
- \property Voice.soloText = #""
- \property Voice.soloIIText = #""
+staffCombinePianoStaffProperties = {
+ \property PianoStaff.devNullThread = #'()
+ \property PianoStaff.soloADue = ##t
+ \property PianoStaff.soloText = #""
+ \property PianoStaff.soloIIText = #""
% This is non-conventional, but currently it is
% the only way to tell the difference.
- \property Voice.aDueText = #"\\`a2"
- \property Voice.splitInterval = #'(1 . 0)
- \property Voice.changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1))
+ \property PianoStaff.aDueText = #"\\`a2"
+ \property PianoStaff.splitInterval = #'(1 . 0)
+ \property PianoStaff.changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1))
}
+
\score {
<
- \flautiStaff
- >
+ \context StaffGroup <
+ \violeStaff
+ \context PianoStaff = bassi_group \notes <
+ \staffCombinePianoStaffProperties
+ \context Staff=oneBassi < \clef bass;
+ \property Staff.instrument = #'(lines
+ "Violoncello" " e" "Contrabasso")
+ \property Staff.instr = #"Vc."
+ \End >
+ \context Staff=twoBassi < \clef bass;
+ \property Staff.instrument = #"Contrabasso"
+ \property Staff.instr = #"Cb."
+
+ \End >
+
+ \context Staff=oneBassi \partcombine Staff
+ \context Voice=oneBassi { \violoncello }
+ \context Voice=twoBassi { \contrabasso }
+ >
+>
+ >
\paper {
% \paperSixteen
linewidth = 80 * \staffspace;
\VoiceContext
\remove "Rest_engraver";
- devNullThread = #'never
+ % The staff combine (bassi part) needs a
+ % thread_devnull_engraver here.
+ % Instead of maintaining two separate hierarchies,
+ % we switch add it, but switch it off immideately.
+ % The staff combine parts switch it on.
+ % devNullThread = #'never
\consists "Thread_devnull_engraver";
-
- soloText = #"I."
- soloIIText = #"II."
- soloADue = ##f
}
\translator{
\HaraKiriStaffContext
\consists "Mark_engraver";
}
+ \translator {
+ \OrchestralScoreContext
+ skipBars = ##t
+ devNullThread = #'never
+ soloText = #"I."
+ soloIIText = #"II."
+
+ % Hmm
+ currentBarNumber = #218
+ BarNumber \override #'padding = #3
+ RestCollision \override #'maximum-rest-count = #1
+ marginScriptHorizontalAlignment = #1
+ TimeSignature \override #'style = #'C
+ }
}
}
if (verbatim_scheme_b_)
{
*stream_p_ << ""
- ";;; Usage: guile -s x.scm > x.lytex\n"
+ ";;; Usage: guile -s x.scm > x.tex\n"
"(primitive-load-path 'standalone.scm)\n"
";(scm-tex-output)\n"
"(scm-ps-output)\n"
ifneq ($(the-script-dir),)
-$(message running from source tree stepmake)
+### some versions apparently choke on $(message)
+### $(message running from source tree stepmake)
ABC2LY = $(script-dir)/abc2ly.py
CONVERT_LY = $(script-dir)/convert-ly.py
PS_TO_PNGS = $(buildscript-dir)/ps-to-pngs.sh
else
-
-$(message running from installed stepmake)
+### some versions apparently choke on $(message)
+### $(message running from installed stepmake)
ABC2LY = $(shell $(SHELL) -c 'type -p abc2ly')
LY2DVI = $(shell $(SHELL) -c 'type -p ly2dvi')
make-root?=$(wildcard /usr/share/lilypond/make)
#make-root=<LilyPond's datadir>/make
ifneq ($(make-root),)
-$(message running from $(make-root))
+### some versions apparently choke on $(message)
+### $(message running from $(make-root))
depth=$(make-root)/..
LOCALSTEPMAKE_TEMPLATES=ly mutopia
include $(make-root)/stepmake.make
name=book
tarball=$(name)
parts=$(patsubst %.ly,%,$(wildcard *-part.ly))
+
+#
+# scores for target local-WWW (duh)
+#
+examples=
+
+#
+# scores for target mutopia
+#
mutopia-examples=$(name) $(parts)
#
#
# Also clean hand-compiled stuff in cwd
#
-localclean: local-auto-gen-clean
+localclean: local-auto-gen-clean local-letter-clean
+
+# Compose string from two parts: must not remove myself.
+auto-gen-tag=Generated
+auto-gen-tag+= automatically by
local-auto-gen-clean:
- rm -f `grep -l 'Generated automacially by' *`
+ rm -f `grep -l '$(auto-gen-tag)' *`
rm -f *.dvi *.png
+
+local-letter-clean:
+ rm -f $(outdir)-letter/*
.PHONY: mutopia png ps scores tar
.PRECIOUS: $(outdir)/%.ps $(outdir)/%-book.ps
+.PRECIOUS: $(outdir)-letter/%.dvi $(outdir)-letter/%.ps
all: $(OUT_FILES)
%195
)g,4 r r r8 g(|
- \!)d2\ff e'|
- dis b|
+%% \!)d2\ff e'|
+%% dis b|
+ \!)d2\ff e|
+ dis b'|
es4\p r r r8 es(|
)a,4 r r r8 a(|
)g1|
\property Voice.crescendoSpanner = #'dashed-line
[a8\<( f' d f][a f d )a!~]|
[a( e' cis e][a e c )g]|
- \!f2\ff e|
- dis b'~|
+%% \!f2\ff e|
+%% dis b'~|
+ \!f2\ff e'|
+ dis b~|
[b8\p( g' e g][b g e )b!~]|
%200
# nl.po -- GNU LilyPond's dutch language file
-# Copyright (C) 1998, 1999, 2000 Jan Nieuwenhuizen <janneke@gnu.org>, Han-Wen Nienhuys <hanwen@cs.uu.nl>.
+# Copyright (C) 1998, 1999, 2000, 2001 Jan Nieuwenhuizen <janneke@gnu.org>, Han-Wen Nienhuys <hanwen@cs.uu.nl>.
# Jan Nieuwenhuizen <janneke@gnu.org>, 1998.
# Han-Wen Nienhuys <hanwen@cs.uu.nl>, 1998.
#
this.__set('include', tmp, 'environment')
- t= os.pathsep
+ t = os.pathsep
if os.environ.has_key ('TEXINPUTS'):
t = os.environ['TEXINPUTS'] + os.pathsep
- os.environ['TEXINPUTS'] = t + \
- os.path.join(this.get('root'), 'tex' ) + \
- os.pathsep + os.path.join(this.get('root'), 'ps' )
-
- t=''
+
+ ly2dvi_t = t + \
+ os.path.join(this.get('root'), 'tex' ) + \
+ os.pathsep + os.path.join(this.get('root'), 'ps' )
+ # Don't add the magic `//' to TEXINPUTS
+ ly2dvi_t = re.sub ('//*', '/', ly2dvi_t)
+ os.environ['TEXINPUTS'] = ly2dvi_t
+
+ m = ''
if os.environ.has_key ('MFINPUTS'):
- t = os.environ['MFINPUTS']
- os.environ['MFINPUTS'] = t + os.pathsep + \
- os.path.join(this.get('root'), 'mf')
+ m = os.environ['MFINPUTS']
+ ly2dvi_m = m + os.pathsep + \
+ os.path.join(this.get('root'), 'mf')
+ ly2dvi_m = re.sub ('//*', '/', ly2dvi_m)
+ # Don't add the magic `//' to MFINPUTS
+ os.environ['MFINPUTS'] = ly2dvi_m
if os.environ.has_key('TMP'):
this.__set('tmp',os.environ['TMP'],'environment')
else:
path =''
cmd =('kpsewhich tex %s %s' % (var,errorlog))
+ sys.stderr.write ('executing: %s'% cmd)
pipe = os.popen (cmd, 'r')
path = pipe.readline ()[:-1] # chop off \n
return_status = pipe.close()
+ sys.stderr.write ('\n')
if return_status and not path:
path = os.path.join(this.get('root'), 'tex', var)
fd = open(path, 'r')
PATHSEP=':'
INSTALL="\$(SHELL) \$(stepdir)/../bin/install-dot-exe.sh -c"
else
- ROOTSEP='/'
+ ROOTSEP=':'
DIRSEP='/'
PATHSEP=':'
LN=ln
cd $(outdir) && dvips -ta4 -o $(@F) $(<F)
$(outdir)-$(PAPERSIZE)/%.ps: $(outdir)-$(PAPERSIZE)/%.dvi
- cd $(outdir) && dvips -t$(PAPERSIZE) -o $(@F) $(<F)
+ cd $(outdir)-$(PAPERSIZE) && dvips -t$(PAPERSIZE) -o $(@F) $(<F)