add skeleton for i18n support
[ardour.git] / libs / evoral / src / midi_util.cpp
index 5f088cb925c86f5a31a8ccfdcee7293e21098154..be7010ce6e0ccf1e0417b10cdb7690cc420284ec 100644 (file)
@@ -1,16 +1,16 @@
 /* This file is part of Evoral.
- * Copyright (C) 2008 Dave Robillard <http://drobilla.net>
+ * Copyright (C) 2008 David Robillard <http://drobilla.net>
  * Copyright (C) 2009 Paul Davis
- * 
+ *
  * Evoral is free software; you can redistribute it and/or modify it under the
  * terms of the GNU General Public License as published by the Free Software
  * Foundation; either version 2 of the License, or (at your option) any later
  * version.
- * 
+ *
  * Evoral is distributed in the hope that it will be useful, but WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for details.
- * 
+ *
  * You should have received a copy of the GNU General Public License along
  * with this program; if not, write to the Free Software Foundation, Inc.,
  * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
@@ -29,24 +29,25 @@ midi_note_name (uint8_t val)
        }
 
        static const char* notes[] = {
-               "c",
-               "c#",
-               "d",
-               "d#",
-               "e",
-               "f",
-               "f#",
-               "g",
-               "a",
-               "a#",
-               "b",
-               "b#"
+               "C",
+               "C#",
+               "D",
+               "D#",
+               "E",
+               "F",
+               "F#",
+               "G",
+               "G#",
+               "A",
+               "A#",
+               "B"
        };
 
-       int octave = val/12;
+       /* MIDI note 0 is in octave -1 (in scientific pitch notation) */
+       int octave = val / 12 - 1;
        static char buf[8];
-       
-       val -= octave*12;
+
+       val = val % 12;
 
        snprintf (buf, sizeof (buf), "%s%d", notes[val], octave);
        return buf;