]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.3.58 release/1.3.58
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 8 Jun 2000 11:36:25 +0000 (13:36 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 8 Jun 2000 11:36:25 +0000 (13:36 +0200)
===========

* Cleaned-up scheme list to text conversion for Chord_name and
fixed horizontal kerning.

* Added examples for american (slashed o) and jazz (black triangle),
  see input/test/{american-chords.ly,jazz-chords.ly}

* Made guile-1.3.5 compile fixes

1.3.57.

26 files changed:
CHANGES
VERSION
aclocal.m4
configure
lily/break-align-item.cc
lily/chord.cc
lily/dots.cc
lily/include/key-engraver.hh
lily/include/key-item.hh
lily/include/key.hh [deleted file]
lily/include/lily-guile.hh
lily/include/local-key-item.hh
lily/include/ly-smobs.icc
lily/include/newkey.hh [new file with mode: 0644]
lily/key-engraver.cc
lily/key-item.cc
lily/key.cc [deleted file]
lily/local-key-engraver.cc
lily/molecule.cc
lily/newkey.cc [new file with mode: 0644]
lily/simple-spacer.cc
lily/spanner.cc
ly/params.ly
make/out/lilypond.lsm
make/out/lilypond.spec
po/ja.po [new file with mode: 0644]

diff --git a/CHANGES b/CHANGES
index 5f13a72ea68fe3296a088a34de1bb614e032b6e0..6b5b31db014bc4f62fa49fc9c6e1d4fc54f9c688 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,11 +7,19 @@ fixed horizontal kerning.
 * Added examples for american (slashed o) and jazz (black triangle),
   see input/test/{american-chords.ly,jazz-chords.ly}
 
-1.3.57.jcn1
-===========
-
 * Made guile-1.3.5 compile fixes
 
+1.3.57.uu1
+==========
+
+* Fixed typo in Dots::do_brew_molecule (); this fixes the disappearing
+dots problem.
+
+* Rewrote key signature administration; now Scheme is used; Octave and
+Key have been junked in favor of Newkey.
+
+* japanese .po file included (thanks, Japanese team!)
+
 1.3.57
 ======
 
diff --git a/VERSION b/VERSION
index cb018d0592b036918e1f39bda099e765662c4769..1aae31d4c3e0bcbfcb3bcb9f4cf3411dcac48d79 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
-PATCH_LEVEL=57
-MY_PATCH_LEVEL=jcn2
+PATCH_LEVEL=58
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 00a23fdb1948e6eda4edf0165dbc41aaa3425c29..4e032e115e26794d51f8509c910c3533619a88f3 100644 (file)
@@ -793,7 +793,9 @@ dnl             find the libraries.
 AC_DEFUN([GUILE_FLAGS],[
 ## The GUILE_FLAGS macro.
   AC_MSG_CHECKING(for Guile)
-  if ! $guile_config link > /dev/null ; then
+  if $guile_config link > /dev/null ; then
+      :
+  else
       AC_MSG_RESULT("cannot execute $guile_config")
       AC_MSG_ERROR("cannot find guile-config; is Guile installed?")
       exit 1
index cf3ea5b4d9864034a3553386e4d3eb38071c16d6..fa1b218de5cbc9222259babd2c1b59acc26e29c9 100755 (executable)
--- a/configure
+++ b/configure
@@ -2702,7 +2702,9 @@ echo "configure:2692: checking "Guile version"" >&5
 ## The GUILE_FLAGS macro.
   echo $ac_n "checking for Guile""... $ac_c" 1>&6
 echo "configure:2705: checking for Guile" >&5
-  if ! $guile_config link > /dev/null ; then
+  if $guile_config link > /dev/null ; then
+      :
+  else
       echo "$ac_t"""cannot execute $guile_config"" 1>&6
       { echo "configure: error: "cannot find guile-config; is Guile installed?"" 1>&2; exit 1; }
       exit 1
@@ -2716,7 +2718,7 @@ echo "configure:2705: checking for Guile" >&5
     # Extract the first word of "guile", so it can be a program name with args.
 set dummy guile; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2720: checking for $ac_word" >&5
+echo "configure:2722: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GUILE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2754,7 +2756,7 @@ fi
 
 
 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:2758: checking for 8-bit clean memcmp" >&5
+echo "configure:2760: checking for 8-bit clean memcmp" >&5
 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2762,7 +2764,7 @@ else
   ac_cv_func_memcmp_clean=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 2766 "configure"
+#line 2768 "configure"
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int);
@@ -2775,7 +2777,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:2779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_memcmp_clean=yes
 else
@@ -2793,12 +2795,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}"
 
 echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:2797: checking for vprintf" >&5
+echo "configure:2799: checking for vprintf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2802 "configure"
+#line 2804 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
@@ -2824,7 +2826,7 @@ vprintf();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2828: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2830: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_vprintf=yes"
 else
@@ -2848,12 +2850,12 @@ fi
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:2852: checking for _doprnt" >&5
+echo "configure:2854: checking for _doprnt" >&5
 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2857 "configure"
+#line 2859 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
@@ -2879,7 +2881,7 @@ _doprnt();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func__doprnt=yes"
 else
@@ -2906,12 +2908,12 @@ fi
 for ac_func in memmem snprintf vsnprintf gettext isinf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2910: checking for $ac_func" >&5
+echo "configure:2912: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2915 "configure"
+#line 2917 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2937,7 +2939,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2976,7 +2978,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2980: checking for $ac_word" >&5
+echo "configure:2982: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3009,7 +3011,7 @@ test -n "$MAKEINFO" || MAKEINFO="error"
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3013: checking for $ac_word" >&5
+echo "configure:3015: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
index c29a970cc5657e21d79116612a4de601ef5b2c08..7705d94e2698c823a4b98cd861d78889277f3195 100644 (file)
@@ -6,6 +6,7 @@
   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 #include <math.h>
+#include <libc-extension.hh>
 
 #include "side-position-interface.hh"
 #include "warn.hh"
index 330ac1b41708a28809c3a068c7205ca1893960e2..8fa7611e55d49aef2194a453789f8cc4d54ef736 100644 (file)
 #include "paper-def.hh"
 #include "lookup.hh"
 
+/*
+  FIXME: should use SCM iso. arrays and have-to-delete pointers.
+ */
+  
+
 /*
   construct from parser output
 */
@@ -210,13 +215,11 @@ Chord::Chord (Array<Musical_pitch> pitch_arr, Musical_pitch* inversion_p, Musica
     {
       inversion_pitch_ = *inversion_p;
       inversion_b_ = true;
-      delete inversion_p;
     }
   if (bass_p)
     {
       bass_pitch_ = *bass_p;
       bass_b_ = true;
-      delete bass_p;
     }
 }
   
index ebc5c366a0b508c5343eea6c8811c59545f08422..303f8c15092e9f9d3504115eecebee6f85bba31c 100644 (file)
@@ -43,7 +43,7 @@ Dots::do_brew_molecule () const
                                         Interval (0,0))));
 
   SCM c = get_elt_property ("dot-count");
-  if (!gh_number_p (c))
+  if (gh_number_p (c))
     {
       Molecule d = lookup_l ()->afm_find (String ("dots-dot"));
 
index 171ef13e9e11410a18e0ec7e2c68416f3ebb5a99..408f961d67d9725b7bd1f6b361a235c4e780be86 100644 (file)
 #define KEYGRAV_HH
 
 #include "engraver.hh"
-#include "key.hh"
+
 #include "musical-pitch.hh"
+#include "protected-scm.hh"
+#include "newkey.hh"
+
 
 /**
   Make the key signature.
@@ -29,13 +32,12 @@ public:
   /*
     TODO: move these into properties.
    */
-  Key key_;
+  Newkey key_;
   Key_change_req * keyreq_l_;
   Key_item * item_p_;
 
-  Array<Musical_pitch> accidental_idx_arr_;
-  Array<Musical_pitch> old_accidental_idx_arr_;
-
+  Protected_scm old_accs_;
+  Protected_scm new_accs_;  
 
   bool key_changed_b() const;
     
index 2c7f396ab4396954563ea6d623b5c0872ec25baa..67b1d6c935f86482cbf805df3fdd10ed9c65356d 100644 (file)
@@ -29,9 +29,7 @@ class Key_item :public  Item
 public:
   VIRTUAL_COPY_CONS(Score_element);
   Key_item (SCM);
-  void add (int pitch, int acc);
-  void add_old (int pitch, int acc);
- static SCM scheme_molecule (SCM);
+  static SCM scheme_molecule (SCM);
   
 
 protected:
diff --git a/lily/include/key.hh b/lily/include/key.hh
deleted file mode 100644 (file)
index 5e09699..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-  key.hh -- declare Key, Octave_key
-
-  (c) 1996--2000 Han-Wen Nienhuys
-*/
-
-#ifndef KEY_HH
-#define KEY_HH
-
-#include "array.hh"
-#include "lily-proto.hh"
-
-/*
-  JUNKME JUNKME JUNKME
- */
-
-/// administration of current key in one octave.
-class Octave_key {
-
-public:
-  Array<int> accidental_i_arr_;
-  Array<bool> internal_forceacc_b_arr_;
-  void clear ();
-  Octave_key();
-  void set (int i, int acc);
-  int acc (int i) const { return accidental_i_arr_[i]; }
-  void print () const;
-};
-
-/// administration of accidentals
-class Key
-{
-  /** for each octave a key. Has to be private since octave 0 isn't member 0.
-   */
-  Array<Octave_key> octaves_;
-  int octave_to_index (int) const;
-public:
-  bool multi_octave_b_;
-  
-  void clear ();
-  Octave_key const& oct (int) const;
-  void set (int name, int acc);
-  void set (Musical_pitch);
-  void set_internal_forceacc (Musical_pitch);
-  void clear_internal_forceacc (Musical_pitch);
-
-  bool different_acc (Musical_pitch) const;
-  bool internal_forceacc (Musical_pitch) const;
-  bool double_to_single_acc (Musical_pitch) const;
-  
-  Key();
-  void print () const;  
-};
-
-#endif // KEY_HH
-
-
index ffe7c21c53d8173e6bbcbe884584be038c315abd..0aa2b0287a589afdeca5c594aea96f2fc1afb707 100644 (file)
 #include <libguile.h>
 #include "direction.hh"
 
+#ifndef SCM_PACK
+#define SCM_PACK(x) ((SCM) x)
+#endif
+
+
 /*
   conversion functions follow the GUILE naming convention, i.e.
 
index ca368dc30a8960acd0e4442a1de854e9c09ce5da..400d7de2a7af387ed40dbadbac89cab554616bdd 100644 (file)
@@ -43,12 +43,11 @@ public:
   Local_key_item (SCM );
    static SCM scheme_molecule (SCM);
   
-void add_pitch (Musical_pitch, bool cautionary, bool natural);
+  void add_pitch (Musical_pitch, bool cautionary, bool natural);
 protected:
   virtual void before_line_breaking ();
   virtual Molecule do_brew_molecule() const;
-
-
 };
+
 #endif // LOCALKEYITEM_HH
 
index fe5baaca0cfd41cb8951b7408a4ca0a639933703..f8454664ed05c401a3b75f7506ba50efcdce7b8a 100644 (file)
@@ -10,9 +10,7 @@
 #ifndef LY_SMOBS_ICC
 #define LY_SMOBS_ICC
 
-#ifndef SCM_PACK
-#define SCM_PACK(x) ((SCM) x)
-#endif
+
 
 #define IMPLEMENT_UNSMOB(CL, name)             \
 CL *                                           \
@@ -29,7 +27,7 @@ SCM smobify (CL *cl)\
                                                                        \
   SCM_NEWCELL(s);                                                      \
   SCM_SETCAR(s,CL::smob_tag_);                                         \
-  SCM me_s = SCM_PACK (cl);                                                    \
+  SCM me_s = SCM_PACK(cl);                                                     \
   SCM_SETCDR (s, me_s); \
 return s;\
 }\
diff --git a/lily/include/newkey.hh b/lily/include/newkey.hh
new file mode 100644 (file)
index 0000000..32c3ad7
--- /dev/null
@@ -0,0 +1,32 @@
+/*   
+  newkey.hh -- declare Newkey
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#ifndef NEWKEY_HH
+#define NEWKEY_HH
+
+#include "protected-scm.hh" 
+
+class Newkey
+{
+  /*
+    alist mapping 
+    (octave . notename) -> accidental and notename -> accidental
+   */
+  Protected_scm key_alist_;
+public:
+  void set (int name, int acc);
+  void set (int oct, int name, int acc);
+  void clear ();
+  void set_scm (SCM k, SCM v);
+  Newkey();
+  int get (int oct, int name);
+  int get (int name);
+};
+#endif /* NEWKEY_HH */
+
index 250fb169eaeaecce877cfc764ffb14f290b5bfa8..da00f7204069ef2ddb13373df76d2700f3503029 100644 (file)
@@ -43,40 +43,21 @@ Key_engraver::create_key (bool def)
       item_p_->set_elt_property ("c0-position", gh_int2scm (0));
 
       // todo: put this in basic props.
-      item_p_->set_elt_property ("old-accidentals", SCM_EOL);
-      item_p_->set_elt_property ("new-accidentals", SCM_EOL);
+      item_p_->set_elt_property ("old-accidentals", old_accs_);
+      item_p_->set_elt_property ("new-accidentals", new_accs_);
 
       Staff_symbol_referencer_interface st (item_p_);
       st.set_interface ();
+
+      SCM prop = get_property ("keyOctaviation");
+      bool multi = to_boolean (prop);
       
-      if (key_.multi_octave_b_)
-       item_p_->set_elt_property ("multi-octave", gh_bool2scm (key_.multi_octave_b_));
+      if (multi)
+       item_p_->set_elt_property ("multi-octave", gh_bool2scm (multi));
       
       announce_element (Score_element_info (item_p_,keyreq_l_));
-      
-
-      for (int i = 0; i < accidental_idx_arr_.size(); i++) 
-       {
-         Musical_pitch m_l =accidental_idx_arr_[i];
-         int a =m_l.accidental_i_;      
-         if (key_.multi_octave_b_)
-           item_p_->add (m_l.steps (), a);
-         else
-           item_p_->add (m_l.notename_i_, a);
-       }
-
-      for (int i = 0 ; i < old_accidental_idx_arr_.size(); i++) 
-       {
-         Musical_pitch m_l =old_accidental_idx_arr_[i];
-         int a =m_l.accidental_i_;
-         if (key_.multi_octave_b_)
-           item_p_->add_old (m_l.steps  (), a);
-         else
-           item_p_->add_old (m_l.notename_i_, a);
-       }
     }
 
-
   if (!def)
     item_p_->set_elt_property ("visibility-lambda",
                               scm_eval (ly_symbol2scm  ("all-visible")));
@@ -111,7 +92,7 @@ Key_engraver::acknowledge_element (Score_element_info info)
        }
     }
   else if (dynamic_cast<Bar *> (info.elem_l_)
-          && accidental_idx_arr_.size ()) 
+          && gh_pair_p (new_accs_))
     {
       create_key (true);
     }
@@ -147,13 +128,11 @@ Key_engraver::read_req (Key_change_req const * r)
   if (!r->key_)
     return;
   
-  old_accidental_idx_arr_ = accidental_idx_arr_;
   key_.clear ();
   SCM prop = get_property ("keyOctaviation");
+  bool multi = to_boolean (prop);
 
-  key_.multi_octave_b_ = to_boolean (prop);
-  
-  accidental_idx_arr_.clear ();
+  SCM n = SCM_EOL;
 
   if (r->key_->ordinary_key_b_) 
     {
@@ -168,12 +147,14 @@ Key_engraver::read_req (Key_change_req const * r)
              Musical_pitch m;
              m.accidental_i_ = -1;
              m.notename_i_ = accidental;
-             if (key_.multi_octave_b_)
-               key_.set (m);
+             if (multi)
+               key_.set (m.octave_i_, m.notename_i_, m.accidental_i_);
              else
                key_.set (m.notename_i_, m.accidental_i_);
-             accidental_idx_arr_.push (m);
-             
+
+             SCM pair = gh_cons (gh_int2scm (m.notename_i_),
+                                 gh_int2scm (m.accidental_i_));
+             n = gh_cons (pair, n) ;
              accidental = (accidental + 3) % 7 ;
            }
        }
@@ -185,11 +166,14 @@ Key_engraver::read_req (Key_change_req const * r)
              Musical_pitch m;
              m.accidental_i_ = 1;
              m.notename_i_ = accidental;
-             if (key_.multi_octave_b_)
-               key_.set (m);
+             if (multi)
+               key_.set (m.octave_i_, m.notename_i_, m.accidental_i_);
              else
                key_.set (m.notename_i_, m.accidental_i_);
-             accidental_idx_arr_.push (m);
+
+             SCM pair = gh_cons (gh_int2scm (m.notename_i_),
+                                 gh_int2scm (m.accidental_i_));
+             n = gh_cons (pair, n);
              
              accidental = (accidental + 4) % 7 ;
            }
@@ -200,21 +184,27 @@ Key_engraver::read_req (Key_change_req const * r)
       for (int i = 0; i < r->key_->pitch_arr_.size (); i ++) 
        {
          Musical_pitch m_l =r->key_->pitch_arr_[i];
-         if (key_.multi_octave_b_)
-           key_.set (m_l);
+         if (multi)
+           key_.set (m_l.octave_i_, m_l.notename_i_, m_l.accidental_i_);
          else
            key_.set (m_l.notename_i_, m_l.accidental_i_);
-         
-         accidental_idx_arr_.push (m_l);
+
+         SCM pair = gh_cons (gh_int2scm (m_l.notename_i_),
+                             gh_int2scm (m_l.accidental_i_));
+         n = gh_cons (pair, n);
        }
     }
+
+  old_accs_ = new_accs_;
+  new_accs_ = n;
+  
 }
 
 void
 Key_engraver::do_post_move_processing ()
 {
   keyreq_l_ = 0;
-  old_accidental_idx_arr_.clear ();
+  old_accs_ = SCM_EOL;
 }
 
 ADD_THIS_TRANSLATOR (Key_engraver);
index 5b179e57471838f492b413fdfc63c5f32a6aa79b..af54bc7b5e3286eb19c4a1716cf9db4daef01a88 100644 (file)
@@ -24,21 +24,12 @@ Key_item::Key_item (SCM s)
   set_elt_property ("c0-position", gh_int2scm (0));
 }
 
-void
-Key_item::add (int p, int a)
-{
-  SCM pair = gh_cons (gh_int2scm (p),gh_int2scm (a));
-  Group_interface (this, "new-accidentals").add_thing (pair);
-}
-
-void
-Key_item::add_old (int p, int a)
-{
-  SCM pair = gh_cons (gh_int2scm (p),gh_int2scm (a));  
-  Group_interface (this, "old-accidentals").add_thing (pair);
-}
 
 
+/*
+  FIXME: key-item should just get a list of (position, acc), and leave
+  the thinking to other parties.
+ */
 int
 Key_item::calculate_position(SCM pair) const
 {
@@ -80,13 +71,12 @@ Key_item::calculate_position(SCM pair) const
   }
 }
 
+MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Key_item)
+
 /*
   TODO
   - space the `natural' signs wider
-
  */
-
-MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Key_item)
 Molecule 
 Key_item::do_brew_molecule () const
 {
diff --git a/lily/key.cc b/lily/key.cc
deleted file mode 100644 (file)
index 199f715..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
-  key.cc -- implement Key, Octave_key
-
-  source file of the GNU LilyPond music typesetter
-
-  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
-*/
-
-#include "key.hh"
-#include "debug.hh"
-#include "musical-pitch.hh"
-
-const int NUMBER_OF_OCTAVES=14;                // ugh..
-const int ZEROOCTAVE=7;
-
-
-void
-Octave_key::print () const
-{
-  for (int i= 0; i < 7 ; i++)
-    DEBUG_OUT << "note " << i << " acc: " << accidental_i_arr_[i] << " iforce: " << internal_forceacc_b_arr_[i] << '\n';
-}
-
-
-
-Octave_key::Octave_key()
-{
-  accidental_i_arr_.set_size (7);
-  internal_forceacc_b_arr_.set_size(7);
-  clear ();
-}
-
-void
-Octave_key::clear ()
-{
-  for (int i= 0; i < 7 ; i++)
-  {
-    accidental_i_arr_[i] = 0;
-    internal_forceacc_b_arr_[i] = false;
-  }
-}
-
-Key::Key()
-{
-  multi_octave_b_ = false;
-  octaves_.set_size (NUMBER_OF_OCTAVES);
-}
-
-int 
-Key::octave_to_index (int o) const
-{
-  int i = o + ZEROOCTAVE;
-  if (i < 0)
-    {
-      warning (_f ("Don't have that many octaves (%s)", to_str (o)));
-      i = 0;
-    }
-  if (i >= NUMBER_OF_OCTAVES)
-    {
-      warning (_f ("Don't have that many octaves (%s)", to_str (o)));
-      i = NUMBER_OF_OCTAVES -1;
-    }
-  return i;
-}
-
-Octave_key const&
-Key::oct (int i) const
-{
-  return octaves_[octave_to_index (i)];    
-}
-
-
-void
-Octave_key::set (int i, int a)
-{
-  if (a <= -3)
-    {
-      warning (_f ("underdone accidentals (%s)", to_str (a)));
-      a = -2;
-    }
-  if (a >= 3)
-    {
-      warning (_f ("overdone accidentals (%s)", to_str (a)));
-      a = 2;
-    }
-  accidental_i_arr_[i]=a;
-}
-
-void
-Key::set (Musical_pitch p)
-{
-  int   i = octave_to_index (p.octave_i_);
-  octaves_[i].set (p.notename_i_,p.accidental_i_);
-}
-
-void
-Key::set_internal_forceacc (Musical_pitch p)
-{
-  int   i = octave_to_index (p.octave_i_);
-  octaves_[i].internal_forceacc_b_arr_[p.notename_i_] = true;
-}
-
-void
-Key::clear_internal_forceacc (Musical_pitch p)
-{
-  int   i = octave_to_index (p.octave_i_);
-  octaves_[i].internal_forceacc_b_arr_[p.notename_i_] = false;
-}
-
-void
-Key::set (int n, int a)
-{
-  for (int i= 0; i < NUMBER_OF_OCTAVES ; i++)
-    octaves_[i].set (n,a);
-}
-void
-Key::clear ()
-{
-  for (int i= 0; i < NUMBER_OF_OCTAVES ; i++)
-    octaves_[i].clear ();
-}
-void
-Key::print () const
-{
-  for (int i= 0; i < NUMBER_OF_OCTAVES ; i++)
-    {
-      DEBUG_OUT << "octave " << i - ZEROOCTAVE << " Octave_key { ";
-      octaves_[i].print ();
-      DEBUG_OUT << "}\n";
-    }
-}
-
-bool
-Key::different_acc (Musical_pitch p)const
-{
-  return oct (p.octave_i_).acc (p.notename_i_) == p.accidental_i_;
-}
-
-
-bool
-Key::internal_forceacc (Musical_pitch p)const
-{
-  return oct (p.octave_i_).internal_forceacc_b_arr_[p.notename_i_];
-}
-
-
-bool
-Key::double_to_single_acc (Musical_pitch p) const
-{
-  return ((oct (p.octave_i_).acc (p.notename_i_) == -2
-      && p.accidental_i_ == -1)
-         
-        || (oct (p.octave_i_).acc (p.notename_i_) == 2
-           && p.accidental_i_ == 1));
-}
index 192baaee47dc8da1c9ca03707469b510d7f437cf..d8350f1c7a3ad5ad9198424958d13d3147a6e788 100644 (file)
@@ -20,7 +20,7 @@
 #include "staff-symbol-referencer.hh"
 #include "side-position-interface.hh"
 #include "engraver.hh"
-#include "key.hh"
+
 #include "parray.hh"
 
 
@@ -42,7 +42,7 @@ protected:
   virtual void do_removal_processing ();
 public:
   
-  Key local_key_;
+  Newkey local_key_;
   Key_engraver *key_grav_l_;
   Array<Note_req* > mel_l_arr_;
   Array<Item*> support_l_arr_;
@@ -111,15 +111,15 @@ Local_key_engraver::process_acknowledged ()
          /* see if there's a tie that "changes" the accidental */
          /* works because if there's a tie, the note to the left
             is of the same pitch as the actual note */
-         bool tie_changes = tied_l_arr_.find_l (support_l)
-           && !local_key_.different_acc (note_l->pitch_);
 
+         int prev_acc =local_key_.get (note_l->pitch_.octave_i_,
+                                       note_l->pitch_.notename_i_);
+         bool different = prev_acc != note_l->pitch_.accidental_i_;
+         
+         bool tie_changes = tied_l_arr_.find_l (support_l) && different;
          if (!forget
-
-             && ((note_l->forceacc_b_
-                  || !local_key_.different_acc (note_l->pitch_)
-                  || local_key_.internal_forceacc (note_l->pitch_)))
-
+             && (note_l->forceacc_b_
+                 || !different)
              && !tie_changes)
            {
              if (!key_item_p_) 
@@ -132,15 +132,21 @@ Local_key_engraver::process_acknowledged ()
                  announce_element (Score_element_info (key_item_p_, 0));
                }
 
+             
+             bool extra_natural
+               = sign (prev_acc) * (prev_acc - note_l->pitch_.accidental_i_) == 1 ;
+
              key_item_p_->add_pitch (note_l->pitch_,
                                      note_l->cautionary_b_,
-                                     local_key_.double_to_single_acc(note_l->pitch_));
+                                     extra_natural);
              Side_position_interface (key_item_p_).add_support (support_l);
            }
          
          if (!forget)
            {
-             local_key_.set (note_l->pitch_);
+             local_key_.set (note_l->pitch_.octave_i_, note_l->pitch_.notename_i_,
+                             note_l->pitch_.accidental_i_);
+#if 0
              if (!tied_l_arr_.find_l (support_l))
                {
                  local_key_.clear_internal_forceacc (note_l->pitch_);
@@ -149,6 +155,7 @@ Local_key_engraver::process_acknowledged ()
                {
                  local_key_.set_internal_forceacc (note_l->pitch_);
                }
+#endif
            }
         }
     }
index 0eec7dd813f25836ac2bcd8a8a7729d13259aee5..079a829d8a78b5b9c0d051ebe1e46ee4ecb5e84e 100644 (file)
@@ -7,6 +7,7 @@
 */
 
 #include <math.h>
+#include <libc-extension.hh>
 
 #include "font-metric.hh"
 #include "dimensions.hh"
diff --git a/lily/newkey.cc b/lily/newkey.cc
new file mode 100644 (file)
index 0000000..31bd1c9
--- /dev/null
@@ -0,0 +1,45 @@
+#include "newkey.hh"
+
+Newkey::Newkey ()
+{
+  clear();
+}
+
+void
+Newkey::clear()
+{
+  key_alist_ = SCM_EOL;
+}
+
+void
+Newkey::set (int n, int a)
+{
+  set_scm (gh_int2scm (n), gh_int2scm (a));
+}
+
+void
+Newkey::set (int o, int n, int a)
+{
+  set_scm (gh_cons (gh_int2scm (o),gh_int2scm(n)), gh_int2scm (a));
+}
+
+void
+Newkey::set_scm (SCM k, SCM v)
+{
+  key_alist_
+    = scm_assoc_set_x (key_alist_, k, v);  
+}
+
+int
+Newkey::get (int o, int n)
+{
+  SCM r = scm_assoc (gh_cons (gh_int2scm (o), gh_int2scm (n)), key_alist_);
+  return r == SCM_BOOL_F ? get (n) : gh_cdr (r);
+}
+
+int
+Newkey::get (int n)
+{
+  SCM r = scm_assoc (gh_int2scm (n), key_alist_);
+  return r == SCM_BOOL_F ? 0: gh_cdr (r);
+}
index 905158ae1f70fa099b233d87a8dc4d1d269fc257..e11b6c1dd6cb5f26abde9701a10eefa1762185d7 100644 (file)
@@ -11,6 +11,7 @@
 */
 
 #include <math.h>
+#include <libc-extension.hh>
 
 #include "simple-spacer.hh"
 #include "paper-column.hh"
index 336042209077112c45155c043bb71bdfb994aa33..c620ab64a32b19a72d291d557e2e616342e86617 100644 (file)
@@ -6,6 +6,7 @@
   (c) 1996--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 #include <math.h>
+#include <libc-extension.hh>
 
 #include "dimension-cache.hh"
 #include "debug.hh"
index 15e9bbbb1e347c44db4128dce42c717021f8c627..09e12e0680c13f5eba16b6241ce97095262b19dc 100644 (file)
@@ -1,6 +1,15 @@
 % params.ly
 % generic paper parameters
 
+%{
+
+TODO:
+
+* cleanup
+* use elt properties, iso. paper variables.
+%}
+
+
 
 paperfile = \papersize + ".ly";
 % paperfile = "a4.ly";
index 048670decd77535f2e102abdf6352bb8aec6e323..dd7536470cef3ba0111ab8894b66a852ce044ee8 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: LilyPond
-Version: 1.3.57
-Entered-date: 31MAY00
+Version: 1.3.58
+Entered-date: 08JUN00
 Description: 
 Keywords: music notation typesetting midi fonts engraving
 Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       1000k lilypond-1.3.57.tar.gz 
+       1000k lilypond-1.3.58.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       1000k lilypond-1.3.57.tar.gz 
+       1000k lilypond-1.3.58.tar.gz 
 Copying-policy: GPL
 End
index bf7ae4cd460e9fd07a5a113fa094cfc4d99572e7..0972cf68106a784e81436c0361a81ab59265d86e 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 1.3.57
+Version: 1.3.58
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.57.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.58.tar.gz
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 # Icon: lilypond-icon.gif
diff --git a/po/ja.po b/po/ja.po
new file mode 100644 (file)
index 0000000..5384961
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,1220 @@
+# Japanese message for lilypond 1.2.17
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Daisuke Yamashita <yamad@mb.infoweb.ne.jp>, 2000.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: lilypond 1.2.17\n"
+"POT-Creation-Date: 1999-09-16 20:29+0200\n"
+"PO-Revision-Date: 2000-03-29 20:50+0900\n"
+"Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=EUC-JP\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: data-file.cc:52
+msgid "EOF in a string"
+msgstr "ʸ»úÎóÃæ¤Ë EOF ¤¬¤¢¤ê¤Þ¤¹"
+
+#: data-file.cc:116 input.cc:86 midi-parser.cc:100 warn.cc:21
+msgid "warning: "
+msgstr "·Ù¹ð: "
+
+#: dstream.cc:158
+msgid "not enough fields in Dstream init"
+msgstr "Dstream ½é´ü²½»þ¤Î¥Õ¥£¡¼¥ë¥É¤¬ÉÔ½½Ê¬"
+
+#: flower-debug.cc:17
+msgid "Debug output disabled.  Compiled with NPRINT."
+msgstr "¥Ç¥Ð¥Ã¥°½ÐÎϤ¬Ìµ¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£NPRINT ¤Ä¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤·¤¿¡£"
+
+#: getopt-long.cc:141
+#, c-format
+msgid "Option `%s' requires an argument"
+msgstr "¥ª¥×¥·¥ç¥ó `%s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹"
+
+#: getopt-long.cc:145
+#, c-format
+msgid "Option `%s' doesn't allow an argument"
+msgstr "¥ª¥×¥·¥ç¥ó `%s' ¤Ï°ú¿ô¤òµö²Ä¤·¤Þ¤»¤ó"
+
+#: getopt-long.cc:149
+#, c-format
+msgid "unrecognized option: `%s'"
+msgstr "ǧ¼±¤Ç¤­¤Ê¤¤¥ª¥×¥·¥ç¥ó: `%s'"
+
+#: getopt-long.cc:156
+#, c-format
+msgid "invalid argument `%s' to option `%s'"
+msgstr "¥ª¥×¥·¥ç¥ó `%2$s' ¤ËÂФ¹¤ë̵¸ú¤Ê°ú¿ô `%1$s'"
+
+#: text-stream.cc:8
+msgid "<stdin>"
+msgstr "<stdin>"
+
+#: mapped-file-storage.cc:87 midi-stream.cc:77 mudela-stream.cc:104
+#: paper-stream.cc:25 scores.cc:38 simple-file-storage.cc:44 text-stream.cc:21
+#, c-format
+msgid "Can't open file: `%s'"
+msgstr "¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó: `%s'"
+
+#: input.cc:91 warn.cc:7 warn.cc:15
+msgid "error: "
+msgstr "¥¨¥é¡¼: "
+
+#: input.cc:97
+msgid "Non fatal error: "
+msgstr "³¹Ô²Äǽ¤Ê¥¨¥é¡¼: "
+
+#: input.cc:105 source-file.cc:63 source-file.cc:156
+msgid "position unknown"
+msgstr "°ÌÃÖ¤¬È½¤ê¤Þ¤»¤ó"
+
+#: mapped-file-storage.cc:74
+msgid "Can't map file"
+msgstr "¥Õ¥¡¥¤¥ë¤ò¥Þ¥Ã¥×¤Ç¤­¤Þ¤»¤ó"
+
+#: simple-file-storage.cc:56
+#, c-format
+msgid "Huh?  Got %d, expected %d characters"
+msgstr "¤Ï¡© %2$d Ê¸»ú¤¢¤ë¤Ï¤º¤Ê¤Î¤Ë %1$d Ê¸»ú¤·¤«¤Ê¤¤"
+
+#: warn.cc:34
+msgid "programming error: "
+msgstr "¥×¥í¥°¥é¥à¾å¤Î¥¨¥é¡¼: "
+
+#: warn.cc:34
+msgid " (Continuing; cross thumbs)"
+msgstr " (³¤±¤Þ¤¹ -- cross thumbs)"
+
+#: warn.cc:40
+msgid "programming warning: "
+msgstr "¥×¥í¥°¥é¥à¾å¤Î·Ù¹ð: "
+
+#: afm.cc:129
+#, c-format
+msgid "Can't find character called: `%s'"
+msgstr "¸Æ¤Ó½Ð¤µ¤ì¤¿Ê¸»ú¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
+
+#: afm.cc:154
+#, c-format
+msgid "Can't find character number: %d"
+msgstr "ʸ»úÈֹ椬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %d"
+
+#: all-font-metrics.cc:69 lookup.cc:103
+#, c-format
+msgid "Can't find font: `%s'"
+msgstr "¥Õ¥©¥ó¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
+
+#: all-font-metrics.cc:70
+msgid "Loading default font"
+msgstr "¥Ç¥Õ¥©¥ë¥È¥Õ¥©¥ó¥È¤ò¥í¡¼¥É¤·¤Þ¤¹"
+
+#: all-font-metrics.cc:75
+#, c-format
+msgid "Can't find default font: `%s'"
+msgstr "¥Ç¥Õ¥©¥ë¥È¥Õ¥©¥ó¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
+
+#: all-font-metrics.cc:76
+#, c-format
+msgid "(search path: `%s)'"
+msgstr "(¸¡º÷¥Ñ¥¹: `%s')"
+
+#: all-font-metrics.cc:77
+msgid "Giving up"
+msgstr "Äü¤á¤Þ¤·¤¿"
+
+#: beam-engraver.cc:42 beam-engraver.cc:58
+msgid "no beam to end"
+msgstr "ËöÈø¤Ø¤Î³Ã¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: beam-engraver.cc:87
+msgid "Already have a Beam"
+msgstr "´û¤Ë³Ã¤¬¤¢¤ê¤Þ¤¹"
+
+#: beam-engraver.cc:149
+msgid "unfinished beam"
+msgstr "½ªÎ»¤µ¤ì¤Æ¤¤¤Ê¤¤³Ã"
+
+#: beam-engraver.cc:174
+msgid "Stem must have Rhythmic structure"
+msgstr "ÉäÈø¤Ï¥ê¥º¥à¹½Â¤¤ò»ý¤¿¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+#: beam-engraver.cc:185
+msgid "Stem doesn't fit in beam"
+msgstr "ÉäÈø¤¬³Ã¤ÎÃæ¤Ë¤ª¤µ¤Þ¤ê¤Þ¤»¤ó"
+
+#: beam-engraver.cc:186
+msgid "Beam was started here"
+msgstr "³Ã¤Ï¤³¤³¤«¤é³«»Ï¤µ¤ì¤Þ¤·¤¿"
+
+#: beam.cc:147
+msgid "beam with less than two stems"
+msgstr "³Ã¤¬Æó¤Ä̤Ëþ¤ÎÉäÈø¤È¤È¤â¤Ë»È¤ï¤ì¤Þ¤·¤¿"
+
+#: beam.cc:312
+msgid "weird beam vertical offset"
+msgstr "¿âľÊý¸þ¤Î°ÌÃ֤Ȥ·¤Æ¤ª¤«¤·¤Ê³Ã"
+
+#: break-algorithm.cc:28
+msgid "0 lines"
+msgstr "0 ¹Ô"
+
+#: break-algorithm.cc:30
+#, c-format
+msgid "1 line (of %.0f columns)"
+msgstr "1 ¹Ô (%.0f ¥«¥é¥à)"
+
+#: break-algorithm.cc:32
+#, c-format
+msgid "%d lines (with an average of %.1f columns)"
+msgstr "%d ¹Ô (Ê¿¶Ñ %.1f ¥«¥é¥à)"
+
+#: break-algorithm.cc:155
+msgid "Score does not have any columns"
+msgstr "ÉèÌ̤˥«¥é¥à¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: break-algorithm.cc:172
+#, c-format
+msgid "approximated %s"
+msgstr "¤ª¤ª¤è¤½ %s"
+
+#: break-algorithm.cc:174
+#, c-format
+msgid "calculated %s exactly"
+msgstr "Àµ³Î¤Ë·×»»¤µ¤ì¤¿ %s"
+
+#: break-algorithm.cc:175
+#, c-format
+msgid "elapsed time %.2f seconds"
+msgstr "%.2f É÷вá"
+
+#: change-iterator.cc:22
+#, c-format
+msgid "Can't change `%s' to `%s'"
+msgstr "`%s' ¤«¤é `%s' ¤ËÊѹ¹¤Ç¤­¤Þ¤»¤ó"
+
+#: change-iterator.cc:57
+msgid "Can't switch translators, I'm there already"
+msgstr "¥È¥é¥ó¥¹¥ì¡¼¥¿¤òÀÚ¤êÂؤ¨¤é¤ì¤Þ¤»¤ó¡£´û¤Ë¤½¤¦¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
+
+#.
+#. 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:76
+msgid "I'm one myself"
+msgstr "¥È¥é¥ó¥¹¥ì¡¼¥¿¤½¤Î¤â¤Î¤Ç¤¹"
+
+#: change-iterator.cc:79
+msgid "none of these in my family"
+msgstr "¥Õ¥¡¥ß¥ê¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+#: chord-tremolo-engraver.cc:41 chord-tremolo-engraver.cc:58
+msgid "no tremolo beam to end"
+msgstr "ËöÈø¤Ø¤Î¥È¥ì¥â¥íµ­¹æ¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: chord-tremolo-engraver.cc:83
+msgid "Already have a tremolo beam"
+msgstr "¤¹¤Ç¤Ë¥È¥ì¥â¥íµ­¹æ¤¬¤¢¤ê¤Þ¤¹"
+
+#: chord-tremolo-engraver.cc:124
+msgid "unfinished tremolo beam"
+msgstr "½ª¤ï¤Ã¤Æ¤¤¤Ê¤¤¥È¥ì¥â¥íµ­¹æ"
+
+#: chord.cc:231
+#, c-format
+msgid "invalid subtraction: not part of chord: %s"
+msgstr "̵¸ú¤Ê°ú¤­»»: ¥³¡¼¥É¤Î°ìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %s"
+
+#: chord.cc:245
+#, c-format
+msgid "invalid inversion pitch: not part of chord: %s"
+msgstr "̵¸ú¤Êž²ó¥Ô¥Ã¥Á: ¥³¡¼¥É¤Î°ìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %s"
+
+#: clef-engraver.cc:178
+msgid "unknown clef type"
+msgstr "ÉÔÌÀ¤Ê²»Éôµ­¹æ(Clef)"
+
+#: collision.cc:95
+msgid "Too many clashing notecolumns.  Ignoring them."
+msgstr "Äà¤ê¹ç¤ï¤Ê¤¤²»É䤬¿¤¹¤®¤Þ¤¹¡£¤½¤ì¤é¤ò̵»ë¤·¤Þ¤¹¡£"
+
+#: crescendo.cc:42
+msgid "crescendo"
+msgstr "¥¯¥ì¥Ã¥·¥§¥ó¥É"
+
+#: crescendo.cc:42
+msgid "too small"
+msgstr "¾®¤µ¤¹¤®¤Þ¤¹"
+
+#: debug.cc:56
+msgid "floating point exception"
+msgstr "ÉâÆ°¾®¿ôÅÀÎã³°"
+
+#: debug.cc:139
+msgid "Can't set mem-checking!"
+msgstr "¥á¥â¥ê¥Á¥§¥Ã¥¯¤òÀßÄê¤Ç¤­¤Þ¤»¤ó"
+
+#: dimensions.cc:13
+msgid "NaN"
+msgstr "NaN"
+
+#: dynamic-engraver.cc:109
+msgid "Got a dynamic already.  Continuing dazed and confused."
+msgstr "´û¤ËưŪ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£º®Í𤷤¿¤Þ¤Þ³¤±¤Þ¤¹¡£"
+
+#: dynamic-engraver.cc:162
+msgid "Can't find (de)crescendo to end"
+msgstr "ËöÈø¤Ø¤Î(¥Ç)¥¯¥ì¥Ã¥·¥§¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+#: dynamic-engraver.cc:216
+msgid "Too many crescendi here"
+msgstr "¤³¤³¤Î¥¯¥ì¥Ã¥·¥§¥ó¥É¤¬Â¿¤¹¤®¤Þ¤¹"
+
+#: dynamic-engraver.cc:254
+msgid "unended crescendo"
+msgstr "½ªÎ»¤·¤Æ¤¤¤Ê¤¤¥¯¥ì¥Ã¥·¥§¥ó¥É"
+
+#: encompass-info.cc:32
+msgid "Slur over rest?"
+msgstr "¥¹¥é¡¼¤¬µÙÉä¤ò¤Þ¤¿¤¤¤Ç¤¤¤ë?"
+
+#: encompass-info.cc:67 stem-info.cc:140
+msgid "minVerticalAlign != maxVerticalAlign: interstaff beams/slurs may be broken"
+msgstr "minVerticalAlign != maxVerticalAlign: ÆâÉôŪ¤Ê beams/slurs ¤¬²õ¤ì¤Þ¤·¤¿"
+
+#: extender-engraver.cc:62
+msgid "unterminated extender"
+msgstr "½ªÃ¼¤Î¤Ê¤¤¥¨¥¯¥¹¥Æ¥ó¥À"
+
+#: extender-engraver.cc:74
+msgid "Nothing to connect extender to on the left.  Ignoring extender request."
+msgstr "¥¨¥¯¥¹¥Æ¥ó¥À¤¬º¸Â¦¤Ë¤Ä¤Ê¤¬¤ê¤Þ¤»¤ó¡£¥¨¥¯¥¹¥Æ¥ó¥ÀÍ×µá¤ò̵»ë¤·¤Þ¤¹¡£"
+
+#: folded-repeat-iterator.cc:64
+msgid "no one to print a repeat brace"
+msgstr "È¿Éüµ­¹æ¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: grace-iterator.cc:43
+msgid "no Grace context available"
+msgstr "Áõ¾þ¥³¥ó¥Æ¥­¥¹¥È¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: grace-position-engraver.cc:89
+msgid "Unattached grace notes.  Attaching to last musical column."
+msgstr "Áõ¾þ²»É䤬¤Ä¤±¤é¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£Ä¾Á°¤Î¥«¥é¥à¤Ë¤Ä¤±¤Þ¤¹"
+
+#: hyphen-engraver.cc:60
+msgid "unterminated hyphen"
+msgstr "½ªÃ¼¤Î¤Ê¤¤¥Ï¥¤¥Õ¥ó"
+
+#: hyphen-engraver.cc:72
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
+msgstr "º¸Â¦¤Ë·Ò¤²¤ë¥Ï¥¤¥Õ¥ó¤¬¤¢¤ê¤Þ¤»¤ó¡£¥Ï¥¤¥Õ¥ó¤ÎÍ×µá¤ò̵»ë¤·¤Þ¤¹"
+
+#: identifier.cc:46
+#, c-format
+msgid "wrong identifier type, expected: `%s'"
+msgstr "´Ö°ã¤Ã¤¿¼±Ê̻ҷ¿¡¢¤³¤³¤ËÍè¤ë¤Ù¤­¤â¤Î¤Ï: `%s'"
+
+#: includable-lexer.cc:47 lily-guile.cc:82 lily-guile.cc:105
+#: midi-score-parser.cc:24 scores.cc:108 scores.cc:114
+#, c-format
+msgid "Can't find file: `%s'"
+msgstr "¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
+
+#: includable-lexer.cc:49 lookup.cc:104 scores.cc:109
+#, c-format
+msgid "(search path: `%s')"
+msgstr "(¸¡º÷¥Ñ¥¹: `%s')"
+
+#: ineq-constrained-qp.cc:169
+#, c-format
+msgid "Ineq_constrained_qp::solve (): Constraint off by %f"
+msgstr "Ineq_constrained_qp::solve (): À©¸Â¤ò %f ¤Ç²ò½ü"
+
+#: ineq-constrained-qp.cc:233
+msgid "Didn't converge!"
+msgstr "¼ý«¤·¤Þ¤»¤ó¤Ç¤·¤¿!"
+
+#: ineq-constrained-qp.cc:235
+msgid "too much degeneracy"
+msgstr "¾®¤µ¤¹¤®¤Þ¤¹"
+
+#: key-def.cc:31
+msgid "No key name, assuming `C'"
+msgstr "¥­¡¼Ì¾¤¬¤¢¤ê¤Þ¤»¤ó¡¢`C' ¤ò»î¤ß¤Þ¤¹"
+
+#: key-def.cc:92
+msgid "Don't know how handle empty keys"
+msgstr "¶õ¤Î¥­¡¼¤Î°·¤¤Êý¤¬È½¤ê¤Þ¤»¤ó"
+
+#: key-engraver.cc:70 key-performer.cc:65
+msgid "FIXME: key change merge"
+msgstr "FIXME: ¥­¡¼Êѹ¹¤Î¥Þ¡¼¥¸"
+
+#: key.cc:54 key.cc:59
+#, c-format
+msgid "Don't have that many octaves (%s)"
+msgstr "¤½¤ó¤Ê¤ËÂô»³¤Î¥ª¥¯¥¿¡¼¥Ö (%s) ¤ò»È¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤"
+
+#: key.cc:77
+#, c-format
+msgid "underdone accidentals (%s)"
+msgstr "¥Õ¥é¥Ã¥È¤¬Â¿¤¹¤®¤Þ¤¹ (%s)"
+
+#: key.cc:82
+#, c-format
+msgid "overdone accidentals (%s)"
+msgstr "¥·¥ã¡¼¥×¤¬Â¿¤¹¤®¤Þ¤¹ (%s)"
+
+#: lily-guile.cc:84 lily-guile.cc:107
+#, c-format
+msgid "(load path: `%s')"
+msgstr "(Æɹþ¥Ñ¥¹: `%s')"
+
+#: line-of-score.cc:91
+msgid "Huh?  Empty Line_of_score?"
+msgstr "¤Ï? ÉèÌ̤ιԤ¬¶õ?"
+
+#: local-key-engraver.cc:42
+msgid "out of tune:"
+msgstr "Èϰϳ°¤ÎÄ´:"
+
+#: local-key-engraver.cc:43 time-signature-engraver.cc:29
+#: translator-group.cc:437 translator-group.cc:446
+#, c-format
+msgid "Can't find: `%s'"
+msgstr "¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
+
+#: lookup.cc:105
+msgid "Aborting"
+msgstr "½ªÎ»¤·¤Þ¤¹"
+
+#: lookup.cc:436
+#, c-format
+msgid "Non-matching braces in text `%s', adding braces"
+msgstr "¥Æ¥­¥¹¥È `%s' Ãæ¤Ë°ìÃפ¹¤ë¥Ö¥ì¡¼¥¹¤¬¤¢¤ê¤Þ¤»¤ó¡£¥Ö¥ì¡¼¥¹¤òÄɲä·¤Þ¤¹"
+
+#: main.cc:71 main.cc:91
+msgid "enable debugging output"
+msgstr "¥Ç¥Ð¥Ã¥°½ÐÎϤòÍ­¸ú"
+
+#: main.cc:72
+msgid "EXT"
+msgstr "EXT"
+
+#: main.cc:72
+msgid "use output format EXT"
+msgstr "½ÐÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È EXT ¤ò»È¤¦"
+
+#: main.cc:73 main.cc:92
+msgid "this help"
+msgstr "¤³¤Î¥Ø¥ë¥×"
+
+#: main.cc:74
+msgid "DIR"
+msgstr "DIR"
+
+#: main.cc:74
+msgid "add DIR to search path"
+msgstr "DIR ¤ò¸¡º÷¥Ñ¥¹¤ËÄɲÃ"
+
+#: main.cc:75 main.cc:95
+msgid "FILE"
+msgstr "FILE"
+
+#: main.cc:75
+msgid "use FILE as init file"
+msgstr "FILE ¤ò½é´ü²½¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍÑ"
+
+#: main.cc:76
+msgid "write Makefile dependencies for every input file"
+msgstr "Á´¤Æ¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Î Makefile °Í¸´Ø·¸¤ò½ñ¤­¹þ¤à"
+
+#: main.cc:77
+msgid "produce MIDI output only"
+msgstr "MIDI ½ÐÎϤÎÀ¸À®¤Î¤ß"
+
+#: main.cc:78
+msgid "BASENAME"
+msgstr "BASENAME"
+
+#: main.cc:78
+msgid "write output to BASENAME[-x].extension"
+msgstr "BASENAME[-x].³ÈÄ¥»Ò ¤Ø½ÐÎϤò½ñ¤­¹þ¤à"
+
+#: main.cc:79
+msgid "show all changes in relative syntax"
+msgstr "´ØÏ¢¤¹¤ëʸˡ¤«¤éÁ´¤Æ¤ÎÊѹ¹¤òɽ¼¨"
+
+#: main.cc:80
+msgid "inhibit file output naming and exporting"
+msgstr "̾Á°ÉÕ¤±¤È¥¨¥¯¥¹¥Ý¡¼¥È¤Î½ÐÎÏ¥Õ¥¡¥¤¥ë¤òÍÞÀ©¤¹¤ë"
+
+#: main.cc:81 main.cc:99
+msgid "don't timestamp the output"
+msgstr "½ÐÎϤ˥¿¥¤¥à¥¹¥¿¥ó¥×¤ò¤Ä¤±¤Ê¤¤"
+
+#: main.cc:82
+msgid "switch on experimental features"
+msgstr "¼Â¸³Åª¤Êµ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ë"
+
+#: main.cc:83
+msgid "ignore mudela version"
+msgstr "mudela ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò̵»ë¤¹¤ë"
+
+#: main.cc:84 main.cc:100
+msgid "print version number"
+msgstr "¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¼¨"
+
+#: main.cc:85 main.cc:102
+msgid "show warranty and copyright"
+msgstr "ÊݾڤÈÃøºî¸¢¤Ë¤Ä¤¤¤Æɽ¼¨¤¹¤ë"
+
+#: main.cc:92
+#, c-format
+msgid "Usage: %s [OPTION]... [FILE]..."
+msgstr "»È¤¤Êý: %s [¥ª¥×¥·¥ç¥ó]... [¥Õ¥¡¥¤¥ë]..."
+
+#: main.cc:94
+msgid "Typeset music and or play MIDI from FILE"
+msgstr "¥Õ¥¡¥¤¥ë¤Î³Ú¶Ê¤òÁÈÈǤ·¤¿¤ê¡¢MIDI ±éÁÕ¤·¤¿¤ê¤¹¤ë"
+
+#: main.cc:100 main.cc:115
+msgid "Options:"
+msgstr "¥ª¥×¥·¥ç¥ó:"
+
+#: main.cc:104
+msgid "This binary was compiled with the following options:"
+msgstr "¤³¤Î¥Ð¥¤¥Ê¥ê¤Ï°Ê²¼¤Î¥ª¥×¥·¥ç¥óÉÕ¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤·¤¿"
+
+#: main.cc:119 main.cc:123
+#, c-format
+msgid "Report bugs to %s"
+msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï %s ¤Ø"
+
+#: main.cc:52 main.cc:137
+#, 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 ""
+"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"
+"\n"
+"-- »²¹ÍÌõ\n"
+"¤³¤ì¤Ï¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£GNU °ìÈ̸øÍ­»ÈÍѵöÂú½ñ¤Ë´ð¤Å¤­¡¢Æ±°ì¾ò·ï¤Ç\n"
+"¤³¤ì¤ò²þÊѤ·¤¿¤ê¡¢Ê£À½¤òÇÛÉÛ¤·¤¿¤ê¤¹¤ë»ö¤Ï´¿·Þ¤µ¤ì¤Þ¤¹¡£\n"
+"`--warranty' ¥ª¥×¥·¥ç¥óÉÕ¤­¤Çµ¯Æ°¤¹¤ë¤È¡¢¤è¤ê¾ÜºÙ¤Ê¾ðÊó¤¬ÆÀ¤é¤ì¤Þ¤¹¡£\n"
+
+#: main.cc:59 main.cc:144 main.cc:156
+#, c-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright (c) %s by"
+
+#. GNU GNU?
+#: main.cc:154
+msgid "GNU LilyPond -- The GNU Project music typesetter"
+msgstr "GNU LilyPond -- The GNU Project music typesetter"
+
+#: main.cc:68 main.cc:162
+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 ""
+"    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"
+"\n"
+"-- »²¹ÍÌõ\n"
+" ¤³¤Î¥×¥í¥°¥é¥à¤Ï¡¢¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£¤¢¤Ê¤¿¤Ï Free Software Foundation\n"
+"¤¬¸øɽ¤·¤¿ GNU °ìÈ̸øÍ­»ÈÍѵöÂú¤Î¥Ð¡¼¥¸¥ç¥ó 2 ¤Î¾ò¹à¤Ë´ð¤Å¤¤¤Æ¡¢¤³¤Î¥×¥í¥°¥é\n"
+"¥à¤òºÆÈÒÉÛ¤Þ¤¿¤ÏÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\n"
+"\n"
+"¤³¤Î¥×¥í¥°¥é¥à¤ÏÍ­ÍѤȤϻפ¤¤Þ¤¹¤¬¡¢ÈÒÉÛ¤ËÅö¤¿¤Ã¤Æ¤Ï¡¢»Ô¾ìÀ­µÚ¤ÓÆÃÄêÌÜŪŬ¹ç\n"
+"À­¤Ë¤Ä¤¤¤Æ¤Î°ÅÌÛ¤ÎÊݾڤâ´Þ¤á¤Æ¡¢¤¤¤«¤Ê¤ëÊݾڤâ¹Ô¤Ê¤¤¤Þ¤»¤ó¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢\n"
+"GNU °ìÈ̸øÍ­»ÈÍѵöÂú½ñ¤ò¤ªÆɤ߲¼¤µ¤¤¡£\n"
+"\n"
+"¤¢¤Ê¤¿¤Ï¡¢¤³¤Î¥×¥í¥°¥é¥à¤È°ì½ï¤Ë GNU °ìÈ̸øÍ­»ÈÍѵöÂú½ñ¤ò¼õ¤±¼è¤Ã¤Æ¤¤¤ë¤Ï¤º\n"
+"¤Ç¤¹(COPYING ¥Õ¥¡¥¤¥ë¤ò»²¾È)¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢Free Software Foundation,\n"
+"Inc., 675 Mass Ave, Cambridge, MA 02139, USA ¤Ë¼ê»æ¤ò½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£\n"
+
+#: midi-item.cc:303
+#, c-format
+msgid "no such instrument: `%s'"
+msgstr "¤½¤ÎÍͤʳڴï¤Ï¤¢¤ê¤Þ¤»¤ó: `%s'"
+
+#: midi-item.cc:357
+#, c-format
+msgid "unconventional key: flats: %d, sharps: %d"
+msgstr "´·½¬¤Ë¹ç¤ï¤Ê¤¤¥­¡¼¤Ç¤¹: ¥Õ¥é¥Ã¥È: %d ¸Ä, ¥·¥ã¡¼¥× %d ¸Ä"
+
+#: midi-item.cc:402
+msgid "silly duration"
+msgstr "Çϼ¯¤²¤¿²»Ä¹"
+
+#: midi-item.cc:415
+msgid "silly pitch"
+msgstr "Çϼ¯¤²¤¿¥Ô¥Ã¥Á"
+
+#: midi-stream.cc:29 paper-stream.cc:36
+msgid "Error syncing file (disk full?)"
+msgstr "¥Õ¥¡¥¤¥ë¤ÎƱĴ¥¨¥é¡¼ (¥Ç¥£¥¹¥¯¤¬°ìÇÕ?)"
+
+#: music-output-def.cc:56
+msgid "Interpretation context with empty type"
+msgstr "¶õ¥¿¥¤¥×¤Î²ò¼á¥³¥ó¥Æ¥­¥¹¥È"
+
+#: music-output-def.cc:83
+#, c-format
+msgid "Can't find `%s' context"
+msgstr "`%s' ¥³¥ó¥Æ¥­¥¹¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+#: musical-request.cc:42
+#, c-format
+msgid "Transposition by %s makes accidental larger than two"
+msgstr "%s ¤ÎÊÑÄ´¤Ë¤è¤Ã¤Æ¡¢Æó¤Ä¤òĶ¤¨¤ëÇÉÀ¸²»¤¬ºî¤é¤ì¤Þ¤·¤¿"
+
+#: my-lily-lexer.cc:137
+#, c-format
+msgid "redeclaration of `\\%s'"
+msgstr "`\\%s' ¤ÎºÆÀë¸À"
+
+#: my-lily-lexer.cc:143
+#, c-format
+msgid "Identifier name is a keyword: `%s'"
+msgstr "¼±ÊÌ»Ò̾¤Ï¥­¡¼¥ï¡¼¥É¤Ç¤¹: `%s'"
+
+#: my-lily-lexer.cc:172
+#, c-format
+msgid "error at EOF: %s"
+msgstr "EOF ¤Î¤È¤³¤í¤Ç¥¨¥é¡¼: %s"
+
+#: midi-score-parser.cc:94 my-lily-parser.cc:60
+msgid "Parsing..."
+msgstr "¹½Ê¸²òÀÏÃæ..."
+
+#: my-lily-parser.cc:69
+msgid "Braces don't match"
+msgstr "¥Ö¥ì¡¼¥¹¤¬°ìÃפ·¤Þ¤»¤ó"
+
+#: p-col.cc:48
+msgid "Must set spring between differing columns"
+msgstr "°Û¤Ê¤ë¥«¥é¥à¤Î´Ö¤Ë spring ¤ò¥»¥Ã¥È¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+#: paper-def.cc:95
+#, c-format
+msgid "unknown paper variable: `%s'"
+msgstr "paper ÊÑ¿ô¤ÎÃͤ¬È½¤ê¤Þ¤»¤ó: `%s'"
+
+#: paper-def.cc:99
+msgid "not a real variable"
+msgstr "Ãͤ¬¼Â¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#. for now; breaks -fscm output
+#: paper-def.cc:251
+msgid "Outputting Score, defined at: "
+msgstr "ÉèÌ̤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤³¤ÇÄêµÁ: "
+
+#: paper-def.cc:280
+#, c-format
+msgid "paper output to %s..."
+msgstr "%s ¤Ø paper ½ÐÎÏ..."
+
+#: mudela-stream.cc:86 paper-outputter.cc:76 performance.cc:97
+msgid ", at "
+msgstr ", at "
+
+#: paper-outputter.cc:130
+#, c-format
+msgid "improbable offset for object type: `%s'"
+msgstr "¥ª¥Ö¥¸¥§¥¯¥È·¿¤Ë¤È¤Ã¤Æ¤¢¤ê¤½¤¦¤Ë¤Ê¤¤¥ª¥Õ¥»¥Ã¥È: `%s'"
+
+#: paper-score.cc:131
+msgid "Can't solve this casting problem exactly; reverting to Word_wrap"
+msgstr "Àµ³Î¤Ë¥­¥ã¥¹¥È¤ò²ò·è¤Ç¤­¤Þ¤»¤ó -- Word_wrap ¤ËÉüµ¢¤·¤Þ¤¹"
+
+#: paper-score.cc:156
+msgid "Preprocessing elements..."
+msgstr "Í×ÁǤòÁ°½èÍýÃæ..."
+
+#: paper-score.cc:160
+msgid "Calculating column positions..."
+msgstr "¥«¥é¥à°ÌÃÖ¤ò·×»»Ãæ..."
+
+#: paper-score.cc:179
+#, c-format
+msgid "%s elements"
+msgstr "%s ¸Ä¤ÎÍ×ÁÇ"
+
+#: paper-score.cc:182
+msgid "Line ... "
+msgstr "¹Ô ..."
+
+#: performance.cc:50
+msgid "Track ... "
+msgstr "¥È¥é¥Ã¥¯ ..."
+
+#. perhaps multiple text events?
+#: performance.cc:77
+msgid "Creator: "
+msgstr "ºî¶Ê¼Ô: "
+
+#: performance.cc:92
+msgid "Automatically generated"
+msgstr "¼«Æ°À¸À®¤µ¤ì¤¿"
+
+#: performance.cc:106
+#, c-format
+msgid "from musical definition: %s"
+msgstr "²»³ÚŪÄêµÁ¤è¤ê: %s"
+
+#: performance.cc:174
+#, c-format
+msgid "MIDI output to %s..."
+msgstr "%s ¤Ø¤Î MIDI ½ÐÎÏ"
+
+#: qlpsolve.cc:88 qlpsolve.cc:139
+msgid "degenerate constraints"
+msgstr "À©¸Â¤ò´ËÏÂ"
+
+#: repeat-engraver.cc:177
+msgid "No bar engraver found.  Ignoring repeats."
+msgstr "¾®À᤬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£È¿Éü¤ò̵»ë¤·¤Þ¤¹¡£"
+
+#: request-chord-iterator.cc:73
+#, c-format
+msgid "Junking request: `%s'"
+msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
+
+#: request-chord-iterator.cc:76
+#, c-format
+msgid "Huh?  Not a Request: `%s'"
+msgstr "¤Ï? Í×µá¤Ç¤Ï¤Ê¤¤: `%s'"
+
+#: rest-collision.cc:64
+msgid "too many colliding rests"
+msgstr "µÙÉä¤Î¾×Æͤ¬Â¿¤¹¤®¤Þ¤¹"
+
+#: rest-collision.cc:68
+msgid "too many notes for rest collision"
+msgstr "µÙÉä¤Î¾×ÆͤËÂФ·¤Æ²»É䤬¿¤¹¤®¤Þ¤¹"
+
+#: score-engraver.cc:149
+#, c-format
+msgid "unbound spanner `%s'"
+msgstr "ÊĤ¸¤Æ¤¤¤Ê¤¤¥¹¥Ñ¥Ê `%s'"
+
+#: score.cc:56
+msgid "no toplevel translator"
+msgstr "ºÇ¾å°Ì¤Î¥È¥é¥ó¥¹¥ì¡¼¥¿¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: score.cc:59
+msgid "Interpreting music..."
+msgstr "³Ú¶Ê¤Î²ò¼áÃæ..."
+
+#: score.cc:70
+msgid "Need music in a score"
+msgstr "³ÚÉè¤Ë¤Ï³Ú¶Ê¤¬É¬ÍפǤ¹"
+
+#. should we? hampers debugging.
+#: score.cc:83
+msgid "Errors found/*, not processing score*/"
+msgstr "¥¨¥é¡¼¤òȯ¸«/*, ³ÚÉè¤ò½èÍý¤·¤Þ¤»¤ó*/"
+
+#: score.cc:88
+#, c-format
+msgid "elapsed time: %.2f seconds"
+msgstr "·Ð²á»þ´Ö: %.2f ÉÃ"
+
+#: scores.cc:35
+#, c-format
+msgid "Writing dependency file: `%s'..."
+msgstr "°Í¸´Ø·¸¥Õ¥¡¥¤¥ë¤Î½ñ¤­¹þ¤ß: `%s'..."
+
+#: scores.cc:79
+msgid "Score contains errors; will not process it"
+msgstr "³ÚÉè¤Ë¥¨¥é¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹ -- ½èÍý¤·¤Þ¤»¤ó"
+
+#: script-engraver.cc:49
+#, c-format
+msgid "Don't know how to interpret articulation `%s'"
+msgstr "²»Àá `%s' ¤Î²ò¼áÊýË¡¤¬È½¤ê¤Þ¤»¤ó"
+
+#: sequential-music-iterator.cc:82
+msgid "Must stop before this music ends"
+msgstr "¤³¤Î³Ú¶Ê¤Î½ª¤ï¤ê¤Þ¤Ç¤Ë»ß¤á¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+#. this shouldn't happen, but let's continue anyway.
+#: single-malt-grouping-item.cc:43
+msgid "Single_malt_grouping_item:  I've been drinking too much"
+msgstr "Single_malt_grouping_item:  °û¤ß¤¹¤®¤Á¤ã¤Ã¤¿"
+
+#: slur-engraver.cc:64
+msgid "unterminated slur"
+msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥¹¥é¡¼"
+
+#: slur-engraver.cc:80
+#, c-format
+msgid "Can't find both ends of %s"
+msgstr "%s ¤Îξü¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+#: slur-engraver.cc:80
+msgid "slur"
+msgstr "¥¹¥é¡¼"
+
+#: slur.cc:38
+msgid "Putting slur over rest.  Ignoring."
+msgstr "µÙÉä¤ò¤Þ¤¿¤¤¤À¥¹¥é¡¼¤¬¤¢¤ê¤Þ¤¹¡£Ìµ»ë¤·¤Þ¤¹¡£"
+
+#: spanner.cc:41
+msgid "Left spanpoint is right spanpoint"
+msgstr "ÈϰϤκ¸Â¦¤¬¡¢±¦Â¦¤Ë¤¢¤ê¤Þ¤¹"
+
+#: spanner.cc:111
+#, c-format
+msgid "Spanner `%s' has equal left and right spanpoints"
+msgstr "ÈÏ°Ï»ØÄê»Ò `%s' ¤Îº¸±¦¤ÎÅÀ¤¬Æ±¤¸¤Ç¤¹"
+
+#: spanner.cc:143
+msgid "spanner with negative length"
+msgstr "ÈÏ°Ï»ØÄê»Ò¤¬Éé¤ÎŤµ¤Ç¤¹"
+
+#: spring-spacer.cc:134
+msgid "I'm too fat; call Oprah"
+msgstr "ÂÀ¤¹¤®¤Þ¤¹ -- Oprah ¤ò¸Æ¤ó¤Ç"
+
+#: spring-spacer.cc:299
+msgid "Solution doesn't satisfy constraints"
+msgstr "¤½¤Î²ò·è¤ÏÀ©¸Â¤òËþ¤¿¤·¤Þ¤»¤ó"
+
+#: spring-spacer.cc:400
+#, c-format
+msgid "Improbable distance: %f point, setting to 10 mm"
+msgstr "¤¢¤ê¤½¤¦¤Ë¤Ê¤¤µ÷Î¥: %f ¥Ý¥¤¥ó¥È, 10 mm ¤ËÀßÄꤷ¤Þ¤¹"
+
+#: spring-spacer.cc:405
+msgid "Negative distance, setting to 10 mm"
+msgstr "Éé¤ÎÃͤȤʤëµ÷Î¥, 10 mm ¤ËÀßÄꤷ¤Þ¤¹"
+
+#: stem-engraver.cc:80
+#, c-format
+msgid "Adding note head to incompatible stem (type = %d)"
+msgstr "Ì·½â¤·¤¿ÉäÈø¤ØÉäƬ¤òÄɲä·¤Þ¤¹ (¥¿¥¤¥× = %d)"
+
+#: stem.cc:26
+msgid "stem direction set already!"
+msgstr "ÉäÈø¤ÎÊý¸þ¤Ï´û¤Ë¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Þ¤¹!"
+
+#: stem.cc:106
+msgid "Weird stem size; check for narrow beams"
+msgstr "ÊѤÊÉäÈø¤Î¥µ¥¤¥º -- ºÙ¤¤³Ã¤Î¥Á¥§¥Ã¥¯¤ò¤·¤Æ²¼¤µ¤¤"
+
+#: tfm-reader.cc:108
+#, c-format
+msgid "TFM header of `%s' has only %u word(s)"
+msgstr "`%s' ¤Î TFM ¥Ø¥Ã¥À¤Ë %u ¸ì¤·¤«¤¢¤ê¤Þ¤»¤ó"
+
+#: tfm-reader.cc:146
+#, c-format
+msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
+msgstr "%s: TFM ¥Õ¥¡¥¤¥ë¤Ï %u ¸Ä¤Î¥Ñ¥é¥á¥¿¤¬¤¢¤ê¤Þ¤¹¤¬¡¢%u °Ê¾å¤Ï°·¤¨¤Þ¤»¤ó"
+
+#: tfm.cc:64
+#, c-format
+msgid "Can't find ascii character: `%d'"
+msgstr "ascii Ê¸»ú¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%d'"
+
+#: tie-engraver.cc:91
+msgid "unequal number of note heads for tie"
+msgstr "¥¿¥¤¤ËÂбþ¤¹¤ëÉäƬ¤Î¿ô¤¬¶ÑÅù¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#: tie-engraver.cc:155 tie-performer.cc:106
+msgid "No ties were created!"
+msgstr "ºî¤é¤ì¤¿¥¿¥¤¤¬¤¢¤ê¤Þ¤»¤ó!"
+
+#: tie.cc:55
+msgid "lonely tie"
+msgstr "°ì¤Ä¤À¤±¤Î¥¿¥¤"
+
+#: time-description.cc:17
+msgid "cadenza"
+msgstr "cadenza"
+
+#: time-description.cc:106
+msgid "Partial measure must be non-negative"
+msgstr "¾®ÀáÉô¤ÏÈóÉé¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
+
+#: time-description.cc:108
+msgid "partial measure too large"
+msgstr "¾®ÀáÉô¤¬Â礭¤¹¤®¤Þ¤¹"
+
+#: time-scaled-music-iterator.cc:25
+msgid "no one to print a tuplet start bracket"
+msgstr "¥¿¥×¥ì¥Ã¥È³«»Ï¥Ö¥é¥±¥Ã¥È¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: time-signature-engraver.cc:28
+msgid "lost in time:"
+msgstr "Çï»Ò¤Ë̤¤¤Þ¤·¤¿:"
+
+#: timing-translator.cc:26
+msgid "conflicting timing request"
+msgstr "Çï»Ò¤ÎÍ׵᤬¶¥¹ç¤·¤Þ¤¹"
+
+#: timing-translator.cc:62
+msgid "time signature change not allowed here"
+msgstr "¤³¤³¤Ç¤ÏÇï»Òµ­¹æ¤òÊѹ¹¤Ç¤­¤Þ¤»¤ó"
+
+#: timing-translator.cc:83
+#, c-format
+msgid "barcheck failed at: %s"
+msgstr "¾®Àá¥Á¥§¥Ã¥¯¤¬¼ºÇÔ: %s"
+
+#: translator-ctors.cc:39
+#, c-format
+msgid "unknown translator: `%s'"
+msgstr "Ƚ¤é¤Ê¤¤¥È¥é¥ó¥¹¥ì¡¼¥¿: `%s'"
+
+#: translator-group.cc:78 translator-group.cc:91
+msgid "Program has no such type"
+msgstr "¥×¥í¥°¥é¥à¤Ë¤Ï¤½¤ÎÍͤʥ¿¥¤¥×¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: translator-group.cc:82 translator-group.cc:97
+#, c-format
+msgid "Already contains: `%s'"
+msgstr "´û¤Ë´Þ¤ó¤Ç¤¤¤Þ¤¹: `%s'"
+
+#: translator-group.cc:207
+#, c-format
+msgid "Can't find or create `%s' called `%s'"
+msgstr "`%2$s' ¤Ë¸Æ¤Ð¤ì¤¿ `%1$s' ¤¬¸«¤Ä¤«¤é¤Ê¤¤¤«ºî¤ì¤Þ¤»¤ó"
+
+#: translator-group.cc:341
+#, c-format
+msgid "Can't find or create: `%s'"
+msgstr "¸«¤Ä¤«¤é¤Ê¤¤¤«ºî¤ì¤Þ¤»¤ó: `%s'"
+
+#: transposed-music.cc:31
+msgid "Will ignore \\relative for transposed music"
+msgstr "žĴ¤µ¤ì¤¿³Ú¶Ê¤Ï \\relative ¤ò̵»ë¤·¤Þ¤¹"
+
+#: unfolded-repeat-iterator.cc:145
+msgid "no one to print a volta bracket"
+msgstr "volta ¥Ö¥é¥±¥Ã¥È¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: word-wrap.cc:75
+#, c-format
+msgid "Ugh, this measure is too long, breakpoint: %d"
+msgstr "¤¦¤°¤Ã¡¢¤³¤Î¾®Àá¤ÏŤ¹¤®¤Þ¤¹¡£¤­¤ë¾ì½ê: %d"
+
+#: word-wrap.cc:77
+msgid "Generating stupido solution"
+msgstr "Çϼ¯¤²¤¿²ò·è¤òÀ¸À®Ãæ"
+
+#: word-wrap.cc:95
+msgid "I don't fit; put me on Montignac"
+msgstr "¾å¼ê¤¯¤Ï¤Þ¤ê¤Þ¤»¤ó -- Montignac ¤Î¤È¤³¤í¤ËÃÖ¤¤¤Æ¤¯¤À¤µ¤¤"
+
+#: parser.yy:55
+#, c-format
+msgid "Oldest supported input version: %s"
+msgstr "°ìÈָŤ¤ÆþÎϲÄǽ¥Ð¡¼¥¸¥ç¥ó: %s"
+
+#: parser.yy:313
+msgid "Can't evaluate Scheme in safe mode"
+msgstr "°ÂÁ´¥â¡¼¥É¤Ç¤Ï Scheme ¤Îɾ²Á¤ò¤Ç¤­¤Þ¤»¤ó"
+
+#: parser.yy:433 parser.yy:441 parser.yy:465
+msgid "Need a translator group for a context"
+msgstr "¥³¥ó¥Æ¥­¥¹¥È¤Ë¤Ï¥È¥é¥ó¥¹¥ì¡¼¥¿¥°¥ë¡¼¥×¤¬É¬ÍפǤ¹"
+
+#: parser.yy:459
+msgid "Wrong type for property value"
+msgstr "°À­ÃͤؤΥ¿¥¤¥×¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
+
+#: parser.yy:515
+msgid "More than one music block"
+msgstr "Ê£¿ô¤Î³Ú¶Ê¥Ö¥í¥Ã¥¯"
+
+#: parser.yy:575
+msgid "Need even number of args for shape array"
+msgstr "shape ÇÛÎó¤Ø¤Î°ú¿ô¤Ï¶ö¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+#: parser.yy:723
+msgid "More alternatives than repeats.  Junking excess alternatives."
+msgstr "·«¤êÊÖ¤·¤è¤ê¤âÁªÂò»è¤¬Â¿¤¤¡£Ä¶²áʬ¤ò¼Î¤Æ¤Þ¤¹¡£"
+
+#: parser.yy:946 parser.yy:1360 parser.yy:1380
+#, c-format
+msgid "not a duration: %d"
+msgstr "²»Ä¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %d"
+
+#: parser.yy:948 parser.yy:1382
+msgid "Can't abbreviate"
+msgstr "¾Êά¤Ç¤­¤Þ¤»¤ó"
+
+#: parser.yy:1076
+msgid "Can't specify direction for this request"
+msgstr "¤³¤ÎÍ×µá¤ËÂФ¹¤ëÊý¸þ¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+#: parser.yy:1211 parser.yy:1219 parser.yy:1444
+msgid "Have to be in Lyric mode for lyrics"
+msgstr "²Î»ì¤Ï Lyric ¥â¡¼¥ÉÆâ¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤"
+
+#: parser.yy:1391
+msgid "Have to be in Note mode for notes"
+msgstr "²»Éä¤Ï Note ¥â¡¼¥ÉÆâ¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤"
+
+#: parser.yy:1403
+msgid "Can't abbreviate tuplet"
+msgstr "¥¿¥×¥ì¥Ã¥È¤ò¾Êά¤Ç¤­¤Þ¤»¤ó"
+
+#: parser.yy:1450
+msgid "Have to be in Chord mode for chords"
+msgstr "¥³¡¼¥É¤Ï Chord ¥â¡¼¥ÉÆâ¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤"
+
+#: lexer.ll:155
+msgid "EOF found inside a comment"
+msgstr "¥³¥á¥ó¥ÈÆâ¤Ë EOF ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿"
+
+#: lexer.ll:169
+msgid "\\maininput disallowed outside init files"
+msgstr "½é´ü²½¥Õ¥¡¥¤¥ë¤Î³°¤Ç¤Ï \\maininput ¤òµ­½Ò¤Ç¤­¤Þ¤»¤ó"
+
+#: lexer.ll:199
+#, c-format
+msgid "undefined identifier: `%s'"
+msgstr "̤ÄêµÁ¤Î¼±ÊÌ»Ò: `%s'"
+
+#. backup rule
+#: lexer.ll:204
+msgid "Missing end quote"
+msgstr "½ªÎ»¥¯¥ª¡¼¥È¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#. backup rule
+#: lexer.ll:227 lexer.ll:231
+msgid "white expected"
+msgstr "¶õÇò¤¬É¬ÍפǤ¹"
+
+#: lexer.ll:401
+#, c-format
+msgid "invalid character: `%c'"
+msgstr "̵¸ú¤Êʸ»ú: `%c'"
+
+#: lexer.ll:457
+#, c-format
+msgid "unknown escaped string: `\\%s'"
+msgstr "̤ÃΤΥ¨¥¹¥±¡¼¥×ʸ»úÎó: `\\%s'"
+
+#: lexer.ll:543
+#, c-format
+msgid "incorrect mudela version: %s (%s, %s)"
+msgstr "´Ö°ã¤Ã¤¿ mudela ¥Ð¡¼¥¸¥ç¥ó: %s (%s, %s)"
+
+#: out/BLURB.hh:2
+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 ¤Ï³Ú¶ÊÁÈÈÇ¥½¥Õ¥È¤Ç¤¹¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë¤Ï¥Ï¥¤¥ì¥Ù¥ë¤Êµ­½Ò¤ò»ÈÍѤǤ­¡¢\n"
+"Èþ¤·¤¤ÉèÌ̤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£LilyPond ¤Ï GNU ¥×¥í¥¸¥§¥¯¥È¤Î°ìÉô¤Ç¤¹¡£\n"
+
+#: main.cc:90
+msgid "write exact durations, e.g.: a4*385/384"
+msgstr "Àµ³Î¤Ê²»Ä¹¤ò½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£Îã: a4*385/384"
+
+#: main.cc:93
+msgid "ACC[:MINOR]"
+msgstr "ACC[:MINOR]"
+
+#: main.cc:93
+msgid "set key: ACC +sharps/-flats; :1 minor"
+msgstr "Ä´¤òÀßÄê: ACC +¥·¥ã¡¼¥×/-¥Õ¥é¥Ã¥È :1 Ã»Ä´"
+
+#: main.cc:94
+msgid "assume no tuplets or double dots, smallest is 32"
+msgstr "ÉäÅÀ¤äÊ£ÉäÅÀ¤ò¤Ê¤¯¤¹¤è¤¦»î¤ß¤Þ¤¹¡¢ºÇ¾®¤Ï 32"
+
+#: main.cc:95
+msgid "set FILE as default output"
+msgstr "¥Ç¥Õ¥©¥ë¥È½ÐÎϤȤ·¤Æ FILE ¤òÀßÄꤹ¤ë"
+
+#: main.cc:96
+msgid "assume no tuplets"
+msgstr "ÉäÅÀ¤ò̵¤¯¤¹¤è¤¦»î¤ß¤Þ¤¹"
+
+#: main.cc:97
+msgid "be quiet"
+msgstr "ÀŤ«¤Ë¤·¤Þ¤¹"
+
+#: main.cc:98
+msgid "DUR"
+msgstr "DUR"
+
+#: main.cc:98
+msgid "set smallest duration"
+msgstr "²»Ä¹¤òºÇ¾®¤ËÀßÄꤷ¤Þ¤¹"
+
+#: main.cc:101
+msgid "be verbose"
+msgstr "¾ÜºÙ¤Ê¾ðÊó¤òɽ¼¨¤·¤Þ¤¹"
+
+#: main.cc:103
+msgid "assume no double dotted notes"
+msgstr "Ê£ÉäÅÀ²»Éä¤ò̵¤¯¤¹¤è¤¦»î¤ß¤Þ¤¹"
+
+#: main.cc:110
+#, c-format
+msgid "Usage: %s [OPTION]... [FILE]"
+msgstr "»È¤¤Êý: %s [¥ª¥×¥·¥ç¥ó]... [¥Õ¥¡¥¤¥ë]"
+
+#: main.cc:112
+msgid "Translate MIDI-file to mudela"
+msgstr "MIDI ¥Õ¥¡¥¤¥ë¤ò mudela ¤ËÊÑ´¹¤·¤Þ¤¹"
+
+#: midi-parser.cc:64
+msgid "zero length string encountered"
+msgstr "Ťµ¥¼¥í¤Îʸ»úÎ󤬸½¤ï¤ì¤Þ¤·¤¿"
+
+#: midi-score-parser.cc:44
+msgid "MIDI header expected"
+msgstr "MIDI ¥Ø¥Ã¥À¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: midi-score-parser.cc:49
+msgid "invalid header length"
+msgstr "̵¸ú¤Ê¥Ø¥Ã¥ÀŤǤ¹"
+
+#: midi-score-parser.cc:52
+msgid "invalid MIDI format"
+msgstr "̵¸ú¤Ê MIDI ¥Õ¥©¡¼¥Þ¥Ã¥È"
+
+#: midi-score-parser.cc:55
+msgid "invalid number of tracks"
+msgstr "̵¸ú¤Ê¥È¥é¥Ã¥¯¿ô"
+
+#: midi-score-parser.cc:58
+msgid "Can't handle non-metrical time"
+msgstr "±¤Î§¤Ë¤Ê¤é¤Ê¤¤Çï»Ò¤Ï°·¤¨¤Þ¤»¤ó"
+
+#: midi-track-parser.cc:68
+#, c-format
+msgid "Junking note-end event: channel = %d, pitch = %d"
+msgstr "²»É佪ü¥¤¥Ù¥ó¥È¤ò¼Î¤Æ¤Þ¤¹: channel = %d, pitch = %d"
+
+#: midi-track-parser.cc:124
+msgid "invalid running status"
+msgstr "̵¸ú¤ÊÆ°ºî¾õÂÖ"
+
+#: midi-track-parser.cc:328
+msgid "unimplemented MIDI meta-event"
+msgstr "̤¼ÂÁõ¤Î MIDI ¥á¥¿¥¤¥Ù¥ó¥È"
+
+#: midi-track-parser.cc:333
+msgid "invalid MIDI event"
+msgstr "̵¸ú¤Ê MIDI ¥¤¥Ù¥ó¥È"
+
+#: midi-track-parser.cc:348
+msgid "MIDI track expected"
+msgstr "MIDI ¥È¥é¥Ã¥¯¤¬É¬ÍפǤ¹"
+
+#: midi-track-parser.cc:353
+msgid "invalid track length"
+msgstr "̵¸ú¤Ê¥È¥é¥Ã¥¯Ä¹¤Ç¤¹"
+
+#: mudela-item.cc:160
+#, c-format
+msgid "#32 in quarter: %d"
+msgstr "»Íʬ¤ÎÃæ¤Ë #32: %d"
+
+#: mudela-score.cc:108
+#, c-format
+msgid "Lily output to %s..."
+msgstr "Lily ¤Ï %s ¤Ë½ÐÎϤ·¤Þ¤¹..."
+
+#: mudela-score.cc:119
+#, c-format
+msgid "track %d:"
+msgstr "¥È¥é¥Ã¥¯ %d:"
+
+#: mudela-score.cc:155
+msgid "Processing..."
+msgstr "½èÍýÃæ..."
+
+#: mudela-score.cc:164
+msgid "Creating voices..."
+msgstr "²»À¼¤òºîÀ®Ãæ..."
+
+#: mudela-score.cc:168
+msgid "track "
+msgstr "¥È¥é¥Ã¥¯ "
+
+#: mudela-score.cc:177
+msgid "NOT Filtering tempo..."
+msgstr "¥Æ¥ó¥Ý¤Î¥Õ¥£¥ë¥¿¤ò¤·¤Þ¤»¤ó..."
+
+#: mudela-score.cc:186
+msgid "NOT Quantifying columns..."
+msgstr "¥«¥é¥à¤ÎŤµ¤òÎ̤ê¤Þ¤»¤ó..."
+
+#: mudela-score.cc:190
+msgid "Quantifying columns..."
+msgstr "¥«¥é¥à¤ÎŤµ¤òÎ̤ê¤Þ¤¹..."
+
+#: mudela-score.cc:223
+msgid "Settling columns..."
+msgstr "¥«¥é¥à¤ò·èÄꤷ¤Þ¤¹..."
+
+#: mudela-staff.cc:177
+msgid "% MIDI copyright:"
+msgstr "% MIDI copyright:"
+
+#: mudela-staff.cc:178
+msgid "% MIDI instrument:"
+msgstr "% MIDI instrument:"
+
+#: mudela-stream.cc:37
+#, c-format
+msgid "lily indent level: %d"
+msgstr "lily indent level: %d"
+
+#. Maybe better not to translate these?
+#: mudela-stream.cc:76
+msgid "% Creator: "
+msgstr "%s Creator: "
+
+#: mudela-stream.cc:81
+msgid "% Automatically generated"
+msgstr "% Automatically generated"
+
+#: mudela-stream.cc:90
+#, c-format
+msgid "% from input file: "
+msgstr "% from input file: "