]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.3.28 release/1.3.28
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 1 Mar 2000 12:32:12 +0000 (13:32 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 1 Mar 2000 12:32:12 +0000 (13:32 +0100)
======

* Update of the glossary by Christian Mondrup

* Moved horn-concerto-3 out of tarball to private website, removed
W.A.Mozart subdirectory.

1.3.27.h

56 files changed:
AUTHORS.txt
CHANGES
Documentation/index.texi
Documentation/topdocs/AUTHORS.texi
Documentation/topdocs/INSTALL.texi
Documentation/topdocs/index.tely
Documentation/user/glossary.itexi [deleted file]
Documentation/user/glossary.tely [new file with mode: 0644]
Documentation/user/lilypond.tely
INSTALL.txt
TODO
VERSION
buildscripts/mutopia-index.py
input/test/GNUmakefile
input/test/sleur.ly
input/test/slur-area.fly [new file with mode: 0644]
input/test/slur-area.sly [deleted file]
input/test/slur-proof.ly [new file with mode: 0644]
input/test/tuplet-rest.ly [new file with mode: 0644]
lily/atom.cc
lily/bezier-bow.cc
lily/crescendo.cc
lily/dimension-cache.cc
lily/include/atom.hh
lily/include/bezier-bow.hh
lily/include/item.hh
lily/include/lily-guile.hh
lily/include/lily-proto.hh
lily/include/translator.hh
lily/include/tuplet-spanner.hh
lily/lily-guile.cc
lily/lookup.cc
lily/molecule.cc
lily/paper-outputter.cc
lily/paper-score.cc
lily/score-element.cc
lily/slur.cc
lily/staff-performer.cc
lily/tie.cc
lily/translator-group.cc
lily/tuplet-spanner.cc
lily/volta-spanner.cc
make/mutopia-targets.make
make/out/lilypond.lsm
make/out/lilypond.spec
make/toplevel.make.in
mutopia/GNUmakefile
mutopia/W.A.Mozart/GNUmakefile [deleted file]
mutopia/W.A.Mozart/horn-concerto-3/GNUmakefile [deleted file]
mutopia/W.A.Mozart/horn-concerto-3/allegro.ly [deleted file]
mutopia/W.A.Mozart/horn-concerto-3/cadenza.ly [deleted file]
mutopia/W.A.Mozart/horn-concerto-3/horn-concerto-3.ly [deleted file]
mutopia/W.A.Mozart/horn-concerto-3/romanze.ly [deleted file]
mutopia/W.A.Mozart/horn-concerto-3/rondo.ly [deleted file]
scm/lily.scm
scripts/ly2dvi.py

index 04c8fae7109a3627ff6b2474c5d196782242bdd1..83bef5a61192e542a2f1c125016c0f48d6381f21 100644 (file)
@@ -43,6 +43,8 @@ list is alphabetically ordered.
 
    * Adrian Mariano <>     Reference manual, tutorial fixes, glossary.
 
+   * Christian Mondrup <scancm@biobase.dk>     Glossary.
+
    * Han-Wen Nienhuys <hanwen@cs.uu.nl>,
      `http://www.cs.uu.nl/~hanwen/'     Main author (initials: HWN).
 
diff --git a/CHANGES b/CHANGES
index e439dbafe5f590b5805945aef478b141447b3f4d..2f2baa38edc23eb93193a758a15c82af81565bdc 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,8 +1,50 @@
-1.3.27.jcn1  -- eigenlijk: 26.hwn4.jcn1
+
+1.3.28
+======
+
+* Update of the glossary by Christian Mondrup 
+
+* Moved horn-concerto-3 out of tarball to private website, removed
+W.A.Mozart subdirectory.
+
+1.3.27.hwn1
+===========
+
+* Bugfix: don't make giant ties if the horizontal part of tie is near
+the center.
+
+* Small optimizations to be a little more careful with mem usage. 
+
+* Website change: put all examples in one directory.
+
+* Removed Atom as a separate type.  Now use SCM, and since we use
+function composition, Atoms are immutable, so they don't have to be
+copied. This makes life easier, hopefully this is quicker and uses
+less memory.
+
+1.3.27.jcn1
 ===========
 
 * Bezier_bow: minimise_enclosed_area
 
+1.3.27
+======
+
+1.3.26.hwn4
+===========
+
+* Tuplet-spanner slope calculation now looks better on tupletted rests
+(patch courtesy Laurent Martelli)
+
+* Bugfix (Staff_performer::new_instrument_str ()) check type of
+\property "instrument"
+
+* New mechanism for breaking lines: do not copy & prune the element
+property list separately, but combine these steps. Dramatically
+reduces memory usage for large scores.
+
+1.3.27
+======
 1.3.26.jcn2
 ===========
 
index e9258e0c7271eede06af745ef7c67b988a4a1db4..da0c1053fbcf1dd0a7ba2e731b4cfb8cafc9b37a 100644 (file)
 @itemize @bullet
 @item @uref{faq.html,FAQ: Frequently asked questions}, with answers
 @item @uref{programs.html,`Manual pages'}
-@item @uref{../user/out-www/index.html,User documentation}
+
+@item @uref{../user/out-www/lilypond.html,LilyPond reference manual}
+also available in @uref{../user/out-www/lilypond.ps.gz,Postscript}
+@item @uref{../user/out-www/glossary.html,A glossary of musical
+terms}, includes translations.  Also available in @uref{../user/out-www/glossary.ps.gz,Postscript})
+@item @uref{../user/out-www/mudela-book.html,mudela-book}, a tool for
+integrating text and music in LaTeX and texinfo; also available in
+@uref{../user/out-www/mudela-book.ps.gz,Postscript}
 @item @uref{../programmer/out-www/index.html,Programmer documentation}
 @item @uref{../bibliography/out-www/index.html,Bibliography}
 @item @uref{../misc/out-www/index.html,Miscellaneous texts}
index 950c41a7fa2c76f66e311f4ae48ea70529281412..4a37c46e0fb33f7a85c2314aad15d9a465e250f9 100644 (file)
@@ -43,8 +43,10 @@ list is alphabetically ordered.
     misc bugfixes, some Beam and Stem code. 
 @item @email{drl@@vuse.vanderbilt.edu, David R. Linn},
     Mailing list maintenance.
-@item @email{, Adrian Mariano}
+@item @email{,Adrian Mariano}
     Reference manual, tutorial fixes, glossary.
+@item @email{scancm@@biobase.dk,Christian Mondrup}
+    Glossary.
 @item @email{hanwen@@cs.uu.nl, Han-Wen Nienhuys}, 
     @uref{http://www.cs.uu.nl/~hanwen/}
     Main author (initials: HWN).
index b0a5d56567b1f25c52f89391819f6dc043a5a11a..8678c583b19ff06500f36f2e24d167b2dda06356 100644 (file)
 
 This document explains what you need to install LilyPond, and what you
 should do.  If you are going to compile and install LilyPond often,
-e.g. when doing development, you might want to check out the 
-@file{buildscripts/set-lily.sh} script.  It sets some environment 
-variables and symlinks, which comes in handly when you have to compile 
-LilyPond more often.  
+e.g. when doing development, you might want to check out the
+@file{buildscripts/set-lily.sh} script.  It sets some environment
+variables and symlinks, which comes in handy when you have to compile
+LilyPond more often.
 
 @section Obtaining
 
index e87837690fc7b0e12bb4d60d0580abe6b638f875..e1211293a7edad2497faf4c5f01e44ee25668f01 100644 (file)
@@ -70,7 +70,7 @@ almost no restrictions.  LilyPond is part of the
 The version numbers are in Linux-kernel style: even numbered versions
 are `stable'. The webpages for the stable version (1.2) reside at GNU,
 here: @uref{http://www.gnu.org/software/lilypond}. Big enhancements go
-into the latest odd numbered version (1.3), which webpages are on 
+into the latest odd numbered version (1.3); its  webpages are on 
  @uref{http://www.cs.uu.nl/~hanwen/lilypond/,Han-Wen's site}.
 
 If want more information, you can browse the
@@ -91,8 +91,8 @@ For the latest and greatest features, check out the
 
 
 If you are interested in sheet music typeset by LilyPond, have a look at
-the examples included. We have @uref{./input/out-www/index.html,short
-examples} and @uref{./mutopia/out-www/index.html,longer examples}. The
+the examples included. We have @uref{short-examples.html,short
+examples} and @uref{long-examples.html,longer examples}. The
 examples include sound bites  in MIDI, pictures in PNG, printable scores
 in PostScript, and LilyPond input.
 
@@ -112,9 +112,9 @@ large archive of public domain sheet music under construction.
 
 If you want to compile LilyPond from source, download here:
 @itemize @bullet
-@item    Download stable releases at
+@item Download stable releases at
 @uref{ftp://ftp.gnu.org/gnu/lilypond/}
-@item    Download development releases at
+@item Download development releases at
 @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/}
 @item Canadian mirror   @uref{http://sca.uwaterloo.ca/lilypond/} and @uref{ftp://sca.uwaterloo.ca/pub/} 
 @item Another site in Europe
@@ -122,7 +122,8 @@ If you want to compile LilyPond from source, download here:
 @end itemize
 
 Installing and compiling requires many additional packages, which are
-listed in the  @uref{Documentation/topdocs/out-www/INSTALL.html, installation instructions}.
+listed in the @uref{Documentation/topdocs/out-www/INSTALL.html,
+installation instructions}.
 
 There are binaries available, but alas they are not updated for every version released.
 @itemize @bullet
@@ -144,25 +145,6 @@ If you have questions, do write to the mailing lists!
  (But don't forget to read the @uref{Documentation/out-www/faq.html,
 Frequently Asked Questions} first.)
 
-@html
-<p align=center>
-[
-    <a href="#download">Download</a>
-    |
-    <a href="Documentation/out-www/faq.html">FAQ</a>
-    |
-    <a href="Documentation/out-www/index.html">Documentation</a>
-    |
-    <a href="#music">Music archives</a>
-    |
-    <a href="#mailing-lists">Mailing lists</a>
-    |
-    <a href="Documentation/programmer/out-www/regression-test.html">
-    Regression test</a>
-    |
-    <a href="Documentation/out-www/CHANGES.txt">News</a>
-]
-@end html
 
 @table @samp
 @item info-gnu-music@@gnu.org
diff --git a/Documentation/user/glossary.itexi b/Documentation/user/glossary.itexi
deleted file mode 100644 (file)
index fca076a..0000000
+++ /dev/null
@@ -1,2068 +0,0 @@
-@node Glossary, , ,  Top
-@chapter Glossary
-
-This is a list of musical terms, along with explanations and
-translations.  It is not complete, so additions are welcome.
-Languages are marked thusly:
-
-@itemize
-@item NL - Nederlands
-@item UK - British English
-@item F - French
-@item I - Italian
-@end itemize
-
-@table @strong
-
-@item Enharmonic Comma
-
-F: comma enharmonique
-
-
-@ignore
-
-F: doigté de pédale
-
-F: doigté,  D: Fingersatz 
-
-F: indication de pédale
-
-F: pointillés.
-
-@end ignore
-
-@item A
-F: la,  D: a.
-
-
-
-
-@item accent
-F: accent,  D: Akzent NL: accent I: accento.
-
-
-
-@item accidental
-F: altération accidentelle,  D: Vorzeichen, Versetzungszeichen, Akzidenz NL: toevallig teken, I: accidento.
-
-
-
-@item adjacent keys
-F: tons voisins.
-
-
-
-@item alto
-F: alto,  D: Alt, NL: alt.
-
-
-
-@item ancient form??? (diatonic minor scale)
-F: forme du mode mineur ancien.
-
-
-
-@item appoggiatura
-F: appogiature, ports de voix, notes d'agrèment,  D: langer Vorschlag, NL: lange voorslag, I: appogiature.
-
-
-
-@item arbitrary number of bars' rest
-F: bâton de pause,   NL: meermaats rust.
-
-
-
-@item arpeggio
-F: arpège, arpègement,  D: Arpeggio, Brechungen, NL: gebroken akoord, I: arpeggio.
-
-
-
-@item artificial measure
-F: mesure artificielle.
-
-
-
-@item artificial rest
-F: respiration.
-
-
-
-@item ascending interval
-
-F: intervalle ascendant,   NL: stijgend interval.
-
-
-@item augmented (interval)
-
-F: augmenté (intervalle),  D: Ã¼bermäßig (Intervall), NL: overmatig interval.
-
-
-@item autograph
-
-1. A manuscript in the composer's own hand. 2.  Music prepared for
-photoreproduction by freehand drawing, with only the aid of a
-straightedge ruler and T-square, which attempts to emulate
-engraving. This required more skill than engraving.
-
-@item B
-
-F: si,  D: h.
-
-
-
-
-
-@item backfall; forefall
-
-F: accent, chute, port de voix,  D: Vorschlag, NL: korte voorslag, I: appogiature.
-
-
-
-
-
-@item bar line
-
-F: barre (de mesure),  D: Taktstrich, NL: maatstreep, I: stanghetta.
-
-
-
-
-
-@item bar; measure
-
-F: mesure,  D: Takt, NL: maat, maatstreep.
-
-
-
-
-
-@item baritone
-
-F: bariton,  D: Bariton, NL: bariton.
-
-
-
-@item F clef
-
-D: F-Schlüssel, NL: F sleutel.
-
-A clef shaped as a curl with two dots.  The position between the dots is the line of the F below central C.
-
-
-
-
-@item bass clef
-
-F: clé de fa,  D: Bass-Schlüssel, NL: bas sleutel, I: chiave di basso.
-
-A clef setting with central C on the first top ledger line.
-
-
-
-
-@item bass
-
-F: basse,  D: Bass, NL: bas.
-
-
-
-
-
-@item beam
-
-F: barre,  D: Balken, NL: waardestreep/balk, I: barra.
-
-
-
-
-
-@item beat
-
-F: temps,  D: Takt(-schlag), NL: tel.
-
-
-
-
-
-@item brace
-
-F: accolade,  D: Klammer, NL: accolade, haak, I: accolada.
-
-Symbol at the start of a system that connects staffs.
-
-
-
-
-@item brass
-
-  D: Blechbläser, NL: koper (blazers).
-
-
-
-
-
-@item alto clef
-
-F: clé d'ut,  D: Altschlüssel, NL: alt sleutel, I: chiave di tenore.
-
-Clef setting that has central C on the middle staff line.  
-
-
-
-
-@item C clef
-
-   NL: C sleutel. .
-
-A clef symbol that looks like a horizontally mirrored 3.  It indicates the position of the central C. Used in different positions.
-
-
-
-
-@item C
-
-F: do,  D: c, NL: C.
-
-
-
-
-
-@item C
-
-F: ut,  D: c.
-
-
-
-
-
-@item cadence
-
-F: cadence,  D: Kadenz, NL: cadens.
-
-
-
-
-
-@item cadenza
-
-F: fioriture,  D: Kadenz, NL: cadens, I: cadenza.
-
-
-
-
-
-@item cent
-
-  D: Cent, NL: cent.
-
-1/1200 of an octave (1/100 of an equally tempered semitone)
-
-
-
-
-@item chain of trills
-
-F: chaîne de trilles,   NL: triller.
-
-
-
-
-
-@item character
-
-F: caractère.
-
-
-
-
-
-@item chevron
-
-F: chevron.
-
-
-
-
-
-@item chord
-
-F: accord,  D: Akkord, NL: akkoord.
-
-
-
-
-
-@item chromatic scale
-
-F: gamme chromatique,  D: Chromatische Tonleiter, NL: chromatische toonladder.
-
-
-
-
-
-@item chromatic semitone
-
-F: demi-ton chromatique,   NL: chromatische halve toon.
-
-
-
-
-
-@item chromatic transposition
-
-F: transposition chromatique.
-
-
-
-
-
-@item chromatic type
-
-F: genre chromatique.
-
-
-
-
-
-@item church mode; ecclesiastical mode
-
-F: mode ecclésiastique,  D: Kirchentonart, NL: kerk toonladder.
-
-
-
-
-
-@item clef
-
-F: clé,  D: Notenschlüssel, NL: sleutel, I: la chiave (pl. le chiavi).
-
-
-
-
-
-@item comma
-
-F: comma,  D: Komma, NL: komma.
-
-Difference in pitch of a note when the note is derived from a different tuning system.
-
-
-
-
-@item compound interval
-
-F: intervalle composé,  D: Komplementärintervall.
-
-
-
-
-
-@item compound measure
-
-F: mesure composée,   NL: samengestelde maat.
-
-
-
-
-
-@item conjunct movement
-
-F: mouvement conjoint.
-
-
-
-
-
-@item consonant interval; consonance
-
-F: consonance,  D: Konsonanz, NL: consonant.
-
-
-
-
-
-@item contralto
-
-F: contralto,  D: Alt(-stimme), alt-.
-
-
-
-
-
-@item contro-time
-
-F: contre-temps.
-
-@item Copying, Music
-
-A music copyist did fast freehand scores and parts on preprinted staff
-lines for performance. Some of their conventions (e.g.: the placement of
-noteheads on stems) varied slightly from those of engravers. Some of
-their practices (not that) were superior and could well be adopted by
-music typesetters. This also required more skill than engraving.
-
-
-@item crescendo
-
-F: crescendo,  D: Crescendo,  I: crescendo.
-
-written with an extended opening angular bracket, indicates increasing volume
-
-
-
-
-@item cue-notes
-
-  D: Stichnoten, NL: stichnoten.
-
-In an orchestral part, notes for a different instrument that hint when to start playing.  Usually printed in smaller type.
-
-
-
-
-@item D
-
-F: ré,  D: d.
-
-
-
-
-
-@item dash over/below
-
-    I: pizzicato.
-
-With plucked strings
-
-
-
-
-@item decrescendo
-
-  D: Decrescendo,  I: decrescendo.
-
-written with an extended closing angular bracket, indicates decreasing volume
-
-
-
-
-@item degree [of the scale]
-
-F: degré [de la gamme],  D: Stufe [der Tonleiter], NL: trap [van de toonladder].
-
-
-
-
-
-@item descending interval
-
-F: intervalle descendant,   NL: dalend interval.
-
-
-
-
-
-@item diatonic major scale
-
-F: gamme diatonique majeure,  D: Diatonische Durtonleiter, NL: diatonische majeur toonladder.
-
-
-
-
-
-@item diatonic minor scale
-
-F: gamme diatonique mineure,  D: Diatonische Molltonleiter.
-
-
-
-
-
-@item diatonic semitone
-
-F: demi-ton diatonique,   NL: diatonische halve toon.
-
-
-
-
-
-@item diatonic type
-
-F: genre diatonique,  D: diatonisch.
-
-
-
-
-
-@item diatonic
-
-F: diatonique,   NL: diatonisch.
-
-A diatonic scale is a scale consisting of whole and half tones.
-
-
-
-
-@item diminished (interval)
-
-F: diminué (intervalle),  D: vermindert (Intervall), NL: verminderd (interval).
-
-
-
-
-
-@item disjunct movement
-
-F: mouvement disjoint.
-
-
-
-
-
-@item dissonant interval; dissonance
-
-F: dissonance,  D: Dissonanz, NL: dissonant interval; dissonant.
-
-
-
-
-
-@item dominant ninth chord
-
-F: accord de neuvième dominante,   NL: dominant noon akkoord.
-
-
-
-
-
-@item dominant seventh chord
-
-F: accord de septième dominante,  D: Dominantseptakkord, NL: dominant septiem akkoord.
-
-
-
-
-
-@item dominant
-
-F: dominante,  D: Dominante, NL: dominant.
-
-A tone that creates tension;the fifth degree of the scale.
-
-
-
-
-@item dorian mode
-
-  D: Dorische Tonart, NL: dorische toonladder.
-
-Mode obtained by raising the sixth in minor mode.  A Dorian scale can be played from D to D with no sharps or flats.
-
-
-
-
-@item dot (augmentation dot) 
-
-F: point,  D: Punkt (Verlängerungspunkt), NL: punt, I: punto.
-
-An augmentation dot after note adds multiplies the duration by one and a half.
-
-
-
-
-@item dot and curved line combined
-
-F: point et liaison combinés.
-
-
-
-
-
-@item dot over/below
-
-  D: Staccato, NL: staccato, I: staccato.
-
-Play each note short.
-
-
-
-
-@item dot
-
-F: point,  D: Punkt, NL: punt.
-
-
-
-
-
-@item dotted note
-
-F: note pointée,  D: punktierte Note.
-
-
-
-
-
-@item double appoggiatura
-
-F: appogiature double.
-
-
-
-
-
-@item double bar line
-
-F: double barre,  D: Doppel(takt)strich, NL: dubbele streep, I: doppia barra.
-
-Indicates the end of a section within a movement.
-
-
-
-
-@item double dotted note
-
-F: note doublement pointée,  D: doppel-punktierte Note.
-
-
-
-
-
-@item double flat
-
-F: double bémol,  D: Doppel-Be, NL: dubbelmol, I: doppio bemolle.
-
-
-
-
-
-@item double sharp
-
-F: double dièse,  D: Doppelkreuz, NL: dubbelkruis, I: doppio diesis.
-
-Raise pitch by two semitones
-
-
-
-
-@item double trill
-
-F: trille double,  D: Doppeltriller.
-
-A trill on a chord
-
-
-
-
-@item double triplet
-
-F: double triolet,  D: Doppeltriole, NL: dubbele triool.
-
-
-
-
-
-@item double whole note
-
- UK: breve, D: Brevis, NL: brevis, I: breve.
-
-Note during twice as long as a whole note. Mainly used in pre-1650 music.
-
-
-
-
-@item duple meter
-
-F: temps binaire,   NL: tweedelige maatsoort.
-
-
-
-
-
-@item duplet
-
-F: duolet,  D: Duole, NL: duool.
-
-
-
-
-
-@item duration
-
-F: durée,  D: Dauer, Länge, NL: duur, lengte.
-
-
-
-
-
-@item E
-
-F: mi,  D: e.
-
-
-
-
-
-@item eighth note
-
-F: croche, UK: quaver, D: Achtelnote, NL: achtste noot.
-
-
-
-
-
-@item eighth rest
-
-F: demi-soupir, UK: quaver rest, D: Achtelpause, NL: achtste rust.
-
-
-
-
-
-@item engraving
-
-D: Notenstechen, NL: steken.
-
-Engraving means incising or etching a metal plate for
-printing. Photoengraving means drawing music with ink in a manner
-similar to drafting or engineering drawing, using similar tools.
-
-The traditional process of music printing is done through: cutting in a
-plate of metal. Now also the term for the art of music typography.
-
-
-
-
-@item enharmonic
-
-F: enharmonique,  D: enharmonisch, NL: enharmonisch.
-
-Two notes, intervals, or scales are enharmonic if they have different names but sound the same.  Examples: C sharp and D flat, diminished fourth and major third
-
-
-
-
-@item equal temperament
-
-F: tempérament Ã©gal,   NL: getempereerde stemming.
-
-Tuning system in which each semitone is precisely 100 cents.
-
-
-
-
-@item essential alteration
-
-F: altération essentielle.
-
-
-
-
-
-@item expression mark
-
-F: signe d'expressoin,  D: Vortragszeichen, NL: voordrachtsteken, I: segno d'espressione.
-
-
-
-
-
-@item extension of interval
-
-F: extension d'intervalle.
-
-
-
-
-
-@item F
-
-F: fa,  D: f.
-
-
-
-
-
-@item fermata
-
-F: pauses,  D: Fermate, NL: fermate, I: fermata.
-
-Prolonged sound or silence of indefinite duration
-
-
-
-
-@item fifth
-
-F: quinte,  D: Quinte, NL: kwint.
-
-
-
-
-
-@item flag; hook; tail; pennant
-
-F: crochet,  D: Fähnchen, NL: vlaggetje, I: coda uncinata.
-
-Ornament at the end of the stem of a note. The number of flags determines the lengths of notes shorter than a quarter note.
-
-
-
-
-@item flat
-
-F: bémol,  D: Be, NL: mol, I: bemolle.
-
-Lower pitch by a semitone
-
-
-
-
-@item four-bar rest
-
-F: bâton de pause.
-
-
-
-
-
-@item fourth
-
-F: quarte,  D: Quarte, NL: kwart.
-
-
-
-
-
-@item G
-
-F: sol,  D: g.
-
-
-
-
-
-@item glissando
-
-F: glissement,  D: Glissando, NL: glissando, I: glissando.
-
-Letting the pitch  slide fluently from one note to the other
-
-
-
-
-@item graces
-
-F: petites notes,  D: Verzierungen, Manieren, NL: versieringen, I: appogiature.
-
-
-
-
-
-@item grand staff
-
-   NL: piano systeem.
-
-A combination of two staffs with a brace.  Usually used for piano music.
-
-
-
-
-@item half note
-
-F: blanche, UK: minim, D: Halbe Note, NL: halve noot.
-
-
-
-
-
-@item half rest
-
-F: demi-pause, UK: minim rest, D: Halbe Pause, NL: halve rust.
-
-
-
-
-
-@item harmonic cadence
-
-F: cadence harmonique,   NL: harmonische cadens.
-
-Sequence of chords that terminate a musical phrase or section.
-
-
-
-
-@item harmonic form (diatonic minor scale)
-
-F: forme harmonique.
-
-
-
-
-
-@item harmonic interval
-
-F: intervalle harmonique,  D: Harmonisches Intervall.
-
-
-
-
-
-@item incomplete measure
-
-F: mesure incomplète.
-
-
-
-
-
-@item interval
-
-F: intervalle,  D: Intervall, NL: interval.
-
-Difference in pitch between two notes
-
-
-
-
-@item inversion of interval
-
-F: renversement d'intervalle,   NL: interval inversie.
-
-
-
-
-
-@item irregular contro-time
-
-F: contre-temps irrégulier.
-
-
-
-
-
-@item irregular group
-
-F: groupe irrégulier.
-
-
-
-
-
-@item irregular measure
-
-F: mesure irrégulière.
-
-
-
-
-
-@item irregular syncopation
-
-F: syncope irrégulière,   NL: onregelmatige syncope.
-
-
-
-
-
-@item just intonation
-
-    I: .
-
-Tuning system in which the notes are obtained by adding and subtracting natural fifths and thirds.
-
-
-
-
-@item key signature
-
-F: armure, armature [de la clé], signes des accidentals,  D: Vorzeichen, NL: toonsoort (voortekens), I: segni di chiave.
-
-
-
-
-
-@item kind of note
-
-F: figure de note.
-
-
-
-
-
-@item kind of rest
-
-F: figure de silence.
-
-
-
-
-
-@item leading note
-
-F: sensible.
-
-
-
-
-
-@item ledger line; leger line
-
-F: ligne supplémentaire,  D: Hilfslinien, Kopfstriche (?), NL: hulplijntje, I: lineette.
-
-A ledger line is an extension of the staff.  
-
-
-
-
-@item legato curve
-
-F: liaison rythmique,   NL: legato boog.
-
-
-
-
-
-@item lilypond
-
-F: Ã©tang de lis, UK: lily pond, D: Lilienteich, NL: lelievijver, I: stagno del giglio.
-
-A pond with  lilies floating in it, also the name of a music typesetter.
-
-
-
-
-@item line
-
-F: ligne,  D: Linie, NL: lijn.
-
-
-
-
-
-@item long appoggiatura
-
-F: appogiature longue.
-
-
-
-
-
-@item lower number
-
-F: chiffre inférieur.
-
-
-
-
-
-@item major (interval)
-
-F: majeur (intervalle),  D: groß (Intervall), NL: groot (interval).
-
-
-
-
-
-@item major mode
-
-F: mode majeur,  D: Dur.
-
-
-
-
-
-@item meantone temperament
-
-F: tempérament mésotonique.
-
-Tuning based on a fifth that is 16 cents smaller than the natural fifth.  
-
-
-
-
-@item mediant
-
-F: médiante,   NL: mediant.
-
-The third degree of a scale
-
-
-
-
-@item melodic cadence
-
-F: cadence mélodique,   NL: cadens.
-
-A free-form section at the end of a solo-concerto, where the soloist can demonstrate his/her virtuosity.
-
-
-
-
-@item melodic form (diatonic minor scale)
-
-F: forme mélodique.
-
-
-
-
-
-@item meter; time
-
-F: mètre,  D: Takt, Metrum, NL: maatsoort.
-
-A recurring pattern of stress
-
-
-
-
-@item metronome
-
-F: métronome,  D: Metronom, NL: metronoom.
-
-Device which sounds a steady beat
-
-
-
-
-@item metronomic indication
-
-F: indication métronomique,  D: Metronomangabe.
-
-Exact tempo indication (in beats per minute).  Also denoted by M.M. (Mälzel's Metronom)
-
-
-
-
-@item mezzo-soprano
-
-F: mezzo-soprano,  D: Mezzosopran.
-
-
-
-
-
-@item middle C
-
-F: do central,  D: eingestrichenes c, NL: centrale C.
-
-First C below the 440 Hz A.
-
-
-
-
-@item minor (interval)
-
-F: mineur (intervalle),  D: klein (Intervall).
-
-
-
-
-
-@item minor mode
-
-F: mode mineur,  D: Moll.
-
-
-
-
-
-@item modal note
-
-F: note modale.
-
-
-
-
-
-@item mode
-
-F: mode,  D: Geschlecht.
-
-
-
-
-
-@item modulation
-
-F: modulation,  D: Modulation, NL: modulatie.
-
-
-
-
-
-@item mordent
-
-F: mordant, pincè,  D: Pralltriller, Mordent, NL: mordent, I: mordente.
-
-
-
-
-
-@item motive
-
-F: incise,  D: Motiv, NL: motief.
-
-
-
-
-
-@item musical ladder
-
-F: Ã©chelle musicale.
-
-
-
-
-
-@item mixolydian mode
-
-  D: Mixolydische Tonart, NL: Mixolydische toonladder.
-
-Mode obtained by lowering the seventh in major.  A mixolydian scale can be obtained by playing G to G with no sharps or flats.
-
-
-
-
-@item natural sign
-
-F: bécarre,  D: Auflösungszeichen, NL: herstellingsteken, I: bequadro.
-
-Do not play the following note flat or sharp.
-
-
-
-
-@item ninth
-
-  D: None, NL: noon.
-
-
-
-
-
-@item note head
-
-  D: Notenkopf, NL: noot balletje.
-
-
-
-
-
-@item note
-
-F: note,  D: Note, NL: noot, I: nota.
-
-
-
-
-
-@item octave line
-
-F: Ã©chelle d'octave.
-
-
-
-
-
-@item octave line
-
-F: clé d'octave.
-
-
-
-
-
-@item octave sign
-
-F: octave,  D: Oktave,  I: ottava.
-
-
-
-
-
-@item octave
-
-F: octave,  D: Oktave, NL: octaaf.
-
-
-
-
-
-@item ornament; embellishment; accessory
-
-F: agrèment, ornement, D: Verzierungen, I: fiorette, fioriture,
-abbellimenti.
-
-
-@item ossia
-
-NL: alternatief
-
-Ossia (otherwise) marks an alternative. It is an added staff or piano
-score, usually only a few measures long, which presents another version
-of the music, for small hands, for example.
-
-
-@item part
-
-NL: partij.
-
-
-
-
-
-@item pause
-
-F: pause,  D: Luftpause.
-
-
-
-
-
-@item pause
-
-F: point d'orgue.
-
-
-
-
-
-@item perfect (interval)
-
-F: juste (intervalle),  D: rein (Intervall), NL: rein (interval).
-
-
-
-
-
-@item perfect major chord
-
-F: accord parfait majeur.
-
-
-
-
-
-@item perfect minor chord
-
-F: accord parfait mineur.
-
-
-
-
-
-@item phrase member
-
-F: membre de phrase.
-
-
-
-
-
-@item phrase
-
-F: phrase,  D: Phrase, NL: frase, zin.
-
-
-
-
-
-@item phrasing
-
-F: phrasé.
-
-
-
-
-
-@item pitch pipe; tuning fork
-
-F: diapason,  D: Stimmgabel, NL: stemfluitje; stemvork.
-
-
-
-
-
-@item pitch
-
-F: hauteur,  D: Tonhöhe, NL: toonhoogte.
-
-
-
-
-
-@item Pythagorean comma
-
-F: comma pythagoricien,  D: Pythagoräisches Komma, NL: komma van Pythagoras.
-
-A sequence of fifths starting on C eventually circles back to C (B sharp), but this B sharp is 24 cents higher than C.  This gap is the Pythagorean comma.  
-
-
-
-
-@item quadruplet
-
-F: quartolet,   NL: kwartool.
-
-
-
-
-
-@item quarter note
-
-F: noire, UK: crotchet, D: Viertelnote, NL: kwartnoot.
-
-
-
-
-
-@item quarter rest
-
-F: soupir, UK: crotchet rest, D: Viertelpause, NL: kwart rust.
-
-
-
-
-
-@item register
-
-F: registre,  D: Register, NL: register.
-
-
-
-
-
-@item regular contro-time
-
-F: contre-temps régulier.
-
-
-
-
-
-@item regular syncopation
-
-F: syncope régulière.
-
-
-
-
-
-@item relative scales
-
-F: gammes relatives, tons relatifs.
-
-
-
-
-
-@item repeat
-
-F: barre de reprise,  D: Wiederholung, NL: herhaling.
-
-
-
-
-
-@item rest
-
-F: silence.
-
-
-
-
-
-@item rest
-
-F: soupir,  D: Pause, NL: rust, I: pausa.
-
-
-
-
-
-@item return sign
-
-F: renvoi,   NL: herstellingsteken.
-
-
-
-
-
-@item rhythm
-
-F: rythme,  D: Rhythmus, NL: ritme.
-
-
-
-
-
-@item rhythmic curve
-
-F: courbe rythmique.
-
-
-
-
-
-@item scale
-
-F: gamme,  D: Tonleiter, NL: toonladder.
-
-
-
-
-
-@item score
-
-F: partition,  D: Partitur, NL: partituur.
-
-
-
-
-
-@item second
-
-F: seconde,  D: Sekunde,  I: secunde.
-
-
-
-
-
-@item semitone
-
-F: demi-ton,  D: Halbton, NL: halve toon.
-
-
-
-
-
-@item seventh
-
-F: septième,  D: Septime, NL: septiem, I: septime.
-
-
-
-
-
-@item sextuplet
-
-F: sextolet,  D: Sextole, NL: sextool.
-
-
-
-
-
-@item sextuplet
-
-F: sixain,   NL: sextool.
-
-
-
-
-
-@item shading signs
-
-F: signes indicateurs de nuance.
-
-
-
-
-
-@item shading
-
-F: nuance,  D: Nuance.
-
-
-
-
-
-@item sharp
-
-F: dièse,  D: Kreuz (um Halbton erhöht), NL: kruis.
-
-
-
-
-
-@item short appoggiatura
-
-F: appogiature brève.
-
-
-
-
-
-@item simple appoggiatura
-
-F: appogiature simple.
-
-
-
-
-
-@item simple interval
-
-F: intervalle simple.
-
-
-
-
-
-@item simple measure
-
-F: mesure simple.
-
-
-
-
-
-@item sixteenth note
-
-F: double croche, UK: semiquaver, D: Sechzehntelnote, NL: zestiende noot.
-
-
-
-
-
-@item sixteenth rest
-
-F: quart de soupir, UK: semiquaver rest, D: Sechzehntelpause, NL: zestiende rust.
-
-
-
-
-
-@item sixth
-
-F: sixte,  D: Sexte, NL: sext.
-
-
-
-
-
-@item sixty-fourth note
-
-F: quadruple croche, UK: hemidemisemiquaver, D: Vierundsechzigstelnote, NL: vierenzestigste noot.
-
-
-
-
-
-@item sixty-fourth rest
-
-F: seizième de soupir, UK: hemidemisemiquaver rest, D: Vierundsechzigstelpause.
-
-
-
-
-
-@item slur
-
-F: liaison, coulé,  D: Bindungszeichen, Bindebogen, NL: binding, bindingsboog, I: legatura.
-
-
-
-
-
-@item soprano
-
-F: soprano,  D: Sopran, NL: sopraan.
-
-
-
-
-
-@item space
-
-F: espace.
-
-
-
-
-
-@item staff
-
-F: portée,  D: Noten(linien)system, NL: (noten)balk; partij.
-
-pl staves or staffs
-
-
-
-
-@item stem
-
-F: queue,  D: Stiel, Hals, NL: stok, I: asta, gamba.
-
-
-
-
-
-@item strings
-
-  D: Streicher, NL: strijkers.
-
-
-
-
-
-@item strong beat
-
-F: temps fort,   NL: thesis.
-
-
-
-
-
-@item subdominant
-
-F: sous-dominante,  D: Subdominante.
-
-The fourth degree of the scale
-
-
-
-
-@item submediant
-
-    I: .
-
-The sixth scale degree
-
-
-
-
-@item subtonic
-
-F: sous-tonique,  D: Subtonika.
-
-The seventh degree of the scale
-
-
-
-
-@item superdominant
-
-F: sus-dominante.
-
-The sixth scale degree
-
-
-
-
-@item supertonic
-
-F: sus-tonique.
-
-The second scale degree
-
-
-
-
-@item syncopation; upbeat
-
-F: syncope,  D: Synkope, NL: syncope.
-
-
-
-
-
-@item syntonic comma
-
-F: comma syntonique,   NL: komma van Didymos, syntonische komma.
-
-Difference between the natural third and the third obtained by Pythagorean tuning, euqal to 22 cents. 
-
-
-
-
-@item system
-
-F: système,  D: System, NL: systeem, I: sitema.
-
-
-
-
-
-@item tempo indication
-
-F: signes de temps,  D: Zeitmaß, Tempobezeichnung, NL: tempo aanduiding, I: segno di tempo.
-
-
-
-
-
-@item tempo; movement
-
-F: mouvement,  D: Tempo.
-
-
-
-
-
-@item tenor
-
-F: ténor,  D: Tenor.
-
-
-
-
-
-@item tenth
-
-  D: Dezime, NL: deciem, I: decime.
-
-
-
-
-
-@item tetrachord
-
-F: tétracorde,  D: Vierklang.
-
-
-
-
-
-@item third
-
-F: tierce,  D: Terz, NL: terts.
-
-
-
-
-
-@item thirty-second note
-
-F: triple croche, UK: demisemiquaver, D: Zweiunddreißigstelnote, NL: 32e noot.
-
-
-
-
-
-@item thirty-second rest
-
-F: huitième de soupir, UK: demisemiquaver rest, D: Zweiunddreißigstelpause, NL: 32e rust.
-
-
-
-
-
-@item tie
-
-F: liaison,  D: Haltebogen, NL: overbinding, I: legatura.
-
-A curve that shows the prolongation (as opposed to the repetition fo a note)
-
-
-
-
-@item time signature
-
-F: chiffrage (chiffres indicateurs), signe de valeur,  D: Taktvorzeichnung, Taktvorzeichen, NL: maatsoort, I: segni di tempo.
-
-
-
-
-
-@item tonal note
-
-F: note tonale.
-
-
-
-
-
-@item tonality
-
-F: tonalité,  D: Tonalität, NL: tonaliteit.
-
-
-
-
-
-@item tone
-
-F: ton,  D: Ton, NL: toon.
-
-
-
-
-
-@item tonic
-
-F: tonique,  D: Tonika, NL: tonica.
-
-
-
-
-
-@item transposition
-
-F: transposition,  D: Transposition, NL: transpositie.
-
-Shifting a melody up or down in pitch, while keeping the same relative pitches.
-
-
-
-
-@item G clef
-
-   NL: G sleutel.
-
-A clef symbol with a loop at the top and a spiral in the center.  The center of the spiral indicates the G above central C.
-
-
-
-
-@item treble clef
-
-F: clé de sol,  D: Violinschlüssel, NL: viool sleutel, I: chiave di violino.
-
-Clef setting where the second lowest line is the G above central C.
-
-
-
-
-@item tremolo
-
-F: trèmolo,  D: Tremolo, NL: tremolo, I: tremolo.
-
-
-
-
-
-@item trill; shake
-
-F: trille, tremblement, battement (cadence),  D: Triller, NL: triller, I: trillo.
-
-
-
-
-
-@item triple meter
-
-F: temps ternaire,   NL: driedelige maatsoort.
-
-
-
-
-
-@item triplet
-
-F: triolet,  D: Triole.
-
-
-
-
-
-@item tritone
-
-F: triton,  D: Tritonus.
-
-
-
-
-
-@item turn; gruppetto
-
-F: brisè, groupe, doublè, grupetto,  D: Doppelschlag, NL: dubbelslag, I: grupetto.
-
-
-
-
-
-@item two-bar rest
-
-F: bâton de pause.
-
-
-
-
-@item underline over/below
-
-F: portamento,  D: Portato.
-
-
-
-
-
-@item unison
-
-F: unisson,  D: Unisono,  I: unisono.
-
-Different instruments playing exactly the same melody.
-
-
-
-
-@item unit of beat
-
-F: unité de temps.
-
-
-
-
-
-@item unit of measure
-
-F: unité de mesure.
-
-
-
-
-
-@item upbeat; arsis
-
-  D: Auftakt.
-
-
-
-
-
-@item upper number
-
-F: chiffre supérieur.
-
-
-
-
-
-@item voice
-
-F: voix,  D: Stimme, NL: stem.
-
-
-
-@item weak beat
-
-F: temps faible,   NL: arsis.
-
-
-
-
-
-@item whole note
-
-F: ronde, UK: semibreve, D: Ganze Note, NL: hele noot.
-
-
-
-
-
-@item whole rest
-
-F: pause, UK: semibreve rest, D: Ganze Pause.
-
-
-
-
-
-@item woodwind
-
-D: Holzbläser, NL: houtblazers.
-
-
-@end table
-
diff --git a/Documentation/user/glossary.tely b/Documentation/user/glossary.tely
new file mode 100644 (file)
index 0000000..825f55c
--- /dev/null
@@ -0,0 +1,2614 @@
+
+\input texinfo
+@setfilename glossary.info
+
+@c @everyheading @| @thispage @|
+@evenheading @thispage @| @| 
+@oddheading @| @| @thispage @|
+
+@itemize 
+
+@item I - Italian 
+@item F - French 
+@item D - German 
+@item NL - Nederlands 
+@item UK - British English 
+@item DK - Danish 
+@item S - Swedish
+@item N - Norwegian 
+@end itemize
+
+@ 
+
+@macro ar{}
+@iftex
+@tex $\\Rightarrow$ @end tex
+@end iftex
+@ifhtml
+-->
+@end ifhtml
+@ifinfo
+-->
+@end ifinfo
+@end macro
+
+A reference is indicated by @ar{} followed by the term in @strong{boldface}. 
+
+@table @strong
+
+@item A
+I: la, F: la,  D: A, a, NL: a, DK: a, S: a, N: a.
+
+@item accent
+I: accento, F: accent, D: Akzent, NL: accent, DK: accent, S: accent, N: 
+
+The stress of one tone over others.
+
+@item accidental
+I: alterazione, accidente, F: alt@'eration accidentelle, D: Vorzeichen,
+Versetzungszeichen, NL: voorteken, DK: l@o{}st fortegn, S: f@"ortecken, N:
+
+@c F: alt@'eration accidentelle,  D: Vorzeichen, Versetzungszeichen,
+@c Akzidenz, NL: toevallig teken, I: accidento.  
+
+A sharp raises a tone by a @w{@ar{}@strong{semitone}}, a double sharp raises it
+by a @ar{}@strong{whole tone}, a flat lowers it by a semitone and a double
+flat lowers it by a whole tone. A natural cancels the effect of a previous
+accidental.
+
+@
+
+@mudela[13pt,eps]
+\property Score.barNonAuto = "1"
+\property Voice.textStyle = "large"
+\notes\relative c'' {
+  gis1_"sharp" s s2
+  gisis1_"db. sharp" s s2
+  ges1_"flat" s s2
+  geses1_"db. flat" s s2
+  g!1_"natural"
+}
+@end mudela
+
+@item adagio
+I: adagio, F: , D: Adagio, Langsam, NL: adagio, DK: adagio, S: adagio, N:
+adagio.
+
+It. comfortable, easy. 1. Slow tempo, slower - especially in even meter - than
+@w{@ar{}@strong{andante}} and faster than @w{@ar{}@strong{largo}}. 2. A
+movement in slow tempo, esepecially the scond (slow) movement of
+@w{@ar{}@strong{sonata}s}, symphonies etc.
+
+@item accelerando 
+I: accelerando, F: , D: accelerando, Schneller, NL: accelerando, DK:
+accelerando, S: accelerando, N:
+
+Stil faster tempo.
+
+@item allegro
+I: allegro, F: , D: Allegro, Schnell, Fr@"ohlich, Lustig, NL: allegro, DK:
+allegro, S: allegro, N: allegro.
+
+It. cheerful. Quick tempo. Also used as a title for pieces in a quick tempo,
+especially the first and last movements of a @w{@ar{}@strong{sonata}}.
+
+@item alto
+I: contralto, F: alto,  D: Alt, NL: alt, DK: alt, S: alt, N: alt.
+
+A female voice of low range (@emph{contralto}). Originally the alto was a high
+male voice (hence the name) which by the use of falsetto reached the height
+height of the female voice. This type of voice is also known as
+@w{@ar{}@strong{counter tenor}}.
+
+@item alto clef
+@c F: cl@'e d'ut, D: Altschl@"ussel, Bratschenschl@"ussel, NL: altsleutel, I:
+chiave di tenore.
+
+I: chiave di contralto, F: , D: Altschl@"ussel, Bratschenschl@"ussel, NL: alt
+sleutel, DK: altn@o{}gle, S: altklav, N:
+
+C clef setting central C on the middle line of the staff 
+@w{@ar{}@strong{C clef}}
+
+@item ancient minor scale
+I: scala minore naturale, F: forme du mode mineur ancien, trois@`eme mode,
+mode hell@'enique D: reines Moll, NL: , DK: ren mol, S: ren mollskala, N: .
+
+@
+
+@mudela[13pt,eps]
+\property Score.barNonAuto = "1"
+\notes\relative c'' {
+a1 b c d e f g a }
+@end mudela
+
+@item andante
+I: andante, F: , D: Andante, NL: andante, DK: andante, S: andante,
+N: andante. 
+
+walking tempo/character
+
+@item appoggiatura 
+I: appoggiatura, F: port de voix, D: Vorschlag, NL: voorslag, DK: forslag, S:
+f@"orslag, N:
+
+Ornamental note, usually a second, that is melodically connected with the main
+note that follows it. In music before the 19'th century a. were usually
+performed on the beat, after that mostly before the beat. While the short
+a. is performed as a short note regardless of the duration of the main note
+the duration of the long a. is proportionate to that of the main note. 
+
+@
+
+@mudela[13pt,eps]
+\property Voice.textEmptyDimension = "1"
+\property Voice.textStyle = "large"
+\notes\relative c'' {
+\key d;
+\time 4/4;
+<d4_"notation" a fis> r 
+{ \property Grace.stemStyle = ""
+  \grace g16 }
+fis8 e16 fis 
+{ \property Grace.stemStyle = ""
+  \grace a16 }
+g8 fis16 g | a4 \bar "||"; }
+\notes\relative c'' {
+<d4_"performance" a fis> r g16 () fis e fis a () g fis g | a4 \bar "||"; }
+@end mudela
+
+An appoggiatura may have more notes preceding the main note.
+
+@
+
+@mudela[13pt,eps]
+\property Voice.textEmptyDimension = "1"
+\property Voice.textStyle = "large"
+\notes\relative c'' {
+  \key as;
+  \time 2/4;
+  \grace { bes16 } as8_"notation" as16 bes as8 g |
+  \grace { [as16 ( bes] } < ) c4 as > 
+  \grace { [as16 ( bes] } < ) c4 as > \bar "||";
+  \grace { bes16 } as8_"performance" as16 bes as8 g |
+  < \context Voice = va { \stemup as32 bes c8. as32 bes c8. }
+    \context Voice = vb { \stemdown as16 ~ as8. as16 ~ as8. } >
+  \bar "||";
+}
+@end mudela
+
+@item arpeggio
+I: arpeggio, F: arp@`ege, arp@`egement, D: Arpeggio, Akkordbrechungen,
+gebrochener Akkord, NL: gebroken akoord, DK: arpeggio,
+akkordbrydning, S: arpeggio, N:
+
+@
+
+@mudela[13pt,eps]
+\context GrandStaff <
+  \notes\relative c'' { 
+    \time 4/4;
+    \clef treble; 
+    r8 g16 c e g, c e r8 g,16 c e g, c e |
+    r8 a,16 d f a, d f r8 a,16 d f a, d f \bar "||"; }
+  \notes\relative c' {
+    \clef bass; 
+    < \context Voice = va { 
+        \stemup 
+        r16 e8. () e4 r16 e8. () e4 |
+        r16 d8. () d4 r16 d8. () d4 }
+      \context Voice = vb { 
+        \stemdown 
+        c2 c | c c } >
+  }
+>
+@end mudela
+
+@item ascending interval
+I: intervallo ascendente, F: intervalle ascendant, D: steigendes Intervall,
+NL: stijgend interval, DK:@w{ }stigende interval, S: stigande intervall, N:
+
+@item augmented interval
+I: intervallo aumentato, F: intervalle augment@'e, D: @"uberm@"a@ss{}iges
+Intervall, NL: overmatig interval, DK: forst@o{}rret interval, S:
+@"overstigande intervall, N:
+
+@w{@ar{}@strong{interval}}
+
+@item autograph        
+I: autografo, F: , D: Autograph, Handschrift, NL: , DK: h@aa{}ndskrift,
+autograf, S: handskrift, N: .
+
+1. A manuscript in the composer's own hand. 2.  Music prepared for
+photoreproduction by freehand drawing, with only the aid of a
+straightedge ruler and T-square, which attempts to emulate
+engraving. This required more skill than did engraving.
+
+@item B
+I: si, F: si,  D: H, h, NL: b, DK: h, S: h, N: h.
+
+@item backfall; forefall 
+@w{@ar{}@strong{appoggiatura}}
+
+@item bar line
+I: stanghetta, barra (di divisione), F: barre (de mesure), D: Taktstrich, NL:
+maatstreep, DK: taktstreg, S: taktstreck, N:
+
+@item bar
+@w{@ar{}@strong{measure}}
+
+@item baritone
+I: baritono, F: bariton, D: Bariton, NL: bariton, DK: baryton, S: baryton, N:
+baryton.
+
+The male voice intermediate between the @w{@ar{}@strong{bass}} and the
+@w{@ar{}@strong{tenor}}.
+
+@item bariton clef
+I: chiave di baritono, F: , D: Barytonschl@"ussel, NL: baritonsleutel, DK:
+barytonn@o{}gle, S: barytonklav, N: .
+
+C or F clef setting central C on the upper staff line. @w{@ar{}@strong{c clef}}
+@w{@ar{}@strong{f clef}}
+
+@item bass clef
+I: chiave di basso, F: cl@'e de fa, D: Bass-Schl@"ussel, NL: bassleutel, DK:
+basn@o{}gle, S: basklav, N:
+
+A clef setting with central C on the first top ledger line. @w{@ar{}@strong{f
+clef}}
+
+@item bass
+I: basso, F: basse, D: Bass, NL: bas, DK: bas, S: bas, N: bas.
+
+1. The lowest of men's voices. 2. Sometimes, especially in jazz music, used as
+an abbreviation for double bass @w{@ar{}@strong{strings}}.
+
+@item beam
+I: coda, F: barre, D: Balken, NL: waardestreep, DK: bj@ae{}lke, S: balk, N:
+
+Line connecting a series of notes (shorter than a quarter note). The number of
+beams determine the note value of the connected notes.
+
+@
+
+@mudela[13pt,eps]
+\property Score.barNonAuto = "1"
+\property Voice.textEmptyDimension = "1"
+\property Voice.textStyle = "large"
+\notes\relative c'' { 
+  [g8_"1/8" g g g] s16
+  [g16_"1/16" g g g] s16
+  [g32_"1/32" s32 g32 s32 g32 s32 g32] s16
+  [g64_"1/64" s32 g64 s32 g64 s32 g64] s32 }
+@end mudela
+
+@item beat
+I: tempi, F: temps, D: Taktschlag, Zeit (im Takt), NL: tel, DK: (takt)slag, S:
+taktslag, N:
+
+Note value used for counting, most often half-, fourth- and eighth notes. The
+base counting value and the number of them per measure is indicated at the
+start of the music.
+
+@
+
+@mudela[13pt,eps]
+\key g;
+\time 4/4;
+\notes\relative c'' { g4 c b a | g1 \bar "||";}
+\time 3/8;
+\notes\relative c'' { g8 d' c | b c a | g4. \bar "||";}
+@end mudela
+
+@item bind
+@w{@ar{}@strong{tie}}
+
+@item brace
+I: graffa, F: accolade, D: Klammer, Klavierklammer, Akkolade, Chorklammer, NL:
+accolade, teksthaak, DK: klamme, S: klammer, N:
+
+Symbol at the start of a system connecting staffs. Curly braces are used
+for connecting piano staves, angular brackets for connecting parts in an
+orchestral or choral score.
+
+@
+
+@mudela[13pt,eps] 
+\context GrandStaff < 
+  \property GrandStaff.minVerticalAlign = 12
+  \notes\relative c'' { \clef treble; g4 e c2 }
+  \notes\relative c { \clef bass; c1 \bar "|."; } > 
+@end mudela
+
+@
+
+@mudela[13pt,eps] 
+\context StaffGroup < 
+  \property StaffGroup.minVerticalAlign = 12
+  \notes\relative c'' { \clef treble; g4 e c2 }
+  \notes\relative c { \clef bass; c1 \bar "|."; } > 
+@end mudela
+
+@item brass
+I: ottoni, D: Blechbl@"aser, NL: koper (blazers), F: instruments de cuivre,
+DK: messingbl@ae{}sere, S: brassinstrument, m@"assingsinstrument, N:
+
+A family of blown musical instruments made of brass all using a cup formed
+mouth piece. The brass instruments commonly used in a symphony orchestra are
+trumpet, trombone, french horn and tube.
+
+@item breath mark
+I: respiro, F: respiration, D: Atemzeichen, Trennungszeichen, NL:
+repercussieteken, DK:
+vejrtr@ae{}kningstegn, S: andningstecken, N: .
+
+@item breve
+I: breve, F: , D: Brevis, NL: brevis, DK: brevis, S: brevis, N:
+
+@w{@ar{}@strong{Note value}} twice as long as a whole note. Mainly used
+in pre-1650 music.
+
+@
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1" 
+\notes\relative c'' { g\breve } 
+@end mudela
+
+@item C
+I: do, F: ut,  D: C, c, NL: c, DK: c, S: c, N: c
+
+@item C clef
+I: chiave di do, F: cl@'e d'ut, D: C-Schl@"ussel, NL: C-sleutel, DK:
+c-n@o{}gle, S: c-klav, N:
+
+Clef symbol indicating the position of the central C. Used on all note
+lines.
+
+@
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Voice.clefStyle = "fullSizeChanges"
+\addlyrics
+\notes\relative c' { 
+  \clef "C1"; c1 s s
+  \clef "C2"; c s s
+  \clef "C3"; c s s
+  \clef "C4"; c s s
+  \clef "C5"; c s
+}
+\context Lyrics \lyrics { Soprano Mezzosoprano Alto Tenor Baritone }
+@end mudela
+
+@item cadence 
+I: cadenza, F: cadence, D: Kadenz, NL: cadens, DK: kadence, S: kadens, N: .
+
+@w{@ar{}@strong{harmonic cadence}} @w{@ar{}@strong{functional harmony}}
+
+@item cadenza
+I: cadenza, F: fioriture,  D: Kadenz, NL: cadens, DK: kadence, S: kadens, N: .
+
+An extended, improvisatory style section inserted near the end of
+movement. The purpose of a c. is to give the singer or player a chance to
+exhibit her technichal skill and not the least her ability to improvise. Since
+the middle of the 19'th century, however, most cadences have been written down
+by the composer.
+
+@item canon
+I: canone, F: , D: Kanon, NL: canon, DK: kanon, S: kanon, N: .
+
+@w{@ar{}@strong{counterpoint}}
+
+@item cent
+I: cent, F: , D: Cent, NL: cent, DK: cent, S: cent, N: .
+
+Logarithmic unit of measurement. 1 cent is 1/1200 of an octave (1/100 of an
+equally tempered @w{@ar{}@strong{semitone}}) @w{@ar{}@strong{equal temperament}}
+
+@item central C
+@w{@ar{}@strong{middle C}}
+
+@item chord
+I: accordo, F: accord, D: Akkord, NL: akkoord, DK: akkord, S: ackord, N: .
+
+Three or more tones sounding simultaneously. In traditional European music the
+base chord is a @emph{triad} consisting of 2 thirds. @emph{Major} (major +
+minor @w{@ar{}@strong{third}}) as well as @emph{minor} (minor + major third)
+chords may be extended with more thirds. Four- @emph{seventh chords} and five
+tone @emph{ninth} major chords are most often used as dominants
+(@w{@ar{}@strong{functional harmony}}). A special case is chords having no
+third above the lower notes to define their quality as major or minor. Such
+chords are denoted open chords
+
+@
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1"
+\property Voice.textStyle = "large"
+\time 4/4;
+\notes\relative c'' {
+  <g1_"major" b d> 
+  <g_"minor" bes d> 
+  <g_"dimished" bes des>
+  <g_"augmented~" b dis>
+  <g_"seventh-chord~" b d f>
+  <g_"ninth-chord" b d f a>
+}
+@end mudela
+
+@item chromatic scale
+I: scala cromatica, F: gamme chromatique, D: Chromatische Tonleiter, NL:
+chromatische toonladder, DK: kromatisk skala, S: kromatisk skala, N: .
+
+A scale consisting of all 11 @w{@ar{}@strong{semitone}}s.
+
+@
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1" 
+\notes\relative c' { c1 cis e f fis g gis a ais b c }
+@end mudela
+
+@item chromaticism
+I: cromatismo, F: , D: Chromatik, NL: chromatiek, DK: kromatik, S: kromatik,
+N:
+
+Use of tones extraneous to a @w{@ar{}@strong{diatonic scale}} (minor, major).
+
+@item church mode; ecclesiastical mode 
+I: modi ecclesiastici, F: mode eccl@'esiastique, D: Kirchentonart, NL:
+kerktoonladder, DK: kirketoneart, S: kyrkotonart, N:
+
+@w{@ar{}@strong{diatonic scale}}
+
+@item clef
+I: chiave, F: cl@'e, D: Schl@"ussel, Schl@"ussel, Notenschl@"ussel, NL:
+sleutel, DK: n@o{}gle, S: klav, N:
+
+@w{@ar{}@strong{c clef}} @w{@ar{}@strong{f clef}} @w{@ar{}@strong{g clef}}
+
+@item comma
+I: comma, F: comma,  D: Komma, NL: komma, DK: komma, S: komma, N:
+
+Difference in pitch between a note derived from pure tuning and the same note
+derived from some other tuning method. @w{@ar{}@strong{temperament}}
+
+@item common meter
+@w{@ar{}@strong{meter}}
+
+@item compound interval
+I: intervallo composto, F: intervalle compos@'e, D: Weites Intervall(?), NL:
+samengesteld interval, DK: sammensat interval, S: sammansatt intervall, N: .
+
+Intervals larger than an octave
+
+@w{@ar{}@strong{interval}}
+
+@item complement
+I: rivolto, F: , D: Komplement@"arintervall, NL: complementair interval, DK:
+komplement@ae{}rinterval, S: komplement@"arintervall (?), N:
+
+@w{@ar{}@strong{inverted interval}}
+
+@item conjunct movement
+I: moto congiunto, F: mouvement conjoint, D: enge Lage(?), NL: , DK: trinvis
+bev@ae{}gelse, S: stegvis r@"orelse, N:
+
+Melody moving in the narrow steps of the scale;
+
+@
+
+@mudela[13pt,eps] 
+\key g; \time 4/4;
+\notes\relative c'' { g4 g g a | b2 a | g4 b a a | g1 \bar "||"; }
+@end mudela
+
+@item consonance 
+I: consonanza, F :consonance, D: Konsonanz, NL: consonant, DK: konsonans, S:
+konsonans, N:
+
+@w{@ar{}@strong{harmony}}
+
+@item contralto
+I: contralto, F: contralto, D: Alt, NL: contralto, DK: alt, S: alt, N:
+
+@w{@ar{}@strong{alto}}
+
+@item counterpoint 
+I: contrappunto, F: contrepoint, D: Kontrapunkt, NL: contrapunt, DK:
+kontrapunkt, S: kontrapunkt, N: .
+
+From latin @emph{punctus contra punctum}, note against note. The combination
+into a single musical fabric of lines or parts which have distinct melodic
+significance. A frequently used polyphonic technique is imitation, in its
+strictest form found in the canon needing only one part to be written down
+while the other parts are performed with a given displacement. Imitation is
+also the contrapuntal technique used in the @emph{fugue} which, since the
+music of the baroque era, has been one of the most popular polyphonic
+composition methods.
+
+@
+
+@mudela[13pt,eps]
+\property Score.timeSignatureStyle = "C2/2"
+\context GrandStaff <
+  \notes\relative c' { 
+    \key bes;
+    \time 4/4;
+    \clef treble; 
+    < \context Voice = rha {
+        \stemup
+        r1 | r2 r8 g'8 bes d, | 
+        cis4 d r8 e!16 f g8 f16 e |
+        f8 g16 a bes8 a16 g a8 
+      }
+      \context Voice = rhb { 
+        \stemdown
+        r1 | r | r | r2 s8
+      }
+    >
+  }
+  \notes\relative c' {
+    \clef bass; 
+    \key bes;
+    < \context Voice = lha {
+        \stemup
+        r8 d es g, fis4 g | r8 a16 bes c8 bes16 a bes4 g |
+        r8 a16 g f8 g16 a bes8 g e! cis' |
+        d4. e!8 f 
+      }
+      \context Voice = lhb { 
+        \stemdown 
+        r1 | r | r | r2 s8
+      } >
+  }
+>
+@end mudela
+
+@item counter tenor
+I: controtenore, F: , D: Kontratenor, NL: contratenor, DK: kontratenor, S:
+kontratenor, counter tenor, N: kontratenor
+
+@w{@ar{}@strong{contralto}}
+
+@item Copying, Music
+A music copyist did fast freehand scores and parts on preprinted staff lines
+for performance. Some of their conventions (e.g.: the placement of noteheads
+on stems) varied slightly from those of engravers. Some of their working
+methods were superior and could well be adopted by music typesetters. This
+required more skill than engraving.
+
+@item crescendo
+I: crescendo, F: crescendo, D: Crescendo, Lauter, NL: crescendo, DK:
+crescendo, S: crescendo, N:@w{ }crescendo.
+
+Increasing volume. Indicated by a rightwards opening horizontal wedge or the
+abbreviation "cresc".
+
+@
+
+@mudela[13pt,eps] 
+\key g; \time 4/4;
+\notes\relative c'' { g4 \< a b c | \! d1 \bar "|."; }
+@end mudela
+
+@item cue-notes
+I: notine, F: , D: Stichnoten, NL: stichnoten, DK: stiknoder, S:
+inprickningar, N:
+
+In a separate part notes belonging to another part with the purpose of hinting
+when to start playing.  Usually printed in a smaller type.
+
+@item D
+I: re, F: r@'e, D: D, d, NL: d, DK: d, S: d, N: d
+
+@item da capo
+I: da capo, F: , D: da capo, von Anfang, NL: da capo, DK: da capo, S: da capo,
+N: .
+
+The term indicates repetition of the piece from the beginning to the end or to
+a certain place marked @emph{fine}. Mostly abbreviated D.C.
+
+@item dal segno
+I: dal segno, F: , D: dal segno, NL: dal segno, DK: dal segno, S: dal
+segno, N: .
+
+abbreviated d.s. Repetition, not from the beginning, but from another place
+frequently near the beginning marked by a sign:
+
+@
+
+@mudela[13pt,eps] 
+\property Voice.textStyle = "large"
+\key g; \time 4/4;
+\notes\relative c'' { d1 | g,4^\segno  a b c | b a g2_"d.s." \bar "|."; }
+@end mudela
+
+@item decrescendo
+I: decrescendo, D: Decrescendo, Leiser, NL: decrescendo, DK: decrescendo, S:
+decrescendo, N: decrescendo
+
+Decreasing tone volume. Indicated by a leftwards opening horizontal wedge  
+or the abbreviation "decresc".
+
+@
+
+@mudela[13pt,eps] 
+\key g; \time 4/4;
+\notes\relative c'' { d4 \> c b a | \! g1 \bar "|."; }
+@end mudela
+
+@item descending interval
+I: intervallo discendente, F: intervalle descendant, D: fallendes Intervall,
+absteigendes Intervall, NL: dalend interval, DK:@w{ }faldende interval, S:
+fallande intervall, N:
+
+@item diatonic scale
+I: scala diatonica, F: , D: diatonische Tonleiter, NL: diatonische toonladder,
+DK: diatonisk skala, S: diatonisk skala, N:
+
+A scale consisting of 5 @w{@ar{}@strong{whole tones}} and 2
+@w{@ar{}@strong{semitones}} (S). Scales played on the white keys of a piano
+keybord are diatonic.
+
+The church modes are used in gregorial chant and pre baroque early music but
+also to some extent in newer jazz music.
+@
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c' { 
+  c1 d
+  \property Voice.textScriptPadding = "-10"
+  e^"~~ S" f g a 
+  \property Voice.textScriptPadding = "-4"
+  b^"~~ S" c }
+  \context Lyrics \lyrics { Ionian }
+@end mudela
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c' { 
+  d1
+ \property Voice.textScriptPadding = "-10"
+  e^"~~ S"
+  f g a 
+  \property Voice.textScriptPadding = "-4"
+  b^"~~ S" c d }
+  \context Lyrics \lyrics { Dorian }
+@end mudela
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c' { 
+  \property Voice.textScriptPadding = "-10"
+  e1^"~~ S"
+  f g a 
+  \property Voice.textScriptPadding = "-4"
+  b^"~~ S" c d e }
+  \context Lyrics \lyrics { Phrygian }
+@end mudela
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c' { 
+  f1 g a 
+  \property Voice.textScriptPadding = "-4"
+  b^"~~ S" c d 
+  \property Voice.textScriptPadding = "0"
+  e^"~~ S" f }
+  \context Lyrics \lyrics { Lydian }
+@end mudela
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c'' { 
+  g1 a 
+  \property Voice.textScriptPadding = "-4"
+  b^"~~ S" c d 
+  \property Voice.textScriptPadding = "0"
+  e^"~~ S" f g }
+  \context Lyrics \lyrics { Mixolydian }
+@end mudela
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c'' { 
+  a1
+  \property Voice.textScriptPadding = "-4"
+  b^"~~ S" c d 
+  \property Voice.textScriptPadding = "0"
+  e^"~~ S" f g a }
+  \context Lyrics \lyrics { Aeolian }
+@end mudela
+
+From the beginning of the 17th century the scales used in European
+compositional music are primarily the major and the minor scales. In the
+harmonic minor scale type an augmented second (A) occurs between the 6th and
+7th tone.
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c' { 
+  c1 d
+  \property Voice.textScriptPadding = "-10"
+  e^"~~ S" f g a 
+  \property Voice.textScriptPadding = "-4"
+  b^"~~ S" c }
+  \context Lyrics \lyrics { Major }
+@end mudela
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c'' { 
+  a1
+  \property Voice.textScriptPadding = "-4"
+  b^"~~ S" c d 
+  \property Voice.textScriptPadding = "0"
+  e^"~~ S" f g a }
+  \context Lyrics \lyrics { "ancient minor" }
+@end mudela
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c'' { 
+  a1
+  \property Voice.textScriptPadding = "-4"
+  b^"~~ S" c d 
+  \property Voice.textScriptPadding = "0"
+  e^"~~ S" 
+  \property Voice.textScriptPadding = "1"
+  f!^"~~ A" 
+  gis^"~~ S" 
+  a }
+  \context Lyrics \lyrics { "Harmonic minor" }
+@end mudela
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c'' { 
+  a1
+  \property Voice.textScriptPadding = "-4"
+  b^"~~ S" c d e fis 
+  \property Voice.textScriptPadding = "0"
+  gis^"~~ S" a g! 
+  \property Voice.textScriptPadding = "-1"
+  f!^"~~ S" e d 
+  \property Voice.textScriptPadding = "-4"
+  c^"~~ S" b a
+}
+  \context Lyrics \lyrics { "Melodic minor" }
+@end mudela
+
+@item diminished interval
+I: intervallo diminuito, F: intervalle diminu@'e, D: vermindertes Intervall,
+NL: verminderd interval, DK: formindsket interval, S: f@"orminskat
+intervall, N: .
+
+@w{@ar{}@strong{interval}}
+
+@item diminuendo
+I: diminuendo, F: , D: Diminuendo, NL: diminuendo, DK: diminuendo, 
+S:@w{ }diminuendo, N:@w{ }diminuendo.
+
+@w{@ar{}@strong{decrescendo}}
+
+@item disjunct movement
+I: moto disgiunto, F: mouvement disjoint, D: , NL: , DK: springende
+bev@ae{}gelse, S: hoppande r@"orelse, N:
+
+Melody moving in steps greater than those of the
+scale. Opposite of @ar{}@strong{conjunct movement}.
+
+@
+
+@mudela[13pt,eps]
+\key a;
+\time 4/4;
+\notes\relative c' { 
+  \partial 8; e8 | a4. gis8 b a e cis |
+  fis2 d4. \bar "||"; }
+@end mudela
+
+@item dissonant interval; dissonance
+I: intervallo dissonante, dissonanza, F: dissonance, D: Dissonanz, NL:
+dissonant interval; dissonant, DK: dissonerende interval, dissonans, S:
+dissonans, N: .
+
+@w{@ar{}@strong{harmony}}
+
+@item dominant ninth chord
+I: accordo di nona di dominante, F: accord de neuvi@`eme dominante, D:
+Dominantnoneakkord, NL: dominant noon akkoord, DK:
+dominantnoneakkord, S: dominantnonackord, N: .
+
+@w{@ar{}@strong{chord}} @w{@ar{}@strong{functional harmony}}
+
+@item dominant seventh chord
+I: accordo di settima di dominante, F: accord de septi@`eme dominante, D:
+Dominantseptakkord, NL: dominant septiem akkoord, DK: dominantseptimakkord, S:
+dominantseptimackord, N:
+
+@w{@w{@ar{}@strong{chord}} @ar{}@strong{functional harmony}}
+
+@item dominant
+I: dominante, F: dominante, D: Dominante, NL: dominant, DK: dominant, S:
+dominant, N: .
+
+The fifth @w{@ar{}@strong{scale degree}} @w{@ar{}@strong{functional harmony}}
+
+@item dorian mode
+I: modo dorico, F: , D: Dorischer Kirchenton, NL: dorische toonladder,
+dorischer Kirchenton, DK: dorisk skala, S: dorisk skala, N:
+
+@w{@ar{}@strong{diatonic scale}}
+
+@item dot (augmentation dot)
+I: punto (di valore), F: point, D: Punkt (Verl@"angerungspunkt), NL: punt, DK:
+punkt, S: punkt, N:
+
+@w{@ar{}@strong{dotted note}}
+
+@item dotted note
+I: nota puntata, F: note point@'ee, D: punktierte Note, NL: gepuncteerde noot,
+DK: punkteret node, S: punkterad not, N:
+
+@w{@ar{}@strong{note value}}
+
+@item double appoggiatura
+I: appoggiatura doppia, F: appoggiature double, D: doppelter Vorschlag, NL:
+dubbele voorslag, DK: dobbelt forslag, S: dubbelslag, N:
+
+@w{@ar{}@strong{appoggiatura}}
+
+@item double bar line
+I: doppia barra, F: double barre, D: Doppelstrich, NL: dubbele maatstreep, DK:
+dobbeltstreg, S: dubbelstreck, N: .
+
+Indicates the end of a section within a movement.
+
+@item double dotted note
+I: nota doppiamente puntata, F: note doublement point@'ee, D:
+doppel-punktierte Note, NL: dubbelgepuncteerde noot, DK:
+dob@-belt@-punk@-te@-ret node, S: dub@-bel@-punk@-te@-rad not, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item double flat
+
+I: doppio bemolle, F: double b@'emol, D: Doppel-B, NL: dubbelmol, 
+DK:@w{ }dob@-belt-b, S: dubbelbe, N: .
+
+@w{@ar{}@strong{accidental}}
+
+@item double sharp
+I: doppio diesis, F: double di@`ese,  D: Doppelkreuz, NL: dubbelkruis, 
+DK:@w{ }dob@-belt@-kryds, S: dubbelkors, N: .
+
+@w{@ar{}@strong{accidental}}
+
+@item double trill
+I: doppio trillo, F: trille double, D: Doppeltriller, NL: dubbele triller, DK:
+dobbelttrille, S: dubbeldrill, N: .
+
+A simultaneous trill on two notes, usually in the distance of a third.
+
+@item duple meter
+I: tempo binario, F: temps binaire, D: zweiteiliger Takt, NL: tweedelige
+maatsoort, DK: todelt takt, S: tv@aa{}takt, N: .
+
+@w{@ar{}@strong{meter}}
+
+@item duplet
+I: duina, F: duolet, D: Duole, NL: duool, DK: duol, S: duol, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item duration
+I: durata, F: dur@'ee, D: Dauer, L@"ange, NL: duur, lengte, DK: varighed, S:
+tonl@"angd, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item dydimic comma
+@w{@ar{}@strong{syntonic comma}}
+
+@item E
+I: mi, F: mi, D: E, e, NL: e, DK: e, S: e, N: e.
+
+@item eighth note
+I: croma, F: croche, UK: quaver, D: Achtel, Achtelnote, NL: achtste noot, DK:
+ottendedelsnode, S: @aa{}ttondelsnot, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item eighth rest
+I: pausa di croma, F: demi-soupir, UK: quaver rest, D: Achtelpause, NL:
+achtste rust, DK:@w{ }ottendedelspause, S: @aa{}ttonddelspaus, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item engraving
+I: incisione, F: , D: Notenstechen, NL: steken, DK: nodestik, S: nottryck, N: .
+
+Engraving means incising or etching a metal plate for
+printing. Photoengraving means drawing music with ink in a manner
+similar to drafting or engineering drawing, using similar tools.
+
+The traditional process of music printing is done through cutting in a
+plate of metal. Now also the term for the art of music typesetting.
+
+@item enharmonic
+I: enarmonico, F: enharmonique, D: enharmonisch, NL: enharmonisch, DK:
+enharmonisk, S: enharmonisk, N: .
+
+Two notes, intervals, or scales are enharmonic if they have different names
+but equal pitch.
+
+@
+
+@mudela[13pt,eps]
+\property Score.barNonAuto = "1"
+\property Voice.textStyle = "large"
+\notes\relative c'' {
+  gis1_"g sharp" s as1_"a flat" s s
+  < des_"dim fifth" g,! > s s < cis_"augm fourth" g! > s s
+}
+@end mudela
+
+@item equal temperament 
+I: temperamento equabile, F: , D: gleichschwebende Stimmung, NL:
+ge@-lijk@-zwe@-ven@-de temperatuur, DK: ligesv@ae{}vende temperatur,
+S: liksv@"avande temperatur, N: .
+
+Tuning system dividing the octave into 12 equal @w{@ar{}@strong{semitones}}
+(precisely 100 @w{@ar{}@strong{cents}}). @w{@ar{}@strong{temperament}}
+
+@item expression mark
+I: segno d'espressione, F: signe d'expressoin,  D: Vortragszeichen, NL:
+voordrachtsteken, DK: foredragsbetegnelse, S: f@"oredragsbeteckning, N: .
+
+Performance indications concerning 1. volume, dynamics (for example
+@w{@ar{}@strong{forte}}, @w{@ar{}@strong{crescendo}}), 2. tempo (for example
+@w{@ar{}@strong{andante}}, @w{@ar{}@strong{allegro}})
+@item F
+I: fa, F: fa, D: F, f, NL: f, DK: f, S: f, N: f.
+
+@item F clef
+I: chiave di fa, F: cl@'e de fa, D: F-Schl@"ussel, NL: F-sleutel, DK:
+F-n@o{}gle, S: f-klav, N: .
+
+The position between the dots of the key symbol is the line of the F below
+central C. Used on the third, fourth and fifth note line. A digit 8 above the
+clef symbol indicates that the notes must be played an octave higher (for
+example bass recorder) while 8 below the clef symbol indicates playing an
+octave lower (for example on double bass @w{@ar{}@strong{strings}}).
+
+@
+
+@ignore
+@mud ela[13pt,eps] 
+\property Score.barNonAuto = "1" 
+\property Voice.clefStyle = "fullSizeChanges"
+\property Lyrics.textStyle = "large"
+\addlyrics
+\notes\relative c { 
+  \clef "F3";
+  f1 s
+  \clef "F4";
+  f1 s
+  \clef "F5";
+  f1 s
+  \clef "F^8";
+  f'1 s s
+  \clef "F_8";
+  f,,1 s s
+} 
+\context Lyrics \lyrics { 
+  baritone 
+  bass 
+  "sub-bass" 
+  "octaved up" 
+  "octaved down" 
+}
+@end mudela
+@end ignore
+
+@item fermata
+I: corona, F: pauses, D: Fermate, NL: fermate, DK: fermat, S: fermat, N: .
+
+Prolonged note or rest of indefinite duration.
+
+@
+
+@mudela[13pt,eps]
+\time 4/4;
+\notes\relative c'' {
+a4 b c2^\fermata \bar "|."; }
+@end mudela
+
+@item fifth
+I: quinta, F: quinte, D: Quinte, NL: kwint, I: , DK: kvint, S: kvint, N: kvint.
+
+@w{@ar{}@strong{interval}}
+
+@item figured bass
+@w{@ar{}@strong{thorough bass}}
+
+@item fingering
+I: ditteggiatura, F: doigt@'e, D: Fingersatz, NL: vingerzetting, DK:
+fingers@ae{}tning, S: fingers@"attning, N: .
+
+The methodical use of fingers in the playing of instruments.
+
+@item flag; pennant 
+I: coda (uncinata), bandiera, F: crochet, D: Fahne, F@"ahnchen, NL: vlaggetje,
+DK: fane, S: flagga, N: .
+
+Ornament at the end of the stem of a note used for notes with values less than
+a quarter note. The number of flags determines the @w{@ar{}@strong{note value}}.
+
+@
+
+@mudela[13pt,eps]
+\property Score.barNonAuto = "1"
+\property Voice.textEmptyDimension = "1"
+\property Voice.textStyle = "large"
+\notes\relative c'' { 
+  g8_"1/8" s8 
+  g16_"1/16" s8 
+  g32_"1/32" s8 
+  g64_"1/64" s8 }
+@end mudela
+
+@item flat
+I: bemolle, F: b@'emol, D: B, b, NL: mol, DK: b, S: bef@"ortecken, N: .
+
+@w{@ar{}@strong{accidental}}
+
+@item forefall; backfall  
+@w{@ar{}@strong{appoggiatura}}
+
+@item forte
+I: forte, F: , D: forte, Laut, NL: forte, DK: forte, S: forte, N: .
+
+Loud, abbreviated @b{f}, @emph{fortissimo} (@b{ff}) very loud,
+@emph{mezzoforte} (@b{mf}) medium loud.
+
+@item fourth
+I: quarta, F: quarte, D: Quarte, NL: kwart, DK: kvart, S: kvart, N: .
+
+@w{@ar{}@strong{interval}}
+
+@item fugue 
+I: fuga, F: , D: Fuge, NL: fuga, DK: fuga, S: fuga, N: .
+
+@w{@ar{}@strong{counterpoint}}
+
+@item functiontional harmony
+I: armonia funzionale, F: , D: Funktionslehre, NL: , DK: funktionsanalyse,
+funktionsharmonik, S: funktionsl@"ara, N:
+
+A system of harmonic analysis. It is based on the idea that, in a given key,
+there are only three functionally different chords: tonic (T, the chord on the
+first note of the scale), subdominant (S, the chord on the fourth note) and
+dominant (D, the chord on the fifth note). Other are considered to be variants
+of the base chords.
+
+@
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c'' {
+  < g1 e c > < a f d > < b g e > 
+  < c a f > < d b g > < e c a > < f d b > }
+\context Lyrics \lyrics { T Sp Dp S D Tp "D{\\kern-5pt}$\\mid$" } 
+@end mudela
+
+@item G
+I: sol, F: sol, D: G, g, NL: g, DK: g, S: g, N: g.
+
+@item G clef
+I: chiave di sol, F: , D: G-Schl@"ussel, Violinschl@"ussel, NL: G-sleutel, DK:
+g-n@o{}gle, S: g-klav, N: .
+
+A clef symbol indicating the G above central C. Used on the first and second
+note lines. A digit 8 above the clef symbol indicates that the notes must be
+played an octave higher while 8 below the clef symbol indicates playing or
+singing an octave lower (most tenor parts in choral scores are notated like
+that). 
+
+@
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Voice.clefStyle = "fullSizeChanges"
+\addlyrics
+\notes\relative c'' { 
+  \clef "G1"; g1 s s s s
+  \clef "G2"; g s s s 
+  \clef "G^8"; g' s s s 
+  \clef "G_8"; g,, s s
+}
+\context Lyrics \lyrics { 
+  "french violin clef" 
+  "violin clef" 
+  "octaved up"
+  "octaved down"
+}
+@end mudela
+
+@item glissando
+I: glissando, F: glissement, D: Glissando, NL: glissando, DK: glissando, S:
+glissando, N: glissando.
+
+Letting the pitch  slide fluently from one note to the other
+
+@item grace notes
+I: abbellimenti, F: , D: Verzierungen, Vorschl@"age, Vorschlagsnoten, NL:
+versieringen, DK: forsiringer, S: ornament, N: .
+
+Notes printed in small types to indicate that their time values are not
+counted in the rhythm of the bar. @w{@ar{}@strong{appoggiatura}}
+
+@item grand staff
+I: accolatura, F: , D: Akkolade, NL: piano systeem, DK: klaversystem, S:
+ackolad, b@"ojd klammer, N: .
+
+@w{@ar{}@strong{brace}}
+
+A combination of two staffs with a brace.  Usually used for piano music.
+
+@item grave
+I: grave, F: , D: grave, langsam, traurig, NL: , DK: grave, S: grave, N: .
+
+@item half note
+I: minima, F: blanche, UK: minim, D: Halbe, halbe Note, NL: halve noot, DK:
+halvnode, S: halvnot, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item half rest
+I: pausa di minima, F: demi-pause, UK: minim rest, D: halbe Pause, NL: halve
+rust, DK: halvnodespause, S: halvnotspaus, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item harmonic cadence
+I: cadenza (armonica), F: cadence harmonique, D: Schlusskadenz, NL:
+harmonische cadens, DK: harmonisk kadence, S: (harmonisk) kadens, N: .
+
+Sequence of chords that terminate a musical phrase or
+section. @ar{}@w{}@strong{functional harmony}
+
+@
+
+@mudela[13pt,eps] 
+\context GrandStaff < 
+  \notes\relative c'' { 
+    \time 4/4;
+    \clef treble; 
+    \partial 4; < c4 g e > | < c a f > < b g d > < c2 g e > }
+  \property Lyrics.textStyle = "large"
+  \addlyrics
+  \notes\relative c { 
+    \clef bass; 
+    \partial 4; c4 | f, g c2
+    \bar "|."; } 
+  \context Lyrics \lyrics { T S D T } > 
+@end mudela
+
+@item harmony
+I: armonia, F: , D: Harmonie, Zusammenklang, NL: harmonie, DK: samklang, S:
+samklang, N:
+
+Tones sounding simultaneously. Two note harmonies fall into the cathegories
+@emph{consonances} and @emph{dissonances}.
+
+Consonances:
+
+@
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1"
+\property Voice.textStyle = "large"
+\notes\relative c'' {
+  <g1_"unisone" g> s
+  <g1_"third" b> s
+  <g1_"fourth" c> s
+  <g1_"fifth" d'> s
+  <g1_"sixth" e'> s
+  <g1_"octave" g'> s
+  <g1_"decime" b'> s s
+}
+@end mudela
+
+Dissonances:
+
+@
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1"
+\property Voice.textStyle = "large"
+\notes\relative c'' {
+  <g1_"second" a> s
+  <g1_"seventh" f'> s 
+  <g1_"ninth" a'> s s
+}
+@end mudela
+
+Three note harmony @w{@ar{}@strong{chord}}
+
+@item homophony
+I: omofonia, F: , D: Homophonie, NL: homofonie, DK: homofoni, S: homofoni, N: .
+
+Music in which one voice leads melodically followed by the other voices more
+or less in the same rhythm. In contrast to @w{@ar{}@strong{polyphony}}.
+
+@item interval
+I: intervallo, F: intervalle, D: Intervall, NL: interval, DK: interval, S:
+intervall, N: .
+
+Difference in pitch between two notes. Intervals may be perfect, minor, major,
+diminished or augmented. The augmented fourth and the diminished fifth are
+identical (@w{@ar{}@strong{enharmonic}}) and is called @emph{tritonus} because
+it consists of three @w{@ar{}@strong{whole tone}}s. The addition of such two
+forms an octave.
+
+@ 
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1"
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c'' {
+  < g1 g > s
+  < g^"minor" as > s
+  < g^"major" a! > s
+  < g^"augm" ais > s
+  < gis^"dimin" bes > s
+  < g!^"minor" bes > s
+  < g^"major" b! > s 
+  < g^"augm" bis > s 
+}
+\context Lyrics \lyrics { 
+  unisone second second second third third third third } 
+@end mudela
+
+@ 
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1"
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c'' {
+  < g1^"perfect" c > s
+  < g^"augm" cis > s
+  < g^"perfect" d' > s
+  < g^"dim" des' > s
+  < gis^"dimin" es' > s
+  < g!^"minor" es' > s
+  < g^"major" e'! > s
+  < g^"augm" eis' > s
+}
+\context Lyrics \lyrics { 
+  fourth fourth fifth fifth sixth sixth sixth sixth } 
+@end mudela
+
+@ 
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1"
+\property Lyrics.textStyle = "large"
+\property Voice.textStyle = "large"
+\addlyrics
+\notes\relative c'' {
+  < gis1^"dimin" f'! > s
+  < g!^"minor" f'! > s
+  < g^"major" fis' > s
+  < g g' > s
+  < g^"minor" as' > s
+  < g^"major" a'! > s
+  < g^"minor" bes' > s
+  < g^"major" b'! > s
+}
+\context Lyrics \lyrics { 
+  seventh seventh seventh octave none none decime decime } 
+@end mudela
+
+@item inverted interval
+I: rivolto, F: renversement d'intervalle, D: umgekerhtes Intervall, NL:
+interval inversie, DK: omvendingsinterval, S: intervallets omv@"andning, N: .
+
+The difference between an interval and an octave.
+
+@
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1"
+\property Voice.textStyle = "large"
+\notes\relative c'' {
+  < g1_"second" a > s < g'_"seventh" a, > s \bar "||"; 
+  < g,_"third" b > s < g'_"sixth" b, > s \bar "||";
+  < g,_"fourth" c > s < g'_"fifth" c, > s \bar "||";
+}
+@end mudela
+
+@item just intonation
+I: intonazione giusta, F: , D: reine Stimmung, NL: reine stemming, DK: ren
+stemning, S: ren st@"amning, N: .
+
+Tuning system in which the notes are obtained by adding and subtracting
+@w{natural} fifths and thirds. @w{@ar{}@strong{temperament}}
+
+@item key
+I: tonalit@`a, F: , D: Tonart, NL: toonsoort, DK: toneart, S: tonart, N: .
+
+According to the 12 tones of the @w{@ar{}@strong{chromatic scale}} there are 12
+keys, one on c, one on c-sharp etc. @w{@ar{}@strong{key signature}}
+
+@item key signature
+I: armatura di chiave, F: armure, armature [de la cl@'e], D: Vorzeichen,
+Tonart, NL: @w{ }toon@-soort (voortekens), DK: faste fortegn, S: largo, N: .
+
+The sharps or flats appearing at the beginning of each staff indicating the
+key of the music. @w{@ar{}@strong{accidental}}
+
+@item largo
+I: largo, F: , D: Largo, Langsam, Breit, NL: largo, DK: largo, S: largo, N:
+largo
+
+Very slow in tempo, usually combined with great
+expressiveness. @emph{Larghetto} less slow than largo.
+
+@item leading note
+I: sensibile, F: sensible, D: Leitton, NL: leidtoon, DK: ledetone, S: ledton,
+N: .
+
+The seventh @w{@ar{}@strong{scale degree}}, a @w{@ar{}@strong{semitone}} below
+the tonic; so called because of its strong tendency to ``lead up'' (resolve
+upwards) to the tonic scale degree.
+
+@item ledger line; leger line
+
+I: tagli addizionali, F: ligne suppl@'ementaire, D: Hilfslinie, NL:
+hulplijntje, DK: hj@ae{}lpelinie, S: hj@"alpstreck, N: .
+
+A ledger line is an extension of the staff.
+
+@
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1" 
+\notes\relative c'' { a,1 s c'' } 
+@end mudela
+
+@item legato
+I: legato, F: , D: legato, NL: legato, DK: legato, S: legato, N: .
+
+To be performed without any perceptible interruption between the notes (a)
+unlike @emph{leggiero} or @emph{non-legato} (b), @emph{portato} (c) and
+@w{@ar{}@strong{staccato}} (d)
+
+@
+
+@mudela[13pt,eps]
+\property Score.barNonAuto = "1"
+\property Voice.textEmptyDimension = "1"
+\property Lyrics.textStyle = "large"
+\addlyrics
+\notes\relative c'' { 
+  c4( d )e \bar "||"; 
+  c4-- d-- e-- \bar "||"; 
+  c4-.( d-. )e-. \bar "||"; 
+  c4-. d-. e-. \bar "||"; 
+}
+\context Lyrics \lyrics { a "" "" b "" "" c "" "" d  }
+@end mudela
+
+@item legato curve
+@w{@ar{}@strong{slur}} @w{@ar{}@strong{legato}}
+
+@item lilypond
+I: stagno del giglio, F: @'etang de lis, UK: lily pond, D: Seerosenteich, NL:
+le@-lie@-vij@-ver, DK: liliedam, S: liljedamm, N: .
+
+A pond with  lilies floating in it, also the name of a music typesetter.
+
+@item line
+I: linea, F: ligne, D: Linie, Notenlinie, NL: lijn, DK: nodelinie, S:
+notlinje, N: .
+
+@w{@ar{}@strong{staff}}
+
+@item long appoggiatura 
+I: appoggiatura lunga, F: appoggiature longue, D: langer Vorschlag, DK: langt
+forslag, S: l@aa{}ngt f@"orslag, N: .
+
+@w{@ar{}@strong{appoggiatura}}
+
+@item longa
+I: longa, F: , D: Longa, NL: longa, DK: longa, S: longa, N: longa
+
+note value: double length of @w{@ar{}@strong{brevis}}. @w{@ar{}@strong{note value}}
+
+@
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1" 
+\notes\relative c'' { g\longa } 
+@end mudela
+
+@item major interval
+I: intervallo maggiore, F: intervalle majeur, D: gro@ss{}es Intervall, NL:
+groot interval, DK: stort interval, S: stort intervall, N: .
+
+@w{@ar{}@strong{interval}}
+
+@item major
+I: maggiore, F: mode majeur, D: Dur, NL: majeur, DK: dur, S: dur, N: dur.
+
+@w{@ar{}@strong{diatonic scale}}
+
+@item meantone temperament
+I: accordatura mesotonica, F: temp@'erament m@'esotonique, D:
+Mittelt@"onige Stimmung, DK: middeltonetemperatur, S: medeltonstemperatur, N: .
+
+Temperament yielding acoustically pure thirds by decreasing the natural fifth
+by 16 @w{@ar{}@strong{cent}}s. Due to the non-circular character of this
+@w{@ar{}@strong{temperament}} only a limited set of keys are playable. Used for
+tuning keyboard instruments for performance of pre-1650 music.
+
+@item measure, bar
+I: misura, battuta, F: mesure, D: Takt, NL: maat, DK: takt, S: takt, N: takt.
+
+A group of @w{@ar{}@strong{beat}}s (units of musical time) the first of which
+bears an accent. Such groups in numbers of two or more recur consistently
+throughout the composition and are marked from each other by
+bar-lines. @w{@ar{}@strong{meter}}
+
+@item mediant
+I: mediante, F: m@'ediante, NL: mediant, D: Mediant, DK: mediant, S: mediant,
+N: .
+
+1. The third @b{scale degree}. 2. A @w{@ar{}@strong{chord}} having its base tone
+a third from that of another chord. For example the tonic chord may be
+replaced by its lower mediant (variant tonic). @w{@ar{}@strong{functional
+harmony}} @w{@ar{}@strong{relative key}}.
+
+@item melodic cadence
+
+@w{@ar{}@strong{cadenza}}
+
+@item meter, time
+I: tempo, metro, F: m@`etre, D: Taktart, Metrum, NL: maatsoort, DK: taktart,
+S: taktart, N: .
+
+The basic scheme of @ar{}@w{}@strong{note value}s and @ar{}@w{}@strong{accent}s
+which remains unaltered throughout a composition or a section of it. For
+instance 3/4 meter means that the basic @ar{}@w{}@strong{note value}s are
+quarter-notes and that a @w{@ar{}@strong{measure}} consists of three of
+those. According to whether there are two, three or four units to the measure,
+one speaks of @emph{duple} (2/2, 2/4, 2/8), @emph{triple} (3/2, 3/4, 3/8) or
+@emph{quadruple} (4/2, 4/4, 4/8) meter. 4/4 is also called common meter.
+
+@
+
+@mudela[13pt,eps]
+\notes\relative c'' { 
+  \time 3/4;
+  \key f;
+  c es d | c bes8 a bes4 | c es d | c2 \bar "||";}
+@end mudela
+
+@mudela[13pt,eps]
+\notes\relative c' { 
+  \time 6/8;
+  \key f;
+  f8 f f f a16 g a f | 
+  c'8 c c c e16 d e c \bar "||";}
+@end mudela
+
+@mudela[13pt,eps]
+\notes\relative c'' { 
+  \time 5/4;
+  \key g;
+  d4 b8 g b d d c a4 | 
+  g8 g16 g g8 g16 g g8 fis16 g a8 fis16 e d4 \bar "||";}
+@end mudela
+
+@item metronome
+I: metronomo, F: m@'etronome, D: Metronom, NL: metronoom, 
+DK:@w{ }me@-tro@-nom, S:@w{ }me@-tro@-nom, N: metronom.
+
+Device indicating the exact tempo of a piece. @w{@ar{}@strong{metronomic
+indication}}
+
+@item metronomic indication
+I: indicazione metronomica, F: indication m@'etronomique, D: Metronomangabe,
+NL: metronoom aanduiding, DK: metronomtal, S: metronomangivelse, N: .
+
+Exact tempo indication (in beats per minute).  Also denoted by
+M.M. (M@"alzel's Metronom) 
+
+@item mezzo-soprano
+I: mezzo-soprano, F: mezzo-soprano, D: Mezzosopran, NL: mezzosopraan, DK:
+mezzosopran, S: mezzosopran, N: mezzosopran.
+
+The female voice between @w{@ar{}@strong{soprano}} and
+@w{@ar{}@strong{contralto}}.
+
+@item middle C
+I: do centrale, F: do central, D: eingestrichenes c, NL: centrale c, DK:
+enstreget c, S: ettstruket c, N:
+
+First C below the 440 Hz A.
+
+@
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1" 
+\property Voice.clefStyle = "fullSizeChanges"
+\notes\relative c' { 
+  \clef "F"; c1 s
+  \clef "C3"; c s
+  \clef "G2"; c s
+} 
+@end mudela
+
+@item minor interval
+I: intervallo minore, F: intervalle mineur, D: kleines Intervall, NL: klein
+interval, DK: lille interval, S: litet intervall, N: .
+
+@w{@ar{}@strong{interval}}
+
+@item minor
+I: minore, F: mode mineur, D: Moll, NL: mineur, DK: mol, S: moll, N: .
+
+@w{@ar{}@strong{diatonic scale}}
+
+@item mode
+I: modo, F: mode, D: Modus, NL: modus, DK: skala, S: modus, skala, N: .
+
+@w{@ar{}@strong{church mode}} @w{@ar{}@strong{diatonic scale}}
+
+@item modulation
+I: modulazione, F: modulation, D: Modulation, NL: modulatie, DK: modulation,
+S: modulering, N: .
+
+Moving from one @w{@ar{}@strong{key}} to another. For example the second
+subject of a @w{@ar{}@strong{sonata form}} movement modulates to the dominant
+key if the key is major and to the @w{@ar{}@strong{relative key}} if the key
+is minor.
+
+@item mordent
+I: mordente, F: mordant, pinc@`e, D: Mordent, NL: mordent, DK: mordent, S:
+mordent, N: .
+
+@w{@ar{}@strong{ornament}}
+
+@item motive; motif
+I: inciso, F: incise, D: Motiv, NL: motief, DK: motiv, S: motiv, N: .
+
+The briefest intelligible and self-contained fragment of a musical theme or
+subject. 
+
+@
+
+@mudela[13pt,eps] 
+\property Score.timeSignatureStyle = "C2/2"
+\property Voice.textEmptyDimension = "1"
+\property Voice.textStyle = "large"
+\notes\relative c'' { 
+  \time 4/4;
+  \key g; 
+  \partial 8; g16_"------" fis |
+  g8 d16_"------" c d8 g16 fis g8 b,16 a b8 g'16 fis |
+  g8 g,16 a b8 cis d16 s 
+} 
+@end mudela
+
+@item movement
+I: movimento, F: , D: Satz, NL: deel, DK: sats, S: sats, N: .
+
+Greater musical works like @w{@ar{}@strong{symphony}} and
+@w{@ar{}@strong{sonata}} most often consist of several - more or less -
+independant pieces called movements.
+
+@item multibar rest
+I: pausa multipla, F: b@^aton de pause, NL: meermaats rust, D:
+mehrtaktige Pause, DK: flertaktspause, S: flertaktspaus, N: .
+
+@
+
+@mudela[13pt,eps]
+\notes\relative c'' {
+a1
+\property Score.skipBars=1 R1*3 
+a1 }
+@end mudela
+
+@item mixolydian mode
+@w{@ar{}@strong{diatonic scale}}
+
+@item natural sign
+I: bequadro, F: b@'ecarre, D: Aufl@"osungszeichen, NL: herstellingsteken, 
+DK:@w{ }op@-l@o{}sningstegn, S: @aa{}terst@"allningstecken, N: .
+
+@w{@ar{}@strong{accidental}}
+
+@item neighbour tones
+@w{@ar{}@strong{appoggiatura}}
+
+@item ninth
+I: nona, F: , D: None, NL: noon, DK: none, S: nona, N: .
+
+@w{@ar{}@strong{interval}}
+
+@item non-legato
+@w{@ar{}@strong{legato}}
+
+@item note
+I: nota, F: note, D: Note, NL: noot, DK: node, S: not, N: ,
+
+@item note head
+I: testa, F: , D: Notenkopf, NL: nootballetje, DK: nodehovede, S: nothuvud, N:
+.
+
+A head like sign which indicates pitch by its position on a
+@w{@ar{}@strong{staff}} provided with a @w{@ar{}@strong{clef}}, and duration
+by a variety of shapes such as hollow or black heads with or without
+@w{@ar{}@strong{stem}}s, @w{@ar{}@strong{flag}}s etc. For percussion
+instruments (often having no defined pitch) the note head may indicate the
+instrument.
+
+@item note value
+I: valore, durata, F: , D: Notenwert, NL: nootwaarde, DK nodev@ae{}rdi, S:
+notv@"arde, N: .
+
+Note values (durations) are measured as fractions, normally 1/2, of the next
+higher note value. The longest duration normally used is called @emph{brevis},
+but sometimes (mostly in pre baroque music) the double length note value
+@emph{longa} is used.
+
+@
+
+@mudela[13pt,eps]
+\property Voice.textStyle = "large"
+\property Score.barNonAuto = "1"
+\notes\relative c'' { 
+  g\longa_"longa" g\breve_"breve" 
+  g1_"1/1" g2_"1/2" g4_"1/4" s16 g8_"1/8" s16
+  g16_"1/16" s16 g32_"1/32" s16 g64_"1/64" s32 }
+@end mudela
+
+@mudela[13pt,eps]
+\property Voice.textStyle = "large"
+\property Score.barNonAuto = "1"
+\notes\relative c'' { 
+  r\longa_"longa" r\breve_"breve" 
+  r1_"1/1" r2_"1/2" r4_"1/4" s16 r8_"1/8" s16
+  r16_"1/16" s16 r32_"1/32" s16 r64_"1/64" s32 }
+@end mudela
+
+An augmentation dot after a note multiplies the duration by one and a
+half. Another dot adds yet a fourth of the duration.
+
+@
+
+@mudela[13pt,eps]
+\property Voice.textEmptyDimension = "1"
+\property Voice.textStyle = "large"
+\notes\relative c'' { 
+  \time 4/4;
+  g4._"pointed" g8 g2 | g4 () g8 g g2 \bar "||"; 
+  g4.._"double pointed" g16 g2 | g4 () g8 () g16 g g2 \bar "||"; }
+@end mudela
+
+Alternatively note values may be subdivided by other ratios. Most common is
+subdivision by 3 (@emph{triplets}) and 5 (@emph{quintuplets}). Subdivisions by
+2 (@emph{tuplets}) or 4 (@emph{quadruplets}) of dotted notes are also
+frequently used.
+
+@
+
+@mudela[13pt,eps]
+\property Voice.textStyle = "large"
+\property Voice.textEmptyDimension = "1"
+\notes\relative c'' { 
+  \time 4/4;
+  \times 2/3 {g8_"triplets" g g} g4 g8 g g4 \bar "||"; 
+  \times 2/5 {g8_"quintuplets" g g g g} g4 g8 g g4 \bar "||";
+  \time 3/4;
+  \times 3/2 {g4_"duplets" g} |
+  g4 g g \bar "||";
+  \times 6/4 {g8_"quadruplets" g g g} |
+  g8 g g g g4 \bar "||";}
+@end mudela
+
+@item octave sign
+@w{@ar{}@strong{g clef}} @w{@ar{}@strong{f clef}}
+
+@item octave
+I: ottava, F: octave, D: Oktave, NL: octaaf, DK: oktav, S: oktav, N: .
+
+@w{@ar{}@strong{interval}}
+
+@item ornament; embellishment; accessory
+I: abbellimento, fioriture, abbellimenti, F: agr@`ement, ornement, D:
+Verzierung, Ornament, NL: versiering, DK: forsiring, S: ornament, N: .
+
+Most commonly used is the @emph{trill}, the rapid alternation of a given note
+with the diatonic @w{@ar{}@strong{second}} above it. In the music from the
+middle of the 19th century and onwards the trill is performed with the main
+note first while in the music from the preceding baroque and classic periods
+the upper note is played first.
+
+@
+
+@mudela[13pt,eps]
+<
+  \context Staff = sa {
+    \property Voice.textEmptyDimension = "1"
+    \property Voice.textStyle = "large"
+    \notes\relative c'' { 
+      c2._"pre-1850"  b4\trill | c1 \bar "||";
+      c2._"post-1850" b4\trill | c1 \bar "||";
+    }
+  }
+  \notes\relative c'' {
+    c2. c32 b c b c b c b | c1
+    c2. b32 c b c \times 4/5 { b c b c b } | c1
+  }
+>
+@end mudela
+
+Other frequently used ornaments are the @emph{turn}, the @emph{mordent} and the
+@emph{prall} (inverted mordent).
+
+@
+
+@mudela[13pt,eps]
+<
+  \context Staff = sa {
+    \property Voice.textEmptyDimension = "1"
+    \property Voice.textStyle = "large"
+    \notes\relative c'' { 
+      a4_"turn" b\turn c2 \bar "||";
+      g4_"mordent" a b\mordent a \bar "||";
+      e'4_"prall" d\prall c2 \bar "||";
+    } 
+  }
+  \notes\relative c'' { 
+    a4 [c16 b a b] c2 
+    g4 a [b16 a b8] a4
+    e'4 [e8 ~ e32 d e d] c2
+  } 
+>
+@end mudela
+
+@w{@ar{}@strong{appoggiatura}}
+
+@item ossia
+I: ossia, F: facilit@'e, D: Ossia, NL: alternatief, DK: ossia, S: ossia, N: .
+
+Ossia (otherwise) marks an alternative. It is an added staff or piano
+score, usually only a few measures long, which presents another version
+of the music, for example for small hands.
+
+@item part
+I: voce, parte, F: , D: Stimme, NL: partij, DK: stemme, S: st@"amma, N: .
+
+1. In instrumental or choral music the music for the single instrument
+or voice. 2. in contrapuntal music @w{@ar{}@strong{counterpoint}} the single
+melodic line of the contrapuntal web.
+
+@item percussion
+I: percussioni, F: , D: Schlagzeug, NL: slagwerk, DK: slagt@o{}j, S: slagverk,
+N: .
+
+A family of musical instruments which are played on by striking or
+shaking. Percussion instruments commonly used in a symphony orchestra are
+kettledrums (I: @emph{timpani}, D: @emph{Pauken}), snare drum, bass drum,
+tambourine, cymbals, chinese gong (tam-tam), triangle, celesta, glockenspiel
+and xylophone.
+
+@item perfect interval
+
+I: intervallo giusto, F: intervalle juste, D: reines Intervall, NL: rein
+interval, DK: rent interval, S: rent intervall, N: .
+
+@w{@ar{}@strong{interval}}
+
+@item phrase
+I: frase, F: phrase, D: Phrase, NL: frase, zin, DK: frase, S: fras, N: .
+
+A natural division of the melodic line, comparable to a sentence of speech.
+
+@item phrasing
+I: fraseggio, F: phras@'e, D: Phrasierung, NL: frasering, DK: frasering, S:
+fra@-se@-ring, N: .
+
+The clear rendering in musical performance of the @w{@ar{}@strong{phrase}}s of
+the melody. Phrasing may be indicated by a @w{@ar{}@strong{slur}}.
+
+@item piano 
+I: piano, F: , D: piano, leise, NL: piano, DK: piano, S: piano, N: .
+
+@emph{piano} (@b{p}) soft, @emph{pianissimo} (@b{pp}) very soft,
+@emph{mezzopiano} (@b{mp}) medium soft.
+
+@item pitch
+I: altezza, F: hauteur, D: Tonh@"ohe, NL: toonhoogte, DK: toneh@o{}jde, S:
+tonh@"ojd, N: .
+
+@item pizzicato
+I: pizzicato, F: , D: pizzicato, NL: pizzicato, getokkeld, DK: pizzicato, S:
+pizzicato.
+
+Play by plucking the strings.
+
+@item polyphony
+I: polifonia, F: , D: Polyphonie, NL: polyfonie, DK: polyfoni, S: polyfoni, N:
+.
+
+Music written in a combination of several simultaneous voices (parts) of a
+more or less pronounced individuality. @w{@ar{}@strong{counterpoint}}
+
+@item portato
+@w{@ar{}@strong{legato}}
+
+@item presto
+I: presto, F: , D: Presto, Sehr schnell, NL: presto, Sehr schnell, DK: presto,
+S: presto, N: .
+
+Very quick, i.e. quicker than @w{@ar{}@strong{allegro}}. @emph{prestissimo}
+denotes the highest possible degree of speed.
+
+@item Pythagorean comma
+I: comma pitagorico, F: comma pythagoricien, D: Pythagor@"aisches Komma, NL:
+komma van Pythagoras, DK: pythagor@ae{}isk komma, S: pytagoreiskt komma, N: .
+
+A sequence of fifths starting on C eventually circles back to C, but this C,
+obtained by adding 12 fifths, is 24 @w{@ar{}@strong{cent}}s higher than the C
+obtained by adding 7 octaves. The difference between those two pitches is
+called the Pythagorean comma.
+
+@item quadruplet
+I: quartina, F: quartolet, D: Quartole, NL: kwartool, DK: kvartol, S: kvartol,
+N: .
+
+@w{@ar{}@strong{note value}}
+
+@item quarter note
+I: semiminima, nera, F: noire, UK: crotchet, D: Viertel, Viertelnote, NL:
+kwartnoot, DK: fjerdedelsnode, S: fj@"ardedelsnot, N:
+
+@w{@ar{}@strong{note value}}
+
+@item quarter rest
+I: pausa di semiminima, F: soupir, UK: crotchet rest, D: Viertelpause, NL:
+kwart rust, DK:@w{ }fjerdedelspause, S: fj@"ardedelspaus, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item quintuplet
+I: quintina, F: , D: Quintole, NL: kwintool, DK: kvintol, S: kvintol, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item rallentando
+I: rallentando, F: , D: rallentando, langsamer, NL: rallentando, DK:
+rallentando, S: rallentando, N: .
+
+@w{@ar{}@strong{ritardando}}
+
+@item relative key
+I: tonalit@`a relativa, F: , D: Paralleltonart, DK: paralleltoneart, S:
+parallelltonart, N: .
+
+@w{@ar{}@strong{Major}} and @w{@ar{}@strong{minor}} @w{@ar{}@strong{key}} with
+the same @w{@ar{}@strong{signature}}.
+
+@
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Voice.textStyle = "large"
+\notes\relative c' { 
+  \key es;
+  es1_"e flat major" f g as bes c d es 
+  \bar "||"; s16 
+  \key es;
+  c,1_"c minor" d es f g a! b! c \bar "||";
+}
+@end mudela
+
+@item repeat
+I: ritornello, F: barre de reprise, D: Wiederholung, NL: herhaling, DK:
+gen@-ta@-gel@-se, S: repris, N: .
+
+@
+
+@mudela[13pt,eps]
+\key g;
+\time 4/4;
+\notes\relative c'' { 
+  \repeat volta 2 {g4 g d' d | e e d2 | c4 c b b | a a g2 }
+}
+@end mudela
+
+@item rest
+I: pausa, F: soupir, D: Pause, NL: rust, DK: pause, S: paus, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item rhythm
+I: ritmo, F: rythme, D: Rhythmus, NL: ritme, DK: rytme, S: rytm, N: .
+
+(a) metrical rhythm in which every time value is a multiple or fraction of a
+fixed unit of time, called @w{@ar{}@strong{beat}}, and in which the normal
+@w{@ar{}@strong{accent}} recurs in regular intervals, called
+@w{@ar{}@strong{measure}}. The basic scheme scheme of time values is called
+@w{@ar{}@strong{meter}}. (b) Measured rhythm which lacks regularly recurrent
+accent. In modern notation such music appears as a free alternation of
+different measures. (c) Free rhythm, i.e. the use of temporal values having no
+common metrical unit (beat).
+
+@item ritardando
+I: ritardando, F: , D: Ritardando, Langsamer, NL: ritardando, DK: ritardando,
+S: ritardando, N: .
+
+Gradually slackening in speed. Mostly abbreviated to rit. or ritard. 
+
+@item ritenuto
+I: ritenuto, F: , D: Ritenuto, NL: ritenuto, DK: ritenuto, S: ritenuto, N: .
+
+Immediate reduction of speed.
+
+@item scale
+I: scala, F: gamme, D: Tonleiter, NL: toonladder, DK: Skala, S: skala, N: .
+
+@w{@ar{}@strong{diatonic scale}}
+
+@item scale degree
+I: grado della scala, F: degr@'e [de la gamme], D: Tonleiterstufe, NL: trap
+[van de toonladder], DK: skalatrin, S: skalatrin (?), N: .
+
+Names and symbols used in harmonic analysis to denote tones of the scale as
+roots of chords. The most important are degrees I = tonic (T), IV =
+sub@-do@-mi@-nant (S) and V = dominant (D).
+
+@
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Lyrics.textStyle = "large"
+\property Lyrics.minVerticalAlign = 8
+\addlyrics
+\notes\relative c' { 
+  c1 d e f g a b c }
+\context Lyrics \lyrics { 
+  < { I II III IV V VI VII I } 
+    { T "" "" S D } >
+}
+@end mudela
+
+@w{@ar{}@strong{functional harmony}}
+
+@item score
+I: partitura, F: partition, D: Partitur, NL: partituur, DK: partitur, S:
+partitur, N: .
+
+A copy of orchestral, choral or chamber music showing what each instrument is
+to play, each voice to sing, having each part arranged one underneath the
+other on different @w{@ar{}@strong{stave}}s.
+
+@item second
+I: secunda, F: seconde, D: Sekunde, NL: secunde, DK: sekund, S: sekund, N: .
+
+The @w{@ar{}@strong{interval}} between two neigbouring tones of a scale. A
+@w{@ar{}@strong{diatonic scale}} consists of alternating
+@w{@ar{}@strong{semitone}}s and @w{@ar{}@strong{whole tone}}s, hence the size
+of a se@-cond depends on the scale degrees in question.
+
+@item semitone
+I: semitono, F: demi-ton, D: Halbton, NL: halve toon, DK: halvtone, S:
+halvton, N: .
+
+The @w{@ar{}@strong{interval}} of a minor second. The (usually) smallest
+interval in European composed music. The interval between two neighbouring
+tones on the piano keyboard - including black and white keys - is a
+semitone. An octave may be divided into 12
+semitones. @w{@ar{}@strong{interval}} @w{@ar{}@strong{chromatic scale}}
+
+@
+
+@mudela[13pt,eps] 
+\property Score.barNonAuto = "1" 
+\notes\relative c'' { g1 gis s a bes s b c }
+@end mudela
+
+@item seventh
+I: settima, F: septi@`eme, D: Septime, NL: septiem, DK: septim, S: septim, N: .
+
+@w{@ar{}@strong{interval}}
+
+@item sextuplet, sextolet
+I: settimina, F: sextolet, D: Sextole, NL: sextool, DK: sekstol, S: sextol, N:
+.
+
+@w{@ar{}@strong{note value}}
+
+@item sharp
+I: diesis, F: di@`ese, D: Kreuz, NL: kruis, DK: kryds, S: korsf@"ortecken, N: .
+
+@w{@ar{}@strong{accidental}}
+
+@item short appoggiatura
+@w{@ar{}@strong{appoggiatura}}
+
+@item sixteenth note
+I: semicroma, F: double croche, UK: semiquaver, D: Sechzehntel,
+Sechzehntelnote, NL:@w{ }zes@-ti@-ende noot, DK: sekstendedelsnode, S:
+sextondelsnot, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item sixteenth rest
+I: pausa di semicroma, F: quart de soupir, UK: semiquaver rest, D:
+Sechzehntelpause, NL: zestiende rust, DK: sekstendedelspause, S:
+sextondelspaus, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item sixth
+I: sesta, F: sixte, D: Sexte, NL: sext, DK: sekst, S: sext, N: .
+
+@w{@ar{}@strong{interval}}
+
+@item sixty-fourth note
+I: semibiscroma, F: quadruple croche, UK: hemidemisemiquaver, D:
+Vierundsechzigstel, Vierundsechzigstelnote, NL: vierenzestigste noot, DK:
+fi@-re@-og@-tred@-sinds@-ty@-ven@-de@-dels@-no@-de, S:
+sextiofj@"ardedelsnot, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item sixty-fourth rest
+I: pausa di semibiscroma, F: seizi@`eme de soupir, UK: hemidemisemiquaver
+rest, D: Vierundsechzigstelpause, NL: vierenzestigste rust, DK:
+fi@-re@-og@-tred@-sinds@-ty@-ven@-de@-dels@-pau@-se, S:
+sextiofj@"ardedelspaus, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item slur
+I: legatura (di portamento or espressiva), F: liaison, coul@'e, D: Bogen,
+Bindebogen, Legatobogen, Phrasierungsbogen, NL: binding, bindingsboog, 
+DK:@w{ }legatobue, fraseringsbue, S: b@aa{}ge, N: .
+
+A slur above or below a group of notes indicates that they are to be played
+@w{@ar{}@strong{legato}}, e.g. with one stroke of the violin bow or with one
+breath in singing.
+
+@item solmization
+I: solmisazione, F: , D: Solmisation, NL: solmizatie, DK: solmisation, S:
+solmisation, N: .
+
+General term for systems of designating the degrees of the
+@w{@ar{}@strong{scale}}, not by letters, but by syllables (@emph{do}
+(@emph{ut}), @emph{re}, @emph{mi}, @emph{fa}, @emph{sol}, @emph{la}, @emph{si}
+(@emph{ti})). @w{@ar{}@strong{scale degree}}.
+
+@item sonata
+I: sonata, F: , D: Sonate, NL: sonate, DK: sonate, S: sonat, N: .
+
+In its present-day meaning a sonata denotes an instrumental composition for
+piano or for some other instrument with piano accompaniment, which consists of
+three or four independant pieces, called movements.
+
+@item sonata form
+I: forma sonata, F: , D: Sonatenform, NL: hoofdvorm, sonatevorm, DK:
+sonateform, S: sonatform, N: .
+
+A form used frequently for single movements of the @w{@ar{}@strong{sonata}},
+@w{@ar{}@strong{symphony}}, quartet etc. A movement written in sonata form
+falls in three sections called @emph{exposition}, @emph{development} and
+@emph{recapitulation}. In the exposition the composer introduces his musical
+ideas, consisting of a number of themes; in the development section he
+"develops" this material, and in the recapitulation he repeats the exposition,
+with certain modifications however. The exposition contains a number of themes
+which fall into two groups, often called first and second subject. Other
+melodies occurring in each group are considered as continuations of these
+two. The second theme is in another key, normally in the key of the
+@w{@ar{}@strong{dominant}} if the @w{@ar{}@strong{tonic}} is
+@w{@ar{}@strong{major}}, and in the @w{@ar{}@strong{relative key}} if the
+tonic is @w{@ar{}@strong{minor}}.
+
+@item soprano
+I: soprano, F: soprano, D: Sopran, NL: sopraan, DK: sopran, S: sopran, N: .
+
+The highest female voice.
+
+@item staccato
+I: staccato, F: , D: staccato, NL: staccato, DK: staccato, S: staccato, N:
+
+Playing the note(s) short. Staccato is indicated by a dot above or below the
+notehead.
+
+@
+
+@mudela[13pt,eps]
+\key d;
+\time 4/4;
+\notes\relative c'' { 
+  \partial 8; a8 | 
+  d4-\staccato cis-\staccato b-\staccato cis-\staccato | 
+  d2. \bar "||"; }
+@end mudela
+
+@item staff
+I: pentagramma, rigo (musicale), F: port@'ee, D: Notensystem, NL: (noten)balk;
+partij, DK: nodesystem, S: notsystem, N: .
+
+pl. staves or staffs. A series of (normally 5) horizontal lines upon and
+between which the musical notes are written, thus indicating (in connection
+with a @w{@ar{}@strong{clef}}) their pitch. Staffs for
+@w{@ar{}@strong{percussion}} instruments may have fewer lines.
+
+@item stem
+I: gamba, F: queue, D: Hals, Notenhals, Stiel, NL: stok, DK: hals, S: skaft,
+N: .
+
+Vertical line above or below a @w{@ar{}@strong{note head}} shorter than a whole
+note. @w{@ar{}@strong{beam}}
+
+@
+
+@mudela[13pt,eps]
+\property Score.noAutoBeaming = "1"
+\property Score.barNonAuto = "1"
+\property Voice.textEmptyDimension = "1"
+\property Voice.textStyle = "large"
+\notes\relative c'' { 
+  g2_"1/2" g' s16
+  g,4_"1/4" g' s16
+  g,8_"1/8" g' s16
+  g,16_"1/16" g' s16
+}
+@end mudela
+
+@item strings
+I: archi, F: , D: Streicher, NL: strijkers, DK: strygere, S: str@aa{}kar, N: .
+
+A family of stringed musical instruments played with a bow. Strings commonly
+used in a symphony orchestra are violin, viola, violoncello and double bass.
+
+@item strong beat
+I: tempo forte, F: temps fort, D: betonter Taktteil oder -schlag, NL: thesis,
+D: betonet taktslag, S: betonat taktslag, N: .
+
+@w{@ar{}@strong{beat}} @w{@ar{}@strong{accent}} @w{@ar{}@strong{measure}}
+@w{@ar{}@strong{rhythm}}
+
+@item subdominant
+I: sottodominante, F: sous-dominante, D: Subdominante, NL: subdominant, DK:
+subdominant, S: subdominant, N: .
+
+The fourth @w{@ar{}@strong{scale degree}}. @w{@ar{}@strong{functional
+harmony}}
+
+@item submediant
+I: sopradominante, F: , D: Submediant, NL: submediant, DK: Submediant, S:
+submediant, N: .
+
+The sixth @w{@ar{}@strong{scale degree}}.
+
+@item subtonic
+I: sensibile, F: sous-tonique, D: Subtonika, NL: subtonica, DK: Subtonika, S:
+subtonika, N: .
+
+The seventh @w{@ar{}@strong{scale degree}}
+
+@item superdominant
+I: sopradominante, F: sus-dominante, D: Superdominant, NL: superdominant, DK:
+superdominant, S: superdominant, N: .
+
+The sixth @w{@ar{}@strong{scale degree}} 
+
+@item supertonic
+I: sopratonica, F: sus-tonique, D: Supertonika, NL: supertonica, DK:
+supertonika, S: supertonika, N: .
+
+The second @w{@ar{}@strong{scale degree}}.
+
+@item symphony
+I: sinfonia, F: , D: Sinfonie, NL: symfonie, DK: symfoni, S: symfoni, N: .
+
+A symphony may be defined as a @w{@ar{}@strong{sonata}} for orchestra.
+
+@item syncopation
+I: sincope, F: syncope, D: Synkope, NL: syncope, DK: synkope, S: synkop, N: .
+
+Any deliberate upsetting of the normal pulse of @w{@ar{}@strong{meter}},
+@w{@ar{}@strong{accent}} and @w{@ar{}@strong{rhythm}}. Our system of musical
+rhythm rests upon the grouping of equal beats into groups of two or three,
+with a regularly recurrent accent on the first beat of each group. Any
+deviation from this scheme is felt as a disturbance or contradiction between
+the underlaying (normal) pulse and the actual (abnormal) rhythm.
+
+@
+
+@mudela[13pt,eps]
+\property Voice.textEmptyDimension = "1"
+\property Voice.textStyle = "large"
+\time 4/4;
+\notes\relative c' {
+  \partial 4;
+  d8 dis |
+  e c'4 e,8 c'4 e,8 c' ( | ) c2
+}
+@end mudela
+
+@item syntonic comma; dydimic comma
+
+I: comma sintonico (o didimico), F: comma syntonique, D: Syntonisches Komma,
+NL: syntonische komma, DK:@w{ }syntonisk komma, S: syntoniskt komma, N: .
+
+Difference between the natural third and the third obtained by Pythagorean
+tuning (@w{@ar{}@strong{Pythagorean comma}}), equal to 22 cents.
+
+@item system
+I: accollatura, F: syst@`eme, D: Notensystem, NL: systeem, DK: system, S:
+system, N: .
+
+The collection of staves @w{@ar{}@strong{staff}}, two or more, as used for the
+writing down of keyboard, chamber, choral or orchestral music.
+
+@item temperament
+I: temperamento, F: , D: Stimmung, Temperatur, NL: temperament, DK:
+temperatur, S: temperatur, N: .
+
+Systems of tuning in which the intervals deviate from the accoustically pure
+intervals. @w{@ar{}@strong{meantone temperament}} @w{@ar{}@strong{equal
+temperament}}
+
+@item tempo indication
+I: indicazioni di tempo, F: signe de temps, D: Zeitma@ss{}, Tempobezeichnung,
+NL: tempo aanduiding, DK: tempobetegelse, S: tempobeteckning, N: .
+
+The rate of speed of a composition or a section thereof, ranging from the
+slowest to the quickest, as is indicated by tempo marks as
+@w{@ar{}@strong{largo}}, @w{@ar{}@strong{adagio}}, @w{@ar{}@strong{andante}},
+@w{@ar{}@strong{allegro}} and @w{@ar{}@strong{presto}}.
+
+@item tenor
+I: tenore, F: t@'enor, D: Tenor, NL: tenor, DK: tenor, S: tenor, N: .
+
+The highest voice of men (apart from @w{@ar{}@strong{counter tenor}})
+@item tenth
+I: decima, F: , D: Dezime, NL: deciem, DK: decim, S: decima, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item third
+I: terza, F: tierce, D: Terz, NL: terts, DK: terts, S: ters, N: .
+
+@w{@ar{}@strong{interval}}
+
+@item thirty-second note
+
+I: biscroma, F: triple croche, UK: demisemiquaver, D:
+Zweiunddrei@ss{}igstel, Zweiunddrei@ss{}igstelnote, NL: 32e noot, DK:
+toogtredivtedelsnode, S: trettiotv@aa{}ondelsnot, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item thirty-second rest
+
+I: pausa di biscroma, F: huiti@`eme de soupir, UK: demisemiquaver rest, D:
+Zweiunddrei@ss{}igstel@-pause, NL: 32e rust, DK: toogtredivtedelspause, S:
+trettiotv@aa{}ondelspaus, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item thorough bass; figured bass
+I: basso continuo, F: basse chiffr@'e, D: Generalbass, bezifferter Bass, NL:
+basso continuo, DK:@w{ }generalbas, S: generalbas, N: .
+
+A method of indicating an accompaniment part by the bass notes only, together
+with figures designating the chief @w{@ar{}@strong{interval}}s and
+@w{@ar{}@strong{chord}}s to be played above the bass notes.
+@
+
+@mudela[13pt,eps]
+\context GrandStaff <
+  \notes\relative c'' { 
+    \time 4/4;
+    \key es;
+    \clef treble; 
+    < \context Voice = rha { 
+        \stemup
+        es4 d c bes | bes } 
+      \context Voice = rhb { 
+        \stemdown
+        < bes8 g > as < as f > g < g es > f < d f > es | < g4 es > } 
+    >
+  }
+  \property Voice.textStyle = "large"
+  \property Lyrics.textStyle = "Large"
+  \property Lyrics.minVerticalAlign = 6
+  \addlyrics
+    \notes\relative c' { 
+    \clef bass;
+    \key es;
+    es8 c () c bes () bes as () as g16 f | es4 
+  }
+  \context Lyrics \lyrics { 
+    < { "" "6" "4" "6" "4" "6" "4" "6" }
+      { "" "" "2" "" "2" "" "2" "" } >
+  } 
+>
+@end mudela
+
+@item tie; bind
+I: legatura (di valore), F: liaison, D: Haltebogen, NL: overbinding, DK:
+bindebue, S: bindeb@aa{}ge, @"overbindning, N: .
+
+A curved line, identical in appearance with the @w{@ar{}@strong{slur}}, which
+connects two succesive notes of the same pitch, and which has the function of
+uniting them into a single sound equal to the combined durations.
+
+@
+
+@mudela[13pt,eps]
+\property Score.barNonAuto = "1"
+\notes\relative c'' { g2 ~ g4. }
+@end mudela
+
+@item time signature
+
+I: segni di tempo, F: chiffrage (chiffres indicateurs), signe de valeur,  D:
+Taktangabe, Angabe der Taktart, NL: maatsoort, DK: taktangivelse, S:
+taktartssignatur, N: .
+
+@w{@ar{}@strong{meter}}
+
+@item tone
+I: suono, F: ton, D: Ton, NL: toon, DK: tone, S: ton, N: .
+
+A sound of definite pitch and duration, as distinct from @emph{noise}. Tone is
+a primary building material of music. Music from the 20th century may be based
+on non tone related sounds.
+
+@item tonic
+I: tonica, F: tonique, D: Tonika, NL: tonica, DK: tonika, S: tonika, N: .
+
+The first @w{@ar{}@strong{scale degree}}@w{@ar{}@strong{functional harmony}}
+
+@item transposition
+I: trasposizione, F: transposition, D: Transposition, NL: transpositie, DK:
+transposition, S: transponering, N: .
+
+Shifting a melody up or down in pitch, while keeping the same relative pitches.
+
+@
+
+@mudela[13pt,eps]
+\context Staff {
+  \time 3/4;
+  \notes\relative c'' {
+    \key g;
+    d4 g,8 a b c | d4 g, g | e' c8 d e fis | g4 g, g \bar "|."; }
+  \transpose bes\relative c'' {
+    \key g;
+    d4 g,8 a b c | d4 g, g | e' c8 d e fis | g4 g, g \bar "|."; }
+}
+@end mudela
+
+@item treble clef
+I: chiave di violino, F: cl@'e de sol, D: Violinschl@"ussel,
+Sopranschl@"ussel, NL: viool sleutel, DK:@w{ }diskantn@o{}gle, S: diskantklav,
+N: .
+
+@w{@ar{}@strong{G clef}}
+
+@item tremolo
+I: tremolo, F: tr@`emolo, D: Tremolo, NL: tremolo, DK: tremolo, S: tremolo, N:
+.
+
+On stringed instruments (@w{@ar{}@strong{strings}}) the quick reiteration of
+the same tone, produced by a rapid up-and-down movement movement of the bow
+(a). The term is also used for the rapid alternation (b) between two notes of
+a @w{@ar{}@strong{chord}}, usually in the distance of a third
+(@w{@ar{}@strong{interval}}).
+@
+
+@mudela[13pt,eps] 
+\property Voice.textEmptyDimension = "1"
+\property Score.barNonAuto = "1" 
+\property Voice.textStyle = "large"
+\notes\relative c' {
+  e2:32_"a" f:32 [ e8:16 f:16 g:16 a:16 ] s4 [:32 e1_"b" g]
+} 
+@end mudela
+
+@item triad
+I: triade, F: , D: Dreiklang, NL: drieklank, DK: treklang, S: treklang, N:
+
+@w{@ar{}@strong{chord}}
+
+@item trill; shake
+I: trillo, F: trille, tremblement, battement (cadence), D: Triller, NL:
+triller, DK:@w{ }trille, S:@w{ }drill, N:@w{ }.
+
+@w{@ar{}@strong{ornament}}
+
+@item triple meter
+I: tempo ternario, F: temps ternaire, D: dreiteiliger Takt, NL: driedelige
+maatsoort, DK: tredelt takt, S: tretakt, N: .
+
+@w{@ar{}@strong{meter}}
+
+@item triplet
+I: terzina, F: triolet,  D: Triole, NL: triool, DK: triol, S: triol, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item tritone
+I: tritono, F: triton, D: Tritonus, NL: tritoon, DK: tritonus, S: tritonus, N:
+.
+
+@w{@ar{}@strong{interval}}
+
+@item tuning fork
+I: diapason, corista, F: diapason, D: Stimmgabel, NL: stemvork, DK:
+stemmegaffel, S: st@"amgaffel, N: .
+
+A two-pronged piece of steel used to indicate absolute pitch. Tuning forks
+give the international pitch for the tone @emph{a} (440 vibrations per second.)
+@item turn; gruppetto
+I: grupetto, F: bris@`e, groupe, doubl@`e, grupetto, D: Doppelschlag, NL:
+dubbelslag, DK: dobbeltslag, S: dubbelslag, N: .
+
+@item unison
+I: unisono, F: unisson, D: Unison, unisono, NL: unisono, DK: unison, S:
+unison, N: .
+
+Playing of the same notes or the same melody by various instruments (voices)
+or by the whole orchestra (choir), either at exactly the same pitch or in a
+different octave.
+
+@item upbeat
+I: anacrusi, F: , D: Auftakt, NL: opmaat, I: , DK: optakt, S: upptakt, N:
+
+Initial note(s) of a melody occurring before the first bar
+line. @w{@ar{}@strong{measure}} @w{@ar{}@strong{meter}}
+
+@
+
+@mudela[13pt,eps]
+\key f;
+\time 4/4;
+\notes\relative c' { 
+  \partial 4; f4 | bes4. a8 bes4 c | 
+  bes () a g f | bes4. a8 bes4 c | f,2. \bar "||"; }
+@end mudela
+
+@item voice
+I: voce, F: voix, D: Stimme, NL: stem, DK: stemme, S: st@"amma, N: ,
+
+1. Human voices: @w{@ar{}@strong{soprano}}, @w{@ar{}@strong{mezzo-soprano}},
+@w{@ar{}@strong{contralto}}, @w{@ar{}@strong{tenor}},
+@w{@ar{}@strong{baritone}}, @w{@ar{}@strong{bass}}. 2. A melodic layer or part
+of a polyphonic composition.
+
+@item weak beat
+I: tempo debole, arsi, F: temps faible, D: unbetonter Taktteil oder -schlag,
+NL: arsis, DK: ubetonet taktslag, S: obetonat taktslag, N: .
+
+@w{@ar{}@strong{beat}} @w{@ar{}@strong{measure}} @w{@ar{}@strong{rhythm}}
+
+@item whole note
+I: semibreve, F: ronde, UK: semibreve, D: Ganze, Ganze Note, NL: hele noot,
+DK: helnode, S: helnot, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item whole rest
+I: pausa di semibreve, F: pause, UK: semibreve rest, D: Ganze Pause, NL: hele
+rust, DK: helnodespause, S: helnotspaus, N: .
+
+@w{@ar{}@strong{note value}}
+
+@item whole tone
+I: tono intero, F: , D: Ganzton, NL: hele toon, DK: heltone, S: helton, N: .
+
+The @w{@ar{}@strong{interval}} of a major second. The interval between two
+tones on the piano keyboard with exactly one key between them - including
+black and white keys - is a whole tone.
+
+@item woodwind
+I: legni, F: , D: Holzbl@"aser, NL: houtblazers, DK tr@ae{}bl@ae{}sere, S:
+tr@"abl@aa{}sare, N: .
+
+A family of blown wooden musical instruments. Today some of these instruments
+are actually made from metal. The woodwind instruments commonly used in a
+symphony orchestra are flute, oboe, clarinet, saxophone and bassoon.
+
+@
+
+@item ---------------------
+
+@
+
+@item Litterature used
+The Harvard Dictionary of Music, London 1944. Many more or less litteral
+quotes from its articles have been included into the item explanation texts.
+
+Hugo Riemans Musiklexicon, Berlin 1929
+
+Oxford Advanced Learner's Dictionary of Current English, Third Edition 1974.
+
+@end table
+
+@bye
index bf2e8244f7c93f566bc19b05db0ab3ff060fe0a2..987e40be36b09b65e77594425873d308e32a48da 100644 (file)
@@ -86,7 +86,6 @@ than the names being similar :-)"
 * Invoking LilyPond::   Operation.
 * Reporting Bugs::      Where to report bugs.
 * Reference Manual::    Reference Manual.
-* Glossary::            A dictionary of musical terms.
 * More information::    Where to turn to for more help.
 * convert-mudela::      Upgrading input files.
 * Index::               Unified index.
@@ -112,8 +111,6 @@ than the names being similar :-)"
 
 @mbinclude refman.itely
 
-@include glossary.itexi
-
 @include moreinfo.itexi
 
 @include convert-mudela.itexi
index 9f8ab35a43a3544acd0e11eb77ea2d12baf6c5e8..0d2bafa7fccdf136722ab93b0bf5f7e4ec772b11 100644 (file)
@@ -10,7 +10,7 @@ Abstract
 you should do.  If you are going to compile and install LilyPond often,
 e.g. when doing development, you might want to check out the
 `buildscripts/set-lily.sh' script.  It sets some environment variables
-and symlinks, which comes in handly when you have to compile LilyPond
+and symlinks, which comes in handy when you have to compile LilyPond
 more often.
 
 Obtaining
diff --git a/TODO b/TODO
index 9fb9933e9f8beaffd5ce9f3122c3f3d3259d7714..f5a11cecd9ea95ce20c399e01fef00a522e80f60 100644 (file)
--- a/TODO
+++ b/TODO
@@ -17,7 +17,26 @@ Grep -i for TODO, FIXME and ugh/ugr/urg.
 . * entangle ly/* paper-params papersize stuff
 . * fix tremolos.
 . * change ) c4  to c4-)
+. * 
+There's insufficient leading between lines of lyrics, so risers like
+`l' and 'b' collide with the bottom of the line above.
+
+Also the lines are unevenly spaced.
+
+. * write comments in the source code
 . * internationalize GUILE msgs.
+. * roy rankin:
+1> The volta brackets are on top of the lyrics. This problem existed in
+   1.2.x which I corrected by giving the brackets a vertical size. I
+   have not had the time to check what is going on in 1.3.
+
+2> Part names are being written on top of the staff and not in the
+   left margin.
+
+3> The tag at the end is spaced out clear across the page. (new problem
+   in 1.3.27)
+
+I also get the following error messages from ly2dvi.
 . * unbroken marks.
 . * chubb:
 -- Take a piece of early music, and typeset it as closely as possible to
diff --git a/VERSION b/VERSION
index a85e0bcfadac6a154303a3fec4312215bddc3f4d..eccd0728c3044876b33f574749a1002eb194baad 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
-PATCH_LEVEL=27
-MY_PATCH_LEVEL=jcn1
+PATCH_LEVEL=28
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index be4163087bd25fb365783db9736e676364d23134..9e05102b94005f7feb55b3af7850275761c3e865 100755 (executable)
@@ -46,7 +46,7 @@ yourself."""
 # FIXME breaks on multiple strings.
 #
 def read_mudela_header (fn):
-       s = gulp_file(fn)
+       s = open(fn).read ()
        s = re.sub('%.*$', '', s)
        s = re.sub('\n', ' ', s)                
 
@@ -77,47 +77,36 @@ def help ():
        sys.stdout.write (r"""Usage: mutopia-index [options] INFILE OUTFILE
 Generate index for mutopia\n
 Options:
-  -h, --help                        print this help
-  --prefix=PRE                  specify prefix
+  -h, --help                 print this help
+  -o,-output=FILE            write output to file.
   -s, --subdirs=DIR         add subdir
   --suffix=SUF                  specify suffix"""
                                          )
        sys.exit (0)
 
 # ugh.
-def gen_list(inputs, subdir, filename):
-       (pre, subdirs, post)=subdir
+def gen_list(inputs, filename):
        print "generating HTML list %s\n" % filename
-       list = open(filename, 'w')
+       if filename:
+               list = open(filename, 'w')
+       else:
+               list = sys.stdout
        list.write ('<html><TITLE>Rendered Examples</TITLE>\n')
        list.write ('<body bgcolor=white>')
-       if subdirs:
-               list.write  ('<h2>subdirectories</h2>')
-               list.write  ('<ul>')                
-               for ex in subdirs:
-                       print 'subdir %s ' % ex
-                       list.write ('<li><a href=%s/index.html>Subdirectory: %s</a></li>\n' % (pre + ex + post , ex))
-
-               list.write ('</ul>')
-
-
-
+       
        if inputs:
-                       list.write('<h2>Contents of this directory</h2>\n');
-
                        list.write (headertext)
        else:
                        list.write (headertext_nopics)
 
 
        for ex in inputs:
-               ex_ext = '.ly'
+               (base, ext) = os.path.splitext (ex)
+               (base, ext2) = os.path.splitext (base)          
+               ext = ext2 + ext
+               
                print '%s, ' % ex
-               try:
-                       header = read_mudela_header(ex + ex_ext + '.txt')
-               except:
-                       ex_ext = '.fly'
-                       header = read_mudela_header(ex + ex_ext + '.txt')
+               header = read_mudela_header(ex)
                
                def read_dict(s, default, h =header):
                                try:
@@ -125,7 +114,7 @@ def gen_list(inputs, subdir, filename):
                                except KeyError:
                                        ret = default
                                return ret
-               head = read_dict('title', ex)
+               head = read_dict('title', os.path.basename (base))
                composer = read_dict('composer', '')
                desc = read_dict('description', '')
                list.write('<hr>')
@@ -142,14 +131,15 @@ def gen_list(inputs, subdir, filename):
                                l.write (' (%s %dk)' % (type, (size + 512) / 1024))
                                pictures = ['jpeg', 'png', 'xpm']
                                l.write ('\n')
-               list_item(ex + ex_ext + '.txt', 'The input', 'ASCII')
+
+               list_item(base + ext, 'The input', 'ASCII')
                for pageno in range(1,100):
-                       f  = ex + '-page%d.png' % pageno
+                       f  = base + '-page%d.png' % pageno
                        if not file_exist_b (f):
                                break
                        list_item(f, 'The output, page %d' % pageno, 'png')
-               list_item(ex + '.ps.gz', 'The output', 'gzipped PostScript')
-               list_item(ex + '.midi', 'The output', 'MIDI')
+               list_item(base + '.ps.gz', 'The output', 'gzipped PostScript')
+               list_item(base + '.midi', 'The output', 'MIDI')
                list.write ("</ul>");
 
        list.write( "</BODY></HTML>");
@@ -158,23 +148,31 @@ def gen_list(inputs, subdir, filename):
 import getopt
 
 (options, files) = getopt.getopt(sys.argv[1:], 
-  'hp:s:', ['help', 'subdirs=', 'suffix=',  'prefix='])
-subdir_pre=''
-subdir_suf =''
+  'ho:', ['help', 'output='])
+outfile = 'examples.html'
 
 subdirs =[]
 for opt in options:
        o = opt[0]
        a = opt[1]
-       if o == '--subdirs' or o == '-s':
-               subdirs.append (a)
-       elif o == '--prefix':
-               subdir_pre = a
-       elif o == '--suffix':
-               subdir_suf = a
+       if o == '--help' or o == '-h':
+               help()
+       elif o == '--output' or o == '-o':
+               outfile = a
 
-               
-allfiles = find.find ('*.ly') + find.find ('*.ly.txt')
+dirs  = []
+for f in files:
+       dirs = dirs + find.find ('out-www', f);
+
+if not dirs:
+       dirs = ['.']
+
+allfiles = []
+
+for d in dirs:
+       allfiles = allfiles + find.find ('*.ly.txt', d)
+
+print allfiles
 
-gen_list (files, (subdir_pre, subdirs, subdir_suf), 'index.html')
+gen_list (allfiles, outfile)
 
index 00cddc0806aa24194d8ef3e74561607407e45715..0923318b9973a52651f3dd0559fa0981bfddc0e7 100644 (file)
@@ -1,7 +1,7 @@
 # input/test/Makefile
 
 depth = ../..
-examples=font20  sleur
+examples=font20  
 LOCALSTEPMAKE_TEMPLATES=mutopia
 
 include $(depth)/make/stepmake.make 
index f9f6cd1d8ff9a83c05fa9309fd854db1a2c779d0..0b69da1a7b5add4fc1f467337faa624b75c25dcd 100644 (file)
@@ -1,8 +1,8 @@
 \header{
+title = "sleur";
+subtitle = "test slurs.";
 enteredby =     "jcn";
 copyright =     "public domain";
-TestedFeatures =        "This file tests Feta embedded slurs" +
-        "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
 \version "1.3.5";
diff --git a/input/test/slur-area.fly b/input/test/slur-area.fly
new file mode 100644 (file)
index 0000000..14705f7
--- /dev/null
@@ -0,0 +1,10 @@
+\property Voice.slurVerticalDirection = #1
+\property Voice.stemVerticalDirection = #-1
+a''(a' a,)a
+a(a a')a,
+a(d a)a
+a8(d a a a a a)a
+a(a a a a a d)a
+
+c,(g' c e f d b)g 
+c,(g' c e f d b)g 
diff --git a/input/test/slur-area.sly b/input/test/slur-area.sly
deleted file mode 100644 (file)
index 4b676c7..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\property Voice.slurVerticalDirection = #1
-\property Voice.stemVerticalDirection = #-1
-a''(a' a,)a
diff --git a/input/test/slur-proof.ly b/input/test/slur-proof.ly
new file mode 100644 (file)
index 0000000..8853a63
--- /dev/null
@@ -0,0 +1,46 @@
+
+% :-(
+x = {
+\outputproperty #(make-type-checker 'Note_head) #'extra-offset = #'(-1 . 0)
+}
+
+\score{
+\context Staff \notes\relative c<
+\context Voice=va { \x f()f }
+\context Voice=vb { \x g(s4)g }
+\context Voice=vc { \x a(s4*2)a }
+\context Voice=vd { b(s4*3)b }
+\context Voice=ve { c(s4*4)c }
+\context Voice=vf { d(s4*5)d }
+\context Voice=vg { e(s4*6)e }
+\context Voice=vh { f(s4*7)f }
+\context Voice=vi { g(s4*8)g }
+\context Voice=vj { a(s4*9)a }
+\context Voice=vk { b(s4*10)b }
+\context Voice=vl { c(s4*11)c }
+\context Voice=vm { d(s4*12)d }
+\context Voice=vn { e(s4*13)e }
+\context Voice=vo { f(s4*14)f }
+\context Voice=vp { g(s4*15)g }
+\context Voice=vq { a(s4*16)a }
+\context Voice=vr { b(s4*17)b }
+\context Voice=vs { c(s4*18)c }
+\context Voice=vt { d(s4*19)d }
+\context Voice=vu { e(s4*20)e }
+\context Voice=vv { f(s4*21)f }
+\context Voice=vw { g(s4*22)g }
+\context Voice=vx { a(s4*23)a }
+\context Voice=vy { b(s4*24)b }
+\context Voice=vz { c(s4*25)c }
+\context Voice=wa { d(s4*26)d }
+>
+\paper{
+indent=0.0\mm;
+linewidth=-1.0\mm;
+\translator{
+\VoiceContext
+slurVerticalDirection = #1
+stemVerticalDirection = #-1
+}
+}
+}
diff --git a/input/test/tuplet-rest.ly b/input/test/tuplet-rest.ly
new file mode 100644 (file)
index 0000000..d31e4f6
--- /dev/null
@@ -0,0 +1,16 @@
+
+
+\score {
+  \context Voice \notes \relative c'' {
+    \time 2/4;
+    \times 2/3 { r c,,, c''' }
+    \times 2/3 { r c c }
+    \times 2/3 { r c r}
+    \times 2/3 { r r r}
+    \times 2/3 { r c e}
+    \times 2/3 { c r e}
+    \times 2/3 { r c g}
+    \times 2/3 { c r g}
+  }
+}
+
index cc2bde40be01f211d289b59360968f200294e2f9..9dd82bc754f88893320db90a009ea5253fb0f57a 100644 (file)
@@ -7,74 +7,49 @@
 */
 
 #include <math.h>
-#include "ly-smobs.icc"
 
 #include "atom.hh"
-#include "interval.hh"
-#include "string.hh"
-#include "array.hh"
-#include "debug.hh"
-#include "dimensions.hh"
 #include "lookup.hh"
-#include "main.hh"
 #include "global-ctor.hh"
 #include "font-metric.hh"
 
-Atom::Atom(SCM s)
+
+#if 0
+SCM translate_sym;
+
+static void init()
 {
-  SCM onstack = s;             // protection. just to be sure.
-  func_ = s;
-  self_scm_ = SCM_EOL;
-  smobify_self ();
+  translate_sym = sly_symbol2scm ("translate-atom");
 }
 
+ADD_SCM_INIT_FUNC(atom, init);
+#endif
+
 SCM
-Atom::mark_smob (SCM s)
+translate_atom (Offset o, SCM func)
 {
-  Atom*  a = SMOB_TO_TYPE(Atom, s);
-  assert (s == a->self_scm_);
-  return a->func_;
+  return gh_list (ly_symbol2scm ("translate-atom"),
+                 ly_quote_scm (ly_offset2scm (o)),
+                 func,
+                 SCM_UNDEFINED);
 }
 
-void
-Atom::fontify (Font_metric * met)
+SCM
+translate_atom_axis (Real r, Axis a, SCM func)
 {
-  SCM desc = ly_quote_scm (met->description ());
-  SCM font_switch = gh_list (ly_symbol2scm ("select-font"),
-                            desc,
-                            SCM_UNDEFINED);
-
-  SCM f =func_;
-  func_ = gh_list (ly_symbol2scm ("string-append"),
-                  font_switch , f,
-                  SCM_UNDEFINED);
+  //  off_[a] += r;
+  Offset o ;
+  o[a] = r;
+  return gh_list (ly_symbol2scm ("translate-atom"),
+                 ly_quote_scm (ly_offset2scm (o)),
+                 func,
+                 SCM_UNDEFINED);
 }
 
-void
-Atom::do_smobify_self ()
-{
-}
 
-Atom::Atom (Atom const &s)
-{
-  off_ = s.off_;
-  func_ = s.func_;
-  self_scm_= SCM_EOL;
-  smobify_self ();
-}
-int
-Atom::print_smob (SCM s, SCM p, scm_print_state*)
+SCM
+fontify_atom(Font_metric * met, SCM f)
 {
-  Atom * a = unsmob_atom (s);
-
-  scm_puts ("#<Atom off ",p);
-  String str(a->off_.str ());
-  scm_puts ((char *)str.ch_C(), p);
-  scm_display (a->func_, p);
-  scm_puts ("> ",p);  
-  return 1;
+  return  gh_list (ly_symbol2scm ("fontify"),
+                  ly_quote_scm (met->description ()), f, SCM_UNDEFINED);
 }
-  
-IMPLEMENT_UNSMOB(Atom, atom)
-IMPLEMENT_SMOBS(Atom)
-
index 2206a6663f1c8b9385e31917c4db6b76bc8dcf6b..3565cddb31e60d7a46d058411da3fcc40f75a07e 100644 (file)
@@ -50,26 +50,60 @@ Bezier_bow::Bezier_bow (Array<Offset> points, Direction dir)
   ratio_ = 1.0;
 }
 
+static Real
+default_height (Real len)
+{
+  // assume 20pt staff
+  // see fonts.doc
+  Real staff_space = 5.0;
+  Real h_inf = 2.0* staff_space;
+  Real r_0 = 0.33;
+  return h_inf * 2.0 / M_PI * atan ( M_PI * r_0 / (2.0 * h_inf) * len);
+}
+
 void
 Bezier_bow::blow_fit ()
 {
-  Real len = curve_.control_[3][X_AXIS] ; 
-  Real ind = curve_.control_[1][X_AXIS] / len;
+  Real len = curve_.control_[3][X_AXIS]; 
   Real h = curve_.control_[1][Y_AXIS] * fit_factor () / len;
-
-  // ugh. Unhardcode this
-  if (h > 4 * ind)
-    {
-      h = 4* ind; 
-    }
-
-  if (h > 0.8 + -2 * ind)
-    {
-      h = 0.8 - 2  *ind; 
-    }
-  
   curve_.control_[1][Y_AXIS] = h * len;
   curve_.control_[2][Y_AXIS] = h * len;  
+  curve_.check_sanity ();
+}
+
+void
+Bezier_bow::de_uglyfy ()
+{
+  Real len = curve_.control_[3][X_AXIS] ; 
+  Real ff = fit_factor ();
+  for (int i = 1; i < 3; i++)
+    {
+      Real ind = abs (curve_.control_[(i-1)*3][X_AXIS]
+                     - curve_.control_[i][X_AXIS]) / len;
+      Real h = curve_.control_[i][Y_AXIS] * ff / len;
+
+      // ugh. Unhardcode this
+#if 0
+      // Too crude.
+      if (h > 4 * ind)
+       {
+         h = 4* ind; 
+       }
+#else
+      Real f = default_height (len) / len;
+      if (h > 2.0 * f)
+       {
+         h = 2.0 * f; 
+       }
+#endif
+      
+      if (h > 0.8 + -2 * ind)
+       {
+         h = 0.8 - 2  *ind; 
+       }
+      
+      curve_.control_[i][Y_AXIS] = h * len;  
+    } 
 
   curve_.check_sanity ();
 }
@@ -83,48 +117,139 @@ Bezier_bow::calc_enclosed_area_f () const
       Interval x;
       Interval y;
       if (i == 0)
-       x = Interval (0, encompass_[1][X_AXIS]/2);
+       {
+         x = Interval (0, encompass_[1][X_AXIS] / 2);
+         y = Interval (0,
+                       curve_.get_other_coordinate (X_AXIS,
+                                                    encompass_[1][X_AXIS]
+                                                    / 2));
+       }
       else if (i == encompass_.size () - 1)
-       x = Interval ((encompass_[i-1][X_AXIS] + encompass_[i][X_AXIS])/2, 
-                     encompass_[i][X_AXIS]);
+       {
+         x = Interval ((encompass_[i-1][X_AXIS] + encompass_[i][X_AXIS])/2, 
+                       encompass_[i][X_AXIS]);
+         y = Interval (0,
+                       (curve_.get_other_coordinate (X_AXIS,
+                                                     (x[MIN] + x[MAX]) / 2)));
+       }
       else
-       x = Interval ((encompass_[i-1][X_AXIS] + encompass_[i][X_AXIS])/2, 
-                     (encompass_[i][X_AXIS] + encompass_[i+1][X_AXIS])/2);
+       {
+         x = Interval ((encompass_[i-1][X_AXIS] + encompass_[i][X_AXIS]) / 2, 
+                       (encompass_[i][X_AXIS] + encompass_[i+1][X_AXIS]) / 2);
+         y = Interval (encompass_[i][Y_AXIS],
+                       (curve_.get_other_coordinate (X_AXIS, x[MIN])
+                        + curve_.get_other_coordinate (X_AXIS,
+                                                       (x[MIN] + x[MAX]) / 2)
+                        + curve_.get_other_coordinate (X_AXIS, x[MAX])) / 3);
+       }
       
-      y[MIN] = encompass_[i][Y_AXIS];
-      // solve_point (X, 0|Xmax) has no solutions...
-      y[MAX] = (x[MIN] ? curve_.get_other_coordinate (X_AXIS, x[MIN]) : 0
-               + curve_.get_other_coordinate (X_AXIS, (x[MIN] + x[MAX])/2)
-               + x[MAX] != encompass_.top ()[X_AXIS] ? curve_.get_other_coordinate (X_AXIS, x[MAX]) : 0)/3;
       Real da = x.length () * y.length ();
-      if (da > 0)
-       a += da;
+      a += da;
     }
   return a;
 }
 
-void
-Bezier_bow::minimise_enclosed_area ()
+Array<Offset>
+Bezier_bow::area_gradient_offset_arr ()
 {
+  Real len = curve_.control_[3][X_AXIS]; 
   Real area = calc_enclosed_area_f ();
   
+  Real grow = len / 10.0;
   Array<Offset> da (2);
   for (int i=1; i < 3; i++)
     {
       for (Axis a=X_AXIS; a < NO_AXES; incr (a)) 
        {
          Real r = curve_.control_[i][a];
-         curve_.control_[i][a] += 1;
-         da[i-1][a] = (calc_enclosed_area_f () - area) / area;
+         curve_.control_[i][a] += grow;
+         da[i-1][a] = (calc_enclosed_area_f () - area) / grow;
+         
          curve_.control_[i][a] = r;
        }
     }
+  return da;
+}
+
+void
+Bezier_bow::minimise_enclosed_area ()
+{
+  Real len = curve_.control_[3][X_AXIS]; 
+  Real beautiful = len * default_height (len) / 2.0;
+
+  DEBUG_OUT << to_str ("Beautiful: %f\n", beautiful);
+  DEBUG_OUT << to_str ("Length: %f\n", len);
+  int steps=2;
+  for (int i=0; i < steps; i++)
+    {
+      Real ff = fit_factor ();
+      if (!ff)
+       break;
+
+      DEBUG_OUT << to_str ("FitFac: %f\n", ff);
+
+      // slur must be higher at every point
+      if (ff > 1.01)
+       {
+         blow_fit ();
+         DEBUG_OUT << to_str ("Blown area: %f\n", calc_enclosed_area_f ());
+       }
+      else
+         DEBUG_OUT << to_str ("Init area: %f\n", calc_enclosed_area_f ());
+
+      Real area = calc_enclosed_area_f ();
+      
+
+      if (area <= beautiful)
+       break;
+
+      Array<Offset> da = area_gradient_offset_arr ();
+
+      /*
+       Urg: empiric cs
+            Small slurs are easily too asymmetric,
+            while big slurs are too symmetric
+
+            This makes short slurs strictly x-bound,
+            long slurs become y-bound.
+       */
+      Real ypct = 0.50;
+      //Real xpct = (0.07 * len * len / 1000.0) <? 0.80;
+      Real xpct = (0.1 * len * len * len / 100000.0) <? 0.80;
+
+      Real yu = (abs (curve_.control_[1][Y_AXIS] / da[0][Y_AXIS])
+                <? abs (curve_.control_[2][Y_AXIS] / da[1][Y_AXIS]))
+       * ypct;
+      Real xu = (abs (curve_.control_[1][X_AXIS] / da[0][X_AXIS])
+                <? abs ((curve_.control_[3][X_AXIS]
+                            - curve_.control_[2][X_AXIS]) / da[1][X_AXIS]))
+       * xpct;
+      Real u = yu <? xu;
+      DEBUG_OUT << to_str ("u (xu, yu): %f (%f, %f)\n", u, xu, yu);
+      DEBUG_OUT << to_str ("pct (x, y): (%f, %f)\n", xpct, ypct);
+
+      DEBUG_OUT << to_str ("da1: (%f, %f)\n", da[0][X_AXIS], da[0][Y_AXIS]);
+      DEBUG_OUT << to_str ("da2: (%f, %f)\n", da[1][X_AXIS], da[1][Y_AXIS]);
+
+      curve_.control_[1] -= da[0] * u;
+      curve_.control_[2] -= da[1] * u;
+    }
   
-  for (int i=1; i < 3; i++)
+
+  if (fit_factor () > 1.5)
+    blow_fit ();
+
+  DEBUG_OUT << to_str ("Exarea: %f\n", calc_enclosed_area_f ());
+  Real area = calc_enclosed_area_f ();
+  /*
+    Slurs that fit beautifully are not ugly
+   */
+  if (area > beautiful)
     {
-      da[i-1] *= da[i-1].length () ? 1.0 / da[i-1].length () : 1.0;
-      curve_.control_[i] -= da[i-1] * curve_.control_[i].length ();
+      DEBUG_OUT << "DE-UGLYFY\n";
+      de_uglyfy ();
     }
+
 }
 
 void
@@ -134,7 +259,7 @@ Bezier_bow::calculate ()
   if (fit_factor () > 1.0)
     {
       //    calc_tangent_controls ();
-      blow_fit ();
+      // blow_fit ();
       minimise_enclosed_area ();
     }
 }
@@ -256,7 +381,8 @@ Bezier_bow::calc_tangent_controls ()
 }
 
 /*
-  The maximum amount that the encompass points stick out above the bezier curve.
+  max ( encompass.y / curve.y )
+  
  */
 Real
 Bezier_bow::fit_factor () const
@@ -264,7 +390,7 @@ Bezier_bow::fit_factor () const
   Real x1 = encompass_[0][X_AXIS];
   Real x2 = encompass_.top ()[X_AXIS];
 
-  Real factor = 1.0;
+  Real factor = 0.0;
   for (int i=1; i < encompass_.size ()-1; i++)
     {
       if (encompass_[i][X_AXIS] > x1 && encompass_[i][X_AXIS] < x2)
@@ -342,3 +468,4 @@ Bezier_bow::calc_default ()
 
 
 
+
index b8d1744fb4cc298209d84038f2f97b34ba127537..481d30bca713b4c7335cf3542176dfec5a55b89a 100644 (file)
@@ -83,14 +83,14 @@ Crescendo * me = (Crescendo*)this;
   m->dim_.x () = Interval (0, width);
   m->dim_.y () = Interval (-2*height, 2*height);
 
-  Atom *a = new Atom(gh_list (ly_symbol2scm (hairpin),
+  SCM at = gh_list (ly_symbol2scm (hairpin),
                     gh_double2scm (thick),
                     gh_double2scm (width),
                     gh_double2scm (height),
                     gh_double2scm (continued ? height/2 : 0.0),
-                    SCM_UNDEFINED));
+                    SCM_UNDEFINED);
 
-  m->add_atom (a->self_scm_);
+  m->add_atom (at);
   m->translate_axis (extra_left, X_AXIS);
   return m;
 }
index 005499624b6a1b3f0d743dec272a63ec5bc48526..69ff282b0a929ec1f3bb13a89795bc16e600e8c8 100644 (file)
@@ -90,16 +90,16 @@ Dimension_cache::get_offset () const
 Dimension_cache *
 Dimension_cache::common_refpoint (Dimension_cache const* s) const
 {
-  Link_array<Dimension_cache> my_groups;
-  for (Dimension_cache const *c = this; c ; c = c->parent_l_)
-    my_groups.push ((Dimension_cache*)c);
-  
-  Dimension_cache const *common=0;
-  
-  for (Dimension_cache const * d = s; !common && d; d = d->parent_l_)
-    common = (Dimension_cache const*)my_groups.find_l (d);
-
-  return (Dimension_cache*) common;
+  /*
+    I don't like the quadratic aspect of this code. Maybe this should
+    be rewritten some time, but the largest chain of parents might be
+    10 high or so, so it shouldn't be a real issue. */
+  for (Dimension_cache const *c = this; c; c = c->parent_l_)
+    for (Dimension_cache const * d = s; d; d = d->parent_l_)
+      if (d == c)
+       return (Dimension_cache*)d;
+
+  return 0;
 }
 
 Interval
index 877cdd999ec19dd6bef3e5e90af5d63282a36e76..10b6fcb3645fdf377940927f0ea04fadae5b1601 100644 (file)
@@ -9,35 +9,12 @@
 #ifndef ATOM_HH
 #define ATOM_HH
 
-#include "protected-scm.hh"
-#include "string.hh"
-#include "box.hh"
 #include "lily-proto.hh"
+#include "box.hh"
 #include "lily-guile.hh"
-#include "smobs.hh"
-
-/**
-   Atoms should only be created on the heap, ie. with
-   "new Atom"
- */
-class Atom {
-  Offset off_;
-
-  friend class Molecule;
-  friend class Paper_outputter;
-public:
-  Atom (SCM s);
-  Atom (Atom const&);
-  
-  DECLARE_SMOBS;
-
-  /*
-    SCM expression that (when evaluated) gives a TeX string
-representing a musical notation symbol.  */
-  SCM func_;
-  void fontify (Font_metric*);
-};
 
-Atom* unsmob_atom (SCM);
+SCM translate_atom (Offset, SCM);
+SCM translate_atom_axis (Real, Axis,SCM); 
+SCM fontify_atom (Font_metric*, SCM atom);
 
 #endif
index 2997fa52e356f32708f7c022bc8bbebbb4785667..d442124a5c1d0f34efbdbb25bf3a42858c31d289 100644 (file)
@@ -23,11 +23,13 @@ class Bezier_bow
   Array<Offset> encompass_;
   
   void blow_fit ();
+  void de_uglyfy ();
   void calc_default ();
   void to_canonic_form ();
   void calc_tangent_controls ();
   Real calc_enclosed_area_f () const;
   void minimise_enclosed_area ();
+  Array<Offset> area_gradient_offset_arr ();
 
   Real fit_factor () const;
 
index e8ac64c183e68affdce2a1ff78c8663edb594e3b..c4b3dfbad3d6ca56efe42be084b1de3def0a7e2b 100644 (file)
 class Item : public virtual Score_element {
   void do_break ();
   void try_visibility_lambda ();
+public:
+  /*
+    ugh.
+   */
   Drul_array<Item*> broken_to_drul_;
 
 
index 28cf68fa91959506904208e434b227e91f74fb07..8d808ac4039208a140aee1bc946175836c90181f 100644 (file)
@@ -21,7 +21,7 @@ SCM ly_symbol2scm (char const *);
 String ly_symbol2string (SCM);
 
 SCM ly_offset2scm (Offset o);
-
+Offset ly_scm2offset (SCM s);
 SCM ly_eval (SCM a);
 SCM ly_parse_scm (char const* s, int* n);
 SCM ly_quote_scm (SCM s);
index 52a930409ce82894e7d887e5fbf78b6721bb66eb..af8c468994ea0e53f9a7d2cdfe3d5ac72de960bd 100644 (file)
@@ -18,7 +18,6 @@ struct Adobe_font_metric;
 struct Align_element;
 struct All_font_metrics;
 struct Articulation_req;
-struct Atom;
 struct Audio_column;
 struct Audio_element;
 struct Audio_element_info;
index df5f2532541488171fba727d56be88e214155320..54696d104082ba638af328620e82c01c58a55e69 100644 (file)
@@ -9,7 +9,8 @@
 
 #ifndef TRANSLATOR_HH
 #define TRANSLATOR_HH
- #include <typeinfo>
+
+#include <typeinfo>
 #include "global-ctor.hh"
 #include "string.hh"
 #include "lily-proto.hh"
index de429e895409b8797f4873a859e0025851e00a8e..e20141319792a79f8b16e235319141cf5b9ca7c4 100644 (file)
@@ -25,7 +25,8 @@ public:
   void add_column (Note_column*);
   void add_beam (Beam*);
 protected:
-  void calc_position_and_height (Real*,Real*)const;
+  void calc_dy (Real *) const;
+  void calc_position_and_height (Real*,Real *dy)const;
   
   virtual Molecule* do_brew_molecule_p () const;
   VIRTUAL_COPY_CONS(Score_element);
index 036bd19039bfe4614ba41f1a2f6291c56d9802f8..0ed09ec2de6e83fd1b810e93a9c7e2ecddb6b2cd 100644 (file)
@@ -91,9 +91,6 @@ ly_parse_scm (char const* s, int* n)
   return answer;
 }
 
-/*
-  scm_m_quote doesn't use any env, but needs one for a good signature in GUILE.
-*/
 SCM
 ly_quote_scm (SCM s)
 {
@@ -335,3 +332,10 @@ ly_offset2scm (Offset o)
 {
   return gh_cons (gh_double2scm (o[X_AXIS]), gh_double2scm(o[Y_AXIS]));
 }
+
+Offset
+ly_scm2offset (SCM s)
+{
+  return Offset (gh_scm2double (gh_car (s)),
+                gh_scm2double (gh_cdr (s)));
+}
index f074bab26a7c55b2b858ea5079339f83016898f9..28a50a073eeb96b44316f1950668ac6cc15eb218 100644 (file)
@@ -66,13 +66,13 @@ Lookup::afm_find (String s, bool warn) const
       return m;
     }
   
-  Atom* at = new Atom (gh_list (ly_symbol2scm ("char"),
+  SCM at =  (gh_list (ly_symbol2scm ("char"),
                    gh_int2scm (cm->code),
                    SCM_UNDEFINED));
 
-  at->fontify (afm_l_);
+  at= fontify_atom (afm_l_,at);
   m.dim_ = afm_bbox_to_box (cm->charBBox);
-  m.add_atom (at->self_scm_);
+  m.add_atom (at);
   return m;
 }
 
@@ -182,14 +182,13 @@ Lookup::beam (Real slope, Real width, Real thick)
   m.dim_[Y_AXIS] = Interval (min_y, max_y);
 
   
-  Atom *at = new Atom
-    (gh_list (ly_symbol2scm ("beam"),
+  SCM at = (gh_list (ly_symbol2scm ("beam"),
              gh_double2scm (width),
              gh_double2scm (slope),
              gh_double2scm (thick),
              SCM_UNDEFINED));
 
-  m.add_atom (at->self_scm_);
+  m.add_atom (at);
   return m;
 }
 
@@ -204,13 +203,13 @@ Lookup::dashed_slur (Bezier b, Real thick, Real dash)
       l = gh_cons (ly_offset2scm (b.control_[i]), l);
     }
 
-  Atom *at = new Atom(gh_list (ly_symbol2scm ("dashed-slur"),
+  SCM at = (gh_list (ly_symbol2scm ("dashed-slur"),
                               gh_double2scm (thick), 
                               gh_double2scm (dash),
                               ly_quote_scm (l),
                               SCM_UNDEFINED));
   Molecule m;
-  m.add_atom (at->self_scm_);
+  m.add_atom (at);
   return m;
 }
 
@@ -231,7 +230,7 @@ Lookup::filledbox (Box b )
 {
   Molecule m;
   
-  Atom* at  = new Atom(gh_list (ly_symbol2scm ("filledbox"),
+  SCM  at  = (gh_list (ly_symbol2scm ("filledbox"),
                     gh_double2scm (-b[X_AXIS][LEFT]),
                     gh_double2scm (b[X_AXIS][RIGHT]),                 
                     gh_double2scm (-b[Y_AXIS][DOWN]),
@@ -239,7 +238,7 @@ Lookup::filledbox (Box b )
                     SCM_UNDEFINED));
 
   m.dim_ = b;
-  m.add_atom (at->self_scm_);
+  m.add_atom (at);
   return m;
 }
 
@@ -364,12 +363,12 @@ Lookup::text (String style, String text, Paper_def *paper_l)
     
   m.dim_ = metric_l->text_dimension (text);
   
-  Atom *at = new Atom (gh_list (ly_symbol2scm ("text"),
+  SCM at = (gh_list (ly_symbol2scm ("text"),
                     ly_str02scm (text.ch_C()),
                     SCM_UNDEFINED));
-  at->fontify (metric_l);
+  at = fontify_atom (metric_l,at);
   
-  m.add_atom (at->self_scm_);
+  m.add_atom (at);
   return m;
 }
   
@@ -393,13 +392,13 @@ Lookup::staff_brace (Real y, int staff_size)
     nm = ly_scm2string (gh_cdr (l));
   nm += to_str (staff_size);
   SCM e =gh_list (ly_symbol2scm ("char"), gh_int2scm (idx), SCM_UNDEFINED);
-  Atom *at = new Atom (e);
+  SCM at = (e);
 
-  at->fontify (all_fonts_global_p->find_font (nm));
+  at = fontify_atom (all_fonts_global_p->find_font (nm), at);
   
   m.dim_[Y_AXIS] = Interval (-y/2,y/2);
   m.dim_[X_AXIS] = Interval (0,0);
-  m.add_atom (at->self_scm_);
+  m.add_atom (at);
   return m;
 }
  
@@ -434,7 +433,7 @@ Lookup::slur (Bezier curve, Real curvethick, Real linethick)
     }
   
   
-  Atom *at = new Atom (gh_list (ly_symbol2scm ("bezier-sandwich"),
+  SCM at = (gh_list (ly_symbol2scm ("bezier-sandwich"),
                     ly_quote_scm (list),
                     gh_double2scm (linethick),
                     SCM_UNDEFINED));
@@ -442,7 +441,7 @@ Lookup::slur (Bezier curve, Real curvethick, Real linethick)
   Molecule m; 
   m.dim_[X_AXIS] = curve.extent (X_AXIS);
   m.dim_[Y_AXIS] = curve.extent (Y_AXIS);
-  m.add_atom (at->self_scm_);
+  m.add_atom (at);
   return m;
 }
 
@@ -450,7 +449,7 @@ Molecule
 Lookup::staff_bracket (Real height, Paper_def* paper_l)
 {
   Molecule m;
-  Atom *at = new Atom  ( gh_list (ly_symbol2scm ("bracket"),
+  SCM at = ( gh_list (ly_symbol2scm ("bracket"),
                      gh_double2scm (paper_l->get_var("bracket_arch_angle")),
                      gh_double2scm (paper_l->get_var("bracket_arch_width")),
                      gh_double2scm (paper_l->get_var("bracket_arch_height")),
@@ -460,7 +459,7 @@ Lookup::staff_bracket (Real height, Paper_def* paper_l)
                      gh_double2scm (paper_l->get_var("bracket_thick")),
                      SCM_UNDEFINED));
   
-  m.add_atom (at->self_scm_);                           
+  m.add_atom (at);                              
   m.dim_[Y_AXIS] = Interval (-height/2,height/2);
   m.dim_[X_AXIS] = Interval (0,4 PT);
 
index 45fa78b7ec5a5a019fd9a87d263e799beaf12ecc..f447d542d6e44738d8e117eebf5bca1addc56668 100644 (file)
@@ -5,6 +5,11 @@
 
   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
+
+/*
+  ugh. Rewrite not finished yet. Still must copy atom lists.
+ */
+
 #include <math.h>
 
 #include "interval.hh"
@@ -38,7 +43,7 @@ Molecule::translate (Offset o)
     
   for (SCM ptr = gh_cdr (atom_list_);  ptr != SCM_EOL; ptr = gh_cdr(ptr))
     {
-      unsmob_atom (gh_car (ptr))->off_ += o;
+      gh_set_car_x (ptr, translate_atom (o, gh_car (ptr)));
     }
   if (!empty_b ())
     dim_.translate (o);
@@ -54,7 +59,7 @@ Molecule::translate_axis (Real x,Axis a)
     }
   for (SCM ptr = gh_cdr (atom_list_);  ptr != SCM_EOL; ptr = gh_cdr(ptr))
     {
-      unsmob_atom (gh_car (ptr))->off_[a] += x;
+      gh_set_car_x (ptr, translate_atom_axis (x, a, gh_car (ptr)));
     }
 
   if (!dim_[a].empty_b ())
@@ -66,8 +71,7 @@ Molecule::add_molecule (Molecule const &m)
 {
   for (SCM ptr = gh_cdr (m.atom_list_);  ptr != SCM_EOL; ptr = gh_cdr(ptr))
     {
-      Atom *a = new Atom (*unsmob_atom (gh_car (ptr)));
-      add_atom (a->self_scm_);
+      add_atom (gh_car (ptr));
     }
   dim_.unite (m.dim_);
 }
@@ -77,8 +81,6 @@ Molecule::add_atom (SCM atomsmob)
 {
   gh_set_cdr_x (atom_list_,
                gh_cons  (atomsmob, gh_cdr (atom_list_)));
-
-  scm_unprotect_object (atomsmob);
 }
 
 void
@@ -87,9 +89,8 @@ Molecule::operator=(Molecule const & src)
   if (&src == this)
     return;
 
-  atom_list_ = gh_cons (SCM_EOL,SCM_EOL);
+  atom_list_ = gh_cons (SCM_EOL,scm_list_copy (gh_cdr (src.atom_list_)));
   dim_= src.dim_;
-  add_molecule (src);
 }
 
 void
@@ -118,9 +119,8 @@ Molecule::print () const
 
 Molecule::Molecule (Molecule const &s)
 {
-  atom_list_ = gh_cons (SCM_EOL, SCM_EOL);
-  set_empty (true);
-  add_molecule (s);
+  atom_list_ = gh_cons (SCM_EOL, scm_list_copy (gh_cdr (s.atom_list_)));
+  dim_ = s.dim_;
 }
 
 Molecule::~Molecule ()
index c8dbed177dcba4a0d42a4697f83ed2e736c981b6..f3863b13bd202634c9f5909d0aa7ea4d7070f904 100644 (file)
@@ -79,17 +79,30 @@ Paper_outputter::output_molecule (Molecule const*m, Offset o, char const *nm)
     {
       output_comment (nm);
     }
-      
+
+  SCM offset_sym = ly_symbol2scm ("translate-atom"); 
   for (SCM ptr = gh_cdr (m->atom_list_); ptr != SCM_EOL; ptr = gh_cdr (ptr))
     {
-      Atom * i = unsmob_atom (gh_car (ptr));
+      SCM func =  gh_car (ptr);
+      SCM funcptr = func;
 
-      Offset a_off = i->off_;
+      Offset a_off (0,0);
+      while (gh_pair_p (funcptr))
+       {
+         if (gh_car (funcptr) == offset_sym)
+           {
+             SCM quot = gh_cadr (funcptr);
+             a_off += ly_scm2offset (gh_cadr (quot));
+           }
+         funcptr = scm_last_pair (funcptr);
+         if (funcptr != SCM_EOL )
+           {
+             funcptr = gh_car (funcptr);
+           }
+       }
+      
       a_off += o;
-
-      if (!i->func_)
-       continue; 
-
+      
       Axis a = X_AXIS;
       while (a < NO_AXES)
        {
@@ -107,7 +120,7 @@ Paper_outputter::output_molecule (Molecule const*m, Offset o, char const *nm)
        = gh_list (ly_symbol2scm ("placebox"),
                   gh_double2scm (a_off[X_AXIS]),
                   gh_double2scm (a_off[Y_AXIS]),
-                  SCM(i->func_),
+                  func,
                   SCM_UNDEFINED);
 
       output_scheme (box_scm);
@@ -133,21 +146,6 @@ Paper_outputter::output_scheme (SCM scm)
 }
 
 
-int
-count_cells (SCM s)
-{
-  if (Atom * a = unsmob_atom (s))
-    {
-      return 2 + count_cells (a->func_);
-    }
-  else if (gh_pair_p (s))
-    {
-      return 2 + count_cells (gh_car (s))+ count_cells (gh_cdr (s));
-    }
-  else
-    return 1;
-}
-
 void
 Paper_outputter::dump_onto (Paper_stream *ps)
 {
index bb8cd0d4742f1823e8dc9501e9f86048127d9553..6bd6e33e0507530b68c9ffeed23e343ef72bb4ec 100644 (file)
@@ -110,7 +110,6 @@ Paper_score::calc_breaking ()
 void
 Paper_score::process ()
 {
-
   print ();
   progress_indication (_ ("Preprocessing elements...") + " ");
   line_l_->breakable_col_processing ();
index 39d1d26c700d4914b4cacf52da07f9e9f630505e..63a89e500f630105df6ed02fc2c793eb3348399c 100644 (file)
@@ -434,7 +434,6 @@ Score_element::handle_broken_dependencies()
   if (original_l_ && s)
     return;
 
-
   if (s)
     {
       for (int i = 0;  i< s->broken_into_l_arr_ .size (); i++)
index 57a01433b34d18285a87529d7740bfda176b38a4..bc64fd20c4f35e8ad537c038ade4da51908c2f10 100644 (file)
@@ -623,3 +623,4 @@ Slur::get_curve () const
   return curve;
 }
 
+       
index a91d2170c450b7d6b449b29fd7e8b1b78e82d883..547163f457979d3e93ecf56b06ff21602514edcd 100644 (file)
@@ -101,7 +101,8 @@ Staff_performer::new_instrument_str ()
   if (!gh_string_p(minstr))
     minstr = get_property (ly_symbol2scm ("instrument"), 0);
 
-  if (ly_scm2string (minstr) == instrument_str_)
+  if (!gh_string_p (minstr)
+      || ly_scm2string (minstr) == instrument_str_)
     return "";
 
   instrument_str_ = ly_scm2string (minstr);
index 989861002c8890150dc0f7ebbcaf550245691736..b96a815dfa3b6a4df8b40d7dcc5f3564d0847976 100644 (file)
@@ -241,7 +241,7 @@ Tie::get_curve () const
       Real y0 = c.control_ [0][Y_AXIS];
       c.control_[2][Y_AXIS] = 
       c.control_[1][Y_AXIS] =
-       (c.control_[1][Y_AXIS] - y0)  * (newy / y) + y0; 
+       (c.control_[1][Y_AXIS] - y0)  * ((newy - y0) / (y - y0)) + y0; 
     }
   else
     programming_error ("Tie is nowhere horizontal");
index f80b2c49de598672e9b21968e9fc269d0c48bde8..743f843cb29224c93f4dc04a353c9a49a47c4e50 100644 (file)
@@ -260,7 +260,6 @@ Translator_group::ancestor_l (int level)
 void
 Translator_group::terminate_translator (Translator*r_l)
 {
-  DEBUG_OUT << "Removing " << classname (r_l) << " at " << now_mom () << '\n';
   r_l->removal_processing();
   Translator * trans_p =remove_translator_p (r_l);
 
index 2a1098181386c10bccb1fbfa43f86a8255378602..766b636fe0d18317df743708365c44173ff33d53 100644 (file)
@@ -90,16 +90,16 @@ Tuplet_spanner::do_brew_molecule_p () const
        {
          Real gap = paper_l () -> get_var ("tuplet_spanner_gap");
          Real height = staff_space;
-         Atom *at = new Atom (gh_list(ly_symbol2scm ("tuplet"),
+         SCM at =gh_list(ly_symbol2scm ("tuplet"),
                                       gh_double2scm (height),
                                       gh_double2scm (gap),
                                       gh_double2scm (w),
                                       gh_double2scm (dy),
                                       gh_double2scm (thick),
                                       gh_int2scm (dir),
-                                      SCM_UNDEFINED));
+                                      SCM_UNDEFINED);
 
-         mol_p->add_atom (at->self_scm_);
+         mol_p->add_atom (at);
        }
 
       mol_p->translate_axis (dir * staff_space, Y_AXIS);
@@ -120,6 +120,8 @@ Tuplet_spanner::do_add_processing ()
     }
 }
 
+
+
 /*
   use first -> last note for slope, and then correct for disturbing
   notes in between.  */
@@ -131,8 +133,26 @@ Tuplet_spanner::calc_position_and_height (Real *offset, Real * dy) const
 
  
   Direction d = directional_element (this).get ();
-  *dy = column_arr.top ()->extent (Y_AXIS) [d]
-    - column_arr[0]->extent (Y_AXIS) [d];
+
+  /*
+    Use outer non-rest columns to determine slope
+   */
+  int l = 0;
+  while (l <column_arr.size() && column_arr[l]->rest_b())
+    l ++;
+
+  int r = column_arr.size ()- 1;
+  while (r >= l && column_arr[r]->rest_b())
+    r--;
+  
+  if (l < r)
+    {
+      *dy = column_arr[r]->extent (Y_AXIS) [d]
+       - column_arr[l]->extent (Y_AXIS) [d];
+    }
+  else
+    * dy = 0;
+
 
   *offset = - d * infinity_f;
   
@@ -152,6 +172,21 @@ Tuplet_spanner::calc_position_and_height (Real *offset, Real * dy) const
     }
 }
 
+/*
+  use first -> last note for slope,
+*/
+void
+Tuplet_spanner::calc_dy (Real * dy) const
+{
+  Link_array<Note_column> column_arr=
+    Group_interface__extract_elements (this, (Note_column*)0, "columns");
+
+  Direction d = directional_element (this).get ();
+  *dy = column_arr.top ()->extent (Y_AXIS) [d]
+    - column_arr[0]->extent (Y_AXIS) [d];
+}
+
 void
 Tuplet_spanner::do_post_processing ()
 {
@@ -174,7 +209,9 @@ Tuplet_spanner::do_post_processing ()
     }
   Real dy, offset;
 
-  calc_position_and_height (&offset, &dy);
+calc_position_and_height  (&offset,&dy);
+  // calc_position (&offset, dy);
+  
   set_elt_property ("delta-y", gh_double2scm (dy));
 
   translate_axis (offset, Y_AXIS);
index 72ace70c4f1f1c30399b55cd848b790ef5de5be1..fba5da483193ee74d88c127e5311fcd35754373b 100644 (file)
@@ -70,7 +70,7 @@ Volta_spanner::do_brew_molecule_p () const
 
   Molecule volta; 
 
-  Atom *at = new Atom(gh_list (ly_symbol2scm ("volta"),
+  SCM at = (gh_list (ly_symbol2scm ("volta"),
                     gh_double2scm (h),
                     gh_double2scm (w),
                     gh_double2scm (t),
@@ -80,7 +80,7 @@ Volta_spanner::do_brew_molecule_p () const
 
   volta.dim_[Y_AXIS] = Interval (- h/2, h/2);
   volta.dim_[X_AXIS] = Interval (0, w);
-  volta.add_atom (at->self_scm_);
+  volta.add_atom (at);
   
   Molecule num (lookup_l ()->text ("volta",
                                   ly_scm2string (get_elt_property("text")),
index 35b8afd3be33d83ec672ba1ad70543dfd6b741a3..8fd98809577ecb3999512695b462c4abaf01232a 100644 (file)
@@ -3,8 +3,8 @@
 all: $(OUT_FILES)
 
 local-WWW: $(ly_examples) $(fly_examples) $(ps_examples) $(png_examples)
-       (cd $(outdir); $(PYTHON) ../$(buildscripts)/mutopia-index.py --prefix=../ --suffix=/$(outdir) $(html_subdirs) $(all_examples))
-       echo $^ > $(depth)/wwwlist
+#      (cd $(outdir); $(PYTHON) ../$(buildscripts)/mutopia-index.py --prefix=../ --suffix=/$(outdir) $(html_subdirs) $(all_examples))
+#      echo $^ > $(depth)/wwwlist
 #      $(footify) $(outdir)/index.html
 
 local-web:
index 568d4527b90f49de4a46651ad78808ca86442660..682abaf587c24698ddf70cd97f062c9f17e82cb6 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: LilyPond
-Version: 1.3.27
-Entered-date: 24FEB00
+Version: 1.3.28
+Entered-date: 01MAR00
 Description: 
 Keywords: music notation typesetting midi fonts engraving
 Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       1000k lilypond-1.3.27.tar.gz 
+       1000k lilypond-1.3.28.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       1000k lilypond-1.3.27.tar.gz 
+       1000k lilypond-1.3.28.tar.gz 
 Copying-policy: GPL
 End
index 06fa453754e28c3febf3a4406b03fb349a6feebf..c51ae7c22eb4a77d0fa188103ff22930f46ed118 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 1.3.27
+Version: 1.3.28
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.27.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.28.tar.gz
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 # get Packager from (undocumented?) ~/.rpmmacros!
index f23ac55661de52ff97d0c692fa57a73c6c51d5ac..ed42272d1a0eea64bc30728c5b325975ed30f5ab 100644 (file)
@@ -36,6 +36,10 @@ examples:
        $(MAKE) CONFIGSUFFIX='www' -C input WWW
        $(MAKE) CONFIGSUFFIX='www' -C mutopia WWW
        $(footify-all-command)
+       $(PYTHON) $(buildscripts)/mutopia-index.py -o short-examples.html input/
+       $(PYTHON) $(buildscripts)/mutopia-index.py -o long-examples.html mutopia/
+
+
        tar --exclude='*.dvi' --exclude='*.tex' --exclude='*.ps' --exclude='*.ppm' -czf $(outdir)/examples.tar.gz  `find input mutopia -type d -name 'out-www' -print`
 
 localinstall:
index a1129ad5ad55cf90162876fe7d07e2a0001e32c4..3484e938c41d16d60d8b26e884b9623895561d11 100644 (file)
@@ -2,7 +2,7 @@
 
 depth = ..
 
-SUBDIRS = J.S.Bach Coriolan W.A.Mozart F.Schubert D.Zipoli Hymns L.Mozart E.Satie N.W.Gade
+SUBDIRS = J.S.Bach Coriolan F.Schubert D.Zipoli Hymns L.Mozart E.Satie N.W.Gade
 
 examples= 
 LOCALSTEPMAKE_TEMPLATES=mutopia
diff --git a/mutopia/W.A.Mozart/GNUmakefile b/mutopia/W.A.Mozart/GNUmakefile
deleted file mode 100644 (file)
index bc10564..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-# mutopia/W.A.Mozart
-
-depth = ../..
-
-examples=# cadenza
-SUBDIRS=horn-concerto-3
-LOCALSTEPMAKE_TEMPLATES=mutopia
-
-include $(depth)/make/stepmake.make
-
-
diff --git a/mutopia/W.A.Mozart/horn-concerto-3/GNUmakefile b/mutopia/W.A.Mozart/horn-concerto-3/GNUmakefile
deleted file mode 100644 (file)
index 13fb5e5..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-depth = ../../..
-
-examples=
-SUBDIRS=
-LOCALSTEPMAKE_TEMPLATES=mutopia
-
-include $(depth)/make/stepmake.make
-
-
diff --git a/mutopia/W.A.Mozart/horn-concerto-3/allegro.ly b/mutopia/W.A.Mozart/horn-concerto-3/allegro.ly
deleted file mode 100644 (file)
index 2352cb5..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-
-
-allegro =
-       \notes
-       \relative c'
-{
-       \time 4/4;
-       r4 |
-       R1*4
-       c'2^"tutti" g
-       c, r
-       R1*1
-       r8 [g' g g] [g g e c]
-       g'4 g, r2
-       R1*18
-       r2 r4 g'4 |
-       e'4. () c8 [f (d c )b ]
-       [b()c] g4 r8 [g-. c-. e-.]
-       g2. ( [g16-.( f e ))f]
-       dis4 () e4-- r8 [c8-. c-. c-.]
-       c4.( [d16 )e]  f4 () e
-       a,() d g,() c
-       d-. d-. \grace e16( [)d8. c16 d8. e16]
-       c4 r r2
-       R1*3
-       c,2 ~ [c8 e( g )c]
-       [c () b ] b4-. r2
-       [c,8 () e g c] [e()g e c]
-       [c()b] b4-- r2
-       c4.() g8 e'4.() c8
-       [g'()d ] d4-- r4 d
-       [d8 () c] c4.( [d16 e] [d8 )c]
-       [c8(-\trill )b] b4 r2 |
-       d2( ~  [d8 e16 d] [c8 )b] |
-       [b()a-.] a4-> r8 [a-. a-. a-.]
-       a4 cis e g
-       \grace { \longgrace g16( }
-       [ fis8 e16 )d] d4-. r2 | 
-       \mark "B";
-       R1*3
-       r2 r4 [d8 (b ]
-       [a )g d'( b] [a )g e'( c ]
-       [b8 )a] a4 r4 [a8-. a-.]
-       [a( \< b c \!cis\< ]  d4 \! )c
-       [ais8() b] r8 b [b()c] r c
-       [cis ()d] r4 r2
-       g,1 ~ g2 ~ [g8 a16 b] [c()d e c]
-       f4-. d-. b-. g-.
-       r1
-       \emptyText
-       c,2\p e4 g c_\cresc e g4. e8 |
-       d4. [e16 fis] [g () fis e d] [c() b a g]
-       a1(-\trill \grace{ [g16 a] }
-       )g4 r r2
-       R1*15
-       \mark "D";
-       bes2-\mf d4 f
-       g,2~ [g8 g'( es )c]|
-       bes4( )a4. [c8 d es]
-       cis4()d r8 [bes (c )d]
-       es2 () d4 r
-       es2\p () d4 r
-       [c8(\mf g' es )c] bes4()c-.
-       c4.( cis8 )d4 r
-       R1*2
-       es1~es1|
-       e!
-       d
-       c
-       c,
-       e'
-       e,
-       c'2 [b8( a gis )a]
-       [gis8 e gis b ] e4 r |
-       r8 [e, a c] dis4 r
-       r8 [e, a c] dis4 r
-       r8 [e, g b] e4 r
-       r8 [fis, b dis] fis4 r
-       r8 [gis, b d] f4 r
-       r8 [g, b d_"rit."] f4 r
-       \mark  "E";
-       R1*8
-       r2 r8 [g,-. g-. g-.]
-       e'4.() c8 [f( d c )b]
-       [b()c] g4 r8 [g c e] |
-       g2. ( [g16( f e ))f]
-       dis4()e r8 [c-. c-. c-.]
-       c4.( [d16 e] f4 )e
-       a, ( d g, )c
-       d d [
-           \grace { e8( }
-          d8. c16 d8. e16] 
-       c4 r r2
-       \mark "F";
-       R1*3
-       c,2~[c8( e g )c]
-       [c8()b] b4 r2
-       [c,8()e g c ] [e ()g e c]
-       [c()b] b4 r2
-       c2 (bes )a [a8(b c )cis]
-       d2( ~ [d8 e16 d] [\grace { \longgrace d16( } )c8 b16 )c]
-       \grace { \longgrace c16 }[ b8( a16 )g] g4 r2 |
-       R1*3
-       r2 r4 [g'8()e]
-       \mark "G";
-       [d()c g'()e] [d()c a'()f]
-       [e()d] d4 r [d8 d]
-       d4(~ [d16 e d )e] [g8() f e d] |
-       c4 r r2
-       r1
-       c1 ~
-       c |
-       [c8-. c-.] r c-. [cis()d] r d-. |
-       [dis()e] r e-. [e()f] r f-. |
-       g4-. e-. c-. bes-. |
-       g-.\ff e-. c-. r |
-       a'2 ~ [a8_"sempre f" b16 c] [d( e d )e]%TODO
-
-       f4. () d8 [f8 ()d f d]
-       [c (e] )g2 \grace  { \longgrace f16( }  [)e8( d16 )c]
-       \grace { \aftergrace [c16 d] }
-       d1-\trill 
-       c4 r r2
-       r1 |
-       \mark "H";
-       \times 2/3 { [ c8 ()b a ] }     \times 2/3 { [ g a b] } \times 2/3 { [ c d e] } \times 2/3 { [ f()e d] } |
-       \times 2/3 { [ c () b a ] } \times 2/3 { [ g a b] } \times 2/3 { [ c d e] } \times 2/3 { [ f()e d] }|
-       c4 \times 2/3 {  r8 [g'()e]} c4 \times 2/3 {  r8 [e () c]} |
-       g4 \times 2/3 {  r8 [c8() g] } \times 2/3 { [ e ()g e] } \times 2/3 { [c ()e c] }|
-       g4 r8 g'\f [a b c d]|
-       \grace { \aftergrace [c16 d] }
-       d1(-\trill
-       )c4 r r2
-       R1*3
-       \grace{ \aftergrace [c16 d] }
-       c1-\trill_"Cadenza ad lib." ( 
-       )c4 r r2
-       R1*2
-       r4 [c8.^"tutti"-\f c16] c4 c
-       c [c,8. c16] c4 c|
-       c2 r2 \bar "|.";
-       
-}
diff --git a/mutopia/W.A.Mozart/horn-concerto-3/cadenza.ly b/mutopia/W.A.Mozart/horn-concerto-3/cadenza.ly
deleted file mode 100644 (file)
index 414eb16..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-\header{
-  title =       "Konzert Nr. 3 Es dur";
-  subtitle = "Cadenza ad lib.";
-  enteredby =   "HWN";
-  copyright = "public domain";
-  instrument = "Horn in Es";
-
-  mutopiatitle =        "Cadenza for horn concerto no. 3";
-  mutopiacomposer = "Anon.";
-  style = "classical";
-  tagline =    "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Han-Wen Nienhuys.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!";
-  maintainer = "hanwen@cs.uu.nl";
-  lastupdated = "1999/Oct/16";
-  source = "Breitkopf & Haertel + own modifications";
-}
-
-
-
-%{
-
-This is a cadenza to Mozart 3, as given to me by Arthur Verhofstad
-(one of my teachers). The source is unknown
-
-Lots more can be found in Uijlenspiegel 1998 no. 1, in an article by
-Herman Jeurissen.
-
-%}
-
-\version "1.3.4";
-
-
-cad = \notes  \relative c' {
-       \property Score.midiInstrument = "french horn"
-       \context Staff {
-       \emptyText
-       \cadenzaOn
-       
-
-       \clef "violin";
-       c'4.\mf g8
-
-
-       [e'^"accel" () d  c b]
-       [b() c] g-\fermata
-               \bar "empty";
-                       c, ~ [c^\turn_"rubato" e g c]
-       e4. e8 [g () f_"rit" e d]
-
-       dis4() e4
-               \bar "" ;
-               r8 [c16 d] [e f g gis]
-
-       a4-> f,() e g'
-       f-> d,() cis e'
-
-       d4^\fermata
-               \bar "" ;
-
-       r8 a [b cis]
-       \grace { e8( }
-       [d16 cis d e]
-       f4 ~ [f16 e d c]
-       b4-\turn
-       \times 2/3 { [ d8 c8 a8] }
-       g2~
-               \bar "" ;
-       [g16 c, e g] [c e, g c]
-       [e g, c e] g4^\fermata 
-               \bar "" ;
-       [g8.(_"a tempo" e16 g8. )e16]
-       a4. g8 [f8 e8 d8 c8]
-       g2 d'2-\trill
-       \grace { [c32 d] }
-        c4
-       } }
-       
-\score {
-       \notes { \cad }
-%      \midi { \tempo 4 = 90; }
-       \paper {  casting_algorithm = \Wordwrap;}
-
-}
diff --git a/mutopia/W.A.Mozart/horn-concerto-3/horn-concerto-3.ly b/mutopia/W.A.Mozart/horn-concerto-3/horn-concerto-3.ly
deleted file mode 100644 (file)
index a7c04b8..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-\header{
-  title =       "Konzert Nr. 3 Es dur";
-  subtitle = "f\\\"ur Horn und Orchester";
-  composer =    "Wolfgang Amadeus Mozart (1756-1792)";
-  enteredby =   "HWN";
-  opus = "K.V. 447";
-
-  copyright = "public domain";
-  instrument = "Horn in Es";
-  
-  mutopiatitle =        "Horn Concerto 3";
-  mutopiacomposer = "W.A.Mozart";
-  mutopiaopus = "KV447";
-  style = "classical";
-  tagline =    "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Han-Wen Nienhuys.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!";
-  maintainer = "hanwen@cs.uu.nl";
-  lastupdated = "1999/Oct/16";
-  source = "Breitkopf & Haertel + own modifications";
-}
-
-%%%%%%% This is the main file.
-
-%{
-
-This is the Mozart 3 for horn.  It's from an old and fumbled part I
-have with lots of unidentified staccato dots, marcato's and dynamic
-markings; I left off most of them.
-
-Some of the marks are mine. Some of them are my teachers'.  Some of
-them are my teachers' teachers.  Some of them are B&H's. Some of them
-are Mozart's.
-
---hwn
-
-%}
-
-longgrace = \property Grace.stemStyle = ""
-aftergrace = \property Grace.graceAlignPosition = \right
-
-
-\version "1.3.4";
-
-\include "allegro.ly"
-\include "romanze.ly"
-\include "rondo.ly"
-
-\paper{
- \translator { \StaffContext \consists Mark_engraver;  }
- \translator { \ScoreContext
-       skipBars = ##t
-  }
-  linewidth = 180. \mm;
-}
-
-\score
-{
-       < \allegro
-         \property Score.midiInstrument = "french horn"
-       >
-       \paper{ }
-       \header { piece = "allegro"; opus = ""; }       
-       \midi{ \tempo 4=90; }
-}
-
-\score
-{
-       < \romanze
-         \property Score.midiInstrument = "french horn"
-       >
-       \header { piece = "romanze"; opus = ""; }       
-       \midi{ \tempo 4 = 70;  }
-       \paper{}
-}
-\score
-{
-       < \rondo
-         \property Score.midiInstrument = "french horn"
-       >
-       \header { piece = "rondo"; opus = ""; }
-       \paper{
-               \translator { \BarNumberingStaffContext }
-       }
-       \midi{ \tempo 4 = 100; }
-}
diff --git a/mutopia/W.A.Mozart/horn-concerto-3/romanze.ly b/mutopia/W.A.Mozart/horn-concerto-3/romanze.ly
deleted file mode 100644 (file)
index 34906bd..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-romanze = \notes \relative c' {
-       \key F;
-       \time 2/2;
-       \emptyText
-       c'4.( _\textscript "p. con molto espressione" "italic"  )
-               f8 a,4 a
-       [bes8( c d bes] )g4 r8 g
-       a r bes r c r [d()bes]
-       a2( [)g8 a( bes )b]
-       c4. () f8 a,4 a |
-       [bes8 (c d) bes] g4 r8 c,-.
-       [c8( e g )bes] [a( c f ) d]
-       c r e r f r r4
-       \mark "A";
-       R1*8
-       g4. ()f8  [e( d c) bes]
-       [bes( a d )c] c4 r
-       R1*2
-       g'4.() f8 [e( d c) bes]
-       [bes (a d ) c] c4 r
-       r1
-       [c16\mf () d c-. d-.] [e () f e-. f-.] [g()e c-. c-.] [f()d b-. b-.]
-       [c16\p () d c-. d-.] [e () f e-. f-.] [g()e c-. c-.] [f()d b-. b-.]
-       [c8 \< c, c c] [c c c \! c]     %B&H use tremolo.
-       \mark "B";
-       c1\f
-       R1*9
-       f'4.(\p )d8 b4 r8 g
-       g'4.() e8 c4 r8 cis |
-       d4(~ [d16 e d )e] [f8 () d f() d]
-       c2()b4 r
-       R1*4
-       e4. ()g8 c,4 ()cis
-       [d8( e f )d] b4 r8 g
-       [c ()e g g] [g( f e )d]
-       c4(
-       \grace { e16 }
-       [d8. )c16] [c8 c--( c-- )c--]
-       \mark "C";
-       des1\sfp
-       g,1\sfp 
-       c\sfp   
-       c,\sfp  
-       R1*3
-       r8 [c-\p c c] c2~
-       [c8 c' c c] c2~
-       [c8 \< e( g f] [e \!d \> c bes]
-       \mark "D";
-       \! )a4 r r2
-       R1*3
-       c4.-\p () f8 a,4 a |
-       [bes8 (c d) bes] g4 r8 c,-.
-       [c8( e g )bes] [a( c f ) d]
-       c-. r e-. r f4 r4
-       R1*3
-       r2 r4 r8 c,8
-       [c8( e g )bes] [a( c f ) d]
-       c-. r e-. r f4 r4       
-       g,1\pp
-       c,2~c4. c8
-       [c8( e g )bes] [a( c f ) d]
-       c r e r f4 r4                   % -. ? 
-
-       r1
-       c8-. r e-. r f4 r4
-
-       % Finish with F if played separately 
-       c8-. (  r c,-. r ) c4 r4| 
-       \bar "|.";
-}
-
diff --git a/mutopia/W.A.Mozart/horn-concerto-3/rondo.ly b/mutopia/W.A.Mozart/horn-concerto-3/rondo.ly
deleted file mode 100644 (file)
index b8b72b7..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-
-rondotheme = \notes \relative c' {
-       [c'8 c c] [c c c]
-       c4( cis8 )d r g,
-       [d'8 d d] [d d d]
-       d4( dis8 )e r c |
-       [c()d e] [f g a]
-       [g ()e c] c4 d8
-       e4()d8 e4()f8
-       e4.()d8 r r |
-}
-
-lipbreaker = \notes \relative c'
-{
-       r8 [g'-. g-.] [c()e g,-.]
-       [c()e g,-.] [c()e g,-.]
-       [c c, c] [c c c]
-       [c c c] [c c c]
-}
-
-rightsixteenth = { \property Voice.stemLeftBeamCount = 1
-  \property Voice.stemRightBeamCount = 2 }
-leftsixteenth = { \property Voice.stemLeftBeamCount = 2
-  \property Voice.stemRightBeamCount = 1 }
-bothsixteenth = { \property Voice.stemLeftBeamCount = 2
-  \property Voice.stemRightBeamCount = 2 }
-
-rondo = \notes         \relative c'
-{
-       \partial 8;
-       g'8-\p |
-       \time 6/8;
-       
-       \rondotheme
-       
-       R2.*13 |
-       r8 r-\fermata d [d e f]
-       [g ()e c-.] [d()e d-.]
-       c4 c8 [d e f]
-       [g()e c-.] [d()e d-.]
-       c4 r8 r4 r8 |
-       R2.*7
-       \mark  "A";
-       c4.\p \grace { e16( } [)d8 c d]
-       c4 r8 r4 r8
-       e4. \grace g16( [)f8 e f]
-       e4 r8 r4 r8
-       g4. e4 c8
-       g2.~
-       [g8 a b] [c d e ]
-       e4.()d8 r r
-       R2.*4
-       e2.~ |
-       [e8 d c] [c b a]
-       d2.~
-       [d8 c b] [b a g]
-       g'4()e8 b4()cis8
-       \mark "B";
-       d4 r8 r4 r8
-       R2.*3 |
-       r8 [d-. d-.] [d()g d-.]
-       [d()g d-.] [d d d]
-       [d()g] r r4 r8
-       R2.*1
-       \lipbreaker
-       c4 r8 [c' d e]
-       d4()g8 [c, d e]
-       d4 r8 r4 r8
-       R2. |
-       r4 r8 [c-. d-. e-.]
-       d4()g8 [c, d e]
-       [d()g fis] [e d c]
-       [b () e d] [c b a]
-       \mark "C";
-       g4 r8 r4 r8
-       r2. |
-       %
-       r8 [g g] [g( )b b]
-       [b()d d-.] [d()g g-.]
-       g2.~
-       [g8 a g] [f e d]
-       < \rondotheme
-         { s8-\p } >
-         
-       R2.*12
-       r4 r8 r4 c8
-       \mark "D";
-       c4 f8 c4 a8
-       a4.~a4 a8
-       bes4 c8 d4 bes8
-       g4. ~ g8 r r
-       R2.*3
-       r4 r8 r4 c8
-       a4. c
-       f ~ [f8. \rightsixteenth e16(  \bothsixteenth d )c]
-       bes4 g8 e4 g8
-       c4. ~ c8 r r
-       R2.*3| 
-       r4 r8 r4 c8
-       b4()c8 b4()c8
-       bes4. ~ bes4 g8
-       a4 c8 [f () d b]
-       d4. () c8 r r
-       \mark "E";
-       R2.*9  |
-       \lipbreaker 
-       [c8 c' c] c4.~
-       [c8 c d] [e e fis] 
-       g4 r8 r4 r8
-       r2.
-       r8 [g, g] [g g g] |
-       es'4. ~ [es8 d c]
-       b4 r8 r4 r8
-       r2. |
-       r8 [g g] [g g g]
-       es'4. ~ [es8 d c]
-       b4.\cresc  c4. d4. e4.
-       \mark "F";
-       f2.\f ~ |
-       f4 r8 r4 r8
-       r8 [g,\> g] [g g g]
-       [fis  g gis] % Edition breitkopf says a-flat (silly!)
-                [a bes \! b]
-       < \rondotheme
-         { s8-\p } >
-       R2.*7
-       \mark "G";
-       R2.*4
-       c,4.\mf c4 c8
-       c4. e4 c8
-       g'4. g4 g8
-       g4. g,4 g8
-       c4 r8 r4 r8
-       r4 r8 r4 g'8
-       [c ()e g,-.]    [c ()e g,-.]
-       [c ()e g,-.]    [c ()e g,-.]
-       \mark "H";
-       g'2._\cresc bes,2.
-       a4. [b16 c d e f g]
-       a4. f4 d8
-       [c8\f g' e] [c g e]
-       [\stemup c \stemdown e' c] \stemboth [g e c]
-       g4 r8 [g''8 e c]
-       \grace { \aftergrace [c16 d] }
-       d2.(-\trill 
-       )c4 r8 r4 r8
-       R2.*5
-       r8 r8-\fermata d8\p [d e f]
-       [g ()e c] [d()e d]
-       [c\cresc  c c] [d e f]
-       [g()e c] [d()e d]
-       c4\f r8 r4 r8
-       R2.*5
-       [c8\f c, c] [c c c]
-       c4 r8 c4 r8
-       c4 r8 r4 \bar "|.";             % B&H do another r8.
-}
-
-
index b6ea62e1df2dc049d3cb04cef482195e7b286f93..582c55e24be4b06338f12212a772ebdde8450925 100644 (file)
         (map (lambda (x)
                (font-load-command (car x) (cdr x))) font-name-alist)
   ))
-  
+
+(define (fontify name exp)
+  (string-append (select-font name)
+                exp)
+  )
+
 ;;;;;;;;;;;;;;;;;;;;
 
 
 
 
 
+;;;;;;;;;;;;;;;;;;; generic output
 
+(define (translate-atom offset exp)
+  exp)
 
 
 ;;;;;;;;;;;;;;;;;;; TeX output
index 6c27cae35ff88abd31817e386450d1ba22bb40f9..a07fef4d7a6a434eea9c69302b1375a8e512b6b3 100644 (file)
@@ -341,7 +341,7 @@ class TeXOutput:
         this.write(r"""
 %% \vfill\hfill{\mudelatagline}
 \makeatletter
-\renewcommand{\@oddfoot}{\mudelatagline}%
+\renewcommand{\@oddfoot}{\hfil\mudelatagline}%
 \makeatother
 \end{document}
 """)