]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.5.9 release/1.5.9
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 8 Sep 2001 18:11:09 +0000 (20:11 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 8 Sep 2001 18:11:09 +0000 (20:11 +0200)
=========

* Mensural rests (Juergen Reuter)

* Swedish translation (Thanks to the translation project)

* Bugfix: down 8th flag restored.

* Bugfix: span-bars and hara-kiri.

* More advanced collisions: handle meshed chords as well.

1.5.8.j

83 files changed:
AUTHORS.txt
CHANGES
Documentation/header.html.in
Documentation/regression-test.tely
Documentation/topdocs/README.texi
Documentation/user/refman.itely
Documentation/user/tutorial.itely
VERSION
buildscripts/lilypond-profile.sh
input/regression/collision-mesh.ly [new file with mode: 0644]
input/regression/hara-kiri-short.ly
input/test/ancient-font.ly
input/test/boxed-molecule.ly
input/test/drums.ly
lily/collision.cc
lily/global-translator.cc
lily/include/stem.hh
lily/main.cc
lily/note-head.cc
lily/rest.cc
lily/span-bar.cc
lily/stem.cc
ly/GNUmakefile
ly/a4-init.ly [new file with mode: 0644]
ly/accordion-defs-init.ly [new file with mode: 0644]
ly/book-init-init.ly [new file with mode: 0644]
ly/catalan.ly [new file with mode: 0644]
ly/center-init.ly [new file with mode: 0644]
ly/chord-modifiers-init.ly [new file with mode: 0644]
ly/declarations-init.ly [new file with mode: 0644]
ly/deutsch.ly [new file with mode: 0644]
ly/drumpitch-init.ly [new file with mode: 0644]
ly/dynamic-scripts-init.ly [new file with mode: 0644]
ly/english.ly [new file with mode: 0644]
ly/engraver-init.ly [new file with mode: 0644]
ly/generate-documentation.ly [new file with mode: 0644]
ly/generate-interface-doc-init.ly [new file with mode: 0644]
ly/generic-paper-init.ly [new file with mode: 0644]
ly/german-chords-init.ly [new file with mode: 0644]
ly/grace-init.ly [new file with mode: 0644]
ly/init.ly [new file with mode: 0644]
ly/italiano.ly [new file with mode: 0644]
ly/ledger-init.ly [new file with mode: 0644]
ly/legal-init.ly [new file with mode: 0644]
ly/letter-init.ly [new file with mode: 0644]
ly/midi-init.ly [new file with mode: 0644]
ly/nederlands.ly [new file with mode: 0644]
ly/norsk.ly [new file with mode: 0644]
ly/paper-as5-init.ly [new file with mode: 0644]
ly/paper-as9-init.ly [new file with mode: 0644]
ly/paper-init.ly [new file with mode: 0644]
ly/paper11-init.ly [new file with mode: 0644]
ly/paper11.ly [new file with mode: 0644]
ly/paper13-init.ly [new file with mode: 0644]
ly/paper13.ly [new file with mode: 0644]
ly/paper16-init.ly [new file with mode: 0644]
ly/paper16.ly [new file with mode: 0644]
ly/paper20-init.ly [new file with mode: 0644]
ly/paper20.ly [new file with mode: 0644]
ly/paper23-init.ly [new file with mode: 0644]
ly/paper23.ly [new file with mode: 0644]
ly/paper26-init.ly [new file with mode: 0644]
ly/paper26.ly [new file with mode: 0644]
ly/params-as-init.ly [new file with mode: 0644]
ly/params-init.ly [new file with mode: 0644]
ly/part-paper-init.ly [new file with mode: 0644]
ly/performer-init.ly [new file with mode: 0644]
ly/property-init.ly [new file with mode: 0644]
ly/scale-definitions-init.ly [new file with mode: 0644]
ly/script-init.ly [new file with mode: 0644]
ly/spanners-init.ly [new file with mode: 0644]
ly/suomi.ly [new file with mode: 0644]
ly/svenska.ly [new file with mode: 0644]
make/out/lilypond.lsm
make/out/lilypond.mandrake.spec
make/out/lilypond.redhat.spec
make/out/lilypond.suse.spec
mf/feta-banier.mf
mf/feta-eindelijk.mf
po/sv.po [new file with mode: 0644]
scm/interface-description.scm
scripts/lilypond-book.py
scripts/ly2dvi.py

index 8c55c0faa4498b2158df4274ac0c4038061e3c33..4f9e6ff8a2e2aa6de99aa0dce453a26032ad8baa 100644 (file)
@@ -30,7 +30,8 @@ list is alphabetically ordered.
    * Neil Jerram <nj104@cus.cam.ac.uk>.      parts of
      Documentation/Vocab*
 
-   * Heikki Junes <heikki.junes@hut.fi>.      Finnish note names
+   * Heikki Junes <heikki.junes@hut.fi>.      Finnish note names,
+     updates to Emacs-mode
 
    * Donald Ervin Knuth,  `http://www-cs-staff.stanford.edu/~knuth/'
      mf/ital-*.mf (these were taken from the CM fonts)
diff --git a/CHANGES b/CHANGES
index 3110684ed7e937151913292ae7377a9210ee4a0d..5a62a5a9680c7f99a5fc49ce8888e317549de10f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,11 +1,30 @@
+1.5.8.uu1
+=========
+
+* Mensural rests (Juergen Reuter)
+
+* Swedish translation (Thanks to the translation project)
+
+* Bugfix: down 8th flag restored.
+
+* Bugfix: span-bars and hara-kiri.
+
+* More advanced collisions: handle meshed chords as well.
+
 1.5.8.jcn1
 ==========
 
 * Add mktextfm wrapper for windows (thanks Mats).
 
+1.5.8.hjj1
+==========
+
+* Emacs-mode: new keywords, reserved words, notenames and brackets are
+font-lock-keywords; implementation encourages spacing/indenting.
+
+
 1.5.8
 =====
-
 1.5.7.hwn1
 ==========
 
index 13cee14734ac8202feca2b4d04256b308ee6cc18..481ad838c6043f8826b0d79080fd97f20b2e1ffb 100644 (file)
@@ -38,52 +38,47 @@ which substitutes some @AT_VARIABLES@ as well.
     <table align=left>
   
       <tr><td bgcolor="#e8e8ff">
-      <b>Documentation</b>
+      <b>What is LilyPond</b>
       </td></tr>
       <tr><td><font size="-1">
-       <a href="@TOP@Documentation/out-www/index.html#everyone">General information</a><br>
-       <a href="@TOP@Documentation/out-www/index.html#newbies">For new users</a><br>
-       <a href="@TOP@Documentation/out-www/index.html#users">For users</a><br>
-       <a href="@TOP@Documentation/out-www/index.html#developers">For developers</a><br>
-       <a href="@TOP@Documentation/out-www/index.html#background">Background information</a><br>
+       <a href="@TOP@index.html#everyone">General information</a><br>
+       <a href="@TOP@short-examples.html">Simple examples</a><br>
+       <a href="@TOP@long-examples.html">Complex examples</a><br>
       </font></td></tr>
       <tr><td bgcolor="#e8e8ff">
        <b>Download </b>
       </td></tr>
       <tr><td><font size="-1">
-       <a href="@TOP@Documentation/topdocs/out-www/INSTALL.html#download-source">Source</a><br>
-       <a href="@TOP@Documentation/topdocs/out-www/INSTALL.html#download-binaries">Binary</a><br>
+       <a href="@TOP@Documentation/topdocs/out-www/INSTALL.html#download-binaries">Linux</a><br>
+       <a href="@TOP@Documentation/windows/out-www/installing.html">Windows</a><br>
+       <a href="@TOP@Documentation/topdocs/out-www/INSTALL.html#download-source">Source code</a><br>
       </font></td></tr>
       <tr><td bgcolor="#e8e8ff">
-       <b>Music</b>
+       <b>Documentation</b>
       </td></tr>
       <tr><td><font size="-1">
-       <a href="@TOP@short-examples.html">Short examples</a><br>
-       <a href="@TOP@long-examples.html">Longer examples</a><br>
-       <a href="http://www.mutopiaproject.org/">Mutopia Project</a><br>
-
-       <a href="http://www.lilypond.org/wiki?DownloadLilyPondScores">Other URLs</a><br>
+       <a href="@TOP@Documentation/user/out-www/lilypond/Tutorial.html">Tutorial</a><br>
+       <a href="@TOP@Documentation/user/out-www/lilypond/lilypond.html">Manual</a><br>
+       <a href="@TOP@Documentation/user/out-www/glossary.html">Glossary</a><br>
+       <a href="@TOP@Documentation/out-www/index.html">other ...</a><br>
        <br>
       </font></td></tr>
       <tr><td bgcolor="#e8e8ff">
-       <b>Mailing Lists</b>
+       <b>Support</b>
       </td></tr>
       <tr><td><font size="-1">
-       <a href="@TOP@Documentation/out-www/index.html#mailing-lists">About the lists</a><br>
-       <a href="http://mail.gnu.org/mailman/listinfo/lilypond-user/">Using LilyPond</a><br>
-        <a href="http://mail.gnu.org/mailman/listinfo/lilypond-devel/">Developing LilyPond</a><br>
-        <a href="http://mail.gnu.org/mailman/listinfo/bug-lilypond/">Reporting bugs</a><br>
-        <a href="http://mail.gnu.org/mailman/listinfo/info-lilypond/">Announcements</a><br>
+       <a href="@TOP@Documentation/topdocs/out-www/README.html#mailing-lists">Mailing lists</a><br>
+        <a href="http://www.lilypond.org/wiki/">WikiWiki</a><br>
+       <a href="http://www.lilypond.org/wiki?LilyPondFaqs">FAQs</a><br>        
        <br>
       </font></td></tr>
     <tr><td bgcolor="#e8e8ff"><b>External sites</b></td></tr>
       <tr><td><font size="-1">
-        <a href="http://www.lilypond.org/development">Development version</a><br>
-        <a href="http://www.lilypond.org/stable">Stable version</a><br>
-        <a href="http://www.lilypond.org/wiki/">WikiWiki</a><br>
-        <a href="ftp://ftp.lilypond.org/pub">FTP site</a><br>
-        <a href="http://www.mutopiaproject.org/">Mutopia archive</a><br>
-
+        <a href="http://www.lilypond.org/development">lilypond.org/development</a><br>
+        <a href="http://www.lilypond.org/stable">lilypond.org/stable</a><br>
+        <a href="ftp://ftp.lilypond.org/pub">ftp.lilypond.org</a><br>
+        <a href="http://www.mutopiaproject.org/">Mutopia</a><br>
+       <a href="http://www.lilypond.org/wiki?DownloadLilyPondScores">Other music online</a><br>
        <br>
       </font></td></tr>
     </table>
index 03f562a563ba719f0b39bbc7fc2e0183835b14c8..bed908046a03c252a2edf3ee0d04581700fc4eb7 100644 (file)
@@ -199,6 +199,8 @@ Grace note do weird things with timing. Fragile.
 
 @lilypondfile[printfilename]{collision-dots.ly}
 
+@lilypondfile[printfilename]{collision-mesh.ly}
+
 @lilypondfile[printfilename]{number-staff-lines.ly}
 
 
index dadd6967f5e18e4d22ace027c3cf7d3dbdc844ba..2c97cb4c6c29ec12527fb58f796e69a5f1886f99 100644 (file)
@@ -61,6 +61,12 @@ LilyPond is a long way from finished and polished, so please send your
 criticism, comments, bugreports, patches, etc., to the mailing list,
 @emph{not} to us personally.
 
+@html
+<a name="mailing-lists">
+@end html
+
+
+
 We have the following mailing lists:
 
 @itemize @bullet
index 1c9d14271e92fee323dcf9931d71fc2985cb0d26..d76a9c9f64fce118c062ea2378ab7e72dd4165ff 100644 (file)
@@ -3945,6 +3945,9 @@ following line
 #(set! point-and-click line-column-location)
 @end example
 
+One final hint: if you correct large files with point-and-click, then
+start correcting at the end of the file. When you start at the top, and
+insert one line, all subsequent locations will be off by a line.
 
 
 @refbugs
@@ -3953,11 +3956,6 @@ When you convert the @TeX{} file to PostScript using @code{dvips}, it
 will complain about not finding @code{src:X:Y} files. Those complaints
 are harmless, and can be ignored.
 
-When using @code{line-column-location}, the cursor will be one off; it
-will not jump to the exact note that you clicked, but to the next one.
-
-[FIXME]
-
 @node Skipping corrected music
 @section Skipping corrected music
 
index 4ac0a5679fe040c268372dc7a8c7ae9fb58032b8..1234406f2320db3a4c2ef221a360228944e25ddc 100644 (file)
@@ -2385,7 +2385,7 @@ When naming the tuning of the french horn, we'll need a piece of text
 with a flat sign.  LilyPond has a mechanism for font selection and
 kerning called Scheme markup text (See @ref{Text markup}).  The flat
 sign is taken from the music font, and its name is @code{accidentals--1}
-(The sharp sign is called @code{accidentals-1}).  The default font is
+(The natural sign is called @code{accidentals-0}).  The default font is
 too big for text, so we select a relative size of @code{-2}.
 
 @separate
diff --git a/VERSION b/VERSION
index 95f1602188a980d375837f591d86661438939105..b3531ee5996c9e847c5ab4a0fda2e83aa09a4274 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=5
-PATCH_LEVEL=8
-MY_PATCH_LEVEL=jcn1
+PATCH_LEVEL=9
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 880b6a5d2cb34c6fa3d189a047c495983b853dd7..703df5ccc7b38fba47a9999d1b98cfd39188a10e 100755 (executable)
@@ -9,7 +9,7 @@
 # trees, rather than messing around with environment variables (eg,
 # see Debian or SuSE package).
 
-datadir="@datadir@"
+datadir=`echo "@datadir@" | sed 's!//!/!g'`
 
 # For direct ps output fonts
 GS_FONTPATH="$datadir/afm:$datadir/pfa"
diff --git a/input/regression/collision-mesh.ly b/input/regression/collision-mesh.ly
new file mode 100644 (file)
index 0000000..2588193
--- /dev/null
@@ -0,0 +1,24 @@
+\header {
+texidoc = "Oppositely stemmed chords,  meshing into each other,
+are resolved."
+}
+
+\score {
+  \context Staff \notes \relative c' {
+     \time 3/4
+     % Here's what I was trying to do:
+     < \context Voice  = VI {\stemDown <g4 b g'> 
+     r4 r4 }
+       \context Voice=VII {\stemUp d'2.} >
+
+     % Or:
+
+     <\context Voice = VI {\stemUp <g4 b g'>  r r}
+       \context Voice= VII {\stemDown d'2.} >
+  }
+}
+
+
+
+
+
index 313e0dd4f456560ce4fbed251fe196398967e6c1..38aeac0877dea4133dcdab543c48fc0b916d96f4 100644 (file)
@@ -8,27 +8,34 @@ therefore removed.  Also, any staff brackets and braces are removed.
 }
 
 
+
+
+
 zager =  \context Staff = zager \notes \relative c'' {
        \clef treble
-       c1
+       c1      c1
+}
+
+zeuger =  \context Staff = zeuger \notes \relative c'' {
+       \clef treble
+       c1      c1
 }
 
 zoger =  \context Staff = zoger \notes \relative c'' {
        \clef treble
-       \skip 1* 1
+       \skip 2* 1
 }
 
-zagers =  \context GrandStaff <
+zagers =  \context StaffGroup <
        \zager
        \zoger
+       \zeuger
 >
  
 \score{
-       <
-               \context StaffGroup = zagers <
+       < \context StaffGroup = zagers <
                        \zagers
-               >
-       >
+       > >
        \paper{
                linewidth = 80.0\mm
 
index 5afabdbd26a38f567ddefb5a208e232294b20d37..405e6add22c2a38f86003f33048b311ebc1d38cf 100644 (file)
@@ -38,30 +38,28 @@ upperVoice =  \context Staff = upperVoice <
 
        \property Voice.NoteHead \override #'style = #'vaticana_subbipunctum
        a! b! ces'
+       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
        \property Voice.NoteHead \override #'style = #'vaticana_virga
        b! a! ges fes
+       \breathe
        \clef "vaticana_fa1"
        \property Voice.NoteHead \override #'style = #'vaticana_quilisma
        es d
        \property Voice.NoteHead \override #'style = #'vaticana_rvirga
        c d
-       \breathe
+       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
        \property Voice.NoteHead \override #'style = #'vaticana_rvirga
        es f
-       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
        \property Voice.NoteHead \override #'style = #'vaticana_lpes
        g as
-       \property Staff.BarLine \override #'bar-size = #2.0 \bar "|"
        \property Voice.NoteHead \override #'style = #'vaticana_upes
        bes as
-       \breathe
        \property Voice.NoteHead \override #'style = #'vaticana_vupes
        g f
        \property Voice.NoteHead \override #'style = #'vaticana_plica
        \property Staff.BarLine \override #'bar-size = #2.0 \bar "|"
        es d
        \property Voice.NoteHead \override #'style = #'vaticana_epiphonus
-       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
        c d
        \property Voice.NoteHead \override #'style = #'vaticana_cephalicus
        es f
@@ -71,30 +69,39 @@ upperVoice =  \context Staff = upperVoice <
        \property Staff.Custos \override #'style = #'medicaea
        \property Voice.NoteHead \override #'style = #'medicaea_punctum
        \clef "medicaea_fa2"
-       ces! des! e! f! ges!
+       ces! des!
+       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+       e! f! ges!
        \clef "medicaea_do2"
        \property Voice.NoteHead \override #'style = #'medicaea_subbipunctum
        a! b! ces'!
        \property Voice.NoteHead \override #'style = #'medicaea_virga
-       b! a! ges! fes!
+       b! a!
+       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+       ges! fes!
        \clef "medicaea_fa1"
        \property Voice.NoteHead \override #'style = #'medicaea_rvirga
-       e! des! ces! \bar "|"
+       e! des! ces!
 
        \property Staff.KeySignature \override #'style = #'hufnagel
        \property Staff.Accidentals \override #'style = #'hufnagel
        \property Staff.Custos \override #'style = #'hufnagel
        \property Voice.NoteHead \override #'style = #'hufnagel_punctum
        \clef "hufnagel_fa2"
-       ces! des! es! fes! ges!
+       ces! des! es!
+       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+       fes! ges!
        \clef "hufnagel_do2"
        \property Voice.NoteHead \override #'style = #'hufnagel_lpes
        as! bes! ces'!
        \property Voice.NoteHead \override #'style = #'hufnagel_virga
-       bes! as! ges! fes!
+       bes! as!
+       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+       ges! fes!
        \clef "hufnagel_do_fa"
        \property Voice.NoteHead \override #'style = #'hufnagel_punctum
-       es! des! ces!1 \bar "||"
+       es! des! ces! des! es! fes!
+       \bar "||"
     }
 >
 
@@ -112,6 +119,7 @@ lowerVoice =  \context Staff = lowerNotes <
        \property Staff.Accidentals \override #'style = #'mensural
        \property Staff.Custos \override #'style = #'mensural
         \property Voice.NoteHead \override #'style = #'neo_mensural
+        \property Voice.Rest \override #'style = #'neo_mensural
        \key a \major
        \clef "neo_mensural_c2"
        c2 dis es fis ges
@@ -123,31 +131,36 @@ lowerVoice =  \context Staff = lowerNotes <
        e d c1 \bar "|"
 
        \clef "petrucci_c2"
-       c2 d e f g
+       r\longa
         \property Staff.forceClef = ##t
        \clef "mensural_c2"
-       a b c'
-       b a g f
+       r\breve r1 r2
        \clef "mensural_g"
-       e d c1 \bar "|"
+       r4 r8 r16 r32 r32 \bar "|"
 
         \property Voice.NoteHead \override #'style = #'mensural
        \property Voice.Stem \override #'style = #'mensural
        \property Voice.Stem \override #'thickness = #1.0
+        \property Voice.Rest \override #'style = #'mensural
        \clef "petrucci_f"
        c8 b, c16 b, c32 b, c64 b, c b,
        d8 e  d16 e  d32 e  d64 e  d e
-       c2 d e f g
+       r\longa
         \property Staff.forceClef = ##t
        \clef "petrucci_f"
-       a b c'
-       b a g f
+       r\breve r1 \bar "|"
        \clef "mensural_f"
-       e d c1 \bar "|"
+
+       % FIXME: need this to avoid segmentation fault on r8/r16/r32
+       % (Strange: what has Voice.Stem style to do with mensural rests?)
+       \property Voice.Stem \override #'style = #'neo_mensural
+
+       r2 r4 r8 r16 r32 r32
+       \property Voice.Stem \override #'style = #'mensural
 
         \property Staff.forceClef = ##t
        \clef "mensural_f"
-       c2 d e f g
+       e2 f g
        \clef "mensural_g"
        as'! bes'! cis''!
        bes'! as'! gis'! fis'!
@@ -186,5 +199,15 @@ lowerVoice =  \context Staff = lowerNotes <
 %          StaffSymbol \override #'thickness = #2.0
 %          StaffSymbol \override #'line-count = #4
        }
+       \translator {
+           \ScoreContext
+%          \remove System_start_delimiter_engraver
+%          SystemStartDelimiter \override #'glyph = #'brace
+       }
+       \translator {
+           \ChoirStaffContext
+           \remove System_start_delimiter_engraver
+%          SystemStartDelimiter \override #'glyph = #'empty
+       }
     }
 }
index aef4112f2a1e70139189bbdc1ae69db12c79ff18..0aeb856200cf62b85576bb72aacdff9c7510d3ce 100644 (file)
@@ -5,9 +5,12 @@ texidoc = "overriding the molecule callback can also be used to draw a
  box around arbitrary grobs.
 
  TODO: check whether the corners are really correct.
+
+ TODO:  circled molecules.
+  
  "
 }
+
 #(define (box-molecule xext yext)
   (ly-make-molecule
       (list 'filledbox (- (car xext)) (cdr xext)
index 4285d18bfbef26908ac771690d1b6970c59e1a60..93a0a9e70064f6a4255b6aa6ba63710ebebc7397 100644 (file)
@@ -2,7 +2,7 @@
 % see ly/drumpitch.ly for list of instruments and paper-kits.
 %     scm/midi.scm for list of midi-drumkits.
 
-\include "drumpitch.ly"
+\include "drumpitch-init.ly"
 
 \version "1.3.146"
 
index 5b6b815aa6bb18ab210c275ae82fdaf2d84993ac..39e906b6ab72eccab8fb334bfba016d58b4c5548 100644 (file)
@@ -13,7 +13,7 @@
 #include "paper-def.hh"
 #include "axis-group-interface.hh"
 #include "item.hh"
-
+#include "stem.hh"
 
 MAKE_SCHEME_CALLBACK (Collision,force_shift_callback,2);
 
@@ -37,6 +37,124 @@ Collision::force_shift_callback (SCM element_smob, SCM axis)
   return gh_double2scm (0.0);
 }
 
+
+void
+check_meshing_chords (Grob*me,
+                     Drul_array< Array < Real > > *offsets,
+                     Drul_array< Array < Slice > > const &extents,
+                     Drul_array<Link_array<Grob> > const &clash_groups)
+       
+{
+  if (!extents[UP].size () || ! extents[DOWN].size ())
+    return ;
+  
+  
+  Grob *cu =clash_groups[UP][0];
+  Grob *cd =clash_groups[DOWN][0];
+
+  Grob * nu_l= Note_column::first_head (cu);
+  Grob * nd_l = Note_column::first_head (cd);
+      
+     
+  
+  bool half_collide = false;
+  bool full_collide = false;  
+
+  /*
+    TODO:
+
+    filter out the 'o's in this configuration, since they're no part
+    in the collision.
+
+     |
+    x|o
+    x|o
+    x
+
+    
+   */
+  Array<int> ups = Stem::note_head_positions (Note_column::stem_l (cu));
+  Array<int> dps = Stem::note_head_positions (Note_column::stem_l (cd));
+
+  /*
+    they're too far apart to collide. 
+    
+   */
+
+  if (ups[0] > dps.top () + 1)
+    return ; 
+
+  bool touch = (ups[0] - dps.top () >= 0);
+  
+  bool merge_possible = (ups[0] >= dps[0]) && (ups.top () <= dps.top ());
+
+  merge_possible = merge_possible &&
+    Rhythmic_head::balltype_i (nu_l) == Rhythmic_head::balltype_i (nd_l);
+    
+  if (!to_boolean (me->get_grob_property ("merge-differently-dotted")))
+    merge_possible = merge_possible && Rhythmic_head::dot_count (nu_l) == Rhythmic_head::dot_count (nd_l);
+  
+  int i = 0, j=0;
+  while (i < ups.size () && j < dps.size ())
+  {
+    if (abs (ups[i] - dps[j]) == 1)
+      {
+       merge_possible = false;
+       half_collide = true;
+      }
+    else if (ups[i]==dps[j])
+      full_collide = true;
+    else if (ups[i] >dps[0] && ups[i] < dps.top ())
+      merge_possible = false;
+    else if (dps[j] >ups[0] && dps[j] < ups.top ())
+      merge_possible = false;
+    
+    if (ups[i] < dps[j])
+      i++;
+    else if (ups[i] > dps[j])
+      j++;
+    else
+      {
+       i++;
+       j++;
+      }
+  }
+
+  Drul_array<Real> center_note_shifts;
+  center_note_shifts[LEFT] = 0.0;
+  center_note_shifts[RIGHT] = 0.0;
+
+  
+  Real shift_amount = 1;
+
+  if ( touch)
+    shift_amount *= -1;
+  else
+  /*
+    for full collisions, the right hand head may obscure dots, so
+    make sure the dotted heads go to the right.
+   */
+    if ((Rhythmic_head::dot_count (nu_l) < Rhythmic_head::dot_count (nd_l)
+          && full_collide))
+      shift_amount *= -1;
+
+  if (merge_possible)
+    shift_amount *= 0.0;
+  else if (half_collide || full_collide) 
+    shift_amount *= 0.5;
+  else
+    shift_amount *= 0.25;
+
+  Direction d = UP;
+  do
+    {
+      for (int i=0; i < clash_groups[d].size (); i++)
+       (*offsets)[d][i] += d * shift_amount;
+    }
+  while ((flip (&d))!= UP);
+}
+
+
 /*
   TODO: make callback of this.
 
@@ -146,6 +264,15 @@ Collision::automatic_shift (Grob *me)
        }
     }
   while ((flip (&d))!= UP);
+
+  /*
+    do horizontal shifts of each direction 
+
+       | 
+      x||
+       x||
+        x|
+   */
   
   do
     {
@@ -161,6 +288,14 @@ Collision::automatic_shift (Grob *me)
     }  
   while ((flip (&d))!= UP);
 
+
+  /*
+    Check if chords are meshing
+   */
+
+  check_meshing_chords (me, &offsets, extents, clash_groups);
+  
+#if 0  
   /*
     if the up and down version are close, and can not be merged, move
     all of them again. */
@@ -203,7 +338,8 @@ Collision::automatic_shift (Grob *me)
          }
          while ((flip (&d))!= UP);
     }
-
+#endif
+  
   do
     {
       for (int i=0; i < clash_groups[d].size (); i++)
index d66b6f05e9b439fbe67bca93d2a060b3e111ffa0..4e4208bd8282ab00b31d6e982ff3cbd83375e136 100644 (file)
@@ -98,7 +98,7 @@ Global_translator::run_iterator_on_me (Music_iterator * iter)
 
       w = sneaky_insert_extra_moment (w);
 
-      cout << "Proccing " << w << endl;
+      //      cout << "Proccing " << w << endl;
 
       
       if (first)
index 40d26e6c1305e54aa0f2122ce9f4a94c48020802..6730e25fb14c6cb76dced4a2389c109417468ea5 100644 (file)
@@ -17,6 +17,7 @@ class Stem
 public:
   DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
 
+  static Array<int> note_head_positions (Grob*);
   static  int flag_i (Grob*) ;
   static int beam_count (Grob*,Direction) ;
   static void set_beaming (Grob*,int,  Direction d);
index 1f355bf96162b9e931c7459367ce7192fe95dcbc..dfb402ee41aa66bbd3e47ed7d4187058028f595e 100644 (file)
@@ -105,7 +105,7 @@ static Long_option_init options_static[] = {
   {_i ("EXPR"), "evaluate", 'e',_i ("evalute EXPR as Scheme after .scm init is read")},
   /* another bug in option parser: --output=foe is taken as an abbreviation
      for --output-format */
-  {_i ("EXT"), "format", 'f',  _i ("use output format EXT (scm, ps, tex or as)")},
+  {_i ("EXT"), "format", 'f',  _i ("use output format EXT (tex [default], pdftex, ps, scm or as)")},
   {0, "help", 'h',  _i ("this help")},
   {_i ("FIELD"), "header", 'H',  _i ("write header field to BASENAME.FIELD")},
   {_i ("DIR"), "include", 'I',  _i ("add DIR to search path")},
@@ -154,12 +154,6 @@ _ (
     << " " <<
 #ifdef NDEBUG
     "NDEBUG "
-#endif
-#ifdef NPRINT
-    "NPRINT "
-#endif
-#ifdef STRING_UTILS_INLINED
-    "STRING_UTILS_INLINED "
 #endif
     "\n"
     "datadir: `" DIR_DATADIR "'\n"
index 2a1c813a847f15ec2025031efe61e6e787a84032..33ce0003153452d0b06832b75729d94d489bb77f 100644 (file)
@@ -94,7 +94,7 @@ Note_head::brew_molecule (SCM smob)
     }
 
   /*
-    ugh: use gh_call ()
+    ugh: use gh_call () / scm_apply ().
 
     UGH: use grob-property.
   */
index 4a9169e83f135efa8ae002b6e1b43661b77f37b9..c29f77765268248cc68ae6090fe12e509c925dfa 100644 (file)
@@ -82,7 +82,7 @@ Rest::brew_internal_molecule (SCM smob)
   
   String style; 
   SCM style_sym =me->get_grob_property ("style");
-  if (balltype >= 2 && gh_symbol_p (style_sym))
+  if (gh_symbol_p (style_sym))
     {
       style = ly_scm2string (scm_symbol_to_string (style_sym));
     }
index 015f6b2e25f0cd847272b5e2d813075a2e0e367a..61e1f097eace5faa59a43d9c574a17c12c7a8ad9 100644 (file)
@@ -76,22 +76,27 @@ Span_bar::brew_molecule (SCM smobbed_me)
 
   // compose span_bar_mol
   Molecule span_bar_mol;
-  Grob *prev_staff_bar = 0;
+
+  Interval prev_extent;
   for (SCM elts = first_elt; gh_pair_p (elts); elts = gh_cdr (elts))
     {
       SCM smobbed_staff_bar = gh_car (elts);
       Grob *staff_bar = unsmob_grob (smobbed_staff_bar);
-      if (prev_staff_bar)
+      Interval ext = staff_bar->extent (refp, Y_AXIS);
+      if (ext.empty_b ())
+       continue; 
+      
+      if (!prev_extent.empty_b ())
        {
-         Interval l(prev_staff_bar->extent (refp, Y_AXIS)[UP],
-                    staff_bar->extent (refp, Y_AXIS)[DOWN]);
+         Interval l(prev_extent [UP],
+                    ext[DOWN]);
 
          Molecule interbar
            = Bar::compound_barline (staff_bar, glyph_str, l.length());
          interbar.translate_axis (l.center (), Y_AXIS);
          span_bar_mol.add_molecule (interbar);
        }
-      prev_staff_bar = staff_bar;
+      prev_extent = ext;
     }
 
   span_bar_mol.translate_axis (- me->relative_coordinate (refp, Y_AXIS), Y_AXIS);
index 03d2c07ef85d46e88c35ed7f04f3b098bd68ef81..140e6876b6db803e77b1c2cadf8abb9a58a70377 100644 (file)
@@ -196,6 +196,29 @@ Stem::extremal_heads (Grob*me)
   return exthead;
 }
 
+static int
+icmp (int const &a, int const &b)
+{
+  return a-b;
+}
+
+Array<int>
+Stem::note_head_positions (Grob *me)
+{
+  Array<int> ps ;
+  for (SCM s = me->get_grob_property ("heads"); gh_pair_p (s); s = gh_cdr (s))
+    {
+      Grob * n = unsmob_grob (gh_car (s));
+      int p = int (Staff_symbol_referencer::position_f (n));
+
+      ps.push (p);
+    }
+
+  ps.sort (icmp);
+  return ps; 
+}
+
+
 void
 Stem::add_head (Grob*me, Grob *n)
 {
@@ -337,6 +360,8 @@ Stem::get_default_stem_end_position (Grob*me)
   return st;
 }
 
+
+
 /*
   Number of hooks on the flag, ie. the log of the duration.
  */
@@ -461,10 +486,11 @@ Stem::set_spacing_hints (Grob*me)
 Molecule
 Stem::flag (Grob*me)
 {
-  // TODO: rename flag-style into something more appropriate,
-  // e.g. "stroke-style", maybe with values "" (i.e. no stroke),
-  // "single" and "double".  Needs more discussion.
-  String style, fstyle, stafflineOffs;
+  /* TODO: rename flag-style into something more appropriate,
+   e.g. "stroke-style", maybe with values "" (i.e. no stroke),
+   "single" and "double".  Needs more discussion.
+  */
+  String style, fstyle, staffline_offs;
   SCM fst = me->get_grob_property ("flag-style");
   if (gh_string_p (fst))
     {
@@ -481,43 +507,46 @@ Stem::flag (Grob*me)
       style = "";
     }
   if (String::compare_i (style, "mensural") == 0)
-      // Mensural notation: For notes on staff lines, use different
-      // flags than for notes between staff lines.  The idea is that
-      // flags are always vertically aligned with the staff lines,
-      // regardless if the note head is on a staff line or between two
-      // staff lines.  In other words, the inner end of a flag always
-      // touches a staff line.
+    /* Mensural notation: For notes on staff lines, use different
+       flags than for notes between staff lines.  The idea is that
+       flags are always vertically aligned with the staff lines,
+       regardless if the note head is on a staff line or between two
+       staff lines.  In other words, the inner end of a flag always
+       touches a staff line.
+    */
     {
-       // Urrgh!  We have to detect wether this stem ends on a staff
-       // line or between two staff lines.  But we can not call
-       // stem_end_position(me) or get_default_stem_end_position(me),
-       // since this encounters the flag and hence results in an
-       // infinite recursion.  However, in pure mensural notation,
-       // there are no multiple note heads attached to a single stem,
-       // neither is there usually need for using the stem_shorten
-       // property (except for 32th and 64th notes, but that is not a
-       // problem since the stem length in this case is augmented by
-       // an integral multiple of staff_space).  Hence, it should be
-       // sufficient to just take the first note head, assume it's
-       // the only one, look if it's on a staff line, and select the
-       // flag's shape accordingly.  In the worst case, the shape
-       // looks slightly misplaced, but that will usually be the
-       // programmer's fault (e.g. when trying to attach multiple
-       // note heads to a single stem in mensural notation).
-       Grob *firstHead = first_head(me);
+      /* Urrgh!  We have to detect wether this stem ends on a staff
+        line or between two staff lines.  But we can not call
+        stem_end_position(me) or get_default_stem_end_position(me),
+        since this encounters the flag and hence results in an
+        infinite recursion.  However, in pure mensural notation,
+        there are no multiple note heads attached to a single stem,
+        neither is there usually need for using the stem_shorten
+        property (except for 32th and 64th notes, but that is not a
+        problem since the stem length in this case is augmented by
+        an integral multiple of staff_space).  Hence, it should be
+        sufficient to just take the first note head, assume it's
+        the only one, look if it's on a staff line, and select the
+        flag's shape accordingly.  In the worst case, the shape
+        looks slightly misplaced, but that will usually be the
+        programmer's fault (e.g. when trying to attach multiple
+        note heads to a single stem in mensural notation).
+
+      */
+       Grob *first = first_head(me);
        int sz = Staff_symbol_referencer::line_count (me)-1;
-       int p = (int)rint (Staff_symbol_referencer::position_f (firstHead));
-       stafflineOffs = (((p ^ sz) & 0x1) == 0) ? "1" : "0";
+       int p = (int)rint (Staff_symbol_referencer::position_f (first));
+       staffline_offs = (((p ^ sz) & 0x1) == 0) ? "1" : "0";
     }
   else
     {
-       stafflineOffs = "";
+       staffline_offs = "";
     }
   char c = (get_direction (me) == UP) ? 'u' : 'd';
-  Molecule m =
-      Font_interface::get_default_font (me)->
-      find_by_name (String ("flags-") + style + to_str (c) + stafflineOffs +
-                   to_str (flag_i (me)));
+  String index_str
+    = String ("flags-") + style + to_str (c) + staffline_offs + to_str (flag_i (me));
+  Molecule m
+    = Font_interface::get_default_font (me)->find_by_name (index_str);
   if (!fstyle.empty_b ())
     m.add_molecule (Font_interface::get_default_font (me)->find_by_name (String ("flags-") + to_str (c) + fstyle));
   return m;
index dda5863d2675a2898f4131c153c222205338b531..2e9f025b295f6e229e335501be35b75a3de0ea60 100644 (file)
@@ -9,7 +9,7 @@ INSTALLATION_DIR=$(datadir)/ly/
 INSTALLATION_FILES=$(INI_FILES)
 
 STEPMAKE_TEMPLATES=install
-LOCALSTEPMAKE_TEMPLATES=mutopia
+LOCALSTEPMAKE_TEMPLATES=ly 
 
 include $(depth)/make/stepmake.make 
 
diff --git a/ly/a4-init.ly b/ly/a4-init.ly
new file mode 100644 (file)
index 0000000..8c729c5
--- /dev/null
@@ -0,0 +1,5 @@
+\version "1.3.146"
+% a4.ly
+
+hsize = 210.0 \mm
+vsize = 296.9 \mm
diff --git a/ly/accordion-defs-init.ly b/ly/accordion-defs-init.ly
new file mode 100644 (file)
index 0000000..f363efc
--- /dev/null
@@ -0,0 +1,56 @@
+\version "1.3.146"
+% Symbols needed to print accordion music
+% 
+%  2' = T
+%  4' = F
+%  8' = E
+% 16' = S
+%
+
+accDiscant = \script "accDiscant"
+accDiscantF = \script "accDiscantF"
+accDiscantE = \script "accDiscantE"
+accDiscantEh = \script "accDiscantEh"
+accDiscantFE = \script "accDiscantFE"
+accDiscantFEh = \script "accDiscantFEh"
+accDiscantEE = \script "accDiscantEE"
+accDiscantFEE = \script "accDiscantFEE"
+accDiscantEEE = \script "accDiscantEEE"
+accDiscantFEEE = \script "accDiscantFEEE"
+accDiscantS = \script "accDiscantS"
+accDiscantFS = \script "accDiscantFS"
+accDiscantES = \script "accDiscantES"
+accDiscantEhS = \script "accDiscantEhS"
+accDiscantFES = \script "accDiscantFES"
+accDiscantFEhS = \script "accDiscantFEhS"
+accDiscantEES = \script "accDiscantEES"
+accDiscantFEES = \script "accDiscantFEES"
+accDiscantEEES = \script "accDiscantEEES"
+accDiscantFEEES = \script "accDiscantFEEES"
+accDiscantSS = \script "accDiscantSS"
+accDiscantESS = \script "accDiscantESS"
+accDiscantEESS = \script "accDiscantEESS"
+accDiscantEEESS = \script "accDiscantEEESS"
+
+accFreebase = \script "accFreebase"
+accFreebaseF = \script "accFreebaseF"
+accFreebaseE = \script "accFreebaseE"
+accFreebaseFE = \script "accFreebaseFE"
+
+accBayanbase = \script "accBayanbase"
+accBayanbaseT = \script "accBayanbaseT"
+accBayanbaseE = \script "accBayanbaseE"
+accBayanbaseTE = \script "accBayanbaseTE"
+accBayanbaseEE = \script "accBayanbaseEE"
+accBayanbaseTEE = \script "accBayanbaseTEE"
+
+accStdbase = \script "accStdbase"
+accStdbaseFE = \script "accStdbaseFE"
+accStdbaseTFE = \script "accStdbaseTFE"
+accStdbaseMES = \script "accStdbaseMES"
+accStdbaseTFMES = \script "accStdbaseTFMES"
+
+accSB = \script "accSB"
+accBB = \script "accBB"
+accOldEE = \script "accOldEE"
+accOldEES = \script "accOldEES"
diff --git a/ly/book-init-init.ly b/ly/book-init-init.ly
new file mode 100644 (file)
index 0000000..f12fc86
--- /dev/null
@@ -0,0 +1,14 @@
+% Toplevel initialisation file. 
+       
+\version "1.3.146"
+
+
+\include "declarations-init.ly"
+\include "paper16-init.ly"
+
+ \paper{
+       \paperSixteen
+}
+
+
+\maininput
diff --git a/ly/catalan.ly b/ly/catalan.ly
new file mode 100644 (file)
index 0000000..74d4285
--- /dev/null
@@ -0,0 +1,74 @@
+%{
+
+ Common catalan names for notes. "b" means flat (bemoll), "d" means sharp (diesi).
+ Also "s" is included for sharp (sostingut).  Both "diesi" and "sostingut" are approved
+ by "Diccionari de la Llengua Catalana" from "Institut d'Estudis Catalans".
+
+ Adapted from italiano.ly.
+
+ English: a   b   c   d   e   f   g
+ Catalan: la  si  do  re  mi  fa  sol
+
+ For spanish naming just use the sharp sign "s" (sostenido) instead of "s"
+(sostenido) .
+%}
+
+% contributed by Jaume Obrador <jobrador@ipc4.uib.es>
+
+
+% For using "sostingut" notation, which is also correct
+\pitchnames #`(
+       (dobb . ,(make-pitch -1 0 -2 ))
+       (dob . ,(make-pitch -1 0 -1 ))
+       (do . ,(make-pitch -1 0 0 ))
+       (dod . ,(make-pitch -1 0 1 ))
+       (dodd . ,(make-pitch -1 0 2 ))
+       (rebb . ,(make-pitch -1 1 -2 ))
+       (reb . ,(make-pitch -1 1 -1 ))
+       (re . ,(make-pitch -1 1 0 ))
+       (red . ,(make-pitch -1 1 1 ))
+       (redd . ,(make-pitch -1 1 2 ))
+       (mibb . ,(make-pitch -1 2 -2 ))
+       (mib . ,(make-pitch -1 2 -1 ))
+       (mi . ,(make-pitch -1 2 0 ))
+       (mid . ,(make-pitch -1 2 1 ))
+       (midd . ,(make-pitch -1 2 2 ))
+       (fabb . ,(make-pitch -1 3 -2 ))
+       (fab . ,(make-pitch -1 3 -1 ))
+       (fa . ,(make-pitch -1 3 0 ))
+       (fad . ,(make-pitch -1 3 1 ))
+       (fadd . ,(make-pitch -1 3 2 ))
+       (solbb . ,(make-pitch -1 4 -2 ))
+       (solb . ,(make-pitch -1 4 -1 ))
+       (sol . ,(make-pitch -1 4 0 ))
+       (sold . ,(make-pitch -1 4 1 ))
+       (soldd . ,(make-pitch -1 4 2 ))
+       (labb . ,(make-pitch -1 5 -2 ))
+       (lab . ,(make-pitch -1 5 -1 ))
+       (la . ,(make-pitch -1 5 0 ))
+       (lad . ,(make-pitch -1 5 1 ))
+       (ladd . ,(make-pitch -1 5 2 ))
+       (sibb . ,(make-pitch -1 6 -2 ))
+       (sib . ,(make-pitch -1 6 -1 ))
+       (si . ,(make-pitch -1 6 0 ))
+       (sid . ,(make-pitch -1 6 1 ))
+       (sidd . ,(make-pitch -1 6 2 ))
+       (dos . ,(make-pitch -1 0 1 ))
+       (doss . ,(make-pitch -1 0 2 ))
+       (res . ,(make-pitch -1 1 1 ))
+       (ress . ,(make-pitch -1 1 2 ))
+       (mis . ,(make-pitch -1 2 1 ))
+       (miss . ,(make-pitch -1 2 2 ))
+       (fas . ,(make-pitch -1 3 1 ))
+       (fass . ,(make-pitch -1 3 2 ))
+       (sols . ,(make-pitch -1 4 1 ))
+       (solss . ,(make-pitch -1 4 2 ))
+       (las . ,(make-pitch -1 5 1 ))
+       (lass . ,(make-pitch -1 5 2 ))
+       (sis . ,(make-pitch -1 6 1 ))
+       (siss . ,(make-pitch -1 6 2 ))
+)
+
+
+
+\version "1.3.146"
diff --git a/ly/center-init.ly b/ly/center-init.ly
new file mode 100644 (file)
index 0000000..72ecace
--- /dev/null
@@ -0,0 +1,15 @@
+% Toplevel initialisation file. 
+       
+\version "1.3.146"
+
+
+\include "declarations-init.ly"
+\include "paper16-init.ly"
+
+ \paper { 
+  \paperSixteen
+%  linewidth = 7.\cm
+  linewidth = 11.\cm
+}
+
+\maininput
diff --git a/ly/chord-modifiers-init.ly b/ly/chord-modifiers-init.ly
new file mode 100644 (file)
index 0000000..dd82fdb
--- /dev/null
@@ -0,0 +1,17 @@
+\version "1.3.146"
+
+% urg!
+%
+\chordmodifiers #`(
+       (m . ,(make-pitch 0 2 -1 ))
+       (min . ,(make-pitch 0 2 -1 ))
+       (aug . ,(make-pitch 0 4 1 ))
+       ;; (dim . ,(make-pitch -100 4 -1 ))     
+       (dim . ,(make-pitch -100 2 -1 ))
+       ;; urg, not actually a chord-modifier, but it works
+       ;;  c7 -> <c bes>, c 7+ -> c b
+       (maj . ,(make-pitch 0 6 1 ))
+       ;; sus4 should delete 2 too...
+       (sus . ,(make-pitch 0 3 0 ))
+)
+
diff --git a/ly/declarations-init.ly b/ly/declarations-init.ly
new file mode 100644 (file)
index 0000000..c200465
--- /dev/null
@@ -0,0 +1,56 @@
+
+\version "1.3.146"
+breve = \duration #(make-duration -1 0)
+longa = \duration #(make-duration -2 0 )
+maxima = \duration #(make-duration -3 0)
+
+\include "nederlands.ly"               % dutch
+\include "chord-modifiers-init.ly"
+\include "script-init.ly"
+
+% declarations for standard directions
+left = -1
+right = 1
+up = 1
+down = -1
+start = -1
+stop = 1
+smaller = -1
+bigger = 1
+center=0
+
+break =  \penalty  #-10000
+noBreak =  \penalty #10000
+\include "scale-definitions-init.ly"
+
+melisma = \property Staff.melismaBusy = ##t
+melismaEnd = \property Staff.melismaBusy = ##f
+
+
+\include "engraver-init.ly"
+\include "grace-init.ly"
+
+singleLine = \paper { linewidth = 1. }
+
+% ugh
+\include "midi-init.ly"
+
+papersize = "a4"
+paperfile = \papersize + "-init.ly"
+
+\include "generic-paper-init.ly"
+\include "paper20-init.ly"
+
+
+\include "dynamic-scripts-init.ly"
+\include "spanners-init.ly"
+
+\include "property-init.ly"
+
+
+
+% reset default duration
+unusedEntry = \notes { c4 }    
+
+% music = "\melodic\relative c"
+
diff --git a/ly/deutsch.ly b/ly/deutsch.ly
new file mode 100644 (file)
index 0000000..8476b59
--- /dev/null
@@ -0,0 +1,52 @@
+% common german names for notes. "es" means flat, "is" means sharp
+%
+% by Roland Meier <meier@informatik.th-darmstadt.de>
+% based on swedish.ly by Mats Bengtsson.
+
+% 1999/06/09 Bjoern Jacke <bjoern.jacke@gmx.de>
+%            added asas and marked ases as `unusual'
+
+
+\pitchnames  #`(
+       (ceses . ,(make-pitch -1 0 -2 ))
+       (ces . ,(make-pitch -1 0 -1 ))
+       (c . ,(make-pitch -1 0 0 ))
+       (cis . ,(make-pitch -1 0 1 ))
+       (cisis . ,(make-pitch -1 0 2 ))
+       (deses . ,(make-pitch -1 1 -2 ))
+       (des . ,(make-pitch -1 1 -1 ))
+       (d . ,(make-pitch -1 1 0 ))
+       (dis . ,(make-pitch -1 1 1 ))
+       (disis . ,(make-pitch -1 1 2 ))
+       (eses . ,(make-pitch -1 2 -2 ))
+       (es . ,(make-pitch -1 2 -1 ))
+       (e . ,(make-pitch -1 2 0 ))
+       (eis . ,(make-pitch -1 2 1 ))
+       (eisis . ,(make-pitch -1 2 2 ))
+       (feses . ,(make-pitch -1 3 -2 ))
+       (fes . ,(make-pitch -1 3 -1 ))
+       (f . ,(make-pitch -1 3 0 ))
+       (fis . ,(make-pitch -1 3 1 ))
+       (fisis . ,(make-pitch -1 3 2 ))
+       (geses . ,(make-pitch -1 4 -2 ))
+       (ges . ,(make-pitch -1 4 -1 ))
+       (g . ,(make-pitch -1 4 0 ))
+       (gis . ,(make-pitch -1 4 1 ))
+       (gisis . ,(make-pitch -1 4 2 ))
+       (asas . ,(make-pitch -1 5 -2 ))
+       (ases . ,(make-pitch -1 5 -2 ))   ;;non-standard name for asas
+       (as . ,(make-pitch -1 5 -1 ))
+       (a . ,(make-pitch -1 5 0 ))
+       (ais . ,(make-pitch -1 5 1 ))
+       (aisis . ,(make-pitch -1 5 2 ))
+       (heses . ,(make-pitch -1 6 -2 ))
+       (b . ,(make-pitch -1 6 -1 ))
+       (h . ,(make-pitch -1 6 0 ))
+       (his . ,(make-pitch -1 6 1 ))
+       (hisis . ,(make-pitch -1 6 2 ))
+)
+
+
+
+
+\version "1.3.146"
diff --git a/ly/drumpitch-init.ly b/ly/drumpitch-init.ly
new file mode 100644 (file)
index 0000000..b55e8bb
--- /dev/null
@@ -0,0 +1,160 @@
+% GM drum pitches.
+% I use different accidentals to distinguish drums at the same GM pitch.
+% Always accidental 0 (white keys) or 1 (black keys) to get the "correct" gm name.
+% i.e. fis, for closed highat  ges, for highat.
+
+% 2001/03/25 Rune Zedeler <rune@zedeler.dk>
+
+
+%% TODO: don't pollute global namespace in this way . 
+
+
+#(define drum-pitch-names `(
+       (acousticbassdrum bda   ,(make-pitch -3 6 0 ))
+       (bassdrum         bd    ,(make-pitch -2 0 0 ))
+       (hisidestick      ssh   ,(make-pitch -3 6 2))
+       (sidestick        ss    ,(make-pitch -2 0 1))
+       (losidestick      ssl   ,(make-pitch -2 1 -1))
+       (acousticsnare    sna   ,(make-pitch -2 1 0))
+       (snare            sn    ,(make-pitch -2 2 -2))
+       (handclap         hc    ,(make-pitch -2 1 1))
+       (electricsnare    sne   ,(make-pitch -2 2 0))
+       (lowfloortom      tomfl ,(make-pitch -2 3 0))
+       (closedhihat      hhc   ,(make-pitch -2 3 1))
+       (hihat            hh    ,(make-pitch -2 4 -1))
+       (highfloortom     tomfh ,(make-pitch -2 4 0))
+       (pedalhihat       hhp   ,(make-pitch -2 4 1))
+       (lowtom           toml  ,(make-pitch -2 5 0))
+       (openhihat        hho   ,(make-pitch -2 5 1))
+       (halfopenhihat    hhho  ,(make-pitch -2 5 1))
+       (lowmidtom        tomml ,(make-pitch -2 6 0))
+       (himidtom         tommh ,(make-pitch -1 0 0))
+       (crashcymbala     cymca ,(make-pitch -1 0 1))
+       (crashcymbal      cymc  ,(make-pitch -1 1 -1))
+       (hightom          tomh  ,(make-pitch -1 1 0))
+       (ridecymbala      cymra ,(make-pitch -1 1 1))
+       (ridecymbal       cymr  ,(make-pitch -1 2 -1))
+       (chinesecymbal    cymch ,(make-pitch -1 2 0))
+       (ridebell         rb    ,(make-pitch -1 3 0))
+       (tambourine       tamb  ,(make-pitch -1 3 1))
+       (splashcymbal     cyms  ,(make-pitch -1 4 0))
+       (cowbell          cb    ,(make-pitch -1 4 1))
+       (crashcymbalb     cymcb ,(make-pitch -1 5 0))
+       (vibraslap        vibs  ,(make-pitch -1 5 1))
+       (ridecymbalb      cymrb ,(make-pitch -1 6 0))
+       (hibongo          boh   ,(make-pitch 0 0 0))
+       (lobongo          bol   ,(make-pitch 0 0 1))
+       (mutehiconga      cghm  ,(make-pitch 0 1 0))
+       (openhiconga      cgho  ,(make-pitch 0 1 1))
+       (hiconga          cgh   ,(make-pitch 0 2 -1))
+ (openloconga      cglo  ,(make-pitch 0 1 2))
+       (loconga          cgl   ,(make-pitch 0 2 0))
+       (hitimbale        timh  ,(make-pitch 0 3 0))
+       (lotimbale        timl  ,(make-pitch 0 3 1))
+       (hiagogo          agh   ,(make-pitch 0 4 0))
+       (loagogo          agl   ,(make-pitch 0 4 1))
+       (cabasa           cab   ,(make-pitch 0 5 0))
+       (maracas          mar   ,(make-pitch 0 5 1))
+       (shortwhistle     whs   ,(make-pitch 0 6 0))
+       (longwhistle      whl   ,(make-pitch 1 0 0))
+       (shortguiro       guis  ,(make-pitch 1 0 1))
+       (longguiro        guil  ,(make-pitch 1 1 0))
+       (guiro            gui   ,(make-pitch 1 0 2))
+       (claves           cl    ,(make-pitch 1 1 1))
+       (hiwoodblock      wbh   ,(make-pitch 1 2 0))
+       (lowoodblock      wbl   ,(make-pitch 1 3 0))
+       (mutecuica        cuim  ,(make-pitch 1 3 1))
+       (opencuica        cuio  ,(make-pitch 1 4 0))
+       (mutetriangle     trim  ,(make-pitch 1 4 1))
+       (triangle         tri   ,(make-pitch 1 4 2))
+       (opentriangle     trio  ,(make-pitch 1 5 0))
+       ;; "transposing" pitches:
+       (oneup            ua    ,(make-pitch 0 1 0))
+       (twoup            ub    ,(make-pitch 0 2 0))
+       (threeup          uc    ,(make-pitch 0 3 0))
+       (fourup           ud    ,(make-pitch 0 4 0))
+       (fiveup           ue    ,(make-pitch 0 5 0))
+       (onedown          da    ,(make-pitch -1 6 0))
+       (twodown          db    ,(make-pitch -1 5 0))
+       (threedown        dc    ,(make-pitch -1 4 0))
+       (fourdown         dd    ,(make-pitch -1 3 0))
+       (fivedown         de    ,(make-pitch -1 2 0))
+))
+
+#(define drums `(
+       (acousticbassdrum default       ,#f       ,(make-pitch -1 4 0))
+       (bassdrum         default       ,#f       ,(make-pitch -1 4 0))
+       (sidestick        cross         ,#f       ,(make-pitch 0 1 0))
+       (acousticsnare    default       ,#f       ,(make-pitch 0 1 0))
+       (snare            default       ,#f       ,(make-pitch 0 1 0))
+       (handclap         triangle      ,#f       ,(make-pitch 0 1 0))
+       (electricsnare    default       ,#f       ,(make-pitch 0 1 0))
+       (lowfloortom      default       ,#f       ,(make-pitch -1 3 0))
+       (closedhihat      cross         "stopped" ,(make-pitch 0 3 0))
+       (hihat            cross         ,#f       ,(make-pitch 0 3 0))
+       (highfloortom     default       ,#f       ,(make-pitch -1 5 0))
+       (pedalhihat       cross         ,#f       ,(make-pitch -1 2 0))
+       (lowtom           default       ,#f       ,(make-pitch 0 0 0))
+       (openhihat        cross         "open"    ,(make-pitch 0 3 0))
+       (halfopenhihat    xcircle       ,#f       ,(make-pitch 0 3 0))
+       (lowmidtom        default       ,#f       ,(make-pitch 0 1 0))
+       (himidtom         default       ,#f       ,(make-pitch 0 2 0))
+       (crashcymbala     xcircle       ,#f       ,(make-pitch 0 5 0))
+       (crashcymbal      xcircle       ,#f       ,(make-pitch 0 5 0))
+       (hightom          default       ,#f       ,(make-pitch 0 4 0))
+       (ridecymbala      cross         ,#f       ,(make-pitch 0 5 0))
+       (ridecymbal       cross         ,#f       ,(make-pitch 0 5 0))
+       (chinesecymbal    mensural      ,#f       ,(make-pitch 0 5 0))
+       (ridebell         default       ,#f       ,(make-pitch 0 5 0))
+       (splashcymbal     diamond       ,#f       ,(make-pitch 0 5 0))
+       (cowbell          triangle      ,#f       ,(make-pitch 0 5 0))
+       (crashcymbalb     cross         ,#f       ,(make-pitch 0 5 0))
+       (vibraslap        diamond       ,#f       ,(make-pitch 0 4 0))
+       (ridecymbalb      cross         ,#f       ,(make-pitch 0 5 0))
+ ))
+
+#(define timbales `(
+       (losidestick      cross         ,#f       ,(make-pitch -1 6 0))
+       (lotimbale        default       ,#f       ,(make-pitch -1 6 0))
+       (cowbell          triangle      ,#f       ,(make-pitch 0 0 0))
+       (hisidestick      cross         ,#f       ,(make-pitch 0 1 0))
+       (hitimbale        default       ,#f       ,(make-pitch 0 1 0))
+ ))
+
+#(define congas `(
+       (losidestick      cross         ,#f       ,(make-pitch -1 6 0))
+       (loconga          default       ,#f       ,(make-pitch -1 6 0))
+       (openloconga      default       ,"open"   ,(make-pitch -1 6 0))
+       (hisidestick      cross         ,#f       ,(make-pitch 0 1 0))
+       (hiconga          default       ,#f       ,(make-pitch 0 1 0))
+       (openhiconga      default       "open"    ,(make-pitch 0 1 0))
+        (mutehiconga      default       "stopped" ,(make-pitch 0 1 0))
+  
+ ))
+
+#(define bongos `(
+       (lobongo          default       ,#f       ,(make-pitch -1 6 0))
+       (hibongo          default       ,#f       ,(make-pitch 0 1 0))
+ ))
+
+#(define guiro `(
+       (shortguiro       default       "staccato",(make-pitch 0 0 0))
+       (longguiro        default       "tenuto"  ,(make-pitch 0 0 0))
+       (guiro            default       ,#f       ,(make-pitch 0 0 0))
+ ))
+
+#(define triangle `(
+       (opentriangle     cross         "open"    ,(make-pitch 0 0 0))
+       (mutetriangle     cross         "stopped" ,(make-pitch 0 0 0))
+       (triangle         cross         ,#f       ,(make-pitch 0 0 0))
+ ))
+
+
+
+\pitchnames
+#(append (map (lambda (x) (cons (car x) (caddr x))) drum-pitch-names)
+        (map (lambda (x) (cons (cadr x) (caddr x))) drum-pitch-names)
+ )
+
+
+\version "1.3.146"
diff --git a/ly/dynamic-scripts-init.ly b/ly/dynamic-scripts-init.ly
new file mode 100644 (file)
index 0000000..0f2f3e6
--- /dev/null
@@ -0,0 +1,27 @@
+\version "1.3.146"
+
+%
+% declare the standard dynamic identifiers.
+%
+ppppp = \dynamicscript #"ppppp"
+pppp = \dynamicscript #"pppp"
+ppp = \dynamicscript #"ppp"
+pp = \dynamicscript #"pp"
+p = \dynamicscript #"p"
+mp = \dynamicscript #"mp"
+mf = \dynamicscript #"mf"
+f = \dynamicscript #"e"                        % see feta-din layout
+ff = \dynamicscript #"ff"
+fff = \dynamicscript #"fff"
+ffff = \dynamicscript #"ffff"
+fp = \dynamicscript #"fp"
+
+sf = \dynamicscript #"sf"
+sfp = \dynamicscript #"sfp"
+sff = \dynamicscript #"sff"
+sfz = \dynamicscript #"sfz"
+fz = \dynamicscript #"fz"
+sp = \dynamicscript #"sp"
+spp = \dynamicscript #"spp"
+rfz = \dynamicscript #"rfz"
+
diff --git a/ly/english.ly b/ly/english.ly
new file mode 100644 (file)
index 0000000..9afeff2
--- /dev/null
@@ -0,0 +1,82 @@
+%{
+     English note names spelled out in full, and abbreviated
+     with s for sharp and f for flat.
+%}
+
+\pitchnames #`(
+       (cflatflat . ,(make-pitch -1 0 -2 ))
+       (cflat . ,(make-pitch -1 0 -1 ))
+       (c . ,(make-pitch -1 0 0 ))
+       (csharp . ,(make-pitch -1 0 1 ))
+       (csharpsharp . ,(make-pitch -1 0 2 ))
+       (dflatflat . ,(make-pitch -1 1 -2 ))
+       (dflat . ,(make-pitch -1 1 -1 ))
+       (d . ,(make-pitch -1 1 0 ))
+       (dsharp . ,(make-pitch -1 1 1 ))
+       (dsharpsharp . ,(make-pitch -1 1 2 ))
+       (eflatflat . ,(make-pitch -1 2 -2 ))
+       (eflat . ,(make-pitch -1 2 -1 ))
+       (e . ,(make-pitch -1 2 0 ))
+       (esharp . ,(make-pitch -1 2 1 ))
+       (esharpsharp . ,(make-pitch -1 2 2 ))
+       (fflatflat . ,(make-pitch -1 3 -2 ))
+       (fflat . ,(make-pitch -1 3 -1 ))
+       (f . ,(make-pitch -1 3 0 ))
+       (fsharp . ,(make-pitch -1 3 1 ))
+       (fsharpsharp . ,(make-pitch -1 3 2 ))
+       (gflatflat . ,(make-pitch -1 4 -2 ))
+       (gflat . ,(make-pitch -1 4 -1 ))
+       (g . ,(make-pitch -1 4 0 ))
+       (gsharp . ,(make-pitch -1 4 1 ))
+       (gsharpsharp . ,(make-pitch -1 4 2 ))
+       (aflatflat . ,(make-pitch -1 5 -2 ))
+       (aflat . ,(make-pitch -1 5 -1 ))
+       (a . ,(make-pitch -1 5 0 ))
+       (asharp . ,(make-pitch -1 5 1 ))
+       (asharpsharp . ,(make-pitch -1 5 2 ))
+       (bflatflat . ,(make-pitch -1 6 -2 ))
+       (bflat . ,(make-pitch -1 6 -1 ))
+       (b . ,(make-pitch -1 6 0 ))
+       (bsharp . ,(make-pitch -1 6 1 ))
+       (bsharpsharp . ,(make-pitch -1 6 2 ))
+
+       (cff . ,(make-pitch -1 0 -2 ))
+       (cf . ,(make-pitch -1 0 -1 ))
+       (c . ,(make-pitch -1 0 0 ))
+       (cs . ,(make-pitch -1 0 1 ))
+       (css . ,(make-pitch -1 0 2 ))
+       (dff . ,(make-pitch -1 1 -2 ))
+       (df . ,(make-pitch -1 1 -1 ))
+       (d . ,(make-pitch -1 1 0 ))
+       (ds . ,(make-pitch -1 1 1 ))
+       (dss . ,(make-pitch -1 1 2 ))
+       (eff . ,(make-pitch -1 2 -2 ))
+       (ef . ,(make-pitch -1 2 -1 ))
+       (e . ,(make-pitch -1 2 0 ))
+
+       (es . ,(make-pitch -1 2 1 ))    
+       (ess . ,(make-pitch -1 2 2 ))
+       (fff . ,(make-pitch -1 3 -2 ))
+       (ff . ,(make-pitch -1 3 -1 ))
+       (f . ,(make-pitch -1 3 0 ))
+       (fs . ,(make-pitch -1 3 1 ))
+       (fss . ,(make-pitch -1 3 2 ))
+       (gff . ,(make-pitch -1 4 -2 ))
+       (gf . ,(make-pitch -1 4 -1 ))
+       (g . ,(make-pitch -1 4 0 ))
+       (gs . ,(make-pitch -1 4 1 ))
+       (gss . ,(make-pitch -1 4 2 ))
+       (aff . ,(make-pitch -1 5 -2 ))
+       (af . ,(make-pitch -1 5 -1 ))
+       (a . ,(make-pitch -1 5 0 ))
+       (as . ,(make-pitch -1 5 1 ))
+       (ass . ,(make-pitch -1 5 2 ))
+       (bff . ,(make-pitch -1 6 -2 ))
+       (bf . ,(make-pitch -1 6 -1 ))
+       (b . ,(make-pitch -1 6 0 ))
+       (bs . ,(make-pitch -1 6 1 ))
+       (bss . ,(make-pitch -1 6 2 ))
+)
+
+\version "1.3.146"
+
diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly
new file mode 100644 (file)
index 0000000..9717e3c
--- /dev/null
@@ -0,0 +1,415 @@
+\version "1.3.146"
+
+%
+% setup for Request->Element conversion. Guru-only
+%
+
+StaffContext=\translator {
+       \type "Engraver_group_engraver"
+       \name Staff 
+       \consists "Output_property_engraver"    
+       Generic_property_list = #generic-staff-properties
+       
+       \consists "Bar_engraver"
+ % Bar_engraver must be first so default bars aren't overwritten
+% with empty ones.
+       \consists "Font_size_engraver"
+
+%      \consists "Repeat_engraver"
+       \consists "Volta_engraver"
+       \consists "Separating_line_group_engraver"      
+
+
+
+       \consists "Clef_engraver"
+       \consists "Key_engraver"
+       \consists "Time_signature_engraver"
+       \consists "Staff_symbol_engraver"
+       \consists "Collision_engraver"
+       \consists "Rest_collision_engraver"
+       \consists "Local_key_engraver"
+       \consists "Piano_pedal_engraver"
+       \consists "Instrument_name_engraver"
+
+       \consistsend "Axis_group_engraver"
+       
+       MinimumVerticalExtent = #'(-4 . 4)
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
+
+       % explicitly set instrument, so we don't get 
+       % weird effects when doing instrument names for
+       % piano staves
+
+       instrument = ##f
+       instr = ##f
+         
+       \accepts "Voice"
+}
+
+
+StaffContainerContext = \translator {
+       \type Engraver_group_engraver
+       \consists "Axis_group_engraver"
+       MinimumVerticalExtent = ##f
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
+       
+       \accepts Staff
+       \name StaffContainer
+}
+
+InnerChoirStaffContext = \translator {
+       \type "Engraver_group_engraver"
+       \name InnerChoirStaff
+       alignmentReference = #0
+       \consists "System_start_delimiter_engraver"
+       SystemStartDelimiter \override #'glyph = #'bracket
+
+       \accepts "Staff"
+       \accepts "RhythmicStaff"
+       \accepts "GrandStaff"
+       \accepts "PianoStaff"
+       \accepts "Lyrics"
+       \accepts "ChordNames"
+}
+ChoirStaffContext = \translator {
+       \InnerChoirStaffContext
+       \name ChoirStaff
+       \accepts "InnerChoirStaff"
+       \accepts "InnerStaffGroup"
+}
+
+
+RhythmicStaffContext=\translator{
+       \type "Engraver_group_engraver"
+       
+       \consists "Output_property_engraver"    
+
+       Generic_property_list = #generic-staff-properties
+       MinimumVerticalExtent = ##f
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
+
+       \consists "Pitch_squash_engraver"
+       \consists "Separating_line_group_engraver"      
+       \name RhythmicStaff
+       \alias "Staff"
+       
+       Bar \override #'bar-size = #4
+       VoltaBracket \override #'minimum-space =  #15  % urg, in \pt
+       VoltaBracket \override #'padding =  #5  % urg, in \pt
+       StaffSymbol \override #'line-count = #1 
+
+%      \consists "Repeat_engraver"
+       \consists "Volta_engraver"
+       \consists "Bar_engraver"
+       \consists "Time_signature_engraver"
+       \consists "Staff_symbol_engraver"
+       \consistsend "Axis_group_engraver"
+       \accepts "Voice"
+}
+
+
+VoiceContext = \translator {
+       \type "Engraver_group_engraver"
+       \name Voice
+
+       Generic_property_list = #generic-voice-properties
+       \consists "Font_size_engraver"
+       
+       % must come before all
+       \consists "Voice_devnull_engraver"
+       \consists "Output_property_engraver"    
+       \consists "Arpeggio_engraver"
+       \consists "Multi_measure_rest_engraver"
+       \consists "Text_spanner_engraver"
+       
+       \consists "Breathing_sign_engraver"
+       % \consists "Rest_engraver"
+       \consists "Dot_column_engraver"
+       \consists "Stem_engraver"
+       \consists "Beam_engraver"
+       \consists "Auto_beam_engraver"
+
+       \consists "Chord_tremolo_engraver"
+       \consists "Percent_repeat_engraver"
+       \consists "Melisma_engraver"
+
+%{
+ Must come before text_engraver, but after note_column engraver.
+
+%}
+       \consists "Dynamic_engraver"
+       \consists "Text_engraver"
+
+       \consists "Script_engraver"
+       \consists "Script_column_engraver"
+       \consists "Rhythmic_column_engraver"
+       \consists "Phrasing_slur_engraver"
+       \consists "Slur_engraver"
+       \consists "Tie_engraver"
+       \consists "Tuplet_engraver"
+       \consists "A2_engraver"
+
+       \consists "Skip_req_swallow_translator"
+       \accepts Thread % bug if you leave out this!
+}
+
+ThreadContext = \translator{
+       \type Engraver_group_engraver
+       \name Thread
+
+       \consists "Font_size_engraver"  
+       \consists "Thread_devnull_engraver"
+       \consists "Note_heads_engraver"
+       \consists "Rest_engraver"
+       \consists "Note_head_line_engraver"
+       \consists "Output_property_engraver"    
+       Generic_property_list = #generic-thread-properties
+}
+
+GrandStaffContext=\translator{
+       \type "Engraver_group_engraver"
+       \name GrandStaff
+       \consists "Span_bar_engraver"
+       \consists "Span_arpeggio_engraver"
+       \consists "System_start_delimiter_engraver"
+       SystemStartDelimiter \override #'glyph = #'brace
+       
+       Generic_property_list = #generic-grand-staff-properties
+       \accepts "Staff"
+}
+
+PianoStaffContext = \translator{
+       \GrandStaffContext
+       \name "PianoStaff"
+
+       \consists "Vertical_align_engraver"
+       \consists "Instrument_name_engraver"
+       
+       instrument = ##f
+       instr = ##f
+       
+       verticalAlignmentChildCallback = #Align_interface::fixed_distance_alignment_callback
+       VerticalAlignment \override #'forced-distance = #12
+       VerticalAlignment \override #'self-alignment-Y = #0
+%      \consistsend "Axis_group_engraver"
+}
+
+InnerStaffGroupContext= \translator {
+       \type "Engraver_group_engraver"
+       \name InnerStaffGroup
+
+       \consists "Span_bar_engraver"
+       \consists "Span_arpeggio_engraver"
+       \consists "Output_property_engraver"    
+       SystemStartDelimiter \override #'glyph = #'bracket
+
+       \consists "System_start_delimiter_engraver"
+       \accepts "Staff"
+       \accepts "RhythmicStaff"
+       \accepts "GrandStaff"
+       \accepts "PianoStaff"
+       
+       \accepts "Lyrics"
+       \accepts "ChordNames"
+}
+StaffGroupContext = \translator {
+       \InnerStaffGroupContext
+       \name StaffGroup
+       \accepts "InnerChoirStaff"
+       \accepts "ChoirStaff"
+       \accepts "InnerStaffGroup"
+}
+
+
+% UGH! JUNKME
+LyricsVoiceContext= \translator{
+       \type "Engraver_group_engraver"
+       \consistsend "Axis_group_engraver"
+       MinimumVerticalExtent = #(cons -1.2 1.2)
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
+       \name LyricsVoice 
+       \consists "Separating_line_group_engraver"
+       \consists "Lyric_engraver"
+       \consists "Extender_engraver"
+       \consists "Hyphen_engraver"
+       \consists "Stanza_number_engraver"
+       phrasingPunctuation = #".,:!?\""
+       
+}
+NoteNamesContext = \translator {
+       \type "Engraver_group_engraver"
+       \name NoteNames
+       \consistsend "Axis_group_engraver"
+
+       MinimumVerticalExtent = ##f
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
+
+       
+       \consists "Note_name_engraver"
+       \consists "Separating_line_group_engraver"
+}
+
+LyricsContext = \translator {
+       \type "Engraver_group_engraver"
+       \name Lyrics
+       \consists Vertical_align_engraver %need this for getting folded repeats right.
+       Generic_property_list = #generic-lyrics-properties
+
+       \consistsend "Axis_group_engraver"
+       MinimumVerticalExtent = ##f
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
+       
+       \accepts "LyricsVoice"
+}
+
+
+ChordNamesContext = \translator {
+       \type "Engraver_group_engraver"
+       \name ChordNames
+
+       Generic_property_list = #generic-chord-staff-properties
+
+
+       \consists "Output_property_engraver"    
+       \consists "Separating_line_group_engraver"
+       \consists "Chord_name_engraver"
+       \consists "Skip_req_swallow_translator"
+       \consistsend "Axis_group_engraver"
+       MinimumVerticalExtent = ##f
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
+
+       VerticalAxisGroup \override #'invisible-staff = ##t
+       }
+
+
+
+StupidScore = \translator {
+       \type "Score_engraver"
+       \name Score
+       \consists "Note_heads_engraver"
+}
+
+
+
+
+HaraKiriStaffContext = \translator {
+       \StaffContext
+       \remove "Axis_group_engraver"
+       \consistsend "Hara_kiri_engraver"
+       \consists "Instrument_name_engraver"
+       \accepts "Voice"
+}
+%{
+  The HaraKiriStaffContexts doesn't override \name,
+  so it is still named `Staff'.
+
+  %\translator { \HaraKiriStaffContext }
+%}
+
+
+
+
+ScoreContext = \translator {
+       \type Score_engraver
+       \name Score
+       
+
+       \consists "Repeat_acknowledge_engraver"
+       \consists "Timing_engraver"
+       \consists "Output_property_engraver"
+       \consists "System_start_delimiter_engraver"
+       \consists "Mark_engraver"       
+       \consists "Break_align_engraver"
+       \consists "Spacing_engraver"
+       \consists "Vertical_align_engraver"
+
+       \consists "Lyric_phrasing_engraver"
+       \consists "Bar_number_engraver"
+       \consists "Span_arpeggio_engraver"
+
+       \accepts "Staff"
+       \accepts "StaffContainer"
+       \accepts "StaffGroup"
+       \accepts "RhythmicStaff"        
+       \accepts "Lyrics"
+       \accepts "ChordNames"
+       \accepts "GrandStaff"
+       \accepts "ChoirStaff"
+       \accepts "PianoStaff"
+       \accepts "NoteNames"
+
+       soloText = #"Solo"
+       soloIIText = #"Solo II"
+       aDueText = #"a2"
+       soloADue = ##t
+       splitInterval = #'(0 . 1)
+       changeMoment = #`(,(make-moment 0 0) . ,(make-moment 1 512))
+
+       barAuto = ##t
+       voltaVisibility = ##t
+       %  name, glyph id, clef position 
+       % where is c0 in this clef?
+
+       clefGlyph = #"clefs-G"
+       clefPosition = #-2
+       centralCPosition = #-6
+       
+        automaticPhrasing = ##t
+       alignmentReference = #-1   % \down
+       defaultBarType = #"|"
+
+       explicitClefVisibility = #all-visible
+       explicitKeySignatureVisibility = #all-visible
+       
+       scriptDefinitions = #default-script-alist
+
+       verticalAlignmentChildCallback = #Align_interface::alignment_callback
+
+       pedalSustainStrings = #'("Ped." "*Ped." "*")
+       pedalUnaCordaStrings = #'("una corda" "" "tre corde")
+       pedalSostenutoStrings = #'()  % FIXME
+
+       tupletNumberFormatFunction = #denominator-tuplet-formatter
+       
+       keyAccidentalOrder = #'(
+         (6 . -1) (2  . -1) (5 . -1 ) (1  . -1) (4  . -1) (0  . -1) (3  . -1)
+        (3  . 1) (0 . 1) (4 . 1) (1 . 1) (5 . 1) (2 . 1) (6 . 1)
+         (6 . -2) (2  . -2) (5 . -2 ) (1  . -2) (4  . -2) (0  . -2) (3 . -2)
+         (3  . 2) (0 . 2) (4 . 2) (2 . 2) (5 . 2) (2 . 2) (6 . 2)
+        )
+       breakAlignOrder = #'(
+         Instrument_name
+         Left_edge_item
+         Span_bar
+         Breathing_sign
+         Clef_item
+         Key_item
+         Staff_bar
+         Time_signature
+         Custos
+       )
+
+
+       \elementdescriptions #all-grob-descriptions
+}
+
+OrchestralScoreContext= \translator {
+       \ScoreContext
+}
+EasyNotation =  \translator {
+       \ScoreContext
+       NoteHead \override #'molecule-callback = #Note_head::brew_ez_molecule
+       easyPlay = ##t
+}
+
+% retain for compatibility reasons (FIXME: convert-ly)
+GraceContext = \translator {
+       \type "Engraver_group_engraver"
+}
diff --git a/ly/generate-documentation.ly b/ly/generate-documentation.ly
new file mode 100644 (file)
index 0000000..104d57e
--- /dev/null
@@ -0,0 +1,6 @@
+\version "1.3.146"
+
+%
+% Running LilyPond on this file generates the documentation
+%
+#(eval-string (ly-gulp-file "generate-documentation.scm"))
diff --git a/ly/generate-interface-doc-init.ly b/ly/generate-interface-doc-init.ly
new file mode 100644 (file)
index 0000000..a50eeaf
--- /dev/null
@@ -0,0 +1,5 @@
+
+%
+% Running LilyPond on this file generates the short interface doc
+%
+#(eval-string (ly-gulp-file "generate-interface-doc.scm"))
diff --git a/ly/generic-paper-init.ly b/ly/generic-paper-init.ly
new file mode 100644 (file)
index 0000000..df96f2a
--- /dev/null
@@ -0,0 +1,8 @@
+\version "1.3.146"
+
+\paper {
+       texsetting = ""
+       pssetting = ""
+       scmsetting = "(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\n"% UGH. 
+
+}
diff --git a/ly/german-chords-init.ly b/ly/german-chords-init.ly
new file mode 100644 (file)
index 0000000..cb741eb
--- /dev/null
@@ -0,0 +1,41 @@
+\version "1.3.148"
+
+%  german-chords.ly:
+% german/norwegian/danish?
+
+% To get Bb instead of B, use
+% \include "german-chords.ly"
+% #(set! german-Bb #t)
+
+#(define german-Bb #f)
+
+#(define (pitch->chord-name-text-banter pitch steps)
+   (let ((dopitch (if (member (cdr pitch) '((6 -1) (6 -2)))
+                     (list 7 (+ (if german-Bb 0 1) (caddr pitch)))
+                     (cdr pitch)
+                )))
+     (cons
+       (list-ref '("C" "D" "E" "F" "G" "A" "H" "B") (car dopitch))
+       (accidental->text-super (cadr dopitch))
+     )
+   )
+ )
+
+
+
+#(define (pitch->note-name-text-banter pitch)
+   (let ((dopitch (if (member (cdr pitch) '((6 -1) (6 -2)))
+                    (list 7 (+ 1 (caddr pitch)))
+                    (cdr pitch)
+                )))
+     (list
+       (string-append
+         (list-ref '("c" "d" "e" "f" "g" "a" "h" "b") (car dopitch))
+         (if (or (equal? (car dopitch) 2) (equal? (car dopitch) 5))
+           (list-ref '( "ses"  "s" "" "is" "isis") (+ 2 (cadr dopitch)))
+           (list-ref '("eses" "es" "" "is" "isis") (+ 2 (cadr dopitch)))
+         )
+       )
+     )
+   )
+ )
diff --git a/ly/grace-init.ly b/ly/grace-init.ly
new file mode 100644 (file)
index 0000000..691498d
--- /dev/null
@@ -0,0 +1,45 @@
+
+#(define (grace-beam-space-function multiplicity)
+  (* (if (<= multiplicity 3) 0.816 0.844) 0.8))
+
+
+startGraceMusic = {
+    \property Voice.Stem \override  #'direction = #1
+    \property Voice.Stem \override #'length = #6
+    \property Voice.Stem \override #'lengths = 
+        #(map (lambda (x) (* 0.8 x)) '(3.5 3.5 3.5 4.5 5.0))
+    \property Voice.Stem \override #'beamed-lengths =
+        #(map (lambda (x) (* 0.8 x)) '(0.0 2.5 2.0 1.5))
+    \property Voice.Stem \override #'beamed-minimum-lengths =
+        #(map (lambda (x) (* 0.8 x)) '(0.0 1.5 1.25 1.0))
+    \property Voice.Stem \override #'no-stem-extend = ##t
+    \property Voice.Stem \override #'flag-style  = #"grace"
+
+    \property Voice.Beam \override #'space-function = #grace-beam-space-function
+    \property Voice.Beam \override #'thickness = #0.384
+    
+    % Can't use Staff.fontSize, since time sigs, keys sigs, etc. will
+    % be smaller as well.
+
+    \property Voice.fontSize = #-2
+    \property Staff.Accidentals \override #'font-relative-size = #-2
+}
+
+stopGraceMusic = {
+    \property Voice.Beam \revert #'space-function
+    \property Voice.Beam \revert #'thickness
+
+    \property Voice.Stem \revert #'flag-style
+    \property Voice.Stem \revert #'no-stem-extend
+    \property Voice.Stem \revert #'beamed-lengths
+    \property Voice.Stem \revert #'beamed-minimum-lengths
+    \property Voice.Stem \revert #'lengths    
+    \property Voice.Stem \revert #'length
+    \property Voice.Stem \revert #'direction    
+    
+    % Can't use Staff.fontSize, since time sigs, keys sigs, etc. will
+    % be smaller as well.
+
+    \property Voice.fontSize \unset
+    \property Staff.LocalKeyItem \revert #'font-relative-size
+}
diff --git a/ly/init.ly b/ly/init.ly
new file mode 100644 (file)
index 0000000..0ddb2db
--- /dev/null
@@ -0,0 +1,8 @@
+% Toplevel initialisation file. 
+
+
+\version "1.3.146"
+
+\include "declarations-init.ly"
+
+\maininput
diff --git a/ly/italiano.ly b/ly/italiano.ly
new file mode 100644 (file)
index 0000000..263d2bf
--- /dev/null
@@ -0,0 +1,51 @@
+%{
+ Common italian names for notes. "b" means flat (bemolle), "d" means sharp (diesis)
+ Adapted from dutch.ly.
+
+ English: a   b   c   d   e   f   g
+ Italian: la  si  do  re  mi  fa  sol
+
+ For french naming just change 'do' in 'ut'.
+%}
+
+% contributed by Paolo Zuliani <zuliap@easynet.it>
+
+\pitchnames #`(
+       (dobb . ,(make-pitch -1 0 -2 ))
+       (dob . ,(make-pitch -1 0 -1 ))
+       (do . ,(make-pitch -1 0 0 ))
+       (dod . ,(make-pitch -1 0 1 ))
+       (dodd . ,(make-pitch -1 0 2 ))
+       (rebb . ,(make-pitch -1 1 -2 ))
+       (reb . ,(make-pitch -1 1 -1 ))
+       (re . ,(make-pitch -1 1 0 ))
+       (red . ,(make-pitch -1 1 1 ))
+       (redd . ,(make-pitch -1 1 2 ))
+       (mibb . ,(make-pitch -1 2 -2 ))
+       (mib . ,(make-pitch -1 2 -1 ))
+       (mi . ,(make-pitch -1 2 0 ))
+       (mid . ,(make-pitch -1 2 1 ))
+       (midd . ,(make-pitch -1 2 2 ))
+       (fabb . ,(make-pitch -1 3 -2 ))
+       (fab . ,(make-pitch -1 3 -1 ))
+       (fa . ,(make-pitch -1 3 0 ))
+       (fad . ,(make-pitch -1 3 1 ))
+       (fadd . ,(make-pitch -1 3 2 ))
+       (solbb . ,(make-pitch -1 4 -2 ))
+       (solb . ,(make-pitch -1 4 -1 ))
+       (sol . ,(make-pitch -1 4 0 ))
+       (sold . ,(make-pitch -1 4 1 ))
+       (soldd . ,(make-pitch -1 4 2 ))
+       (labb . ,(make-pitch -1 5 -2 ))
+       (lab . ,(make-pitch -1 5 -1 ))
+       (la . ,(make-pitch -1 5 0 ))
+       (lad . ,(make-pitch -1 5 1 ))
+       (ladd . ,(make-pitch -1 5 2 ))
+       (sibb . ,(make-pitch -1 6 -2 ))
+       (sib . ,(make-pitch -1 6 -1 ))
+       (si . ,(make-pitch -1 6 0 ))
+       (sid . ,(make-pitch -1 6 1 ))
+       (sidd . ,(make-pitch -1 6 2 ))
+)
+
+\version "1.3.146"
diff --git a/ly/ledger-init.ly b/ly/ledger-init.ly
new file mode 100644 (file)
index 0000000..e1b774d
--- /dev/null
@@ -0,0 +1,8 @@
+\version "1.3.146"
+
+% ledger.ly
+
+hsize = 11.0 \in
+vsize = 17.0 \in
+
+
diff --git a/ly/legal-init.ly b/ly/legal-init.ly
new file mode 100644 (file)
index 0000000..47f413c
--- /dev/null
@@ -0,0 +1,5 @@
+\version "1.3.146"
+% legal-init.ly
+
+hsize = 8.5 \in
+vsize = 14.0 \in
diff --git a/ly/letter-init.ly b/ly/letter-init.ly
new file mode 100644 (file)
index 0000000..1ae8c49
--- /dev/null
@@ -0,0 +1,7 @@
+\version "1.3.146"
+% letter-init.ly
+
+hsize = 8.5 \in
+vsize = 11.0 \in
+
+
diff --git a/ly/midi-init.ly b/ly/midi-init.ly
new file mode 100644 (file)
index 0000000..730d92a
--- /dev/null
@@ -0,0 +1,7 @@
+\version "1.3.146"
+\midi {
+        \tempo 4=60
+       \include "performer-init.ly"
+%      unfold_all = "1"
+}
+
diff --git a/ly/nederlands.ly b/ly/nederlands.ly
new file mode 100644 (file)
index 0000000..bba3d0a
--- /dev/null
@@ -0,0 +1,49 @@
+\version "1.3.146"
+%{
+ common dutch names for notes. es means flat, is means sharp
+%}
+
+\pitchnames #`(
+       (ceses . ,(make-pitch -1 0 -2))
+       (ces . ,(make-pitch  -1 0 -1 ))
+       (c . ,(make-pitch  -1 0 0 ))
+       (cis . ,(make-pitch  -1 0 1 ))
+       (cisis . ,(make-pitch  -1 0 2 ))
+       (deses . ,(make-pitch  -1 1 -2 ))
+       (des . ,(make-pitch  -1 1 -1 ))
+       (d . ,(make-pitch  -1 1 0 ))
+       (dis . ,(make-pitch  -1 1 1 ))
+       (disis . ,(make-pitch  -1 1 2 ))
+       (eeses . ,(make-pitch  -1 2 -2 ))
+       (eses . ,(make-pitch  -1 2 -2 ))
+       (ees . ,(make-pitch  -1 2 -1 ))
+       (es . ,(make-pitch  -1 2 -1 ))
+       (e . ,(make-pitch  -1 2 0 ))
+       (eis . ,(make-pitch  -1 2 1 ))
+       (eisis . ,(make-pitch  -1 2 2 ))
+       (feses . ,(make-pitch  -1 3 -2 ))
+       (fes . ,(make-pitch  -1 3 -1 ))
+       (f . ,(make-pitch  -1 3 0 ))
+       (fis . ,(make-pitch  -1 3 1 ))
+       (fisis . ,(make-pitch  -1 3 2 ))
+       (geses . ,(make-pitch  -1 4 -2 ))
+       (ges . ,(make-pitch  -1 4 -1 ))
+       (g . ,(make-pitch  -1 4 0 ))
+       (gis . ,(make-pitch  -1 4 1 ))
+       (gisis . ,(make-pitch  -1 4 2 ))
+       (aeses . ,(make-pitch  -1 5 -2 ))
+       (ases . ,(make-pitch  -1 5 -2 ))
+       (aes . ,(make-pitch  -1 5 -1 ))
+       (as . ,(make-pitch  -1 5 -1 ))
+       (a . ,(make-pitch  -1 5 0 ))
+       (ais . ,(make-pitch  -1 5 1 ))
+       (aisis . ,(make-pitch  -1 5 2 ))
+       (beses . ,(make-pitch  -1 6 -2 ))
+       (bes . ,(make-pitch  -1 6 -1 ))
+       (b . ,(make-pitch  -1 6 0 ))
+       (bis . ,(make-pitch  -1 6 1 ))
+       (bisis . ,(make-pitch  -1 6 2 ))
+)
+
+
+
diff --git a/ly/norsk.ly b/ly/norsk.ly
new file mode 100644 (file)
index 0000000..f6630ba
--- /dev/null
@@ -0,0 +1,107 @@
+
+%      Idx norsk.ly,v 1.1 1998/03/25 11:38:28 arvidg Exp arvidg $      
+
+%{
+
+ Common norwegian names for notes, including versions without the
+ double s-es to save typing, as well as the traditional names with
+ them not to confuse musicians.  "es" or "ess" means flat, "is" or
+ "iss" means sharp.
+
+ Otherwise, the main difference from the dutch names is the that the
+ "b" is called "h" in norwegian, while the dutch "bes" is a norwegian
+ "b".
+
+ Staying within the (proud?) naming convention for norwegian language
+ setup used in LaTeX, this file is called "norsk.ly" instead of
+ "norwegian.ly", even if all other languages' files use the english
+ name.
+
+ This file is based on "dutch.ly".  Basically, I copied "dutch.ly",
+ duplicated all lines containing at least one "is" or "es", changed
+ every other "is" into an "iss" and every other "es" into an "ess",
+ added "ass" et al, and made some b->h-related changes.  There may be
+ bugs in here please tell me (or send patches) if you find any.
+
+                                  Arvid Gr=F8tting <arvidg@ifi.uio.no>
+
+%}
+
+\pitchnames #`(
+       (ceses . ,(make-pitch -1 0 -2 ))
+       (cessess . ,(make-pitch -1 0 -2 ))
+       (ces . ,(make-pitch -1 0 -1 ))
+       (cess . ,(make-pitch -1 0 -1 ))
+       (c . ,(make-pitch -1 0 0 ))
+       (cis . ,(make-pitch -1 0 1 ))
+       (ciss . ,(make-pitch -1 0 1 ))
+       (cisis . ,(make-pitch -1 0 2 ))
+       (cississ . ,(make-pitch -1 0 2 ))
+       (deses . ,(make-pitch -1 1 -2 ))
+       (dessess . ,(make-pitch -1 1 -2 ))
+       (des . ,(make-pitch -1 1 -1 ))
+       (dess . ,(make-pitch -1 1 -1 ))
+       (d . ,(make-pitch -1 1 0 ))
+       (dis . ,(make-pitch -1 1 1 ))
+       (diss . ,(make-pitch -1 1 1 ))
+       (disis . ,(make-pitch -1 1 2 ))
+       (dississ . ,(make-pitch -1 1 2 ))
+       (eeses . ,(make-pitch -1 2 -2 ))
+       (eessess . ,(make-pitch -1 2 -2 ))
+       (eses . ,(make-pitch -1 2 -2 ))
+       (essess . ,(make-pitch -1 2 -2 ))
+       (ees . ,(make-pitch -1 2 -1 ))
+       (eess . ,(make-pitch -1 2 -1 ))
+       (es . ,(make-pitch -1 2 -1 ))
+       (ess . ,(make-pitch -1 2 -1 ))
+       (e . ,(make-pitch -1 2 0 ))
+       (eis . ,(make-pitch -1 2 1 ))
+       (eiss . ,(make-pitch -1 2 1 ))
+       (eisis . ,(make-pitch -1 2 2 ))
+       (eississ . ,(make-pitch -1 2 2 ))
+       (feses . ,(make-pitch -1 3 -2 ))
+       (fessess . ,(make-pitch -1 3 -2 ))
+       (fes . ,(make-pitch -1 3 -1 ))
+       (fess . ,(make-pitch -1 3 -1 ))
+       (f . ,(make-pitch -1 3 0 ))
+       (fis . ,(make-pitch -1 3 1 ))
+       (fiss . ,(make-pitch -1 3 1 ))
+       (fisis . ,(make-pitch -1 3 2 ))
+       (fississ . ,(make-pitch -1 3 2 ))
+       (geses . ,(make-pitch -1 4 -2 ))
+       (gessess . ,(make-pitch -1 4 -2 ))
+       (ges . ,(make-pitch -1 4 -1 ))
+       (gess . ,(make-pitch -1 4 -1 ))
+       (g . ,(make-pitch -1 4 0 ))
+       (g . ,(make-pitch -1 4 0 ))
+       (gis . ,(make-pitch -1 4 1 ))
+       (giss . ,(make-pitch -1 4 1 ))
+       (gisis . ,(make-pitch -1 4 2 ))
+       (gississ . ,(make-pitch -1 4 2 ))
+       (aeses . ,(make-pitch -1 5 -2 ))
+       (aessess . ,(make-pitch -1 5 -2 ))
+       (ases . ,(make-pitch -1 5 -2 ))
+       (assess . ,(make-pitch -1 5 -2 ))
+       (aes . ,(make-pitch -1 5 -1 ))
+       (aess . ,(make-pitch -1 5 -1 ))
+       (as . ,(make-pitch -1 5 -1 ))
+       (ass . ,(make-pitch -1 5 -1 ))
+       (a . ,(make-pitch -1 5 0 ))
+       (ais . ,(make-pitch -1 5 1 ))
+       (aiss . ,(make-pitch -1 5 1 ))
+       (aisis . ,(make-pitch -1 5 2 ))
+       (aississ . ,(make-pitch -1 5 2 ))
+       (bes . ,(make-pitch -1 6 -2 ))
+       (bess . ,(make-pitch -1 6 -2 ))
+       (b . ,(make-pitch -1 6 -1 ))
+       (b . ,(make-pitch -1 6 -1 ))
+       (h . ,(make-pitch -1 6 0 ))
+       (his . ,(make-pitch -1 6 1 ))
+       (hiss . ,(make-pitch -1 6 1 ))
+       (hisis . ,(make-pitch -1 6 2 ))
+       (hississ . ,(make-pitch -1 6 2 ))
+)
+
+
+
+\version "1.3.146"
diff --git a/ly/paper-as5-init.ly b/ly/paper-as5-init.ly
new file mode 100644 (file)
index 0000000..f7f58a3
--- /dev/null
@@ -0,0 +1,17 @@
+% paper-as5-init.ly
+
+\version "1.3.146"
+
+paperAsFive = \paper {
+       staffheight = 5.\char
+
+       \stylesheet #(as-make-style-sheet 'as5)
+       
+       \translator { \StaffContext barSize = #5 }
+
+       % no beam-slope
+       %\translator { \VoiceContext beamHeight = #0 }
+       \include "params-as-init.ly"
+}
+
+\paper { \paperAsFive }
diff --git a/ly/paper-as9-init.ly b/ly/paper-as9-init.ly
new file mode 100644 (file)
index 0000000..86866b0
--- /dev/null
@@ -0,0 +1,16 @@
+% paper-as9-init.ly
+
+\version "1.3.146"
+
+paperAsNine = \paper {
+       staffheight = 9.\char
+
+       %\translator { \StaffContext barSize = \staffheight }
+
+       \stylesheet #(as-make-style-sheet 'as9)
+
+       \include "params-as-init.ly"
+       
+}
+
+\paper { \paperAsNine }
diff --git a/ly/paper-init.ly b/ly/paper-init.ly
new file mode 100644 (file)
index 0000000..f6ac488
--- /dev/null
@@ -0,0 +1,15 @@
+\version "1.3.146"
+% paper-init.ly
+
+%% Why som complicated?  /MB
+%linewidth20 = \hsize - 2.5 * \staffheight
+%textheight20 = \vsize - 5.0 * \staffheight
+%linewidth = \staffheight/20.0 * \linewidth20
+%textheight = \staffheight/20.0 * \textheight20
+
+linewidth = \hsize - 2.\cm
+% Leave the textheight calculation to the geometry package. /MB
+%textheight = \vsize - 4.\cm
+
+indent = \linewidth / 14.0
+
diff --git a/ly/paper11-init.ly b/ly/paper11-init.ly
new file mode 100644 (file)
index 0000000..2cc3913
--- /dev/null
@@ -0,0 +1,12 @@
+% paper11-init.ly
+
+\version "1.3.146"
+
+paperEleven = \paper {
+       staffheight = 11.0\pt
+       \stylesheet #(make-style-sheet 'paper11)
+
+       \include "params-init.ly"
+}
+
+\paper { \paperEleven }
diff --git a/ly/paper11.ly b/ly/paper11.ly
new file mode 100644 (file)
index 0000000..313d25a
--- /dev/null
@@ -0,0 +1,2 @@
+
+\include "paper11-init.ly"
diff --git a/ly/paper13-init.ly b/ly/paper13-init.ly
new file mode 100644 (file)
index 0000000..d053f1e
--- /dev/null
@@ -0,0 +1,14 @@
+% paper13-init.ly
+
+
+\version "1.3.146"
+
+paperThirteen = \paper {
+       staffheight = 13.0\pt
+
+       \stylesheet #(make-style-sheet 'paper13)
+       
+       \include "params-init.ly"
+}
+
+\paper { \paperThirteen }
diff --git a/ly/paper13.ly b/ly/paper13.ly
new file mode 100644 (file)
index 0000000..7ecec51
--- /dev/null
@@ -0,0 +1,2 @@
+
+\include "paper13-init.ly"
diff --git a/ly/paper16-init.ly b/ly/paper16-init.ly
new file mode 100644 (file)
index 0000000..c747eac
--- /dev/null
@@ -0,0 +1,12 @@
+% paper16-init.ly
+
+\version "1.3.146"
+
+paperSixteen = \paper {
+       staffheight = 16.0\pt
+       \stylesheet #(make-style-sheet 'paper16)
+
+       \include "params-init.ly"
+}
+
+\paper {\paperSixteen }
diff --git a/ly/paper16.ly b/ly/paper16.ly
new file mode 100644 (file)
index 0000000..2621cae
--- /dev/null
@@ -0,0 +1,2 @@
+
+\include "paper16-init.ly"
diff --git a/ly/paper20-init.ly b/ly/paper20-init.ly
new file mode 100644 (file)
index 0000000..13a67f0
--- /dev/null
@@ -0,0 +1,13 @@
+% paper20-init.ly
+
+
+\version "1.3.146"
+
+paperTwenty = \paper {
+       staffheight = 20.0\pt
+       \stylesheet #(make-style-sheet 'paper20)
+       
+       \include "params-init.ly"
+}
+
+\paper { \paperTwenty }
diff --git a/ly/paper20.ly b/ly/paper20.ly
new file mode 100644 (file)
index 0000000..4511cff
--- /dev/null
@@ -0,0 +1,2 @@
+
+\include "paper20-init.ly"
diff --git a/ly/paper23-init.ly b/ly/paper23-init.ly
new file mode 100644 (file)
index 0000000..bbb5510
--- /dev/null
@@ -0,0 +1,12 @@
+% paper23-init.ly
+
+
+\version "1.3.146"
+
+paperTwentythree = \paper {
+       staffheight = 23.0\pt
+       \stylesheet #(make-style-sheet 'paper23)
+       \include "params-init.ly"
+}
+
+\paper { \paperTwentythree }
diff --git a/ly/paper23.ly b/ly/paper23.ly
new file mode 100644 (file)
index 0000000..61dfc7f
--- /dev/null
@@ -0,0 +1,2 @@
+
+\include "paper23-init.ly"
diff --git a/ly/paper26-init.ly b/ly/paper26-init.ly
new file mode 100644 (file)
index 0000000..e64eba6
--- /dev/null
@@ -0,0 +1,12 @@
+% paper26-init.ly
+
+\version "1.3.146"
+
+paperTwentysix = \paper {
+       staffheight = 26.0\pt
+       \stylesheet #(make-style-sheet 'paper26)        
+
+       \include "params-init.ly"
+}
+
+\paper { \paperTwentysix }
diff --git a/ly/paper26.ly b/ly/paper26.ly
new file mode 100644 (file)
index 0000000..c874b34
--- /dev/null
@@ -0,0 +1,2 @@
+
+\include "paper26-init.ly"
diff --git a/ly/params-as-init.ly b/ly/params-as-init.ly
new file mode 100644 (file)
index 0000000..b9928df
--- /dev/null
@@ -0,0 +1,30 @@
+\version "1.3.146"
+% params-as-init.ly
+% generic paper parameters
+
+outputscale = \staffheight / 4.0
+
+linewidth = 60.0 \char
+textheight = 60.0 \char
+indent = 8.0\char
+
+staffspace = (\staffheight - 1.0 ) / 4.0
+stafflinethickness = \staffspace / 2.0
+
+\translator { \NoteNamesContext }
+\translator { \ScoreContext }
+\translator { \ChoirStaffContext }
+\translator { \GraceContext }
+\translator { \RhythmicStaffContext}
+\translator { \StaffContext }
+\translator { \VoiceContext }
+\translator { \StaffGroupContext }
+\translator { \ChordNamesContext }
+\translator { \GrandStaffContext }
+\translator { \LyricsContext }
+\translator { \ThreadContext }
+\translator { \PianoStaffContext }
+\translator { \LyricsVoiceContext }
+\translator { \StaffContainerContext }
+
+
diff --git a/ly/params-init.ly b/ly/params-init.ly
new file mode 100644 (file)
index 0000000..f406588
--- /dev/null
@@ -0,0 +1,48 @@
+\version "1.3.146"
+% JUNKME.
+
+%% deprecated
+papersizename = \papersize 
+
+% ly2dvi now uses `papersize' internally (and on cmd line)
+papersize = \papersize
+
+% FIXME
+% direct PostScript line height for single line staves
+lineheight = 14
+
+paperfile = \papersize + "-init.ly"
+
+% paperfile = "a4-init.ly"
+
+\include \paperfile
+\include "paper-init.ly"
+
+staffspace = \staffheight / 4.0
+stafflinethickness = \staffspace / 10.0
+outputscale = \staffheight / 4.0
+
+blotdiameter = 0.4 / \outputscale
+
+\translator { \NoteNamesContext }
+\translator { \ScoreContext }
+\translator { \ChoirStaffContext}
+\translator { \InnerChoirStaffContext}
+
+\translator { \RhythmicStaffContext}
+\translator { \StaffContext }
+\translator { \VoiceContext}
+\translator { \StaffGroupContext }
+\translator { \InnerStaffGroupContext }
+\translator { \ChordNamesContext }
+\translator { \GrandStaffContext}
+\translator { \LyricsContext }
+\translator { \ThreadContext}
+\translator { \PianoStaffContext}
+\translator { \LyricsVoiceContext }
+\translator { \StaffContainerContext }
+
+
+
+
+
diff --git a/ly/part-paper-init.ly b/ly/part-paper-init.ly
new file mode 100644 (file)
index 0000000..4e8fea4
--- /dev/null
@@ -0,0 +1,10 @@
+\version "1.3.146"
+
+% JUNKME
+%part-paper-init.ly
+
+\paper {
+       \translator { \OrchestralPartStaffContext }
+       \translator { \ScoreContext skipBars = ##t }
+}
+
diff --git a/ly/performer-init.ly b/ly/performer-init.ly
new file mode 100644 (file)
index 0000000..97c6638
--- /dev/null
@@ -0,0 +1,124 @@
+\version "1.3.146"
+%
+% setup for Request->Element conversion. Guru-only
+%
+StaffContext = \translator {
+       \type "Staff_performer"
+       \name Staff
+       \accepts Voice
+
+       \consists "Key_performer"
+       \consists "Tempo_performer"
+       \consists "Time_signature_performer"
+       dynamicStyle = #"dynamic"
+}
+\translator { \StaffContext }
+\translator { \StaffContext
+  \name RhythmicStaff
+}
+
+
+VoiceContext = \translator {
+       \type "Performer_group_performer"
+       \name Voice
+       \consists "Dynamic_performer"
+       \consists "Span_dynamic_performer"
+       \consists "Piano_pedal_performer"
+       \accepts "Thread"
+}
+\translator { \VoiceContext }
+
+ThreadContext = \translator {
+       \type "Performer_group_performer"
+       \name Thread
+       \consists "Note_performer"
+       \consists "Tie_performer"
+}
+\translator { \ThreadContext }
+
+% retain for compatibility reasons (FIXME: convert-ly)
+\translator {
+       \type "Performer_group_performer"
+       \name Grace
+}
+
+\translator
+{
+       \type "Performer_group_performer"
+       \name VoiceTwo\consists "Note_performer"
+
+}
+
+GrandStaffContext = \translator {
+       \type "Performer_group_performer"
+       \name GrandStaff
+       \accepts RhythmicStaff
+       \accepts Staff
+}
+\translator { \GrandStaffContext }
+
+PianoStaffContext = \translator {
+        \type "Performer_group_performer"
+       \name "PianoStaff"
+       \accepts Staff
+}
+\translator { \PianoStaffContext }
+
+\translator {
+       \type "Performer_group_performer"
+       \consists "Lyric_performer"
+       \name LyricsVoice
+}
+
+\translator{
+       \type "Performer_group_performer"
+       \name ChoirStaff
+       \accepts Staff
+}
+\translator { 
+       \type "Staff_performer"
+       \accepts LyricsVoice
+       \name Lyrics
+       \consists "Time_signature_performer"
+       \consists "Tempo_performer"
+}
+
+\translator {
+       \type "Staff_performer"
+       \accepts ChordNameVoice
+       \name ChordNames
+}
+
+\translator {
+       \type Performer_group_performer
+       \consists Note_performer
+       \name ChordNameVoice    
+}
+
+\translator {
+       \type Performer_group_performer
+
+       \name StaffGroup
+       \accepts Staff
+}
+
+ScoreContext = \translator {
+       \type "Score_performer"
+
+       \name Score
+       instrument = #"bright acoustic"
+       \accepts Staff
+       \accepts GrandStaff
+       \accepts PianoStaff
+       \accepts Lyrics 
+       \accepts StaffGroup
+       \accepts ChoirStaff
+       \accepts RhythmicStaff
+       \accepts ChordNames
+       \consists "Swallow_performer"
+
+       dynamicAbsoluteVolumeFunction = #default-dynamic-absolute-volume
+       instrumentEqualizer = #default-instrument-equalizer
+}
+\translator { \ScoreContext }
+
diff --git a/ly/property-init.ly b/ly/property-init.ly
new file mode 100644 (file)
index 0000000..83ea32e
--- /dev/null
@@ -0,0 +1,167 @@
+% property-init.ly
+
+\version "1.3.146"
+
+stemUp = \property Voice.Stem \set #'direction = #1
+stemDown = \property Voice.Stem \set #'direction = #-1 
+stemBoth= \property Voice.Stem \revert #'direction
+
+slurUp   = \property Voice.Slur \override #'direction = #1
+slurDown = \property Voice.Slur \override #'direction = #-1
+slurBoth = \property Voice.Slur \revert #'direction 
+shiftOn  = \property Voice.NoteColumn \override #'horizontal-shift = #1
+shiftOnn  = \property Voice.NoteColumn \override #'horizontal-shift = #2
+shiftOnnn  = \property Voice.NoteColumn \override #'horizontal-shift = #3
+shiftOff  = \property Voice.NoteColumn \revert #'horizontal-shift 
+
+tieUp = \property Voice.Tie \override #'direction = #1
+tieDown = \property Voice.Tie \override #'direction = #-1
+tieBoth = \property Voice.Tie \revert #'direction 
+
+dynamicUp  = {
+  \property Voice.DynamicText \override #'direction = #1
+  \property Voice.DynamicLineSpanner \override #'direction = #1
+}
+dynamicDown = {
+  \property Voice.DynamicText \override #'direction = #-1
+  \property Voice.DynamicLineSpanner \override #'direction = #-1
+}
+dynamicBoth = {
+  \property Voice.DynamicText \revert #'direction
+  \property Voice.DynamicLineSpanner \revert #'direction
+}
+
+scriptUp  = {
+  \property Voice.TextScript \override #'direction = #1
+  \property Voice.Script \override #'direction = #1
+}
+scriptDown = {
+  \property Voice.TextScript \override #'direction = #-1
+  \property Voice.Script \override #'direction = #-1
+}
+scriptBoth = {
+  \property Voice.TextScript \revert #'direction
+  \property Voice.Script \revert #'direction
+}
+
+dotsUp = \property Voice.Dots \override #'direction = #1
+dotsDown = \property Voice.Dots \override #'direction = #-1
+dotsBoth = \property Voice.Dots \revert #'direction 
+
+% why doubly?
+tupletUp  = {
+  \property Voice.TupletBracket \override #'direction = #1
+  \property Voice.TupletBracket \override #'direction = #1
+}
+tupletDown = {
+  \property Voice.TupletBracket \override #'direction = #-1
+  \property Voice.TupletBracket \override #'direction = #-1
+}
+tupletBoth = {
+  \property Voice.TupletBracket \revert #'direction
+  \property Voice.TupletBracket \revert #'direction
+}
+
+
+
+cadenzaOn = \property Score.timing = ##f
+cadenzaOff = {
+  \property Score.timing = ##t
+  \property Score.measurePosition = #(make-moment 0 1)
+}
+
+newpage = {
+  \break
+  % urg, only works for TeX output
+  \context Score \outputproperty #(make-type-checker 'paper-column-interface)
+    #'between-system-string = #"\\newpage"
+}
+
+% dynamic dir?  text script, articulation script dir?  
+oneVoice = {   
+  \stemBoth
+  \slurBoth
+  \tieBoth
+  \shiftOff
+}
+
+voiceOne = {
+  \stemUp
+  \slurUp
+  \tieUp
+  \dotsUp    
+}
+
+voiceTwo = {
+  \stemDown
+  \slurDown
+  \tieDown
+  \dotsDown  
+
+}
+   
+voiceThree = {
+  \stemUp
+  \slurUp
+  \tieUp
+  \shiftOn
+  \dotsUp
+}
+
+voiceFour = {
+  \stemDown
+  \slurDown
+  \tieDown
+  \shiftOn
+  \dotsDown
+}
+
+% There's also dash, but setting dash period/length should be fixed.
+slurDotted = \property Voice.Slur \override #'dashed = #1
+slurSolid = \property Voice.Slur \revert #'dashed
+tieDotted = \property Voice.Tie \override #'dashed = #1
+tieSolid = \property Voice.Tie \revert #'dashed
+
+       
+tiny  = 
+       \property Voice.fontSize= -2
+
+
+small  = 
+       \property Voice.fontSize= -1
+
+
+normalsize = {
+       \property Voice.fontSize= 0
+}
+
+normalkey = {
+       \property Staff.keyOctaviation = ##f
+}
+
+specialkey = {
+       \property Staff.keyOctaviation = ##t
+}
+
+% End the incipit and print a ``normal line start''.
+endincipit = \notes{
+    \partial 16 s16  % Hack to handle e.g. \bar ".|" \endincipit
+    \context Staff \outputproperty #(make-type-checker 'clef-interface) #'full-size-change = ##t
+    \context Staff \outputproperty #(make-type-checker 'clef-interface) #'non-default = ##t
+    \bar ""
+}
+
+autoBeamOff = \property Voice.noAutoBeaming = ##t
+autoBeamOn = \property Voice.noAutoBeaming = ##f
+
+emptyText = \property Voice.textNonEmpty = ##f
+fatText = \property Voice.textNonEmpty = ##t
+
+showStaffSwitch = \property PianoStaff.followVoice = ##t
+hideStaffSwitch = \property PianoStaff.followVoice = ##f
+
+
+% To remove a Volta bracet or some other graphical object,
+% set it to turnOff. Example: \property Staff.VoltaBracket = \turnOff
+
+turnOff = #'((meta .  ((interfaces . ()))))
diff --git a/ly/scale-definitions-init.ly b/ly/scale-definitions-init.ly
new file mode 100644 (file)
index 0000000..b3268ff
--- /dev/null
@@ -0,0 +1,100 @@
+\version "1.3.146"
+
+
+major = #'(
+    (0 . 0)
+    (1 . 0)
+    (2 . 0)
+    (3 . 0)
+    (4 . 0)
+    (5 . 0)
+    (6 . 0)
+  )
+
+minor = #'(
+    (0 . 0)
+    (1 . 0)
+    (2 . -1)
+    (3 . 0)
+    (4 . 0)
+    (5 . -1)
+    (6 . -1)
+    )
+
+
+ionian = #'(
+    (0 . 0)
+    (1 . 0)
+    (2 . 0)
+    (3 . 0)
+    (4 . 0)
+    (5 . 0)
+    (6 . 0)
+  )  
+
+
+locrian = #'(
+    (0 . 0)
+    (1 . -1)
+    (2 . -1)
+    (3 . 0)
+    (4 . -1)
+    (5 . -1)
+    (6 . -1)
+  )  
+
+
+aeolian = #'(
+    (0 . 0)
+    (1 . 0)
+    (2 . -1)
+    (3 . 0)
+    (4 . 0)
+    (5 . -1)
+    (6 . -1)
+    )
+
+
+mixolydian = #'(
+    (0 . 0)
+    (1 . 0)
+    (2 . 0)
+    (3 . 0)
+    (4 . 0)
+    (5 . 0)
+    (6 . -1)
+  )  
+
+
+lydian = #'(
+    (0 . 0)
+    (1 . 0)
+    (2 . 0)
+    (3 . 1)
+    (4 . 0)
+    (5 . 0)
+    (6 . 0)
+  )  
+
+
+phrygian = #'(
+    (0 . 0)
+    (1 . -1)
+    (2 . -1)
+    (3 . 0)
+    (4 . 0)
+    (5 . -1)
+    (6 . -1)
+)  
+
+
+dorian = #'(
+    (0 . 0)
+    (1 . 0)
+    (2 . -1)
+    (3 . 0)
+    (4 . 0)
+    (5 . 0)
+    (6 . -1)
+  )
+
diff --git a/ly/script-init.ly b/ly/script-init.ly
new file mode 100644 (file)
index 0000000..b0fcedd
--- /dev/null
@@ -0,0 +1,47 @@
+\version "1.3.146"
+
+
+dashHat= "marcato"
+dashPlus= "stopped"
+dashDash= "tenuto"
+dashBar= "staccatissimo"
+dashLarger= "accent"
+dashDot= "staccato"
+
+
+thumb = \script "thumb"
+accent = \script "accent"
+marcato = \script "marcato"
+staccatissimo = \script "staccatissimo"
+
+% portato is indicated
+% either by
+%   *  slurred & dotted notes. 
+%or by
+%  * slur and dash notes.
+% Neither are  really supported, but c4-.-- should work.
+% portato = \script "portato"
+
+fermata = \script "fermata"
+stopped = \script "stopped"
+staccato = \script "staccato"
+tenuto = \script "tenuto"
+upbow = \script "upbow"
+downbow = \script "downbow"
+lheel = \script "lheel"
+rheel = \script "rheel"
+ltoe = \script "ltoe"
+rtoe = \script "rtoe"
+turn = \script "turn"
+open = \script "open"
+flageolet = \script "flageolet"
+reverseturn = \script "reverseturn"
+trill = \script "trill"
+prall = \script "prall"
+mordent = \script "mordent"
+prallprall = \script "prallprall"
+prallmordent = \script "prallmordent"
+upprall = \script "upprall"
+downprall = \script "downprall"
+segno = \script "segno"
+coda = \script "coda"
diff --git a/ly/spanners-init.ly b/ly/spanners-init.ly
new file mode 100644 (file)
index 0000000..3fdf1b7
--- /dev/null
@@ -0,0 +1,53 @@
+\version "1.3.146"
+
+cr = \spanrequest \start "crescendo"
+decr = \spanrequest  \start "decrescendo"
+rc = \spanrequest   \stop "crescendo"
+rced = \spanrequest \stop "decrescendo"
+
+cresc = \notes {
+  \commandspanrequest \start "crescendo" 
+  \property Voice.crescendoText = #"cresc."
+  \property Voice.crescendoSpanner = #'dashed-line
+}
+
+% ah, this is handy: maybe drop resetting of properties in
+% dynamic-engraver ?
+endcresc = \notes {
+  \commandspanrequest \stop "crescendo" 
+  \property Voice.crescendoText \unset
+  \property Voice.crescendoSpanner \unset
+}
+
+dim = \notes {
+  \commandspanrequest \start "decrescendo" 
+  \property Voice.decrescendoText = #"dim."
+  \property Voice.decrescendoSpanner = #'dashed-line
+}
+
+enddim = \notes {
+  \commandspanrequest \stop "decrescendo" 
+   \property Voice.decrescendoText \unset
+ \property Voice.decrescendoSpanner \unset
+}
+
+%{
+
+cresc = \spanrequest \start "crescendo"
+endcresc = \spanrequest \stop "crescendo"
+
+%}
+
+% better name sustainstart/stop? 
+sustainDown = \spanrequest \start "Sustain"
+sustainUp = \spanrequest \stop "Sustain"
+
+unaCorda = \spanrequest \start "UnaCorda"
+treCorde = \spanrequest \stop "UnaCorda"
+
+sostenutoDown = \spanrequest \start "Sostenuto"
+sostenutoUp = \spanrequest \stop "Sostenuto"
+
+%crescpoco = \property Voice.crescendoText = "cresc. poco a poco"
+%decresc = \property Voice.crescendoText = "decr."
+%dim = \property Voice.crescendoText = "dim."
diff --git a/ly/suomi.ly b/ly/suomi.ly
new file mode 100644 (file)
index 0000000..66e1fa1
--- /dev/null
@@ -0,0 +1,48 @@
+% common finnish names for notes. "es" means flat, "is" means sharp
+%
+% by Heikki Junes <heikki.junes@hut.fi>
+% based on svenska.ly by Mats Bengtsson.
+
+% 2001/08/28 Heikki Junes <heikki.junes@hut.fi>
+%            added bb and marked heses as `unusual'
+
+\pitchnames #`(
+       (ceses . ,(make-pitch -1 0 -2 ))
+       (ces . ,(make-pitch -1 0 -1 ))
+       (c . ,(make-pitch -1 0 0 ))
+       (cis . ,(make-pitch -1 0 1 ))
+       (cisis . ,(make-pitch -1 0 2 ))
+       (deses . ,(make-pitch -1 1 -2 ))
+       (des . ,(make-pitch -1 1 -1 ))
+       (d . ,(make-pitch -1 1 0 ))
+       (dis . ,(make-pitch -1 1 1 ))
+       (disis . ,(make-pitch -1 1 2 ))
+       (eses . ,(make-pitch -1 2 -2 ))
+       (es . ,(make-pitch -1 2 -1 ))
+       (e . ,(make-pitch -1 2 0 ))
+       (eis . ,(make-pitch -1 2 1 ))
+       (eisis . ,(make-pitch -1 2 2 ))
+       (feses . ,(make-pitch -1 3 -2 ))
+       (fes . ,(make-pitch -1 3 -1 ))
+       (f . ,(make-pitch -1 3 0 ))
+       (fis . ,(make-pitch -1 3 1 ))
+       (fisis . ,(make-pitch -1 3 2 ))
+       (geses . ,(make-pitch -1 4 -2 ))
+       (ges . ,(make-pitch -1 4 -1 ))
+       (g . ,(make-pitch -1 4 0 ))
+       (gis . ,(make-pitch -1 4 1 ))
+       (gisis . ,(make-pitch -1 4 2 ))
+       (asas . ,(make-pitch -1 5 -2 ))
+       (ases . ,(make-pitch -1 5 -2 ))   ;;non-standard name for asas
+       (as . ,(make-pitch -1 5 -1 ))
+       (a . ,(make-pitch -1 5 0 ))
+       (ais . ,(make-pitch -1 5 1 ))
+       (aisis . ,(make-pitch -1 5 2 ))
+       (bb . ,(make-pitch -1 6 -2 ))
+       (heses . ,(make-pitch -1 6 -2 ))  ;;non-standard name for bb
+       (b . ,(make-pitch -1 6 -1 ))
+       (h . ,(make-pitch -1 6 0 ))
+       (his . ,(make-pitch -1 6 1 ))
+       (hisis . ,(make-pitch -1 6 2 ))
+)
+\version "1.3.146"
diff --git a/ly/svenska.ly b/ly/svenska.ly
new file mode 100644 (file)
index 0000000..c9b5498
--- /dev/null
@@ -0,0 +1,43 @@
+%
+% common Swedish names for notes. "ess" means flat, "iss" means sharp
+%
+% by Mats Bengtsson.
+
+\pitchnames #`(
+       (cessess . ,(make-pitch -1 0 -2 ))
+       (cess . ,(make-pitch -1 0 -1 ))
+       (c . ,(make-pitch -1 0 0 ))
+       (ciss . ,(make-pitch -1 0 1 ))
+       (cississ . ,(make-pitch -1 0 2 ))
+       (dessess . ,(make-pitch -1 1 -2 ))
+       (dess . ,(make-pitch -1 1 -1 ))
+       (d . ,(make-pitch -1 1 0 ))
+       (diss . ,(make-pitch -1 1 1 ))
+       (dississ . ,(make-pitch -1 1 2 ))
+       (essess . ,(make-pitch -1 2 -2 ))
+       (ess . ,(make-pitch -1 2 -1 ))
+       (e . ,(make-pitch -1 2 0 ))
+       (eiss . ,(make-pitch -1 2 1 ))
+       (eississ . ,(make-pitch -1 2 2 ))
+       (fessess . ,(make-pitch -1 3 -2 ))
+       (fess . ,(make-pitch -1 3 -1 ))
+       (f . ,(make-pitch -1 3 0 ))
+       (fiss . ,(make-pitch -1 3 1 ))
+       (fississ . ,(make-pitch -1 3 2 ))
+       (gessess . ,(make-pitch -1 4 -2 ))
+       (gess . ,(make-pitch -1 4 -1 ))
+       (g . ,(make-pitch -1 4 0 ))
+       (giss . ,(make-pitch -1 4 1 ))
+       (gississ . ,(make-pitch -1 4 2 ))
+       (assess . ,(make-pitch -1 5 -2 ))
+       (ass . ,(make-pitch -1 5 -1 ))
+       (a . ,(make-pitch -1 5 0 ))
+       (aiss . ,(make-pitch -1 5 1 ))
+       (aississ . ,(make-pitch -1 5 2 ))
+       (hessess . ,(make-pitch -1 6 -2 ))
+       (b . ,(make-pitch -1 6 -1 ))
+       (h . ,(make-pitch -1 6 0 ))
+       (hiss . ,(make-pitch -1 6 1 ))
+       (hississ . ,(make-pitch -1 6 2 ))
+)
+\version "1.3.146"
index c20e4bec2e819401d0a34ab35e4aec04f5c7be2c..2496a8b7173f1d219ef2af8a038a1a17d281503d 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: LilyPond
-Version: 1.5.8
-Entered-date: 30AUG01
+Version: 1.5.9
+Entered-date: 08SEP01
 Description: @BLURB@
 Keywords: music notation typesetting midi fonts engraving
 Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       1000k lilypond-1.5.8.tar.gz 
+       1000k lilypond-1.5.9.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       1000k lilypond-1.5.8.tar.gz 
+       1000k lilypond-1.5.9.tar.gz 
 Copying-policy: GPL
 End
index b5595d928d4bbf6ab32bbf7f7f5f4ca910c317ec..e5b3515cab170cb3c56cd6c2f282b5fc3c2f4425 100644 (file)
@@ -1,5 +1,5 @@
 %define name lilypond
-%define version 1.5.8
+%define version 1.5.9
 %define release 1mdk
 
 Name: %{name}
index db5c4ebb6db0875511a881f7cb5d2716ff3d9c06..39388a36fd24fc8caf00783756d804d86ed04119 100644 (file)
@@ -1,11 +1,11 @@
 %define info yes
 
 Name: lilypond
-Version: 1.5.8
+Version: 1.5.9
 Release: 1
 License: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.8.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.9.tar.gz
 Summary: Create and print music notation 
 URL: http://www.lilypond.org/
 BuildRoot: /tmp/lilypond-install
index a5c1627454f78d1aa0f2c8bd8f4d84d9e9f5aa5c..b20198c2c75e205db6ce7a3d676e9d52fdb4ae2d 100644 (file)
 
 Distribution: SuSE Linux 7.0 (i386)
 Name: lilypond
-Version: 1.5.8
+Version: 1.5.9
 Release: 2
 Copyright:    GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.8.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.9.tar.gz
 # music notation software for.. ?
 Summary: A program for printing sheet music.
 URL: http://www.lilypond.org/
index 2bb37f8d653cc25468b2a2b6c2e4a43c024d7fd7..dfa347ef75f73d133af60b3934828c4514d03a32 100644 (file)
@@ -257,6 +257,11 @@ fet_beginchar("8th (down)", "d3", "deighthflag")
                (hip_width, foot_depth), 
                hip_depth_ratio,foot_width_ratio, hip_thickness, foot_thickness);
 
+       pickup pencircle scaled stemthickness;
+        draw (0, 0) .. (0,-2 staff_space);
+        y_mirror_char;
+fet_endchar;
+
 %%%%%%%%
 %
 %
@@ -470,11 +475,6 @@ fet_beginchar("grace dash (up)", "ugrace", "gracedash")
          (w, h);
 fet_endchar;
 
-       pickup pencircle scaled stemthickness;
-       draw (0, 0) .. (0,-2 staff_space);
-       y_mirror_char;
-fet_endchar;
-
 fet_beginchar("16th (down)", "d4", "dsixteenthflag")
        save flare, 
                hip_depth_ratio, hip_width,
index fadde1ec0e0e30be85e22c3d3baefbfd0bce2e54..24515de89e1cc222fbc44a0fe49009bdb6df2918 100644 (file)
@@ -345,12 +345,59 @@ fet_beginchar("128th rest","7","hundredtwentyeighthrest");
 
 endgroup;
 
-% Rest symbols for mensural notation:
+%%%%%%%%
+%
+%
+%
+% MENSURAL NOTATION
+%
+%
+%
 
-mensrestsize# = .8staff_space#;
+% Neo-mensural longa and breve are identical with default longa and breve.
 
-fet_beginchar("Mensural 4th rest","2mensural","minimarest")
-       set_char_box(0,mensrestsize#,0,mensrestsize#);
+neomens_block_rest_x# = 2/5 staff_space#;
+neomens_block_rest_y# = 1/1 staff_space#;
+neomens_half_block_rest_y# = 5/8 staff_space#;
+
+define_pixels(neomens_block_rest_x,
+             neomens_block_rest_y, neomens_half_block_rest_y);
+
+def neomens_half_block_rest =
+       draw_block ((0,0), (neomens_block_rest_x, neomens_half_block_rest_y));
+       enddef;
+
+fet_beginchar("Neo-mensural longa rest", "-2neo_mensural", "neomenslongarest");
+       set_char_box(0, neomens_block_rest_x#,
+                   neomens_block_rest_y#, neomens_block_rest_y#);
+       draw_block ((0,-neomens_block_rest_y),
+                  (neomens_block_rest_x, neomens_block_rest_y));
+fet_endchar;
+
+fet_beginchar("Neo-mensural breve rest", "-1neo_mensural", "neomensbreverest");
+       set_char_box(0, neomens_block_rest_x#,
+                   0, neomens_block_rest_y#);
+       draw_block ((0,0), (neomens_block_rest_x, neomens_block_rest_y));
+fet_endchar;
+
+fet_beginchar("Neo-mensural whole rest", "0neo_mensural", "neomenssemibrevisrest");
+       set_char_box(0, neomens_block_rest_x#,
+                    neomens_half_block_rest_y#,  0);
+       neomens_half_block_rest;
+       currentpicture :=
+               currentpicture shifted (0,- neomens_half_block_rest_y);
+fet_endchar;
+
+fet_beginchar("Neo-mensural half rest", "1neo_mensural", "neomensminimahalfrest");
+       set_char_box(0, neomens_block_rest_x#,
+                    0, neomens_half_block_rest_y#);
+       neomens_half_block_rest;
+fet_endchar;
+
+neomensrestsize# = .8staff_space#;
+
+fet_beginchar("Neo-mensural 4th rest","2neo_mensural","neomenssemiminimarest")
+       set_char_box(0,neomensrestsize#,0,neomensrestsize#);
         pickup pencircle scaled 2 stafflinethickness;
        lft x1 = 0;
        bot y1 = 0;
@@ -362,8 +409,8 @@ fet_beginchar("Mensural 4th rest","2mensural","minimarest")
        draw z2 .. z3;
 fet_endchar
 
-fet_beginchar("Mensural 8th rest","3mensural","fusarest")
-       set_char_box(0,mensrestsize#,0,mensrestsize#);
+fet_beginchar("Neo-mensural 8th rest","3neo_mensural","neomensfusarest")
+       set_char_box(0,neomensrestsize#,0,neomensrestsize#);
         pickup pencircle scaled 2 stafflinethickness;
        rt x1 = w;
        bot y1 = 0;
@@ -375,8 +422,8 @@ fet_beginchar("Mensural 8th rest","3mensural","fusarest")
        draw z2 .. z3;
 fet_endchar
 
-fet_beginchar("Mensural 16th rest","4mensural","semifusarest")
-       set_char_box(0,mensrestsize#,0,staff_space#);
+fet_beginchar("Neo-mensural 16th rest","4neo_mensural","neomenssemifusarest")
+       set_char_box(0,neomensrestsize#,0,staff_space#);
         pickup pencircle scaled 2 stafflinethickness;
        rt x1 = w;
        bot y1 = 0;
@@ -399,4 +446,101 @@ fet_beginchar("Mensural 16th rest","4mensural","semifusarest")
        draw z5 .. z6;
 fet_endchar
 
+pen_width# = 2/5 staff_space#;
+pen_height# = 0;
+pen_rotation = 30;
+slight_pen_rotation = 15;
+
+mens_block_rest_y# = 1/1 staff_space#;
+mens_half_block_rest_y# = 5/8 staff_space#;
+
+define_pixels(mens_block_rest_y, mens_half_block_rest_y,
+             pen_width, pen_height);
+
+fet_beginchar("Mensural longa rest", "-2mensural", "menslongarest");
+       set_char_box(pen_width#/2, pen_width#/2,
+                    mens_block_rest_y#, mens_block_rest_y#);
+       pickup pencircle
+               xscaled pen_width
+               yscaled pen_height
+               rotated slight_pen_rotation;
+       draw (0, -mens_block_rest_y) -- (0, mens_block_rest_y);
+fet_endchar;
+
+fet_beginchar("Mensural breve rest", "-1mensural", "mensbreverest");
+       set_char_box(pen_width#/2, pen_width#/2,
+                    0, mens_block_rest_y#);
+       pickup pencircle
+               xscaled pen_width
+               yscaled pen_height
+               rotated slight_pen_rotation;
+       draw (0, 0) -- (0, mens_block_rest_y);
+fet_endchar;
+
+fet_beginchar("Mensural whole rest", "0mensural", "menssemibrevisrest");
+       set_char_box(pen_width#/2, pen_width#/2,
+                    mens_half_block_rest_y#, 0);
+       pickup pencircle
+               xscaled pen_width
+               yscaled pen_height
+               rotated slight_pen_rotation;
+       draw (0, 0) -- (0, -mens_half_block_rest_y);
+fet_endchar;
+
+fet_beginchar("Mensural half rest", "1mensural", "mensminimahalfrest");
+       set_char_box(pen_width#/2, pen_width#/2,
+                    0, mens_half_block_rest_y#);
+       pickup pencircle
+               xscaled pen_width
+               yscaled pen_height
+               rotated slight_pen_rotation;
+       draw (0, 0) -- (0, mens_half_block_rest_y);
+fet_endchar;
+
+mensrestsize# = .8staff_space#;
+
+fet_beginchar("Mensural 4th rest","2mensural","menssemiminimarest")
+       set_char_box(0,mensrestsize#,0,mensrestsize#);
+       pickup pencircle
+               xscaled pen_width
+               yscaled pen_height
+               rotated pen_rotation;
+       lft x1 =      0;     y1 = 0;
+       lft x2 =      0; top y2 = 5/8 h;
+       rt  x3 =  4/8 w; bot y3 = 6/8 h;
+       rt  x4 = 10/8 w; bot y4 = 4/8 h;
+       draw z1 -- z2 -- z3 -- z4;
+fet_endchar
+
+fet_beginchar("Mensural 8th rest","3mensural","mensfusarest")
+       set_char_box(0,mensrestsize#,0,mensrestsize#);
+       pickup pencircle
+               xscaled pen_width
+               yscaled pen_height
+               rotated pen_rotation;
+       rt  x1 = 10/8 w;     y1 = 0;
+       rt  x2 = 10/8 w; top y2 = 5/8 h;
+       lft x3 =  2/8 w; bot y3 = 6/8 h;
+       lft x4 =      0; bot y4 = 4/8 h;
+       draw z1 -- z2 -- z3 -- z4;
+fet_endchar
+
+fet_beginchar("Mensural 16th rest","4mensural","menssemifusarest")
+       set_char_box(0,mensrestsize#,0,staff_space#);
+       pickup pencircle
+               xscaled pen_width
+               yscaled pen_height
+               rotated pen_rotation;
+
+       rt  x1 = 10/8 w;     y1 = 0;
+       rt  x2 = 10/8 w; top y2 = 5.5/8 h;
+       lft x3 =  2/8 w; bot y3 = 6.5/8 h;
+       lft x4 =      0; bot y4 = 4.5/8 h;
+       rt  x5 = 10/8 w; top y5 = 2.5/8 h;
+       lft x6 =  2/8 w; bot y6 = 3.5/8 h;
+       lft x7 =      0; bot y7 = 1.5/8 h;
+       draw z1 -- z2 -- z3 -- z4;
+       draw z5 -- z6 -- z7;
+fet_endchar
+
 fet_endgroup("rests")
diff --git a/po/sv.po b/po/sv.po
new file mode 100644 (file)
index 0000000..03dcf0c
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,1407 @@
+# Swedish translation of lilypond
+# Copyright (C) 2001 Free Software Foundation, Inc.
+# Martin Norbäck <d95mback@dtek.chalmers.se>, 2001.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: lilypond 1.4.6\n"
+"POT-Creation-Date: 2001-06-14 13:22+0200\n"
+"PO-Revision-Date: 2001-09-03 21:00+0200\n"
+"Last-Translator: Martin Norbäck <d95mback@dtek.chalmers.se>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ly2dvi.py:105
+msgid "Generate .dvi with LaTeX for LilyPond"
+msgstr "Generera .dvi med LaTeX för LilyPond"
+
+#: data-file.cc:118 input.cc:85 ly2dvi.py:190 midi-parser.cc:100 mup2ly.py:93
+#: update-lily.py:118 warn.cc:23
+msgid "warning: "
+msgstr "varning: "
+
+#: input.cc:90 ly2dvi.py:205 ly2dvi.py:804 mup2ly.py:98 mup2ly.py:188
+#: update-lily.py:123 update-lily.py:211 warn.cc:9 warn.cc:17
+msgid "error: "
+msgstr "fel: "
+
+#: ly2dvi.py:206 mup2ly.py:100 update-lily.py:125
+msgid "Exiting ... "
+msgstr "Avslutar... "
+
+#: ly2dvi.py:264 mup2ly.py:158 update-lily.py:183
+#, c-format
+msgid "Usage: %s [OPTION]... FILE"
+msgstr "Användning: %s [FLAGGA]... FIL"
+
+#: ly2dvi.py:268 main.cc:120 main.cc:148 mup2ly.py:162 update-lily.py:187
+msgid "Options:"
+msgstr "Flaggor:"
+
+#: ly2dvi.py:272 main.cc:124 main.cc:171 mup2ly.py:168 update-lily.py:191
+#, c-format
+msgid "Report bugs to %s"
+msgstr ""
+"Rapportera programfel till %s\n"
+"Rapportera fel i översättningen till <sv@li.org>"
+
+#: ly2dvi.py:305 mup2ly.py:185 update-lily.py:208
+#, c-format
+msgid "Invoking `%s'"
+msgstr "Startar \"%s\""
+
+#: ly2dvi.py:309 mup2ly.py:188 update-lily.py:211
+#, c-format
+msgid "command exited with value %d"
+msgstr "kommandot avslutade med värde %d"
+
+#: ly2dvi.py:311 mup2ly.py:190 update-lily.py:213
+msgid "(ignored)"
+msgstr "(ignorerat)"
+
+# här är det fråga om rensning av en temporärkatalog
+#: ly2dvi.py:321
+#, c-format
+msgid "Cleaning %s..."
+msgstr "Rensar %s..."
+
+#: ly2dvi.py:336 mup2ly.py:214 update-lily.py:237
+#, c-format
+msgid "no such setting: %s"
+msgstr "inställningen finns inte: %s"
+
+#: ly2dvi.py:349 main.cc:112
+msgid "write Makefile dependencies for every input file"
+msgstr "skriv Makefile-beroenden för varje indatafil"
+
+# förklaring av flaggan -h
+#: ly2dvi.py:350 main.cc:96 main.cc:108 mup2ly.py:1117 update-lily.py:251
+msgid "this help"
+msgstr "denna hjälp"
+
+#: ly2dvi.py:351 main.cc:110 main.cc:115
+msgid "DIR"
+msgstr "KATALOG"
+
+#: ly2dvi.py:351
+msgid "add DIR to LilyPond's search path"
+msgstr "lägg till KATALOG till LilyPonds sökväg"
+
+# %s är programmets namn
+#: ly2dvi.py:352
+#, c-format
+msgid "keep all output, and name the directory %s.dir"
+msgstr "behåll all utdata, och namnge katalogen %s.dir"
+
+#: ly2dvi.py:353
+msgid "don't run LilyPond"
+msgstr "kör inte LilyPond"
+
+#: ly2dvi.py:354 main.cc:113
+msgid "produce MIDI output only"
+msgstr "skapa enbart MIDI-utdata"
+
+#: ly2dvi.py:355 main.cc:99 main.cc:111 main.cc:114
+msgid "FILE"
+msgstr "FIL"
+
+#: ly2dvi.py:355
+msgid "write ouput to FILE"
+msgstr "skriv utdata till FIL"
+
+#: ly2dvi.py:357
+msgid "generate PostScript output"
+msgstr "skapa PostScript-utdata"
+
+#: ly2dvi.py:358
+msgid "KEY=VAL"
+msgstr "NYCKEL=VÄRDE"
+
+#: ly2dvi.py:358
+msgid "change global setting KEY to VAL"
+msgstr "ändra global inställning NYCKEL till VÄRDE"
+
+# Förklaring till --verbose (borde vara längre)
+#: ly2dvi.py:359 main.cc:118 mup2ly.py:1120 update-lily.py:255
+msgid "verbose"
+msgstr "utförlig utdata"
+
+#: ly2dvi.py:360 main.cc:105 main.cc:117 mup2ly.py:1121 update-lily.py:256
+msgid "print version number"
+msgstr "visa versionsnummer"
+
+#: ly2dvi.py:361 main.cc:107 main.cc:119 mup2ly.py:1122 update-lily.py:258
+msgid "show warranty and copyright"
+msgstr "visa garanti och copyright"
+
+#: ly2dvi.py:383 ly2dvi.py:578 ly2dvi.py:603
+#, c-format
+msgid "Running %s..."
+msgstr "Kör %s..."
+
+#: ly2dvi.py:396
+#, c-format
+msgid "Analyzing %s..."
+msgstr "Analyserar %s..."
+
+#: ly2dvi.py:452
+#, c-format
+msgid "no lilypond output found for %s"
+msgstr "ingen lilypondutdata funnen för %s"
+
+#: ly2dvi.py:494
+#, c-format
+msgid "invalid value: %s"
+msgstr "ogiltigt värde: %s"
+
+# här är det fråga om skrivning till en fil
+#: ly2dvi.py:781 scores.cc:44
+#, c-format
+msgid "dependencies output to `%s'..."
+msgstr "beroenden skrivna till \"%s\"..."
+
+# här är det fråga om skrivning till en fil (första parametern är t.ex
+# DVI, LATEX, MIDI, TEX)
+#: ly2dvi.py:791
+#, c-format
+msgid "%s output to `%s'..."
+msgstr "%s skrivet till \"%s\"..."
+
+#: includable-lexer.cc:49 lily-guile.cc:139 ly2dvi.py:793
+#: midi-score-parser.cc:24 scores.cc:136 scores.cc:142
+#, c-format
+msgid "can't find file: `%s'"
+msgstr "kan inte hitta fil: \"%s\""
+
+#: ly2dvi.py:804
+msgid "no files specified on command line."
+msgstr "inga filer angivna på kommandoraden."
+
+#: mup2ly.py:51
+msgid "Convert mup to ly"
+msgstr "Konvertera mup till ly"
+
+# %s är programnamnet (mup2ly)
+#: mup2ly.py:166
+#, c-format
+msgid "%s is far from completed.  Not all constructs are recognised."
+msgstr "%s är långt ifrån färdig, och kan inte alla konstruktioner."
+
+#: mup2ly.py:964
+#, c-format
+msgid "no such context: %s"
+msgstr "omgivning finns inte: %s"
+
+#: mup2ly.py:1115
+msgid "debug"
+msgstr "felsökningsutdata"
+
+#: mup2ly.py:1116
+msgid "define macro NAME [optional expansion EXP]"
+msgstr "definiera makro NAME [valfri makroersättning EXP]"
+
+#: main.cc:114 mup2ly.py:1118
+msgid "write output to FILE"
+msgstr "skriv utdata till FIL"
+
+#: mup2ly.py:1119
+msgid "only pre-process"
+msgstr "förbehandla enbart"
+
+#: mup2ly.py:1200
+#, c-format
+msgid "Processing `%s'..."
+msgstr "Behandlar \"%s\"..."
+
+#: mup2ly.py:1219
+#, c-format
+msgid "Writing `%s'..."
+msgstr "Skriver \"%s\"..."
+
+#: update-lily.py:51
+msgid "Fetch and rebuild from latest source package"
+msgstr "Hämta och bygg om från senaste källkodspaketet"
+
+#: update-lily.py:223
+#, c-format
+msgid "Cleaning `%s'..."
+msgstr "Rensar \"%s\"..."
+
+#: update-lily.py:243
+#, c-format
+msgid "unpack and build in DIR [%s]"
+msgstr "packa upp och bygg i DIR [%s]"
+
+#: update-lily.py:244
+msgid "execute COMMAND, subtitute:"
+msgstr "kör COMMAND, ersätt:"
+
+#: update-lily.py:245
+msgid "%b: build root"
+msgstr "%b: byggrot"
+
+#: update-lily.py:246
+#, c-format
+msgid "%n: package name"
+msgstr "%n: paketnamn"
+
+#: update-lily.py:247
+msgid "%r: release directory"
+msgstr "%r: programsläppskatalog"
+
+#: update-lily.py:248
+msgid "%t: tarball"
+msgstr "%t: tarboll"
+
+#: update-lily.py:249
+msgid "%v: package version"
+msgstr "%v: paketversion"
+
+#: update-lily.py:252
+#, c-format
+msgid "keep all output, and name the directory %s"
+msgstr "behåll all utdata, och döp katalogen till %s"
+
+#: update-lily.py:253
+msgid "upon failure notify EMAIL[,EMAIL]"
+msgstr "vid fel, meddela EMAIL[,EMAIL]"
+
+#: update-lily.py:254
+msgid "remove previous build"
+msgstr "ta bort föregående bygge"
+
+#: update-lily.py:257
+#, c-format
+msgid "fetch and build URL [%s]"
+msgstr "hämta och bygg URL [%s]"
+
+#: update-lily.py:365
+#, c-format
+msgid "Listing `%s'..."
+msgstr "Listar \"%s\"..."
+
+#: update-lily.py:426
+#, c-format
+msgid "latest is: %s"
+msgstr "senaste är: %s"
+
+#: update-lily.py:427
+#, c-format
+msgid "relax, %s is up to date"
+msgstr "lugn, %s är senaste versionen"
+
+#: update-lily.py:435 update-lily.py:448
+#, c-format
+msgid "Fetching `%s'..."
+msgstr "Hämtar \"%s\"..."
+
+#: update-lily.py:457
+#, c-format
+msgid "Building `%s'..."
+msgstr "Bygger \"%s\"..."
+
+#: data-file.cc:54
+msgid "EOF in a string"
+msgstr "EOF i en sträng"
+
+#: getopt-long.cc:145
+#, c-format
+msgid "option `%s' requires an argument"
+msgstr "flaggan \"%s\" kräver ett argument"
+
+#: getopt-long.cc:149
+#, c-format
+msgid "option `%s' doesn't allow an argument"
+msgstr "flaggan \"%s\" tillåter inget argument"
+
+#: getopt-long.cc:153
+#, c-format
+msgid "unrecognized option: `%s'"
+msgstr "okänd flagga: \"%s\""
+
+#: getopt-long.cc:160
+#, c-format
+msgid "invalid argument `%s' to option `%s'"
+msgstr "ogiltigt argument \"%s\" till flaggan \"%s\""
+
+#: input.cc:96
+msgid "non fatal error: "
+msgstr "icke-fatalt fel: "
+
+#: input.cc:104 source-file.cc:63 source-file.cc:156
+msgid "position unknown"
+msgstr "okänd position"
+
+# det handlar om mmap här
+#: mapped-file-storage.cc:74
+msgid "can't map file"
+msgstr "kan inte göra \"mmap\" på filen"
+
+#: lilypond-stream.cc:111 mapped-file-storage.cc:87 paper-stream.cc:45
+#: scores.cc:48 simple-file-storage.cc:44 text-stream.cc:23
+#, c-format
+msgid "can't open file: `%s'"
+msgstr "kan inte öppna fil: \"%s\""
+
+#: simple-file-storage.cc:56
+#, c-format
+msgid "Huh?  Got %d, expected %d characters"
+msgstr "Öh? Fick %d, väntade %d tecken"
+
+#: text-stream.cc:10
+msgid "<stdin>"
+msgstr "<stdin>"
+
+#: warn.cc:36
+msgid "programming error: "
+msgstr "programmeringsfel: "
+
+#: warn.cc:36
+msgid " (Continuing; cross thumbs)"
+msgstr " (Fortsätter, håll tummarna)"
+
+#: afm.cc:59
+#, c-format
+msgid "can't find character number: %d"
+msgstr "kan inte hitta teckennummer: %d"
+
+#: afm.cc:74
+#, c-format
+msgid "can't find character called: `%s'"
+msgstr "kan inte hitta tecken som heter: \"%s\""
+
+#: afm.cc:124
+#, c-format
+msgid "Error parsing AFM file: `%s'"
+msgstr "Fel vid tolkning av AFM-fil: \"%s\""
+
+#: all-font-metrics.cc:95
+#, c-format
+msgid "checksum mismatch for font file: `%s'"
+msgstr "felaktig checksumma för typsnittsfil: \"%s\""
+
+#: all-font-metrics.cc:97
+#, c-format
+msgid "does not match: `%s'"
+msgstr "matchar inte: \"%s\""
+
+#: all-font-metrics.cc:102
+msgid " Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V to show font paths."
+msgstr " Bygg om alla .afm-filer, och ta bort alla .pk- och .tfm-filer. Kör igen med -V för att visa typsnittssökvägar."
+
+#: all-font-metrics.cc:167
+#, c-format
+msgid "can't find font: `%s'"
+msgstr "kan inte hitta typsnitt: \"%s\""
+
+#: all-font-metrics.cc:168
+msgid "Loading default font"
+msgstr "Läser in standardtypsnitt"
+
+#: all-font-metrics.cc:183
+#, c-format
+msgid "can't find default font: `%s'"
+msgstr "kan inte hitta standardtypsnitt: \"%s\""
+
+#: all-font-metrics.cc:184 includable-lexer.cc:51 scores.cc:137
+#, c-format
+msgid "(search path: `%s')"
+msgstr "(sökväg: \"%s\")"
+
+#: all-font-metrics.cc:185
+msgid "Giving up"
+msgstr "Ger upp"
+
+#: auto-change-iterator.cc:43 change-iterator.cc:59
+#: part-combine-music-iterator.cc:97
+msgid "Can't switch translators, I'm there already"
+msgstr "Kan inte byta översättare, jag är redan där"
+
+#: beam.cc:86
+msgid "beam has less than two stems"
+msgstr "balk har mindre än två skaft"
+
+#: beam.cc:637
+msgid "weird beam vertical offset"
+msgstr "underligt vertikalt avstånd för balk"
+
+#: beam-engraver.cc:91 beam-engraver.cc:124
+msgid "can't find start of beam"
+msgstr "kan inte hitta start på balk"
+
+#: beam-engraver.cc:158
+msgid "already have a beam"
+msgstr "har redan en balk"
+
+#: beam-engraver.cc:222
+msgid "unterminated beam"
+msgstr "oavslutad balk"
+
+#: beam-engraver.cc:260 chord-tremolo-engraver.cc:195
+msgid "stem must have Rhythmic structure"
+msgstr "skaft måste ha en rytmisk struktur"
+
+#: beam-engraver.cc:272
+msgid "stem doesn't fit in beam"
+msgstr "skaftet passar inte i balken"
+
+#: beam-engraver.cc:273
+msgid "beam was started here"
+msgstr "balken startade här"
+
+#: break-align-item.cc:136
+#, c-format
+msgid "unknown spacing pair `%s', `%s'"
+msgstr "okänt avståndspar \"%s\", \"%s\""
+
+#: change-iterator.cc:21
+#, c-format
+msgid "can't change `%s' to `%s'"
+msgstr "kan inte ändra \"%s\" till \"%s\""
+
+#.
+#. We could change the current translator's id, but that would make
+#. errors hard to catch
+#.
+#. last->translator_id_str_  = change_l ()->change_to_id_str_;
+#.
+#: change-iterator.cc:78
+msgid "I'm one myself"
+msgstr "Jag är en själv"
+
+#: change-iterator.cc:81
+msgid "none of these in my family"
+msgstr "ingen av dessa i min familj"
+
+#: chord.cc:369
+#, c-format
+msgid "invalid subtraction: not part of chord: %s"
+msgstr "ogiltig subtraktion: inte del av ackord: %s"
+
+# "pitch" här ska alltså vara en ton i ett ackord
+#: chord.cc:398
+#, c-format
+msgid "invalid inversion pitch: not part of chord: %s"
+msgstr "ogiltig ton för inversion: inte del av ett ackord: %s"
+
+#: chord-tremolo-engraver.cc:141 percent-repeat-engraver.cc:192
+msgid "unterminated chord tremolo"
+msgstr "icke avslutat ackordtremolo"
+
+#: chord-tremolo-iterator.cc:48
+msgid "no one to print a tremolos"
+msgstr "det finns ingen som kan skriva tremolon"
+
+#: collision.cc:127
+msgid "Too many clashing notecolumns.  Ignoring them."
+msgstr "För många krockande notkolumner. Ignorerar dem."
+
+#: dimensions.cc:13
+msgid "NaN"
+msgstr "-"
+
+#: dynamic-engraver.cc:197 span-dynamic-performer.cc:86
+msgid "can't find start of (de)crescendo"
+msgstr "kan inte hitta start på crescendo/diminuendo"
+
+#: dynamic-engraver.cc:222
+msgid "already have a crescendo"
+msgstr "har redan ett crescendo"
+
+#: dynamic-engraver.cc:223
+msgid "already have a decrescendo"
+msgstr "har redan ett diminuendo"
+
+#: dynamic-engraver.cc:317
+msgid "unterminated (de)crescendo"
+msgstr "oavslutat crescendo/diminuendo"
+
+#: extender-engraver.cc:97
+msgid "unterminated extender"
+msgstr "oavslutad utökare"
+
+#: extender-engraver.cc:109
+msgid "Nothing to connect extender to on the left.  Ignoring extender request."
+msgstr "Det finns inget att koppla utökaren mot till vänster. Ignorerar utökarförfrågan"
+
+#: folded-repeat-iterator.cc:78
+msgid "no one to print a repeat brace"
+msgstr "det finns ingen som kan skriva ett repristecken"
+
+#: font-interface.cc:237
+msgid "couldn't find any font satisfying "
+msgstr "kunde inte hitta något typsnitt som uppfyller "
+
+#: gourlay-breaking.cc:157
+msgid "No feasible line breaking found"
+msgstr "Ingen lämplig radbrytning hittades"
+
+#: grace-iterator.cc:43
+msgid "no Grace context available"
+msgstr "ingen prydnadsomgivning tillgänglig"
+
+#: grace-position-engraver.cc:96
+msgid "Unattached grace notes.  Attaching to last musical column."
+msgstr "Ej fastsatta prydnadsnoter. Fäster vid sista musikkolumnen."
+
+#: hairpin.cc:93
+msgid "decrescendo too small"
+msgstr "diminuendo för litet"
+
+#: hairpin.cc:94
+msgid "crescendo too small"
+msgstr "crescendo för litet"
+
+#: hyphen-engraver.cc:90
+msgid "unterminated hyphen"
+msgstr "oavslutat bindestreck"
+
+#: hyphen-engraver.cc:102
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
+msgstr "Det finns inget att koppla bindestrecket mot till vänster. Ignorerar bindestrecksförfrågan."
+
+#: key-engraver.cc:99
+msgid "Conflicting key signatures found."
+msgstr "Motsägande tonartssignaturer funna."
+
+#: key-engraver.cc:100
+msgid "This was the other key definition."
+msgstr "Detta var den andra tonartsdefinitionen."
+
+#: key-performer.cc:77
+msgid "FIXME: key change merge"
+msgstr "FIXA: tonartsbytessammanslagning"
+
+#: lily-guile.cc:141
+#, c-format
+msgid "(load path: `%s')"
+msgstr "(inläsningssökväg: \"%s\""
+
+#: line-of-score.cc:96
+#, c-format
+msgid "Element count %d."
+msgstr "Elementantal %d."
+
+#: line-of-score.cc:253 paper-score.cc:77
+#, c-format
+msgid "Element count %d "
+msgstr "Elementantal %d "
+
+#: line-of-score.cc:267
+msgid "Calculating column positions..."
+msgstr "Beräknar kolumnpositioner..."
+
+#: lyric-phrasing-engraver.cc:284
+msgid "lyrics found without any matching notehead"
+msgstr "text hittad utan något matchande nothuvud"
+
+#: lyric-phrasing-engraver.cc:289
+msgid "Huh? Melismatic note found to have associated lyrics."
+msgstr "Öh? Melismatisk not har tillhörande text."
+
+#: main.cc:104
+msgid "EXPR"
+msgstr "UTTR"
+
+#: main.cc:104
+msgid "evalute EXPR as Scheme after .scm init is read"
+msgstr "evaluera UTTR som Scheme efter .scm-init har lästs"
+
+#. another bug in option parser: --output=foe is taken as an abbreviation
+#. for --output-format
+#: main.cc:107
+msgid "EXT"
+msgstr "FMT"
+
+#: main.cc:107
+msgid "use output format EXT (scm, ps, tex or as)"
+msgstr "använd utdataformat FMT (scm, ps, tex eller as)"
+
+#: main.cc:109
+msgid "FIELD"
+msgstr "FÄLT"
+
+#: main.cc:109
+msgid "write header field to BASENAME.FIELD"
+msgstr "skriv rubrikfält till BASNAMN.FÄLT"
+
+#: main.cc:110
+msgid "add DIR to search path"
+msgstr "lägg till KATALOG till sökvägen"
+
+#: main.cc:111
+msgid "use FILE as init file"
+msgstr "använd FIL som init-fil"
+
+#: main.cc:115
+msgid "prepend DIR to dependencies"
+msgstr "lägg till KATALOG efter beroenden"
+
+#: main.cc:116
+msgid "inhibit file output naming and exporting"
+msgstr "hindra namngivning av filutdata och exportering"
+
+#.
+#. No version number or newline here. It confuses help2man
+#.
+#: main.cc:136
+#, c-format
+msgid "Usage: %s [OPTION]... FILE..."
+msgstr "Användning: %s [FLAGGA]... FIL..."
+
+#: main.cc:138
+msgid "Typeset music and or play MIDI from FILE"
+msgstr "Typsätt musik och/eller spela MIDI från FIL"
+
+#: main.cc:142
+msgid ""
+"LilyPond is a music typesetter.  It produces beautiful sheet music\n"
+"using a high level description file as input.  LilyPond is part of \n"
+"the GNU Project.\n"
+msgstr ""
+"LilyPond är en musiktypsättare. Den producerar vackra noter från en\n"
+"högnivåbeskrivning av musiken i en fil. LilyPond är en del av\n"
+"GNU-projektet.\n"
+
+#: main.cc:152
+msgid "This binary was compiled with the following options:"
+msgstr "Detta program kompilerades med följande alternativ:"
+
+#: main.cc:56 main.cc:179
+#, c-format
+msgid ""
+"This is free software.  It is covered by the GNU General Public License,\n"
+"and you are welcome to change it and/or distribute copies of it under\n"
+"certain conditions.  Invoke as `%s --warranty' for more information.\n"
+msgstr ""
+"Det här är fri programvara. Den täcks av \"GNU General Public License\",\n"
+"och du får ändra och/eller distribuera kopior av den under vissa\n"
+"villkor. Kör \"%s --warranty\" för mer information.\n"
+
+#: main.cc:63 main.cc:186 main.cc:198
+#, c-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright © %s av"
+
+#: main.cc:196
+msgid "GNU LilyPond -- The music typesetter"
+msgstr "GNU Lilypond -- Musiktypsättaren"
+
+#: main.cc:72 main.cc:204
+msgid ""
+"    This program is free software; you can redistribute it and/or\n"
+"modify it under the terms of the GNU General Public License version 2\n"
+"as published by the Free Software Foundation.\n"
+"\n"
+"    This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n"
+"General Public License for more details.\n"
+"\n"
+"    You should have received a copy (refer to the file COPYING) of the\n"
+"GNU General Public License along with this program; if not, write to\n"
+"the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"USA.\n"
+msgstr ""
+"Detta program är fri programvara. Du kan distribuera det och/eller\n"
+"modifiera det under villkoren i GNU General Public License, publicerad\n"
+"av Free Software Foundation, antingen version 2 eller (om du så vill)\n"
+"någon senare version. \n"
+"\n"
+"Detta program distribueras i hopp om att det ska vara användbart, men\n"
+"UTAN NÅGON SOM HELST GARANTI, även utan underförstådd garanti om\n"
+"SÄLJBARHET eller LÄMPLIGHET FÖR NÅGOT SPECIELLT ÄNDAMÅL.  Se GNU General\n"
+"Public License för ytterligare information.\n"
+"\n"
+"Du bör ha fått en kopia av GNU General Public License tillsammans med\n"
+"detta program. Om inte, skriv till Free Software Foundation, Inc., 59\n"
+"Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+
+#: midi-item.cc:139
+#, c-format
+msgid "no such instrument: `%s'"
+msgstr "instrumentet finns inte: \"%s\""
+
+#: midi-item.cc:228
+msgid "silly duration"
+msgstr "tokig längd"
+
+#: midi-item.cc:241
+msgid "silly pitch"
+msgstr "tokig ton"
+
+#: musical-request.cc:28
+#, c-format
+msgid "Transposition by %s makes accidental larger than two"
+msgstr "Transponering med %s gör höjning/sänkning större än två"
+
+#: music.cc:232
+msgid "ly_get_mus_property (): Not a Music"
+msgstr "ly_get_mus_property (): Inte en \"Music\""
+
+#: music.cc:246
+msgid "ly_set_mus_property (): Not a symbol"
+msgstr "ly_set_mus_property (): inte en symbol"
+
+#: music.cc:258
+msgid "ly_set_mus_property ():  not of type Music"
+msgstr "ly_set_mus_property (): inte av typen \"Music\""
+
+#: music.cc:272
+msgid "ly_make_music (): Not a string"
+msgstr "ly_make_music (): Inte en sträng"
+
+#: music.cc:292
+msgid "ly_music_name (): Not a music expression"
+msgstr "ly_music_name (): Inte ett musikuttryck"
+
+#: music-output-def.cc:115
+#, c-format
+msgid "can't find `%s' context"
+msgstr "kan inte hitta omgivningen \"%s\""
+
+#: my-lily-lexer.cc:139
+#, c-format
+msgid "Identifier name is a keyword: `%s'"
+msgstr "Identifierarnamn är ett nyckelord: \"%s\""
+
+#: my-lily-lexer.cc:159
+#, c-format
+msgid "error at EOF: %s"
+msgstr "fel vid filslut: %s"
+
+#: midi-score-parser.cc:94 my-lily-parser.cc:47
+msgid "Parsing..."
+msgstr "Tolkar..."
+
+#: my-lily-parser.cc:57
+msgid "Braces don't match"
+msgstr "Krullparenteser matchar inte"
+
+#: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
+#, c-format
+msgid "Junking request: `%s'"
+msgstr "Slänger förfrågan: \"%s\""
+
+#: paper-def.cc:109
+#, c-format
+msgid "paper output to `%s'..."
+msgstr "pappersutdata till \"%s\"..."
+
+#: lilypond-stream.cc:93 paper-outputter.cc:85 performance.cc:99
+msgid ", at "
+msgstr ", vid "
+
+#: paper-outputter.cc:232
+#, c-format
+msgid "writing header field `%s' to `%s'..."
+msgstr "skriver rubrikfält \"%s\" till \"%s\"..."
+
+#: paper-score.cc:80
+msgid "Preprocessing elements..."
+msgstr "Förbehandlar element..."
+
+#: paper-score.cc:114
+msgid "Outputting Score, defined at: "
+msgstr "Matar ut partitur, definierade vid: "
+
+#: paper-stream.cc:41
+#, c-format
+msgid "can't create directory: `%s'"
+msgstr "kan inte skapa katalog: \"%s\""
+
+#: paper-stream.cc:55
+msgid "Error syncing file (disk full?)"
+msgstr "Fel vid synkning av fil (disken full?)"
+
+#.
+#. We could change the current translator's id, but that would make
+#. errors hard to catch
+#.
+#. last->translator_id_str_  = change_l ()->change_to_id_str_;
+#.
+#: part-combine-music-iterator.cc:116
+#, c-format
+msgid "I'm one myself: `%s'"
+msgstr "Jag är en själv: \"%s\""
+
+#: part-combine-music-iterator.cc:119
+#, c-format
+msgid "none of these in my family: `%s'"
+msgstr "ingen av dessa i min familj: \"%s\""
+
+#: percent-repeat-engraver.cc:117
+msgid "Don't know how to handle a percent repeat of this length."
+msgstr "Vet inte hur en procentupprepning av denna längd ska hanteras."
+
+#: percent-repeat-iterator.cc:53
+msgid "no one to print a percent"
+msgstr "det finns ingen som kan skriva procent"
+
+#: performance.cc:51
+msgid "Track ... "
+msgstr "Spår... "
+
+#: performance.cc:83
+msgid "Creator: "
+msgstr "Skapare: "
+
+#: performance.cc:113
+#, c-format
+msgid "from musical definition: %s"
+msgstr "från musikdefinition: %s"
+
+#: performance.cc:168
+#, c-format
+msgid "MIDI output to `%s'..."
+msgstr "MIDI-utdata till \"%s\"..."
+
+#: phrasing-slur-engraver.cc:119
+msgid "unterminated phrasing slur"
+msgstr "oavslutad fraseringsbåge"
+
+#: phrasing-slur-engraver.cc:134
+msgid "can't find start of phrasing slur"
+msgstr "kan inte hitta start på fraseringsbåge"
+
+#: piano-pedal-engraver.cc:142 piano-pedal-engraver.cc:154
+#: piano-pedal-performer.cc:87
+#, c-format
+msgid "can't find start of piano pedal: `%s'"
+msgstr "kan inte hitta start på pianopedal: \"%s\""
+
+#: pitch.cc:25
+msgid "Pitch arguments out of range"
+msgstr "Tonargument utanför intervallet"
+
+#: property-engraver.cc:121
+#, c-format
+msgid ""
+"`%s' is deprecated.  Use\n"
+" \\property %s.%s \\override #'%s = #%s"
+msgstr ""
+"\"%s\" är föråldrat. Använd\n"
+" \\property %s.%s \\override #'%s = #%s"
+
+#: property-engraver.cc:145
+#, c-format
+msgid "Wrong type for property: %s, type: %s, value found: %s, type: %s"
+msgstr "Fel typ för egenskap: %s, typ: %s, värde funnet: %s, typ: %s"
+
+#: rest-collision.cc:194
+msgid "too many colliding rests"
+msgstr "för många krockande pauser"
+
+#: rest-collision.cc:198
+msgid "too many notes for rest collision"
+msgstr "för många toner för pauskrock"
+
+#: scm-option.cc:59
+msgid "Scheme options:"
+msgstr "Scheme-alternativ:"
+
+#: score.cc:78
+msgid "Interpreting music..."
+msgstr "Tolkar musik..."
+
+#: score.cc:92
+msgid "Need music in a score"
+msgstr "Behöver musik i partitur"
+
+#. should we? hampers debugging.
+#: score.cc:105
+msgid "Errors found/*, not processing score*/"
+msgstr "Fel funna/*, behandlar inte partitur*/"
+
+#: score.cc:112
+#, c-format
+msgid "elapsed time: %.2f seconds"
+msgstr "tidsåtgång: %.2f sekunder"
+
+#: score-engraver.cc:188
+#, c-format
+msgid "unbound spanner `%s'"
+msgstr "obunden bryggare \"%s\""
+
+#: scores.cc:106
+msgid "Score contains errors; will not process it"
+msgstr "Partitur innehåller fel; kommer inte behandla det"
+
+#: scores.cc:152
+#, c-format
+msgid "Now processing: `%s'"
+msgstr "Behandlar nu: \"%s\""
+
+#: script-engraver.cc:66
+#, c-format
+msgid "Don't know how to interpret articulation `%s'"
+msgstr "Kan inte tolka artikulering \"%s\""
+
+#. this shouldn't happen, but let's continue anyway.
+#: separation-item.cc:47
+msgid "Separation_item:  I've been drinking too much"
+msgstr "Separation_item: Jag har druckit för mycket"
+
+#: slur.cc:48
+msgid "Putting slur over rest.  Ignoring."
+msgstr "Sätter båge över paus. Ignorerar."
+
+#: slur.cc:383
+msgid "Slur over rest?"
+msgstr "Båge över paus?"
+
+#: slur-engraver.cc:127
+msgid "unterminated slur"
+msgstr "oavslutat båge"
+
+#. How to shut up this warning, when Voice_devnull_engraver has
+#. eaten start request?
+#: slur-engraver.cc:144
+msgid "can't find start of slur"
+msgstr "kan inte hitta start på båge"
+
+#: stem.cc:116
+msgid "Weird stem size; check for narrow beams"
+msgstr "Konstig skaftstorlek; kolla efter smala balkar"
+
+#: stem-engraver.cc:115
+#, c-format
+msgid "Adding note head to incompatible stem (type = %d)"
+msgstr "Lägger till nothuvud till inkompatibel båge (typ = %d)"
+
+#: text-spanner.cc:121
+msgid "Text_spanner too small"
+msgstr "Textbryggare för liten"
+
+#: text-spanner-engraver.cc:94
+msgid "can't find start of text spanner"
+msgstr "kan inte hitta start på textbryggare"
+
+#: text-spanner-engraver.cc:114
+msgid "already have a text spanner"
+msgstr "har redan en textbryggare"
+
+#: text-spanner-engraver.cc:169
+msgid "unterminated text spanner"
+msgstr "oavslutad textbryggare"
+
+#: tfm.cc:77
+#, c-format
+msgid "can't find ascii character: %d"
+msgstr "kan inte hitta ASCII-tecken: %d"
+
+#: tfm-reader.cc:106
+#, c-format
+msgid "TFM header of `%s' has only %u word (s)"
+msgstr "TFM-rubrik i \"%s\" har bara %u ord"
+
+#: tfm-reader.cc:140
+#, c-format
+msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
+msgstr "%s: TFM-fil har %u parametrar, vilket är mer än de %u jag kan hantera"
+
+#. How to shut up this warning, when no notes appeared because
+#. they were suicided by Thread_devnull_engraver?
+#: tie-engraver.cc:220 tie-performer.cc:173
+msgid "No ties were created!"
+msgstr "Inga bågar skapades!"
+
+#: tie-engraver.cc:240
+msgid "lonely tie"
+msgstr "ensam båge"
+
+#: time-scaled-music-iterator.cc:25
+msgid "no one to print a tuplet start bracket"
+msgstr "det finns ingen som kan skriva en starthake för tupel"
+
+#: timing-translator.cc:38
+#, c-format
+msgid "barcheck failed at: %s"
+msgstr "taktkontroll misslyckades vid: %s"
+
+#: translator-ctors.cc:40
+#, c-format
+msgid "unknown translator: `%s'"
+msgstr "okänd översättare: \"%s\""
+
+#: translator-def.cc:99
+msgid "Program has no such type"
+msgstr "Programmet har ingen sådan typ"
+
+#: translator-def.cc:105
+#, c-format
+msgid "Already contains: `%s'"
+msgstr "Innehåller redan: \"%s\""
+
+#: translator-def.cc:106
+#, c-format
+msgid "Not adding translator: `%s'"
+msgstr "Lägger inte till översättare: \"%s\""
+
+#: translator-def.cc:224
+#, c-format
+msgid "can't find: `%s'"
+msgstr "kan inte hitta: \"%s\""
+
+#: translator-group.cc:146
+#, c-format
+msgid "can't find or create `%s' called `%s'"
+msgstr "kan inte hitta eller skapa \"%s\" kallad \"%s\""
+
+#: translator-group.cc:231
+#, c-format
+msgid "can't find or create: `%s'"
+msgstr "kan inte hitta eller skapa: \"%s\""
+
+#: translator-group.cc:414
+#, c-format
+msgid "Can't find property type-check for `%s'.  Perhaps you made a typing error? Doing assignment anyway."
+msgstr "Kan inte hitta egenskapstypkontroll för \"%s\". Kanske har du gjort ett typfel? Gör tilldelning i alla fall."
+
+#: translator-group.cc:428
+#, c-format
+msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
+msgstr "Typkontroll för \"%s\" misslyckades. Värde \"%s\" måste ha typen \"%s\""
+
+#. programming_error?
+#: translator-group.cc:447
+msgid "ly-get-trans-property: expecting a Translator_group argument"
+msgstr "ly-get-trans-property: väntade ett Translator_group-argument"
+
+#: volta-engraver.cc:87
+msgid "No volta spanner to end"
+msgstr "Ingen reprisbryggare till slutet"
+
+#: volta-engraver.cc:104
+msgid "Already have a volta spanner.  Stopping that one prematurely."
+msgstr "Har redan en reprisbryggare. Stoppar den tidigare."
+
+#: volta-engraver.cc:108
+msgid "Also have a stopped spanner.  Giving up."
+msgstr "Har också en stoppad bryggare. Ger upp."
+
+#: parser.yy:121
+#, c-format
+msgid "Expecting %d arguments"
+msgstr "Väntade %d argument"
+
+#: parser.yy:423
+msgid "Identifier should have  alphabetic characters only"
+msgstr "Identifierare får bara innehålla alfabetiska tecken"
+
+#: parser.yy:697
+msgid "More alternatives than repeats.  Junking excess alternatives."
+msgstr "Fler alternativ än repriser. Slänger överblivna alternativ."
+
+#: parser.yy:761
+msgid "Second argument must be a symbol"
+msgstr "Andra argumentet måste vara en symbol"
+
+#: parser.yy:766
+msgid "First argument must be a procedure taking 1 argument"
+msgstr "Första argumentet måste vara en procedur som tar 1 argument"
+
+#: parser.yy:1263
+msgid "Expecting string as script definition"
+msgstr "Väntade sträng som skriptdefinition"
+
+#: parser.yy:1273
+msgid "Can't specify direction for this request"
+msgstr "Kan inte ange riktning för denna förfrågan"
+
+#: parser.yy:1398
+msgid "Expecting musical-pitch value"
+msgstr "Väntade notvärde"
+
+#: parser.yy:1409
+msgid "Must have duration object"
+msgstr "Måste ha längdobjekt"
+
+#: parser.yy:1418 parser.yy:1426
+msgid "Have to be in Lyric mode for lyrics"
+msgstr "Måste vara i textläge (Lyric mode) för text"
+
+#: parser.yy:1579 parser.yy:1636
+#, c-format
+msgid "not a duration: %d"
+msgstr "inte en längd: %d"
+
+#: parser.yy:1645
+msgid "Have to be in Note mode for notes"
+msgstr "Måste vara i notläge (Note mode) för noter"
+
+#: parser.yy:1731
+msgid "Have to be in Chord mode for chords"
+msgstr "Måste vara i ackordläge (Chord mode) för ackord"
+
+#: parser.yy:1910
+msgid "need integer number arg"
+msgstr "behöver heltalsargument"
+
+#: lexer.ll:174
+msgid "EOF found inside a comment"
+msgstr "filslut hittat inuti en kommentar"
+
+#: lexer.ll:188
+msgid "\\maininput disallowed outside init files"
+msgstr "\\maininput förbjudet utanför init-filer"
+
+#: lexer.ll:212
+#, c-format
+msgid "wrong or undefined identifier: `%s'"
+msgstr "felaktig eller odefinierad identifierare: \"%s\""
+
+#. backup rule
+#: lexer.ll:221
+msgid "Missing end quote"
+msgstr "Saknat slutcitationstecken"
+
+#. backup rule
+#: lexer.ll:243 lexer.ll:247
+msgid "white expected"
+msgstr "väntade tomrum"
+
+#: lexer.ll:256
+msgid "Can't evaluate Scheme in safe mode"
+msgstr "Kan inte evaluera Scheme i säkert läge"
+
+#: lexer.ll:349
+msgid "Brace found at end of lyric. Did you forget a space?"
+msgstr "Krullparentes funnen i slutet på text. Glömde du ett mellanslag?"
+
+#: lexer.ll:457
+#, c-format
+msgid "invalid character: `%c'"
+msgstr "ogiltigt tecken: \"%c\""
+
+#: lexer.ll:538
+#, c-format
+msgid "unknown escaped string: `\\%s'"
+msgstr "okänd \"escaped\" sträng: \"\\%s\""
+
+#: lexer.ll:617
+#, c-format
+msgid "Oldest supported input version: %s"
+msgstr "Äldsta indataversion som stöds: %s"
+
+#: lexer.ll:629
+#, c-format
+msgid "incorrect lilypond version: %s (%s, %s)"
+msgstr "felaktig lilypond-version: %s (%s, %s)"
+
+#: lexer.ll:630
+msgid "Consider converting the input with the convert-ly script"
+msgstr "Fundera på att konvertera indata med skriptet \"convert-ly\""
+
+#: lilypond-item.cc:161
+#, c-format
+msgid "#32 in quarter: %d"
+msgstr "#32 i fjärdedel: %d"
+
+#: lilypond-score.cc:108
+#, c-format
+msgid "LY output to `%s'..."
+msgstr "LY-utdata till \"%s\"..."
+
+#: lilypond-score.cc:119
+#, c-format
+msgid "track %d:"
+msgstr "spår %d:"
+
+#: lilypond-score.cc:155
+msgid "Processing..."
+msgstr "Behandlar..."
+
+#: lilypond-score.cc:164
+msgid "Creating voices..."
+msgstr "Skapar stämmor..."
+
+#: lilypond-score.cc:168
+msgid "track "
+msgstr "spår "
+
+#: lilypond-score.cc:177
+msgid "NOT Filtering tempo..."
+msgstr "Filtrerar INTE tempo..."
+
+#: lilypond-score.cc:186
+msgid "NOT Quantifying columns..."
+msgstr "Kvantifierar INTE kolumner..."
+
+#: lilypond-score.cc:190
+msgid "Quantifying columns..."
+msgstr "Kvantifierar kolumner..."
+
+#: lilypond-score.cc:223
+msgid "Settling columns..."
+msgstr "Bestämmer kolumner..."
+
+#: lilypond-staff.cc:209
+msgid "% MIDI copyright:"
+msgstr "% MIDI-copyright:"
+
+#: lilypond-staff.cc:210
+msgid "% MIDI instrument:"
+msgstr "% MIDI-instrument:"
+
+#: lilypond-stream.cc:37
+#, c-format
+msgid "lily indent level: %d"
+msgstr "indenteringsnivå för lily: %d"
+
+# Kanske man inte ska översätta, men då får de ta bort _() i stället för
+# att skriva en fånig kommentar
+#. Maybe better not to translate these?
+#: lilypond-stream.cc:83
+msgid "% Creator: "
+msgstr "% Skapare: "
+
+#: lilypond-stream.cc:88
+msgid "% Automatically generated"
+msgstr "% Automatgenererad"
+
+#: lilypond-stream.cc:97
+#, c-format
+msgid "% from input file: "
+msgstr "% från indatafil: "
+
+#: main.cc:94
+msgid "write exact durations, e.g.: a4*385/384"
+msgstr "skriv exakta länger, t.ex: a4*385/384"
+
+#: main.cc:95
+msgid "enable debugging output"
+msgstr "slå på felsökningsutdata"
+
+#: main.cc:97
+msgid "ACC[:MINOR]"
+msgstr "TON[:MOLL]"
+
+#: main.cc:97
+msgid "set key: ACC +sharps/-flats; :1 minor"
+msgstr "sätt tonart: TON +höjningar/-sänkningar; :1 moll"
+
+#: main.cc:98
+msgid "don't output tuplets, double dots or rests, smallest is 32"
+msgstr "mata inte ut tupler, dubbelpunkteringar eller pauser, minsta är 32"
+
+#: main.cc:99
+msgid "set FILE as default output"
+msgstr "sätt FIL som standardutdata"
+
+#: main.cc:100
+msgid "don't output tuplets"
+msgstr "mata inte ut tupler"
+
+#: main.cc:101
+msgid "be quiet"
+msgstr "var tyst"
+
+#: main.cc:102
+msgid "don't output rests or skips"
+msgstr "mata inte ut pauser eller hopp"
+
+#: main.cc:103
+msgid "DUR"
+msgstr "LÄNGD"
+
+#: main.cc:103
+msgid "set smallest duration"
+msgstr "ställ in minsta längd"
+
+#: main.cc:104
+msgid "don't timestamp the output"
+msgstr "tidsstämpla inte utdata"
+
+#: main.cc:106
+msgid "be verbose"
+msgstr "var utförlig"
+
+#: main.cc:108
+msgid "assume no double dotted notes"
+msgstr "anta inga dubbelpunkterade noter"
+
+#: main.cc:115
+#, c-format
+msgid "Usage: %s [OPTION]... [FILE]"
+msgstr "Användning: %s [FLAGGA]... [FIL]"
+
+#: main.cc:117
+msgid "Translate MIDI-file to lilypond"
+msgstr "Översätt MIDI-fil till lilypond"
+
+#: main.cc:131
+#, c-format
+msgid "no_double_dots: %d\n"
+msgstr "no_double_dots: %d\n"
+
+#: main.cc:133
+#, c-format
+msgid "no_rests: %d\n"
+msgstr "no_rests: %d\n"
+
+#: main.cc:135
+#, c-format
+msgid "no_quantify_b_s: %d\n"
+msgstr "no_quantify_b_s: %d\n"
+
+#: main.cc:137
+#, c-format
+msgid "no_smaller_than: %d (1/%d)\n"
+msgstr "no_smaller_than: %d (1/%d)\n"
+
+#: main.cc:140
+#, c-format
+msgid "no_tuplets: %d\n"
+msgstr "no_tuplets: %d\n"
+
+#: midi-parser.cc:64
+msgid "zero length string encountered"
+msgstr "sträng med längd noll påträffad"
+
+#: midi-score-parser.cc:44
+msgid "MIDI header expected"
+msgstr "väntade MIDI-rubrik"
+
+#: midi-score-parser.cc:49
+msgid "invalid header length"
+msgstr "felaktig rubriklängd"
+
+#: midi-score-parser.cc:52
+msgid "invalid MIDI format"
+msgstr "ogiltigt MIDI-format"
+
+#: midi-score-parser.cc:55
+msgid "invalid number of tracks"
+msgstr "ogiltigt antal spår"
+
+#: midi-score-parser.cc:58
+msgid "can't handle non-metrical time"
+msgstr "kan inte hantera icke-metrisk tid"
+
+#: midi-track-parser.cc:68
+#, c-format
+msgid "Junking note-end event: channel = %d, pitch = %d"
+msgstr "Slänger notslutshändelse: kanal = %d, ton = %d"
+
+#: midi-track-parser.cc:124
+msgid "invalid running status"
+msgstr "ogiltig körstatus"
+
+#: midi-track-parser.cc:328
+msgid "unimplemented MIDI meta-event"
+msgstr "oimplementerad MIDI-metahändelse"
+
+#: midi-track-parser.cc:333
+msgid "invalid MIDI event"
+msgstr "ogiltig MIDI-händelse"
+
+#: midi-track-parser.cc:348
+msgid "MIDI track expected"
+msgstr "väntade MIDI-spår"
+
+#: midi-track-parser.cc:353
+msgid "invalid track length"
+msgstr "ogiltig spårlängd"
index 3dd45314c4dfaeda191ab9fa38c49de180800e5e..c11059a1c5b7a91f5488139407733e34e5d4b61a 100644 (file)
@@ -251,6 +251,7 @@ object."
    tuplet-bracket-visibility 
    tuplet-number-visibility 
    thick 
+   direction
    ))
 
 
index a2f447694d0e363be007d3c632009af75c9bf763..f7f734b8f258e83b770639482856860cd57b8d22 100644 (file)
@@ -418,15 +418,15 @@ def output_verbatim (body):
 re_dict = {
        'latex': {'input': r'(?m)^[^%\n]*?(?P<match>\\mbinput{?([^}\t \n}]*))',
                  'include': r'(?m)^[^%\n]*?(?P<match>\\mbinclude{(?P<filename>[^}]+)})',
-                 'option-sep' : ', *',
+                 'option-sep' : ',\s*',
                  'header': r"\\documentclass\s*(\[.*?\])?",
                  'geometry': r"^(?m)[^%\n]*?\\usepackage\s*(\[(?P<options>.*)\])?\s*{geometry}",
                  'preamble-end': r'(?P<code>\\begin{document})',
                  'verbatim': r"(?s)(?P<code>\\begin{verbatim}.*?\\end{verbatim})",
                  'verb': r"(?P<code>\\verb(?P<del>.).*?(?P=del))",
-                 'lilypond-file': r'(?m)^[^%\n]*?(?P<match>\\lilypondfile(\[(?P<options>.*?)\])?\{(?P<filename>.+)})',
-                 'lilypond' : r'(?m)^[^%\n]*?(?P<match>\\lilypond(\[(?P<options>.*?)\])?{(?P<code>.*?)})',
-                 'lilypond-block': r"(?sm)^[^%\n]*?(?P<match>\\begin(\[(?P<options>.*?)\])?{lilypond}(?P<code>.*?)\\end{lilypond})",
+                 'lilypond-file': r'(?m)^[^%\n]*?(?P<match>\\lilypondfile\s*(\[(?P<options>.*?)\])?\s*\{(?P<filename>.+)})',
+                 'lilypond' : r'(?m)^[^%\n]*?(?P<match>\\lilypond\s*(\[(?P<options>.*?)\])?\s*{(?P<code>.*?)})',
+                 'lilypond-block': r"(?sm)^[^%\n]*?(?P<match>\\begin\s*(\[(?P<options>.*?)\])?\s*{lilypond}(?P<code>.*?)\\end{lilypond})",
                  'def-post-re': r"\\def\\postLilypondExample",
                  'def-pre-re': r"\\def\\preLilypondExample",             
                  'usepackage-graphics': r"\usepackage{graphics}",
@@ -449,7 +449,7 @@ re_dict = {
                 'lilypond-file': '(?m)^(?!@c)(?P<match>@lilypondfile(\[(?P<options>.*?)\])?{(?P<filename>[^}]+)})',
                 'lilypond' : '(?m)^(?!@c)(?P<match>@lilypond(\[(?P<options>.*?)\])?{(?P<code>.*?)})',
                 'lilypond-block': r"""(?m)^(?!@c)(?P<match>(?s)(?P<match>@lilypond(\[(?P<options>.*?)\])?\s(?P<code>.*?)@end lilypond\s))""",
-                 'option-sep' : ', *',
+                 'option-sep' : ',\s*',
                  'intertext': r',?\s*intertext=\".*?\"',
                  'multiline-comment': r"(?sm)^\s*(?!@c\s+)(?P<code>@ignore\s.*?@end ignore)\s",
                  'singleline-comment': r"(?m)^.*?(?P<match>(?P<code>@c.*$\n+))",
index 6d74809fda104a72ad4481800f83b97afd5a28fe..50fa1bca87f5519f0bccf397fb12c789ec9daf62 100644 (file)
@@ -66,7 +66,6 @@ import __main__
 import operator
 import tempfile
 import traceback
-import resource
 
 datadir = '@datadir@'
 sys.path.append (datadir + '/python')
@@ -79,6 +78,15 @@ except:
        def _ (s):
                return s
 
+# Attempt to fix problems with limited stack size set by Python!
+# Sets unlimited stack size. Note that the resource module only
+# is available on UNIX.
+try:
+       import resource
+       resource.setrlimit(resource.RLIMIT_STACK, (-1,-1))
+except:
+       pass
+
 
 layout_fields = ['dedication', 'title', 'subtitle', 'subsubtitle',
          'footer', 'head', 'composer', 'arranger', 'instrument',
@@ -151,7 +159,7 @@ verbose_p = 0
 #
 environment = {
        'MFINPUTS' : datadir + '/mf' + ':',
-       'TEXINPUTS': datadir + '/tex:' + datadir + '/ps' + ':',
+       'TEXINPUTS': datadir + '/tex:' + datadir + '/ps:' + os.getcwd() + ':',
        'TFMFONTS' : datadir + '/tfm' + ':',
        'GS_FONTPATH' : datadir + '/afm:' + datadir + '/pfa',
        'GS_LIB' : datadir + '/ps',