X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=pitch.h;h=525f14c8ae5038426bfe97c0c879ee8c67a3d637;hb=659845dcf5781c10a2b292f0b7f6fe372874ff8a;hp=13c29057bf5d25272d438e427d5c0f2c3ca4223d;hpb=41e993a65ab55db1f3297003fe65dd556a15f85f;p=scherzo diff --git a/pitch.h b/pitch.h index 13c2905..525f14c 100644 --- a/pitch.h +++ b/pitch.h @@ -18,6 +18,11 @@ * along with this program. If not, see http://www.gnu.org/licenses/ . */ +#include + +#ifndef PITCH_H +#define PITCH_H + #define PITCH_ACCIDENTAL_MASK 0x07 #define PITCH_ACCIDENTAL_SHIFT 0 @@ -51,48 +56,8 @@ typedef enum pitch_name #define PITCH(name, accidental) (((name) << PITCH_NAME_SHIFT) | (accidental)) #define PITCH_LITERAL(literal_name, literal_accidental) PITCH(PITCH_NAME_##literal_name, PITCH_ACCIDENTAL_##literal_accidental) +#define PITCH_NATURAL(literal_name) PITCH_LITERAL(literal_name, NATURAL) -typedef enum pitch -{ - PITCH_Cff = PITCH_LITERAL (C, DOUBLE_FLAT), - PITCH_Cf = PITCH_LITERAL (C, FLAT), - PITCH_C = PITCH_LITERAL (C, NATURAL), - PITCH_Cs = PITCH_LITERAL (C, SHARP), - PITCH_Css = PITCH_LITERAL (C, DOUBLE_SHARP), - - PITCH_Dff = PITCH_LITERAL (D, DOUBLE_FLAT), - PITCH_Df = PITCH_LITERAL (D, FLAT), - PITCH_D = PITCH_LITERAL (D, NATURAL), - PITCH_Ds = PITCH_LITERAL (D, SHARP), - PITCH_Dss = PITCH_LITERAL (D, DOUBLE_SHARP), - - PITCH_Eff = PITCH_LITERAL (E, DOUBLE_FLAT), - PITCH_Ef = PITCH_LITERAL (E, FLAT), - PITCH_E = PITCH_LITERAL (E, NATURAL), - PITCH_Es = PITCH_LITERAL (E, SHARP), - PITCH_Ess = PITCH_LITERAL (E, DOUBLE_SHARP), - - PITCH_Fff = PITCH_LITERAL (F, DOUBLE_FLAT), - PITCH_Ff = PITCH_LITERAL (F, FLAT), - PITCH_F = PITCH_LITERAL (F, NATURAL), - PITCH_Fs = PITCH_LITERAL (F, SHARP), - PITCH_Fss = PITCH_LITERAL (F, DOUBLE_SHARP), - - PITCH_Gff = PITCH_LITERAL (G, DOUBLE_FLAT), - PITCH_Gf = PITCH_LITERAL (G, FLAT), - PITCH_G = PITCH_LITERAL (G, NATURAL), - PITCH_Gs = PITCH_LITERAL (G, SHARP), - PITCH_Gss = PITCH_LITERAL (G, DOUBLE_SHARP), - - PITCH_Aff = PITCH_LITERAL (A, DOUBLE_FLAT), - PITCH_Af = PITCH_LITERAL (A, FLAT), - PITCH_A = PITCH_LITERAL (A, NATURAL), - PITCH_As = PITCH_LITERAL (A, SHARP), - PITCH_Ass = PITCH_LITERAL (A, DOUBLE_SHARP), +typedef uint32_t pitch_t; - PITCH_Bff = PITCH_LITERAL (B, DOUBLE_FLAT), - PITCH_Bf = PITCH_LITERAL (B, FLAT), - PITCH_B = PITCH_LITERAL (B, NATURAL), - PITCH_Bs = PITCH_LITERAL (B, SHARP), - PITCH_Bss = PITCH_LITERAL (B, DOUBLE_SHARP) -} pitch_t; +#endif /* PITCH_H */