]> git.donarmstrong.com Git - lilypond.git/commitdiff
* Documentation/user/refman.itely: remove superfluous -'s
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 23 Aug 2003 13:02:03 +0000 (13:02 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 23 Aug 2003 13:02:03 +0000 (13:02 +0000)
* lily/music.cc: generic compress() function. Remove others.

* lily/parser.yy (gen_text_def): remove support for #'(italic )
style markups.

* lily/parser.yy: all articulations postfix; remove obligatory -
for [,  ) and \!

* lily/music.cc (to_relative_octave): write generic
to_relative_octave function; various relative cleanups.
Hmmm.

* lily/scm-option.cc: add options new-relative and old-relative

* po/sv.po: new po file.

* Documentation/user/refman.itely (Dynamics): website
fixes. (should backport!)

26 files changed:
ChangeLog
Documentation/user/converters.itely
Documentation/user/internals.itely
Documentation/user/introduction.itely
Documentation/user/refman.itely
Documentation/user/tutorial.itely
input/test/incipit.ly
lily/grace-music.cc
lily/include/grace-music.hh
lily/include/lyric-combine-music.hh
lily/include/music-sequence.hh
lily/include/music-wrapper.hh
lily/include/music.hh
lily/include/repeated-music.hh
lily/include/scm-option.hh
lily/lyric-combine-music.cc
lily/music-sequence.cc
lily/music-wrapper.cc
lily/music.cc
lily/parser.yy
lily/relative-octave-music.cc
lily/repeated-music.cc
lily/scm-option.cc
lily/simultaneous-music.cc
lily/untransposable-music.cc
po/sv.po

index a19ef0f397cc6497060bb33eaf743da5e5d7024a..ae3b34ac6ec77165dc78ec0a3d61e21294c5aeae 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2003-08-23  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * Documentation/user/refman.itely: remove superfluous -'s 
+
+       * lily/music.cc: generic compress() function. Remove others.
+
+       * lily/parser.yy (gen_text_def): remove support for #'(italic )
+       style markups.
+
+       * lily/parser.yy: all articulations postfix; remove obligatory -
+       for [,  ) and \!
+       
+       * lily/music.cc (to_relative_octave): write generic
+       to_relative_octave function; various relative cleanups.
+       Hmmm.
+
+       * lily/scm-option.cc: add options new-relative and old-relative
+
+       * po/sv.po: new po file.
+
+       * Documentation/user/refman.itely (Dynamics): website
+       fixes. (should backport!)
+
 2003-08-22  Heikki Junes  <hjunes@cc.hut.fi>
 
        * make/lilypond.mandrake.spec.in: declare version only once.
index d29553cf7ccee3c01c8a8091b34be89c97b566c8..bb80263c434706895443918e9ae9958a0f22add4 100644 (file)
@@ -230,7 +230,7 @@ PMX is a MusiXTeX preprocessor written by Don Simons. More information
 on PMX is available from the following site:
 
 @quotation
-@uref{http://icking-music-archive.sunsite.dk/Misc/Music/musixtex/software/pmx/}.
+@uref{http://icking-music-archive.org/Misc/Music/musixtex/software/pmx/}.
 @end quotation
 
 @cindex PMX
index 7482a6ef38414b5b4817c05e1f9b645eb45d05ed..519569f0b2798e9db583721eecf7ccf856fbd9ec 100644 (file)
@@ -824,7 +824,6 @@ LilyPond input to other formats  (@inputfileref{input/test,to-xml.ly})
 
 @file{scm/music-functions.scm}, @file{scm/music-types.scm},
 @inputfileref{input/test,add-staccato.ly},
-@inputfileref{input/test,duration-check.ly}.
 @inputfileref{input/test,unfold-all-repeats.ly}, and
 @inputfileref{input/test,music-box.ly}.
 
index 67dfcba6404596da759bc0c3de1fbe75c0355afe..302074d56d7f72de2094d49b69c91c333928f023 100644 (file)
@@ -488,7 +488,7 @@ If you are not familiar with music notation, or music terminology
 advisable to consult the glossary as well. The glossary explains
 musical terms, and includes translations to various languages. It is a
 @ifhtml
-@uref{../glossary.html,separate document}.
+@uref{../music-glossary.html,separate document}.
 @end ifhtml
 @ifnothtml
 separate document, available in HTML and PDF.
@@ -528,7 +528,7 @@ have clickable links.
 @item
   Templates
 @ifhtml
-(available @uref{../../../input/templates/out-www/collated-files.html,here})
+(available @uref{../../../input/template/out-www/collated-files.html,here})
 @end ifhtml
 
 After you have gone through the tutorial, in theory you should be able
@@ -541,7 +541,7 @@ appropriate places.
 @item
   Various input examples
 @ifhtml
-(available @uref{../../../input/test/out-www/collated-files.html,here})
+(available @uref{../../../../input/test/out-www/collated-files.html,here})
 @end ifhtml
 @cindex snippets
 
index 4f798307e994e12d5db963347ed8433007e5bcc5..fe0fdd885937c1b1853ed12e822fee03944fbc31 100644 (file)
@@ -909,7 +909,7 @@ Internally the @code{set-octavation} function sets the properties
 
 @seealso
 
-@internalsref{OttavaBracket}.
+@internalsref{OttavaSpanner}.
 
 @refbugs
 
@@ -959,7 +959,7 @@ measure is subdivided in 2, 2, 2 and 3. This is passed to
 @lilypond[verbatim]
 \score { \notes \relative c'' {
    #(set-time-signature 9 8 '(2 2 2 3))
-   g8-[ g-] d-[ d-] g-[ g-] a8-[-( bes g-]-) | 
+   g8[ g] d[ d] g[ g] a8[( bes g]) | 
    #(set-time-signature 5 8 '(3 2))
    a4. g4
    }
@@ -1150,7 +1150,7 @@ the @internalsref{NoteCollision} object, they are merged:
      \property Staff.NoteCollision \override
         #'merge-differently-dotted = ##t
      g8 g8
-  } \\ { g8.-[ f16-] g8.-[ f16-] } 
+  } \\ { g8.[ f16] g8.[ f16] } 
   >
 @end lilypond
 
@@ -1256,7 +1256,7 @@ point are marked with @code{[} and @code{]}:
 
 @lilypond[fragment,relative,verbatim]
   \context Staff {
-    r4 r8-[ g' a r8-] r8 g-[ | a-] r8
+    r4 r8[ g' a r8] r8 g[ | a] r8
   }
 @end lilypond
 
@@ -1270,8 +1270,8 @@ is set, its value will be used only once, and then it is erased.
 
 @lilypond[fragment,relative,verbatim]
   \context Staff {
-    f8-[ r16 f g a-]
-    f8-[ r16 \property Voice.stemLeftBeamCount = #1 f g a-]
+    f8[ r16 f g a]
+    f8[ r16 \property Voice.stemLeftBeamCount = #1 f g a]
   }
 @end lilypond
 @cindex @code{stemRightBeamCount}
@@ -1285,11 +1285,11 @@ but it take less typing:
 
 
 @lilypond[relative=1,verbatim,noindent]
-        c16-[ c c c c c c c-]
+        c16[ c c c c c c c]
         \property Voice.subdivideBeams = ##t
-        c16-[ c c c c c c c-]
+        c16[ c c c c c c c]
         \property Score.beatLength = #(ly:make-moment 1 8)
-        c16-[ c c c c c c c-]
+        c16[ c c c c c c c]
 @end lilypond
 @cindex subdivideBeams
 
@@ -1439,7 +1439,7 @@ manual beaming.
   \property Voice.autoBeamSettings
   \override #'(end * * * *) = #(ly:make-moment 3 8)
   % rather show case where it goes wrong
-  %\time 12/8 c'8 c c c16 c c c c c c-[ c c c-] c8-[ c-] c4
+  %\time 12/8 c'8 c c c16 c c c c c c[ c c c] c8[ c] c4
   \time 12/8 c'8 c c c16 c c c c c c c c c c8 c c4
 @end lilypond
 It is not possible to specify beaming parameters that act differently in
@@ -1718,8 +1718,8 @@ A slur indicates that notes are to be played bound or @emph{legato}.
 
 They are entered using parentheses:
 @lilypond[fragment,verbatim,center]
-  f'-( g'-)-( a'-) a'8-[ b'-(-] a'4 g'2 f'4-)
-  <<c' e'>>2-( <<b d'>>2-)
+  f'( g')( a') a'8[ b'(] a'4 g'2 f'4)
+  <<c' e'>>2( <<b d'>>2)
 @end lilypond
 
 
@@ -1736,9 +1736,9 @@ the attachment type of the left and right end points:
 @lilypond[fragment,relative,verbatim]
   \slurUp
   \property Voice.Stem \set #'length = #5.5
-  g'8-(g g4-)
+  g'8(g g4)
   \property Voice.Slur \set #'attachment = #'(stem . stem)
-  g8-( g g4-)
+  g8( g g4)
 @end lilypond
 
 If a slur would strike through a stem or beam, the slur will be moved
@@ -1747,9 +1747,9 @@ stems might look better:
 
 @lilypond[fragment,relative,verbatim]
   \stemUp \slurUp
-  d32-( d'4 d8..-)
+  d32( d'4 d8..)
   \property Voice.Slur \set #'attachment = #'(stem . stem)
-  d,32-( d'4 d8..-)
+  d,32( d'4 d8..)
 @end lilypond
 
 @refcommands
@@ -1791,7 +1791,7 @@ indicate a musical sentence. It is started using @code{\(} and @code{\)}
 respectively:
 
 @lilypond[fragment,verbatim,center,relative]
-  \time 6/4 c'-\(  d-( e-) f-( e-)  d-\) 
+  \time 6/4 c'-\(  d( e) f( e)  d-\) 
 @end lilypond
 
 Typographically, the phrasing slur behaves almost exactly like a
@@ -1869,7 +1869,7 @@ paper output, a metronome marking is printed:
 
 @seealso
 
-@internalsref{TempoEvent}.
+@internalsref{MetronomeChangeEvent}.
   
 
 
@@ -2038,8 +2038,8 @@ You can use the thumb-script to indicate that a note should be
 played with your thumb (used in cello music):
 
 @lilypond[verbatim, singleline, fragment]
-      <<a' a''-3>>8-(_\thumb-[ <<b' b''-3>>-)_\thumb
-      <<c'' c'''-3>>-(_\thumb <<d'' d'''-3>>-)_\thumb-]
+      <<a' a''-3>>8(_\thumb[ <<b' b''-3>>)_\thumb
+      <<c'' c'''-3>>(_\thumb <<d'' d'''-3>>)_\thumb]
 @end lilypond
 
 Fingerings for chords can also be added to individual notes
@@ -2122,7 +2122,7 @@ with timing tuples:
 @lilypond[]
 \score { \notes \relative c''{ 
   c4^"(0,0)"  \grace c16_" "_"(1/4,-1/16)"  c4^"(1/4,0)"  \grace {
-  c16_"(2/4,-1/8)"-[  d16^"(2/4,-1/16)" ] } c4_" "_"(2/4,0)"
+  c16_"(2/4,-1/8)"[  d16^"(2/4,-1/16)" ] } c4_" "_"(2/4,0)"
   }
 \paper {  linewidth = 12.\cm }
 }
@@ -2134,8 +2134,8 @@ In the following example, there are two sixteenth graces notes for
 every eighth grace note:
 
 @lilypond[relative=2,verbatim,fragment] 
-< \context Staff = SA { e4 \grace { c16-[ d e f-] } e4 }
-  \context Staff = SB { c'4 \grace { g8-[ b-] } c4 } >
+< \context Staff = SA { e4 \grace { c16[ d e f] } e4 }
+  \context Staff = SB { c'4 \grace { g8[ b] } c4 } >
 @end lilypond
 
 
@@ -2161,7 +2161,7 @@ The @code{\override} is carefully matched with a @code{\revert}:
 
 @lilypond[fragment,verbatim]
 \relative c'' \context Voice {
-  \grace c8 c4 \grace { c16-[ c16-] } c4
+  \grace c8 c4 \grace { c16[ c16] } c4
   \grace { 
     \property Voice.Stem \override #'stroke-style = #'() 
     c16 
@@ -2175,7 +2175,7 @@ is to put the grace notes before a phantom ``space note'', e.g.
 @lilypond[fragment,verbatim, relative=2]
 \context Voice {
     < { d1^\trill ( }
-     { s2 \grace { c16-[ d-] } } >
+     { s2 \grace { c16[ d] } } >
    )c4
 }
 @end lilypond
@@ -2196,14 +2196,14 @@ second bars in this example:
 \relative c'' \context Voice {
     \slurUp
     \grace {
-        a4-( }
-    ) a4 a4-( a2-)
+        a4( }
+    ) a4 a4( a2)
     \slurBoth
 
     \grace {
         \slurUp
-        a4-( }
-    ) a4 a4-( a2-)
+        a4( }
+    ) a4 a4( a2)
     \slurBoth
 }
 @end lilypond
@@ -2322,7 +2322,7 @@ use spacer notes if multiple marks during one note are needed:
   < f''1 { s4 s4-\< s4-\! \>  s4-\! } >
 @end lilypond
 This may give rise to very short hairpins. Use @code{minimum-length}
-in @internalsref{Voice}.@internalsref{HairPin} to lengthen them, for
+in @internalsref{Voice}.@internalsref{Hairpin} to lengthen them, for
 example:
 
 @example
@@ -2962,7 +2962,7 @@ it reaches the stem in the upper stave, or vice versa. An example is
 included with the distribution as @inputfileref{input/test,stem-cross-staff.ly}.
 
 Dynamics are not centered, but kludges do exist. See
-@inputfileref{input/templates,piano-dynamics.ly}.
+@inputfileref{input/template,piano-dynamics.ly}.
 
 @cindex cross staff stem
 @cindex stem, cross staff
@@ -3352,12 +3352,12 @@ putting both together, you would get
 @cindex choral score
 
 A complete example of a SATB score setup is in the file
-@inputfileref{input/template,satb}.
+@inputfileref{input/template,satb.ly}.
 
 @seealso
 
 @internalsref{LyricCombineMusic}, @internalsref{Lyrics}, and
-@inputfileref{input/template,satb}.
+@inputfileref{input/template,satb.ly}.
 
 @refbugs
 
@@ -3387,7 +3387,7 @@ To this end, give the @internalsref{Voice} context an identity:
 Then set the @internalsref{LyricsVoice} contexts to names starting with
 that identity followed by a dash.  In the preceding example, the
 @internalsref{Voice} identity is @code{duet}, so the identities of the
-@internalsref{LyricsVoices} are marked @code{duet-1} and @code{duet-2}:
+@internalsref{LyricsVoice}s are marked @code{duet-1} and @code{duet-2}:
 @example
   \context LyricsVoice = "duet-1" @{
     Hi, my name is bert. @}
@@ -4047,7 +4047,7 @@ whose source is available as
 
 Bar numbers can collide with the @internalsref{StaffGroup} bracket, if
 there is one at the top. To solve this, the
-@internalsref{padding} property of @internalsref{BarNumber} can be
+@code{padding} property of @internalsref{BarNumber} can be
 used to position the number correctly.
 
 @node Instrument names
@@ -4254,7 +4254,7 @@ polyphony:
   \context Staff <
     \context Voice=one \partcombine Voice
       \context Thread=one \relative c'' {
-        g a-( b-) r
+        g a( b) r
       }
       \context Thread=two \relative c'' {
         g r4 r f
@@ -7046,9 +7046,9 @@ entering the chant, as the following short excerpt demonstrates:
   \context VaticanaVoice {
     \property Score.BarNumber \set #'transparent = ##t
     \notes {
-      \[ c'( c' \flexa a \] \[ a \flexa \deminutum g-) \] f \divisioMinima
-      \[ f( \pes a c' c' \pes d'-) \] c' \divisioMinima \break
-      \[ c'( c' \flexa a \] \[ a \flexa \deminutum g-) \] f \divisioMinima
+      \[ c'( c' \flexa a \] \[ a \flexa \deminutum g) \] f \divisioMinima
+      \[ f( \pes a c' c' \pes d') \] c' \divisioMinima \break
+      \[ c'( c' \flexa a \] \[ a \flexa \deminutum g) \] f \divisioMinima
     }
   }
   \context Lyrics \lyrics {
@@ -7118,7 +7118,7 @@ looks like:
 
 @lilypondfile[notexidoc]{cluster.ly}
 
-By default, @internalsref{Cluster_engraver} is in the
+By default, @internalsref{Cluster_spanner_engraver} is in the
 @internalsref{Voice} context.  This allows putting ordinary notes and
 clusters together in the same staff, even simultaneously.  In such a
 case no attempt is made to automatically avoid collisions between
@@ -7128,7 +7128,7 @@ ordinary notes and clusters.
 
 @internalsref{ClusterSpanner}, @internalsref{ClusterSpannerBeacon},
 @inputfileref{input/regression,cluster.ly},
-@internalsref{Cluster_engraver}, and @internalsref{ClusterNoteEvent}.
+@internalsref{Cluster_spanner_engraver}, and @internalsref{ClusterNoteEvent}.
 
 @refbugs
 
@@ -8042,7 +8042,7 @@ only a few 16th notes to the example above, they would be followed by
 half a NHW:
 
 @lilypond[fragment, verbatim, relative=2]
- c2 c4. c8 c4. c16-[ c-] c4. c8 c8 c8 c4 c4 c4
+ c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
 @end lilypond
 
 The most common shortest duration is determined as follows: in every
index 0eae233bede3af7e1650e553356b1539ca17114c..cf56e931c029888268a2e4f7e089a5308e27ba52 100644 (file)
@@ -483,7 +483,7 @@ put, they can be entered by hand. Mark the first note to be beamed
 with @code{[} and the last one with @code{]}:
 @quotation
 @lilypond[fragment,relative 1, verbatim]
-a8-[ ais-] d-[ es r d-]
+a8[ ais] d[ es r d]
 @end lilypond
 @end quotation
 @separate
@@ -700,8 +700,8 @@ We can now typeset a melody with two staves:
       \time 3/4
       \clef violin
       \relative c'' {
-        e2-( d4 c2 b4 a8-[ a-]
-        b-[ b-] g-[ g-] a2.-) }  
+        e2( d4 c2 b4 a8[ a]
+        b[ b] g[ g] a2.) }  
     }
     \context Staff = staffB {
        \clef bass
@@ -830,7 +830,7 @@ A slur is drawn across many notes, and indicates bound articulation
 
 @quotation
 @lilypond[fragment,relative 1, verbatim]
-d4-( c16-)-( cis d e c cis d e-)-( d4-)
+d4( c16)( cis d e c cis d e)( d4)
 @end lilypond
 @end quotation
 @separate
@@ -840,7 +840,7 @@ sound longer, and can only be used on pairs of notes with the same
 pitch. Slurs indicate the articulations of notes, and can be used on
 larger groups of notes. Slurs and ties are also nested in practice:
 @lilypond[fragment, relative=1]
-c2-~-( c8 fis fis4 ~ fis2 g2-)
+c2-~( c8 fis fis4 ~ fis2 g2)
 @end lilypond
 
 @cindex phrasing slurs
@@ -850,7 +850,7 @@ phrasing), you can also make a phrasing slur with @code{\(} and
 
 @quotation
 @lilypond[fragment,relative 1, verbatim]
-a8-(-\( ais b  c-) cis2 b'2 a4 cis,  c-\)
+a8(-\( ais b  c) cis2 b'2 a4 cis,  c-\)
 @end lilypond
 @end quotation
 
@@ -878,17 +878,17 @@ You can combine beams and ties with chords.  Beam and tie markings
 must be placed outside the chord markers:
 @quotation
 @lilypond[relative 0, fragment,verbatim]
-r4 <<c e g>>8-[ <<c f a>>-]-~ <<c f a>>
+r4 <<c e g>>8[ <<c f a>>]-~ <<c f a>>
 @end lilypond
 @end quotation
 
 @quotation
 @example
-r4 <<c e g>>8-\>-( <<c e g>> <<c e g>>  <<c f a>>8-\!-)
+r4 <<c e g>>8-\>( <<c e g>> <<c e g>>  <<c f a>>8-\!)
 @end example
 @lilypond[relative 0, fragment]
 \slurUp
-r4 <<c e g>>8-\>-( <<c e g>> <<c e g>>  <<c f a>>8-\!-)
+r4 <<c e g>>8-\>( <<c e g>> <<c e g>>  <<c f a>>8-\!)
 @end lilypond
 @end quotation
 @separate
@@ -932,8 +932,8 @@ of music is multiplied by the fraction.  Triplets make notes occupy
 Grace notes are also made by prefixing a note, or a set of notes with
 a keyword. In this case, the keyword is @code{\grace}:
 @lilypond[relative 1, verbatim,fragment]
-  c4 \grace b16-( c4-)
-  \grace { d16-( e } d4-)
+  c4 \grace b16( c4)
+  \grace { d16( e } d4)
 @end lilypond
 
 @noindent
@@ -995,7 +995,7 @@ The melody for this song is as follows:
 @lilypond[fragment,relative=1]
    \partial 8
      c8
-   \times 2/3 {  f4 g g } \times 2/3 { g4-( a2-) }
+   \times 2/3 {  f4 g g } \times 2/3 { g4( a2) }
 @end lilypond
 
 The lyrics can be set to these notes, combining both with the
@@ -1014,7 +1014,7 @@ The final result is
    \relative c' {
      \partial 8
      c8
-     \times 2/3 { f g g } \times 2/3 { g4-( a2-) }
+     \times 2/3 { f g g } \times 2/3 { g4( a2) }
    }
    \context Lyrics  \lyrics { I want to break free }
  }
@@ -1038,7 +1038,7 @@ line}. It is entered as two underscores, i.e.
    \relative c' {
    \partial 8
      c8
-     \times 2/3 { f g g } \times 2/3 { g4-( a2-) }
+     \times 2/3 { f g g } \times 2/3 { g4( a2) }
 
      %% ugh, this is to deal with bugs in the extender implementation
      \hideNotes
@@ -1132,7 +1132,7 @@ a lead sheet, for example,
     \notes \relative c' {
      \partial 8
      c8
-     \times 2/3 { f g g } \times 2/3 { g4-( a2-) } }
+     \times 2/3 { f g g } \times 2/3 { g4( a2) } }
    \context Lyrics  \lyrics { I want to break free __ }
   >
  \paper{ raggedright = ##t }
@@ -1491,7 +1491,7 @@ in that voice, the tie appears to cross voices:
       \once \property Voice.Stem \set #'transparent = ##t
       b8~ b8
   } \\ {
-       b-[ g8-]
+       b[ g8]
   } >
 @end lilypond
 
index c6ff08bbce1b8d63c6778443f9eb9fc8c78514e6..231e3d970609ea1e0465c222af7ed37e1423639f 100644 (file)
@@ -4,6 +4,9 @@ This shows how to make an ``incipit'' to indicate scordatora
 tuning of a violin part, using the clefStyle property.
 The two first bars of Biber's Rosary sonata III. " }
 
+
+
+
 violinincipit =  \notes\relative c''{
   \clef "french"
   \time 2/2
@@ -29,7 +32,8 @@ violin =  \notes\relative c''{
   \clef treble
 
   a4. b8 c4 fis |
-  gis~ gis8 fis16^\trill (e-) b8 c \context Staff<{\voiceOne a d}{\voiceTwo es,4}>|
+V  gis~ gis8 fis16^\trill (e-) b8 c
+  <{ a d}\\ { es,4}>|
 }
 
 BC  = \notes\relative c{
index 946476954a29db207f6f4850a1ed04b6fba74409..76d17d9bceeaf162ad5c2386075cb8f3fe8ac1f3 100644 (file)
 #include "grace-music.hh"
 #include "grace-iterator.hh"
 
-void
-Grace_music::compress (Moment m) 
-{
-  Music_wrapper::compress (m); 
-}
+
 
 Moment
 Grace_music::get_length () const
 {
-  Moment m ;
+  Moment m;
   return m;
 }
 
index fa24af149005af018c4bb289cc068fb1f9846db0..3441c935666e07529be8a3c361c2ef2342556c7f 100644 (file)
@@ -18,7 +18,6 @@ public:
   VIRTUAL_COPY_CONS (Music);
   Grace_music ();
 protected:
-  virtual void compress (Moment);
   virtual Moment get_length () const;
   virtual Moment start_mom () const;
 };
index a062b07256a35379ce9dcefc5b53362a0c00afb3..2be926c64a3116de951e76e80ba45b5f10055a32 100644 (file)
@@ -19,12 +19,9 @@ public:
   Music * get_lyrics () const;
   
   Lyric_combine_music ();
-  virtual void transpose (Pitch);
 
   VIRTUAL_COPY_CONS (Music);
   virtual Moment get_length () const;
-  virtual Pitch to_relative_octave (Pitch);
-  virtual void compress (Moment);
 };
 #endif /* LYRIC_COMBINE_MUSIC_HH */
 
index fd4e6225961a0f702436cd0eb1af788e0ac94bf6..b8260e25d5ad6c742aae7020a2c2a83f93a9f9cf 100644 (file)
@@ -23,18 +23,15 @@ public:
   VIRTUAL_COPY_CONS (Music);
   
   Pitch do_relative_octave (Pitch p, bool b);
-  static void transpose_list (SCM , Pitch);
-  static void compress_list (SCM, Moment);
   
-  virtual void transpose (Pitch );
-  virtual void compress (Moment);
-
   static Moment cumulative_length (SCM) ;
   static Moment maximum_length (SCM) ;
   static Moment first_start (SCM list) ;
   static Moment minimum_start (SCM list);
-  
-protected:
-  virtual Pitch to_relative_octave (Pitch);
 };
+
+Pitch music_list_to_relative (SCM l,Pitch p, bool ret_first);
+void transpose_music_list (SCM , Pitch);
+void compress_music_list (SCM, Moment);
+
 #endif
index 0de776e439903db8d0d9ddff0e9700122b0e3a06..78530642cea605d002261c3447a8a40aafb5cbfd 100644 (file)
@@ -24,14 +24,10 @@ class Music_wrapper : public Music
 public:
   Music_wrapper ();
   Music * element () const;
-  virtual void transpose (Pitch);
-
   
   VIRTUAL_COPY_CONS (Music);
   virtual Moment get_length () const;
   virtual Moment start_mom () const;
-  virtual Pitch to_relative_octave (Pitch);
-  virtual void compress (Moment);
 };
 
 
index f85ecd8bb313b726078a8f8df667cf1e603ebdfb..7020acd18b43f692cf76282f8042cf959ff6a076 100644 (file)
@@ -72,4 +72,6 @@ DECLARE_UNSMOB(Music,music);
 
 Music* make_music_by_name (SCM sym);
 
+extern bool lily_1_8_relative;
+
 #endif // MUSIC_HH
index b2873e1e2a990161a9e52e782144814dfd262da8..5b07584762da8d5ec64fe454486dc5472d2f97a5 100644 (file)
@@ -66,11 +66,6 @@ public:
   DECLARE_SCHEME_CALLBACK (minimum_start, (SCM));
   DECLARE_SCHEME_CALLBACK (first_start, (SCM));    
   
-  /// Transpose, with the interval central C to #p#
-  virtual void transpose (Pitch p);
-
-  /// Scale the music in time by #factor#.
-  virtual void compress (Moment factor);
   VIRTUAL_COPY_CONS (Music);
   Repeated_music ();
   Repeated_music (SCM);
index e00a0bb6fe6b3bcdaad4408252944f32c0ff2995..78855833d9418965f17c2b3b540db783db0eac7f 100644 (file)
@@ -11,5 +11,6 @@
 /* options */
 extern bool midi_debug_global_b;
 extern int testing_level_global;
+extern bool lily_1_8_relative;
 
 #endif /* SCM_OPTION_HH */
index 6ce485c48be402b0b138a019f4a5d607bdfb4c1f..1d0b911515affdfea683c97b6cb50096b281029c 100644 (file)
@@ -15,36 +15,12 @@ Lyric_combine_music::Lyric_combine_music ()
 {
 }
 
-
-void
-Lyric_combine_music::transpose (Pitch p)
-{
-  get_music ()->transpose (p);
-  get_lyrics () ->transpose (p);
-}
-
-
 Moment
 Lyric_combine_music::get_length () const
 {
   return get_music ()->get_length ();
 }
 
-Pitch
-Lyric_combine_music::to_relative_octave (Pitch p)
-{
-  p = get_music ()->to_relative_octave (p);
-  return get_lyrics () ->to_relative_octave (p);
-}
-
-void
-Lyric_combine_music::compress (Moment m)
-{
-  get_music ()->compress (m);
-}
-
-
-
 Music*
 Lyric_combine_music::get_music () const
 {
index cc9a1ed1c9be0ad531ac57703665940eb7bf460e..90e99ef8cd782e8be391ea43a610e7b57a3c29a3 100644 (file)
@@ -34,13 +34,7 @@ Music_sequence::Music_sequence ( )
 }
 
 void
-Music_sequence::transpose (Pitch rq)
-{
-  transpose_list (music_list (), rq);
-}
-
-void
-Music_sequence::transpose_list (SCM l,  Pitch rq)
+transpose_music_list (SCM l,  Pitch rq)
 {
   for (SCM s = l; gh_pair_p (s);  s = ly_cdr (s))
     unsmob_music (ly_car (s))->transpose (rq);    
@@ -69,13 +63,6 @@ Music_sequence::cumulative_length (SCM l)
   return  cumulative;
 }
 
-Pitch
-Music_sequence::to_relative_octave (Pitch p)
-{
-  return do_relative_octave (p, false);
-}
-
-
 Moment
 Music_sequence::maximum_length (SCM l)
 {
@@ -90,15 +77,14 @@ Music_sequence::maximum_length (SCM l)
   return dur;
 }
 
-
 Pitch
-Music_sequence::do_relative_octave (Pitch p, bool ret_first)
+music_list_to_relative (SCM l,Pitch p, bool ret_first)
 {
-  Pitch first;
+  Pitch first = p;
   int count=0;
 
   Pitch last = p;
-  for (SCM s = music_list (); gh_pair_p (s);  s = ly_cdr (s))
+  for (SCM s = l; gh_pair_p (s);  s = ly_cdr (s))
     {
       if (Music *m = unsmob_music (ly_car (s)))
        {
@@ -108,20 +94,12 @@ Music_sequence::do_relative_octave (Pitch p, bool ret_first)
        }
     }
 
-  if (ret_first)
-    return first;
-  else
-    return last;
+  return  (ret_first)?  first : last;
 }
 
-void
-Music_sequence::compress (Moment m)
-{
-  compress_list (music_list (), m);
-}
 
 void
-Music_sequence::compress_list (SCM l, Moment m)
+compress_music_list (SCM l, Moment m)
 {
   for (SCM s = l; gh_pair_p (s);  s = ly_cdr (s))
     unsmob_music (ly_car (s))->compress (m);
index 6c5623767f34fe4f5eff221c03d4b86f8da1f261..4486f589c8071c8621833e2c9ff33f3025312fc5 100644 (file)
 
 
 
-void
-Music_wrapper::transpose (Pitch p)
-{
-  if (element ())
-    element ()-> transpose (p);
-}
-
-
 Music_wrapper::Music_wrapper ()
   : Music ()
 {
@@ -32,24 +24,12 @@ Music_wrapper::get_length () const
   return element ()->get_length ();
 }
 
-Pitch
-Music_wrapper::to_relative_octave (Pitch p)
-{
-  return element ()->to_relative_octave (p);
-}
-
-
 Music*
 Music_wrapper::element () const
 {
   return unsmob_music (get_mus_property ("element"));
 }
 
-void
-Music_wrapper::compress (Moment m)
-{
-  element ()->compress (m);
-}
 
 ADD_MUSIC (Music_wrapper);
 
index 941ff2c67cc822e5c2cfc73ac9aba312dea7aae9..7e6fe2b14fec55a2e17421c447b61111727d6eed 100644 (file)
@@ -39,15 +39,7 @@ Music::name () const
     }
 }
 
-void
-Music::transpose (Pitch)
-{
-}
 
-void
-Music::compress (Moment)
-{
-}
 
 Music::Music (Music const &m)
 {
@@ -159,9 +151,39 @@ Music::print_smob (SCM s, SCM p, scm_print_state*)
 }
 
 Pitch
-Music::to_relative_octave (Pitch m)
+Music::to_relative_octave (Pitch p)
 {
-  return m;
+  SCM elt = get_mus_property ("element");
+
+  if (Music* m = unsmob_music (elt))
+    p = m->to_relative_octave (p);
+
+  p = music_list_to_relative (get_mus_property ("elements"),
+                             p, false);
+  return p;
+}
+
+void
+Music::compress (Moment factor)
+{
+  SCM elt = get_mus_property ("element");
+
+  if (Music* m = unsmob_music (elt))
+    m->compress (factor);
+
+  compress_music_list (get_mus_property ("elements"), factor);
+}
+
+
+void
+Music::transpose (Pitch delta)
+{
+  SCM elt = get_mus_property ("element");
+
+  if (Music* m = unsmob_music (elt))
+    m->transpose (delta);
+
+  transpose_music_list (get_mus_property ("elements"), delta);
 }
 
 
index 54f23241c158488f37b723d3876d0b1ab373d155..6c9e0e01d44972b9493b5fdb5099bb2fa77afc46 100644 (file)
@@ -326,8 +326,7 @@ yylex (YYSTYPE *s,  void * v)
 
 %type <outputdef> output_def
 %type <scm>    lilypond_header lilypond_header_body
-%type <music>  open_event_parens close_event_parens open_event close_event
-%type <music> event_with_dir event_that_take_dir verbose_event
+%type <music>  open_event close_event
 %type <i>      sub_quotes sup_quotes
 %type <music>  simple_element  event_chord command_element Simple_music  Composite_music 
 %type <music>  Repeated_music
@@ -343,7 +342,7 @@ yylex (YYSTYPE *s,  void * v)
 %type <scm>  verbose_duration
        
 %type <scm>   post_events
-%type <music> gen_text_def
+%type <music> gen_text_def direction_less_event direction_reqd_event
 %type <scm>   steno_pitch pitch absolute_pitch pitch_also_in_chords
 %type <scm>   explicit_pitch steno_tonic_pitch
 
@@ -365,7 +364,7 @@ yylex (YYSTYPE *s,  void * v)
 %type <music> command_req verbose_command_req
 %type <music>  extender_req
 %type <music> hyphen_req
-%type <music> string_event
+%type <music> string_number_event
 %type <scm>    string bare_number number_expression number_term number_factor 
 %type <score>  score_block score_body
 
@@ -1066,7 +1065,8 @@ relative_music:
                scm_gc_unprotect_object (p->self_scm ());
 
 
-               $$->set_mus_property ("last-pitch", p->to_relative_octave (pit).smobbed_copy ());
+               if (lily_1_8_relative)
+                       $$->set_mus_property ("last-pitch", p->to_relative_octave (pit).smobbed_copy ());
 
        }
        ;
@@ -1407,21 +1407,6 @@ shorthand_command_req:
        | hyphen_req {
                $$ = $1;
        }
-       | '~'   {
-               $$ = MY_MAKE_MUSIC("TieEvent");
-       }
-       | '['           {
-               Music *b= MY_MAKE_MUSIC("BeamEvent");
-               b->set_mus_property ("span-direction", gh_int2scm (START));
-               $$ = b;
-
-               THIS->last_beam_start_ = b->self_scm ();
-       }
-       | ']'           {
-               Music *b= MY_MAKE_MUSIC("BeamEvent");
-               b->set_mus_property ("span-direction", gh_int2scm (STOP));
-               $$ = b;
-       }
        | BREATHE {
                $$ = MY_MAKE_MUSIC("BreathingSignEvent");
        }
@@ -1480,14 +1465,24 @@ post_events:
        }
        ;
 
+
+
 post_event:
-       verbose_event
-       | event_with_dir
-       | close_event
-       | string_event
+       direction_less_event {
+               $$ = $1;
+       }
+       | script_dir direction_reqd_event {
+               $2->set_mus_property ("direction", gh_int2scm ($1));
+               $$ = $2;
+       }
+       | script_dir direction_less_event {
+               $2->set_mus_property ("direction", gh_int2scm ($1));
+               $$ = $2;
+       }
+       | string_number_event
        ;
 
-string_event:
+string_number_event:
        E_UNSIGNED {
                Music * s = MY_MAKE_MUSIC("StringNumberEvent");
                s->set_mus_property ("string-number",  gh_int2scm($1));
@@ -1497,12 +1492,8 @@ string_event:
        ;
 
 
-event_that_take_dir:
-       gen_text_def
-       | verbose_event
-       | close_event
-       | open_event
-       | '['  {
+direction_less_event:
+       '['  {
 
 
 /*
@@ -1530,25 +1521,15 @@ configurable, i.e.
                m->set_spot (THIS->here_input());
                $$ = m;
        }
-       | script_abbreviation {
-               SCM s = THIS->lexer_->lookup_identifier ("dash" + ly_scm2string ($1));
-               Music *a = MY_MAKE_MUSIC("ArticulationEvent");
-               if (gh_string_p (s))
-                       a->set_mus_property ("articulation-type", s);
-               else THIS->parser_error (_ ("Expecting string as script definition"));
-               $$ = a;
+       | close_event {
+               $$ = $1;
+               dynamic_cast<Music *> ($$)->set_mus_property ("span-direction", gh_int2scm (START));
        }
-       ;
-
-event_with_dir:
-       script_dir event_that_take_dir  {
-               $2->set_mus_property ("direction", gh_int2scm ($1));
-               $$ = $2;
+       | open_event {
+               $$ = $1;
+               dynamic_cast<Music *> ($$)->set_mus_property ("span-direction", gh_int2scm (STOP))
        }
-       ;
-       
-verbose_event:
-       EVENT_IDENTIFIER        {
+       | EVENT_IDENTIFIER      {
                $$ = unsmob_music ($1);
        }
        | tremolo_type  {
@@ -1557,8 +1538,22 @@ verbose_event:
                a->set_mus_property ("tremolo-type", gh_int2scm ($1));
                $$ = a;
         }
+       ;       
+       
+direction_reqd_event:
+       gen_text_def {
+               $$ = $1; 
+       }
+       | script_abbreviation {
+               SCM s = THIS->lexer_->lookup_identifier ("dash" + ly_scm2string ($1));
+               Music *a = MY_MAKE_MUSIC("ArticulationEvent");
+               if (gh_string_p (s))
+                       a->set_mus_property ("articulation-type", s);
+               else THIS->parser_error (_ ("Expecting string as script definition"));
+               $$ = a;
+       }
        ;
-
+       
 sup_quotes:
        '\'' {
                $$ = 1;
@@ -1666,14 +1661,6 @@ hyphen_req:
        ;
 
 close_event:
-       close_event_parens {
-               $$ = $1;
-               dynamic_cast<Music *> ($$)->set_mus_property ("span-direction", gh_int2scm (START))
-;
-       }
-       ;
-close_event_parens:
        '('     {
                Music * s= MY_MAKE_MUSIC("SlurEvent");
                $$ = s;
@@ -1698,14 +1685,6 @@ close_event_parens:
 
 
 open_event:
-       open_event_parens {
-               $$ = $1;
-               dynamic_cast<Music *> ($$)->set_mus_property ("span-direction", gh_int2scm (STOP))
-;
-       }
-       ;
-
-open_event_parens:
        E_EXCLAMATION   {
                Music *s =  MY_MAKE_MUSIC("CrescendoEvent");
                s->set_spot (THIS->here_input());
@@ -1727,13 +1706,7 @@ open_event_parens:
        ;
 
 gen_text_def:
-       embedded_scm {
-               Music *t = MY_MAKE_MUSIC("TextScriptEvent");
-               t->set_mus_property ("text", $1);
-               t->set_spot (THIS->here_input ());
-               $$ = t;
-       }
-       | full_markup {
+       full_markup {
                Music *t = MY_MAKE_MUSIC("TextScriptEvent");
                t->set_mus_property ("text", $1);
                t->set_spot (THIS->here_input ());
index ad2350fa39bdf337e71e58a3587d51762367dc40..15c9c54566945626afad332e67501100e3069d49 100644 (file)
 #include "relative-music.hh"
 #include "warn.hh"
 
-Pitch
-Relative_octave_music::to_relative_octave (Pitch)
-{
-       /*
-               ugh: last-pitch should  be junked.
-
-               Change this for lilypond 2.0. When you do,
-               then B should start where A left off.
 
-               \relative { A \relative { ...} B }
 
-               */
-
-  return * unsmob_pitch (get_mus_property ("last-pitch"));
+Pitch
+Relative_octave_music::to_relative_octave (Pitch p)
+{
+  if (lily_1_8_relative)
+    {
+      
+  /*
+    ugh: last-pitch should  be junked.
+
+    Change this for lilypond 2.0. When you do,
+    then B should start where A left off.
+
+    \relative { A \relative { ...} B }
+
+  */
+      return * unsmob_pitch (get_mus_property ("last-pitch"));
+    }
+  else
+    return p;
 }
 
 
index 9d127b8004fe525791f2ef417019af19b9678dfc..e874e42451a2279ce201d5f3dbea8dac547ac5bb 100644 (file)
@@ -31,35 +31,25 @@ Repeated_music::alternatives ()const
 Pitch
 Repeated_music::to_relative_octave (Pitch p)
 {
-  if (body ())
-    p = body ()->to_relative_octave (p);
+  if (lily_1_8_relative)
+    {
+      if (body ())
+       p = body ()->to_relative_octave (p);
 
-  Pitch last = p ; 
-  if (alternatives ())
-    for (SCM s = alternatives (); gh_pair_p (s);  s = ly_cdr (s))
-      unsmob_music (ly_car (s))->to_relative_octave (p);
+      Pitch last = p ; 
+      if (alternatives ())
+       for (SCM s = alternatives (); gh_pair_p (s);  s = ly_cdr (s))
+         unsmob_music (ly_car (s))->to_relative_octave (p);
      
 
-  return last;
-}
-
-void
-Repeated_music::transpose (Pitch p)
-{
-  if (body ())
-    body ()->transpose (p);
-
-  Music_sequence::transpose_list (get_mus_property ("elements"), p);
+      return last;
+    }
+  else
+    {
+      return Music::to_relative_octave (p);
+    }
 }
 
-void
-Repeated_music::compress (Moment p)
-{
-  if (body ())
-    body ()->compress (p);
-
-  Music_sequence::compress_list (alternatives (), p);
-}
 
 Moment
 Repeated_music::alternatives_get_length (bool fold) const
index d05f3a06f94798fab16484505c85940ab7551023..ec9186dbcfe05dbb73011be531d125ed71726801 100644 (file)
@@ -34,6 +34,10 @@ bool midi_debug_global_b;
 /* General purpose testing flag */
 int testing_level_global;
 
+/*
+  Backwards compatibility.
+ */
+bool lily_1_8_relative = true;
 /*
   crash if internally the wrong type is used for a grob property.
  */
@@ -84,6 +88,10 @@ LY_DEFINE (ly_set_option, "ly:set-option", 2, 0, 0, (SCM var, SCM val),
 "@item parse-protect\n"
 "If protection is switched on, errors in inline scheme are caught in the parser. \n"
 "If off, GUILE will halt on errors, and give a stack trace. Default is protected evaluation. \n"
+"@item old-relative\n"
+"Relative for simultaneous functions similar to chord syntax\n"
+"@item new-relative\n"
+"Relative for simultaneous functions similar to sequential music\n"
 "@end table\n"
 "\n"
 "This function is useful to call from the command line: @code{lilypond -e\n"
@@ -110,18 +118,13 @@ LY_DEFINE (ly_set_option, "ly:set-option", 2, 0, 0, (SCM var, SCM val),
     {
      internal_type_checking_global_b = to_boolean (val); 
     }
-  else if (var == ly_symbol2scm ("find-old-relative"))
+  else if (var == ly_symbol2scm ("old-relative"))
     {
-      /*
-       Seems to have been broken for some time!
-       
-       @item  -Q,--find-old-relative
-       show all changes needed to convert a file to  relative octave syntax.
-
-
-       
-      */
-      ;
+      lily_1_8_relative = true;
+    }
+  else if (var == ly_symbol2scm ("new-relative"))
+    {
+      lily_1_8_relative = false;
     }
   else
     {
index 7e070968c3bea8d515d6660a5c34df685c913d00..315989e38f5b3795a2d92650062a81a3f73954ea 100644 (file)
@@ -20,41 +20,10 @@ Simultaneous_music::Simultaneous_music()
 
 }
 
-/*
-  Cut & paste from Music_sequence, (ugh) , but we must add an error
-  message.
- */
 Pitch
 Simultaneous_music::to_relative_octave (Pitch p)
 {
-  Pitch first;
-  int count=0;
-
-  Pitch last = p;
-  for (SCM s = music_list (); gh_pair_p (s);  s = ly_cdr (s))
-    {
-      if (Music *m = unsmob_music (ly_car (s)))
-       {
-         last = m->to_relative_octave (last);
-         if (!count ++)
-           first = last;
-       }
-    }
-
-#if 0
-  if (count && first != last)
-    {
-      String str = _("Changing relative definition may cause octave change.");
-      str += "\nWas: " +  first.to_string ()
-       + " -- now returning: " + last.to_string () + "\n";
-      
-      origin()->warning (str);
-    }
-
-  return last;
-#else
-  return first;
-#endif
+  return music_list_to_relative (music_list(),p, lily_1_8_relative);
 }
 
 ADD_MUSIC (Simultaneous_music);
@@ -62,6 +31,7 @@ ADD_MUSIC (Simultaneous_music);
 Pitch
 Event_chord::to_relative_octave (Pitch p)
 {
-  return do_relative_octave (p, true);
+  return music_list_to_relative (music_list (), p, true);
 }
+
 ADD_MUSIC(Event_chord);
index 6862ade0f4cfe82a6f16a270130018cef393bf1b..9f82abc557fc75b58e5a23bc1890a06a7206b408 100644 (file)
@@ -14,8 +14,6 @@ source file of the GNU LilyPond music typesetter
 
   fixthis.
 */
-  
-
 void
 Untransposable_music::transpose (Pitch )
 {
index 937b0fd1a8fb5f9928174e3dbe1f4b6424292882..98e061332cf4c0a4f835b6e46f77aa9717767342 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,12 +1,12 @@
 # Swedish translation of lilypond
-# Copyright (C) 2001 Free Software Foundation, Inc.
-# Martin Norbäck <d95mback@dtek.chalmers.se>, 2001.
+# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+# Martin Norbäck <d95mback@dtek.chalmers.se>, 2001, 2002, 2003.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond 1.4.6\n"
+"Project-Id-Version: lilypond 1.7.26\n"
 "POT-Creation-Date: 2003-07-18 14:45+0200\n"
-"PO-Revision-Date: 2001-09-03 21:00+0200\n"
+"PO-Revision-Date: 2003-08-23 13:30+0200\n"
 "Last-Translator: Martin Norbäck <d95mback@dtek.chalmers.se>\n"
 "Language-Team: Swedish <sv@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -37,12 +37,12 @@ msgstr ""
 #. lilylib globals
 #: lilylib.py:60
 msgid "lilylib module"
-msgstr ""
+msgstr "lilylib-modul"
 
 # förklaring av flaggan -h
 #: lilylib.py:63 lilypond-book.py:131 ly2dvi.py:128 midi2ly.py:100
 #: mup2ly.py:75 main.cc:111
-msgid "print this help"
+msgid "this help"
 msgstr "denna hjälp"
 
 #. ###############################################################
@@ -60,15 +60,15 @@ msgstr "Copyright 
 
 #: lilylib.py:114
 msgid " 1998--2003"
-msgstr ""
+msgstr " 1998-2003"
 
 #: lilylib.py:118
 msgid "Distributed under terms of the GNU General Public License."
-msgstr ""
+msgstr "Distribueras under GNU General Public License."
 
 #: lilylib.py:120
 msgid "It comes with NO WARRANTY."
-msgstr ""
+msgstr "INGEN GARANTI ges för programmet."
 
 #: lilylib.py:127 midi2ly.py:150 mup2ly.py:144 input.cc:88
 msgid "warning: "
@@ -82,13 +82,13 @@ msgid "error: "
 msgstr "fel: "
 
 #: lilylib.py:134
-#, fuzzy, python-format
+#, python-format
 msgid "Exiting (%d)..."
-msgstr "Avslutar... "
+msgstr "Avslutar (%d)... "
 
 #: lilylib.py:194 midi2ly.py:224 mup2ly.py:220
 #, python-format
-msgid "Usage: %s [OPTIONS]... FILE"
+msgid "Usage: %s [OPTION]... FILE"
 msgstr "Användning: %s [FLAGGA]... FIL"
 
 #: lilylib.py:198 midi2ly.py:228 mup2ly.py:224 main.cc:166
@@ -97,25 +97,25 @@ msgstr "Flaggor:"
 
 #: lilylib.py:202 midi2ly.py:232 mup2ly.py:228 main.cc:172
 #, c-format, python-format
-msgid "Report bugs to %s."
+msgid "Report bugs to %s"
 msgstr ""
-"Rapportera programfel till %s\n."
-"Rapportera fel i översättningen till <sv@li.org>."
+"Rapportera programfel till %s\n"
+"Rapportera fel i översättningen till <sv@li.org>"
 
 #: lilylib.py:228
-#, fuzzy, python-format
+#, python-format
 msgid "Opening pipe `%s'"
-msgstr "Rensar \"%s\"..."
+msgstr "Öppnar rör \"%s\"..."
 
 #. successful pipe close returns 'None'
 #: lilylib.py:240
 #, python-format
 msgid "`%s' failed (%d)"
-msgstr ""
+msgstr "\"%s\" misslyckades (%d)"
 
 #: lilylib.py:242 lilylib.py:289 lilypond-book.py:231 ly2dvi.py:512
 msgid "The error log is as follows:"
-msgstr ""
+msgstr "Felloggen är följande:"
 
 #: lilylib.py:262 midi2ly.py:260 mup2ly.py:256
 #, python-format
@@ -130,7 +130,7 @@ msgstr "K
 #: lilylib.py:282
 #, python-format
 msgid "`%s' failed (%s)"
-msgstr ""
+msgstr "\"%s\" misslyckades (%s)"
 
 #: lilylib.py:285 midi2ly.py:266 mup2ly.py:264
 msgid "(ignored)"
@@ -160,7 +160,7 @@ msgstr "Rensar %s..."
 #. # and when to show full page
 #: lilylib.py:458
 msgid "Removing output file"
-msgstr ""
+msgstr "Tar bort utdatafilen"
 
 #. !@PYTHON@
 #. once upon a rainy monday afternoon.
@@ -427,7 +427,7 @@ msgstr ""
 #. #help_summary = _ ("Run LilyPond using LaTeX for titling")
 #: lilypond-book.py:120
 msgid "Process LilyPond snippets in hybrid html, LaTeX or texinfo document"
-msgstr ""
+msgstr "Bearbeta LilyPond-stycken i ett hybriddokument i html, LaTex eller texinfo"
 
 #. another bug in option parser: --output=foe is taken as an abbreviation
 #. for --output-format
@@ -436,39 +436,37 @@ msgid "EXT"
 msgstr "FMT"
 
 #: lilypond-book.py:125
-#, fuzzy
 msgid "use output format EXT (texi [default], texi-html, latex, html)"
-msgstr "använd utdataformat FMT (scm, ps, tex eller as)"
+msgstr "använd utdataformat FMT (texi [standard], texi-html, latex, html)"
 
 #: lilypond-book.py:126 lilypond-book.py:127 lilypond-book.py:129
 #: lilypond-book.py:130
-#, fuzzy
 msgid "DIM"
-msgstr "KATALOG"
+msgstr "DIM"
 
 #: lilypond-book.py:126
 msgid "default fontsize for music.  DIM is assumed to be in points"
-msgstr ""
+msgstr "standardtypsnittsstorlek för musik. DIM anges i punkter"
 
 #: lilypond-book.py:127
 msgid "deprecated, use --default-music-fontsize"
-msgstr ""
+msgstr "föråldrad, använd --default-music-fontsize"
 
 #: lilypond-book.py:128
 msgid "OPT"
-msgstr ""
+msgstr "OPT"
 
 #: lilypond-book.py:128
 msgid "pass OPT quoted to the lilypond command line"
-msgstr ""
+msgstr "skicka OPT till lilyponds kommandorad"
 
 #: lilypond-book.py:129
 msgid "force fontsize for all inline lilypond. DIM is assumed be to in points"
-msgstr ""
+msgstr "tvinga typsnittsstorlek för all inbäddad lilypond. DIM anger i punkter"
 
 #: lilypond-book.py:130
 msgid "deprecated, use --force-music-fontsize"
-msgstr ""
+msgstr "föråldrad, använd --force-music-fontsize"
 
 #: lilypond-book.py:132 ly2dvi.py:130 main.cc:113 main.cc:118
 msgid "DIR"
@@ -476,34 +474,31 @@ msgstr "KATALOG"
 
 #: lilypond-book.py:132
 msgid "include path"
-msgstr ""
+msgstr "sökväg för inkluderade filer"
 
 #: lilypond-book.py:133
-#, fuzzy
 msgid "write dependencies"
-msgstr "lägg till KATALOG efter beroenden"
+msgstr "skriv beroenden"
 
 #: lilypond-book.py:134
 msgid "PREF"
-msgstr ""
+msgstr "PREF"
 
 #: lilypond-book.py:134
-#, fuzzy
 msgid "prepend PREF before each -M dependency"
-msgstr "lägg till KATALOG efter beroenden"
+msgstr "lägg till PREF före varje beroende angett med -M"
 
 #: lilypond-book.py:135
-#, fuzzy
 msgid "don't run lilypond"
-msgstr "kör inte LilyPond"
+msgstr "kör inte lilypond"
 
 #: lilypond-book.py:136
 msgid "don't generate pictures"
-msgstr ""
+msgstr "skapa inte bilder"
 
 #: lilypond-book.py:137
 msgid "strip all lilypond blocks from output"
-msgstr ""
+msgstr "ta bort alla lilypond-block från utdata"
 
 #: lilypond-book.py:138 lilypond-book.py:139 ly2dvi.py:135 ly2dvi.py:136
 #: midi2ly.py:102 main.cc:114 main.cc:117
@@ -512,29 +507,28 @@ msgstr "FIL"
 
 #: lilypond-book.py:138
 msgid "filename main output file"
-msgstr ""
+msgstr "filnamn på huvudutdatafilen"
 
 #: lilypond-book.py:139
 msgid "where to place generated files"
-msgstr ""
+msgstr "var genererade filer ska läggas"
 
 #: lilypond-book.py:140 ly2dvi.py:137
 msgid "RES"
-msgstr ""
+msgstr "RES"
 
 #: lilypond-book.py:141 ly2dvi.py:138
 msgid "set the resolution of the preview to RES"
-msgstr ""
+msgstr "sätt resolutionen för förhandsgranskningen till RES"
 
 # Förklaring till --verbose (borde vara längre)
 #: lilypond-book.py:142 ly2dvi.py:148 midi2ly.py:105 mup2ly.py:78 main.cc:126
-msgid "be verbose"
-msgstr "var utförlig"
+msgid "verbose"
+msgstr "utförlig utdata"
 
 #: lilypond-book.py:143
-#, fuzzy
 msgid "print version information"
-msgstr "visa versionsnummer"
+msgstr "visa versionsinformation"
 
 #: lilypond-book.py:144 ly2dvi.py:150 midi2ly.py:107 mup2ly.py:80 main.cc:127
 msgid "show warranty and copyright"
@@ -552,7 +546,7 @@ msgstr "visa garanti och copyright"
 #. Redirect to stderr
 #: lilypond-book.py:230
 msgid "LaTeX failed."
-msgstr ""
+msgstr "LaTeX misslyckades."
 
 #. URG see ly2dvi
 #. Convert numeric values, with or without specific dimension, to floats.
@@ -635,14 +629,13 @@ msgstr ""
 #: lilypond-book.py:1557 ly2dvi.py:673 midi2ly.py:1018
 #, python-format
 msgid "getopt says: `%s'"
-msgstr ""
+msgstr "getopt säger: \"%s\""
 
 #. HACK
 #. status = os.system ('lilypond -w')
 #: lilypond-book.py:1630 ly2dvi.py:777
-#, fuzzy
 msgid "no files specified on command line"
-msgstr "inga filer angivna på kommandoraden."
+msgstr "inga filer angivna på kommandoraden"
 
 #.
 #. Petr, ik zou willen dat ik iets zinvoller deed,
@@ -684,8 +677,8 @@ msgstr "inga filer angivna p
 #. # do -P or -p by default?
 #. #help_summary = _ ("Run LilyPond using LaTeX for titling")
 #: ly2dvi.py:121
-msgid "Run LilyPond, add titles, generate printable document."
-msgstr ""
+msgid "Run LilyPond, add titles, generate printable document"
+msgstr "Kör LilyPond, lägg till titlar, skapa utskrivbart dokument"
 
 #: ly2dvi.py:127 main.cc:115
 msgid "write Makefile dependencies for every input file"
@@ -693,7 +686,7 @@ msgstr "skriv Makefile-beroenden f
 
 #: ly2dvi.py:129
 msgid "print even more output"
-msgstr ""
+msgstr "skriv ännu mer utdata"
 
 #: ly2dvi.py:130
 msgid "add DIR to LilyPond's search path"
@@ -701,9 +694,9 @@ msgstr "l
 
 # %s är programmets namn
 #: ly2dvi.py:132
-#, fuzzy, python-format
+#, python-format
 msgid "keep all output, output to directory %s.dir"
-msgstr "behåll all utdata, och namnge katalogen %s.dir"
+msgstr "behåll all utdata, utdata till katalogen %s.dir"
 
 #: ly2dvi.py:133
 msgid "don't run LilyPond"
@@ -714,12 +707,12 @@ msgid "produce MIDI output only"
 msgstr "skapa enbart MIDI-utdata"
 
 #: ly2dvi.py:135 midi2ly.py:102
-msgid "write output to FILE"
+msgid "write ouput to FILE"
 msgstr "skriv utdata till FIL"
 
 #: ly2dvi.py:136
 msgid "find pfa fonts used in FILE"
-msgstr ""
+msgstr "hitta pfa-typsnitt som används i FIL"
 
 #: ly2dvi.py:139
 msgid "generate PostScript output"
@@ -727,30 +720,28 @@ msgstr "skapa PostScript-utdata"
 
 #: ly2dvi.py:140
 msgid "generate PNG page images"
-msgstr ""
+msgstr "skapa PNG-sidbilder"
 
 #: ly2dvi.py:141
-#, fuzzy
 msgid "generate PS.GZ"
-msgstr "skapa PostScript-utdata"
+msgstr "skapa PS.GZ"
 
 #: ly2dvi.py:142
-#, fuzzy
 msgid "generate PDF output"
-msgstr "skapa PostScript-utdata"
+msgstr "skapa PDF-utdata"
 
 #: ly2dvi.py:143
 msgid "use pdflatex to generate a PDF output"
-msgstr ""
+msgstr "använd pdflatex för att generera PDF-utdata"
 
 #. FIXME: preview, picture; to indicate creation of a PNG?
 #: ly2dvi.py:145
 msgid "make a picture of the first system"
-msgstr ""
+msgstr "skapa en bild av det första systemet"
 
 #: ly2dvi.py:146
 msgid "make HTML file with links to all output"
-msgstr ""
+msgstr "skapa en HTML-fil som länkar till all utdata"
 
 #: ly2dvi.py:147
 msgid "KEY=VAL"
@@ -777,34 +768,33 @@ msgstr "visa versionsnummer"
 #. ly.warning (_ ("invalid value: %s") % `val`)
 #. ly.warning (_ ("invalid value: %s") % `val`)
 #: ly2dvi.py:232
-#, fuzzy, python-format
+#, python-format
 msgid "no such setting: `%s'"
-msgstr "inställningen finns inte: %s"
+msgstr "inställningen finns inte: \"%s\""
 
 #. 2 == user interrupt.
 #: ly2dvi.py:274
 #, python-format
 msgid "LilyPond crashed (signal %d)."
-msgstr ""
+msgstr "LilyPond kraschade (signal %d)."
 
 #: ly2dvi.py:275
 msgid "Please submit a bug report to bug-lilypond@gnu.org"
-msgstr ""
+msgstr "Skicka en buggrapport till bug-lilypond@gnu.org"
 
 #: ly2dvi.py:281
 #, python-format
 msgid "LilyPond failed on input file %s (exit status %d)"
-msgstr ""
+msgstr "LilyPond misslyckades på indatafilen \"%s\" (slutstatus %d)"
 
 #: ly2dvi.py:284
 #, python-format
 msgid "LilyPond failed on an input file (exit status %d)"
-msgstr ""
+msgstr "LilyPond misslyckades på en indatafil (slutstatus %d)"
 
 #: ly2dvi.py:285
-#, fuzzy
 msgid "Continuing..."
-msgstr "Kör %s..."
+msgstr "Fortsätter..."
 
 #. urg
 #: ly2dvi.py:296
@@ -814,16 +804,16 @@ msgstr "Analyserar %s..."
 
 #. search only the first 10k
 #: ly2dvi.py:354
-#, fuzzy, python-format
+#, python-format
 msgid "no LilyPond output found for `%s'"
-msgstr "ingen lilypondutdata funnen för %s"
+msgstr "ingen LilyPond-utdata funnen för \"%s\""
 
 #. The final \n seems important here. It ensures that the footers and taglines end up on the right page.
 #. TODO: should set textheight (enlarge) depending on papersize.
 #: ly2dvi.py:397
-#, fuzzy, python-format
+#, python-format
 msgid "invalid value: `%s'"
-msgstr "ogiltigt värde: %s"
+msgstr "ogiltigt värde: \"%s\""
 
 #. set sane geometry width (a4-width) for linewidth = -1.
 #. who the hell is 597 ?
@@ -831,7 +821,7 @@ msgstr "ogiltigt v
 #. Redirect to stderr
 #: ly2dvi.py:511
 msgid "LaTeX failed on the output file."
-msgstr ""
+msgstr "LaTeX misslyckades på utdatafilen."
 
 #. make a preview by rendering only the 1st line
 #. of each score
@@ -840,21 +830,23 @@ msgid ""
 "Trying create PDF, but no PFA fonts found.\n"
 "Using bitmap fonts instead. This will look bad."
 msgstr ""
+"Försöker skapa PDF, men inga PFA-typsnitt hittades.\n"
+"Använder punkttypsnitt istället. Det kommer att se dåligt ut."
 
 #. ugh. Different targets?
 #. Added as functionality to ly2dvi, because ly2dvi may well need to do this
 #. in future too.
 #. no ps header?
 #: ly2dvi.py:615
-#, fuzzy, python-format
+#, python-format
 msgid "not a PostScript file: `%s'"
-msgstr "kan inte öppna fil: \"%s\""
+msgstr "inte en PostScript-fil: \"%s\""
 
 #. todo
 #: ly2dvi.py:660
-#, fuzzy, python-format
+#, python-format
 msgid "Writing HTML menu `%s'"
-msgstr "Skriver \"%s\"..."
+msgstr "Skriver HTML-meny \"%s\""
 
 #. signal programming error
 #. Don't convert input files to abspath, rather prepend '.' to include
@@ -864,19 +856,19 @@ msgstr "Skriver \"%s\"..."
 #. ly2dvi -I foe/bar/baz foo/bar/baz/baz.ly
 #: ly2dvi.py:769
 msgid "pseudo filter"
-msgstr ""
+msgstr "pseudofilter"
 
 #: ly2dvi.py:772
 msgid "pseudo filter only for single input file"
-msgstr ""
+msgstr "pseudofilter bara för enstaka indatafil"
 
 #. Ugh, maybe make a setup () function
 #. hmmm. Wish I'd 've written comments when I wrote this.
 #. now it looks complicated.
 #: ly2dvi.py:806
-#, fuzzy, python-format
+#, python-format
 msgid "filename should not contain spaces: `%s'"
-msgstr "Innehåller redan: \"%s\""
+msgstr "filnamnet får inte innehålla mellanslag: \"%s\""
 
 #. to be sure, add tmpdir *in front* of inclusion path.
 #. os.environ['TEXINPUTS'] =  tmpdir + ':' + os.environ['TEXINPUTS']
@@ -891,7 +883,7 @@ msgstr "Inneh
 #.
 #: ly2dvi.py:845
 msgid "Running LilyPond failed. Rerun with --verbose for a trace."
-msgstr ""
+msgstr "Misslyckades med att köra LilyPond. Kör igen med --verbose för spår."
 
 #. Our LilyPond pseudo filter always outputs to 'lelie'
 #. have subsequent stages and use 'lelie' output.
@@ -900,14 +892,14 @@ msgstr ""
 #. trying to run tex/latex by hand
 #: ly2dvi.py:886
 msgid "Failed to make PS file. Rerun with --verbose for a trace."
-msgstr ""
+msgstr "Misslyckades med att skapa PS-fil. Kör med --verbose för spår."
 
 #. unless: add --tex, or --latex?
 #. TODO: friendly message about TeX/LaTeX setup,
 #. trying to run tex/latex by hand
 #: ly2dvi.py:916
 msgid "Running LaTeX falied. Rerun with --verbose for a trace."
-msgstr ""
+msgstr "Misslyckades med att köra LaTeX. Kör med --verbose för spår."
 
 # här är det fråga om skrivning till en fil
 #. add DEP to targets?
@@ -919,9 +911,9 @@ 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:937
-#, fuzzy, python-format
+#, python-format
 msgid "%s output to <stdout>..."
-msgstr "%s skrivet till \"%s\"..."
+msgstr "%s skrivet till <stdout>..."
 
 #: ly2dvi.py:942 ly2dvi.py:968 includable-lexer.cc:57
 #: input-file-results.cc:191 input-file-results.cc:197 lily-guile.cc:86
@@ -933,7 +925,7 @@ msgstr "kan inte hitta fil: \"%s\""
 # DVI, LATEX, MIDI, TEX)
 #. Hmm, if this were a function, we could call it the except: clauses
 #: ly2dvi.py:965
-#, fuzzy, python-format
+#, python-format
 msgid "%s output to %s..."
 msgstr "%s skrivet till \"%s\"..."
 
@@ -957,12 +949,12 @@ msgstr "%s skrivet till \"%s\"..."
 #. original_dir = os.getcwd ()
 #. keep_temp_dir_p = 0
 #: midi2ly.py:94
-msgid "Convert MIDI to LilyPond source."
-msgstr ""
+msgid "Convert MIDI to LilyPond source"
+msgstr "Konvertera MIDI till LilyPond"
 
 #: midi2ly.py:97
 msgid "print absolute pitches"
-msgstr ""
+msgstr "skriv absoluta tonhöjder"
 
 #: midi2ly.py:98 midi2ly.py:103
 msgid "DUR"
@@ -970,41 +962,39 @@ msgstr "L
 
 #: midi2ly.py:98
 msgid "quantise note durations on DUR"
-msgstr ""
+msgstr "kvantisera notlängder med LÄNGD"
 
 #: midi2ly.py:99
 msgid "print explicit durations"
-msgstr ""
+msgstr "skriv explicita notlängder"
 
 #: midi2ly.py:101
-#, fuzzy
 msgid "ALT[:MINOR]"
 msgstr "TON[:MOLL]"
 
 #: midi2ly.py:101
-#, fuzzy
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
-msgstr "sätt tonart: TON +höjningar/-sänkningar; :1 moll"
+msgstr "sätt tonart: TON=+höjningar|-sänkningar; MOLL=1"
 
 #: midi2ly.py:103
 msgid "quantise note starts on DUR"
-msgstr ""
+msgstr "kvantiser notstarter på LÄNGD"
 
 #: midi2ly.py:104
 msgid "DUR*NUM/DEN"
-msgstr ""
+msgstr "LÄNGD*TÄL/NÄM"
 
 #: midi2ly.py:104
 msgid "allow tuplet durations DUR*NUM/DEN"
-msgstr ""
+msgstr "tillåt tupellängder LÄNGD*TÄL/DEN"
 
 #: midi2ly.py:108
 msgid "treat every text as a lyric"
-msgstr ""
+msgstr "tolka all text som lyrik"
 
 #: midi2ly.py:136 mup2ly.py:130
 msgid " 2001--2003"
-msgstr ""
+msgstr " 2001-2003"
 
 #: midi2ly.py:141 mup2ly.py:135
 msgid ""
@@ -1012,6 +1002,9 @@ msgid ""
 "Distributed under terms of the GNU General Public License. It comes with\n"
 "NO WARRANTY."
 msgstr ""
+"\n"
+"Distribueras under GNU General Public License.\n"
+"INGEN GARANTI ges för programmet."
 
 #: midi2ly.py:166 mup2ly.py:162
 msgid "Exiting ... "
@@ -1086,7 +1079,7 @@ msgstr "%s skrivet till \"%s\"..."
 
 #: midi2ly.py:1033
 msgid "Example:"
-msgstr ""
+msgstr "Exempel:"
 
 #: midi2ly.py:1083
 msgid "no files specified on command line."
@@ -1101,9 +1094,8 @@ msgstr "inga filer angivna p
 #. if set, LILYPONDPREFIX must take prevalence
 #. if datadir is not set, we're doing a build and LILYPONDPREFIX
 #: mup2ly.py:70
-#, fuzzy
-msgid "Convert mup to LilyPond source."
-msgstr "Konvertera mup till ly."
+msgid "Convert mup to LilyPond source"
+msgstr "Konvertera mup till LilyPond"
 
 #: mup2ly.py:73
 msgid "debug"
@@ -1113,6 +1105,10 @@ msgstr "fels
 msgid "define macro NAME [optional expansion EXP]"
 msgstr "definiera makro NAME [valfri makroersättning EXP]"
 
+#: mup2ly.py:76 main.cc:117
+msgid "write output to FILE"
+msgstr "skriv utdata till FIL"
+
 #: mup2ly.py:77
 msgid "only pre-process"
 msgstr "förbehandla enbart"
@@ -1216,44 +1212,44 @@ msgid "invalid argument `%s' to option `%s'"
 msgstr "ogiltigt argument \"%s\" till flaggan \"%s\""
 
 #: warn.cc:25
-#, fuzzy, c-format
+#, c-format
 msgid "warning: %s\n"
-msgstr "varning: "
+msgstr "varning: %s\n"
 
 #: warn.cc:31
-#, fuzzy, c-format
+#, c-format
 msgid "error: %s\n"
-msgstr "fel: "
+msgstr "fel: %s\n"
 
 #: warn.cc:44
-#, fuzzy, c-format
+#, c-format
 msgid "programming error: %s (Continuing; cross thumbs)\n"
-msgstr " (Fortsätter, håll tummarna)"
+msgstr " programmeringsfel: %s (Fortsätter, håll tummarna)\n"
 
 #: accidental.cc:202 key-signature-interface.cc:137
 #, c-format
 msgid "accidental `%s' not found"
-msgstr ""
+msgstr "höjning/säkning \"%s\" hittades inte"
 
 #: accidental-engraver.cc:171 new-accidental-engraver.cc:238
 #, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
-msgstr ""
+msgstr "Lista av höjningar/säkningar måste börja med context-name: %s"
 
 #: accidental-engraver.cc:196 new-accidental-engraver.cc:263
-#, fuzzy, c-format
+#, c-format
 msgid "unknown accidental typesetting: %s. Ignored"
-msgstr "okänd \"escaped\" sträng: \"\\%s\""
+msgstr "okänd typsättning av höjning/sänkning: %s. Ignorered"
 
 #: accidental-engraver.cc:212 new-accidental-engraver.cc:279
 #, c-format
 msgid "Symbol is not a parent context: %s. Ignored"
-msgstr ""
+msgstr "Symbol är inte en föräldraomgivning: %s. Ignoreread"
 
 #: accidental-engraver.cc:215 new-accidental-engraver.cc:282
 #, c-format
 msgid "Accidental typesetting must be pair or context-name: %s"
-msgstr ""
+msgstr "Typsättning av höjning/sänkning måste vara par eller context-name: %s"
 
 #: afm.cc:66
 #, c-format
@@ -1281,18 +1277,16 @@ 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."
+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:103
 msgid ""
 "A script for removing font-files is delivered with the source-code,\n"
 "in buildscripts/clean-fonts.sh"
 msgstr ""
+"Ett skript för att ta bort typsnittsfiler levereras med källkoden,\n"
+"i buildscripts/clean-fonts.sh"
 
 #: all-font-metrics.cc:169
 #, c-format
@@ -1328,20 +1322,16 @@ msgid "barcheck failed at: %s"
 msgstr "taktkontroll misslyckades vid: %s"
 
 #: beam.cc:146
-#, fuzzy
 msgid "beam has less than two visible stems"
-msgstr "balk har mindre än två skaft"
+msgstr "balk har mindre än två synliga skaft"
 
 #: beam.cc:151
-#, fuzzy
 msgid "Beam has less than two stems. Removing beam."
-msgstr "balk har mindre än två skaft"
+msgstr "Balk har mindre än två skaft. Tar bort balk."
 
 #: beam.cc:976
-msgid ""
-"Not sure that we can find a nice beam slope (no viable initial configuration "
-"found)."
-msgstr ""
+msgid "Not sure that we can find a nice beam slope (no viable initial configuration found)."
+msgstr "Inte säker på att vi kan hitta en bra balklutning (ingen passande initialkonfiguration funnen)."
 
 #: beam-engraver.cc:176
 msgid "already have a beam"
@@ -1364,9 +1354,9 @@ msgid "beam was started here"
 msgstr "balken startade här"
 
 #: break-align-interface.cc:173
-#, fuzzy, c-format
+#, c-format
 msgid "No spacing entry from %s to `%s'"
-msgstr "Lägger inte till översättare: \"%s\""
+msgstr "Ingen avståndsdata från %s till \"%s\""
 
 #: change-iterator.cc:22
 #, c-format
@@ -1390,7 +1380,7 @@ msgstr "ingen av dessa i min familj"
 #: chord-tremolo-engraver.cc:98
 #, c-format
 msgid "Chord tremolo with %d elements. Must have two elements."
-msgstr ""
+msgstr "Ackordtremolo med %d element. Måste ha två element."
 
 #: chord-tremolo-engraver.cc:157
 msgid "unterminated chord tremolo"
@@ -1403,32 +1393,32 @@ msgstr "det finns ingen som kan skriva tremolon"
 #: clef.cc:64
 #, c-format
 msgid "clef `%s' not found"
-msgstr ""
+msgstr "klav \"%s\" hittades inte"
 
 #: cluster.cc:131
-#, fuzzy, c-format
+#, c-format
 msgid "unknown cluster style `%s'"
-msgstr "okänd översättare: \"%s\""
+msgstr "okänd klusterstil: \"%s\""
 
 #: coherent-ligature-engraver.cc:84
 #, c-format
 msgid "gotcha: ptr=%ul"
-msgstr ""
+msgstr "fick dig: ptr=%ul"
 
 #: coherent-ligature-engraver.cc:96
 #, c-format
 msgid "distance=%f"
-msgstr ""
+msgstr "avstånd=%f"
 
 #: coherent-ligature-engraver.cc:139
 #, c-format
 msgid "Coherent_ligature_engraver: setting `spacing-increment = 0.01': ptr=%ul"
-msgstr ""
+msgstr "Coherent_ligature_engraver: sätter \"spacing-increment = 0.01\": ptr=%ul"
 
 #: custos.cc:92
 #, c-format
 msgid "custos `%s' not found"
-msgstr ""
+msgstr "custos \"%s\" hittades inte"
 
 #: dimensions.cc:13
 msgid "NaN"
@@ -1447,34 +1437,30 @@ msgid "already have a decrescendo"
 msgstr "har redan ett diminuendo"
 
 #: dynamic-engraver.cc:220
-#, fuzzy
 msgid "Cresc started here"
-msgstr "balken startade här"
+msgstr "Cresc startade här"
 
 #: dynamic-engraver.cc:323
 msgid "unterminated (de)crescendo"
 msgstr "oavslutat crescendo/diminuendo"
 
 #: event.cc:49
-#, fuzzy, c-format
+#, c-format
 msgid "Transposition by %s makes alteration larger than two"
-msgstr "Transponering med %s gör höjning/sänkning större än två"
+msgstr "Transponering med %s gör ändring större än två"
 
 #: event-chord-iterator.cc:76 output-property-music-iterator.cc:27
-#, fuzzy, c-format
+#, c-format
 msgid "Junking event: `%s'"
-msgstr "Slänger förfrågan: \"%s\""
+msgstr "Slänger händelse: \"%s\""
 
 #: extender-engraver.cc:94
 msgid "unterminated extender"
 msgstr "oavslutad utökare"
 
 #: extender-engraver.cc:106
-#, fuzzy
 msgid "Nothing to connect extender to on the left.  Ignoring extender event."
-msgstr ""
-"Det finns inget att koppla utökaren mot till vänster. Ignorerar "
-"utökarförfrågan"
+msgstr "Det finns inget att koppla utökaren mot till vänster. Ignorerar utökarhändelse."
 
 #: folded-repeat-iterator.cc:88
 msgid "no one to print a repeat brace"
@@ -1485,28 +1471,27 @@ msgid "couldn't find any font satisfying "
 msgstr "kunde inte hitta något typsnitt som uppfyller "
 
 #: glissando-engraver.cc:100
-#, fuzzy
 msgid "Unterminated glissando."
-msgstr "oavslutat båge"
+msgstr "Oavslutat glissando."
 
 #: gourlay-breaking.cc:188
 #, c-format
 msgid "Optimal demerits: %f"
-msgstr ""
+msgstr "Optimal demerit: %f"
 
 #: gourlay-breaking.cc:193
 msgid "No feasible line breaking found"
 msgstr "Ingen lämplig radbrytning hittades"
 
 #: gregorian-ligature-engraver.cc:59
-#, fuzzy, c-format
+#, c-format
 msgid "\\%s ignored"
-msgstr "(ignorerat)"
+msgstr "\\%s ignorerat"
 
 #: gregorian-ligature-engraver.cc:64
 #, c-format
 msgid "implied \\%s added"
-msgstr ""
+msgstr "implicit \\%s tillagt"
 
 #.
 #. Todo: do something sensible. The grob-pq-engraver is not water
@@ -1518,6 +1503,8 @@ msgid ""
 "Skipped something?\n"
 "Grob %s ended before I expected it to end."
 msgstr ""
+"Skippade något?\n"
+"Grob %s slutade innan jag förväntade det."
 
 #: hairpin.cc:98
 msgid "decrescendo too small"
@@ -1529,23 +1516,19 @@ msgstr "crescendo f
 
 #: horizontal-bracket-engraver.cc:64
 msgid "Don't have that many brackets."
-msgstr ""
+msgstr "Har inte så många klamrar"
 
 #: horizontal-bracket-engraver.cc:73
-#, fuzzy
 msgid "Conflicting note group events."
-msgstr "Motsägande tonartssignaturer funna."
+msgstr "Motsägande notgrupphändelser."
 
 #: hyphen-engraver.cc:87
 msgid "unterminated hyphen"
 msgstr "oavslutat bindestreck"
 
 #: hyphen-engraver.cc:99
-#, fuzzy
 msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen event."
-msgstr ""
-"Det finns inget att koppla bindestrecket mot till vänster. Ignorerar "
-"bindestrecksförfrågan."
+msgstr "Det finns inget att koppla bindestrecket mot till vänster.  Ignorerar bindestreckshändelse."
 
 #: input.cc:99
 msgid "non fatal error: "
@@ -1574,41 +1557,37 @@ msgid "FIXME: key change merge"
 msgstr "FIXA: tonartsbytessammanslagning"
 
 #: kpath.cc:76
-#, fuzzy, c-format
+#, c-format
 msgid "Kpathsea couldn't find TFM file `%s'"
-msgstr "kan inte hitta fil: \"%s\""
+msgstr "Kpathsea kan inte hitta TFML-fil \"%s\""
 
 #: ligature-engraver.cc:159
-#, fuzzy
 msgid "can't find start of ligature"
-msgstr "kan inte hitta start på båge"
+msgstr "kan inte hitta start på ligatur"
 
 #: ligature-engraver.cc:165
 msgid "no right bound"
-msgstr ""
+msgstr "ingen högergräns"
 
 #: ligature-engraver.cc:191
-#, fuzzy
 msgid "already have a ligature"
-msgstr "har redan en balk"
+msgstr "har redan en ligatur"
 
 #: ligature-engraver.cc:207
 msgid "no left bound"
-msgstr ""
+msgstr "ingen vänstergräns"
 
 #: ligature-engraver.cc:258
-#, fuzzy
 msgid "unterminated ligature"
-msgstr "oavslutat båge"
+msgstr "oavslutad ligatur"
 
 #: ligature-engraver.cc:282
 msgid "ligature may not contain rest; ignoring rest"
-msgstr ""
+msgstr "ligatur får inte innehålla paus; ignorerar paus"
 
 #: ligature-engraver.cc:283
-#, fuzzy
 msgid "ligature was started here"
-msgstr "balken startade här"
+msgstr "ligaturen startade här"
 
 #: lily-guile.cc:88
 #, c-format
@@ -1616,41 +1595,38 @@ msgid "(load path: `%s')"
 msgstr "(inläsningssökväg: \"%s\""
 
 #: lily-guile.cc:576
-#, fuzzy, c-format
+#, c-format
 msgid "Can't find property type-check for `%s' (%s)."
-msgstr ""
-"Kan inte hitta egenskapstypkontroll för \"%s\". Kanske har du gjort ett "
-"typfel? Gör tilldelning i alla fall."
+msgstr "Kan inte hitta egenskapstypkontroll för \"%s\" (%s)"
 
 #: lily-guile.cc:579
 msgid "Perhaps you made a typing error?"
-msgstr ""
+msgstr "Kanske har du gjort ett skrivfel?"
 
 #: lily-guile.cc:585
 msgid "Doing assignment anyway."
-msgstr ""
+msgstr "Gör tilldelningen ändå."
 
 #: lily-guile.cc:599
 #, 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\""
+msgstr "Typkontroll för \"%s\" misslyckades. Värde \"%s\" måste ha typen \"%s\""
 
 #: lookup.cc:173
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
-msgstr ""
+msgstr "horisontell utbredning för rund fylld box mindre än blot; minskar blot"
 
 #: lookup.cc:178
 msgid "round filled box vertical extent smaller than blot; decreasing blot"
-msgstr ""
+msgstr "vertikal utbredning för rund fylld box mindre än blot; minskar blot"
 
 #: lyric-phrasing-engraver.cc:311
 msgid "lyrics found without any matching notehead"
-msgstr "text hittad utan något matchande nothuvud"
+msgstr "sångtext hittad utan något matchande nothuvud"
 
 #: lyric-phrasing-engraver.cc:317
 msgid "Huh? Melismatic note found to have associated lyrics."
-msgstr "Öh? Melismatisk not har tillhörande text."
+msgstr "Öh? Melismatisk not har tillhörande sångtext."
 
 #: main.cc:106
 msgid "EXPR"
@@ -1658,11 +1634,11 @@ msgstr "UTTR"
 
 #: main.cc:107
 msgid "set options, use -e '(ly-option-usage)' for help"
-msgstr ""
+msgstr "sätt inställningar, använd -e '(ly-option-usage)' för hjälp"
 
 #: main.cc:110
 msgid "use output format EXT"
-msgstr ""
+msgstr "använd utdataformat FMT"
 
 #: main.cc:112
 msgid "FIELD"
@@ -1694,12 +1670,12 @@ msgstr "hindra namngivning av filutdata och exportering"
 #. No version number or newline here. It confuses help2man.
 #: main.cc:155
 #, c-format
-msgid "Usage: %s [OPTIONS]... FILE..."
+msgid "Usage: %s [OPTION]... FILE..."
 msgstr "Användning: %s [FLAGGA]... FIL..."
 
 #: main.cc:157
-msgid "Typeset music and or play MIDI from FILE."
-msgstr "Typsätt musik och/eller spela MIDI från FIL."
+msgid "Typeset music and or play MIDI from FILE"
+msgstr "Typsätt musik och/eller spela MIDI från FIL"
 
 #: main.cc:160
 msgid ""
@@ -1724,10 +1700,9 @@ msgstr ""
 
 #: main.cc:198
 msgid "GNU LilyPond -- The music typesetter"
-msgstr "GNU LilyPond -- Musiktypsättaren"
+msgstr "GNU Lilypond -- Musiktypsättaren"
 
 #: main.cc:206
-#, fuzzy
 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"
@@ -1740,66 +1715,64 @@ msgid ""
 "\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., 59 Temple Place - Suite 330, Boston, MA "
-"02111-1307,\n"
+"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,\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"
+"modifiera det under villkoren i GNU General Public License version 2\n"
+"publicerad av Free Software Foundation.\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"
+"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"
+"detta program. Om inte, skriv till Free Software Foundation, Inc.,\n"
+"59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
 
 #: mensural-ligature.cc:153
 #, c-format
 msgid "Mensural_ligature:thickness undefined on flexa %d; assuming 1.4"
-msgstr ""
+msgstr "Menural_ligature:thickness odefinierad för flexa %d; antar 1.4"
 
 #: mensural-ligature.cc:169
 #, c-format
 msgid "Mensural_ligature:delta-pitch undefined on flexa %d; assuming 0"
-msgstr ""
+msgstr "Menural_ligature:delta-pitch odefinierad för flexa %d; antar 0"
 
 #: mensural-ligature.cc:182
 #, c-format
 msgid "Mensural_ligature:flexa-width undefined on flexa %d; assuming 2.0"
-msgstr ""
+msgstr "Menural_ligature:flexa-width odefinierad för flexa %d; antar 2.0"
 
 #: mensural-ligature.cc:215
 msgid "Mensural_ligature:unexpected case fall-through"
-msgstr ""
+msgstr "Menural_ligature:föll igenom case oväntat"
 
 #: mensural-ligature.cc:225
 msgid "Mensural_ligature: (join_left == 0)"
-msgstr ""
+msgstr "Mensural_ligature: (join_left == 0)"
 
 #: mensural-ligature-engraver.cc:248 mensural-ligature-engraver.cc:397
 msgid "unexpected case fall-through"
-msgstr ""
+msgstr "föll igenom case oväntat"
 
 #: mensural-ligature-engraver.cc:259
 msgid "ligature with less than 2 heads -> skipping"
-msgstr ""
+msgstr "ligature med mindre än 2 huvuden -> skippar"
 
 #: mensural-ligature-engraver.cc:279
 msgid "can not determine pitch of ligature primitive -> skipping"
-msgstr ""
+msgstr "kan inte bestämma tonhöjd för ligaturprimitiv -> skippar"
 
 #: mensural-ligature-engraver.cc:302
 msgid "prime interval within ligature -> skipping"
-msgstr ""
+msgstr "primintervall inom ligatur -> skippar"
 
 #: mensural-ligature-engraver.cc:312
 msgid "mensural ligature: duration none of L, B, S -> skipping"
-msgstr ""
+msgstr "mensural ligature: längd ingen av L, B, S -> skippar"
 
 #: midi-item.cc:148
 #, c-format
@@ -1842,7 +1815,7 @@ msgstr "Krullparenteser matchar inte"
 #.
 #: new-fingering-engraver.cc:143
 msgid "music for the martians."
-msgstr ""
+msgstr "musik för marsianerna."
 
 #: new-tie-engraver.cc:166 tie-engraver.cc:217
 msgid "lonely tie"
@@ -1855,7 +1828,7 @@ msgstr "F
 #: note-head.cc:127
 #, c-format
 msgid "note head `%s' not found"
-msgstr ""
+msgstr "nothuvud \"%s\" ej funnet"
 
 #: paper-def.cc:96
 #, c-format
@@ -1863,14 +1836,13 @@ msgid "paper output to `%s'..."
 msgstr "pappersutdata till \"%s\"..."
 
 #: paper-score.cc:78
-#, fuzzy, c-format
+#, c-format
 msgid "Element count %d (spanners %d) "
-msgstr "Elementantal %d "
+msgstr "Elementantal %d (bryggare %d) "
 
 #: paper-score.cc:83
-#, fuzzy
 msgid "Preprocessing graphical objects..."
-msgstr "Förbehandlar element..."
+msgstr "Förbehandlar grafiska objekt..."
 
 #: paper-score.cc:116
 msgid "Outputting Score, defined at: "
@@ -1878,7 +1850,7 @@ msgstr "Matar ut partitur, definierade vid: "
 
 #: parse-scm.cc:79
 msgid "GUILE signaled an error for the expression begining here"
-msgstr ""
+msgstr "GUILE gave ett fel för uttrycket som börjar här"
 
 #.
 #. We could change the current translator's id, but that would make
@@ -1898,12 +1870,11 @@ msgstr "ingen av dessa i min familj: \"%s\""
 
 #: percent-repeat-engraver.cc:109
 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."
+msgstr "Vet inte hur en procentrepris av denna längd ska hanteras."
 
 #: percent-repeat-engraver.cc:163
-#, fuzzy
 msgid "unterminated percent repeat"
-msgstr "oavslutad balk"
+msgstr "oavslutad procentrepris"
 
 #: percent-repeat-iterator.cc:65
 msgid "no one to print a percent"
@@ -1918,9 +1889,8 @@ msgid "Creator: "
 msgstr "Skapare: "
 
 #: performance.cc:103
-#, fuzzy
 msgid "at "
-msgstr "vid "
+msgstr "vid "
 
 #: performance.cc:114
 #, c-format
@@ -1947,19 +1917,18 @@ msgid "can't find start of piano pedal: `%s'"
 msgstr "kan inte hitta start på pianopedal: \"%s\""
 
 #: piano-pedal-engraver.cc:410
-#, fuzzy
 msgid "unterminated pedal bracket"
-msgstr "oavslutad balk"
+msgstr "oavslutad pedalklammer"
 
 #: property-iterator.cc:97
 #, c-format
 msgid "Not a grob name, `%s'."
-msgstr ""
+msgstr "Inte ett grob-namn, \"%s\"."
 
 #: rest.cc:139
 #, c-format
 msgid "rest `%s' not found, "
-msgstr ""
+msgstr "paus \"%s\" hittades inte, "
 
 #: rest-collision.cc:199
 msgid "too many colliding rests"
@@ -1967,33 +1936,31 @@ msgstr "f
 
 #: scm-option.cc:45
 msgid "lilypond -e EXPR means:"
-msgstr ""
+msgstr "lilypond -e UTTR betyder:"
 
 #: scm-option.cc:47
 msgid "  Evalute the Scheme EXPR before parsing any .ly files."
-msgstr ""
+msgstr "  Evaluera Scheme-uttrycket UTTR innan någon .ly-fil läses in."
 
 #: scm-option.cc:49
-msgid ""
-"  Multiple -e options may be given, they will be evaluated sequentially."
-msgstr ""
+msgid "  Multiple -e options may be given, they will be evaluated sequentially."
+msgstr "  Flera -e kan ges, de kommer att evalueras i tur och ordning."
 
 #: scm-option.cc:51
-msgid ""
-"  The function ly-set-option allows for access to some internal variables."
-msgstr ""
+msgid "  The function ly-set-option allows for access to some internal variables."
+msgstr "  Funktionen ly-set-option ger åtkomst till några interna variabler."
 
 #: scm-option.cc:53
 msgid "Usage: lilypond -e \"(ly-set-option SYMBOL VAL)\""
-msgstr ""
+msgstr "Användning: lilpond -e \"(ly-set-option SYMBOL VÄRDE)\""
 
 #: scm-option.cc:55
 msgid "Where SYMBOL VAL pair is any of:"
-msgstr ""
+msgstr "Där paret SYMBOL VÄRDE är något av:"
 
 #: scm-option.cc:128
 msgid "Unknown internal option!"
-msgstr ""
+msgstr "Okänd internt alternativ!"
 
 #: score.cc:85
 msgid "Interpreting music..."
@@ -2014,13 +1981,13 @@ msgid "elapsed time: %.2f seconds"
 msgstr "tidsåtgång: %.2f sekunder"
 
 #: score-engraver.cc:99
-#, fuzzy, c-format
+#, c-format
 msgid "can't find `%s'"
-msgstr "kan inte hitta: \"%s\""
+msgstr "kan inte hitta \"%s\""
 
 #: score-engraver.cc:100
 msgid "Fonts have not been installed properly.  Aborting"
-msgstr ""
+msgstr "Typsnitten är inte korrekt installerade. Avbryter"
 
 #: score-engraver.cc:205
 #, c-format
@@ -2040,11 +2007,11 @@ msgstr "Separation_item: Jag har druckit f
 #: simple-spacer.cc:248
 #, c-format
 msgid "No spring between column %d and next one"
-msgstr ""
+msgstr "Ingen fjäder mellan kolumn %d och nästa"
 
 #: slur-engraver.cc:141
 msgid "unterminated slur"
-msgstr "oavslutat båge"
+msgstr "oavslutad båge"
 
 #. How to shut up this warning, when Voice_devnull_engraver has
 #. eaten start event?
@@ -2060,16 +2027,16 @@ msgstr "
 #: spacing-spanner.cc:379
 #, c-format
 msgid "Global shortest duration is %s\n"
-msgstr ""
+msgstr "Globalt kortaste längd är %s\n"
 
 #: spring-smob.cc:32
 #, c-format
 msgid "#<spring smob d= %f>"
-msgstr ""
+msgstr "#<spring smob d= %f>"
 
 #: staff-symbol.cc:61
 msgid "staff symbol: indentation yields beyond end of line"
-msgstr ""
+msgstr "staff symbol: indentering ger vika innan radslut"
 
 #: stem.cc:118
 msgid "Weird stem size; check for narrow beams"
@@ -2078,16 +2045,16 @@ msgstr "Konstig skaftstorlek; kolla efter smala balkar"
 #: stem.cc:611
 #, c-format
 msgid "flag `%s' not found"
-msgstr ""
+msgstr "flaggan \"%s\" hittades ej"
 
 #: stem.cc:624
 #, c-format
 msgid "flag stroke `%s' not found"
-msgstr ""
+msgstr "flaggstrecket \"%s\" hittades inte"
 
 #: stem-engraver.cc:96
 msgid "tremolo duration is too long"
-msgstr ""
+msgstr "tremololängd är för lång"
 
 #: stem-engraver.cc:124
 #, c-format
@@ -2096,7 +2063,7 @@ msgstr "L
 
 #: stem-engraver.cc:125
 msgid "Don't you want polyphonic voices instead?"
-msgstr ""
+msgstr "Vill du ha polyfoniska stämmor istället?"
 
 #: streams.cc:34
 #, c-format
@@ -2113,14 +2080,13 @@ msgid "Element count %d."
 msgstr "Elementantal %d."
 
 #: system.cc:372
-#, fuzzy, c-format
+#, c-format
 msgid "Grob count %d "
 msgstr "Elementantal %d "
 
 #: system.cc:386
-#, fuzzy
 msgid "Calculating line breaks..."
-msgstr "Beräknar kolumnpositioner..."
+msgstr "Beräknar radbrytningar..."
 
 #: text-spanner-engraver.cc:81
 msgid "can't find start of text spanner"
@@ -2164,7 +2130,7 @@ msgstr "det finns ingen som kan skriva en starthake f
 #: time-signature.cc:87
 #, c-format
 msgid "time signature symbol `%s' not found; reverting to numbered style"
-msgstr ""
+msgstr "tidssignatursymbol \"%s\" hittades inte: återgår till numrerad stil"
 
 #.
 #. Todo: should make typecheck?
@@ -2174,7 +2140,7 @@ msgstr ""
 #: time-signature-engraver.cc:57
 #, c-format
 msgid "Found strange time signature %d/%d."
-msgstr ""
+msgstr "Hittade underlig tidssignatur %d/%d"
 
 #: translator-ctors.cc:53
 #, c-format
@@ -2212,28 +2178,28 @@ msgstr "kan inte hitta eller skapa: \"%s\""
 
 #: vaticana-ligature.cc:49
 msgid "ascending vaticana style flexa"
-msgstr ""
+msgstr "ökande vatikan-stil-flexa"
 
 #: vaticana-ligature.cc:219
 msgid "Vaticana_ligature:thickness undefined; assuming 1.4"
-msgstr ""
+msgstr "Vaticana_ligature:thickness odefinierad; antar 1.4"
 
 #: vaticana-ligature.cc:233
 msgid "Vaticana_ligature:x-offset undefined; assuming 0.0"
-msgstr ""
+msgstr "Vaticana_ligature:x-offset odefinierad; antar 0.0"
 
 #: vaticana-ligature.cc:258
 msgid "Vaticana_ligature: (delta_pitch == 0)"
-msgstr ""
+msgstr "Vaticana_ligature: (delta_pitch == 0)"
 
 #: vaticana-ligature.cc:271
 msgid "Vaticana_ligature:delta-pitch -> ignoring join"
-msgstr ""
+msgstr "Vaticana_ligature:delta_pitch -> ignorerar join"
 
 #: vaticana-ligature-engraver.cc:477
 #, c-format
 msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr=%ul"
-msgstr ""
+msgstr "Vaticana_ligature_engraver: sätter `spacing-increment = %f': ptr=%ul"
 
 #: volta-engraver.cc:112
 msgid "No volta spanner to end"
@@ -2248,9 +2214,8 @@ msgid "Also have a stopped spanner.  Giving up."
 msgstr "Har också en stoppad bryggare. Ger upp."
 
 #: parser.yy:480
-#, fuzzy
 msgid "Identifier should have alphabetic characters only"
-msgstr "Identifierare får bara innehålla alfabetiska tecken"
+msgstr "Identifierare ska bara innehålla alfabetiska tecken"
 
 #: parser.yy:779
 msgid "More alternatives than repeats.  Junking excess alternatives."
@@ -2265,7 +2230,6 @@ msgid "Second argument must be a symbol"
 msgstr "Andra argumentet måste vara en symbol"
 
 #: parser.yy:882
-#, fuzzy
 msgid "First argument must be a procedure taking one argument"
 msgstr "Första argumentet måste vara en procedur som tar 1 argument"
 
@@ -2287,7 +2251,7 @@ msgstr "M
 
 #: parser.yy:1618 parser.yy:1626
 msgid "Have to be in Lyric mode for lyrics"
-msgstr "Måste vara i textläge (Lyric mode) för text"
+msgstr "Måste vara i textläge (Lyric mode) för sångtext"
 
 #: parser.yy:1798 parser.yy:1853
 #, c-format
@@ -2308,7 +2272,7 @@ msgstr "beh
 
 #: parser.yy:2316
 msgid "Suspect duration found following this beam"
-msgstr ""
+msgstr "Misstänkt längd hittad efter denna balk"
 
 #: lexer.ll:186
 msgid "EOF found inside a comment"
@@ -2338,9 +2302,8 @@ msgid "Can't evaluate Scheme in safe mode"
 msgstr "Kan inte evaluera Scheme i säkert läge"
 
 #: lexer.ll:397 lexer.ll:487
-#, fuzzy
 msgid "Brace found at end of lyric.  Did you forget a space?"
-msgstr "Krullparentes funnen i slutet på text. Glömde du ett mellanslag?"
+msgstr "Krullparentes funnen i slutet på sångtext. Glömde du ett mellanslag?"
 
 #: lexer.ll:574
 #, c-format
@@ -2353,14 +2316,20 @@ msgid "unknown escaped string: `\\%s'"
 msgstr "okänd \"escaped\" sträng: \"\\%s\""
 
 #: lexer.ll:742
-#, fuzzy, c-format
+#, c-format
 msgid "Incorrect lilypond version: %s (%s, %s)"
-msgstr "felaktig lilypond-version: %s (%s, %s)"
+msgstr "Felaktig lilypond-version: %s (%s, %s)"
 
 #: lexer.ll:743
-#, fuzzy
 msgid "Consider updating the input with the convert-ly script"
-msgstr "Fundera på att konvertera indata med skriptet \"convert-ly\""
+msgstr "Fundera på att uppdatera indata med skriptet \"convert-ly\""
+
+#~ msgid "Generate .dvi with LaTeX for LilyPond"
+#~ msgstr "Generera .dvi med LaTeX för LilyPond"
+
+# %s är programnamnet (mup2ly)
+#~ 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."
 
 #~ msgid "Fetch and rebuild from latest source package"
 #~ msgstr "Hämta och bygg om från senaste källkodspaketet"
@@ -2413,51 +2382,13 @@ msgstr "Fundera p
 #~ msgid "Building `%s'..."
 #~ msgstr "Bygger \"%s\"..."
 
-#~ 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
-#~ msgid "invalid inversion pitch: not part of chord: %s"
-#~ msgstr "ogiltig ton för inversion: inte del av ett ackord: %s"
-
-#~ msgid "This was the other key definition."
-#~ msgstr "Detta var den andra tonartsdefinitionen."
-
-#~ msgid ", at "
-#~ msgstr ", vid "
-
-#~ msgid "Pitch arguments out of range"
-#~ msgstr "Tonargument utanför intervallet"
-
-#, fuzzy
-#~ msgid "Putting slur over rest."
-#~ msgstr "Sätter båge över paus. Ignorerar."
-
-#~ msgid "Slur over rest?"
-#~ msgstr "Båge över paus?"
-
-#~ msgid "Text_spanner too small"
-#~ msgstr "Textbryggare för liten"
-
-#~ msgid "Can't specify direction for this request"
-#~ msgstr "Kan inte ange riktning för denna förfrågan"
-
-#~ msgid "Generate .dvi with LaTeX for LilyPond"
-#~ msgstr "Generera .dvi med LaTeX för LilyPond"
+#~ msgid "EOF in a string"
+#~ msgstr "EOF i en sträng"
 
 # det handlar om mmap här
 #~ msgid "can't map file"
 #~ msgstr "kan inte göra \"mmap\" på filen"
 
-#~ msgid "This binary was compiled with the following options:"
-#~ msgstr "Detta program kompilerades med följande alternativ:"
-
-#~ msgid "Expecting %d arguments"
-#~ msgstr "Väntade %d argument"
-
-#~ msgid "EOF in a string"
-#~ msgstr "EOF i en sträng"
-
 #~ msgid "<stdin>"
 #~ msgstr "<stdin>"
 
@@ -2473,9 +2404,28 @@ msgstr "Fundera p
 #~ msgid "unknown spacing pair `%s', `%s'"
 #~ msgstr "okänt avståndspar \"%s\", \"%s\""
 
+#~ 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
+#~ msgid "invalid inversion pitch: not part of chord: %s"
+#~ msgstr "ogiltig ton för inversion: inte del av ett ackord: %s"
+
+#~ msgid "no Grace context available"
+#~ msgstr "ingen prydnadsomgivning tillgänglig"
+
+#~ msgid "Unattached grace notes.  Attaching to last musical column."
+#~ msgstr "Ej fastsatta prydnadsnoter. Fäster vid sista musikkolumnen."
+
+#~ msgid "This was the other key definition."
+#~ msgstr "Detta var den andra tonartsdefinitionen."
+
 #~ msgid "evalute EXPR as Scheme after .scm init is read"
 #~ msgstr "evaluera UTTR som Scheme efter .scm-init har lästs"
 
+#~ msgid "This binary was compiled with the following options:"
+#~ msgstr "Detta program kompilerades med följande alternativ:"
+
 #~ msgid "ly_get_mus_property (): Not a Music"
 #~ msgstr "ly_get_mus_property (): Inte en \"Music\""
 
@@ -2491,6 +2441,12 @@ msgstr "Fundera p
 #~ msgid "ly_music_name (): Not a music expression"
 #~ msgstr "ly_music_name (): Inte ett musikuttryck"
 
+#~ msgid "writing header field `%s' to `%s'..."
+#~ msgstr "skriver rubrikfält \"%s\" till \"%s\"..."
+
+#~ msgid "Pitch arguments out of range"
+#~ msgstr "Tonargument utanför intervallet"
+
 #~ msgid ""
 #~ "`%s' is deprecated.  Use\n"
 #~ " \\property %s.%s \\override #'%s = #%s"
@@ -2507,18 +2463,29 @@ msgstr "Fundera p
 #~ msgid "Scheme options:"
 #~ msgstr "Scheme-alternativ:"
 
+#~ msgid "Putting slur over rest.  Ignoring."
+#~ msgstr "Sätter båge över paus. Ignorerar."
+
+#~ msgid "Slur over rest?"
+#~ msgstr "Båge över paus?"
+
+#~ msgid "Text_spanner too small"
+#~ msgstr "Textbryggare för liten"
+
+#~ 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."
+
 #~ msgid "ly-get-trans-property: expecting a Translator_group argument"
 #~ msgstr "ly-get-trans-property: väntade ett Translator_group-argument"
 
-#~ msgid "Oldest supported input version: %s"
-#~ msgstr "Äldsta indataversion som stöds: %s"
+#~ msgid "Expecting %d arguments"
+#~ msgstr "Väntade %d argument"
 
-# %s är programnamnet (mup2ly)
-#~ 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."
+#~ msgid "Can't specify direction for this request"
+#~ msgstr "Kan inte ange riktning för denna förfrågan"
 
-#~ msgid "writing header field `%s' to `%s'..."
-#~ msgstr "skriver rubrikfält \"%s\" till \"%s\"..."
+#~ msgid "Oldest supported input version: %s"
+#~ msgstr "Äldsta indataversion som stöds: %s"
 
 #~ msgid "#32 in quarter: %d"
 #~ msgstr "#32 i fjärdedel: %d"
@@ -2582,9 +2549,6 @@ msgstr "Fundera p
 #~ msgid "set FILE as default output"
 #~ msgstr "sätt FIL som standardutdata"
 
-#~ msgid "don't output tuplets"
-#~ msgstr "mata inte ut tupler"
-
 #~ msgid "be quiet"
 #~ msgstr "var tyst"
 
@@ -2597,10 +2561,13 @@ msgstr "Fundera p
 #~ msgid "don't timestamp the output"
 #~ msgstr "tidsstämpla inte utdata"
 
+#~ msgid "be verbose"
+#~ msgstr "var utförlig"
+
 #~ msgid "assume no double dotted notes"
 #~ msgstr "anta inga dubbelpunkterade noter"
 
-#~ msgid "Usage: %s [OPTIONS]... [FILE]"
+#~ msgid "Usage: %s [OPTION]... [FILE]"
 #~ msgstr "Användning: %s [FLAGGA]... [FIL]"
 
 #~ msgid "Translate MIDI-file to lilypond"
@@ -2656,9 +2623,3 @@ msgstr "Fundera p
 
 #~ msgid "invalid track length"
 #~ msgstr "ogiltig spårlängd"
-
-#~ msgid "no Grace context available"
-#~ msgstr "ingen prydnadsomgivning tillgänglig"
-
-#~ msgid "Unattached grace notes.  Attaching to last musical column."
-#~ msgstr "Ej fastsatta prydnadsnoter. Fäster vid sista musikkolumnen."