push2: start of pad layout editing
[ardour.git] / libs / surfaces / push2 / mode.h
1 #ifndef __ardour_push2_mode_h__
2 #define __ardour_push2_mode_h__
3
4 #include <vector>
5
6 class MusicalMode
7 {
8   public:
9         enum Type {
10                 Random,
11                 Dorian,
12                 Ionian,
13                 Phrygian,
14                 Lydian,
15                 Mixolydian,
16                 Aeolian,
17                 Locrian,
18                 PentatonicMajor,
19                 PentatonicMinor,
20                 MajorChord,
21                 MinorChord,
22                 Min7,
23                 Sus4,
24                 Chromatic,
25                 BluesScale,
26                 NeapolitanMinor,
27                 NeapolitanMajor,
28                 Oriental,
29                 DoubleHarmonic,
30                 Enigmatic,
31                 Hirajoshi,
32                 HungarianMinor,
33                 HungarianMajor,
34                 Kumoi,
35                 Iwato,
36                 Hindu,
37                 Spanish8Tone,
38                 Pelog,
39                 HungarianGypsy,
40                 Overtone,
41                 LeadingWholeTone,
42                 Arabian,
43                 Balinese,
44                 Gypsy,
45                 Mohammedan,
46                 Javanese,
47                 Persian,
48                 Algerian
49         };
50
51         MusicalMode (Type t);
52         ~MusicalMode ();
53
54         std::vector<float> steps;
55
56   private:
57         static void fill (MusicalMode&, Type);
58 };
59
60 #endif /* __ardour_push2_mode_h__ */