Line data Source code
1 : #include "gpdrumsetresolver.h"
2 :
3 : #include "log.h"
4 :
5 : namespace mu::iex::guitarpro {
6 221 : void GPDrumSetResolver::initGPDrum()
7 : {
8 221 : addDrum(GPDrum(35, 0, 0));
9 221 : addDrum(GPDrum(36, 0, 0));
10 221 : addDrum(GPDrum(36, 6, 1));
11 221 : addDrum(GPDrum(37, 1, 2));
12 221 : addDrum(GPDrum(38, 1, 0));
13 221 : addDrum(GPDrum(42, 10, 0));
14 221 : addDrum(GPDrum(43, 5, 0));
15 221 : addDrum(GPDrum(44, 11, 0));
16 221 : addDrum(GPDrum(45, 6, 0));
17 221 : addDrum(GPDrum(46, 10, 2));
18 221 : addDrum(GPDrum(47, 7, 0));
19 221 : addDrum(GPDrum(48, 8, 0));
20 221 : addDrum(GPDrum(49, 13, 0));
21 221 : addDrum(GPDrum(50, 9, 0));
22 221 : addDrum(GPDrum(51, 15, 0));
23 221 : addDrum(GPDrum(52, 16, 0));
24 221 : addDrum(GPDrum(53, 15, 2));
25 221 : addDrum(GPDrum(55, 14, 0));
26 221 : addDrum(GPDrum(56, 3, 0));
27 221 : addDrum(GPDrum(57, 12, 0));
28 221 : addDrum(GPDrum(91, 1, 1));
29 221 : addDrum(GPDrum(92, 10, 1));
30 221 : addDrum(GPDrum(93, 15, 1));
31 221 : addDrum(GPDrum(99, 2, 0));
32 221 : addDrum(GPDrum(102, 4, 0));
33 :
34 221 : addDrum(GPDrum(0, 0, 0, u"rvs-cymb"));
35 :
36 221 : addDrum(GPDrum(37, 0, 0, u"snr"));
37 221 : addDrum(GPDrum(38, 1, 0, u"snr"));
38 :
39 221 : addDrum(GPDrum(39, 0, 0, u"hclap"));
40 :
41 221 : addDrum(GPDrum(87, 2, 1, u"latinoKit"));
42 221 : addDrum(GPDrum(54, 3, 0, u"latinoKit"));
43 221 : addDrum(GPDrum(54, 3, 1, u"latinoKit"));
44 221 : addDrum(GPDrum(112, 3, 3, u"latinoKit"));
45 :
46 221 : addDrum(GPDrum(58, 0, 0, u"vbrslp"));
47 :
48 221 : addDrum(GPDrum(67, 0, 0, u"agogoKit"));
49 221 : addDrum(GPDrum(68, 1, 0, u"agogoKit"));
50 :
51 221 : addDrum(GPDrum(63, 4, 0, u"africaKit"));
52 221 : addDrum(GPDrum(73, 2, 0, u"africaKit"));
53 221 : addDrum(GPDrum(74, 2, 2, u"africaKit"));
54 221 : addDrum(GPDrum(109, 3, 2, u"africaKit"));
55 221 : addDrum(GPDrum(110, 4, 1, u"africaKit"));
56 :
57 221 : addDrum(GPDrum(62, 1, 2, u"cngKit"));
58 221 : addDrum(GPDrum(63, 1, 0, u"cngKit"));
59 221 : addDrum(GPDrum(64, 0, 0, u"cngKit"));
60 :
61 221 : addDrum(GPDrum(65, 0, 0, u"snthdrm"));
62 :
63 221 : addDrum(GPDrum(65, 1, 0, u"tmblKit"));
64 221 : addDrum(GPDrum(66, 0, 0, u"tmblKit"));
65 :
66 221 : addDrum(GPDrum(65, 0, 0, u"mldctm"));
67 :
68 221 : addDrum(GPDrum(66, 0, 0, u"taiko"));
69 :
70 221 : addDrum(GPDrum(69, 0, 0, u"cbs"));
71 221 : addDrum(GPDrum(69, 0, 1, u"cbs"));
72 221 : addDrum(GPDrum(117, 0, 2, u"cbs"));
73 :
74 221 : addDrum(GPDrum(70, 0, 0, u"mrcs"));
75 :
76 221 : addDrum(GPDrum(71, 0, 0, u"whstlKit"));
77 221 : addDrum(GPDrum(72, 1, 0, u"whstlKit"));
78 :
79 221 : addDrum(GPDrum(73, 0, 0, u"guiro"));
80 221 : addDrum(GPDrum(73, 0, 1, u"guiro"));
81 221 : addDrum(GPDrum(74, 0, 2, u"guiro"));
82 :
83 221 : addDrum(GPDrum(75, 0, 0, u"clvs"));
84 221 : addDrum(GPDrum(75, 5, 0, u"clvs"));
85 :
86 221 : addDrum(GPDrum(76, 0, 0, u"wdblckKit"));
87 221 : addDrum(GPDrum(77, 1, 0, u"wdblckKit"));
88 :
89 221 : addDrum(GPDrum(78, 0, 0, u"cuicaKit"));
90 221 : addDrum(GPDrum(79, 1, 0, u"cuicaKit"));
91 :
92 221 : addDrum(GPDrum(80, 0, 1, u"trngl"));
93 221 : addDrum(GPDrum(81, 0, 0, u"trngl"));
94 :
95 221 : addDrum(GPDrum(82, 0, 0, u"shkr"));
96 221 : addDrum(GPDrum(82, 0, 1, u"shkr"));
97 :
98 221 : addDrum(GPDrum(83, 0, 0, u"jngl-bell"));
99 :
100 221 : addDrum(GPDrum(84, 0, 0, u"bell-tree"));
101 221 : addDrum(GPDrum(123, 0, 2, u"bell-tree"));
102 :
103 221 : addDrum(GPDrum(85, 0, 0, u"cstnt"));
104 :
105 221 : addDrum(GPDrum(86, 0, 1, u"surdo"));
106 221 : addDrum(GPDrum(86, 0, 0, u"surdo"));
107 :
108 221 : addDrum(GPDrum(102, 0, 0, u"cowbell"));
109 :
110 221 : addDrum(GPDrum(51, 0, 0, u"sambaKit"));
111 221 : addDrum(GPDrum(93, 0, 1, u"sambaKit"));
112 221 : addDrum(GPDrum(53, 0, 2, u"sambaKit"));
113 221 : addDrum(GPDrum(102, 1, 0, u"sambaKit"));
114 221 : addDrum(GPDrum(56, 2, 0, u"sambaKit"));
115 221 : addDrum(GPDrum(99, 3, 0, u"sambaKit"));
116 221 : addDrum(GPDrum(99, 3, 0, u"sambaKit"));
117 221 : addDrum(GPDrum(77, 4, 0, u"sambaKit"));
118 221 : addDrum(GPDrum(76, 5, 0, u"sambaKit"));
119 221 : addDrum(GPDrum(66, 6, 0, u"sambaKit"));
120 221 : addDrum(GPDrum(65, 7, 0, u"sambaKit"));
121 :
122 221 : addDrum(GPDrum(61, 0, 0, u"bngKit"));
123 221 : addDrum(GPDrum(106, 0, 2, u"bngKit"));
124 221 : addDrum(GPDrum(107, 0, 1, u"bngKit"));
125 221 : addDrum(GPDrum(60, 1, 0, u"bngKit"));
126 221 : addDrum(GPDrum(104, 1, 2, u"bngKit"));
127 221 : addDrum(GPDrum(105, 1, 1, u"bngKit"));
128 221 : addDrum(GPDrum(108, 2, 1, u"bngKit"));
129 221 : addDrum(GPDrum(64, 2, 0, u"bngKit"));
130 221 : addDrum(GPDrum(109, 2, 2, u"bngKit"));
131 221 : addDrum(GPDrum(63, 3, 0, u"bngKit"));
132 221 : addDrum(GPDrum(110, 3, 1, u"bngKit"));
133 221 : addDrum(GPDrum(62, 3, 2, u"bngKit"));
134 :
135 221 : addDrum(GPDrum(61, 0, 0, u"conbon"));
136 221 : addDrum(GPDrum(106, 0, 2, u"conbon"));
137 221 : addDrum(GPDrum(107, 0, 1, u"conbon"));
138 221 : addDrum(GPDrum(60, 1, 0, u"conbon"));
139 221 : addDrum(GPDrum(104, 1, 2, u"conbon"));
140 221 : addDrum(GPDrum(105, 1, 1, u"conbon"));
141 221 : addDrum(GPDrum(108, 2, 1, u"conbon"));
142 221 : addDrum(GPDrum(64, 2, 0, u"conbon"));
143 221 : addDrum(GPDrum(109, 2, 2, u"conbon"));
144 221 : addDrum(GPDrum(63, 3, 0, u"conbon"));
145 221 : addDrum(GPDrum(110, 3, 1, u"conbon"));
146 221 : addDrum(GPDrum(62, 3, 2, u"conbon"));
147 :
148 221 : addDrum(GPDrum(108, 0, 1, u"cngKit"));
149 221 : addDrum(GPDrum(109, 0, 2, u"cngKit"));
150 221 : addDrum(GPDrum(110, 1, 1, u"cngKit"));
151 221 : addDrum(GPDrum(111, 0, 2, u"tmbrn"));
152 221 : addDrum(GPDrum(112, 0, 3, u"tmbrn"));
153 :
154 221 : addDrum(GPDrum(113, 0, 4, u"tmbrn"));
155 221 : addDrum(GPDrum(54, 0, 0, u"tmbrn"));
156 :
157 221 : addDrum(GPDrum(114, 0, 0, u"ptt"));
158 221 : addDrum(GPDrum(115, 0, 0, u"grcss"));
159 221 : addDrum(GPDrum(118, 0, 2, u"mrcs"));
160 :
161 221 : addDrum(GPDrum(119, 0, 0, u"2Mrcs"));
162 221 : addDrum(GPDrum(122, 0, 2, u"shkr"));
163 221 : }
164 :
165 0 : int32_t GPDrumSetResolver::pitch(int32_t element,
166 : int32_t variation,
167 : const muse::String& name) const
168 : {
169 0 : if (_drum.find(name) == _drum.end()) {
170 0 : return 0;
171 : }
172 :
173 0 : for (const auto& drum : _drum.at(name)) {
174 0 : if (drum._name.contains(name)) {
175 0 : if (drum.element == element && drum.variation == variation) {
176 0 : return drum.pitch;
177 : }
178 : }
179 : }
180 :
181 0 : LOGD() << "Absent drum " << "element: " << element << " variation: " << variation << " name: " << name << " key: " << 0;
182 :
183 0 : return 0;
184 : }
185 :
186 26962 : void GPDrumSetResolver::addDrum(const GPDrum& drum)
187 : {
188 26962 : _drum[drum._name].push_back(drum);
189 26962 : }
190 : } // namespace mu::iex::guitarpro
|