ardour
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libs
evoral
src
midi_util.cpp
Go to the documentation of this file.
1
/* This file is part of Evoral.
2
* Copyright (C) 2008 David Robillard <http://drobilla.net>
3
* Copyright (C) 2009 Paul Davis
4
*
5
* Evoral is free software; you can redistribute it and/or modify it under the
6
* terms of the GNU General Public License as published by the Free Software
7
* Foundation; either version 2 of the License, or (at your option) any later
8
* version.
9
*
10
* Evoral is distributed in the hope that it will be useful, but WITHOUT ANY
11
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with this program; if not, write to the Free Software Foundation, Inc.,
16
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#include "
evoral/midi_util.h
"
20
#include <cstdio>
21
22
namespace
Evoral
{
23
24
std::string
25
midi_note_name
(uint8_t val)
26
{
27
if
(val > 127) {
28
return
"???"
;
29
}
30
31
static
const
char
* notes[] = {
32
"C"
,
33
"C#"
,
34
"D"
,
35
"D#"
,
36
"E"
,
37
"F"
,
38
"F#"
,
39
"G"
,
40
"G#"
,
41
"A"
,
42
"A#"
,
43
"B"
44
};
45
46
/* MIDI note 0 is in octave -1 (in scientific pitch notation) */
47
int
octave = val / 12 - 1;
48
static
char
buf[8];
49
50
val = val % 12;
51
52
snprintf (buf,
sizeof
(buf),
"%s%d"
, notes[val], octave);
53
return
buf;
54
}
55
56
}
Evoral::midi_note_name
LIBEVORAL_API std::string midi_note_name(uint8_t noteval)
Definition:
midi_util.cpp:25
Evoral
Definition:
midi_playlist.h:37
midi_util.h
Generated on Sun May 24 2015 12:15:08 for ardour by
1.8.8