Line data Source code
1 : /*
2 : * SPDX-License-Identifier: GPL-3.0-only
3 : * MuseScore-Studio-CLA-applies
4 : *
5 : * MuseScore Studio
6 : * Music Composition & Notation
7 : *
8 : * Copyright (C) 2021 MuseScore Limited and others
9 : *
10 : * This program is free software: you can redistribute it and/or modify
11 : * it under the terms of the GNU General Public License version 3 as
12 : * published by the Free Software Foundation.
13 : *
14 : * This program is distributed in the hope that it will be useful,
15 : * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 : * GNU General Public License for more details.
18 : *
19 : * You should have received a copy of the GNU General Public License
20 : * along with this program. If not, see <https://www.gnu.org/licenses/>.
21 : */
22 :
23 : #include "guitarprodrumset.h"
24 : #include "engraving/dom/drumset.h"
25 : #include "engraving/dom/instrument.h"
26 : #include "engraving/types/typesconv.h"
27 :
28 : namespace mu::iex::guitarpro::drumset {
29 : //---------------------------------------------------------
30 : // initGuitarProDrumset
31 : //---------------------------------------------------------
32 :
33 80 : void initGuitarProDrumset()
34 : {
35 : using namespace mu::engraving;
36 :
37 80 : if (!gpDrumset) {
38 1 : gpDrumset = new Drumset();
39 129 : for (int i = 0; i < DRUM_INSTRUMENTS; ++i) {
40 128 : gpDrumset->drum(i).name.clear();
41 128 : gpDrumset->drum(i).notehead = NoteHeadGroup::HEAD_INVALID;
42 128 : gpDrumset->drum(i).line = 0;
43 128 : gpDrumset->drum(i).shortcut.clear();
44 128 : gpDrumset->drum(i).voice = 0;
45 128 : gpDrumset->drum(i).stemDirection = DirectionV::UP;
46 128 : gpDrumset->drum(i).panelRow = -1;
47 128 : gpDrumset->drum(i).panelColumn = -1;
48 : }
49 : // new drumset determined via guitar pro (third argument specifies position on staff, 10 = C3, 9 = D3, 8 = E3,...)
50 :
51 1 : gpDrumset->drum(27) = DrumInstrument(TConv::userName(DrumNum(27)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
52 1 : gpDrumset->drum(28) = DrumInstrument(TConv::userName(DrumNum(28)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
53 1 : gpDrumset->drum(29) = DrumInstrument(TConv::userName(DrumNum(29)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
54 :
55 1 : gpDrumset->drum(30) = DrumInstrument(TConv::userName(DrumNum(30)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
56 1 : gpDrumset->drum(31) = DrumInstrument(TConv::userName(DrumNum(31)), NoteHeadGroup::HEAD_CROSS, 3, DirectionV::UP);
57 1 : gpDrumset->drum(32) = DrumInstrument(TConv::userName(DrumNum(32)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
58 1 : gpDrumset->drum(33) = DrumInstrument(TConv::userName(DrumNum(33)), NoteHeadGroup::HEAD_CROSS, 3, DirectionV::UP);
59 1 : gpDrumset->drum(34) = DrumInstrument(TConv::userName(DrumNum(34)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
60 1 : gpDrumset->drum(35) = DrumInstrument(TConv::userName(DrumNum(35)), NoteHeadGroup::HEAD_NORMAL, 8, DirectionV::UP);
61 1 : gpDrumset->drum(36) = DrumInstrument(TConv::userName(DrumNum(36)), NoteHeadGroup::HEAD_NORMAL, 7, DirectionV::UP);
62 1 : gpDrumset->drum(37) = DrumInstrument(TConv::userName(DrumNum(37)), NoteHeadGroup::HEAD_CROSS, 3, DirectionV::UP);
63 1 : gpDrumset->drum(38) = DrumInstrument(TConv::userName(DrumNum(38)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
64 1 : gpDrumset->drum(39) = DrumInstrument(TConv::userName(DrumNum(39)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
65 :
66 1 : gpDrumset->drum(40) = DrumInstrument(TConv::userName(DrumNum(40)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
67 1 : gpDrumset->drum(41) = DrumInstrument(TConv::userName(DrumNum(41)), NoteHeadGroup::HEAD_NORMAL, 6, DirectionV::UP);
68 1 : gpDrumset->drum(42) = DrumInstrument(TConv::userName(DrumNum(42)), NoteHeadGroup::HEAD_CROSS, -1, DirectionV::UP);
69 1 : gpDrumset->drum(43) = DrumInstrument(TConv::userName(DrumNum(43)), NoteHeadGroup::HEAD_NORMAL, 6, DirectionV::UP);
70 1 : gpDrumset->drum(44) = DrumInstrument(TConv::userName(DrumNum(44)), NoteHeadGroup::HEAD_CROSS, 9, DirectionV::UP);
71 1 : gpDrumset->drum(45) = DrumInstrument(TConv::userName(DrumNum(45)), NoteHeadGroup::HEAD_NORMAL, 5, DirectionV::UP);
72 1 : gpDrumset->drum(46) = DrumInstrument(TConv::userName(DrumNum(46)), NoteHeadGroup::HEAD_XCIRCLE, -1, DirectionV::UP);
73 1 : gpDrumset->drum(47) = DrumInstrument(TConv::userName(DrumNum(47)), NoteHeadGroup::HEAD_NORMAL, 4, DirectionV::UP);
74 1 : gpDrumset->drum(48) = DrumInstrument(TConv::userName(DrumNum(48)), NoteHeadGroup::HEAD_NORMAL, 2, DirectionV::UP);
75 1 : gpDrumset->drum(49) = DrumInstrument(TConv::userName(DrumNum(49)), NoteHeadGroup::HEAD_CROSS, -2, DirectionV::UP);
76 :
77 1 : gpDrumset->drum(50) = DrumInstrument(TConv::userName(DrumNum(50)), NoteHeadGroup::HEAD_NORMAL, 1, DirectionV::UP);
78 1 : gpDrumset->drum(51) = DrumInstrument(TConv::userName(DrumNum(51)), NoteHeadGroup::HEAD_CROSS, 0, DirectionV::UP);
79 1 : gpDrumset->drum(52) = DrumInstrument(TConv::userName(DrumNum(52)), NoteHeadGroup::HEAD_HEAVY_CROSS_HAT, -3, DirectionV::UP);
80 1 : gpDrumset->drum(53) = DrumInstrument(TConv::userName(DrumNum(53)), NoteHeadGroup::HEAD_DIAMOND, 0, DirectionV::UP);
81 1 : gpDrumset->drum(54) = DrumInstrument(TConv::userName(DrumNum(54)), NoteHeadGroup::HEAD_CROSS, 2, DirectionV::UP);
82 1 : gpDrumset->drum(55) = DrumInstrument(TConv::userName(DrumNum(55)), NoteHeadGroup::HEAD_CROSS, -2, DirectionV::UP);
83 1 : gpDrumset->drum(56) = DrumInstrument(TConv::userName(DrumNum(56)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::UP);
84 1 : gpDrumset->drum(57) = DrumInstrument(TConv::userName(DrumNum(57)), NoteHeadGroup::HEAD_CROSS, -3, DirectionV::UP);
85 1 : gpDrumset->drum(58) = DrumInstrument(TConv::userName(DrumNum(58)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
86 1 : gpDrumset->drum(59) = DrumInstrument(TConv::userName(DrumNum(59)), NoteHeadGroup::HEAD_CROSS, 2, DirectionV::UP);
87 :
88 1 : gpDrumset->drum(60) = DrumInstrument(TConv::userName(DrumNum(60)), NoteHeadGroup::HEAD_NORMAL, 8, DirectionV::UP);
89 1 : gpDrumset->drum(61) = DrumInstrument(TConv::userName(DrumNum(61)), NoteHeadGroup::HEAD_NORMAL, 9, DirectionV::UP);
90 1 : gpDrumset->drum(62) = DrumInstrument(TConv::userName(DrumNum(62)), NoteHeadGroup::HEAD_CROSS, 5, DirectionV::UP);
91 1 : gpDrumset->drum(63) = DrumInstrument(TConv::userName(DrumNum(63)), NoteHeadGroup::HEAD_CROSS, 4, DirectionV::UP);
92 1 : gpDrumset->drum(64) = DrumInstrument(TConv::userName(DrumNum(64)), NoteHeadGroup::HEAD_CROSS, 6, DirectionV::UP);
93 1 : gpDrumset->drum(65) = DrumInstrument(TConv::userName(DrumNum(65)), NoteHeadGroup::HEAD_CROSS, 8, DirectionV::UP);
94 1 : gpDrumset->drum(66) = DrumInstrument(TConv::userName(DrumNum(66)), NoteHeadGroup::HEAD_CROSS, 9, DirectionV::UP);
95 1 : gpDrumset->drum(67) = DrumInstrument(TConv::userName(DrumNum(67)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
96 1 : gpDrumset->drum(68) = DrumInstrument(TConv::userName(DrumNum(68)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
97 1 : gpDrumset->drum(69) = DrumInstrument(TConv::userName(DrumNum(69)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
98 :
99 1 : gpDrumset->drum(70) = DrumInstrument(TConv::userName(DrumNum(70)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
100 1 : gpDrumset->drum(71) = DrumInstrument(TConv::userName(DrumNum(71)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
101 1 : gpDrumset->drum(72) = DrumInstrument(TConv::userName(DrumNum(72)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
102 1 : gpDrumset->drum(73) = DrumInstrument(TConv::userName(DrumNum(73)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
103 1 : gpDrumset->drum(74) = DrumInstrument(TConv::userName(DrumNum(74)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
104 1 : gpDrumset->drum(75) = DrumInstrument(TConv::userName(DrumNum(75)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
105 1 : gpDrumset->drum(76) = DrumInstrument(TConv::userName(DrumNum(76)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
106 1 : gpDrumset->drum(77) = DrumInstrument(TConv::userName(DrumNum(77)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
107 1 : gpDrumset->drum(78) = DrumInstrument(TConv::userName(DrumNum(78)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
108 1 : gpDrumset->drum(79) = DrumInstrument(TConv::userName(DrumNum(79)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
109 :
110 1 : gpDrumset->drum(80) = DrumInstrument(TConv::userName(DrumNum(80)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
111 1 : gpDrumset->drum(81) = DrumInstrument(TConv::userName(DrumNum(81)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
112 1 : gpDrumset->drum(82) = DrumInstrument(TConv::userName(DrumNum(82)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
113 1 : gpDrumset->drum(83) = DrumInstrument(TConv::userName(DrumNum(83)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
114 1 : gpDrumset->drum(84) = DrumInstrument(TConv::userName(DrumNum(84)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
115 1 : gpDrumset->drum(85) = DrumInstrument(TConv::userName(DrumNum(85)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
116 1 : gpDrumset->drum(86) = DrumInstrument(TConv::userName(DrumNum(86)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
117 1 : gpDrumset->drum(87) = DrumInstrument(TConv::userName(DrumNum(87)), NoteHeadGroup::HEAD_NORMAL, 3, DirectionV::UP);
118 :
119 1 : gpDrumset->drum(91) = DrumInstrument(TConv::userName(DrumNum(91)), NoteHeadGroup::HEAD_DIAMOND, 3, DirectionV::UP);
120 1 : gpDrumset->drum(92) = DrumInstrument(TConv::userName(DrumNum(46)), NoteHeadGroup::HEAD_CROSS, -1, DirectionV::UP);
121 1 : gpDrumset->drum(93) = DrumInstrument(TConv::userName(DrumNum(93)), NoteHeadGroup::HEAD_CROSS, 0, DirectionV::UP);
122 :
123 : //Additional clutch presets (midi by default can't play this)
124 1 : gpDrumset->drum(99) = DrumInstrument(TConv::userName(DrumNum(99)), NoteHeadGroup::HEAD_TRIANGLE_UP, 1, DirectionV::UP);
125 1 : gpDrumset->drum(102)= DrumInstrument(TConv::userName(DrumNum(102)), NoteHeadGroup::HEAD_TRIANGLE_UP, -1, DirectionV::UP);
126 : }
127 80 : }
128 :
129 0 : void initGuitarProPercussionSet(const GpDrumSet& ds)
130 : {
131 : using namespace mu::engraving;
132 0 : switch (ds.idx) {
133 0 : case DrumSetType::DRUMS:
134 0 : break;
135 0 : case DrumSetType::AGOGO:
136 0 : if (!gpAgogoSet) {
137 0 : gpAgogoSet = new Drumset;
138 0 : gpAgogoSet->drum(67) = DrumInstrument(TConv::userName(DrumNum(67)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
139 0 : gpAgogoSet->drum(68) = DrumInstrument(TConv::userName(DrumNum(68)), NoteHeadGroup::HEAD_NORMAL, 2, DirectionV::UP);
140 : }
141 0 : break;
142 0 : case DrumSetType::HAND_CLAP:
143 0 : if (!gpHandClapSet) {
144 0 : gpHandClapSet = new Drumset;
145 0 : gpHandClapSet->drum(39) = DrumInstrument(TConv::userName(DrumNum(39)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
146 : }
147 0 : break;
148 0 : case DrumSetType::TAMBOURINE:
149 0 : if (!gpTambourineSet) {
150 0 : gpTambourineSet = new Drumset;
151 0 : gpTambourineSet->drum(54) = DrumInstrument(TConv::userName(DrumNum(54)), NoteHeadGroup::HEAD_TRIANGLE_UP, 0, DirectionV::DOWN);
152 : }
153 0 : break;
154 0 : case DrumSetType::COWBELL:
155 0 : if (!gpCowbellSet) {
156 0 : gpCowbellSet = new Drumset;
157 0 : gpCowbellSet->drum(56) = DrumInstrument(TConv::userName(DrumNum(56)), NoteHeadGroup::HEAD_TRIANGLE_UP, 2, DirectionV::DOWN);
158 0 : gpCowbellSet->drum(99) = DrumInstrument(TConv::userName(DrumNum(99)), NoteHeadGroup::HEAD_TRIANGLE_UP, 4, DirectionV::UP);
159 0 : gpCowbellSet->drum(102) = DrumInstrument(TConv::userName(DrumNum(102)), NoteHeadGroup::HEAD_TRIANGLE_UP, 0, DirectionV::DOWN);
160 : }
161 0 : break;
162 0 : case DrumSetType::VIBRASLAP:
163 0 : if (!gpVibraslapSet) {
164 0 : gpVibraslapSet = new Drumset;
165 0 : gpVibraslapSet->drum(58) = DrumInstrument(TConv::userName(DrumNum(58)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
166 : }
167 0 : break;
168 0 : case DrumSetType::BONGOS:
169 0 : if (!gpBongosSet) {
170 0 : gpBongosSet = new Drumset;
171 0 : gpBongosSet->drum(60) = DrumInstrument(TConv::userName(DrumNum(60)), NoteHeadGroup::HEAD_NORMAL, 2, DirectionV::UP);
172 0 : gpBongosSet->drum(61) = DrumInstrument(TConv::userName(DrumNum(61)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
173 : }
174 0 : break;
175 0 : case DrumSetType::CONGAS:
176 0 : if (!gpCongasSet) {
177 0 : gpCongasSet = new Drumset;
178 0 : gpCongasSet->drum(62) = DrumInstrument(TConv::userName(DrumNum(62)), NoteHeadGroup::HEAD_CROSS, 0, DirectionV::DOWN);
179 0 : gpCongasSet->drum(63) = DrumInstrument(TConv::userName(DrumNum(63)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
180 0 : gpCongasSet->drum(64) = DrumInstrument(TConv::userName(DrumNum(64)), NoteHeadGroup::HEAD_NORMAL, 2, DirectionV::UP);
181 : }
182 0 : break;
183 0 : case DrumSetType::TIMBALE:
184 0 : if (!gpTimbalesSet) {
185 0 : gpTimbalesSet = new Drumset;
186 0 : gpTimbalesSet->drum(65) = DrumInstrument(TConv::userName(DrumNum(65)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
187 0 : gpTimbalesSet->drum(66) = DrumInstrument(TConv::userName(DrumNum(66)), NoteHeadGroup::HEAD_NORMAL, 2, DirectionV::UP);
188 : }
189 0 : break;
190 0 : case DrumSetType::CABASA:
191 0 : if (!gpCabasaSet) {
192 0 : gpCabasaSet = new Drumset;
193 0 : gpCabasaSet->drum(69) = DrumInstrument(TConv::userName(DrumNum(69)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
194 : }
195 0 : break;
196 0 : case DrumSetType::MARACAS:
197 0 : if (!gpMaracasSet) {
198 0 : gpMaracasSet = new Drumset;
199 0 : gpMaracasSet->drum(70) = DrumInstrument(TConv::userName(DrumNum(70)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
200 : }
201 0 : break;
202 0 : case DrumSetType::WHISTLE:
203 0 : if (!gpWhistleSet) {
204 0 : gpWhistleSet = new Drumset;
205 0 : gpWhistleSet->drum(71) = DrumInstrument(TConv::userName(DrumNum(71)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
206 0 : gpWhistleSet->drum(72) = DrumInstrument(TConv::userName(DrumNum(72)), NoteHeadGroup::HEAD_NORMAL, 2, DirectionV::UP);
207 : }
208 0 : break;
209 0 : case DrumSetType::GUIRO:
210 0 : if (!gpGuiroSet) {
211 0 : gpGuiroSet = new Drumset;
212 0 : gpGuiroSet->drum(73) = DrumInstrument(TConv::userName(DrumNum(73)), NoteHeadGroup::HEAD_NORMAL, 2, DirectionV::UP);
213 0 : gpGuiroSet->drum(74) = DrumInstrument(TConv::userName(DrumNum(74)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
214 : }
215 0 : break;
216 0 : case DrumSetType::CLAVES:
217 0 : if (!gpClavesSet) {
218 0 : gpClavesSet = new Drumset;
219 0 : gpClavesSet->drum(75) = DrumInstrument(TConv::userName(DrumNum(75)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
220 : }
221 0 : break;
222 0 : case DrumSetType::WOODBLOCK:
223 0 : if (!gpWoodblockSet) {
224 0 : gpWoodblockSet = new Drumset;
225 0 : gpWoodblockSet->drum(76) = DrumInstrument(TConv::userName(DrumNum(76)), NoteHeadGroup::HEAD_NORMAL, 2, DirectionV::UP);
226 0 : gpWoodblockSet->drum(77) = DrumInstrument(TConv::userName(DrumNum(77)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
227 : }
228 0 : break;
229 0 : case DrumSetType::CUICA:
230 0 : if (!gpCuicaSet) {
231 0 : gpCuicaSet = new Drumset;
232 0 : gpCuicaSet->drum(78) = DrumInstrument(TConv::userName(DrumNum(78)), NoteHeadGroup::HEAD_CROSS, 0, DirectionV::DOWN);
233 0 : gpCuicaSet->drum(79) = DrumInstrument(TConv::userName(DrumNum(79)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
234 : }
235 0 : break;
236 0 : case DrumSetType::TRIANGLE:
237 0 : if (!gpTriangleSet) {
238 0 : gpTriangleSet = new Drumset;
239 0 : gpTriangleSet->drum(80) = DrumInstrument(TConv::userName(DrumNum(80)), NoteHeadGroup::HEAD_CROSS, 0, DirectionV::DOWN);
240 0 : gpTriangleSet->drum(81) = DrumInstrument(TConv::userName(DrumNum(81)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
241 : }
242 0 : break;
243 0 : case DrumSetType::SHAKER:
244 0 : if (!gpShakerSet) {
245 0 : gpShakerSet = new Drumset;
246 0 : gpShakerSet->drum(82) = DrumInstrument(TConv::userName(DrumNum(82)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
247 : }
248 0 : break;
249 0 : case DrumSetType::JINGLE_BELL:
250 0 : if (!gpJingleBellSet) {
251 0 : gpJingleBellSet = new Drumset;
252 0 : gpJingleBellSet->drum(83) = DrumInstrument(TConv::userName(DrumNum(83)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
253 : }
254 0 : break;
255 0 : case DrumSetType::BELL_TREE:
256 0 : if (!gpBellTreeSet) {
257 0 : gpBellTreeSet = new Drumset;
258 0 : gpBellTreeSet->drum(84) = DrumInstrument(TConv::userName(DrumNum(84)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
259 : }
260 0 : break;
261 0 : case DrumSetType::CASTANETS:
262 0 : if (!gpCastanetsSet) {
263 0 : gpCastanetsSet = new Drumset;
264 0 : gpCastanetsSet->drum(85) = DrumInstrument(TConv::userName(DrumNum(85)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
265 : }
266 0 : break;
267 0 : case DrumSetType::SURDO:
268 0 : if (!gpSurdoSet) {
269 0 : gpSurdoSet = new Drumset;
270 0 : gpSurdoSet->drum(86) = DrumInstrument(TConv::userName(DrumNum(86)), NoteHeadGroup::HEAD_NORMAL, 0, DirectionV::DOWN);
271 0 : gpSurdoSet->drum(87) = DrumInstrument(TConv::userName(DrumNum(87)), NoteHeadGroup::HEAD_CROSS, 0, DirectionV::DOWN);
272 : }
273 0 : break;
274 : }
275 0 : }
276 :
277 0 : void setInstrumentDrumset(mu::engraving::Instrument* instrument, const GpDrumSet& ds)
278 : {
279 0 : switch (ds.idx) {
280 0 : case DrumSetType::DRUMS:
281 0 : instrument->setDrumset(gpDrumset);
282 0 : break;
283 0 : case DrumSetType::AGOGO:
284 0 : instrument->setDrumset(gpAgogoSet);
285 0 : break;
286 0 : case DrumSetType::HAND_CLAP:
287 0 : instrument->setDrumset(gpHandClapSet);
288 0 : break;
289 0 : case DrumSetType::TAMBOURINE:
290 0 : instrument->setDrumset(gpTambourineSet);
291 0 : break;
292 0 : case DrumSetType::COWBELL:
293 0 : instrument->setDrumset(gpCowbellSet);
294 0 : break;
295 0 : case DrumSetType::VIBRASLAP:
296 0 : instrument->setDrumset(gpVibraslapSet);
297 0 : break;
298 0 : case DrumSetType::BONGOS:
299 0 : instrument->setDrumset(gpBongosSet);
300 0 : break;
301 0 : case DrumSetType::CONGAS:
302 0 : instrument->setDrumset(gpCongasSet);
303 0 : break;
304 0 : case DrumSetType::TIMBALE:
305 0 : instrument->setDrumset(gpTimbalesSet);
306 0 : break;
307 0 : case DrumSetType::CABASA:
308 0 : instrument->setDrumset(gpCabasaSet);
309 0 : break;
310 0 : case DrumSetType::MARACAS:
311 0 : instrument->setDrumset(gpMaracasSet);
312 0 : break;
313 0 : case DrumSetType::WHISTLE:
314 0 : instrument->setDrumset(gpWhistleSet);
315 0 : break;
316 0 : case DrumSetType::GUIRO:
317 0 : instrument->setDrumset(gpGuiroSet);
318 0 : break;
319 0 : case DrumSetType::CLAVES:
320 0 : instrument->setDrumset(gpClavesSet);
321 0 : break;
322 0 : case DrumSetType::WOODBLOCK:
323 0 : instrument->setDrumset(gpWoodblockSet);
324 0 : break;
325 0 : case DrumSetType::CUICA:
326 0 : instrument->setDrumset(gpCuicaSet);
327 0 : break;
328 0 : case DrumSetType::TRIANGLE:
329 0 : instrument->setDrumset(gpTriangleSet);
330 0 : break;
331 0 : case DrumSetType::SHAKER:
332 0 : instrument->setDrumset(gpShakerSet);
333 0 : break;
334 0 : case DrumSetType::JINGLE_BELL:
335 0 : instrument->setDrumset(gpJingleBellSet);
336 0 : break;
337 0 : case DrumSetType::BELL_TREE:
338 0 : instrument->setDrumset(gpBellTreeSet);
339 0 : break;
340 0 : case DrumSetType::CASTANETS:
341 0 : instrument->setDrumset(gpCastanetsSet);
342 0 : break;
343 0 : case DrumSetType::SURDO:
344 0 : instrument->setDrumset(gpSurdoSet);
345 0 : break;
346 : }
347 0 : }
348 : } // namespace mu::iex::guitarpro::drumset
|