]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.1.4 release/1.1.4
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 10 Nov 1998 09:52:52 +0000 (10:52 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 10 Nov 1998 09:52:52 +0000 (10:52 +0100)
40 files changed:
Documentation/index.yo
Documentation/links.yo
Documentation/mail.yo [new file with mode: 0644]
Documentation/man/out/mudela-book.1
Documentation/tex/other-packages.bib
Documentation/tex/tutorial.yo
Documentation/topdocs/index.yo
NEWS
VERSION
init/engraver.ly
init/lily.scm
lily/command-request.cc
lily/idealspacing.cc
lily/include/afm-reader.hh [deleted file]
lily/include/audio-column.hh
lily/include/idealspacing.hh
lily/include/key-item.hh
lily/include/simple-spacer.hh [new file with mode: 0644]
lily/include/staff-sym-engraver.hh
lily/key-engraver.cc
lily/key-item.cc
lily/p-score.cc
lily/paper-outputter.cc
lily/simple-spacer.cc [new file with mode: 0644]
lily/spring-spacer.cc
lily/staff-sym-engraver.cc
make/out/lelievijver.lsm
make/out/lilypond.lsm
make/out/lilypond.spec
mf/feta-schrift.mf
mf/out/feta11.afm
mf/out/feta13.afm
mf/out/feta16.afm
mf/out/feta19.afm
mf/out/feta20.afm
mf/out/feta23.afm
mf/out/feta26.afm
mudela-mode.el
stepmake/stepmake/executable-targets.make
stepmake/stepmake/executable-vars.make

index 0e1e885ff3ac9d049eb7271adec06ae1b3ecf36b..18c63529564da8ddcff17ba5c80af254c1b02a10 100644 (file)
@@ -56,6 +56,10 @@ it()url(The Authors)(DOEXPAND(tops)/AUTHORS.html)
 it()url(Sending and applying Patches)(DOEXPAND(tops)/PATCHES.html)
 )
 
+nsubsect(Mail)
+
+includefile(mail.yo)
+
 nsubsect(Links)
 
 itemize(
index 4aa398f9633a427ed0023f030fb9358cd331ae82..58732fb7931b6940b5f1a1e1ecc704ed0c9fe563 100644 (file)
@@ -90,39 +90,9 @@ it()lurl(news://comp.os.linux.announce)
 
 sect(Mailing lists)
 
-For programs which are part of the GNU music project, the following
-mailing list have been setup:
 
-description(
-dit(info-gnu-music@gnu.org)
-    A moderated list for information on the GNU Music project, to
-    subscribe: send mail with subject "subscribe" to
-    info-gnu-music-request@gnu.org.  
-
-    As this list is moderated, normal people should ask to
-    nemail(David R. Linn)(drl@gnu.org) or
-    nemail(Han-Wen)(hanwen@cs.uu.nl) to forward announces instead of
-    sending it to info-gnu-music@gnu.org
-
-dit(help-gnu-music@gnu.org)
-    For help with programs from the GNU music project. To subscribe: send
-    mail with subject "subscribe" to
-    email(help-gnu-music-request@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)
-dit(gnu-music-discuss@gnu.org,)
-    For discussions concerning the GNU Music project, to subscribe: send
-    mail with subject "subscribe" to
-    email(gnu-music-discuss-request@gnu.org)
-    This list is archived at
-    lurl(http://www.jab.org/mail/gnu-music-discuss@gnu.org)
-)
+includefile(mail.yo)
 
-Announces of new versions will be sent to info-gnu-music and
-gnu-music-discuss.
 
 sect(Backlinks)
 
diff --git a/Documentation/mail.yo b/Documentation/mail.yo
new file mode 100644 (file)
index 0000000..69e3dd1
--- /dev/null
@@ -0,0 +1,43 @@
+
+For programs which are part of the GNU music project, the following
+mailing list have been setup:
+
+description(
+dit(info-gnu-music@gnu.org)
+    A moderated list for information on the GNU Music project, to
+    subscribe: send mail with subject "subscribe" to
+    info-gnu-music-request@gnu.org.  
+
+    As this list is moderated, normal people should ask to
+    nemail(David R. Linn)(drl@gnu.org) or
+    nemail(Han-Wen)(hanwen@cs.uu.nl) to forward announces instead of
+    sending it to info-gnu-music@gnu.org
+
+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)
+
+dit(help-gnu-music@gnu.org)
+    For help with programs from the GNU music project. To subscribe: send
+    mail with subject "subscribe" to
+    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.
+       
+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)
+dit(gnu-music-discuss@gnu.org,)
+    For discussions concerning the GNU Music project, to subscribe: send
+    mail with subject "subscribe" to
+    email(gnu-music-discuss-request@gnu.org)
+    This list is archived at
+    lurl(http://www.jab.org/mail/gnu-music-discuss@gnu.org)
+)
+
+Announces of new versions will be sent to info-gnu-music and
+gnu-music-discuss.
+
index ea1166057c2cbbd18ad886ebcb219985dc4bfb04..b8dbfcdf83c2b85cc88261e6ebc7eb056455be9f 100644 (file)
@@ -4,6 +4,9 @@
 .SH "NAME" 
 mudela-book \- integrate LaTeX and mudela
 .PP 
+.SH "SYNOPSIS" 
+\fBmudela-book\fP [options] inputfile
+.PP 
 .SH "DESCRIPTION" 
 \fBmudela-book\fP is a script that helps
 integrating mudela and \&.  mudela-book runs LilyPond on
@@ -29,29 +32,54 @@ then LilyPond is run on CONTENTS\&.  mudela-book puts the result back,
 surrounded by \f(CW\epreMudelaExample\fP and \f(CW\epostMudelaExample\fP
 commands\&. The \f(CW\ebegin\fP takes the following options:
 .PP 
+.IP "floating" 
+the created graphics can be inserted in the middle of a text line, 
+not only as a separate paragraph
 .IP "fragment" 
 mudela-book adds some redtape\&. You
 can substitute voice-contents for CONTENTS in this case\&.
 .IP "verbatim" 
 CONTENTS is copied into the TeX source enclosed in a verbatim block\&.
+.IP "11pt, 13pt, 16pt, 20pt, 26pt" 
+set the fontsize to use for the music
 .PP 
-.SH "Synopsis
+.SH "OPTIONS
 .PP 
+.IP 
+.IP "--mudela-fontsize" 
+Set the fontsize to use for mudela if no fontsize is given
+as option\&.
+.IP "--force-mudela-fontsize" 
+Force all mudela to use this fontsize, overriding options
+given to \ebegin{mudela}
 .IP "--outname" 
 The name of  file to output\&. If this option  is not given,
-the output name derived from the input name\&.  The extension \fB\&.doc\fP
-is stripped, and \f(CW\&.mudtex\fP appended\&.
+the output name derived from the input name\&.
 .IP "--outdir" 
 The directory to output lilypond output and input to\&.
 .IP "--help" 
 print a short help message
+.IP "--dependencies" 
+write dependencies to outdir/filname\&.dep
+.PP 
+.SH "FILES" 
+You have to install LaTeX\&. \fBmudela-book\fP is not tested on LaTeX 2\&.09
+and will probably fail on something else than LaTeX2e\&.
+.PP 
+\fBmudela-book\fP is written in  python 1\&.5, so you have to install 
+python\&.
 .PP 
 .SH "BUGS" 
 .PP 
-Doesn\'t handle incorrect input sanely\&.   mudela-book is written in
-python, so you have install python\&.
+The LaTeX \eincludeonly{\&.\&.\&.} command is ignored\&.
+.PP 
+You get trouble if you use the --force-verbatim option and have some
+music in \efootnote{\&.\&.\&.} or \emarginpar{\&.\&.\&.}\&.
+.PP 
+Ignores almost all LaTeX commands that changes margins and linewidths\&.
 .PP 
 .SH "AUTHOR" 
 .PP 
 Han-Wen Nienhuys <hanwen@cs\&.uu\&.nl>, http://www\&.cs\&.uu\&.nl/people/hanwen
 .PP 
+Tom Cato Amundsen <tomato@xoommail\&.com>
index 6a2c615618f96053e9750f3a3cd89b9ee1e5f399..e9fc8f7a35897428c592765d1480a07d4fccee86 100644 (file)
@@ -181,10 +181,11 @@ html=                {http://www.musicwareinc.com/},
 
 @misc{Mup,
   title = {Mup},
+author = {Arkkra Enterprises},
   HTML={http://www.arkkra.com/},
   note={A program which creates PS from a script input. Although it
   comes with C source code, it is shareware.},
-  address = {P. O. Box 315 Warrenville, IL 60555 },
+  address = {P. O. Box 315 Warrenville, IL 60555},
 }
   
 @misc{MusicEase,
index cf2e0e53499804319bdd9efad473e1e1204a51f5..263986de9670dfbb4e9c30aaf182c7de228dacf0 100644 (file)
@@ -60,11 +60,11 @@ latexcommand(\def\preexample{\par})
 latexcommand(\def\postexample{\par\medskip})
 latexcommand(\def\file#1{{code(#1)}})
 
-COMMENT(urg, texinfo include breaks)
 whenhtml(
 includefile(html-disclaimer.yo-urg)
 )
 
+
 sect(Introduction)
 label(tutorial:introduction)
 latexcommand(\parindent2pc)
@@ -73,106 +73,331 @@ If you are reading this, you probably are interested in printing
 music.  LilyPond is a program that can print music from a
 specification that you, the user, supply.  Using LilyPond may be a bit
 quaint in the beginning, because you have to give that specification
-using a em(language).  That might not be what you expect if you are
-familiar with graphical interfaces.  But there are some big
-advantages: first, once you master the language, entering music can be
-done quite efficiently.  Secondly, it is possible to explain exactly
-what the meaning of a language is, i.e., the semantics are much
-clearer.  Thirdly, since the program is not interactive, no tradeoffs
-have to be made between processing speed and beauty of the output.
-
-This chapter is a gentle introduction to Mudela, the language that
-instructs LilyPond to typeset music.  We will explain Mudela by
-presenting a series of examples of Mudela input.  The corresponding
-output will be shown on the right or below, just as it was produced by
-LilyPond.
-
-We will assume that you more or less understand the basics of music notation.  
-If you are not familiar with the English terms for music notation, you 
-should consult bind(Appendix)ref(glossary): it contains a glossary 
-of musical terms along with translations in some other languages.
-
-If you want to try the examples given here, you should have a 
-look at bind(Section)ref(sec:running-lilypond) first.
-
-sect(Music copying, music definition and music entry)
-label(tutorial:copying-vs-def-vs-entry)
-
-If you have copied music before, using LilyPond may seem awkward
-to you in the beginning.  The purpose of LilyPond informally is
-explained by the term `music typesetter'.
-
-This may give the impression that the program is like a drawing tool
-and that it lets you control precisely how the music is formatted.
-This is not the case: not only does the program print musical symbols,
-LilyPond also tries to make esthetic decisions---to be precise, we
-programmed her to do what we find nop(pretty.)footnote(We formed our
-taste by looking at, and reading all about fine music engraving.  Of
-course, our taste is also bound by all the accepted rules of common
-music notation.)  You do not have complete control over what is
-happening.  Usually that is not a big loss, since good engraving is a
-very complex trade. In other words, you don't have control, so you do
-not have to worry about what is happening precisely.
-
-Secondly, we expect you to enter the meaning of the music, not the
-sheet music itself.  The input to LilyPond is a music definition,
-which is something different than notation: notation is a graphical
-system.  Put more concretely: your input to LilyPond should contain
-information like ``a dotted quarter note, pitch nop(d)sups(2).''
-LilyPond will figure out from the musical information that a black
-note head with a stem but without flag, fourth staff line, with dot
-should be printed.
-
-When you are copying music by hand from a printed score, you don't have 
-to know what the score means; you just copy the symbols.  With LilyPond 
-such a thing is not possible.  You have to enter the meaning of the 
-symbols, and this might not always be as easy.  On the other hand, once 
-entered, any piece of music can be played and transposed automatically.
-
-Finally, in some spots we will cheat a bit when it comes to musical
-definition.  Mudela has some entry modes that help to make typing
-Mudela pleasant.  For example, the phrase ``a dotted quarter note,
-pitch nop(d)sups(2)'' translates to the following longhand:
+using a em(language) named mudela.  This chapter is a gentle
+introduction Mudela.
+
+We will demonstrate the working of Mudela by presenting a examples of
+input alongside with the resulting output.  We will comment on these
+examples using English terms for notation, so if you are not familiar
+with these terms, you should consult the glossary that is distributed
+with LilyPond: it contains a list of musical terms along with
+explanations and translations in some other languages.
+
+sect(The first tune)
+label(sec:firsttune)
+
+To demonstrate what LilyPond input looks like, we start off with a
+full fledged (yet simple) example. It is somewhat convoluted version of one of the  menuets in  J.~S.~Bach's ``Clavierbuchlein".
+
+mudela(verbatim)(
+% lines preceded by a percent are comments.
+\include "paper16.ly"
+\score {
+    \notes                     % let's start music
+    \relative c'' {            % octave quotes are relative now
+       \key G;
+       \time 3/4;              % set the time signature.
+
+       d4 [g,8 a b c] d4 g, g |
+       e'4 [c8 d e fis] g4 g, g |
+       c4 [d8 c b a] b4 [c8 b a g] |
+       a4 [b8 a g fis] g2.  |
+
+       \bar ":|";              % a repeat sign
+
+
+       b'4 [g8 a b g]
+       a4 [d,8 e fis d] |
+       g4 [e8 fis g d] cis4 [b8 cis] a4 |
+       [a8-. b-. cis-. d-. e-. fis-. ]
+                               % try some super and subscripts.
+       g4 fis e |
+       fis a,  r8 cis8
+       d2.-\fermata
+       \bar "|.";
+    }
+    \paper {
+       linewidth = 10.0 \cm; % standard settings are too wide for a book
+   }
+})
+
+Before we will discuss the contents of the above, it would be best if
+you would try to enter and save this text with a text editor, compile
+it with LilyPond and view the output.  Details of this procedure may
+vary from system to system.  On a Unix system, you should enter the
+input in a file ending in file(.ly), such as file(menuet.ly).  To
+create the output, one would issue
+verb(
+       ly2dvi menuet
+)
+file(ly2dvi) is a little program that does the job of calling the LilyPond
+and  
+TeX() and adjusting page margins.
+
+If all goes well, this will create the output file file(menuet.dvi).
+To view this output, isssue the command
+verb(
+       xdvi menuet
+)
+
+[running on W32?]
+
+Now for some explanation of the input itself, we will dissect the
+input line by line
+
+verb(\input "paper16.ly")
+
+By default, LilyPond will use definitions for a staff of 20 point
+high.  If you want smaller output (e.g., 16 point), you have to import
+the setting for that size.  You can do this by including a file.
+code(\include "file") is replaced by the contents of the code(file).
+
+
+verb(\score {
+)
+
+A mudela file combines music with directions for outputting that
+music.  The music is combined with the output directions by putting
+them into a code(\score) block.
+verb(
+   \notes                      % get ready for notes
+)
+This makes LilyPond ready for accepting notes.  The percent sign
+(code(%)) introduces a line comment.  If you want make larger
+comments, you can use block comments. These are delimited by code(%{)
+and code(%})
+
+verb(
+    \relative c''              % octave quotes are relative now
+)
+As we will see, pitches are combinations of octave, note name and
+chromatic alteration.  In this scheme, the octave is indicated by using raised
+quotes (') and lowered" quotes (commas: code(,)).  The central C is denoted
+by code(c').  The C one octave higher is code(c'').  One and two
+octaves below central C is denoted by code(c) and code(c,)
+respectively.
+
+If you have to indicate the pitches in a long piece that is written in
+either a high or very low octave, you would have to type very many
+quotes.  To remedy this, LilyPond has a so-called "relative" octave
+entry mode.  In this mode, notes without quotes are chosen in such an
+octave that they are the closest to the preceding note.  If you add a
+high-quote an extra octave is added.  The lowered quote will substract
+an octave.  Because the first note obviously has no predecessor, you
+have to give the (absolute) pitch of the note to start with.
+
+verb(
+       {                         % sequential music follows
+) COMMENT(
+
+) The brace indicates that what follows is sequential music, i.e.,
+notes that are to be played and printed after each other.  This is in
+contrast with simultaneous music: notes that are to be played like a
+chord.  You should be careful not to confuse this brace with the one
+coming after code(\score).
+
+
+verb(
+       \time 3/4;              % set the time signature.
+) COMMENT(
+
+) This command changes the time signature of the current piece: this
+prints a 3/4 sign.  The 3/4 value is also used to generate bar lines
+in the right spots.
+verb(
+       \key G;
+) COMMENT(
+
+) This command changes the current key to G-major.  Notice that in the
+output, the key comes before the time signature, like it should be.
+verb(
+       d4
+) COMMENT(
+
+) This is a code(d) note.  The relative music was started with a
+code(c''), the real pitch of this note is code(d'').  The 4 is
+designates the duration of the note (it is a quarter note).
+verb(
+       [g,8
+)
+The open bracket starts a beam.  This bracket is connected to the
+following note, which is an eighth pitch code(g') (remember relative mode)
+verb(
+       a b
+)
+These are notes with pitch code(a') and code(b').  Because their
+duration is the same as the code(g), there is no need to enter the
+duration (It is not illegal to enter it anyway.  Then you would have
+to enter code(a8 b8))
+verb(
+         c]
+)
+This ends the beam started 4 notes before at the c.  In the output,
+you will notice a measure bar following this note.  You do not have to
+enter anything to make LilyPond create a bar.  Instead Lily deduce
+where bars have to be by comparing durations of notes with the current
+time signature.
+verb(
+         d4 g, g |
+)
+3 more notes.  The code(|) is a "barcheck".  When processing the
+music, LilyPond will check  that barchecks are found at the start of
+a bar precisely.  This makes it easy to spot where one left out a
+note. 
+verb(
+       e'4 [c8 d e fis]
+)
+Up till now, no notes were chromaticall altered.  Here is the first
+one that is: code(fis). Mudela by default uses Dutch note names, and
+``Fis'' is the Dutch note name for ``F
+sharp''.  However, there is no sharp sign in the output. The program
+keeps track of key signatures, and will only print accidentals if they
+are needed.
+
+The next 2 lines are  not very interesting, nothing happens what we
+haven't seen already.  The next line introduces  a small new feature:
 verb(
-\musicalpitch { 1 2 0 } \duration { 2 1 })
+       a4 [b8 a g fis] g2.  |
+)
+A duration that is to be augmented with a duration dot, is notated
+with a number followed by periods, as many as you want augmentation
+dots.
+verb(
+       \bar ":|";              % a repeat sign
+)
+Lily can not detect where you want your music to be repeated, so you
+have to instruct her: a special bar symbol can be entered by the
+code(\bar) command followed by a string that signifies the bar symbol
+that you want.  Then comes a semicolon to separate the string from the
+rest of the notes, analogously with code(\key) and code(\time).
+verb(
+     cis'4 [b8 cis] a4 |
+)
+This line shows that Lily will print an accidental if that is needed:
+the first C sharp will be printed with an accidental, the second without.
+verb(
+       [a8-. b-. cis-. d-. e-. fis-. ]
+                               % try some super and subscripts.
+)
+There is more to music than just pitches and rhythms.  An important
+aspect is articulation.  You can enter articulation signs either in an
+abbreviated form, e.g., by using code(-.) for staccato as shown above.
+
+verb(
+       fis a,  r8 cis8
+)
+Rests are denoted by the special notename code(r).  You can also make
+an invisible rest by using the special notename code(s).
+verb(d2.-\fermata)
+Finally, all articulations has a verbose form, like code(\fermata).
+The ``command'' COMMENT(Hi Adrian :-)
+code(\fermata) is not part of the core of the language (most of the
+other discussed elements are), but it is an abbreviation of a more
+complicated description of a fermata.  code(\fermata) refers to that
+abbreviation and is therefore called an em(identifier).
+
+verb(
+       }
+)
+This ends the sequential music.
+
+verb(\paper {
+           linewidth = 10.0\cm;
+})
+This specifies a conversion from music to notation output.  Most of
+the details of this conversions (font sizes, dimensions, etc.) have
+been taken care of, but  to fit the output  in this document, it has
+to be smaller.  We do this by setting the line width to 10 centimeter
+(approximately 4 inches).
+
+verb(
+       }
+)
+Finally, the last brace ends the code(\score) block.
+
+
+
+There are a couple of things to note here.  The input format tries to
+capture the meaning of em(music), and not notation.  Therefore the
+format contains musical concepts like pitches and durations, in stead
+of symbols and positions.  Second, the format tries to be
+em(context-free): a note will remain to sound the  same regardless of
+the current time signature, the key nop(etc.)COMMENT(footnote The
+code(\relative) mode is a concession to this, but a )
+
+
+The purpose of LilyPond informally is explained by the term `music
+typesetter'. As you may have figured out by now, this is not a really
+adequate name: not only does the program print musical symbols, it
+also tries to make esthetic decisions, and it also em(generates) both
+the symbols and the decisions from a high-level musical description.
+In other words, the function of LilyPond would be best described by
+`music compiler' or `music to notation compiler'.
+
+We find that ---once you master the language--- there are big
+advantages of using LilyPond over GUI oriented programs: first,
+entering music is quite efficient.  Second, it is possible to explain
+exactly what the meaning piece of mudela is, and you can transform
+these pieces automatically (eg, by transposing them).  Third, the
+program that is not interactive, so much less tradeoffs have to be
+made between processing speed and the beauty of the output: you get
+prettier output by using LilyPond.
+
+
+As you can see, the most interesting parts of the input is music
+itself, in this case the sequence of notes.  We will therefore focus
+on entering music for now.  Consequently, when we mean
+verb(\score {
+       \notes { XXXX } 
+       \paper {  }
+})
+we will leave out the the repetitive details and just print
+code(XXXX).
 
-This data is what we consider the musical em(definition).  Mudela
-has a special entry mode where you can conveniently abbreviate this to
-`code(d''4.)'.  There are some features that also make the quotes and
-numbers in `code(d''4.)'  superfluous in some cases.
 
-For those who are curious, the numbers in
-`code(\musicalpitch { 1 2 0 })'
-example mean octave, notename, and accidental respectively.  The
-numbers in `code(\duration { 2 1 })' are the (negative) logarithm of the
-duration (2 is a quarter note, 3 is an eighth note, etc.) and the number
-of augmention dots respectively.
 
 sect(When you know the notes to nop(print)ellipsis())
 
-The basic building block of music is the note.  You can have LilyPond
-print a note by specifying its pitch and duration.  The pitch of the
-central C is written as code(c').  This is in line with musicological
-notation; there this pitch is transcribed as nop(c)sups(1) or c'.  A
+The basic building block of music is the note.  We lightly touched
+notes in the previous example.  Here comes the full explanation A note
+is made of a pitch and a duration.  The pitch of the central C is
+written as code(c').  This is in line with musicological notation;
+there this pitch is transcribed as nop(c)sups(1) or c'.  A
 quarter-note duration is written as code(4).  So, to print a quarter
-note whose pitch is central C, you enter the following:
-mudela(fragment,verbatim,center)( c'4 )
-
+note whose pitch is central C, you enter the following code(c'4).
 
 subsect(Duration)
 
 The duration of a note is specified as a number: a whole note is
 denoted by 1, a half note by 2, a quarter by 4, and so on.  If you
 want to augment a duration with a dot, simply affix a period to the
-number.  Here are some random notes to show how it works.
+number.  You can also print notes longer than a whole.  You do this by
+using identifiers (code(\breve) and code(\longa):
+Here are some random notes to show how it works.
 
-mudela(fragment,verbatim)(
+verb(
+  c'\longa c'\breve  
   c'1 c'2 c'4 c'8 c'16 c'32 c'64 c'64 c'2. c'8. c'16
 )
 
+mudela()(
+\score {
+       \notes {
+         c'\longa c'\breve  
+         c'1 c'2 c'4 c'8 c'16 c'32 c'64 c'64 c'2. c'8. c'16
+        }
+        \paper {
+               linewidth = -1.0;
+               \translator { \StaffContext
+                           \remove "Staff_symbol_engraver";
+                           \remove "Bar_engraver";
+        }}}
+        
+)
+
 subsect(Basic pitches)
 
-The pitch code(c') actually consists of two parts: one part for the
+The pitch code(c')  consists of two parts: one part for the
 note name, and one for the octave.  The letter specifies which note
 name to use: note names simply are the letters code(a) to code(g).
 The number of apostrophes specifies the octave to use: the central C
@@ -186,35 +411,11 @@ commas should be added, e.g., the C in the ``contra octave'' is
 expressed as code(c,,).footnote(The comma is meant to represent a
 sunken apostrophe.)
 
-
-This example demonstrates octaves:
+This example demonstrates pitches
 mudela(fragment,verbatim,center)(
-   c,,4 c,4 c4 c'4 c''4 c'''4
-)
-
-And this example demonstrates notenames:
-mudela(center,fragment,verbatim)(
-  c'4 d'4 e'4 f'4 g'4 a'4 b'4 c''4
+   c,,4 c, c c' c'' c''' d'4 e'4 f'4 g'4
 )
 
-A rest can be entered as a note with the special name code(r), e.g.,
-mudela(fragment,verbatim,center)(r4)
-
-This already gives us enough material to make simple songs. In
-bind(Figure)ref(fig:twinkle1) a portion of the traditional song
-``Twinkle Twinkle Little Star'' is shown.
-
-latexcommand(\begin{figure}[h])
-  center(
-mudela(fragment,verbatim)(
-        c''4 c''4 g''4 g''4
-        a''4 a''4 g''2
-)
-    latexcommand(\caption{Twinkle twinkle little star (version 1)})
-    label(fig:twinkle1)
-  )
-latexcommand(\end{figure})
-
 
 subsect(Alterations)
 
@@ -224,7 +425,7 @@ pronounceable and they resemble the words for pitches in normal
 musical vocabulary.
 
 Enter flats and sharps.  In English there is no standard terse word
-for C sharp or C flat.  For this reason, we implemented a different,
+for C sharp or C flat.  For this reason, mudela uses a different,
 non-English convention for entering altered pitches: a note is made
 sharp by adding the suffix `--is' to its name, and flat by adding the
 suffix `--es'.  For a double sharp another `--is' suffix is added, for
@@ -248,270 +449,69 @@ latexcommand(\begin{table}[h])
 latexcommand(\end{table})
 
 Variations on this convention are used in a number of germanic
-languages, notably Dutch, German, Swedish, and Norwegian.  To be
-precise, LilyPond actually defaults to Dutch notenames, with
-code(aes), code(aeses), code(ees) and code(eeses) added for
-consistency.
+languages, notably Dutch, German, Swedish, and Norwegian.
 
-Throughout this document we will continue to use the Dutch names.  To make
-(Dutch) pronunciation easier, the a-flat and e-flat are contracted to
-code(as) and code(es).  Similarly, the a double flat and e double flat are
-contracted to code(ases) and code(eses).
+Throughout this document we will continue to use these names.footnote(
+  Mudela defaults to Dutch notenames.  To make (Dutch) pronunciation
+  easier, the a-flat and e-flat are contracted to code(as) and
+  code(es).  Similarly, the a double flat and e double flat are
+  contracted to code(ases) and code(eses).  For consistency, the dutch
+  names also include code(aes), code(aeses), code(ees) and
+  code(eeses)) consistency
 
 If you are not comfortable with these names, you can make your own.
 Note names for different languages are included with the example
 initialisation files, amongst others English (C sharp is abbreviated
 to code(cs)), Italian, Swedish and Norwegian.  If you want to use
-these names, you should look at bind(Section)ref(subsect:include) for
-information on how to use include files.
-
-sect(Running LilyPond)
-label(sec:running-lilypond)
-
-In the previous section some basic elements of Mudela were presented.
-We didn't want to bore you too much with repetitive details, so we
-left out some red tape that's needed for a  of Mudela in a form that is accepted
-by LilyPond.  To
-be precise, we wrote code(X Y Z), when we really meant
-verb(\score {
-   \notes { X Y Z }
-   \paper {}
-})
-We will continue to leave out the red tape this, until the time is right to explain what 
-it means.
-
-
-Because LilyPond uses a language, it  is a so called em(batch)
-program.
-This means, that you use a
-text editor (such as code(emacs) or code(vi)) to create an input
-file.  When you are done editing your input file, you save it, and you
-run LilyPond on the file.  If LilyPond finds any errors in your input file
-then nop(she)footnote(We're sure that if computer programs could have
-  gender, LilyPond would be a female computer program.  So we will
-  refer to the program as a she. This gender-bending is not to tease
-  you, dear reader.  We do it in real life as well. In the past two
-  years LilyPond has become sort of a baby daughter to us, keeping us
-  awake at night, but also providing us with lots of joy.  We hope you do
-  not mind our little aberration from the traditions of computer-manual
-  writing.) COMMENT( 
- The name LilyPond is actually sort of a girl's name.  Can you guess which
- one ?)
-will complain.  If everything went well, then she'll generate a file, that
-you can process further to view or print.
-
-Using LilyPond to print or view some music is a four-step procedure.
-To get you started we'll run down the full procedure for you.
-
-enumerate(
-it()
-Fire up your favourite editor (if you don't
-know any editors, try code(joe silly.ly)),
-and key in the example from bind(Figure)ref(fig:twinkle1), with red tape:
-verb(
-\score {
-        \notes {
-          c''4 c''4 g''4 g''4
-          a''4 a''4 g''2
-        }
-        \paper {}
-}
-)
-
-Save your file as file(twinkle.ly).footnote(The default extension for Mudela
-files is file(.ly).)
-
-it()
-Run LilyPond on your newly created file: enter code(lilypond twinkle).
-LilyPond will then print all kinds of mumbo jumbo that can safely be
-ignored.  You might see something like this:
-verb(
-GNU LilyPond 0.1.55/FlowerLib 1.1.39
-Parsing ... [/home/hanwen/musix/spacer/init/lily-init.ly[/home/hanwen/
-
-        ... stuff left out here ...
-
-                              ]  Documentation/twinkle.ly]
-Interpreting music ...[1] (time: 0.04 seconds)
-Preprocessing elements... 
-Calculating column positions ... [2]
-Approximated: 1 lines, (with an average of 4.0 columns)
-Time: 0.01 seconds
-warning: Can not solve this casting problem exactly; revert to Word_wrap
-[2]Time: 0.00 seconds
-
-Postprocessing elements...
-TeX output to twinkle.tex ...
-)
-
-All has gone well; there were some warnings but no errors.  The run
-resulted in output, a TeX file called file(twinkle.tex).
-
-file(TeX) is usually spelled TeX().  It is a batch program for
-typesetting text. It was developed by the great programmer and
-scientist Donald Knuth to typeset his famous bookseries em(The Art of
-Computer Programming).  As you can see, TeX() can be adapted to do a
-lot more.  whenlatex(In fact, the document that you are reading now was also
-produced with TeX().) COMMENT(ugh.)
-
-
-it()
-  To do something useful with the output you have to run TeX() on it
-  first.  Run the command code(tex twinkle).  The output should resemble this:
-verb(
-This is TeX, Version 3.14159 (C version 6.1)
-(twinkle.tex
-Babel <v3.6h> and hyphenation patterns for american, dutch, loaded.
-(/home/hanwen/lib/texmf/tex/lilypond/lilyponddefs.tex
-(/home/hanwen/lib/texmf/tex/lilypond/dyndefs.tex)
-(/home/hanwen/lib/texmf/tex/lilypond/fetdefs.tex
-(/home/hanwen/lib/texmf/tex/lilypond/feta20.tex)
-(/home/hanwen/lib/texmf/tex/lilypond/lily-ps-defs.tex))) [1] )
-Output written on twinkle.dvi (1 page, 3084 bytes).
-Transcript written on twinkle.log.
-)
-  The human translation is ``everything went OK, the result is one
-  page long, and I put it in file(twinkle.dvi).''
-
-it()The file(twinkle.dvi) file is a description of how a piece of
-text looks when it is printed.  You can view it, or print it.  If you
-are using a Unix system equipped with X-Windows, then you can issue
-the command file(xdvi twinkle) to view the result.  If this is not the
-case, consult your local TeX() guru on printing and viewing DVI files.
-What is in your window should approximately look like this:
-mudela()(
-\score {
-        \notes {
-          c''4 c''4 g''4 g''4
-          a''4 a''4 g''2
-        }
-        \paper { linewidth = 13.\cm; }
-}
-)
-
-it()
-If you want to print file(twinkle.dvi), you should invoke the command
-code(dvips twinkle).  Running this command should generate a
-PostScript file called file(twinkle.ps).  This file can be printed on
-any PostScript compatible printer.  You should not use any other
-tools: the output from LilyPond contains fragments of PostScript which
-will not print correctly if you don't use PostScript.  If your printer
-doesn't understand PostScript, you should check out GhostScript, a
-PostScript emulator.
-)
-
-
-
-The four-pass procedure sketched above is a bit clumsy.  Moreover, the
-result is pretty crude: the page does not include prettily printed
-titles and if you are unlucky, the margins don't come out well.  Jan
-Arne Fagertun wrote a tool to take the above steps out of your hands,
-make neat margins and print titling.  The tool is called file(ly2dvi),
-and it should be on your system if you use Lily on a Unix platform.
-If you use file(ly2dvi), then you can do verb(ly2dvi twinkle.ly ) in
-stead of steps 2 and 3.  You will feel the real advantage of using
-file(ly2dvi) when you add titling to the music.  This is something
-that we will discuss in bind(Section)ref(tutorial:titling).
-
-
-COMMENT(This document does not cover all of Mudela.  Due to technical details,
-the precise working of Mudela is coupled to the innards of LilyPond.
-If you really want to know all the details, your best bet would be to
-get the sources to LilyPond and read the parser and scanner source.
-They are in file(lilypond-x.y.z/lily/parser.yy) and
-file(lilypond-x.y.z/lily/lexer.ll).)
-
+these names, issue code(\include "LANGUAGE.ly") where you could
+substitute code(italiano), code(deutsch) etc.  for LANGUAGE.  You
+should include these files at toplevel, i.e., before opening a
+code(\score) block.
 
 
 sect(Chords)
 
-Up till now we have only considered music that was rather simple.  All
-the music had notes going in one direction, from left to right, one
-note following the other.  You might be wondering if this is all Lily
-can do, or whether it is possible to stack notes as well (creating
-em(chords)).  Rest assured: we designed LilyPond while keeping in mind
-that she must be able to handle any notation construct that can be
-expressed conveniently.  Of course we did not leave out chords.
+The previous examples all notes   that were to be played sequentially,  one
+note following the other.  You can also use LilyPond to typeset
+chords.  You do this  by expressing in mudela simultaneous music,
+i.e.,   notes that are to be played concurrently. 
 
-In Mudela you can form a chord of several notes by enclosing them in
+In Mudela you can form simultaneous music by enclosing notes in
 pointed parentheses, bind(i.e.)bind(langle())bind(and)rangle().  ASCII
 doesn't really have these delimiters, so Mudela uses the larger-than
 (code(>)) and smaller-than (code(<)) signs instead.  For example, a
-D-major nop(chord)footnote(Recall what was said in the previous
-section about flats and sharps: the word code(fis) means an f sharp.)
-can be described by the following fragment:
+D-major chord is expressed as
 mudela(fragment,verbatim,center)(
   <d'8  fis'8 a'8 d''8>
 )
 
-  Chords can be entered in the music in the same places that notes
+Chords can be entered in the music in the same places that notes
 can.  As an example we give a snippet of ``Twinkle Twinkle Little
-Star'' in chords.  The chords may seem, slightly unconventional, but they
-only serve to show how chords work.  We've aligned the chords
-in the input on their starting beat just to help you reading it.
-This layout does not influence the typesetting result in any way.
+Star'' in chords.  The chords may seem slightly unconventional, but
+they only serve to show how chords work.  We've aligned the chords in
+the input on their starting beat just to help you reading it.  This
+layout does not influence the typesetting result in any way.
 
 mudela(verbatim, fragment)(
-  c''4             c''4              <c''4 g''4>       <c''4 e''4 g''4>
-  <c''4 e''4 a''4> <b'4 d''4 a''4>   <b'2 d''2 g''2>
-  <a'4 d''4 f''4>  <bes'4 d''4 f''4> <bes'4 c''4 e''4> <g'4 c''4 e''4>
-  <e'4 a'4 d''4>   <a4 g'4 cis''4>   <d'2 f'2 d''2>
-)
-
-
-
-sect(Shortcuts for duration)
-
-If you typed the last example into a Mudela file, you will have
-noticed that the input has lots of repetitions.  You will probably
-have made some errors with the right durations and number of
-octavation quotes.
-To save keystrokes and prevent errors Mudela
-has some handy shortcuts.  The simplest is the shortcut for
-durations.  You don't have to type the duration if it
-is the same as the last duration entered.  This saves a considerable
-number of keystrokes, and thus reduces the potential for errors.  The
-previous example can be reduced to verb(
-  c''4          c''            <c'' g''>        <c'' e'' g''>
-  <c'' e'' a''> <b' d'' a''>   <b'2 d'' g''>
-  <a'4 d'' f''> <bes' d'' f''> <bes' c'' e''> <g' c'' e''>
-  <e' a' d''>   <a g' cis''>   <d'2 f' d''>
-)
-
-
-If you entered this, you probably made some little errors with the
-right amount of quotes as well.  To remedy this, mudela has another
-feature called `relative octaves', which reduces the number of quotes
-needed.  If you want to enter large pieces of music em(now) we
-recommend you make an excursion to
-bind(Section)ref(sec:relativeoctaves) and learn about relative
-octaves.
-
-
-
-sect(Comments)
-
-If you want to make some private notes about the Mudela code that you
-entered, you can do so by inserting comments into your file.  The
-contents of these comments are ignored by LilyPond.  Mudela has two  comment
-styles: line comments and block comments.  The line comment
-is introduced by the percent sign:
-verb(
-  c''4
-  c''4   % shouldn't this be a different pitch?
+  \relative c' {
+  \time 2/4;
+  c4       c            <c g'>    <c e g>
+  <c e a>  <b d a'>     <b2 d g>
+  <a4 d f> <bes d f>    <bes c e> <g c e>
+  <e a d>  <a, g' cis'> <d2 f d'>
+  }
 )
 
-Block comments are enclosed in code(%{) and code(%}).
-
-verb(
-  c''4
-       %{
-       Ludwig van Bavaria's  original manuscript has an fffff dynamic sign.  
-       Clearly one can see the onset of paranoid schizophrenia in the
-       composer from these subtle nuances in his writings.
-       %}
-  c''4 
+You can nest simultaneous and sequential music in any way you want,
+e.g.,
+mudela(verbatim,fragment)(
+       < { c''4 c''4 }
+         { c8 <c e> c <c e> } >
 )
+As you can see, LilyPond has some difficulty typesetting this
+elegantly.  To adequately solve this, you have to persuade LilyPond to
+make separate stems for both sequential music lists.   This is a topic
+that is covered in bind(Section)ref(sec:polyphonic).
 
 
 sect(Adding nuances: articulation and dynamics)
@@ -533,17 +533,21 @@ articulation marks such as staccato and tenuto.  They are shown in the
 following example:
 
 mudela()(
-\score{ \notes {
-       \property Voice.textstyle = typewriter
-        c''4-._"c''4-." s4
-        c''4--_"c''4--"  s4
-        c''4-+_"c''4-+" s4
-        c''4-|_"c''4-|" s4
-        c''4->_"c''4->"  s4
-        c''4-^_"c''4-\\^{ }"  s4 }
-       \paper { linewidth = 12.\cm; }})
-
-
+\score{ <
+       \property Score.textstyle = typewriter
+       \type Staff \notes {
+               c''4-.
+               c''4--
+               c''4-+
+               c''4-|
+               c''4->
+               c''4-^
+               }
+       \type Lyrics\lyrics {
+             "."4 "-" "+" "|" ">" "\^{ }" }
+       >
+       \paper { linewidth = 12.\cm; }
+})
 
 Text and digits for fingering can be entered in the same manner: add a
 dash and the text or digit to be printed:
@@ -585,49 +589,38 @@ the stopping marker is the closing parenthesis.
 For example:
 mudela(fragment,center,verbatim)( c'4( )c'4 )
 
-otice that the parentheses should be between the notes.footnote(The
+Notice that the parentheses should be between the notes.footnote(The
 location of the parentheses might be changed in a future version of
 the language.)
 
 It is your job to make sure that each slur that you start also ends.
 If it doesn't end, then Bad Things are likely to happen.  The slur is
-quite flexible: you can nest nop(slurs,)footnote(This is inconsistent when
-compared to the syntax for articulation hints.  This will probably be
-fixed soon.) and you can connect a note with a slur on both the left and the
-right side:
+quite flexible: you can nest nop(slurs,)footnote(This is inconsistent
+when compared to the syntax for articulation hints.  This will be
+fixed some time, we hope.) and you can connect a note with a slur on
+both the left and the right side:
 
 mudela(fragment,verbatim,center)(
   c'4((   )c''4 )c'4( )g'4 
 )
 
-Another spanner is the beam (see bind(Figure)ref(mud:beam)).  It
-indicates the duration of the connected notes, and thus it acts like an
-extended version of the flag.  Secondly, the pattern of
-left/right-pointing beams hints at the metric structure of the
-measure.
-
+Another spanner is the beam (see bind(Figure)ref(mud:beam)).  Strictly
+speaking, a beam is not a musical concept.  The pattern of a beam can
+be derived from the structure of the time signature and the durations
+of the notes. It is merely a device that helps you understand the
+rhythms notated. Unfortunately, LilyPond is not smart enough to insert
+beams into your music on her own. You will have to instruct her by
+marking the starting and stopping point of the beam with `code([)' and
+`code(])' respectively, e.g.
 
 latexcommand(\begin{figure}[h])
   center(
-    mudela(fragment)([c'8 c'8] [c'16 c'16 c'16 c'16] [c'16. c'32 c'32 c'16.] )
+    mudela(fragment,verbatim, center)([c'8 c'] [c'16 c' c' c'] [c'16. c'32 c' c'16.] )
     latexcommand(\caption{Some beams})
     label(mud:beam)
   )
 latexcommand(\end{figure})
 
-
-Strictly speaking, a beam is not a musical concept.  The pattern of a
-beam can be derived from the structure of the time signature and the durations
-of the notes. It is merely a device that helps you understand the
-rhythms notated. Unfortunately, LilyPond is not smart enough to insert
-beams into your music on her own. You will have to instruct her by
-marking the starting and stopping point of the beam with `code([)' and
-`code(])' respectively, e.g.
-
-mudela(fragment,verbatim,center)(
-  [g'8 g'8]
-)
-
 LilyPond has code that guesses what the pattern should look like, so
 that you don't have to specify the beaming for complicated
 patterns.footnote(Unfortunately the algorithm used is not foolproof yet:
@@ -640,8 +633,7 @@ A third spanner is similar to the slur: the tie.  The tie looks like a
 slur, but a slur connects whole chords, whereas the tie connects
 note heads.  Tied notes should be played as one long note.
 In analogy with TeX()'s tie (which  ties together words with a
-space), LilyPond's tie is entered as a tilde, ~.  
-mudela(verbatim,center,fragment)(c''1 ~ c''4)
+space), LilyPond's tie is entered as a tilde, `code(~)'.  
 
 The input convention for the tilde is somewhat peculiar when used in
 conjunction with chords.  Internally, the extra information that is
@@ -649,30 +641,25 @@ represented by the tilde has to be attached to a note (or to a rest,
 for that matter).  For this reason, you can't put the tilde between
 two chords (as in code( <c' g'> ~ <c' g'>)).  The tilde sign must be
 directly after a note of the chords.  It does not matter which
-one. The following example demonstrates this:
+one. The following example demonstrates the use of ties:
 mudela(fragment,verbatim,center)(
+  c''1 ~ c''4
   <c'1 ~  g' es''> <c'4 g' es''> 
 )
 
 sect(Commands)
 label(sec:commands)
 
-Up till now, we only printed notes, and correspondingly only entered
-notes. But notation contains many other constructs, constructs that
-help you with reading those notes.  Examples of such constructs are
-clefs, time signatures, keys etc.
-
-If you look carefully at the example in
-bind(Figure)ref(fig:twinkle1), you will notice that the output
-includes some bar lines and clefs, and that there are no references to
-those in the input.  They were generated automatically.
-
-Not all such hints can be inserted automatically, and you can also
+We have focused on printing notes. Notation contains many other
+constructs, constructs that help you with reading those notes.
+Examples of such constructs are clefs, time signatures, keys etc.
+LilyPond will try to generate these constructs as much as possible,
+but not all such hints can be inserted automatically, and you can also
 override some of the settings.  This can be done by inserting various
 commands between the music.  The general form of these commands is
-center(
-  em(keyword) sc(arguments)
-)
+COMMENT(
+
+)center( em(keyword) sc(arguments) )
 
 em(keyword)s are words that have a special meaning to the parser of
 Mudela.  Because the parser must be able to distinguish the keywords
@@ -805,143 +792,6 @@ verb(
   \time 2/4; <c4 e g>
 )
 
-
-
-sect(Complex music: more than one staff)
-label(tutorial:more-staffs)
-
-
-Now we explain how to typeset music that runs in multiple staffs.
-Consider the following---somewhat unrealistic---example:
-
-mudela(fragment)(
- \type GrandStaff <e'4 {\clef bass; g4^""} >
-)
-
-  The music consists of two notes.  Perhaps this is sheet music for a
-piano player, and one note is meant to be played with the left hand,
-and the other with the right hand.  That music would sound the same if
-it were written as a single chord on a single staff, i.e.,
-mudela(fragment)(
-  <g4 e'4>
-)
-
-
-This is another example where we can see that there can be a difference
-between a musical idea, and the way it is expressed in notation.
-
-The Mudela construct for multiple staffs reflects the similarity
-between the two examples: to get multiple staffs in Mudela you enter a
-chord, with an additional instruction to tell LilyPond that the chord
-does not represent notes stacked together, but staffs stacked
-together.
-
-If a piece of music is to be interpreted as a staff, then this can be
-expressed with the code(\type) construct.  The following input says
-``the quarter note with pitch e should be put on a staff.''
-
-verb(
-  \type Staff e'4 
-)
-
-The same can be done for the other note, i.e.,
-
-verb(
-  \type Staff g4 
-)
-
-If you want to stack these staffs, you must create a chord of both:
-
-verb(
-  < \type Staff e'4
-    \type Staff g4 
-  >
-)
-
-This looks reasonable, but the effect of this input is not what you
-might expect (try it!).  When interpreting this chord LilyPond will
-start with the first entry.  She'll look for a (nameless) staff.  Such a
-staff is not found, so it is created.  On this staff the code(e) note
-is put.  When the second code(\type) entry is read, LilyPond will
-start looking for a nameless staff.   The  staff that contains  the
-code(e) is found, and the code(g) is put there as well.
-
-The correct solution is to label both code(\type) constructs with
-different names, for example code(trebleStaff) and code(bassStaff).
-This makes LilyPond distinguish between them, and create two staffs:
-
-mudela(verbatim,fragment)(
-  < \type Staff = trebleStaff e'4
-    \type Staff = bassStaff  g4 
-  >
-)
-
-The names that you choose do not matter just as long as they are
-different.  This is almost right, except for the brace at the left and
-the clef of the second staff.  The bass clef will be taken care of in
-the next section. If you want a brace, then you have to tell LilyPond
-that the chord you just formed is to be interpreted as a so-called
-grand staff.  This is also done with the code(\type) command.
-mudela(verbatim,fragment)(
-  \type GrandStaff <
-     \type Staff = treblestaff  e'4 
-     \type Staff = bassstaff  g4 
-  >
-)
-
-sect(Appending instead of stacking: sequential music)
-label(tutorial:voice)
-
-The previous section dealt with a pretty hypothetical situation: sheet
-music with two staffs and each staff containing only one single note.
-In real-life situations staffs contain more than one note.  They
-contain music that has to be played in sequence.  A staff can contain
-a em(voice).  We haven't learned  how to make a voice yet: we need a
-new construct to express this notion of `voice'.
-
-The construct is called em(sequential) music.  A list of musical
-objects (e.g., notes, chords or commands) can be made into sequential
-music by enclosing the list in braces; for example:
-
-mudela(fragment,verbatim,center)(
-  { c'4 c'4 }
-)
-mudela(fragment,verbatim,center)(
-  { <c'4 e'> <e' g'> }
-)
-
-
-We could have called this construct more colloquially `voice', but
-this would cause confusion later on, when a second kind of voice
-enters the scene.  Similar confusion might arise from the word
-`chord', therefore from now on, we will talk about `simultaneous
-music', when we refer to items enclosed in < and >.
-
-
-The notion of a em(new) construct needs some explanation: we have been
-using sequential music all the time, except that it was hidden in the
-red tape in bind(Section)ref(tutorial:introduction).
-
-
-
-If we want to put whole voices onto a staff, then we have to
-substitute sequential music for the single notes in the example from
-the previous section.  A code(\clef) command in the second piece of
-sequential
-music  will also set the clef in
-the bass staff.
-mudela(fragment,verbatim)(
-    \type GrandStaff <
-     \type Staff = treblestaff  { e'4 f'}
-     \type Staff = bassstaff  {\clef "bass"; g a }
-  >
-)
-
-COMMENT(You can nest simultaneous music and chords in any way you want.  If
-you are interested in the entire story, you should consult
-bind(Chapter)ref(chap:features), which has a grammar in
-bind(Section)ref(sec:grammar).)
-
 sect(Notation context)
 
 This section is about translation contexts, a topic of LilyPond that
@@ -954,8 +804,7 @@ In bind(Section)ref(tutorial:more-staffs) it was explained, that there
 are more ways to notate a simple chord: as a single voice on a single
 staff or in multiple staffs (and we'll soon see, that you can typeset
 it as multiple voices on a  staff).  Obviously the concept of staff is not
-really something musical.  But what is it then?
-
+really something musical.  But what is it
 
 The most simplistic explanation is: a staff is a peculiarity of the
 notation system.  In other words, a staff is a graphic device, a
@@ -963,11 +812,11 @@ special picture of five lines on which one can print note heads.  To
 avoid confusion, we will call this view on the concept of staff
 `staff symbol' from now on.
 
-
 There is more to it than meets the eye and mind.  A staff
 contains---besides a staff symbol--- some more components:
 itemize(
-it()A staff can a have a key signature (printed at the left)
+it()A staff can  have a key signature (printed at the left)
+it()A staff can have a time signature (printed at the left)
 it()A staff has bar lines
 it()A staff has a clef (printed at the left)
 )
@@ -979,14 +828,12 @@ mudela()(\score{
 \paper { 
   linewidth = -1.;
   \translator {
-    \type "Line_group_engraver_group";
-    \name Staff ;
-    defaultclef = violin;
-
-    \consists "Timing_engraver";
-    \consists "Separating_line_group_engraver";
-
-    \accepts "Voice";
+  \StaffContext
+  \remove "Time_signature_engraver";
+  \remove "Bar_engraver";
+  \remove "Staff_symbol_engraver";
+  \remove "Clef_engraver";
+  \remove "Key_engraver";
   }
  }
 })
@@ -1002,15 +849,14 @@ mudela()(
   \notes \relative c' {  \time 2/4; g'4 c,4 a'4 f4 e c d2 }
   \paper{
   linewidth = -1.;
-    \translator {
-    \type "Line_group_engraver_group";
-    defaultclef = violin;\name Staff;
-    \consists "Time_signature_engraver";
-    \consists "Separating_line_group_engraver";
-    \accepts "Voice";
-  }
- }
-})
+\translator{
+  \StaffContext
+  \remove "Bar_engraver";
+  \remove "Staff_symbol_engraver";
+  \remove "Clef_engraver";
+  \remove "Key_engraver";
+  }}
+ })
 
 Technically speaking you know where the strong and weak beats are, but
 it is difficult to find them quickly.   Bar lines  help you in finding
@@ -1020,16 +866,14 @@ mudela()(
   \notes \relative c' {  \time 2/4; g'4 c,4 a'4 f4 e c d2 }
   \paper{
   linewidth = -1.;
-    \translator {
-    \type "Line_group_engraver_group";
-    defaultclef = violin;\name Staff ;
-    \consists "Bar_engraver";
-    \consists "Time_signature_engraver";
-    \consists "Separating_line_group_engraver";
-    \accepts "Voice";
+\translator{
+  \StaffContext
+  \remove "Staff_symbol_engraver";
+  \remove "Clef_engraver";
+  \remove "Key_engraver";}
   }
  }
-})
+)
 
 We can remedy part of the difficulties with reading pitches by adding a staff
 symbol:
@@ -1039,15 +883,10 @@ mudela()(\score{
 a'4 f4 e c d2 } \paper {
   linewidth = -1.;
   \translator {
-    \type "Line_group_engraver_group";
-    \name Staff ;
-    defaultclef = violin;
-    \consists "Bar_engraver";
-    \consists "Time_signature_engraver";
-    \consists "Staff_sym_engraver";
-    \consists "Separating_line_group_engraver";
-
-    \accepts "Voice";
+  \StaffContext
+
+  \remove "Clef_engraver";
+  \remove "Key_engraver";
   }
  }
 })
@@ -1057,22 +896,9 @@ know what the pitches of the notes above are.  So this is still not
 enough.  But suppose you see the following notation:
 mudela()(\score {
   \notes \relative c' {\clef alto;  \time 2/4; g'4 c,4 a'4 f4 e c d2 }
-\paper {
-  linewidth = -1.;
-   \translator {
-    \type "Line_group_engraver_group";
-    \name Staff;
-     defaultclef = violin;
-    \consists "Bar_engraver";
-    \consists "Time_signature_engraver";
-     \consists "Clef_engraver";
-     \consists "Staff_sym_engraver";
-     \consists "Timing_engraver";
-     \consists "Separating_line_group_engraver";
-
-    \accepts "Voice";
+  \paper {
+    linewidth = -1.;
   }
- }
 })
 
 Now you know the pitch of the notes: you look at the start of the line
@@ -1082,11 +908,11 @@ interpreted!
 
 So the context determines the relationship between a piece of music
 and its notation: you, the reader, use context to deduce music from
-notation.  Because LilyPond is a notation ``writer'' instead of a
-reader, context works the other way around for Lily: with context a
-piece of music can be converted to notation.
-The components of a staff form context, and context is needed to read
-and write notation.  This motivates the following definition.
+notation.  Because LilyPond is a notation writer instead of a reader,
+context works the other way around for Lily: with context a piece of
+music can be converted to notation.  The components of a staff form
+context, and context is needed to read and write notation.  This
+motivates the following definition.
 
 quote(
 A bf(notation context) is  a conversion from music to notation.
@@ -1163,8 +989,93 @@ music notation the elements provided by context are essential to
 understanding what is notated.
 
 
+sect(Nested music: more than one staff)
+label(tutorial:more-staffs)
+
+Now we explain how to typeset music that runs in multiple staffs.
+Consider the following---somewhat unrealistic---example:
+
+mudela(fragment)(
+ \type GrandStaff <e'4 {\clef bass; g4^""} >
+)
+
+  The music consists of two notes.  Perhaps this is sheet music for a
+piano player, and one note is meant to be played with the left hand,
+and the other with the right hand.  That music would sound the same if
+it were written as a single chord on a single staff, i.e.,
+mudela(fragment)(
+  <g4 e'4>
+)
+
+
+This is another example where we can see that there can be a difference
+between a musical idea, and the way it is expressed in notation.
+
+The Mudela construct for multiple staffs reflects the similarity
+between the two examples: to get multiple staffs in Mudela you enter a
+chord, with an additional instruction to tell LilyPond that the chord
+does not represent notes stacked together, but staffs stacked
+together.
+
+If a piece of music is to be interpreted as a staff, then this can be
+expressed with the code(\type) construct.  The following input says
+``the quarter note with pitch e should be put on a staff.''
+
+verb(
+  \type Staff e'4 
+)
+
+The same can be done for the other note, i.e.,
+
+verb(
+  \type Staff g4 
+)
+
+If you want to stack these staffs, you must create a chord of both:
+
+verb(
+  < \type Staff e'4
+    \type Staff g4 
+  >
+)
+
+This looks reasonable, but the effect of this input is not what you
+might expect (try it!).  When interpreting this chord LilyPond will
+start with the first entry, so a (nameless) staff is searched.  Such a
+staff is not found, so it is created.  On this staff the code(e) note
+is put.  When the second code(\type) entry is read, LilyPond will
+start looking for a nameless staff.  The staff that contains the
+code(e) is found, and the code(g) is put there as well.
+
+The correct solution is to label both code(\type) constructs with
+different names, for example code(trebleStaff) and code(bassStaff).
+This makes LilyPond distinguish between them, and create two staffs:
+
+mudela(verbatim,fragment)(
+  < \type Staff = trebleStaff e'4
+    \type Staff = bassStaff  g4 
+  >
+)
+
+The names that you choose do not matter just as long as they are
+different.  This is almost right, except for the brace at the left and
+the clef of the second staff.  The bass clef will be taken care of in
+the next section. If you want a brace, then you have to tell LilyPond
+that the chord you just formed is to be interpreted as a so-called
+grand staff.  This is also done with the code(\type) command.
+mudela(verbatim,fragment)(
+  \type GrandStaff <
+     \type Staff = treblestaff  e'4 
+     \type Staff = bassstaff  g4 
+  >
+)
+
+
+
 
 sect(Polyphonic music (or: Notation context properties))
+label(sec:polyphonic)
+
 
 In the last section we explained that a notation context can have
 properties that influence the conversion from music to notation.  A
@@ -1352,74 +1263,21 @@ mudela(fragment,verbatim)(<
 >
 )
 
-The spacing in the above example is a bit skewed because Lily can't
-tell that the long syllables you entered are not ordinary characters,
-but expand to really small symbols.
-
-
-
-
-COMMENT(Rood is de kleur van geluk.)
-COMMENT(Dat geldt ook voor haar.)
-
+COMMENT(Groen is de kleur van geluk.)
+COMMENT(Dat geldt zeker voor Bj"ork)
 
 sect(Toplevel Mudela)
 
-Now the time has come to unravel the red tape that we have hidden from
-you in the introduction.  Mudela has a hierarchical structure for we
-have seen that sequential and simultaneous music can be nested.
-Mudela also has other `blocks' that can be nested.  The general syntax
+Back in bind(Section)ref(sec:firsttune) we said we would defer
+discussion of toplevel constructions (e.g., code(\score)) to a later
+moment in time: and now we will look at these constructions.  In
+general, Mudela looks like set of nested `blocks'.  The general syntax
 for a block is code(\keyword { ... }).
 
-When you run LilyPond, what happens is that you define music, and
-specify one (or more) conversions to apply to that music, for example
-a conversion to notation.  This is done by putting the definition of
-the music and the definition of the conversion together in a
-code(\score) block, e.g.,
-verb(
-\score {
-        % ... music ...
-        \paper {}
-})
-
-This is almost  the context that should be around all
-of the previous examples.  The precise context reads thus:
-verb(
-\score {
-        \notes { ... }
-        \paper {}
-})
-On the ellipsis, you entered what shown as the example input.
-You can see that in the
-above example, the code(\notes { ... }) forms the music, the
-code(\paper {}) is a conversion to paper (notation, that is).  The
-code(\paper) definition is copied from a default definition
-(which is in the initialisation file file(paper16.ly)).
-The paper part also contains
-the definition of the contexts.
-
-The keyword code(\notes) is analogous to the code(\lyrics) keyword.  It
-will switch the tokenizer into a mode that interprets plain words as
-note names.  If it can't recognize the words as a note name, it will
-assume that they are strings.  That is the reason why you can write
-code(\clef bass) in stead of code(\clef "bass"); most of the strings
-in code(\notes) mode can be written without quotes.
-
-The braces that you see after the code(\notes) keyword are the
-braces that are around sequential music.  Because of these braces, the
-sequences of notes in our simple examples were sequential (and not
-simultaneous).  As a result the notes were printed from left to right,
-and not stacked.
-
-sect(Identifiers)
-
-
-Now that we are comfortable with the toplevel entries in a mudela
-file, we can investigate some more of the recreations on toplevel, in
-particular em(identifiers).  Generally you can define an identifier by
-entering code(identifierName = ... )
-where there can be a variety of things on the ellipsis.
-
+We will now discuss identifiers.  Generally you can define an
+identifier by entering code(identifierName = ... ) where there can be
+a variety of things on the ellipsis.
+COMMENT(
 Here is a (partial) list of what you can abbreviate with identifiers
 at top-level.
 itemize(
@@ -1434,6 +1292,7 @@ it()Translators (to be explained in bind(Section)ref(tutorial:engravers))
 it()Integers
 it()Reals  
 )
+)
 
 When you refer
 to the abbreviated entity, you must precede code(identifierName)
@@ -1513,7 +1372,6 @@ print extracted parts and a full orchestral score from the same
 music definition.
 
 
-
 sect(Sound output)
 label(tutorial:sound)
 
@@ -1535,14 +1393,12 @@ verb(
 \score {
    ...music...
    \midi { \tempo 4 = 76; }
-}
-)
+}) COMMENT (
 
-The most useful purpose of this sound output is to prooflisten your
-files: typing errors (especially if they involve accidentals)  stand
-out when you listen.
-The output was implemented in a very rudimentary manner, so it is
-probably not worth listening to for any other reason.
+) The most useful purpose of this sound output is to prooflisten your
+files: typing errors stand out when you listen, especially if they
+involve accidentals.  The output was implemented in a very rudimentary
+manner, so it is probably not worth listening to for any other reason.
 
 
 sect(Contexts revisited: engravers)
@@ -1594,7 +1450,6 @@ verb(
 
 } )
 
-  This is encoded by the 
 
 The code(\translator) keyword opens the block for translation (or
 context) definition.  The code(\type) keyword explains to Lily that
@@ -1615,29 +1470,28 @@ which engravers should be part of the context.  The code(\consists
 "Foobar") entry really means ``add an instance of code(Foobar) to the
 translation group.''
 
+You can also declare contexts, and reference them.  This is useful in
+combination with code(\remove "..."): code(\remove) does the opposite
+of code(\consists)
 
-For example if this context should print time signatures, the definition
-should include `code(\consists "Time_signature_engraver";)'.  Again
-code(Time_signature_engraver) is a class from the source code of LilyPond.
-
-
-
-Finally, one can pre-set some properties in a context definition.
+Finally, one can pre-set some properties in a context definition.  A
+new context inherits these pre-set properties, when it is created,
+e.g., when LilyPond processes the code(\type) construct.
 
 As a practical example, we will show you how to typeset polymetric
 music, i.e., music where the meter can differ for each staff.  The
 solution is not very complicated: normally all timing information
-(time signature, rhythmic grouping) is synchronised across each staff.  In
-LilyPond this is expressed by having only one registration for timing
-information for all staffs.  To be precise, there is only one
+(time signature, rhythmic grouping) is synchronised across each staff.
+In LilyPond this is expressed by having only one registration for
+timing information for all staffs.  To be precise, there is only one
 code(Timing_engraver), and it is located in the top level context, the
 code(Score) context.
 
-All staffs use the information in the global code(Timing_engraver)
-for generating bar lines and time signatures.  In polymetric music, this timing
-information can be different for every staff, so we should redefine
-the code(Staff) context to include and the code(Score) context to exclude the
-code(Timing_engraver).  
+All staffs use the information in the global code(Timing_engraver) for
+generating bar lines and time signatures.  In polymetric music, this
+timing information can be different for every staff, so we should
+redefine the code(Staff) context to include and the code(Score)
+context to exclude the code(Timing_engraver).
 
 mudela(verbatim)(
 polymetricpaper = \paper {
@@ -1645,9 +1499,10 @@ polymetricpaper = \paper {
     \ScoreContext
     \remove "Timing_engraver";
   }
-
   \translator {
     \StaffContext
+    defaultClef = bass;
+
     \consists "Timing_engraver";
   }
 }
@@ -1669,17 +1524,19 @@ the standard initialisation file file(engraver.ly).
 sect(Urtexts and context selection)
 label(tutorial:urtext)
 
-In bind(Section)ref(tutorial:more-staffs), we have shown you how to make
-multiple staffs, and explained that you have to label every staff (or
-more precisely: different contexts), to make sure that new ones are
-created when you need them.  In this section, the real power of this
-mechanism will unveiled.
+In bind(Section)ref(tutorial:more-staffs), we have shown you how to
+make multiple staffs, and explained that you have to label every staff
+(or more precisely: different contexts), to make sure that new ones
+are created when you need them.  In this section, the real power of
+this mechanism will be unveiled.
 
-By naming other contexts that you create, you can reference other contexts
-than the current context from within the music.  For example, from within the music that you
-enter for staff code(One), one could enter a small piece of music,
-and send it to staff code(Two), e.g.,
-mudela(fragment,verbatim)(
+By naming other contexts that you create, you can reference other
+contexts than the current context from within the music.  For example,
+from within the music that you enter for staff code(One), one could
+enter a small piece of music, and send it to staff code(Two), e.g.,
+COMMENT (
+
+) mudela(fragment,verbatim)(
   <
     \type Staff = one { c''4 \type Staff = two { c4 c4 } c''4 }
     \type Staff = two { \clef bass; g,4 g,4 g,4 g,4  }    
@@ -1707,7 +1564,7 @@ It can be used as a placeholder, to attach articulation marks to.  It
 is entered as a note with the name code(s).
 
 mudela(verbatim)(
-  bach =  \notes { [c16 g e' d'] [e' g e' g] }
+  bach =  \notes \relative c { [g16 d' b' a] [b d, b' d,] }
   
   staffStuff = \notes { \clef bass; \time 4/4; s1 \bar "|."; }
   
@@ -1729,7 +1586,7 @@ mudela(verbatim)(
   }
 )
 
- The slurs that you define should be put on the music that is defined
+The slurs that you define should be put on the music that is defined
 by the code(\bach) identifier.  By labeling a code(Voice) context, and
 directing both the articulation and the notes to that same code(Voice)
 context, the articulation is put over the right notes.
@@ -1941,20 +1798,6 @@ For each instrument, you'll have something vaguely resembling verb(
 [Versions, relative mode,
  barchecks, splitting of files]
 
-subsect(Including Mudela files)
-ref(subsect:include)
-
-You can include other Mudela files  with the command code(\include):
-verb(
-\include "paper13.ly"
-\score {
-       ...
-       \paper { \paper_thirteen }
-})
-
-The file is looked for in the  standard search path.
-
-
 subsect(Grouping of staffs)
 
 subsect(Versioning)
index efbd28a923ea2c0f063a91dde5d487b0f0742e68..2b98c84a48c08aa44cfe14a730a485337a47a52a 100644 (file)
@@ -28,8 +28,10 @@ Or get the latest url(patch)(DOEXPAND(depth)/DOEXPAND(outdir)/lilypond-@TOPLEVEL
 
 nsubsect(Introduction)
 
-This is not a Fanmail/Hype page. These pages were entirely created from
-the LilyPond package-sources. 
+
+These pages were entirely created from the LilyPond package-sources.
+Sorry for poor look they have: we want to be hacking at LilyPond, and
+not at the webpages.
 
 Note: These pages are created from the latest bf(development snapshots)
 of LilyPond, specifically, this page was made from LilyPond
@@ -39,7 +41,7 @@ nsect(Sites)
 
 description(
 dit(lurl(http://www.cs.uu.nl/people/hanwen/lilypond/))Han-Wen's site.
-dit(lurl(http://www.xs4all.nl/jantien/lilypond/))Jan's site.
+dit(lurl(http://www.xs4all.nl/~jantien/lilypond/))Jan's site.
 dit(lurl(http://www.realtime.net/~daboys/lilypond/))Jeff's Windows NT Distribution site.
 )
 
diff --git a/NEWS b/NEWS
index 38cdc997dc1d6d48f5e844b68c3c09031e30e931..78c854e1cd22b8aabd0250cd57676c2c44607d59 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,46 +1,32 @@
---- ../lilypond-1.1.3/NEWS     Tue Nov 10 12:57:16 1998
-++ b/NEWS      Wed Nov 11 09:33:21 1998
-@@ -1,3 +1,6 @@
-pl 3.ms1
-        - thumb-upgrade
+1.1.4
+
+pl 3.tca1
+       - accordion symbols in mf/feta-accordion.mf and
+         init/accordion-defs.ly.
+       - small changes to mudela-book and Documentation/man/mudela-book.yo
+       - mudela-book example file in Documentation/tex/mudela-book-doc.doc
 
- pl 2.jcn2
- pl 2.uu1--- ../lilypond-1.1.3.jcn4/NEWS       Mon Nov  9 21:14:59 1998
-++ b/NEWS      Mon Nov  9 22:53:55 1998
-@@ -1,3 +1,9 @@
 pl 3.jcn5
-       - bf: dashed-slur
-       - bf: LilyIdString
-       - more star fixes
-       - repeatbar fixes
-
- pl 3.jcn3
-       - GrandStaffContext
-       - mup-to-ly.py: version 0.0--- ../lilypond-1.1.3.jcn3/NEWS      Mon Nov  9 18:07:04 1998
-++ b/NEWS      Mon Nov  9 21:14:59 1998
-@@ -1,4 +1,5 @@
- pl 3.jcn3
-       - GrandStaffContext
+        - bf: dashed-slur
+        - bf: LilyIdString
+        - more star fixes
+        - repeatbar fixes
+
+pl 3.jcn3
        - mup-to-ly.py: version 0.0
        - init/test/stars-and-stripes.ly (from star.mup)
- --- ../lilypond-1.1.3.jcn2/NEWS       Mon Nov  9 18:19:50 1998
-++ b/NEWS      Mon Nov  9 18:07:04 1998
-@@ -1,3 +1,10 @@
-pl 3.jcn3
-       - mup-to-ly.py: version 0.0
-       - init/test/stars-and-stripes.ly (from star.mup)
+       - GrandStaffContext
+  
+pl 3.hwn1
+       - junked musical info from key-item
+       - tutorial fixes.
 
 pl 3.jcn2
-       - bf: font switch
-
- pl 2.jcn2
+       - bf: font switch
  
- pl 2.uu1pl 3.tca1
-       - accordion symbols in mf/feta-accordion.mf and
-         init/accordion-defs.ly.
-       - small changes to mudela-book and Documentation/man/mudela-book.yo
-       - mudela-book example file in Documentation/tex/mudela-book-doc.doc
+******
+1.1.3
+
 pl 2.jcn2
 
 pl 2.uu1
diff --git a/VERSION b/VERSION
index 7c0750cc49d53530b23206289737f8b85f81df1b..66f4cf93b6434729ba938ee098b520290fddff70 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=1
-PATCH_LEVEL=3
-MY_PATCH_LEVEL=ms1
+PATCH_LEVEL=4
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 7a656787df86898c34472801987001860d2a649c..aa3a5382bec85b4b98866e9f45bb5d598cc0105e 100644 (file)
@@ -20,7 +20,7 @@ StaffContext=\translator {
        \consists "Key_engraver";
        \consists "Local_key_engraver";
        \consists "Time_signature_engraver";
-       \consists "Staff_sym_engraver";
+       \consists "Staff_symbol_engraver";
        \consists "Collision_engraver";
        \consists "Rest_collision_engraver";
        \consists "Tuplet_engraver";
@@ -77,7 +77,7 @@ RhythmicStaffContext=\translator{
        \name RhythmicStaff;
        \consists "Bar_engraver";
        \consists "Time_signature_engraver";
-       \consists "Staff_sym_engraver";
+       \consists "Staff_symbol_engraver";
        \accepts "Voice";
 };
 \translator{\RhythmicStaffContext}
@@ -208,7 +208,7 @@ HaraKiriStaffContext = \translator {
        \consists "Key_engraver";
        \consists "Time_signature_engraver";
        \consists "Local_key_engraver";
-       \consists "Staff_sym_engraver";
+       \consists "Staff_symbol_engraver";
        \consists "Collision_engraver";
        \consists "Rest_collision_engraver";
        \consists "Staff_margin_engraver";
index a0525888153081ee3c3751cee53bbb3722f2ce88..8cd3f0eabe68fd60bdaed30ffe42c79c36c35af7 100644 (file)
 
 (define 
   (start-line-tex) 
+  (string-append 
    "\\hbox{%\n")
+  )
+
 
 (define
   (startbar o h)
   (string-append "\\set" f "{" s "}"))
 
 
+
index 9255f63cfb60ea1b05f52ea80d698351c381cf0e..cddf6c89fd0c1a8d9d457071a09b5a984e3431d1 100644 (file)
@@ -106,7 +106,7 @@ bool
 Barcheck_req::do_equal_b (Request*r) const
 {
   Barcheck_req *b = dynamic_cast<Barcheck_req*> (r);
-  return r;
+  return b;
 }
 
 
index f2638e0603e13cc6f8a9e6641e2ec1f70cf609a5..3966c6ad44119c8837c30f59156c7ed1ef0aea6b 100644 (file)
@@ -17,7 +17,7 @@ Idealspacing::print() const
 #ifndef NPRINT
   DOUT << "idealspacing {" ;
   DOUT << "distance " << space_f_ << " strength " << hooke_f_;
-  DOUT << "left " << left_i_ << " right " << right_i_ << "}\n";
+  DOUT << "left " << cols_drul_[LEFT] << " right " << cols_drul_[RIGHT] << "}\n";
 #endif
 }
 
@@ -25,8 +25,7 @@ Idealspacing::Idealspacing()
 {
   space_f_ = 0.0;
   hooke_f_ = 0.0;
-  left_i_ = -1;
-  right_i_ = -1;
+  cols_drul_[LEFT] = cols_drul_[RIGHT] = -1;
 }
 
 void
diff --git a/lily/include/afm-reader.hh b/lily/include/afm-reader.hh
deleted file mode 100644 (file)
index 64faa2a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-
-/*   
-  afm-reader.hh -- declare 
-  
-  source file of the GNU LilyPond music typesetter
-  
-  (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-  
- */
-
-#ifndef AFM_READER_HH
-#define AFM_READER_HH
-
-class Adobe_font_metric_file
-{
-  Adobe_font_metric_file
-  
-};
-
-
-#endif /* AFM_READER_HH */
-
index d3f1997b5e2e7dfefc3a154079766639ed0e4cec..8254bbeb9255a11b59514b8d6662ee4dcff7e3fa 100644 (file)
@@ -8,10 +8,10 @@
 #define AUDIO_COLUMN_HH
 
 #include "proto.hh"
-#include "pcursor.hh"
 #include "plist.hh"
 #include "lily-proto.hh"
 #include "moment.hh"
+#include "pcursor.hh"
 
 
 /**
index 20ff60fee5bf6f8673c096d13c0e9f5779f287b5..2b2b72aab82550bffe1415af7535702dc8e930f0 100644 (file)
@@ -7,6 +7,7 @@
 #ifndef IDEALSPACING_HH
 #define IDEALSPACING_HH
 #include "lily-proto.hh"
+#include "drul-array.hh"
 
 /// ideal spacing between two columns
 struct Idealspacing {
@@ -18,8 +19,7 @@ struct Idealspacing {
   Real hooke_f_;
 
   /// the two columns
-  int left_i_;
-  int right_i_;
+  Drul_array<int> cols_drul_;
     
   Real energy_f (Real x) const;
   void print() const;
index f8e3747b58cba51b4ae719f56dd7751e6980a426..e259c145e7400f2c797fcbdc767fbe17d1612550 100644 (file)
@@ -30,13 +30,7 @@ struct Key_item : Item {
 
   Key_item ();
   void add (int pitch, int acc);
-  void add (const Musical_pitch&);
   void add_old (int pitch, int acc);
-  void add_old (const Musical_pitch&);
-  void set (bool multi_octave_b,
-           Array<Musical_pitch> const &idx_arr,
-           Array<Musical_pitch> const &old_idx_arr);
-
   void set_c_position (int);
   int Key_item::calculate_position(int p, int a) const;
 
diff --git a/lily/include/simple-spacer.hh b/lily/include/simple-spacer.hh
new file mode 100644 (file)
index 0000000..1f6fc47
--- /dev/null
@@ -0,0 +1,48 @@
+/*   
+  simple-spacer.hh -- declare 
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#ifndef SIMPLE_SPACER_HH
+#define SIMPLE_SPACER_HH
+
+#include "real.hh"
+#include "array.hh"
+#include "lily-proto.hh"
+#include "list.hh"
+#include "drul-array.hh"
+
+struct Rod_info {
+  Real distance_f_;
+  Drul_array<int> cols_;
+};
+
+struct Spring_info {
+  /// the ideal distance
+  Real space_f_;
+
+  /// Hooke's constant: how strong are the "springs" attached to columns
+  Real hooke_f_;
+
+  Real blocking_stretch_f_;
+  Rod_info * blocking_rod_l_;
+  void set (Idealspacing *);
+  Spring_info();
+};
+
+
+class Simple_spring_spacer {
+  Array<Spring_info> springs_;
+  Pointer_list<Rod_info*> rods_;
+
+  void init ();
+  Array<Real> solve ();
+  
+};
+
+#endif /* SIMPLE_SPACER_HH */
+
index 0cc98d62837979fdb884d813dd44f42dabfe70aa..8235f2aa03344e718dd1f55ca2940b218bac7982 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  staff-sym-engraver.hh -- declare Staff_sym_engraver
+  staff-sym-engraver.hh -- declare Staff_symbol_engraver
 
   source file of the GNU LilyPond music typesetter
 
 /**
   Manage the staff symbol.
  */
-class Staff_sym_engraver : public Engraver { 
+class Staff_symbol_engraver : public Engraver { 
     Staff_symbol *span_p_;
 public:
-  TRANSLATOR_CLONE(Staff_sym_engraver);
-  Staff_sym_engraver();
+  TRANSLATOR_CLONE(Staff_symbol_engraver);
+  Staff_symbol_engraver();
   DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
-  virtual ~Staff_sym_engraver();
+  virtual ~Staff_symbol_engraver();
   virtual void fill_staff_info (Staff_info&);
   virtual void do_removal_processing();
   virtual void do_creation_processing();
index e2152e224545fcd89d368dbc6397e044c925d1da..8925a26d08b7a1a65499af5bfad492420d83f469 100644 (file)
@@ -29,9 +29,30 @@ Key_engraver::create_key ()
       kit_p_ = new Key_item;
       kit_p_->break_priority_i_ = -1; // ugh
       announce_element (Score_element_info (kit_p_,keyreq_l_));
-      kit_p_->set (key_.multi_octave_b_, accidental_idx_arr_, old_accidental_idx_arr_);
+
+
+      for (int i = 0; i < accidental_idx_arr_.size(); i++) 
+       {
+         Musical_pitch m_l =accidental_idx_arr_[i];
+         int a =m_l.accidental_i_;      
+         if (key_.multi_octave_b_)
+           kit_p_->add (m_l.steps (), a);
+         else
+           kit_p_->add (m_l.notename_i_, a);
+       }
+
+      for (int i = 0 ; i< old_accidental_idx_arr_.size(); i++) 
+       {
+         Musical_pitch m_l =old_accidental_idx_arr_[i];
+         int a =m_l.accidental_i_;
+         if (key_.multi_octave_b_)
+           kit_p_->add_old (m_l.steps  (), a);
+         else
+           kit_p_->add_old (m_l.notename_i_, a);
+       }
     }
-}
+}      
+
 
 bool
 Key_engraver::do_try_request (Request * req_l)
index 7d519d3b97a025ec6399f33927a21ee0f6c92e3b..0c2476b3170cb2374f82dd13e2e6c0359f9f02f5 100644 (file)
@@ -26,32 +26,6 @@ Key_item::Key_item ()
   set_c_position (0);
 }
 
-void
-Key_item::set (bool multi_octave_b,
-              Array<Musical_pitch> const &idx_arr,
-              Array<Musical_pitch> const &old_idx_arr)
-{
-  multi_octave_b_ =multi_octave_b;
-
-  for (int i = 0; i < idx_arr.size(); i++) 
-    {
-      Musical_pitch m_l =idx_arr[i];
-      if (multi_octave_b_)
-       add (m_l);
-      else
-       add (m_l.notename_i_, m_l.accidental_i_);
-    }
-
-  for (int i = 0 ; i< old_idx_arr.size(); i++) 
-    {
-      Musical_pitch m_l =old_idx_arr[i];
-      if (multi_octave_b_)
-        add_old (m_l);
-      else
-       add_old (m_l.notename_i_, m_l.accidental_i_);
-    }
-}
-
 void 
 Key_item::set_c_position (int c0)
 {
@@ -71,13 +45,6 @@ Key_item::add (int p, int a)
   acc_arr_.push (a);
 }
 
-void
-Key_item::add (const Musical_pitch& pitch_r)
-{
-  pitch_arr_.push (pitch_r.steps());
-  acc_arr_.push (pitch_r.accidental_i_);
-}
-
 void
 Key_item::add_old (int p, int a)
 {
@@ -85,12 +52,6 @@ Key_item::add_old (int p, int a)
   old_acc_arr_.push (a);
 }
 
-void
-Key_item::add_old (const Musical_pitch& pitch_r)
-{
-  old_pitch_arr_.push (pitch_r.steps());
-  old_acc_arr_.push (pitch_r.accidental_i_);
-}
 
 int
 Key_item::calculate_position(int p, int a) const
index 67ab711c4dd8d817a3992dd0517b60bf92babf7b..94982bb10066f288b367e2710ea4211429532d07 100644 (file)
 #include "file-results.hh"
 #include "misc.hh"
 
-//#if 0                                // has w32 advanced?
-#if 1                          // cygwin-b20: nope
+#if 1                  // has w32 advanced?
+                       // nope (cygwin-b20)
+
 // sucking Cygnus egcs - w32
 #include "list.tcc"
 #include "cursor.tcc"
+
 #endif
 
 Paper_score::Paper_score ()
index c96c48c859ea4f102f863d2b20e85ec5fa464876..0618479ff278246348401b86cceed50e99b514ab 100644 (file)
@@ -174,19 +174,16 @@ Paper_outputter::output_string (String str)
 void
 Paper_outputter::switch_to_font (String fontname)
 {
-  if (fontname.length_i () && (fontname != current_font_))
+  if (fontname.length_i () && fontname != current_font_)
     {
       current_font_ = fontname;
       int i=0;
-      bool new_b = true;
+
       for (; i< font_arr_.size (); i++)
        if (font_arr_[i] == fontname)
-         {
-           new_b = false;
            break;
-         }
 
-      if (new_b)
+      if (i == font_arr_.size ())
        {
          font_arr_.push (fontname);
          output_font_def (i, fontname);
diff --git a/lily/simple-spacer.cc b/lily/simple-spacer.cc
new file mode 100644 (file)
index 0000000..46ccff0
--- /dev/null
@@ -0,0 +1,124 @@
+#include "simple-spacer.hh"
+#include "idealspacing.hh"
+// #include ""
+
+
+void
+Spring_info::set(Idealspacing *i)
+{
+  space_f_ = i->space_f_;
+  hooke_f_ = i->hooke_f_;
+}
+
+Spring_info::Spring_info()
+{
+  space_f_ = 0.0;
+  hooke_f_ = 1.0;
+  blocking_stretch_f_ = infinity_f;
+  blocking_rod_l_ = 0;
+}
+
+  
+
+void
+Simple_spring_spacer::init ()
+{
+  for (PCursor<Rod_info*> i(rods_.top()); i.ok (); i++)
+    {
+      Real hooke=0.0;
+      Real dist= i->distance_f_;
+
+      hooke =0.0;
+      
+      for (int j = i->cols_[LEFT]; j < i->cols_[RIGHT]; j++)
+       {
+         hooke += 1/springs_[j].hooke_f_;
+         dist -= springs_[j].space_f_;
+       }
+      
+      hooke = 1/hooke;
+
+      for (int j = i->cols_[LEFT]; j < i->cols_[RIGHT]; j++)
+       {
+         Real block_stretch = hooke * dist / (springs_[j].space_f_ *
+                                              springs_[j].hooke_f_ );
+
+         if (block_stretch < springs_[j].blocking_stretch_f_)
+           {
+             springs_[j].blocking_stretch_f_ = block_stretch;
+             springs_[j].blocking_rod_l_ = i.ptr ();
+           }
+       }
+    }
+}
+
+Array<Real>
+Simple_spring_spacer::solve ()
+{
+  Real start_force = 0.0;
+
+  for (int i=0; i< springs_.size (); i++)
+    {
+      start_force = start_force >?
+       springs_[i].blocking_stretch_f_ * springs_[i].hooke_f_;
+    }
+
+  Array<Real> stretch_factors;
+  Array<bool> blocked;
+  int blocked_count=0; 
+  Real current_len =0.0;
+  for (int i=0; i < springs_.size (); i++)
+    {
+      Real stretch = start_force / (springs_[i].hooke_f_ * springs_[i].space_f_);
+      stretch_factors.push (stretch);
+      current_len += (1  + stretch) * springs_[i].space_f_;
+      blocked.push(false);
+    }
+
+  while (blocked_count < blocked.size ())
+    {
+      Real      next_stretch = -1.0;
+      int block_index;
+      for (int i=0; i< stretch_factors.size (); i++)
+       {
+         if (!blocked[i])
+           {
+             next_stretch = next_stretch >? springs_[i].blocking_stretch_f_;
+
+             if (next_stretch < springs_[i].blocking_stretch_f_)
+               {
+                 next_stretch = springs_[i].blocking_stretch_f_;
+                 block_index = i;
+               }
+           }
+       }
+      current_len = 0.0;
+
+      Real force = next_stretch * (springs_[block_index].space_f_* springs_[block_index].hooke_f_);
+      for (int i=0; i< stretch_factors.size (); i++)
+       {
+         if (!blocked[i])
+           {
+             stretch_factors[i] = force / (springs_[i].space_f_ * springs_[i].hooke_f_);
+           }
+         current_len += (1.0 + stretch_factors[i]) * springs_[i].space_f_;
+       }
+
+      Rod_info *blockrod = springs_[block_index].blocking_rod_l_;
+      for (int j = blockrod->cols_ [LEFT]; j < blockrod->cols_ [RIGHT]; j++)
+       {
+         blocked[j] = true;
+         blocked_count ++;
+       }
+    }
+
+
+  Array<Real> distances;
+  for (int i=0; i < stretch_factors.size (); i++)
+    {
+      distances.push (stretch_factors[i] * springs_[i].space_f_);
+    }
+  return distances;
+}
+
index b10b0ba8bf8caca3bb6a687c3d6d995abc593866..65a7c1336d352478733c7d8d3002ffd0b4035201 100644 (file)
@@ -68,7 +68,7 @@ Spring_spacer::handle_loose_cols()
   Array<int> fixed;
   for (PCursor<Idealspacing*> i (ideal_p_list_.top()); i.ok (); i++)
     {
-      connected.connect (i->left_i_,i->right_i_);
+      connected.connect (i->cols_drul_[LEFT],i->cols_drul_[RIGHT]);
     }
   for (int i = 0; i < cols_.size(); i++)
     if (cols_[i].fixed_b())
@@ -240,8 +240,8 @@ Spring_spacer::make_matrices (Matrix &quad, Vector &lin, Real &c) const
 
   for (PCursor<Idealspacing*> i (ideal_p_list_.top()); i.ok (); i++)
     {
-      int l = i->left_i_;
-      int r = i->right_i_;
+      int l = i->cols_drul_[LEFT];
+      int r = i->cols_drul_[RIGHT];
 
       quad (r,r) += i->hooke_f_;
       quad (r,l) -= i->hooke_f_;
@@ -295,7 +295,7 @@ Spring_spacer::calculate_energy_f (Vector solution) const
   Real e = 0.0;
   for (PCursor<Idealspacing*> i (ideal_p_list_.top()); i.ok(); i++)
     {
-      e += i->energy_f(solution(i->right_i_) - solution(i->left_i_));
+      e += i->energy_f(solution(i->cols_drul_[RIGHT]) - solution(i->cols_drul_[LEFT]));
     }
 
   return e;
@@ -411,7 +411,7 @@ Spring_spacer::loosen_column (int i)
   Column_info c=cols_.get (i);
   for (PCursor<Idealspacing*> j (ideal_p_list_.top()); j.ok (); j++)
     {
-      if (j->left_i_ == i|| j->right_i_ == i)
+      if (j->cols_drul_[LEFT] == i|| j->cols_drul_[RIGHT] == i)
        j.del();
       else
        j++;
@@ -453,8 +453,8 @@ Spring_spacer::connect (int i, int j, Real d, Real h)
 
   Idealspacing * s = new Idealspacing;
 
-  s->left_i_ = i ;
-  s->right_i_ = j;
+  s->cols_drul_[LEFT] = i ;
+  s->cols_drul_[RIGHT] = j;
   s->space_f_ = d;
   s->hooke_f_ = h;
 
index 37bb31cff338a4ba3ad17fa2e3385144f39e5c02..f3db413e82fbece411ff2a7eca1a141c3fc223ee 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  staff-sym-reg.cc -- implement Staff_sym_engraver
+  staff-sym-reg.cc -- implement Staff_symbol_engraver
 
   source file of the GNU LilyPond music typesetter
 
 
 
 void
-Staff_sym_engraver::fill_staff_info (Staff_info&i)
+Staff_symbol_engraver::fill_staff_info (Staff_info&i)
 {
   i.staff_sym_l_ = span_p_;
 }
 
-Staff_sym_engraver::~Staff_sym_engraver()
+Staff_symbol_engraver::~Staff_symbol_engraver()
 {
   assert (!span_p_);
 }
 
-Staff_sym_engraver::Staff_sym_engraver()
+Staff_symbol_engraver::Staff_symbol_engraver()
 {
    span_p_ = 0;
 }
 
 void
-Staff_sym_engraver::do_creation_processing()
+Staff_symbol_engraver::do_creation_processing()
 {
   span_p_ = new Staff_symbol;
   span_p_->set_bounds(LEFT,get_staff_info().command_pcol_l ());
@@ -37,7 +37,7 @@ Staff_sym_engraver::do_creation_processing()
 }
 
 void
-Staff_sym_engraver::do_removal_processing()
+Staff_symbol_engraver::do_removal_processing()
 {
   Scalar l (get_property ("nolines"));
   if (l.isnum_b ())
@@ -52,5 +52,5 @@ Staff_sym_engraver::do_removal_processing()
 
 
 
-IMPLEMENT_IS_TYPE_B1(Staff_sym_engraver,Engraver);
-ADD_THIS_TRANSLATOR(Staff_sym_engraver);
+IMPLEMENT_IS_TYPE_B1(Staff_symbol_engraver,Engraver);
+ADD_THIS_TRANSLATOR(Staff_symbol_engraver);
index 383facbcedb6f39b4ebebd8697c95fd3decb2133..dd3b22d06594b95104d59749c1d09f6478fe83f9 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Titel: LilyPond
-Versie: 1.1.3
-Inschrijf datum: 06NOV98
+Versie: 1.1.4
+Inschrijf datum: 10NOV98
 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.3.tar.gz 
+       770k lilypond-1.1.4.tar.gz 
 Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.1.3.tar.gz 
+       770k lilypond-1.1.4.tar.gz 
 Copi-eer voorwaarden: GPL
 End
index a049c7311efd0998567dbdef3b9b6df1e30c2725..7c9c44a1d315fbc11a983af2b6c660bea4013ad8 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 1.1.3
-Entered-date: 06NOV98
+Version: 1.1.4
+Entered-date: 10NOV98
 Description: 
 LilyPond is the GNU Project music typesetter.  This program can print
 beautiful sheet music from a music definition file.  It can also play
@@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.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.3.tar.gz 
+       770k lilypond-1.1.4.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.1.3.tar.gz 
+       770k lilypond-1.1.4.tar.gz 
 Copying-policy: GPL
 End
index cb1688b4c254d69cede1e7728580951ea5c5869e..6425ffbcfb318d3ab6006835e0962197820c7f64 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 1.1.3
+Version: 1.1.4
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.3.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.4.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>
index 9d5983726a3146b96b9acff314e53e432f1c9069..794208902e39b09f41ca236642ad0d96c3125df3 100644 (file)
@@ -4,7 +4,7 @@
 % source file of the Feta (defintively not an abbreviation for Font-En-Tja)
 % music font
 % 
-% (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+% (c) 1997, 1998 Han-Wen Nienhuys <hanwen@stack.nl>
 %      Jan Nieuwenhuizen <janneke@gnu.org>
 % 
 
@@ -69,10 +69,10 @@ fet_beginchar("Thumb", "thumb", "thumb")
         height# = 5/4 width#;
         height# = interline#;
         thin = 1.2 stafflinethickness;
-        thick =  2 thin;
+        thick =  1.4 thin;
         set_char_box(width#/2, width#/2, height#/2, height#/2);
-        
-       penpos1(thick, 0);
+
+        penpos1(thick, 0);
         penpos2(thin, 90);
         z1r = (w, 0);
         z2r = (0, h);
@@ -81,12 +81,15 @@ fet_beginchar("Thumb", "thumb", "thumb")
         addto currentpicture also currentpicture xscaled -1;
         addto currentpicture also currentpicture yscaled -1;
 
-       z3 = (0, -h);
-       z4 = (0, -1.5h);
+       pickup pencircle scaled thin;
+       save x,y;
+       z3r = (0, -h);
+       z4 = (0, -2h);
        penlabels(3,4);
-       draw_brush(z3,1.4*thin, z4,0.9*thick);
+       draw z3r -- z4;
 fet_endchar;
 
+
 %
 % FIXME: rounded endings
 %
index c8f43f0c495100d4f1d17a53c8cae80a8e052e3a..8ba58214ec1315826ab097d9e916aa0fcd3ca66d 100644 (file)
@@ -61,26 +61,69 @@ C 56; N scripts-prallprall; B -4385.30 -1375.00 4385.30 1375.00 ;
 C 57; N scripts-prallmordent; B -4385.30 -1375.00 4385.30 1375.00 ;
 C 58; N scripts-upprall; B -4385.30 -1375.00 4385.30 1375.00 ;
 C 59; N scripts-downprall; B -4385.30 -1375.00 4385.30 1375.00 ;
-C 60; N flags-u3; B -137.51 -8428.77 3393.31 137.51 ;
-C 61; N flags-u4; B -137.51 -9803.77 3393.31 137.51 ;
-C 62; N flags-u5; B -137.51 -11866.27 3393.31 137.51 ;
-C 63; N flags-u6; B -137.51 -14616.27 3393.31 137.51 ;
-C 64; N flags-d3; B -137.51 -137.51 3755.11 8016.30 ;
-C 65; N flags-d4; B -137.51 -137.51 3755.11 8428.77 ;
-C 66; N flags-d5; B -137.51 -137.51 3755.11 10766.30 ;
-C 67; N flags-d6; B -137.51 -137.51 3755.11 12141.30 ;
-C 68; N clefs-alto; B -2750.00 -5500.00 10236.10 5500.00 ;
-C 69; N clefs-alto_change; B -2200.01 -4400.02 8188.93 4400.02 ;
-C 70; N clefs-bass; B -1375.00 -6875.00 9900.02 2750.00 ;
-C 71; N clefs-bass_change; B -1100.02 -5500.03 7920.04 2200.01 ;
-C 72; N clefs-treble; B -2396.44 -8250.00 10277.13 13750.00 ;
-C 73; N clefs-treble_change; B -2082.15 -6600.04 8056.75 11000.06 ;
-C 74; N timesig-C4/4; B -4950.01 -2750.00 4674.99 2750.00 ;
-C 75; N timesig-C2/2; B -4950.01 -3849.99 4674.99 3849.99 ;
-C 76; N timesig-old4/4; B -4812.50 -2062.50 4812.50 2062.50 ;
-C 77; N timesig-old2/2; B -4812.50 -2750.00 4812.50 2750.00 ;
-C 78; N timesig-old3/2; B -4812.50 -2062.50 4812.50 2062.50 ;
-C 79; N timesig-old6/4; B -4812.50 -3437.50 4812.50 3437.50 ;
-C 80; N timesig-old9/4; B -4812.50 -3437.50 4812.50 3437.50 ;
+C 60; N scripts-accDiscant; B -4949.98 0.00 4949.98 9899.96 ;
+C 61; N scripts-accDiscantF; B -4949.98 0.00 4949.98 9899.96 ;
+C 62; N scripts-accDiscantEh; B -4949.98 0.00 4949.98 9899.96 ;
+C 63; N scripts-accDiscantE; B -4949.98 0.00 4949.98 9899.96 ;
+C 64; N scripts-accDiscantFE; B -4949.98 0.00 4949.98 9899.96 ;
+C 65; N scripts-accDiscantFEh; B -4949.98 0.00 4949.98 9899.96 ;
+C 66; N scripts-accDiscantEE; B -4949.98 0.00 4949.98 9899.96 ;
+C 67; N scripts-accDiscantFEE; B -4949.98 0.00 4949.98 9899.96 ;
+C 68; N scripts-accDiscantEEE; B -4949.98 0.00 4949.98 9899.96 ;
+C 69; N scripts-accDiscantFEEE; B -4949.98 0.00 4949.98 9899.96 ;
+C 70; N scripts-accDiscantS; B -4949.98 0.00 4949.98 9899.96 ;
+C 71; N scripts-accDiscantFS; B -4949.98 0.00 4949.98 9899.96 ;
+C 72; N scripts-accDiscantES; B -4949.98 0.00 4949.98 9899.96 ;
+C 73; N scripts-accDiscantEhS; B -4949.98 0.00 4949.98 9899.96 ;
+C 74; N scripts-accDiscantFES; B -4949.98 0.00 4949.98 9899.96 ;
+C 75; N scripts-accDiscantFEhS; B -4949.98 0.00 4949.98 9899.96 ;
+C 76; N scripts-accDiscantEES; B -4949.98 0.00 4949.98 9899.96 ;
+C 77; N scripts-accDiscantFEES; B -4949.98 0.00 4949.98 9899.96 ;
+C 78; N scripts-accDiscantEEES; B -4949.98 0.00 4949.98 9899.96 ;
+C 79; N scripts-accDiscantFEEES; B -4949.98 0.00 4949.98 9899.96 ;
+C 80; N scripts-accDiscantSS; B -4949.98 0.00 4949.98 9899.96 ;
+C 81; N scripts-accDiscantESS; B -4949.98 0.00 4949.98 9899.96 ;
+C 82; N scripts-accDiscantEESS; B -4949.98 0.00 4949.98 9899.96 ;
+C 83; N scripts-accDiscantEEESS; B -4949.98 0.00 4949.98 9899.96 ;
+C 84; N scripts-accFreebass; B -3299.99 0.00 3299.99 6599.98 ;
+C 85; N scripts-accFreebassF; B -3299.99 0.00 3299.99 6599.98 ;
+C 86; N scripts-accFreebassE; B -3299.99 0.00 3299.99 6599.98 ;
+C 87; N scripts-accFreebassFE; B -3299.99 0.00 3299.99 6599.98 ;
+C 88; N scripts-accStdbass; B -6599.98 0.00 6599.98 13199.95 ;
+C 89; N scripts-accStdbassM; B -6599.98 0.00 6599.98 13199.95 ;
+C 90; N scripts-accStdbassBp; B -6599.98 0.00 6599.98 13199.95 ;
+C 91; N scripts-accStdbassT; B -6599.98 0.00 6599.98 13199.95 ;
+C 92; N scripts-accStdbassTp; B -6599.98 0.00 6599.98 13199.95 ;
+C 93; N scripts-accBayanbass; B -3299.99 0.00 3299.99 9899.96 ;
+C 94; N scripts-accBayanbassT; B -3299.99 0.00 3299.99 9899.96 ;
+C 95; N scripts-accBayanbassE; B -3299.99 0.00 3299.99 9899.96 ;
+C 96; N scripts-accBayanbassTE; B -3299.99 0.00 3299.99 9899.96 ;
+C 97; N scripts-accBayanbassEE; B -3299.99 0.00 3299.99 9899.96 ;
+C 98; N scripts-accBayanbassTEE; B -3299.99 0.00 3299.99 9899.96 ;
+C 99; N scripts-accSB; B -4399.93 0.00 4399.93 6599.99 ;
+C 100; N scripts-accBB; B -4399.93 0.00 4399.93 6599.99 ;
+C 101; N scripts-accOldEE; B -2750.00 0.00 2750.00 5500.00 ;
+C 102; N scripts-accOldEES; B -2750.00 0.00 2750.00 5500.00 ;
+C 103; N flags-u3; B -137.51 -8428.77 3393.31 137.51 ;
+C 104; N flags-u4; B -137.51 -9803.77 3393.31 137.51 ;
+C 105; N flags-u5; B -137.51 -11866.27 3393.31 137.51 ;
+C 106; N flags-u6; B -137.51 -14616.27 3393.31 137.51 ;
+C 107; N flags-d3; B -137.51 -137.51 3755.11 8016.30 ;
+C 108; N flags-d4; B -137.51 -137.51 3755.11 8428.77 ;
+C 109; N flags-d5; B -137.51 -137.51 3755.11 10766.30 ;
+C 110; N flags-d6; B -137.51 -137.51 3755.11 12141.30 ;
+C 111; N clefs-alto; B -2750.00 -5500.00 10236.10 5500.00 ;
+C 112; N clefs-alto_change; B -2200.01 -4400.02 8188.93 4400.02 ;
+C 113; N clefs-bass; B -1375.00 -6875.00 9900.02 2750.00 ;
+C 114; N clefs-bass_change; B -1100.02 -5500.03 7920.04 2200.01 ;
+C 115; N clefs-treble; B -2396.44 -8250.00 10277.13 13750.00 ;
+C 116; N clefs-treble_change; B -2082.15 -6600.04 8056.75 11000.06 ;
+C 117; N timesig-C4/4; B -4950.01 -2750.00 4674.99 2750.00 ;
+C 118; N timesig-C2/2; B -4950.01 -3849.99 4674.99 3849.99 ;
+C 119; N timesig-old4/4; B -4812.50 -2062.50 4812.50 2062.50 ;
+C 120; N timesig-old2/2; B -4812.50 -2750.00 4812.50 2750.00 ;
+C 121; N timesig-old3/2; B -4812.50 -2062.50 4812.50 2062.50 ;
+C 122; N timesig-old6/4; B -4812.50 -3437.50 4812.50 3437.50 ;
+C 123; N timesig-old9/4; B -4812.50 -3437.50 4812.50 3437.50 ;
 EndCharMetrics
 EndFontMetrics
index 06e421e670695346586f8586b33901a73756527a..d1824eb36b4574d49ec4d26bdf382e11985535c7 100644 (file)
@@ -61,26 +61,69 @@ C 56; N scripts-prallprall; B -5182.63 -1625.00 5182.63 1625.00 ;
 C 57; N scripts-prallmordent; B -5182.63 -1625.00 5182.63 1625.00 ;
 C 58; N scripts-upprall; B -5182.63 -1625.00 5182.63 1625.00 ;
 C 59; N scripts-downprall; B -5182.63 -1625.00 5182.63 1625.00 ;
-C 60; N flags-u3; B -162.52 -9961.27 4010.27 162.52 ;
-C 61; N flags-u4; B -162.52 -11586.27 4010.27 162.52 ;
-C 62; N flags-u5; B -162.52 -14023.77 4010.27 162.52 ;
-C 63; N flags-u6; B -162.52 -17273.77 4010.27 162.52 ;
-C 64; N flags-d3; B -162.52 -162.52 4437.84 9473.80 ;
-C 65; N flags-d4; B -162.52 -162.52 4437.84 9961.27 ;
-C 66; N flags-d5; B -162.52 -162.52 4437.84 12723.80 ;
-C 67; N flags-d6; B -162.52 -162.52 4437.84 14348.80 ;
-C 68; N clefs-alto; B -3250.00 -6500.00 12097.24 6500.00 ;
-C 69; N clefs-alto_change; B -2600.00 -5200.01 9677.81 5200.01 ;
-C 70; N clefs-bass; B -1625.00 -8125.00 11700.03 3250.00 ;
-C 71; N clefs-bass_change; B -1300.02 -6500.02 9360.02 2600.00 ;
-C 72; N clefs-treble; B -2832.14 -9750.00 12145.70 16250.00 ;
-C 73; N clefs-treble_change; B -2460.72 -7800.02 9521.58 13000.03 ;
-C 74; N timesig-C4/4; B -5850.00 -3250.00 5525.00 3250.00 ;
-C 75; N timesig-C2/2; B -5850.00 -4549.99 5525.00 4549.99 ;
-C 76; N timesig-old4/4; B -5687.50 -2437.50 5687.50 2437.50 ;
-C 77; N timesig-old2/2; B -5687.50 -3250.00 5687.50 3250.00 ;
-C 78; N timesig-old3/2; B -5687.50 -2437.50 5687.50 2437.50 ;
-C 79; N timesig-old6/4; B -5687.50 -4062.50 5687.50 4062.50 ;
-C 80; N timesig-old9/4; B -5687.50 -4062.50 5687.50 4062.50 ;
+C 60; N scripts-accDiscant; B -5849.99 0.00 5849.99 11699.98 ;
+C 61; N scripts-accDiscantF; B -5849.99 0.00 5849.99 11699.98 ;
+C 62; N scripts-accDiscantEh; B -5849.99 0.00 5849.99 11699.98 ;
+C 63; N scripts-accDiscantE; B -5849.99 0.00 5849.99 11699.98 ;
+C 64; N scripts-accDiscantFE; B -5849.99 0.00 5849.99 11699.98 ;
+C 65; N scripts-accDiscantFEh; B -5849.99 0.00 5849.99 11699.98 ;
+C 66; N scripts-accDiscantEE; B -5849.99 0.00 5849.99 11699.98 ;
+C 67; N scripts-accDiscantFEE; B -5849.99 0.00 5849.99 11699.98 ;
+C 68; N scripts-accDiscantEEE; B -5849.99 0.00 5849.99 11699.98 ;
+C 69; N scripts-accDiscantFEEE; B -5849.99 0.00 5849.99 11699.98 ;
+C 70; N scripts-accDiscantS; B -5849.99 0.00 5849.99 11699.98 ;
+C 71; N scripts-accDiscantFS; B -5849.99 0.00 5849.99 11699.98 ;
+C 72; N scripts-accDiscantES; B -5849.99 0.00 5849.99 11699.98 ;
+C 73; N scripts-accDiscantEhS; B -5849.99 0.00 5849.99 11699.98 ;
+C 74; N scripts-accDiscantFES; B -5849.99 0.00 5849.99 11699.98 ;
+C 75; N scripts-accDiscantFEhS; B -5849.99 0.00 5849.99 11699.98 ;
+C 76; N scripts-accDiscantEES; B -5849.99 0.00 5849.99 11699.98 ;
+C 77; N scripts-accDiscantFEES; B -5849.99 0.00 5849.99 11699.98 ;
+C 78; N scripts-accDiscantEEES; B -5849.99 0.00 5849.99 11699.98 ;
+C 79; N scripts-accDiscantFEEES; B -5849.99 0.00 5849.99 11699.98 ;
+C 80; N scripts-accDiscantSS; B -5849.99 0.00 5849.99 11699.98 ;
+C 81; N scripts-accDiscantESS; B -5849.99 0.00 5849.99 11699.98 ;
+C 82; N scripts-accDiscantEESS; B -5849.99 0.00 5849.99 11699.98 ;
+C 83; N scripts-accDiscantEEESS; B -5849.99 0.00 5849.99 11699.98 ;
+C 84; N scripts-accFreebass; B -3900.00 0.00 3900.00 7799.99 ;
+C 85; N scripts-accFreebassF; B -3900.00 0.00 3900.00 7799.99 ;
+C 86; N scripts-accFreebassE; B -3900.00 0.00 3900.00 7799.99 ;
+C 87; N scripts-accFreebassFE; B -3900.00 0.00 3900.00 7799.99 ;
+C 88; N scripts-accStdbass; B -7799.99 0.00 7799.99 15599.98 ;
+C 89; N scripts-accStdbassM; B -7799.99 0.00 7799.99 15599.98 ;
+C 90; N scripts-accStdbassBp; B -7799.99 0.00 7799.99 15599.98 ;
+C 91; N scripts-accStdbassT; B -7799.99 0.00 7799.99 15599.98 ;
+C 92; N scripts-accStdbassTp; B -7799.99 0.00 7799.99 15599.98 ;
+C 93; N scripts-accBayanbass; B -3900.00 0.00 3900.00 11699.98 ;
+C 94; N scripts-accBayanbassT; B -3900.00 0.00 3900.00 11699.98 ;
+C 95; N scripts-accBayanbassE; B -3900.00 0.00 3900.00 11699.98 ;
+C 96; N scripts-accBayanbassTE; B -3900.00 0.00 3900.00 11699.98 ;
+C 97; N scripts-accBayanbassEE; B -3900.00 0.00 3900.00 11699.98 ;
+C 98; N scripts-accBayanbassTEE; B -3900.00 0.00 3900.00 11699.98 ;
+C 99; N scripts-accSB; B -5199.92 0.00 5199.92 7799.99 ;
+C 100; N scripts-accBB; B -5199.92 0.00 5199.92 7799.99 ;
+C 101; N scripts-accOldEE; B -3250.00 0.00 3250.00 6500.00 ;
+C 102; N scripts-accOldEES; B -3250.00 0.00 3250.00 6500.00 ;
+C 103; N flags-u3; B -162.52 -9961.27 4010.27 162.52 ;
+C 104; N flags-u4; B -162.52 -11586.27 4010.27 162.52 ;
+C 105; N flags-u5; B -162.52 -14023.77 4010.27 162.52 ;
+C 106; N flags-u6; B -162.52 -17273.77 4010.27 162.52 ;
+C 107; N flags-d3; B -162.52 -162.52 4437.84 9473.80 ;
+C 108; N flags-d4; B -162.52 -162.52 4437.84 9961.27 ;
+C 109; N flags-d5; B -162.52 -162.52 4437.84 12723.80 ;
+C 110; N flags-d6; B -162.52 -162.52 4437.84 14348.80 ;
+C 111; N clefs-alto; B -3250.00 -6500.00 12097.24 6500.00 ;
+C 112; N clefs-alto_change; B -2600.00 -5200.01 9677.81 5200.01 ;
+C 113; N clefs-bass; B -1625.00 -8125.00 11700.03 3250.00 ;
+C 114; N clefs-bass_change; B -1300.02 -6500.02 9360.02 2600.00 ;
+C 115; N clefs-treble; B -2832.14 -9750.00 12145.70 16250.00 ;
+C 116; N clefs-treble_change; B -2460.72 -7800.02 9521.58 13000.03 ;
+C 117; N timesig-C4/4; B -5850.00 -3250.00 5525.00 3250.00 ;
+C 118; N timesig-C2/2; B -5850.00 -4549.99 5525.00 4549.99 ;
+C 119; N timesig-old4/4; B -5687.50 -2437.50 5687.50 2437.50 ;
+C 120; N timesig-old2/2; B -5687.50 -3250.00 5687.50 3250.00 ;
+C 121; N timesig-old3/2; B -5687.50 -2437.50 5687.50 2437.50 ;
+C 122; N timesig-old6/4; B -5687.50 -4062.50 5687.50 4062.50 ;
+C 123; N timesig-old9/4; B -5687.50 -4062.50 5687.50 4062.50 ;
 EndCharMetrics
 EndFontMetrics
index 9500983b7e744991443c0514bf0f67f6c591b929..c30959b6b41a0b4d97afa7149ab7d940630e2ec6 100644 (file)
@@ -61,26 +61,69 @@ C 56; N scripts-prallprall; B -6378.65 -2000.00 6378.65 2000.00 ;
 C 57; N scripts-prallmordent; B -6378.65 -2000.00 6378.65 2000.00 ;
 C 58; N scripts-upprall; B -6378.65 -2000.00 6378.65 2000.00 ;
 C 59; N scripts-downprall; B -6378.65 -2000.00 6378.65 2000.00 ;
-C 60; N flags-u3; B -200.01 -12260.03 4935.68 200.01 ;
-C 61; N flags-u4; B -200.01 -14260.03 4935.68 200.01 ;
-C 62; N flags-u5; B -200.01 -17260.03 4935.68 200.01 ;
-C 63; N flags-u6; B -200.01 -21260.03 4935.68 200.01 ;
-C 64; N flags-d3; B -200.01 -200.01 5461.91 11660.05 ;
-C 65; N flags-d4; B -200.01 -200.01 5461.91 12260.03 ;
-C 66; N flags-d5; B -200.01 -200.01 5461.91 15660.05 ;
-C 67; N flags-d6; B -200.01 -200.01 5461.91 17660.05 ;
-C 68; N clefs-alto; B -4000.00 -8000.00 14888.90 8000.00 ;
-C 69; N clefs-alto_change; B -3200.01 -6400.02 11911.18 6400.02 ;
-C 70; N clefs-bass; B -2000.00 -10000.00 14400.02 4000.00 ;
-C 71; N clefs-bass_change; B -1600.04 -8000.03 11520.03 3200.01 ;
-C 72; N clefs-treble; B -3485.72 -12000.00 14948.55 20000.00 ;
-C 73; N clefs-treble_change; B -3028.58 -9600.04 11718.89 16000.06 ;
-C 74; N timesig-C4/4; B -7200.01 -4000.00 6799.99 4000.00 ;
-C 75; N timesig-C2/2; B -7200.01 -5599.98 6799.99 5599.98 ;
-C 76; N timesig-old4/4; B -7000.00 -3000.00 7000.00 3000.00 ;
-C 77; N timesig-old2/2; B -7000.00 -4000.00 7000.00 4000.00 ;
-C 78; N timesig-old3/2; B -7000.00 -3000.00 7000.00 3000.00 ;
-C 79; N timesig-old6/4; B -7000.00 -5000.00 7000.00 5000.00 ;
-C 80; N timesig-old9/4; B -7000.00 -5000.00 7000.00 5000.00 ;
+C 60; N scripts-accDiscant; B -7199.98 0.00 7199.98 14399.96 ;
+C 61; N scripts-accDiscantF; B -7199.98 0.00 7199.98 14399.96 ;
+C 62; N scripts-accDiscantEh; B -7199.98 0.00 7199.98 14399.96 ;
+C 63; N scripts-accDiscantE; B -7199.98 0.00 7199.98 14399.96 ;
+C 64; N scripts-accDiscantFE; B -7199.98 0.00 7199.98 14399.96 ;
+C 65; N scripts-accDiscantFEh; B -7199.98 0.00 7199.98 14399.96 ;
+C 66; N scripts-accDiscantEE; B -7199.98 0.00 7199.98 14399.96 ;
+C 67; N scripts-accDiscantFEE; B -7199.98 0.00 7199.98 14399.96 ;
+C 68; N scripts-accDiscantEEE; B -7199.98 0.00 7199.98 14399.96 ;
+C 69; N scripts-accDiscantFEEE; B -7199.98 0.00 7199.98 14399.96 ;
+C 70; N scripts-accDiscantS; B -7199.98 0.00 7199.98 14399.96 ;
+C 71; N scripts-accDiscantFS; B -7199.98 0.00 7199.98 14399.96 ;
+C 72; N scripts-accDiscantES; B -7199.98 0.00 7199.98 14399.96 ;
+C 73; N scripts-accDiscantEhS; B -7199.98 0.00 7199.98 14399.96 ;
+C 74; N scripts-accDiscantFES; B -7199.98 0.00 7199.98 14399.96 ;
+C 75; N scripts-accDiscantFEhS; B -7199.98 0.00 7199.98 14399.96 ;
+C 76; N scripts-accDiscantEES; B -7199.98 0.00 7199.98 14399.96 ;
+C 77; N scripts-accDiscantFEES; B -7199.98 0.00 7199.98 14399.96 ;
+C 78; N scripts-accDiscantEEES; B -7199.98 0.00 7199.98 14399.96 ;
+C 79; N scripts-accDiscantFEEES; B -7199.98 0.00 7199.98 14399.96 ;
+C 80; N scripts-accDiscantSS; B -7199.98 0.00 7199.98 14399.96 ;
+C 81; N scripts-accDiscantESS; B -7199.98 0.00 7199.98 14399.96 ;
+C 82; N scripts-accDiscantEESS; B -7199.98 0.00 7199.98 14399.96 ;
+C 83; N scripts-accDiscantEEESS; B -7199.98 0.00 7199.98 14399.96 ;
+C 84; N scripts-accFreebass; B -4799.99 0.00 4799.99 9599.98 ;
+C 85; N scripts-accFreebassF; B -4799.99 0.00 4799.99 9599.98 ;
+C 86; N scripts-accFreebassE; B -4799.99 0.00 4799.99 9599.98 ;
+C 87; N scripts-accFreebassFE; B -4799.99 0.00 4799.99 9599.98 ;
+C 88; N scripts-accStdbass; B -9599.98 0.00 9599.98 19199.95 ;
+C 89; N scripts-accStdbassM; B -9599.98 0.00 9599.98 19199.95 ;
+C 90; N scripts-accStdbassBp; B -9599.98 0.00 9599.98 19199.95 ;
+C 91; N scripts-accStdbassT; B -9599.98 0.00 9599.98 19199.95 ;
+C 92; N scripts-accStdbassTp; B -9599.98 0.00 9599.98 19199.95 ;
+C 93; N scripts-accBayanbass; B -4799.99 0.00 4799.99 14399.96 ;
+C 94; N scripts-accBayanbassT; B -4799.99 0.00 4799.99 14399.96 ;
+C 95; N scripts-accBayanbassE; B -4799.99 0.00 4799.99 14399.96 ;
+C 96; N scripts-accBayanbassTE; B -4799.99 0.00 4799.99 14399.96 ;
+C 97; N scripts-accBayanbassEE; B -4799.99 0.00 4799.99 14399.96 ;
+C 98; N scripts-accBayanbassTEE; B -4799.99 0.00 4799.99 14399.96 ;
+C 99; N scripts-accSB; B -6399.90 0.00 6399.90 9599.98 ;
+C 100; N scripts-accBB; B -6399.90 0.00 6399.90 9599.98 ;
+C 101; N scripts-accOldEE; B -4000.00 0.00 4000.00 8000.00 ;
+C 102; N scripts-accOldEES; B -4000.00 0.00 4000.00 8000.00 ;
+C 103; N flags-u3; B -200.01 -12260.03 4935.68 200.01 ;
+C 104; N flags-u4; B -200.01 -14260.03 4935.68 200.01 ;
+C 105; N flags-u5; B -200.01 -17260.03 4935.68 200.01 ;
+C 106; N flags-u6; B -200.01 -21260.03 4935.68 200.01 ;
+C 107; N flags-d3; B -200.01 -200.01 5461.91 11660.05 ;
+C 108; N flags-d4; B -200.01 -200.01 5461.91 12260.03 ;
+C 109; N flags-d5; B -200.01 -200.01 5461.91 15660.05 ;
+C 110; N flags-d6; B -200.01 -200.01 5461.91 17660.05 ;
+C 111; N clefs-alto; B -4000.00 -8000.00 14888.90 8000.00 ;
+C 112; N clefs-alto_change; B -3200.01 -6400.02 11911.18 6400.02 ;
+C 113; N clefs-bass; B -2000.00 -10000.00 14400.02 4000.00 ;
+C 114; N clefs-bass_change; B -1600.04 -8000.03 11520.03 3200.01 ;
+C 115; N clefs-treble; B -3485.72 -12000.00 14948.55 20000.00 ;
+C 116; N clefs-treble_change; B -3028.58 -9600.04 11718.89 16000.06 ;
+C 117; N timesig-C4/4; B -7200.01 -4000.00 6799.99 4000.00 ;
+C 118; N timesig-C2/2; B -7200.01 -5599.98 6799.99 5599.98 ;
+C 119; N timesig-old4/4; B -7000.00 -3000.00 7000.00 3000.00 ;
+C 120; N timesig-old2/2; B -7000.00 -4000.00 7000.00 4000.00 ;
+C 121; N timesig-old3/2; B -7000.00 -3000.00 7000.00 3000.00 ;
+C 122; N timesig-old6/4; B -7000.00 -5000.00 7000.00 5000.00 ;
+C 123; N timesig-old9/4; B -7000.00 -5000.00 7000.00 5000.00 ;
 EndCharMetrics
 EndFontMetrics
index 685b53af82801f4bdaab9c95864ec2ff3b353661..23e796aa8a573d7eaa676b755685ff5b4ac65981 100644 (file)
@@ -61,26 +61,69 @@ C 56; N scripts-prallprall; B -7574.63 -2375.00 7574.63 2375.00 ;
 C 57; N scripts-prallmordent; B -7574.63 -2375.00 7574.63 2375.00 ;
 C 58; N scripts-upprall; B -7574.63 -2375.00 7574.63 2375.00 ;
 C 59; N scripts-downprall; B -7574.63 -2375.00 7574.63 2375.00 ;
-C 60; N flags-u3; B -237.52 -14558.78 5861.15 237.52 ;
-C 61; N flags-u4; B -237.52 -16933.78 5861.15 237.52 ;
-C 62; N flags-u5; B -237.52 -20496.28 5861.15 237.52 ;
-C 63; N flags-u6; B -237.52 -25246.28 5861.15 237.52 ;
-C 64; N flags-d3; B -237.52 -237.52 6486.07 13846.31 ;
-C 65; N flags-d4; B -237.52 -237.52 6486.07 14558.78 ;
-C 66; N flags-d5; B -237.52 -237.52 6486.07 18596.31 ;
-C 67; N flags-d6; B -237.52 -237.52 6486.07 20971.31 ;
-C 68; N clefs-alto; B -4750.00 -9500.00 17680.59 9500.00 ;
-C 69; N clefs-alto_change; B -3800.02 -7600.04 14144.50 7600.04 ;
-C 70; N clefs-bass; B -2375.00 -11875.00 17100.04 4750.00 ;
-C 71; N clefs-bass_change; B -1900.04 -9500.05 13680.05 3800.02 ;
-C 72; N clefs-treble; B -4139.30 -14250.00 17751.40 23750.00 ;
-C 73; N clefs-treble_change; B -3596.45 -11400.05 13916.18 19000.09 ;
-C 74; N timesig-C4/4; B -8550.02 -4750.00 8074.98 4750.00 ;
-C 75; N timesig-C2/2; B -8550.02 -6649.98 8074.98 6649.98 ;
-C 76; N timesig-old4/4; B -8312.50 -3562.50 8312.50 3562.50 ;
-C 77; N timesig-old2/2; B -8312.50 -4750.00 8312.50 4750.00 ;
-C 78; N timesig-old3/2; B -8312.50 -3562.50 8312.50 3562.50 ;
-C 79; N timesig-old6/4; B -8312.50 -5937.50 8312.50 5937.50 ;
-C 80; N timesig-old9/4; B -8312.50 -5937.50 8312.50 5937.50 ;
+C 60; N scripts-accDiscant; B -8549.97 0.00 8549.97 17099.95 ;
+C 61; N scripts-accDiscantF; B -8549.97 0.00 8549.97 17099.95 ;
+C 62; N scripts-accDiscantEh; B -8549.97 0.00 8549.97 17099.95 ;
+C 63; N scripts-accDiscantE; B -8549.97 0.00 8549.97 17099.95 ;
+C 64; N scripts-accDiscantFE; B -8549.97 0.00 8549.97 17099.95 ;
+C 65; N scripts-accDiscantFEh; B -8549.97 0.00 8549.97 17099.95 ;
+C 66; N scripts-accDiscantEE; B -8549.97 0.00 8549.97 17099.95 ;
+C 67; N scripts-accDiscantFEE; B -8549.97 0.00 8549.97 17099.95 ;
+C 68; N scripts-accDiscantEEE; B -8549.97 0.00 8549.97 17099.95 ;
+C 69; N scripts-accDiscantFEEE; B -8549.97 0.00 8549.97 17099.95 ;
+C 70; N scripts-accDiscantS; B -8549.97 0.00 8549.97 17099.95 ;
+C 71; N scripts-accDiscantFS; B -8549.97 0.00 8549.97 17099.95 ;
+C 72; N scripts-accDiscantES; B -8549.97 0.00 8549.97 17099.95 ;
+C 73; N scripts-accDiscantEhS; B -8549.97 0.00 8549.97 17099.95 ;
+C 74; N scripts-accDiscantFES; B -8549.97 0.00 8549.97 17099.95 ;
+C 75; N scripts-accDiscantFEhS; B -8549.97 0.00 8549.97 17099.95 ;
+C 76; N scripts-accDiscantEES; B -8549.97 0.00 8549.97 17099.95 ;
+C 77; N scripts-accDiscantFEES; B -8549.97 0.00 8549.97 17099.95 ;
+C 78; N scripts-accDiscantEEES; B -8549.97 0.00 8549.97 17099.95 ;
+C 79; N scripts-accDiscantFEEES; B -8549.97 0.00 8549.97 17099.95 ;
+C 80; N scripts-accDiscantSS; B -8549.97 0.00 8549.97 17099.95 ;
+C 81; N scripts-accDiscantESS; B -8549.97 0.00 8549.97 17099.95 ;
+C 82; N scripts-accDiscantEESS; B -8549.97 0.00 8549.97 17099.95 ;
+C 83; N scripts-accDiscantEEESS; B -8549.97 0.00 8549.97 17099.95 ;
+C 84; N scripts-accFreebass; B -5699.98 0.00 5699.98 11399.96 ;
+C 85; N scripts-accFreebassF; B -5699.98 0.00 5699.98 11399.96 ;
+C 86; N scripts-accFreebassE; B -5699.98 0.00 5699.98 11399.96 ;
+C 87; N scripts-accFreebassFE; B -5699.98 0.00 5699.98 11399.96 ;
+C 88; N scripts-accStdbass; B -11399.96 0.00 11399.96 22799.93 ;
+C 89; N scripts-accStdbassM; B -11399.96 0.00 11399.96 22799.93 ;
+C 90; N scripts-accStdbassBp; B -11399.96 0.00 11399.96 22799.93 ;
+C 91; N scripts-accStdbassT; B -11399.96 0.00 11399.96 22799.93 ;
+C 92; N scripts-accStdbassTp; B -11399.96 0.00 11399.96 22799.93 ;
+C 93; N scripts-accBayanbass; B -5699.98 0.00 5699.98 17099.95 ;
+C 94; N scripts-accBayanbassT; B -5699.98 0.00 5699.98 17099.95 ;
+C 95; N scripts-accBayanbassE; B -5699.98 0.00 5699.98 17099.95 ;
+C 96; N scripts-accBayanbassTE; B -5699.98 0.00 5699.98 17099.95 ;
+C 97; N scripts-accBayanbassEE; B -5699.98 0.00 5699.98 17099.95 ;
+C 98; N scripts-accBayanbassTEE; B -5699.98 0.00 5699.98 17099.95 ;
+C 99; N scripts-accSB; B -7599.88 0.00 7599.88 11399.98 ;
+C 100; N scripts-accBB; B -7599.88 0.00 7599.88 11399.98 ;
+C 101; N scripts-accOldEE; B -4750.00 0.00 4750.00 9500.00 ;
+C 102; N scripts-accOldEES; B -4750.00 0.00 4750.00 9500.00 ;
+C 103; N flags-u3; B -237.52 -14558.78 5861.15 237.52 ;
+C 104; N flags-u4; B -237.52 -16933.78 5861.15 237.52 ;
+C 105; N flags-u5; B -237.52 -20496.28 5861.15 237.52 ;
+C 106; N flags-u6; B -237.52 -25246.28 5861.15 237.52 ;
+C 107; N flags-d3; B -237.52 -237.52 6486.07 13846.31 ;
+C 108; N flags-d4; B -237.52 -237.52 6486.07 14558.78 ;
+C 109; N flags-d5; B -237.52 -237.52 6486.07 18596.31 ;
+C 110; N flags-d6; B -237.52 -237.52 6486.07 20971.31 ;
+C 111; N clefs-alto; B -4750.00 -9500.00 17680.59 9500.00 ;
+C 112; N clefs-alto_change; B -3800.02 -7600.04 14144.50 7600.04 ;
+C 113; N clefs-bass; B -2375.00 -11875.00 17100.04 4750.00 ;
+C 114; N clefs-bass_change; B -1900.04 -9500.05 13680.05 3800.02 ;
+C 115; N clefs-treble; B -4139.30 -14250.00 17751.40 23750.00 ;
+C 116; N clefs-treble_change; B -3596.45 -11400.05 13916.18 19000.09 ;
+C 117; N timesig-C4/4; B -8550.02 -4750.00 8074.98 4750.00 ;
+C 118; N timesig-C2/2; B -8550.02 -6649.98 8074.98 6649.98 ;
+C 119; N timesig-old4/4; B -8312.50 -3562.50 8312.50 3562.50 ;
+C 120; N timesig-old2/2; B -8312.50 -4750.00 8312.50 4750.00 ;
+C 121; N timesig-old3/2; B -8312.50 -3562.50 8312.50 3562.50 ;
+C 122; N timesig-old6/4; B -8312.50 -5937.50 8312.50 5937.50 ;
+C 123; N timesig-old9/4; B -8312.50 -5937.50 8312.50 5937.50 ;
 EndCharMetrics
 EndFontMetrics
index b5e723f83209ae95da7e08c968fe8ef508be3e88..23038ffb074fdf0177577ec927d6d30c0cca5bf3 100644 (file)
@@ -61,26 +61,69 @@ C 56; N scripts-prallprall; B -7973.28 -2500.00 7973.28 2500.00 ;
 C 57; N scripts-prallmordent; B -7973.28 -2500.00 7973.28 2500.00 ;
 C 58; N scripts-upprall; B -7973.28 -2500.00 7973.28 2500.00 ;
 C 59; N scripts-downprall; B -7973.28 -2500.00 7973.28 2500.00 ;
-C 60; N flags-u3; B -250.02 -15325.03 6169.62 250.02 ;
-C 61; N flags-u4; B -250.02 -17825.03 6169.62 250.02 ;
-C 62; N flags-u5; B -250.02 -21575.03 6169.62 250.02 ;
-C 63; N flags-u6; B -250.02 -26575.03 6169.62 250.02 ;
-C 64; N flags-d3; B -250.02 -250.02 6827.44 14575.06 ;
-C 65; N flags-d4; B -250.02 -250.02 6827.44 15325.03 ;
-C 66; N flags-d5; B -250.02 -250.02 6827.44 19575.06 ;
-C 67; N flags-d6; B -250.02 -250.02 6827.44 22075.06 ;
-C 68; N clefs-alto; B -5000.00 -10000.00 18611.10 10000.00 ;
-C 69; N clefs-alto_change; B -4000.02 -8000.03 14888.92 8000.03 ;
-C 70; N clefs-bass; B -2500.00 -12500.00 18000.03 5000.00 ;
-C 71; N clefs-bass_change; B -2000.05 -10000.05 14400.04 4000.02 ;
-C 72; N clefs-treble; B -4357.15 -15000.00 18685.68 25000.00 ;
-C 73; N clefs-treble_change; B -3785.74 -12000.05 14648.60 20000.08 ;
-C 74; N timesig-C4/4; B -9000.02 -5000.00 8499.98 5000.00 ;
-C 75; N timesig-C2/2; B -9000.02 -6999.97 8499.98 6999.97 ;
-C 76; N timesig-old4/4; B -8750.00 -3750.00 8750.00 3750.00 ;
-C 77; N timesig-old2/2; B -8750.00 -5000.00 8750.00 5000.00 ;
-C 78; N timesig-old3/2; B -8750.00 -3750.00 8750.00 3750.00 ;
-C 79; N timesig-old6/4; B -8750.00 -6250.00 8750.00 6250.00 ;
-C 80; N timesig-old9/4; B -8750.00 -6250.00 8750.00 6250.00 ;
+C 60; N scripts-accDiscant; B -8999.98 0.00 8999.98 17999.97 ;
+C 61; N scripts-accDiscantF; B -8999.98 0.00 8999.98 17999.97 ;
+C 62; N scripts-accDiscantEh; B -8999.98 0.00 8999.98 17999.97 ;
+C 63; N scripts-accDiscantE; B -8999.98 0.00 8999.98 17999.97 ;
+C 64; N scripts-accDiscantFE; B -8999.98 0.00 8999.98 17999.97 ;
+C 65; N scripts-accDiscantFEh; B -8999.98 0.00 8999.98 17999.97 ;
+C 66; N scripts-accDiscantEE; B -8999.98 0.00 8999.98 17999.97 ;
+C 67; N scripts-accDiscantFEE; B -8999.98 0.00 8999.98 17999.97 ;
+C 68; N scripts-accDiscantEEE; B -8999.98 0.00 8999.98 17999.97 ;
+C 69; N scripts-accDiscantFEEE; B -8999.98 0.00 8999.98 17999.97 ;
+C 70; N scripts-accDiscantS; B -8999.98 0.00 8999.98 17999.97 ;
+C 71; N scripts-accDiscantFS; B -8999.98 0.00 8999.98 17999.97 ;
+C 72; N scripts-accDiscantES; B -8999.98 0.00 8999.98 17999.97 ;
+C 73; N scripts-accDiscantEhS; B -8999.98 0.00 8999.98 17999.97 ;
+C 74; N scripts-accDiscantFES; B -8999.98 0.00 8999.98 17999.97 ;
+C 75; N scripts-accDiscantFEhS; B -8999.98 0.00 8999.98 17999.97 ;
+C 76; N scripts-accDiscantEES; B -8999.98 0.00 8999.98 17999.97 ;
+C 77; N scripts-accDiscantFEES; B -8999.98 0.00 8999.98 17999.97 ;
+C 78; N scripts-accDiscantEEES; B -8999.98 0.00 8999.98 17999.97 ;
+C 79; N scripts-accDiscantFEEES; B -8999.98 0.00 8999.98 17999.97 ;
+C 80; N scripts-accDiscantSS; B -8999.98 0.00 8999.98 17999.97 ;
+C 81; N scripts-accDiscantESS; B -8999.98 0.00 8999.98 17999.97 ;
+C 82; N scripts-accDiscantEESS; B -8999.98 0.00 8999.98 17999.97 ;
+C 83; N scripts-accDiscantEEESS; B -8999.98 0.00 8999.98 17999.97 ;
+C 84; N scripts-accFreebass; B -5999.98 0.00 5999.98 11999.97 ;
+C 85; N scripts-accFreebassF; B -5999.98 0.00 5999.98 11999.97 ;
+C 86; N scripts-accFreebassE; B -5999.98 0.00 5999.98 11999.97 ;
+C 87; N scripts-accFreebassFE; B -5999.98 0.00 5999.98 11999.97 ;
+C 88; N scripts-accStdbass; B -11999.97 0.00 11999.97 23999.94 ;
+C 89; N scripts-accStdbassM; B -11999.97 0.00 11999.97 23999.94 ;
+C 90; N scripts-accStdbassBp; B -11999.97 0.00 11999.97 23999.94 ;
+C 91; N scripts-accStdbassT; B -11999.97 0.00 11999.97 23999.94 ;
+C 92; N scripts-accStdbassTp; B -11999.97 0.00 11999.97 23999.94 ;
+C 93; N scripts-accBayanbass; B -5999.98 0.00 5999.98 17999.95 ;
+C 94; N scripts-accBayanbassT; B -5999.98 0.00 5999.98 17999.95 ;
+C 95; N scripts-accBayanbassE; B -5999.98 0.00 5999.98 17999.95 ;
+C 96; N scripts-accBayanbassTE; B -5999.98 0.00 5999.98 17999.95 ;
+C 97; N scripts-accBayanbassEE; B -5999.98 0.00 5999.98 17999.95 ;
+C 98; N scripts-accBayanbassTEE; B -5999.98 0.00 5999.98 17999.95 ;
+C 99; N scripts-accSB; B -7999.88 0.00 7999.88 11999.97 ;
+C 100; N scripts-accBB; B -7999.88 0.00 7999.88 11999.97 ;
+C 101; N scripts-accOldEE; B -5000.00 0.00 5000.00 10000.00 ;
+C 102; N scripts-accOldEES; B -5000.00 0.00 5000.00 10000.00 ;
+C 103; N flags-u3; B -250.02 -15325.03 6169.62 250.02 ;
+C 104; N flags-u4; B -250.02 -17825.03 6169.62 250.02 ;
+C 105; N flags-u5; B -250.02 -21575.03 6169.62 250.02 ;
+C 106; N flags-u6; B -250.02 -26575.03 6169.62 250.02 ;
+C 107; N flags-d3; B -250.02 -250.02 6827.44 14575.06 ;
+C 108; N flags-d4; B -250.02 -250.02 6827.44 15325.03 ;
+C 109; N flags-d5; B -250.02 -250.02 6827.44 19575.06 ;
+C 110; N flags-d6; B -250.02 -250.02 6827.44 22075.06 ;
+C 111; N clefs-alto; B -5000.00 -10000.00 18611.10 10000.00 ;
+C 112; N clefs-alto_change; B -4000.02 -8000.03 14888.92 8000.03 ;
+C 113; N clefs-bass; B -2500.00 -12500.00 18000.03 5000.00 ;
+C 114; N clefs-bass_change; B -2000.05 -10000.05 14400.04 4000.02 ;
+C 115; N clefs-treble; B -4357.15 -15000.00 18685.68 25000.00 ;
+C 116; N clefs-treble_change; B -3785.74 -12000.05 14648.60 20000.08 ;
+C 117; N timesig-C4/4; B -9000.02 -5000.00 8499.98 5000.00 ;
+C 118; N timesig-C2/2; B -9000.02 -6999.97 8499.98 6999.97 ;
+C 119; N timesig-old4/4; B -8750.00 -3750.00 8750.00 3750.00 ;
+C 120; N timesig-old2/2; B -8750.00 -5000.00 8750.00 5000.00 ;
+C 121; N timesig-old3/2; B -8750.00 -3750.00 8750.00 3750.00 ;
+C 122; N timesig-old6/4; B -8750.00 -6250.00 8750.00 6250.00 ;
+C 123; N timesig-old9/4; B -8750.00 -6250.00 8750.00 6250.00 ;
 EndCharMetrics
 EndFontMetrics
index 45d22d74d87a839f667361c7768dbdb3a07639c8..9d08bb759ceb1c24ba0f6324f8597c3468701e9e 100644 (file)
@@ -61,26 +61,69 @@ C 56; N scripts-prallprall; B -8969.97 -2812.50 8969.97 2812.50 ;
 C 57; N scripts-prallmordent; B -8969.97 -2812.50 8969.97 2812.50 ;
 C 58; N scripts-upprall; B -8969.97 -2812.50 8969.97 2812.50 ;
 C 59; N scripts-downprall; B -8969.97 -2812.50 8969.97 2812.50 ;
-C 60; N flags-u3; B -281.27 -17240.65 6940.84 281.27 ;
-C 61; N flags-u4; B -281.27 -20053.15 6940.84 281.27 ;
-C 62; N flags-u5; B -281.27 -24271.90 6940.84 281.27 ;
-C 63; N flags-u6; B -281.27 -29896.90 6940.84 281.27 ;
-C 64; N flags-d3; B -281.27 -281.27 7680.88 16396.93 ;
-C 65; N flags-d4; B -281.27 -281.27 7680.88 17240.65 ;
-C 66; N flags-d5; B -281.27 -281.27 7680.88 22021.93 ;
-C 67; N flags-d6; B -281.27 -281.27 7680.88 24834.43 ;
-C 68; N clefs-alto; B -5625.00 -11250.00 20937.50 11250.00 ;
-C 69; N clefs-alto_change; B -4500.02 -9000.03 16750.08 9000.03 ;
-C 70; N clefs-bass; B -2812.50 -14062.50 20250.03 5625.00 ;
-C 71; N clefs-bass_change; B -2250.05 -11250.05 16200.04 4500.02 ;
-C 72; N clefs-treble; B -4901.80 -16875.00 21021.40 28125.00 ;
-C 73; N clefs-treble_change; B -4258.94 -13500.05 16479.68 22500.08 ;
-C 74; N timesig-C4/4; B -10125.02 -5625.00 9562.48 5625.00 ;
-C 75; N timesig-C2/2; B -10125.02 -7874.97 9562.48 7874.97 ;
-C 76; N timesig-old4/4; B -9843.75 -4218.75 9843.75 4218.75 ;
-C 77; N timesig-old2/2; B -9843.75 -5625.00 9843.75 5625.00 ;
-C 78; N timesig-old3/2; B -9843.75 -4218.75 9843.75 4218.75 ;
-C 79; N timesig-old6/4; B -9843.75 -7031.25 9843.75 7031.25 ;
-C 80; N timesig-old9/4; B -9843.75 -7031.25 9843.75 7031.25 ;
+C 60; N scripts-accDiscant; B -10124.98 0.00 10124.98 20249.97 ;
+C 61; N scripts-accDiscantF; B -10124.98 0.00 10124.98 20249.97 ;
+C 62; N scripts-accDiscantEh; B -10124.98 0.00 10124.98 20249.97 ;
+C 63; N scripts-accDiscantE; B -10124.98 0.00 10124.98 20249.97 ;
+C 64; N scripts-accDiscantFE; B -10124.98 0.00 10124.98 20249.97 ;
+C 65; N scripts-accDiscantFEh; B -10124.98 0.00 10124.98 20249.97 ;
+C 66; N scripts-accDiscantEE; B -10124.98 0.00 10124.98 20249.97 ;
+C 67; N scripts-accDiscantFEE; B -10124.98 0.00 10124.98 20249.97 ;
+C 68; N scripts-accDiscantEEE; B -10124.98 0.00 10124.98 20249.97 ;
+C 69; N scripts-accDiscantFEEE; B -10124.98 0.00 10124.98 20249.97 ;
+C 70; N scripts-accDiscantS; B -10124.98 0.00 10124.98 20249.97 ;
+C 71; N scripts-accDiscantFS; B -10124.98 0.00 10124.98 20249.97 ;
+C 72; N scripts-accDiscantES; B -10124.98 0.00 10124.98 20249.97 ;
+C 73; N scripts-accDiscantEhS; B -10124.98 0.00 10124.98 20249.97 ;
+C 74; N scripts-accDiscantFES; B -10124.98 0.00 10124.98 20249.97 ;
+C 75; N scripts-accDiscantFEhS; B -10124.98 0.00 10124.98 20249.97 ;
+C 76; N scripts-accDiscantEES; B -10124.98 0.00 10124.98 20249.97 ;
+C 77; N scripts-accDiscantFEES; B -10124.98 0.00 10124.98 20249.97 ;
+C 78; N scripts-accDiscantEEES; B -10124.98 0.00 10124.98 20249.97 ;
+C 79; N scripts-accDiscantFEEES; B -10124.98 0.00 10124.98 20249.97 ;
+C 80; N scripts-accDiscantSS; B -10124.98 0.00 10124.98 20249.97 ;
+C 81; N scripts-accDiscantESS; B -10124.98 0.00 10124.98 20249.97 ;
+C 82; N scripts-accDiscantEESS; B -10124.98 0.00 10124.98 20249.97 ;
+C 83; N scripts-accDiscantEEESS; B -10124.98 0.00 10124.98 20249.97 ;
+C 84; N scripts-accFreebass; B -6749.98 0.00 6749.98 13499.97 ;
+C 85; N scripts-accFreebassF; B -6749.98 0.00 6749.98 13499.97 ;
+C 86; N scripts-accFreebassE; B -6749.98 0.00 6749.98 13499.97 ;
+C 87; N scripts-accFreebassFE; B -6749.98 0.00 6749.98 13499.97 ;
+C 88; N scripts-accStdbass; B -13499.97 0.00 13499.97 26999.94 ;
+C 89; N scripts-accStdbassM; B -13499.97 0.00 13499.97 26999.94 ;
+C 90; N scripts-accStdbassBp; B -13499.97 0.00 13499.97 26999.94 ;
+C 91; N scripts-accStdbassT; B -13499.97 0.00 13499.97 26999.94 ;
+C 92; N scripts-accStdbassTp; B -13499.97 0.00 13499.97 26999.94 ;
+C 93; N scripts-accBayanbass; B -6749.98 0.00 6749.98 20249.95 ;
+C 94; N scripts-accBayanbassT; B -6749.98 0.00 6749.98 20249.95 ;
+C 95; N scripts-accBayanbassE; B -6749.98 0.00 6749.98 20249.95 ;
+C 96; N scripts-accBayanbassTE; B -6749.98 0.00 6749.98 20249.95 ;
+C 97; N scripts-accBayanbassEE; B -6749.98 0.00 6749.98 20249.95 ;
+C 98; N scripts-accBayanbassTEE; B -6749.98 0.00 6749.98 20249.95 ;
+C 99; N scripts-accSB; B -8999.86 0.00 8999.86 13499.97 ;
+C 100; N scripts-accBB; B -8999.86 0.00 8999.86 13499.97 ;
+C 101; N scripts-accOldEE; B -5625.00 0.00 5625.00 11250.00 ;
+C 102; N scripts-accOldEES; B -5625.00 0.00 5625.00 11250.00 ;
+C 103; N flags-u3; B -281.27 -17240.65 6940.84 281.27 ;
+C 104; N flags-u4; B -281.27 -20053.15 6940.84 281.27 ;
+C 105; N flags-u5; B -281.27 -24271.90 6940.84 281.27 ;
+C 106; N flags-u6; B -281.27 -29896.90 6940.84 281.27 ;
+C 107; N flags-d3; B -281.27 -281.27 7680.88 16396.93 ;
+C 108; N flags-d4; B -281.27 -281.27 7680.88 17240.65 ;
+C 109; N flags-d5; B -281.27 -281.27 7680.88 22021.93 ;
+C 110; N flags-d6; B -281.27 -281.27 7680.88 24834.43 ;
+C 111; N clefs-alto; B -5625.00 -11250.00 20937.50 11250.00 ;
+C 112; N clefs-alto_change; B -4500.02 -9000.03 16750.08 9000.03 ;
+C 113; N clefs-bass; B -2812.50 -14062.50 20250.03 5625.00 ;
+C 114; N clefs-bass_change; B -2250.05 -11250.05 16200.04 4500.02 ;
+C 115; N clefs-treble; B -4901.80 -16875.00 21021.40 28125.00 ;
+C 116; N clefs-treble_change; B -4258.94 -13500.05 16479.68 22500.08 ;
+C 117; N timesig-C4/4; B -10125.02 -5625.00 9562.48 5625.00 ;
+C 118; N timesig-C2/2; B -10125.02 -7874.97 9562.48 7874.97 ;
+C 119; N timesig-old4/4; B -9843.75 -4218.75 9843.75 4218.75 ;
+C 120; N timesig-old2/2; B -9843.75 -5625.00 9843.75 5625.00 ;
+C 121; N timesig-old3/2; B -9843.75 -4218.75 9843.75 4218.75 ;
+C 122; N timesig-old6/4; B -9843.75 -7031.25 9843.75 7031.25 ;
+C 123; N timesig-old9/4; B -9843.75 -7031.25 9843.75 7031.25 ;
 EndCharMetrics
 EndFontMetrics
index 9aec06ddc064b8f21098185971c1fa0f3d78d5a4..66809c8c46598963ee924bc6c7f0c142b3b0aba6 100644 (file)
@@ -61,26 +61,69 @@ C 56; N scripts-prallprall; B -10365.28 -3250.00 10365.28 3250.00 ;
 C 57; N scripts-prallmordent; B -10365.28 -3250.00 10365.28 3250.00 ;
 C 58; N scripts-upprall; B -10365.28 -3250.00 10365.28 3250.00 ;
 C 59; N scripts-downprall; B -10365.28 -3250.00 10365.28 3250.00 ;
-C 60; N flags-u3; B -325.03 -19922.53 8020.51 325.03 ;
-C 61; N flags-u4; B -325.03 -23172.53 8020.51 325.03 ;
-C 62; N flags-u5; B -325.03 -28047.53 8020.51 325.03 ;
-C 63; N flags-u6; B -325.03 -34547.53 8020.51 325.03 ;
-C 64; N flags-d3; B -325.03 -325.03 8875.67 18947.57 ;
-C 65; N flags-d4; B -325.03 -325.03 8875.67 19922.53 ;
-C 66; N flags-d5; B -325.03 -325.03 8875.67 25447.57 ;
-C 67; N flags-d6; B -325.03 -325.03 8875.67 28697.57 ;
-C 68; N clefs-alto; B -6500.00 -13000.00 24194.44 13000.00 ;
-C 69; N clefs-alto_change; B -5200.03 -10400.05 19355.70 10400.05 ;
-C 70; N clefs-bass; B -3250.00 -16250.00 23400.04 6500.00 ;
-C 71; N clefs-bass_change; B -2600.07 -13000.08 18720.08 5200.03 ;
-C 72; N clefs-treble; B -5664.29 -19500.00 24291.40 32500.00 ;
-C 73; N clefs-treble_change; B -4921.46 -15600.08 19043.21 26000.14 ;
-C 74; N timesig-C4/4; B -11700.03 -6500.00 11049.99 6500.00 ;
-C 75; N timesig-C2/2; B -11700.03 -9099.96 11049.99 9099.96 ;
-C 76; N timesig-old4/4; B -11375.00 -4875.00 11375.00 4875.00 ;
-C 77; N timesig-old2/2; B -11375.00 -6500.00 11375.00 6500.00 ;
-C 78; N timesig-old3/2; B -11375.00 -4875.00 11375.00 4875.00 ;
-C 79; N timesig-old6/4; B -11375.00 -8125.00 11375.00 8125.00 ;
-C 80; N timesig-old9/4; B -11375.00 -8125.00 11375.00 8125.00 ;
+C 60; N scripts-accDiscant; B -11699.98 0.00 11699.98 23399.96 ;
+C 61; N scripts-accDiscantF; B -11699.98 0.00 11699.98 23399.96 ;
+C 62; N scripts-accDiscantEh; B -11699.98 0.00 11699.98 23399.96 ;
+C 63; N scripts-accDiscantE; B -11699.98 0.00 11699.98 23399.96 ;
+C 64; N scripts-accDiscantFE; B -11699.98 0.00 11699.98 23399.96 ;
+C 65; N scripts-accDiscantFEh; B -11699.98 0.00 11699.98 23399.96 ;
+C 66; N scripts-accDiscantEE; B -11699.98 0.00 11699.98 23399.96 ;
+C 67; N scripts-accDiscantFEE; B -11699.98 0.00 11699.98 23399.96 ;
+C 68; N scripts-accDiscantEEE; B -11699.98 0.00 11699.98 23399.96 ;
+C 69; N scripts-accDiscantFEEE; B -11699.98 0.00 11699.98 23399.96 ;
+C 70; N scripts-accDiscantS; B -11699.98 0.00 11699.98 23399.96 ;
+C 71; N scripts-accDiscantFS; B -11699.98 0.00 11699.98 23399.96 ;
+C 72; N scripts-accDiscantES; B -11699.98 0.00 11699.98 23399.96 ;
+C 73; N scripts-accDiscantEhS; B -11699.98 0.00 11699.98 23399.96 ;
+C 74; N scripts-accDiscantFES; B -11699.98 0.00 11699.98 23399.96 ;
+C 75; N scripts-accDiscantFEhS; B -11699.98 0.00 11699.98 23399.96 ;
+C 76; N scripts-accDiscantEES; B -11699.98 0.00 11699.98 23399.96 ;
+C 77; N scripts-accDiscantFEES; B -11699.98 0.00 11699.98 23399.96 ;
+C 78; N scripts-accDiscantEEES; B -11699.98 0.00 11699.98 23399.96 ;
+C 79; N scripts-accDiscantFEEES; B -11699.98 0.00 11699.98 23399.96 ;
+C 80; N scripts-accDiscantSS; B -11699.98 0.00 11699.98 23399.96 ;
+C 81; N scripts-accDiscantESS; B -11699.98 0.00 11699.98 23399.96 ;
+C 82; N scripts-accDiscantEESS; B -11699.98 0.00 11699.98 23399.96 ;
+C 83; N scripts-accDiscantEEESS; B -11699.98 0.00 11699.98 23399.96 ;
+C 84; N scripts-accFreebass; B -7799.99 0.00 7799.99 15599.98 ;
+C 85; N scripts-accFreebassF; B -7799.99 0.00 7799.99 15599.98 ;
+C 86; N scripts-accFreebassE; B -7799.99 0.00 7799.99 15599.98 ;
+C 87; N scripts-accFreebassFE; B -7799.99 0.00 7799.99 15599.98 ;
+C 88; N scripts-accStdbass; B -15599.98 0.00 15599.98 31199.95 ;
+C 89; N scripts-accStdbassM; B -15599.98 0.00 15599.98 31199.95 ;
+C 90; N scripts-accStdbassBp; B -15599.98 0.00 15599.98 31199.95 ;
+C 91; N scripts-accStdbassT; B -15599.98 0.00 15599.98 31199.95 ;
+C 92; N scripts-accStdbassTp; B -15599.98 0.00 15599.98 31199.95 ;
+C 93; N scripts-accBayanbass; B -7799.99 0.00 7799.99 23399.96 ;
+C 94; N scripts-accBayanbassT; B -7799.99 0.00 7799.99 23399.96 ;
+C 95; N scripts-accBayanbassE; B -7799.99 0.00 7799.99 23399.96 ;
+C 96; N scripts-accBayanbassTE; B -7799.99 0.00 7799.99 23399.96 ;
+C 97; N scripts-accBayanbassEE; B -7799.99 0.00 7799.99 23399.96 ;
+C 98; N scripts-accBayanbassTEE; B -7799.99 0.00 7799.99 23399.96 ;
+C 99; N scripts-accSB; B -10399.84 0.00 10399.84 15599.96 ;
+C 100; N scripts-accBB; B -10399.84 0.00 10399.84 15599.96 ;
+C 101; N scripts-accOldEE; B -6500.00 0.00 6500.00 13000.00 ;
+C 102; N scripts-accOldEES; B -6500.00 0.00 6500.00 13000.00 ;
+C 103; N flags-u3; B -325.03 -19922.53 8020.51 325.03 ;
+C 104; N flags-u4; B -325.03 -23172.53 8020.51 325.03 ;
+C 105; N flags-u5; B -325.03 -28047.53 8020.51 325.03 ;
+C 106; N flags-u6; B -325.03 -34547.53 8020.51 325.03 ;
+C 107; N flags-d3; B -325.03 -325.03 8875.67 18947.57 ;
+C 108; N flags-d4; B -325.03 -325.03 8875.67 19922.53 ;
+C 109; N flags-d5; B -325.03 -325.03 8875.67 25447.57 ;
+C 110; N flags-d6; B -325.03 -325.03 8875.67 28697.57 ;
+C 111; N clefs-alto; B -6500.00 -13000.00 24194.44 13000.00 ;
+C 112; N clefs-alto_change; B -5200.03 -10400.05 19355.70 10400.05 ;
+C 113; N clefs-bass; B -3250.00 -16250.00 23400.04 6500.00 ;
+C 114; N clefs-bass_change; B -2600.07 -13000.08 18720.08 5200.03 ;
+C 115; N clefs-treble; B -5664.29 -19500.00 24291.40 32500.00 ;
+C 116; N clefs-treble_change; B -4921.46 -15600.08 19043.21 26000.14 ;
+C 117; N timesig-C4/4; B -11700.03 -6500.00 11049.99 6500.00 ;
+C 118; N timesig-C2/2; B -11700.03 -9099.96 11049.99 9099.96 ;
+C 119; N timesig-old4/4; B -11375.00 -4875.00 11375.00 4875.00 ;
+C 120; N timesig-old2/2; B -11375.00 -6500.00 11375.00 6500.00 ;
+C 121; N timesig-old3/2; B -11375.00 -4875.00 11375.00 4875.00 ;
+C 122; N timesig-old6/4; B -11375.00 -8125.00 11375.00 8125.00 ;
+C 123; N timesig-old9/4; B -11375.00 -8125.00 11375.00 8125.00 ;
 EndCharMetrics
 EndFontMetrics
index 53c8104d9340f9350119efdef99726df1fa6b942..2bbc8bbddc35a8a9a2f768aba18d3d87a3d36c64 100644 (file)
        (kwregex (mapconcat (lambda (x) (concat "\\\\" x))  keywords "\\|")))
 
     (list 
-     (cons (concat ".\\(" kwregex "\\)[^a-zA-Z]") 1)
-     (cons (concat "^\\(" kwregex "\\)[^a-zA-Z]") 1)
-     '(".\\(\\\\[a-zA-Z][a-zA-Z]*\\)" 1 font-lock-variable-name-face)
-     '("^[\t ]*\\([a-zA-Z][_a-zA-Z]*\\) *=" 1 font-lock-variable-name-face)     
+      (concat ".\\(" kwregex "\\)[^a-zA-Z]")
+      (concat "^\\(" kwregex "\\)[^a-zA-Z]")
+      '(".\\(\\\\[a-zA-Z][a-zA-Z]*\\)" 1 font-lock-variable-name-face)
+      '("^[\t ]*\\([a-zA-Z][_a-zA-Z]*\\) *=" 1 font-lock-variable-name-face)     
     ))
   "Additional expressions to highlight in Mudela mode.")
 
            ( ?\_ . "." )       
            ( ?\' . "w")        
            ( ?\" . "\"" )
-           ( ?\% . "<")        
+           ( ?\% . "<")
            ( ?\n . ">")
 
 ; FIXME
 
   )    
 
-(defconst mu-stringlit-re
-   "\"\\([^\"\n\\]\\|\\\\.\\)*\""      ; double-quoted
-  "Regexp matching a Mudela string literal.")
-
-
 (defconst mu-blank-or-comment-re "[ \t]*\\($\\|%\\)"
   "Regexp matching blank or comment lines.")
 
   (make-local-variable 'paragraph-start)
   (make-local-variable 'require-final-newline)
   (make-local-variable 'comment-start)
-  (setq comment-start "% ")
-  (setq comment-end "")
+  (make-local-variable 'block-comment-start)
+  (make-local-variable 'block-comment-end)  
+
+  (setq comment-end "\n"
+       comment-start          "%"
+       comment-start-skip     "%{? *"
+       block-comment-start     "%{"
+       block-comment-end       "%}"    
+       )
   (make-local-variable 'comment-end)
   (make-local-variable 'comment-start-skip)
   (setf comment-start-skip "%{")
        paragraph-separate     "^[ \t]*$"
        paragraph-start        "^[ \t]*$"
        require-final-newline  t
-       comment-start          "% "
-       comment-start-skip     "% *"
        comment-column         40
        indent-line-function    'indent-relative-maybe
        )
   (use-local-map mu-mode-map)
 
   ;; run the mode hook. mu-mode-hook use is deprecated
-  (if mudela-mode-hook
-      (run-hooks 'mudela-mode-hook)
-    (run-hooks 'mu-mode-hook)))
+  (run-hooks 'mudela-mode-hook)
+)
+
 
 (defun mu-keep-region-active ()
   ;; do whatever is necessary to keep the region active in XEmacs.
index 3b175b5ad79d0f345d59894a72b151141cee9623..65bb377267ef58dad768d49daf9293a273434fc0 100644 (file)
@@ -5,8 +5,8 @@
 
 default: $(EXECUTABLE)
 
-$(EXECUTABLE): $(configheader) $(O_FILES) $(outdir)/version.hh $(MODULE_LIBES)
-       $(foreach a, $(MODULE_LIBS), $(MAKE) -C $a && ) true
+$(EXECUTABLE): $(configheader) $(O_FILES) $(outdir)/version.hh
+       $(foreach a, $(MODULE_LIBS), $(MAKE) -C $(a) && ) true
        $(LD_COMMAND) $(O_FILES) $(LOADLIBES)
 
 exe: $(EXECUTABLE)
@@ -30,5 +30,9 @@ uninstallexe:
        $(foreach a, $(SEXECUTABLES), rm -f $(bindir)/$(a) &&) true
 
 
-%/$(outdir)/library.a:
-       $(MAKE) -C $(dir $@)/.. default
+# Piss off.  Use MODULE_LIBS
+#
+# UGH. fucks up if $(outdir) not created.
+#
+#%/$(outdir)/library.a:
+#      $(MAKE) -C $(dir $@)/.. default
index 1c1209d3a544a3d8cb430db4ccaa04dbb94d0d62..203c64be65e085cce15b3fc7273f023564ce0edd 100644 (file)
@@ -1,5 +1,5 @@
 # empty
 LDFLAGS = $(ILDFLAGS) $(USER_LDFLAGS) $(EXTRA_LDFLAGS) $(MODULE_LDFLAGS) $($(PACKAGE)_LDFLAGS)
 
-MODULE_LIBES := $(addsuffix /$(outdir)/library.a, $(MODULE_LIBS)) $(MODULE_LIBES)
+MODULE_LIBES =$(addsuffix /$(outdir)/library.a, $(MODULE_LIBS))
 LOADLIBES = $(MODULE_LIBES) $($(PACKAGE)_LIBES) $(EXTRA_LIBES)