+LilyPond produces beautiful sheet music using a high level description
+file as input. LilyPond is part of the GNU project.
-LilyPond is the GNU Project music typesetter. It transforms a musical
-description file into beautiful sheet music.
Since the GNU Music project currently only has LilyPond, this list is
mainly for announcing new versions of LilyPond.
-
-dit(bug-gnu-music@gnu.org)
+
+lurl(http://www.mail-archive.com/info-gnu-music@gnu.org)
dit(help-gnu-music@gnu.org)
For help with programs from the GNU music project. To subscribe: send
email(help-gnu-music-request@gnu.org)
Since the GNU Music project currently only has LilyPond, this list is mainly about using and extending LilyPond.
-
+
+ lurl(http://www.mail-archive.com/help-gnu-music@gnu.org)
+
+
dit(bug-gnu-music@gnu.org)
If you have bugreports, you should send them to this list. If you want
to read all bugreports, you should subscribe to this list. To
subscribe: send mail with subject "subscribe" to
email(bug-gnu-music-request@gnu.org)
+ lurl(http://www.mail-archive.com/bug-gnu-music@gnu.org)
dit(gnu-music-discuss@gnu.org,)
For discussions concerning the GNU Music project, to subscribe: send
mail with subject "subscribe" to
TO_TOP_FILES=$(addprefix $(outdir)/, $(README_TOP_FILES))
PLAIN_FILES=angels.ly guile.patch
-EXTRA_DIST_FILES += $(PLAIN_FILES)
+EXTRA_DIST_FILES = $(PLAIN_FILES)
include $(depth)/make/stepmake.make
-default: do-doc
+default: do-doc dist-plain
$(outdir)/%.html: %.yo
$(sed-version) < $< > $<.out
Available at
lurl(ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry)
or at mirror site lurl(ftp://ftp.dante.de)
+
+it()MetaPost, if you want to use direct PostScript output. Please
+note that tetex-0.4pl8 (included with Redhat 5.x) does not include
+file(mfplain.mp), which is needed for producing the scaleable font files.
)
it()url(Mailing Lists)(DOEXPAND(docdir)/DOEXPAND(outdir)/mail.html)
it()url(All of the LilyPond documentation)(DOEXPAND(docdir)/DOEXPAND(outdir)/index.html)
it()url(The DOC++ documentation of the C++ sources.)(DOEXPAND(depth)/docxx/index.html)
-it()url(The installation instructions)(INSTALL.html)
+it()url(The installation instructions)(Documentation/topdocs/DOEXPAND(outdir)/INSTALL.html)
)
nsect(Sites)
archive/macros/latex/contrib/supported/geometry or at
mirror site ftp://ftp.dante.de
+o MetaPost, if you want to use direct PostScript output.
+ Please note that tetex-0.4pl8 (included with Redhat
+ 5.x) does not include mfplain.mp, which is needed for
+ producing the scaleable font files.
+
4: RUNNING
-GNU LilyPond does use a lot of resources. For operation you
+GNU LilyPond does use a lot of resources. For operation you
need the following software
o TeX
o A PostScript printer and/or viewer (such as
- Ghostscript) is strongly recommended. Xdvi will show
- all embedded PostScript too if you have Ghostscript
+ Ghostscript) is strongly recommended. Xdvi will show
+ all embedded PostScript too if you have Ghostscript
installed.
-o GUILE 1.3, check out http://www.gnu.org/pro-
+o GUILE 1.3, check out http://www.gnu.org/pro-
grams/guile.html
-For running LilyPond successfully you have to help TeX and
-MetaFont find various files. The recommended way of doing
-so is adjusting the environment variables in the start-up
-scripts of your shell. An example is given here for the
+For running LilyPond successfully you have to help TeX and
+MetaFont find various files. The recommended way of doing
+so is adjusting the environment variables in the start-up
+scripts of your shell. An example is given here for the
Bourne shell:
export MFINPUTS="/usr/local/share/lilypond/mf:"
export TEXINPUTS="/usr/local/share/lilypond/tex:/usr/local/share/lilypond/ps:"
-The empty path component represents and MetaFont's default
-
-search paths. Scripts with the proper paths for the bourne
+The empty path component represents and MetaFont's default
+search paths. Scripts with the proper paths for the bourne
and C-shell respectively are generated in build-
-scripts/out/lilypond-profile and buildscripts/out/lilypond-
+scripts/out/lilypond-profile and buildscripts/out/lilypond-
login during compilation.
LilyPond is a hideously slow program. A fast CPU and plenty
5: WEBSITE
-If you want to auto-generate Lily's website, you'll need
+If you want to auto-generate Lily's website, you'll need
some additional conversion tools.
o xpmtoppm (from the Portable Bitmap Utilities) (For Red-
- Hat Linux users: it is included within the package
- libgr-progs). the original is at ftp://ftp.x.org/con-
+ Hat Linux users: it is included within the package
+ libgr-progs). the original is at ftp://ftp.x.org/con-
trib/utilities/netpbm-1mar1994.p1.tar.gz
-o pnmtopng, which is also in libgr-progs for RedHat. The
- original is at
+o pnmtopng, which is also in libgr-progs for RedHat. The
+ original is at
ftp://swrinde.nde.swri.edu/pub/png/applications/pnm-
topng-2.37.2.tar.gz.i
The version of pnmtopng that is distributed with RedHat
- 5.1 and 5.2 contains a bug: pnmtopng is dynamically
- linked to the wrong version of libpng. Recompile it
- from source, and make sure that the pnmtopng binary is
- linked statically to the libpng that is included in
+ 5.1 and 5.2 contains a bug: pnmtopng is dynamically
+ linked to the wrong version of libpng. Recompile it
+ from source, and make sure that the pnmtopng binary is
+ linked statically to the libpng that is included in
libgr. RedHat 6.0 does not have this problem.
tar xzf libgr-2.0.13.tar.gz
rm libpng.so*
make pnmtopng
- You can then install the new pnmtopng into
+ You can then install the new pnmtopng into
/usr/local/bin/
o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
- Which, in turn depends on man2html for proper
-
- installation. man2html can be had from http://askdon-
+ Which, in turn depends on man2html for proper installa-
+ tion. man2html can be had from http://askdon-
ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
ing/WWW/Man2html-1.05.
- The website will build without this utility, but you
+ The website will build without this utility, but you
will not see our hypertextified bibliography.
TeTeX users should not forget to rerun texhash.
-You also have to install buildscripts/out/ps-to-gifs in a
+You also have to install buildscripts/out/ps-to-gifs in a
directory that is in the path.
6: CONFIGURING and COMPILING
/usr/local/share/lilypond/*
/usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
-The above assumes that you are root and have the GNU devel-
+The above assumes that you are root and have the GNU devel-
opment tools, and your make is GNU make. If this is not the
-case, you can adjust your environment variables to your
-
+case, you can adjust your environment variables to your
taste:
export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
CPPFLAGS are the preprocessor flags.
The configure script is Cygnus configure, and it will accept
---help. If you are not root, you will probably have to make
+--help. If you are not root, you will probably have to make
it with a different --prefix option. Our favourite location
is
./configure --prefix=$HOME/usr
-In this case, you will have to set up MFINPUTS, and TEXIN-
+In this case, you will have to set up MFINPUTS, and TEXIN-
PUTS accordingly.
-Since GNU LilyPond currently is beta, you are advised to
+Since GNU LilyPond currently is beta, you are advised to
also use
--enable-debugging
Enable debugging print routines (lilypond -D option)
--enable-optimise
- Set maximum optimisation: compile with -O2. This can
- be unreliable on some compiler/platform combinations
+ Set maximum optimisation: compile with -O2. This can
+ be unreliable on some compiler/platform combinations
(eg, DEC Alpha and PPC)
--enable-profiling
Compile with support for profiling.
--enable-config
- Output to a different configuration file. Needed for
+ Output to a different configuration file. Needed for
multi-platform builds
-All options are documented in the configure help The option
+All options are documented in the configure help The option
--enable-optimise is recommended for Real Life usage.
If you do
make all
-everything will be compiled, but nothing will be installed.
-The resulting binaries can be found in the subdirectories
+everything will be compiled, but nothing will be installed.
+The resulting binaries can be found in the subdirectories
out/ (which contain all files generated during compilation).
7: CONFIGURING FOR MULTIPLE PLATFORMS
If you want to compile LilyPond with different configuration
-settings, then, you can use the --enable-config option.
-Example: suppose I want to build with and without profil-
+settings, then, you can use the --enable-config option.
+Example: suppose I want to build with and without profil-
ing. Then I'd use the following for the normal build,
./configure --prefix=~ --disable-optimise --enable-checking
should do the trick.
If you are doing an upgrade, please remember to remove obso-
-lete .pk and .tfm files of the fonts. A script has been
+lete .pk and .tfm files of the fonts. A script has been
provided to do the work for you, see bin/clean-fonts.sh.
CAVEATS
-o The -O2 option triggers bugs on various platforms
- (PowerPC, Alpha). If you experience problems, you
+o The -O2 option triggers bugs on various platforms
+ (PowerPC, Alpha). If you experience problems, you
+
should first try turning off this.
o On PPC you need at least EGCS-1.1.2f.
9: REDHAT LINUX
-RedHat Linux users can compile an RPM. A spec file is in
-make/out/lilypond.spec, it is distributed along with the
+RedHat Linux users can compile an RPM. A spec file is in
+make/out/lilypond.spec, it is distributed along with the
sources.
You can make the rpm by issuing
rpm -tb lilypond-x.y.z.tar.gz
rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
-Precompiled i386 RedHat RPMS are available from
+Precompiled i386 RedHat RPMS are available from
http://linux.umbc.edu/software/lilypond/rpms/.
10: DEBIAN GNU/LINUX
-A Debian package is also available; contact Anthony Fok
-foka@debian.org. The build scripts are in the subdirectory
+A Debian package is also available; contact Anthony Fok
+foka@debian.org. The build scripts are in the subdirectory
debian/.
11: WINDOWS NT/95
+pl 62.hwn1
+ - ps-to-pfa.py: use std modules re, find
+ - minor input fixes
+ - use mfplain.mp
+ - Metapost does unfill with setgray. This confuses
+GS. Do text substitution with eofill.
+
+pl 62.jcn3
+ - bfs: preludes
+ - found more wierd spacing
+
+pl 62.jcn2
+ - bf: don't start auto-beam on stem that contains only a rest
+ - bf: rm .ms yodl output
+ - bumped stepmake version
+
+pl 62.uu1
+ - don't space rhythmic requests coming from Lyrics.
+
+pl 62.jcn1
+ - bf: auto-beamer: consider starting beam based on new rhythmic head
+ - bfs: preludes-4, cello-suites
+ - \addlyricsified standchen and twinkle (ugh: \repeat and \addlyrics)
+ - bf: interstaff slur slope damping
+ - bf: in-band signaling slur snap
+
+pl 61.jbr1
+ - Documentation/ntweb/GNUmakefile: Made EXTRA_DIST_FILE style fix and
+ added dist-plain target as dependency to the default target.
+ - scripts/ly2dvi.py: getpid does not behave very well across platforms
+ so I am creating temp file names with the Python tempfile module.
+ The generate lilypond dependency file option was broken and
+ is now operational. I also changed the dependency switch
+ from -d or -M to match lilypond.
+ - stepmake/bin/package-zip32.sh: Added build of ntweb html
+ documentation
+
+***********
pl 61.hwn2
- revise / junk various input files.
- junk Music_list_iterator
. * align left edge of broken (de)cresc/slur/tie/tuplet/volta
. * auto-staff-switching.
. * broken examples:
-mutopia/J.S.Bach/Petites-Preludes/preludes-paper.ly
-mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly
-mutopia/J.S.Bach/Solo-Cello-Suites/*
+input/star-spangled-banner.ly: hw?
+mutopia/J.S.Bach/Petites-Preludes/preludes-paper.ly? hw?
+mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly: hw: slurs + autobeamer ?
mutopia/Coriolan/*
. * spacing of accidentals
. * PostScript
. * half notes in pfa
. * We need feta-din*.mf files for more sizes than 10.
-. * fix dynamics decently, ie. use kerning & ligatures.
+. * fix dynamics decently, ie. use kerning & ligatures.
.* Cleanups needed
. * \$ and $ identifier syntax in examples.
(require 'allout)
(outline-init 't)
+
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=1
-PATCH_LEVEL=62
+PATCH_LEVEL=63
MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
dnl WARNING WARNING WARNING WARNING
dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
-dnl WARNING WARNING WARNING WARNING
-dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
-dnl WARNING WARNING WARNING WARNING
-dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
-dnl WARNING WARNING WARNING WARNING
-dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
dnl aclocal.m4 -*-shell-script-*-
dnl StepMake subroutines for configure.in
#TODO. This could be more efficient.
name = 'ps-to-pfa'
-version = '0.3'
+version = '0.4'
datadir = ''
+import find
import os
import sys
f.write ('%!PS-AdobeFont-3.0: ' + font_name + '\n')
f.write ('%%%%Creator: %s-%s\n' % (name, version))
f.write ('\n')
- f.write ('/setgray { 1 add } bind def\n'
- '\n'
-'8 dict begin\n'
-'/FontType 3 def %% Required elements of font\n'
-'/FontName /%s def\n'
-'/FontMatrix [.001 0 0 .001 0 0] def\n'
-'%%/FontMatrix [.01 0 0 .01 0 0] def\n'
-'%%/FontMatrix [0.1 0 0 0.1 0 0] def\n'
-'%%/FontBBox [-1000 -1000 1000 1000] def\n'
-'/FontBBox [-3000 -3000 3000 3000] def\n'
-'%%/FontBBox [-300 -300 300 300] def\n'
-'%%/FontBBox [-30 -30 30 30] def\n'
-'\n'
-'/Encoding 256 array def %% Trivial encoding vector\n'
-'0 1 255 {Encoding exch /.notdef put} for\n' % (font_name))
-
+ f.write (r"""
+8 dict begin
+/FontType 3 def %% Required elements of font
+/FontName /%s def""" % font_name)
+ f.write (r"""
+/FontMatrix [.083 0 0 .083 0 0] def %% why .83?
+/FontBBox [-1000 -1000 1000 1000] def %% does not seem to matter.
+/Encoding 256 array def %% Trivial encoding vector
+0 1 255 {Encoding exch /.notdef put} for
+""")
def footer (f):
- f.write ('\n'
-'/BuildGlyph { % Stack contains: font charname\n'
-'% 1000 0 % Width\n'
-'% -1000 -1000 1000 1000 % Bounding Box\n'
-'% -750 -750 750 750 % Bounding Box\n'
-'% -750 -750 750 750 % Bounding Box\n'
-' 3000 0 % Width\n'
-' -3000 -3000 3000 3000 % Bounding Box\n'
-'% 300 0 % Width\n'
-'% -300 -300 300 300 % Bounding Box\n'
-'% 30 0 % Width\n'
-'% -30 -30 30 30 % Bounding Box\n'
-' setcachedevice\n'
-' exch /CharProcs get exch % Get CharProcs dictionary\n'
-' 2 copy known not {pop /.notdef} if % See if charname is known\n'
-' get exec % Execute character procedure\n'
-'} bind def\n'
-'\n'
-'/BuildChar { % Level 1 compatibility\n'
-' 1 index /Encoding get exch get\n'
-' 1 index /BuildGlyph get exec\n'
-'} bind def\n'
-'\n'
-'currentdict\n'
-'end % of font dictionary\n')
- f.write ('\n')
+ f.write (r"""
+/BuildGlyph { % Stack contains: font charname
+ 1000 0 % Width
+ -1000 -1000 1000 1000 % Bounding Box
+ setcachedevice
+ exch /CharProcs get exch % Get CharProcs dictionary
+ 2 copy known not {pop /.notdef} if % See if charname is known
+ get exec % Execute character procedure
+} bind def
+
+/BuildChar { % Level 1 compatibility
+ 1 index /Encoding get exch get
+ 1 index /BuildGlyph get exec
+} bind def
+
+currentdict
+end % of font dictionary
+"""
+)
+
f.write ('/%s\n' % font_name)
f.write (''
'exch definefont pop % Define the font\n')
+
+suspect_re = re.compile ('closepath (.*?) 1 setgray newpath (.*?) closepath fill')
+
def characters (f):
- #urg
- # chars = os.listdir ()
- # chars.sort ()
sys.stderr.write ('[')
- pipe = os.popen ('/bin/ls -1 ' + font_name + '.[0-9] ' + font_name + '.[0-9][0-9] ' + font_name + '.[0-9][0-9][0-9] 2> /dev/null')
- chars = []
- i = pipe.readline ()
- while i:
- chars.append (i[0:len (i)-1])
- i = pipe.readline ()
- f.write ('\n'
-'/CharProcs 3 dict def % Subsidiary dictiorary for\n'
-'CharProcs begin % individual character definitions\n')
+
+ files = []
+ import find # q
+ suffixes = [".[0-9]", ".[0-9][0-9]", ".[0-9][0-9][0-9]"]
+ for suf in suffixes:
+ files = files + find.find (font_name + suf)
+
+
+ # concat all files into charprocs.
charprocs = ' /.notdef {} def\n'
encoding = ''
- for i in chars:
+ for i in files:
s = gulp_file (i)
- s = regsub.gsub ('^%.*\n', '', s)
- s = regsub.gsub ('^showpage\n', '', s)
- s = regsub.gsub ('^', ' ', s)
- n = atoi (regsub.gsub ('.*\.', '', i))
+ s = re.sub ('%[^\n]*\n', '', s)
+
+ # if you want readable stuff, look at MP output.
+ s = re.sub ('[\n\t ]+', ' ', s)
+ s = re.sub ('showpage', '', s)
+
+ # MP's implementation of unfill confuses GS.
+ # Look for "Metapost & setgray" on deja.com
+ # we do some twiddling to use eofill i.s.o. fill
+ if re.search ('setgray',s ):
+ m = suspect_re.search (s)
+ while m:
+ fill = m.group (1)
+ path = m.group (2)
+
+ # be complicated, in case of gsave/grestore.
+ # vill as quick hack to avoid duple substitutions.
+ fill = re.sub ('fill', 'eovill', fill, count = 1)
+ s = re.sub (m.group (0), ' %s %s ' % (path, fill), s)
+ m = suspect_re.search (s)
+
+ s = re.sub ('eovill' , 'eofill', s)
+ s = re.sub ('0 setgray' ,'', s)
+
+
+ m = re.match ('.*\.([0-9]+)',i)
+ n = atoi (m.group (1))
+
s = '\n /%s-%d{\n%s} bind def\n' % (font_name, n, s)
encoding = encoding + 'Encoding %d /%s-%d put\n' % (n, font_name, n)
charprocs = charprocs + s
+
+ f.write ('\n'
+'/CharProcs 3 dict def % Subsidiary dictiorary for\n'
+'CharProcs begin % individual character definitions\n')
f.write (charprocs)
f.write ('\n')
f.write ('end % of CharProcs\n')
footer (ps_file)
sys.stderr.write ('\n')
ps_file.close ()
-sys.stderr.write ('Wrote PostScript font: %s\n'% output_name)
+sys.stderr.write ('Wrote PostScript font: %s\n' % output_name)
Recommends: python-base (>= 1.5.1), python-misc (>= 1.5.1), tetex-base (>= 0.9.981030-1), tetex-extra (>= 0.9.981030-1)
Conflicts: musixtex-fonts, tetex-base (<< 0.9)
Description: The GNU Project music typesetter.
+ LilyPond produces beautiful sheet music using a high level description
+ file as input. LilyPond is part of the GNU project.
- LilyPond is the GNU Project music typesetter. It transforms a musical
- description file into beautiful sheet music.
.
URLs: http://www.cs.uu.nl/~hanwen/lilypond/
Recommends: python-base (>= 1.5.1), python-misc (>= 1.5.1), tetex-base (>= 0.9.981030-1), tetex-extra (>= 0.9.981030-1)
Conflicts: musixtex-fonts, tetex-base (<< 0.9)
Description: The GNU Project music typesetter.
+ LilyPond produces beautiful sheet music using a high level description
+ file as input. LilyPond is part of the GNU project.
- LilyPond is the GNU Project music typesetter. It transforms a musical
- description file into beautiful sheet music.
.
URLs: http://www.cs.uu.nl/~hanwen/lilypond/
--- /dev/null
+% jij had zoon mooi tight spacing example,
+% kan zo'n harde space ook niet voor en na maatstreep!
+\score {
+ \notes \relative c'' {
+ \time 2/4;
+ \property Voice.beamAuto=0
+ a4 a8
+ a32 a a a
+}
+%set bit wide
+\paper {linewidth = 100.\mm;}
+}
--- /dev/null
+% slur minimum length too long, or what happened?
+\score {
+ \notes \relative c'' {
+ c8()c c()c
+ c()c c()c
+}
+%set very tight
+\paper {linewidth = 40.\mm;}
+}
another =
- \relative c'' \notes{ \time 6/4;
+ \notes \relative c'' { \time 6/4;
c1. c1. \time 4/4;c4 c4 c4 c4 c1 c1 c1
}
and8 the8 home4. of8 the4 brave.2
}
-text = \lyrics {
+textxx = \lyrics {
+ Oh __ " " \repeat fold 2 { }
+ \alternative {
+ {
+ say. can you | see, by the16 dawn's ear- ly light What
+ so proud- ly we hailed, At the16 twi- light's last gleam-
+ ing. Whose broad16
+ }
+
+ {
+ stripes and bright stars, through the16 per- il- ous fight,
+ O'er the ram- parts we watched, were so16 gal- lant- ly
+ }
+ }
+ stream- ing. And the16 rock- ets' red glare, the bombs
+ burst- ing in air, gave proof through the night that
+ our flag was still there, Oh say, does that star- span-
+ gled ban- ner yet wave, __ O'er the land __ of the free
+ and the home of the brave.
+}
+
+textxxx = \lyrics {
Oh4 __
%\alternative {
{
and8 the8 home4. of8 the4 brave.2
}
+text = \lyrics {
+ Oh __ " "
+ %\alternative {
+ {
+ say. can you | see, " " by the16 dawn's ear- ly light What
+ so proud- ly we hailed, At the16 twi- light's last gleam-
+ ing. Whose broad16
+ }
+
+ %{
+ stripes and bright stars, through the16 per- il- ous fight,
+ O'er the ram- parts we watched, were so16 gal- lant- ly
+ }
+ %}
+ stream- ing. And the16 rock- ets' red glare, the bombs
+ burst- ing in air, gave proof through the night that
+ our flag was still there, Oh say, does that " " star- span-
+ gled ban- ner " " yet " " wave, __ " " O'er the land __ " " of the free
+ and the home of the brave.
+}
+
global = \notes {
\time 3/4;
\key D;
\score{
\context GrandStaff <
+ \addlyrics
\context Staff=staffA <
\global
\notes \transpose c'' {\voiceone \$staff1_voice_1 }
}
>
\paper{
- % no slur damping
- slur_slope_damping = 10.0;
\translator{
\PianoStaffContext
minVerticalAlign = 3.0*\staffheight;
%}
%{
-Tested Features: lyrics, interleaving lyrics and staffs, repeats
+Tested Features: lyrics, interleaving lyrics and staffs, repeats,
+ auto beaming, adding lyrics to notes, hyphens
%}
\version "1.1.52";
}
tekst = \lyrics{
- Al-4 tijd is Kort- jak- je ziek,2
- midden4 "in de" week maar "'s zon-" dags niet.2
- "'s Zon-"4 dags gaat ze naar de kerk,2
- met4 een boek vol zil- ver werk.2
- Al-4 tijd is Kort- jak- je ziek,2
- mid-8 den in de week4 maar "'s zon-" dags niet.2
+ Al -- tijd is Kort -- jak -- je ziek, " "
+ midden "in de" week maar "'s zon" -- dags " " niet.
+ "'s Zon" -- dags gaat ze naar de kerk, " "
+ met een boek vol zil -- ver " " werk. " "
+ Al -- tijd is Kort -- jak -- je ziek, " "
+ midden "in de" week maar "'s zon" -- dags " " niet.
}
%}
hegedraagjetekst = \lyrics{
- Al-4 tijd zuigt Bill Gates mijn piek,2
- "\TeX"4 is slecht- ser dan mu- ziek.2
- "'s Zon-"4 dags gaat het door een raam,2
- Weet4 dat ik me er- voor schaam.2
- Al-4 tijd zuigt Bill Gates mijn piek,2
- "\TeX"4 is slecht- ser dan mu- ziek.2
+ Al -- tijd zuigt Bill Gates mijn piek, " "
+ "\TeX" is slecht -- ser dan mu -- " " ziek.
+ "'s Zon" -- dags gaat het door een raam, " "
+ Weet dat ik me er -- voor " " schaam.
+ Al -- tijd zuigt Bill Gates mijn piek, " "
+ "\TeX" is slecht -- ser dan mu -- " " ziek.
}
texte = \lyrics{
\property Lyrics . textStyle" = "italic"
% \property Lyrics . textStyle" = "roman"
- Ah!4 vous dir- ai- je ma- man2
- Ce4 qui cau- se mon tour- ment2
- Pa-4 pa veut que je rai- son- ne
- Comm' u- ne gran- de per- son- ne
- Moi je dis que les bon- bons2
- Va-4 lent mieux que la rai- son2
+ Ah! vous dir -- ai -- je ma -- man " "
+ Ce qui cau -- se mon tour -- " " ment
+ Pa -- pa veut que je rai -- son -- ne
+ Comm' u -- ne gran -- de per -- " " son -- ne
+ Moi je dis que les bon -- bons " "
+ Va -- lent mieux que la rai -- " " son
}
texti = \lyrics{
\property "Lyrics"."textStyle" = "roman"
- Twin-4 kle, twin- kle, lit- tle star,2
- How4 I won- der what you are.2
- Up4 a- bove the world so high,2
- Like4 a dia- mond in the sky.2
- Twin-4 kle, twin- kle, lit- tle star,2
- How4 I won- der what you are!2
+ Twin -- kle, twin -- kle, lit -- tle star, " "
+ How I won -- der what you " " are.
+ Up a -- bove the world so high, " "
+ Like a dia -- mond in the " " sky. " "
+ Twin -- kle, twin -- kle, lit -- tle star, " "
+ How I won -- der what you " " are!
}
textii = \lyrics{
- When4 the bla- zing sun is gone,2
- When4 he no- thing shines up- on,2
- Then4 you show your lit- tle light,2
- Twin-4 kle, twin- kle, all the night.2
- Twin-4 kle, twin- kle, lit- tle star,2
- How4 I won- der what you are!2
-
+ When the bla -- zing sun is gone, " "
+ When he no -- thing shines up -- " " on,
+ Then you show your lit -- tle light, " "
+ Twin -- kle, twin -- kle, all the " " night. " "
+ Twin -- kle, twin -- kle, lit -- tle star, " "
+ How I won -- der what you " " are!
}
textiii = \lyrics{
- Then4 the tra- veler in the dark2
- Thanks4 you for your ti- ny spark;2
- He4 could not see which way8 to8 go,2
- If4 you did not twin- kle so.2
- Twin-4 kle, twin- kle, lit- tle star,2
- How4 I won- der what you are!2
+ Then the tra -- veler in the dark " "
+ Thanks you for your ti -- ny " " spark;
+ He could not see which way to go,
+ If you did not twin -- kle " " so. " "
+ Twin -- kle, twin -- kle, lit -- tle star, " "
+ How I won -- der what you " " are!
}
\score{
- <
- \context Staff=i \repeat semi 2 < \global\melody >
- \context Lyrics=top \context LyricVoice \repeat fold 2 {} \alternative { \tekst \texte }
+ \notes <
+ \context Staff=i s1
+ \context Lyrics=top s1
\context GrandStaff <
\context Staff=ii \repeat semi 2 < \global\melody >
\context Staff=iii \repeat semi 2 < \global\accompany >
>
- \context Lyrics =bottom \context LyricVoice \repeat fold 3 {}
- \alternative { \texti \textii \textiii }
+ \context Lyrics=bottom s1
+ % ugh, \repeat in \addlyrics dumps core
+ \addlyrics
+ % \context Staff = i \repeat semi 2 <\global\melody>
+ \context Staff = i <\global\melody>
+ <
+ %\repeat fold 2 {}
+ %\alternative {
+ \context Lyrics = top \tekst
+ \context Lyrics = top \texte
+ %}
+ %\repeat fold 3 {}
+ %\alternative {
+ \context Lyrics = bottom \texti
+ \context Lyrics = bottom \textii
+ \context Lyrics = bottom \textiii
+ %}
+ >
>
\paper{
gourlay_maxmeasures = 14.0;
{
end_beam ();
}
- else if (Stem* stem_l = dynamic_cast<Stem *> (info.elem_l_))
+ }
+
+ if (Stem* stem_l = dynamic_cast<Stem *> (info.elem_l_))
+ {
+ Rhythmic_req *rhythmic_req = dynamic_cast <Rhythmic_req *> (info.req_l_);
+ if (!rhythmic_req)
{
- Rhythmic_req *rhythmic_req = dynamic_cast <Rhythmic_req *> (info.req_l_);
- if (!rhythmic_req)
- {
- programming_error ("Stem must have rhythmic structure");
- return;
- }
-
- if (stem_l->beam_l_)
- {
- junk_beam ();
- return ;
- }
-
- /*
- now that we have last_add_mom_, perhaps we can (should) do away
- with these individual junk_beams
- */
+ programming_error ("Stem must have rhythmic structure");
+ return;
+ }
+
+#if 0
+ /*
+ Don't (start) auto-beam over empty stems.
+ ugly check for rests!
+ --> doesn't even work: stem-dir is not set
+
+ ../flower/include/drul-array.hh:26: Real & Drul_array<double>::elem<Real>(enum Direction): Assertion `d==1 || d== -1' failed.
+/home/fred/root/usr/scripts/src/out/Linux/li: line 8: 14641 Aborted (core dumped) lilypond $opts
+
+ */
+ if (stem_l->extent (Y_AXIS).empty_b ())
+ {
+ if (stem_l_arr_p_)
+ end_beam ();
+ return;
+ }
+#else
+ if (!stem_l->head_l_arr_.size ())
+ {
+ if (stem_l_arr_p_)
+ end_beam ();
+ return;
+ }
+#endif
- int durlog =rhythmic_req->duration_.durlog_i_;
- if (durlog <= 2)
+ if (stem_l->beam_l_)
+ {
+ if (stem_l_arr_p_)
+ junk_beam ();
+ return ;
+ }
+
+ /*
+ now that we have last_add_mom_, perhaps we can (should) do away
+ with these individual junk_beams
+ */
+
+ int durlog =rhythmic_req->duration_.durlog_i_;
+ if (durlog <= 2)
+ {
+ if (stem_l_arr_p_)
end_beam ();
- else
+ return;
+ }
+
+ /*
+ if shortest duration would change
+ reconsider ending/starting beam first.
+ */
+ Moment mom = rhythmic_req->duration_.length_mom ();
+ consider_end_and_begin (mom);
+ if (!stem_l_arr_p_)
+ return;
+ if (mom < shortest_mom_)
+ {
+ if (stem_l_arr_p_->size ())
{
- /*
- if shortest duration would change
- reconsider ending/starting beam first.
- */
- Moment mom = rhythmic_req->duration_.length_mom ();
- consider_end_and_begin (mom);
+ shortest_mom_ = mom;
+ consider_end_and_begin (shortest_mom_);
if (!stem_l_arr_p_)
return;
- if (mom < shortest_mom_)
- {
- if (stem_l_arr_p_->size ())
- {
- shortest_mom_ = mom;
- consider_end_and_begin (shortest_mom_);
- if (!stem_l_arr_p_)
- return;
- }
- shortest_mom_ = mom;
- }
- Moment now = now_mom ();
-
- grouping_p_->add_stem (now - beam_start_moment_ + beam_start_location_, durlog - 2);
- stem_l_arr_p_->push (stem_l);
- last_add_mom_ = now;
- extend_mom_ = extend_mom_ >? now + rhythmic_req->length_mom ();
}
+ shortest_mom_ = mom;
}
+ Moment now = now_mom ();
+
+ grouping_p_->add_stem (now - beam_start_moment_ + beam_start_location_, durlog - 2);
+ stem_l_arr_p_->push (stem_l);
+ last_add_mom_ = now;
+ extend_mom_ = extend_mom_ >? now + rhythmic_req->length_mom ();
}
}
DECLARE_LY_SYMBOL(molecule);
DECLARE_LY_SYMBOL(notewidth);
DECLARE_LY_SYMBOL(non_default);
+DECLARE_LY_SYMBOL(non_rhythmic);
DECLARE_LY_SYMBOL(octave_dir);
DECLARE_LY_SYMBOL(origin);
DECLARE_LY_SYMBOL(output);
*/
Drul_array<Real> yextent_drul_;
+public: // urg, autobeamer needs to know if there are (only) rests here?
Link_array<Note_head> head_l_arr_;
Link_array<Rest> rest_l_arr_;
{
text_p_= new Text_item;
text_p_->text_str_ = req_l_->text_str_;
-
text_p_->text_str_ += " "; // ugh.
Scalar style = get_property ("textStyle", 0);
if (style.length_i ())
text_p_->style_str_ = style;
+
+ text_p_->set_elt_property (non_rhythmic_scm_sym, SCM_BOOL_T);
announce_element (Score_element_info (text_p_, req_l_));
}
snap_max_dy_f = paper_l ()->get_var ("slur_interstaff_snap_max_slope_change");
}
- Real ratio_f;
if (!fix_broken_b)
dy_f_drul_[RIGHT] += interstaff_f;
+
Real dy_f = dy_f_drul_[RIGHT] - dy_f_drul_[LEFT];
+ if (!fix_broken_b)
+ dy_f -= interstaff_f;
Real dx_f = do_width ().length () + dx_f_drul_[RIGHT] - dx_f_drul_[LEFT];
/*
Avoid too steep slurs.
*/
- ratio_f = abs (dy_f / dx_f);
- if (ratio_f > slope_damp_f)
+ Real slope_ratio_f = abs (dy_f / dx_f);
+ if (slope_ratio_f > slope_damp_f)
{
Direction d = (Direction)(- dir_ * (sign (dy_f)));
if (!d)
d = LEFT;
- Real damp_f = (ratio_f - slope_damp_f) * dx_f;
+ Real damp_f = (slope_ratio_f - slope_damp_f) * dx_f;
/*
must never change sign of dy
*/
Real width_f = curve_xy_drul[X].length ();
dy_f = dy_f_drul_[RIGHT] - dy_f_drul_[LEFT];
+ if (!fix_broken_b)
+ dy_f -= interstaff_f;
- ratio_f = abs (height_f / width_f);
- if (ratio_f > height_damp_f)
+ Real height_ratio_f = abs (height_f / width_f);
+ if (height_ratio_f > height_damp_f)
{
Direction d = (Direction)(- dir_ * (sign (dy_f)));
if (!d)
d = LEFT;
/* take third step */
- Real damp_f = (ratio_f - height_damp_f) * width_f / 3;
+ Real damp_f = (height_ratio_f - height_damp_f) * width_f / 3;
/*
if y positions at about the same height, correct both ends
*/
snapy_f_drul[LEFT] = snapy_f_drul[RIGHT] = 0;
Drul_array<Real> snapx_f_drul;
snapx_f_drul[LEFT] = snapx_f_drul[RIGHT] = 0;
+ Drul_array<bool> snapped_b_drul;
+ snapped_b_drul[LEFT] = snapped_b_drul[RIGHT] = false;
do
{
if ((note_column_drul[d] == spanned_drul_[d])
snapy_f_drul[d] = stem_l->extent (Y_AXIS)[dir_];
snapy_f_drul[d] += info_drul[d].interstaff_f_;
snapy_f_drul[d] += dir_ * 2 * y_gap_f;
+ snapped_b_drul[d] = true;
}
}
while (flip (&d) != LEFT);
only use snapped positions if sign (dy) will not change
and dy doesn't change too much
*/
- if (snapy_f_drul[LEFT] && snapy_f_drul[RIGHT]
+ if (!fix_broken_b)
+ dy_f += interstaff_f;
+ if (snapped_b_drul[LEFT] && snapped_b_drul[RIGHT]
&& ((sign (snapy_f_drul[RIGHT] - snapy_f_drul[LEFT]) == sign (dy_f)))
- && (!dy_f || (abs (snapy_f_drul[RIGHT] - snapy_f_drul[LEFT] - dy_f)
+ && (!dy_f || (abs (snapy_f_drul[RIGHT] - snapy_f_drul[LEFT] - dy_f)
< abs (dy_f * snap_max_dy_f))))
{
do
while (flip (&d) != LEFT);
}
- else if (snapy_f_drul[LEFT]
+ else if (snapped_b_drul[LEFT]
&& ((sign (dy_f_drul_[RIGHT] - snapy_f_drul[LEFT]) == sign (dy_f)))
- && (!dy_f || (abs (dy_f_drul_[RIGHT] - snapy_f_drul[LEFT] - dy_f)
+ && (!dy_f || (abs (dy_f_drul_[RIGHT] - snapy_f_drul[LEFT] - dy_f)
< abs (dy_f * snap_max_dy_f))))
{
Direction d = LEFT;
dy_f_drul_[d] = snapy_f_drul[d];
dx_f_drul_[d] = snapx_f_drul[d];
}
- else if (snapy_f_drul[RIGHT]
+ else if (snapped_b_drul[RIGHT]
&& ((sign (snapy_f_drul[RIGHT] - dy_f_drul_[LEFT]) == sign (dy_f)))
- && (!dy_f || (abs (snapy_f_drul[RIGHT] - dy_f_drul_[LEFT] - dy_f)
+ && (!dy_f || (abs (snapy_f_drul[RIGHT] - dy_f_drul_[LEFT] - dy_f)
< abs (dy_f * snap_max_dy_f))))
{
Direction d = RIGHT;
if (i.elem_l_->get_elt_property (grace_scm_sym) != SCM_BOOL_F)
return;
+ if (i.elem_l_->get_elt_property (non_rhythmic_scm_sym) != SCM_BOOL_F)
+ return;
+
if (Rhythmic_req * r = dynamic_cast<Rhythmic_req*>(i.req_l_))
{
Rhythmic_tuple t(i, now_mom () + r->length_mom ());
time3_2beamAutoEnd_16 = "1/4";
time3_2beamAutoEnd_32 = "1/8";
-time3_4beamAutoBegin = "1/4";
+time3_4beamAutoBegin_8 = "1/4";
time3_4beamAutoEnd_8 = "3/4";
-time3_4beamAutoBegin_32 = "1/8";
+time3_4beamAutoBegin_16 = "1/16";
+time3_4beamAutoEnd_16 = "1/4";
+%time3_4beamAutoBegin_32 = "1/8";
time3_4beamAutoEnd_32 = "1/8";
time3_8beamAutoBegin = "1/8";
slur_slope_damping = 0.3;
slur_interstaff_slope_damping = 0.6;
% height damping: keep h/dx < slur_height_damping
-slur_height_damping = 0.5;
+slur_height_damping = 0.4;
slur_interstaff_height_damping = 0.5;
% snap to stem if slur ends closer to stem than
slur_snap_to_stem = 1.75 * \interline;
+++ /dev/null
-Begin3
-Titel: LilyPond
-Versie: @TOPLEVEL_VERSION@
-Inschrijf datum: @DATE@
-Beschrijving: @FLAPTEKST@
-Trefwoorden: muziek typezetten midi notatie
-Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
- janneke@gnu.org (Jan Nieuwenhuizen)
-Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
-Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
- 770k @package@-@TOPLEVEL_VERSION@.tar.gz
-Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 770k @package@-@TOPLEVEL_VERSION@.tar.gz
-Copi-eer voorwaarden: GPL
-End
Entered-date: @DATE@
Description: @BLURB@
Keywords: music notation typesetting midi fonts engraving
-Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
+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
- 770k @package@-@TOPLEVEL_VERSION@.tar.gz
+ 1000k @package@-@TOPLEVEL_VERSION@.tar.gz
Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 770k @package@-@TOPLEVEL_VERSION@.tar.gz
+ 1000k @package@-@TOPLEVEL_VERSION@.tar.gz
Copying-policy: GPL
End
+++ /dev/null
-Begin3
-Titel: LilyPond
-Versie: 1.1.62
-Inschrijf datum: 19JUL99
-Beschrijving: @FLAPTEKST@
-Trefwoorden: muziek typezetten midi notatie
-Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
- janneke@gnu.org (Jan Nieuwenhuizen)
-Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
-Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
- 770k lilypond-1.1.62.tar.gz
-Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 770k lilypond-1.1.62.tar.gz
-Copi-eer voorwaarden: GPL
-End
Begin3
Title: LilyPond
-Version: 1.1.62
-Entered-date: 19JUL99
+Version: 1.1.63
+Entered-date: 20JUL99
Description:
+LilyPond produces beautiful sheet music using a high level description
+file as input. LilyPond is part of the GNU project.
-LilyPond is the GNU Project music typesetter. It transforms a musical
-description file into beautiful sheet music.
Keywords: music notation typesetting midi fonts engraving
-Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
+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
- 770k lilypond-1.1.62.tar.gz
+ 1000k lilypond-1.1.63.tar.gz
Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 770k lilypond-1.1.62.tar.gz
+ 1000k lilypond-1.1.63.tar.gz
Copying-policy: GPL
End
Name: lilypond
-Version: 1.1.62
+Version: 1.1.63
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.62.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.63.tar.gz
Summary: A program for printing sheet music.
URL: http://www.cs.uu.nl/~hanwen/lilypond
Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
%description
+LilyPond produces beautiful sheet music using a high level description
+file as input. LilyPond is part of the GNU project.
-LilyPond is the GNU Project music typesetter. It transforms a musical
-description file into beautiful sheet music.
%prep
STEPMAKE_TEMPLATES=metafont metapost install install-out
-EXTRA_DIST_FILES += README feta.mp mfplain.ini
+EXTRA_DIST_FILES += README feta.mp
+
+# wtf is feta.mp ?
FET_FILES = $(wildcard feta[0-9]*.mf)
def breapth_endchar =
scantokens extra_endchar;
if proofing > 0: makebox_with_breapth(proofrule); fi
- chardx := 10*(w + b);
+% chardx := 10*(w + b);
shipit;
endgroup
enddef;
draw_block ((0,-breve_rest_y), (breve_rest_x, breve_rest_y));
fet_endchar;
+tracingvariables := 1;
+
fet_beginchar("multi rest", "-4", "multirest");
set_char_box(multi_rest_x#, multi_rest_x#,
breve_rest_y#, breve_rest_y#);
input feta-klef;
input feta-timesig;
else:
- input feta-bolletjes;
+% input feta-bolletjes;
% input feta-banier;
-% input feta-eindelijk;
+ input feta-eindelijk;
% input feta-klef;
% input feta-toevallig;
% input feta-schrift;
input feta-sleur;
+%
+% URG. The attached slurs look weird, and discontinuous in their connection to the
+% main part. --hwn
+
fet_beginchar("upprall", "upprall", "upprall")
% trills := 4;
trills := 3;
+%
+% What's this ? --hwn
+%
+
% feta.mp
batchmode;
+++ /dev/null
-\input plain.mf
-\input modes.mf
-\dump mfplain
}
%{
- Tested Features@ multivoice accents lyrics chords piano music
+ Tested Features: multivoice accents lyrics chords piano music
multiple \paper{}s in one \score
Note: Original key F.
%}
e2 r4 |
}
-lyricVerse1 = \lyrics{
-% 5
- \times 2/3 { Lei-4 se8 } fleh-4. en8 |
- \times 2/3 { mei-4 ne8 } Lie-4 der8 " "8 |
- Durch4. die8 \times 2/3 { Nacht4 zu8 } |
- dir;2 " "4 |
- " "2.*2
-%{ " "4 " " " " |
- " " " " " " |%}
-% 11
- \times 2/3 { In4 den8 } stil-4. len8 |
- \times 2/3 { Hain4 her-8 } nie-4. der8 |
- Lieb-4. chen,8 \times 2/3 { komm4 zu8 } |
- mir!2 " "4 |
- " "2.*2
-%{ " "4 " " " " |
- " " " " " " |%}
-% 17
- Fl\"us-8. ternd16 schlan-4. ke8 |
- Wip-8. fel16 rau-4. schen8 |
- \times 2/3 { In4 des8 } Mon-4. des8 |
- Licht;2. |
- \times 2/3 { In4 des8 } Mon-4. des8 |
- Licht;2. |
-% 23
- Des8. Ver-16 r\"a-4. thers8 |
- feind-8. lich16 Lau-4. schen8 |
- \times 2/3 { F\"urch-4 te8 } Hol-4. de8 |
- nicht2. |
- \times 2/3 { f\"urch-4 te8 } Hol-4. de8 |
- nicht.2. |
+lyricVerseOne = \lyrics{
+ Lei- " " se fleh- en mei- " " ne Lie- der
+ Durch die Nacht " " zu dir;
+ In " " den stil- len Hain " " her- nie- der
+ Lieb- chen, komm " " zu mir!
+
+ Fl\"us- ternd schlan- ke Wip- fel rau- schen
+ In " " des Mon- des Licht,
+ In " " des Mon- des Licht;
+
+ Des Ver- r\"a- ters feind- lich Lau- schen
+ F\"urch- " " te, Hol- de, nicht,
+ F\"urch- " " te, Hol- de, nicht.
}
-lyricVerse2 = \lyrics{
-% 5
- \times 2/3 { H\"orst4 die8 } Nach-4. ti-8
- \times 2/3 { gal-4 len8 } schla-4 gen?8 " "8
- ach!4. sie8 \times 2/3 { fleh-4 en8 }
- dich,2 " "4
- " "2.*2
-%{ " "4 " " " "
- " "4" " " "
-%}
-% 11
- \times 2/3 { Mit4 der8 } T\"o-4. ne8
- \times 2/3 { s\"u-4 "\ss en"8 } Kla-4. gen8
- Fleh-4. en8 \times 2/3 { sie4 f\"ur8 }
- mich2 " "4
- " "2.*2
-%{ " "4" " " "
- " "4" " " "
-%}
-% 17
- Sie-8. ver-16 stehn4. des8
- Bus-8. ens16 Seh-4. nen8
- \times 2/3 { Ken-4 nen8 } Lieb-4. es-8
- schmerz,2.
- \times 2/3 { Ken-4 nen8 } Lieb-4. es-8
- schmerz.2.
-
-% 23
- R\"uh-8. ren16 mit4. den8
- Sil-8. ber-16 t\"o-4. nen8
- \times 2/3 { jed-4 es8 } wei-4. che8
- Herz,2.
- \times 2/3 { jed-4 es8 } wei-4. che8
- Herz.2.
+lyricVerseTwo = \lyrics{
+ H\"orst " " die Nach- ti- gal- " " len schla- gen?
+ Ach! sie fleh- " " en dich,
+ Mit " " der T\"o- ne s\"u- " " "\ss en" Kla- gen
+ Fleh- en sie " " f\"ur mich.
+
+ Sie- ver- "steh'n" des Bus- ens Seh- nen
+ Ken- " " nen Lieb- es- schmerz,
+ Ken- " " nen Lieb- es- schmerz.
+
+ R\"uh- ren mit den Sil- ber- t\"o- nen
+ Jed- " " es wei- che Herz,
+ Jed- " " es wei- che Herz.
}
lyricThrough = \lyrics{
-% 37
- La\ss8. auch16 dir8. die16 Brust8. be-16 |
- we-4 gen " " |
- Lieb-4. chen,8 h\"o-8. re16 |
- mich!2 " "4 |
- Be-4. bend8 \times 2/3 { harr'4 ich8} |
- dir8. ent-16 ge-4 gen!8 " "8 |
- " "2. |
- " "2. |
- \times 2/3 { Komm4 be-8 } gl\"u4. cke8 |
- mich!2. |
- \times 2/3 { Komm4 be-8 } gl\"u4. cke8 |
- mich,2. __ |
- " "2 be-4 |
- gl\"u-2. |
- cke2. |
- mich!2 " "4 |
+ La\ss auch dir die Brust be- we- gen
+ Lieb- chen, h\"o- re mich!
+ Be- bend harr' " " ich dir ent- ge- gen!
+
+ Komm, " " be- gl\"uk- ke mich!
+ Komm, " " be- gl\"uk- ke mich, __ " "
+ Be- gl\"uk- ke mich!
}
trebleIntro = \notes\relative c{
- r8^"\bf m\\\"a\\\ss ig"\pp <g'-. c-.> <c-. es-.> <g-. c-.> <c-. es-.> <g-. c-.> |
+ r8^"\bf M\\\"a\\ss ig"\pp <g'-. c-.> <c-. es-.> <g-. c-.> <c-. es-.> <g-. c-.> |
r8 <as-. c-.> <c-. es-.> <as-. c-.> <c-. es-.> <as-. c-.> |
r8 <as-. c-.> <c-. d-.> <as-. c-.> <c-. d-.> <as-. c-.> |
r8 <g-. b-.> <b-. d-.> <g-. b-.> <b-. d-.> <g-. b-.> |
\break
}
-trebleVerse1 = \notes\relative c{
+trebleVerseOne = \notes\relative c{
%5
r8 <g' c> <c es> <g c> <c es> <g c> |
r8 <f c'> <c' d> <f, c'> <c' d> <f, c'> |
<g2 g'> r4 |
}
-bassVerse1 = \notes\relative c{
+bassVerseOne = \notes\relative c{
% \clef bass;
\property Voice.dynamicDir=1
%5
\bar "|.";
}
-
-lyricFour = \lyrics{
- " "2.*4
-%{ " "4 " " " "
- " " " " " "
- " " " " " "
- " " " " " "%}
-}
-
-allLyrics = {
- \time 3/4;
-% \skip 4 * 12;
- \lyricFour
- \lyricVerse1
-% \skip 4 * 24;
- \lyricFour
- \lyricFour
- \lyricVerse2
+allLyrics = \lyrics {
+ \lyricVerseOne
+ \lyricVerseTwo
\lyricThrough
}
\clef treble;
% certainly no auto-beaming for vocals
\property Voice.beamAuto=0
-
\property Voice.dynamicDir = \up
\skip 4 * 12;
}
vocalStaff = \context Staff = vocal<
- \property Staff.instrument = "alto sax"
- \global
- \vocals
+ \property Staff.instrument = "alto sax"
+ \global
+ \vocals
>
treble = {
\clef treble;
\property Voice.beamAutoBegin=0
\trebleIntro
- \trebleVerse1
+ \trebleVerseOne
\trebleEentje
- \trebleVerse1
+ \trebleVerseOne
\trebleThrough
}
bass = {
\clef bass;
\bassIntro
- \bassVerse1
+ \bassVerseOne
\bassEentje
- \bassVerse1
+ \bassVerseOne
\bassThrough
}
\bassStaff
>
+
\score{
- % Transpose as you like for your voice
- % Range untransposed is c' to f'' (for tenors and sopranos)
- % To get original, \transpose d'
- % \transpose a gives a' to d'' (for basses, who sing an octave down)
<
-% kjoet, but i like the original better -- jcn
-% { \notes \transpose a { \vocalStaff } }
-% \lyricStaff
-% { \notes \transpose a { \grandStaff } }
- { \notes { \vocalStaff } }
- \lyricStaff
- { \notes { \grandStaff } }
+
+%{
+ Transpose as you like for your voice
+ Range untransposed is c' to f'' (for tenors and sopranos)
+ \transpose a gives a' to d'' (for basses, who sing an octave down)
+
+ \addlyrics
+ \notes \transpose a \vocalStaff
+ \lyricStaff
+ \notes \transpose a \grandStaff
+%}
+
+ \addlyrics
+ %\context Staff=vocal \vocalStaff
+ %\context Lyrics=lyric \lyricStaff
+ \vocalStaff
+ \lyricStaff
+ \grandStaff
>
\paper {
-% \translator { \OrchestralScoreContext }
-% \translator { \OrchestralPartStaffContext }
\translator { \HaraKiriStaffContext }
}
-%broken 1.1.51
-% \midi{
-% \tempo 4 = 54;
-% }
+ \midi{
+ \tempo 4 = 54;
+ }
}
c4~ [c16 g' des c] [bes es bes as] |
[g as bes c] [des8 bes] g'4~ |
[g8 c,16 bes] [as f' bes, as] [g des' g, f] |
- [e f g as] [bes8 g] [e'.-\prallprall d32 e] |
+ [e f g as] [bes8 g] [e'8.-\prallprall d32 e] |
%78
[f8 f,16 g] [as8 bes c d] |
[es16 d c d] [es8 f g as] |
EXTRA_DIST_FILES=
+LILYINCLUDE:=$(LILYINCLUDE):out
+export LILYINCLUDE
+
examples=preludes-2
LOCALSTEPMAKE_TEMPLATES=mutopia
\version "1.1.60";
-upper = \type Staff \notes \transpose c'' {
- \type Voice=i
+upper = \context Staff \notes \transpose c'' {
+ \context Voice=i
\property Voice . textstyle = "italic"
%# s(^c@ ^es@ ^g@ ^\p(\<@ ^\!@ ^)\!@ ^\>@)
t(c,es,g,^\p(\<@,\!,^)\!@,\>)
s(fis` c es)
s(fis` c es)
r16 [g`(\< b` d] [b` g` b` d] [es c a` \!fis] |
- <
- {\stemup ) g2.-\fermata\mf}
- \type Voice=ii {\stemdown <b`2. d>}
+ \context Staff <
+ \context Voice=i {\stemup ) g2.-\fermata\mf}
+ \context Voice=ii {\stemdown <b`2. d>}
>
\stemboth
\bar "|.";
}
-lower = \type Staff \notes{
+lower = \context Staff \notes{
% c4 r [g8-.(\ped )es-.\*] |
c4 r [g8-.( )es-.] |
c4 r [g8-.( )es-.] |
\score{
% Semplice e non troppo legato
- \type GrandStaff <
- \type Staff = upper <
+ \context GrandStaff <
+ \context Staff = upper <
\global
\upper
>
- \type Staff = lower <
+ \context Staff = lower <
\global
\clef "bass";
\lower
a'8~ |
a g-3~ g16 e fis8~ fis16 d8.~ d8. cis!16 |
\translator Staff=lower \stemup
- <
- { \stemup d8-2 a~ a4 }
+ \context Staff <
+ \context Voice=i { \stemup d8-2 a~ a4 }
\context Voice=ii { \stemdown a8-1 g fis16-2 e-1 fis-2 d-1 }
>
\stemup
%15
\stemdown
d1 ~ |
- d ~ |
- d, ~
+ d |
+ d, ~ |
d2 d2
}
\header{
filename = "preludes.ly";
% mmm
-title = "DOUZE PETITES PR\\'ELUDES";
+title = "Petites Pr\'eludes";
% urg subtitle = "Clavierb\\"uchlein";
subtitle = "Clavierbuechlein";
composer = "Johann Sebastian Bach (1685-1750)";
\include "preludes-1.ly"
\include "preludes-2.ly"
-% urg, still broken
-% \include "preludes-3.ly"
+\include "preludes-3.ly"
\include "preludes-4.ly"
\include "preludes-5.ly"
\include "preludes-6.ly"
EXTRA_DIST_FILES=
-examples= #scsii-cello
+examples=scsii-cello
LOCALSTEPMAKE_TEMPLATES=mutopia
include $(depth)/make/stepmake.make
dotted slurs
%}
-\version "1.1.52";
+\version "1.1.55";
\include "allemande-urtext.ly";
\partial 16;
s16
s1*11 |
- s2 s4 s8
- \partial 16*15;
- s16
+ s2 s4 s8.
} \repeat "semi" 2 {
- % urg
- s32 \partial 16; s32
+ s16
s1*11
s16*15
- \partial 16*15;
}
}
But merging melodic and scripts doen't work too well yet (see viola_scripts).
%}
-n = { \slurnormal }
-d = { \slurdotted }
-comma = "\\sethuge\\ \\ ,"
-
-phrasingcomma = { } % { \bar "empty"; \mark "'"; \nobreak }
-
allemande_a = \context Staff \notes \relative c {
\context Voice=i
\stemup
g()f e()d d()cis d()e a,8 bes16()g |
f( a )d f, e8 cis' \stemup d8. e16 \stemboth f g a bes! |
%3
- \stemup c8 \n d16()es \stemboth d()c bes()a c()bes a()g d'8. f,16 |
- e( g )bes d c()bes a()g \n bes()a g()f
+ \stemup c8 d16()es \stemboth d()c bes()a c()bes a()g d'8. f,16 |
+ e( g )bes d c()bes a()g bes()a g()f
< f8. a> <f16 a > |
% urg fix
- b \n f( e )d e \d cis'( d )cis \stemup d8.( )e16 \stemboth
- \n f( e d)e |
+ b f( e )d e cis' d cis \stemup d8. e16 \stemboth
+ f( e d)e |
%6
d( c b )c b( a gis)a gis8-\prall fis16()e e' c( a )g |
\stemup e' a, f d d f d b \stemboth
- gis( b e )gis \d b( d c )b |
+ gis( b e )gis b d c b |
%8
- \n c( a f )e d( f e )d gis8.-\trill()a16 \d b d e,()d |
+ c( a f )e d( f e )d gis8.-\trill()a16 b d e, d |
% urg
- c( e a)d \stemup b8.-\trill a16 a8 s4 s8 \stemboth |
+ c e a d \stemup b8.-\trill a16 a8 s4 s8 \stemboth |
%10
d,!16 gis( a b a gis fis )e \stemup e8 f16()e \stemboth
d()c b()a |
- \stemup d8 e16()f \stemboth\d e()d c()b
+ \stemup d8 e16()f \stemboth e d c b
\stemup d'16()b c()a \stemboth e8 gis |
- a,8. cis16 e g!( f! )e f( a )d gis, a8.
+ a,8. cis16 e g! f! e f a d gis, [ a8. ]
%13
e16 \stemup e8. f16 \stemboth
- \n g!()e f()a \n cis,( d )e bes a8.-\trill()g16 |
- f a'(f)d g \n b,()cis a' g(f e)d fis d()es c( |
+ g!()e f()a cis,( d )e bes a8.-\trill()g16 |
+ f a'(f)d g b,()cis a' g(f e)d fis d()es c( |
%15
)bes g'(a, )g fis a d c' bes(fis)g bes d()a bes()g |
- es(d)es g c()a bes()g \d d(c)d g \n bes()fis g()es |
+ es(d)es g c()a bes()g d c d g bes()fis g()es |
%17
- \n c(bes)c bes' a(c)es g, \stemup fis8-\trill\d g16()a \stemboth
- d,8 es16()c |
- bes(d )g bes, d,8 fis' \stemup g8. a16 \stemboth bes d g, f |
+ c(bes)c bes' a(c)es g, \stemup fis8-\trill g16 a \stemboth
+ d,8 es16 c |
+ bes d g bes, d,8 fis' \stemup g8. a16 \stemboth bes d g, f |
%19
- \stemup e8.-\trill()f16 \stemboth g()e c()bes
- \n a()f' g,()f e g'( a )bes |
- % :-(
- % bes( a g )f^\comma
- bes( a g )f \phrasingcomma
+ \stemup e8.-\trill f16 \stemboth g e c bes
+ a()f' g,()f e g'( a )bes |
+ bes( a g )f
a()e f()d bes d(f)a d()a bes()g |
%21
- a,(\n)g'(\n cis())d e()g, a()e f()d bes()d \d gis, f'(e)d |
- % \n d( cis b )a^\comma c(a)fis d' c a( b )d
- \n d( cis b )a \phrasingcomma %^"\\sethuge\\ \\ ,"
+ a,()g'cis()d e()g, a()e f()d bes()d gis, f' e d |
+ d( cis b )a
c(a)fis d' c a( b )d
f!(d )gis, d' |
%23
s1 |
f!16 s16*3 b, s16*3 s2 |
s1 |
- s4 e dis8 ~ dis32 e( fis gis a b c d! c b c )a |
+ \property Voice.slurVerticalDirection=1
+ s4 e [dis8 ~ dis32 e( fis gis] [a b c d! c b c )a] |
+ \property Voice.slurVerticalDirection=0
%10
s2 <a8 c,> s8 s4 |
<b8 gis,> s8 s4 <e,8 a,> s8 s4 |
s2 s4 s8.
- s16 |
+ s16
<cis'8 g,> s8 s2. |
%15
s1*3 |
>
-\version "1.1.52";
+\version "1.1.55";
dotted slurs
%}
-\version "1.0.16";
+\version "1.1.55";
\include "allemande-urtext.ly";
\time 4/4;
\key f;
\clef alto;
- \repeat 2 {
+ \repeat "semi" 2 {
\partial 16;
s16
s1*11 |
- s2 s4 s8
- \partial 16*15;
+ s2 s4 s8.
+ } \repeat "semi" 2 {
s16
- } \repeat 2 {
- % urg
- s32 \partial 16; s32
s1*11
s16*15
- \partial 16*15;
}
}
dotted slurs
%}
-\version "1.0.16";
+\version "1.1.55";
\include "courante-urtext.ly";
\time 3/4;
\key f;
\clef bass;
- \repeat 2 {
+ \repeat "semi" 2 {
\partial 16;
s16
s2.*15
- % hmm
- s2 s8
- \partial 16*11;
+ s2 s8.
+ } \repeat "semi" 2 {
s16
- } \repeat 2 {
- % urg
- s32 \partial 16; s32
s2.*15
s16*11
- \partial 16*11;
}
}
But merging melodic and scripts doen't work too well yet (see viola_scripts).
%}
-n = { \slurnormal }
-d = { \slurdotted }
-
courante_a = \context Staff \notes \relative c {
\context Voice=i
d'16 |
- d a f a d, f g a \d bes()a bes()g |
- \stemup <g4 a> s4 \stemboth \d g16()f g()e |
+ d a f a d, f g a bes a bes g |
+ \stemup <g4 a> s4 \stemboth g16 f g e |
% urg, a good case for mean-distance-beam-dir-algorithm!
- f()d e()c! \n bes(a)bes a' g f e d |
+ f d e c! bes(a)bes a' g f e d |
%4
- % cis e \n a,(\d(b cis d e f )g )bes-- a e |
- cis e \n a,(b cis d e f )g bes-- a e |
- % f a \n d,(\d( e f g a bes )c )bes-- d c |
- f a \n d,( e f g a bes )c bes-- d c |
- \n\stemup <c4 f,> ~ < c16 f,> bes a g \stemboth f()es d()es |
+ cis e a,(b cis d e f )g bes-- a e |
+ f a d,( e f g a bes )c bes-- d c |
+ \stemup <c4 f,> ~ < c16 f,> bes a g \stemboth f()es d()es |
%7
d bes(a)bes d bes e! bes f' bes, g' bes, |
- \d e,( g )c d e f g a bes()a bes()g |
- \n a f(e)f a f bes f c' f, d' f, |
+ e, g c d e f g a bes a bes g |
+ a f(e)f a f bes f c' f, d' f, |
%10
cis( e )a b cis d e f g()f g()e |
- d,( a' )f' e \n d()c d()c b()a b()a |
- \n gis( a )b e, \n f()e f()d e()c d()b |
+ d,( a' )f' e d()c d()c b()a b()a |
+ gis( a )b e, f()e f()d e()c d()b |
%13
- \n c a'( b c b a gis)a d, a' e a |
+ c a'( b c b a gis)a d, a' e a |
f a( b c b a gis)a f a e a |
dis, a'( b c b a gis)a e a e gis |
- a e cis e a, cis e gis a8.
- e'16 |
+ a e cis e a, cis e gis [ a8. ]
+ e'16
%17
e cis a cis e, f g a bes()g cis()g |
\stemup d'4 ~ d16 a d e f d a c! \stemboth |
- \n b16 f(d)f \d g, d'(f)g b f d' f, |
+ b16 f(d)f g, d' f g b f d' f, |
%20
- e g c,(d e f g a )bes! d c g |
+ e g c, d e f g a bes! d c g |
\stemup a s16*3 s4 s4
d, ~ d16 e! f g \stemboth a bes c d |
%23
- e, bes(a)g a f' \n g,()f \d c()g' f' e |
- f a( bes a g f e )f g e f d |
+ e, bes a g a f' g,()f c g' f' e |
+ f a bes a g f e f g e f d |
cis g' b, g' a, g' b, g' cis, g' a, g' |
%26
f d f a d a d e f a, f d |
- g, d'(g)a bes g' a, f' g, e' f, d' |
- \n cis(d)e cis a cis bes cis a cis g cis |
+ g, d' g a bes g' a, f' g, e' f, d' |
+ cis(d)e cis a cis bes cis a cis g cis |
%29
- \n f, d'(e f e d cis)d g, d' a d |
- \d bes d(e f e d cis)d bes d a d |
+ f, d'(e f e d cis)d g, d' a d |
+ bes d e f e d cis d bes d a d |
gis, d'(e f e d cis)d a d a cis |
d a f a d, f a, d
d,8.
s16 |
s2. |
%2
- \n cis4 ~ cis16 d e f s4 |
+ cis4 ~ cis16 d e f s4 |
s2.*3 |
%6
a,4 s2
s2.*9
% 16
s2 s8.
- s16 |
+ s16
s2.
%18
f'4 s s |
s2.*2
%21
+ \property Voice.slurVerticalDirection=1
f16 c'(bes a g f es d )es c' f, es |
+ \property Voice.slurVerticalDirection=0
bes4 s s
s2.*9
s2 s8.
\$courante_b
>
-\version "1.1.52";
+\version "1.1.55";
dotted slurs
%}
-\version "1.0.16";
+\version "1.1.55";
\include "courante-urtext.ly";
\time 3/4;
\key f;
\clef alto;
- \repeat 2 {
+ \repeat "semi" 2 {
\partial 16;
s16
s2.*15
- % hmm
- s2 s8
- \partial 16*11;
+ s2 s8.
+ } \repeat "semi" 2 {
s16
- } \repeat 2 {
- % urg
- s32 \partial 16; s32
s2.*15
s16*11
- \partial 16*11;
}
}
dotted slurs
%}
-\version "1.0.16";
+\version "1.1.55";
\include "gigue-urtext.ly";
\time 3/8;
\key f;
\clef bass;
- \repeat 2 {
+ \repeat "semi" 2 {
\partial 8;
s8
s4.*31
s4
- \partial 4;
- } \repeat 2 {
+ %\partial 4;
+ } \repeat "semi" 2 {
% urg
- s16 \partial 8; s16
+ %s16 \partial 8; s16
+ s8
s4.*43
s4
- \partial 4;
+ %\partial 4;
}
}
But merging melodic and scripts doen't work too well yet (see viola_scripts).
%}
-n = { \slurnormal }
-d = { \slurdotted }
-
%
% this must be redone a bit:
%
f4-\trill a8 | b,()g' cis, | d f16( c bes )a | g8()es' a, |
bes d16( a g )f | e!8()cis' bes' a g16( f e)d |
%15
- %\stemup e(f g e f)d \stemboth e8()a,\comma c''! |
- \stemup e(f g e f)d \stemboth e8()a,^"\\sethuge{\\ \\ '}" c'! |
+ \stemup e(f g e f)d \stemboth e8()a, c'! |
\stemup c16(d es c d)a bes8 r bes |
bes16(c d bes c)g a8 r a |
%21
\$gigue_b
>
-\version "1.1.52";
+\version "1.1.55";
dotted slurs
%}
-\version "1.0.16";
+\version "1.1.55";
\include "gigue-urtext.ly";
\time 3/8;
\key f;
\clef alto;
- \repeat 2 {
+ \repeat "semi" 2 {
\partial 8;
s8
s4.*31
s4
\partial 4;
- } \repeat 2 {
+ } \repeat "semi" 2 {
% urg
s16 \partial 8; s16
s4.*43
dotted slurs
%}
-\version "1.1.52";
+\version "1.1.55";
\include "menuetto-urtext.ly";
\time 3/4;
\key f;
\clef bass;
- \repeat "semi" 2 {
+ \repeat "semi" 2 {
\skip 2.*8;
}
\repeat "semi" 2 {
\skip 2.*1;
\slurdotted
\skip 2.*14;
+ \property Voice.textEmptyDimension = 1
s2._"Fine"
}
}
\skip 2.*1;
\slurdotted
\skip 2.*14;
+ \property Voice.textEmptyDimension = 1
s2._"Menuetto I da Capo"
}
%7
<a f> <d f, bes,> <e g, g,> |
<cis2. e, a,> |
- <a2\f e'> d8( e16 )f |
- \slurdotted
- e8( d cis )e a,()g |
- a4 () d cis |
- g'8( f e )f d() c |
+ <a2\f e'> d8 e16 f |
+ e8 d cis e a, g |
+ a4 d cis |
+ g'8 f e f d c |
%13
bes2 c4 |
a8 g a f <d'4 e, bes> |
<c f, a,> bes8 a g a |
- f8( e )f a g bes |
+ f8 e f a g bes |
<a2^\trill fis> bes4 |
c8 bes c a fis4^\trill |
%19
% dispute
% <bes,4 g' d'> <c, g' c> < d,8 bes'(> )a |
- <d'4 g, bes,> <c g c,> bes8()a |
- c8( bes a )bes g()bes |
- d4 () cis d |
+ <d'4 g, bes,> <c g c,> bes8 a |
+ c8 bes a bes g bes |
+ d4 cis d |
g,8 f g e f4 |
g,8 g' <{e4.^\trill d8 } a4.> ~ |
<d2. a d,> |
menuetto_i_b = \context Staff \notes \relative c {
\context Voice = ii
\stemdown
- \slurdotted
\skip 2.*1; |
<e8 c> \skip 8*5; |
\skip 2.*1; |
menuetto_ii = \context Staff\notes \relative c {
\context Voice=i
- \slurdotted
- fis4^\trill d8( e fis )g |
+ fis4^\trill d8 e fis g |
a4 fis, a' |
- g,8()b e4 g |
- \slurnormal
+ g,8 b e4 g |
d8( cis )b cis a g |
% ugh, forcing knee
% Lily's not yet smart enough to decide for herself.
cis4^\prall e8( d cis )b |
cis4 g, cis' |
fis,8()a d4 fis |
- b,8()a g()fis \slurdotted g()b |
- \slurnormal
+ b,8()a g()fis g b |
%13
e, d'( cis )b cis()ais |
- % check slur! d, b' a! g fis )e |
d,( b' a! g fis )e |
g( fis e d cis )d |
b( cis d e fis )g |
%19
b8()a c( b a )g |
fis() g a()fis g()e |
- \slurdotted
- cis4^\trill a8( b cis )d |
- \slurnormal
+ cis4^\trill a8 b cis d |
e( fis g )b a4 |
g8()fis e()d e()cis |
d2.
}
-\version "1.1.52";
+\version "1.1.55";
dotted slurs
%}
-\version "1.0.16";
+\version "1.1.55";
\include "menuetto-urtext.ly";
\time 3/4;
\key f;
\clef alto;
- \repeat 2 {
+ \repeat "semi" 2 {
\skip 2.*8;
\clef violin;
\skip 2.*1;
- } \repeat 2 {
+ } \repeat "semi" 2 {
\slurdotted
\skip 2.*3;
\clef alto;
\skip 2.*11;
+ \property Voice.textEmptyDimension = 1
s2._"Fine"
}
}
\time 3/4;
\key D;
\clef alto;
- \repeat 2 {
+ \repeat "semi" 2 {
\skip 2.*8;
- } \repeat 2 {
+ } \repeat "semi" 2 {
\skip 2.*1;
\slurdotted
\skip 2.*14;
+ \property Voice.textEmptyDimension = 1
s2._"Menuetto I da Capo"
}
}
dotted slurs
%}
-\version "1.1.52";
+\version "1.1.55";
\include "prelude-urtext.ly";
a'2. a a a <a d,>
}
-%{
-properties, urg!
+
fig1 = \notes{ s16( s s )s }
fig2 = \notes{ s16( s ) s s }
fig3 = \notes{ s16 s( s )s }
fig4 = \notes{ s16( s s s s s s )s }
fig5 = \notes{ s8.()s16 }
-%}
-
-fig1 = \notes{ \slurnormal s16( s s )s }
-fig2 = \notes{ \slurnormal s16( s ) s s }
-fig3 = \notes{ s16 \slurnormal s( s )s }
-fig4 = \notes{ \slurnormal s16( s s s s s s )s }
-fig5 = \notes{ \slurnormal s8.()s16 }
% of course, i just type fig1, and add the \ and the silly $ later
prelude_slurs = \notes{
s4 \$fig3 s4 |
}
-fig1 = \notes{ \slurdotted s16( s s )s }
-fig2 = \notes{ \slurdotted s16( s ) s s }
-fig3 = \notes{ s16 \slurdotted s( s )s }
-fig4 = \notes{ \slurdotted s16( s s s s s s )s }
-fig5 = \notes{ \slurdotted s8.()s16 }
-fig6 = \notes{ \slurdotted s16()s \slurdotted s()s }
-
-prelude_suggested_slurs = \notes{
- \context Voice=i
- \slurdotted
- s2. |
- s2. |
- s4 \$fig5 s4 |
- s2. |
- %5
- s4 \$fig5 \$fig1 |
- \$fig1 \$fig1 \$fig2 |
- s4 \$fig5 s4 |
- \$fig1 \$fig1 s4 |
- \$fig2 \$fig5 s4 |
- %10
- s2. |
- s2 \$fig2 |
- s4 \$fig3 \$fig2 |
- s2. |
- s2. |
- %15
- \$fig2 s4 \$fig3 |
- s2 \$fig3 |
- \$fig1 \$fig1 \$fig1 |
- s4 \$fig5 s4 |
- \$fig1 \$fig5 s4 |
- %20
- s4 \$fig5 s4 |
- \$fig3 s2 |
- s2. |
- \$fig3 \$fig3 s4 |
- \$fig1 \$fig1 \$fig1 |
- %25
- s4 \$fig5 s4 |
- s2. |
- s2. |
- s2 \$fig3 |
- s2. |
- %30
- s2. |
- s2. |
- \$fig3 \$fig3 \$fig2 |
- \$fig2 s2 |
- s2. |
- %35
- s4 \$fig3 \$fig3 |
- s2 \$fig3 |
- s2. |
- \$fig2 s2 |
- \$fig2 s2 |
- %40
- s2. |
- s2. |
- s2. |
- s2. |
- % check !
- \$fig3 \$fig2 s4 |
- %45
- \$fig3 \$fig2 s4 |
- % check!
- \$fig3 s2 |
- s2. |
- s2. |
- s2 \$fig2 |
- %50
- \$fig1 \$fig5 s4 |
- s4 \$fig6 \$fig6 |
- \$fig3 \$fig1 \$fig1 |
- \$fig3 s2 |
-}
-
prelude_a = \notes<
\$prelude_notes
- \$prelude_slurs
- \$prelude_suggested_slurs
+ % Han-Wen: help: adding slurs breaks auto-beaming??
+ %\$prelude_slurs
>
prelude = \context Staff \notes<
\$prelude_b
>
-\version "1.1.52";
+\version "1.1.55";
dotted slurs
%}
-\version "1.1.52";
+\version "1.1.55";
\include "prelude-urtext.ly";
dotted slurs
%}
-\version "1.0.16";
+\version "1.1.55";
\include "sarabande-urtext.ly";
\time 3/4;
\key f;
\clef bass;
- \repeat 2 {
+ \repeat "semi" 2 {
s2.*12
- } \repeat 2 {
+ } \repeat "semi" 2 {
s2.*16
}
}
But merging melodic and scripts doen't work too well yet (see viola_scripts).
%}
-n = { \slurnormal }
-d = { \slurdotted }
-
sarabande_a = \context Staff \notes \relative c {
\context Voice=i
- \stemup \d d8.()e16 e4.-\trill( d16 )e |
- f4. \stemboth e8(d)c |
- bes g' \n f e16(f g a bes)d, |
- cis4.-\trill\d b8(a)g |
+ \stemup d8. e16 e4.-\trill d16 e |
+ f4. \stemboth e8 d c |
+ [bes g'] f e16(f g a bes)d, |
+ cis4.-\trill b8 a g |
% copy bar 1, half bar 2
- \stemup \d d'8.()e16 f4.-\trill( d16 )e |
+ \stemup d'8. e16 f4.-\trill d16 e |
%5
- f4. \stemboth d8(e)f |
- \n g bes16()a c()bes a()g d'8 f, |
- \stemup e4.-\trill \stemboth \d d8(c)bes |
+ f4. \stemboth d8 e f |
+ g bes16()a c()bes a()g d'8 f, |
+ \stemup e4.-\trill \stemboth d8 c bes |
%8
- \stemup \n f' g16()a a4. g16()f |
+ \stemup f' g16()a a4. g16()f |
g8 a16()bes bes4. c16()d |
% 11
- \stemboth \d e,8()f c, g' f'()e |
+ \stemboth e,8 f c, g' f' e |
f4 f,2 |
- \stemup a'4 \d a4.-\trill()bes8 |
- c bes16()a \stemboth fis8.-\trill()es16 d8()c |
- bes g' a, fis' es'()d |
+ \stemup a'4 a4.-\trill bes8 |
+ c bes16 a \stemboth fis8.-\trill es16 d8 c |
+ bes g' a, fis' es' d |
%16
- \stemup bes4.-\trill \stemboth a8(g)f! |
- e bes()a f'(g)a |
- d, as()g es'(f)g |
- cis, bes' a g16()f e!8 f16()d |
- cis8 e16()a a,8. g'16 \n f8()e |
+ \stemup bes4.-\trill \stemboth a8 g f! |
+ e bes a f' g a |
+ d, as g es' f g |
+ cis, bes' a g16 f e!8 f16 d |
+ cis8 e16 a a,8. g'16 f8()e |
%21
\stemup d e16()f f4. e16()d |
e8 f16()g g4. a16()bes |
- \d a8 cis16()d d,8 e16(f32)g f8-\trill \n e16()d |
+ a8 cis16 d d,8 e16 f32 g f8-\trill e16()d |
d4 d,16 a'( b cis d e f )g |
%25
a(b c)b c4. b16()a |
- \d b(cis d )cis d4. \n e16()f |
- \stemboth d(cis)d f, a,8 e' \d d'()cis |
+ b cis d cis d4. e16()f |
+ \stemboth d(cis)d f, a,8 e' d' cis |
d4 d,,2 |
}
%10
bes4 <g2 f'> |
s2.*2 |
- \d f'8()es es4. r8 |
+ f'8 es es4. r8 |
d4 s2 |
%15
s2. |
\$sarabande_b
>
-\version "1.1.52";
+\version "1.1.55";
dotted slurs
%}
-\version "1.0.16";
+\version "1.1.55";
\include "sarabande-urtext.ly";
\time 3/4;
\key f;
\clef alto;
- \repeat 2 {
+ \repeat "semi" 2 {
s2.*12
- } \repeat 2 {
+ } \repeat "semi" 2 {
s2.*16
}
}
\relative c'
{
\time 4/4;
- \partial 4;
+ r4 |
R1*4
c'2^"tutti" g
c, r
%!PS-Adobe-1.0: lilyponddefs
% hmm
-/setgray { 1 add } bind def
+% /setgray { 1 add } bind def
/stafflinethickness mudelapaperstaffline def
/staffheight mudelapaperstaffheight def
"""
name = 'ly2dvi'
-version = '0.0.12'
+version = '0.0.13'
errorlog = ''
import sys
import string
import time
import glob
+import tempfile
class Input:
linewidth, horizontalMarginArg, textheight, verticalMarginArg,
Props.get('header') )
- pathcomp = os.path.splitext(file)
- this.__base = pathcomp[0]
- this.__outfile = '%s.%d%s' % (pathcomp[0], os.getpid(), pathcomp[1])
+ base, ext = os.path.splitext(file)
+ this.__base = base
+ tempfile.template= base + '_ly'
+ this.__outfile = tempfile.mktemp(ext)
+ base, ext = os.path.splitext(this.__outfile)
+ this.__tmpbase = base
try:
this.__fd = open(this.__outfile,"w")
except:
if stat:
sys.exit('ExitBadLatex')
if not os.path.isfile(outfile):
- os.rename(this.__base + '.' + str(os.getpid()) + '.dvi', outfile)
+ os.rename(this.__tmpbase + '.dvi', outfile)
sys.stderr.write('\n' + program_id() + ': dvi file name is %s\n\n'
% (outfile))
#
# Set or Clear Dependencies flag to generate makefile dependencies
#
- def setDependencies(this, requester):
+ def setDependencies(this, value, requester):
"""
Set or Clear dependencies flag
"""
else:
if Props.get('dependencies'):
- dep=' -d'
+ dep=' -M'
else:
dep=''
return inc + dep
return inc
-def writeLilylog(contents):
+def writeLilylog(file,contents):
if Props.get('keeplilypond'):
- file='lilylog.' + str(os.getpid())
+ base, ext = os.path.splitext(file)
+ tempfile.template=base + "_li"
+ file=tempfile.mktemp('.log')
output = Props.get('output')
if output != '':
file = os.path.join( output, file )
' -O,--orientation= set orientation (obsolete - use -L instead)\n'
' -P,--postscript generate postscript file\n'
' -W,--Width= set paper width (points) (see manual page)\n'
- ' -d,--dependencies tell lilypond make a dependencies file\n'
+ ' -M,--dependencies tell lilypond make a dependencies file\n'
' -h,--help this help text\n'
' -k,--keeply2dvi keep ly2dvi output files\n'
' -l,--language= give LaTeX language (babel)\n'
infile = Input()
outfile = TeXOutput()
texInputFiles=[]
+ tempfile.tempdir=""
(options, files) = getopt.getopt (sys.argv[1:],
- 'DF:H:I:KLNPW:dhkl:o:p:s',
+ 'DF:H:I:KLNPW:Mhkl:o:p:s',
['debug', 'headers=', 'Height=',
'include=', 'keeplilypond', 'landscape',
'nonumber', 'Width=', 'dependencies',
Props.setNonumber(1,'commandline')
elif o == '--Width' or o == '-W':
Props.setLineWidth(a,'commandline')
- elif o == '--dependencies' or o == '-d':
+ elif o == '--dependencies' or o == '-M':
Props.setDependencies(1,'commandline')
elif o == '--help' or o == '-h':
help()
if stat:
sys.exit('ExitBadLily', cmd )
texFiles=getTeXFile(log)
- writeLilylog(log)
+ writeLilylog(file,log)
Props.addLilyOutputFiles(texFiles,'program')
texInputFiles = texInputFiles + texFiles
else:
if Props.get('debug'):
Props.printProps()
if firstfile:
- outfile.start(file)
+ outfile.start(file) # allow for specified name
else:
outfile.next()
outfile.write("""\
if not Props.get('keeplilypond'):
lilyfiles = Props.get('lilyOutputFiles')
if not Props.get('keeply2dvi'):
- tmpfiles = glob.glob('*.' + str(os.getpid()) + '.*' )
+ tmpfiles = glob.glob('*_ly[0-9]*.*')
for file in lilyfiles + tmpfiles:
if os.path.isfile(file):
os.remove(file)
PACKAGE_NAME=StepMake
MAJOR_VERSION=0
MINOR_VERSION=1
-PATCH_LEVEL=77
+PATCH_LEVEL=78
MY_PATCH_LEVEL=
# use the above to send patches, always empty for released version:
dnl WARNING WARNING WARNING WARNING
dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
-dnl WARNING WARNING WARNING WARNING
-dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
-dnl WARNING WARNING WARNING WARNING
-dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
-dnl WARNING WARNING WARNING WARNING
-dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
dnl aclocal.m4 -*-shell-script-*-
dnl StepMake subroutines for configure.in
exit 1
fi
+if ! make -C Documentation/ntweb WWW ; then
+ echo "make -C documentation/ntweb WWW failed"
+ exit 1
+fi
+
#
# Post install clean up
#
Begin3
Title: StepMake
-Version: 0.1.77
-Entered-date: 25MAY99
+Version: 0.1.78
+Entered-date: 20JUL99
Description:
Keywords: music notation typesetting midi fonts engraving
Author: janneke@gnu.org (Jan Nieuwenhuizen)
hanwen@cs.ruu.nl (Han-Wen Nienhuys)
Maintained-by: janneke@gnu.org (Jan Nieuwenhuizen)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 40k stepmake-0.1.77.tar.gz
+ 40k stepmake-0.1.78.tar.gz
Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
- 40k stepmake-0.1.77.tar.gz
+ 40k stepmake-0.1.78.tar.gz
Copying-policy: GPL
End
Name: stepmake
-Version: 0.1.77
+Version: 0.1.78
Release: 1
Copyright: GPL
Group: Development
-Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.77.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.78.tar.gz
Summary: generic make package
Packager: janneke@gnu.org (Jan Nieuwenhuizen)
Buildroot: /tmp/stepmake-install
# -$(METAPOST) "&mfmp \mode=ljfour; \mag=100.0; batchmode; input $<"
# -$(METAPOST) "&mfplain \mode=lowres; \mag=100.0; batchmode; input $<"
-$(outdir)/%.0: %.mf
- -$(METAPOST) "&mfplain \mode=lowres; \mag=30.0; batchmode; input $<"
+$(outdir)/%.0: %.mf mfplain.mem
+ -$(METAPOST) "&mfplain \mode=lowres; \mag=1.0; nonstopmode; input $<"
+
+
+
+mfplain.mem: mfplain.ini
+ $(INIMETAPOST) mfplain.ini
+
$(outdir)/%.pfa: $(outdir)/%.0
$(PYTHON) $(depth)/buildscripts/ps-to-pfa.py --output $(basename $<).pfa $<
-pfa: mfplain.mem $(PFA_FILES)
-mfplain.mem: mfplain.ini
- $(INIMETAPOST) mfplain.ini
+pfa: $(PFA_FILES)
local-dist: configure
+# urg!: this gets into every package (ie: yodl)
local-distclean:
rm -f config.h config.hh config.make Makefile GNUmakefile \
config.cache config.status config.log index.html \
$(outdir)/%.txt: %.yo
# $(YODL2TXT) -doutdir=$(outdir) --live-data=3 -o $@ $<
$(YODL2MSLESS) -doutdir=$(outdir) --live-data=3 $< > $@
-# rm -f $(basename $<).ms
-
+ rm -f $(basename $<).ms