Ardour  9.0-pre0-582-g084a23a80d
dummy_midi_seq.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014-2019 Robin Gareus <robin@gareus.org>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more 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 Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18 
19 #ifndef __libbackend_dummy_midi_seq_h__
20 #define __libbackend_dummy_midi_seq_h__
21 
22 #include "dummy_audiobackend.h"
23 
24 namespace ARDOUR { namespace DummyMidiData {
25 
26 static const MIDISequence s0[] = { // some arbitrary short sequence
27  { 0.00, 3, {0x90, 64, 0x7f} },
28  { 0.50, 3, {0x80, 64, 0x00} },
29  { 1.00, 3, {0x90, 66, 0x7f} },
30  { 1.50, 3, {0x80, 66, 0x00} },
31  { 2.00, 3, {0x90, 68, 0x7f} },
32  { 3.50, 3, {0x80, 68, 0x00} },
33  { 3.75, 3, {0x90, 71, 0x7f} },
34  { 4.00, 3, {0x80, 71, 0x00} },
35  { 4.00, 3, {0xff, 255, 0xff} }, // sentinel
36 };
37 
38 static const MIDISequence s1[] = { // Cmaj7 - iterate all channels
39  { 0.00, 3, {0x90, 60, 0x7f} },
40  { 0.25, 3, {0x90, 64, 0x7f} },
41  { 0.50, 3, {0x90, 67, 0x7f} },
42  { 0.75, 3, {0x90, 71, 0x7f} },
43  { 1.00, 3, {0x90, 72, 0x7f} },
44  { 1.00, 3, {0x80, 60, 0x00} },
45  { 1.25, 3, {0x80, 64, 0x00} },
46  { 1.50, 3, {0x80, 67, 0x00} },
47  { 1.75, 3, {0x80, 71, 0x00} },
48  { 2.00, 3, {0x80, 72, 0x00} },
49  { 2.00, 3, {0x91, 60, 0x7f} },
50  { 2.25, 3, {0x91, 64, 0x7f} },
51  { 2.50, 3, {0x91, 67, 0x7f} },
52  { 2.75, 3, {0x91, 71, 0x7f} },
53  { 3.00, 3, {0x91, 72, 0x7f} },
54  { 3.00, 3, {0x81, 60, 0x00} },
55  { 3.25, 3, {0x81, 64, 0x00} },
56  { 3.50, 3, {0x81, 67, 0x00} },
57  { 3.75, 3, {0x81, 71, 0x00} },
58  { 4.00, 3, {0x81, 72, 0x00} },
59  { 4.00, 3, {0x92, 60, 0x7f} },
60  { 4.25, 3, {0x92, 64, 0x7f} },
61  { 4.50, 3, {0x92, 67, 0x7f} },
62  { 4.75, 3, {0x92, 71, 0x7f} },
63  { 5.00, 3, {0x92, 72, 0x7f} },
64  { 5.00, 3, {0x82, 60, 0x00} },
65  { 5.25, 3, {0x82, 64, 0x00} },
66  { 5.50, 3, {0x82, 67, 0x00} },
67  { 5.75, 3, {0x82, 71, 0x00} },
68  { 6.00, 3, {0x82, 72, 0x00} },
69  { 6.00, 3, {0x93, 60, 0x7f} },
70  { 6.25, 3, {0x93, 64, 0x7f} },
71  { 6.50, 3, {0x93, 67, 0x7f} },
72  { 6.75, 3, {0x93, 71, 0x7f} },
73  { 7.00, 3, {0x93, 72, 0x7f} },
74  { 7.00, 3, {0x83, 60, 0x00} },
75  { 7.25, 3, {0x83, 64, 0x00} },
76  { 7.50, 3, {0x83, 67, 0x00} },
77  { 7.75, 3, {0x83, 71, 0x00} },
78  { 8.00, 3, {0x83, 72, 0x00} },
79  { 8.00, 3, {0x94, 60, 0x7f} },
80  { 8.25, 3, {0x94, 64, 0x7f} },
81  { 8.50, 3, {0x94, 67, 0x7f} },
82  { 8.75, 3, {0x94, 71, 0x7f} },
83  { 9.00, 3, {0x94, 72, 0x7f} },
84  { 9.00, 3, {0x84, 60, 0x00} },
85  { 9.25, 3, {0x84, 64, 0x00} },
86  { 9.50, 3, {0x84, 67, 0x00} },
87  { 9.75, 3, {0x84, 71, 0x00} },
88  {10.00, 3, {0x84, 72, 0x00} },
89  {10.00, 3, {0x95, 60, 0x7f} },
90  {10.25, 3, {0x95, 64, 0x7f} },
91  {10.50, 3, {0x95, 67, 0x7f} },
92  {10.75, 3, {0x95, 71, 0x7f} },
93  {11.00, 3, {0x95, 72, 0x7f} },
94  {11.00, 3, {0x85, 60, 0x00} },
95  {11.25, 3, {0x85, 64, 0x00} },
96  {11.50, 3, {0x85, 67, 0x00} },
97  {11.75, 3, {0x85, 71, 0x00} },
98  {12.00, 3, {0x85, 72, 0x00} },
99  {12.00, 3, {0x96, 60, 0x7f} },
100  {12.25, 3, {0x96, 64, 0x7f} },
101  {12.50, 3, {0x96, 67, 0x7f} },
102  {12.75, 3, {0x96, 71, 0x7f} },
103  {13.00, 3, {0x96, 72, 0x7f} },
104  {13.00, 3, {0x86, 60, 0x00} },
105  {13.25, 3, {0x86, 64, 0x00} },
106  {13.50, 3, {0x86, 67, 0x00} },
107  {13.75, 3, {0x86, 71, 0x00} },
108  {14.00, 3, {0x86, 72, 0x00} },
109  {14.00, 3, {0x97, 60, 0x7f} },
110  {14.25, 3, {0x97, 64, 0x7f} },
111  {14.50, 3, {0x97, 67, 0x7f} },
112  {14.75, 3, {0x97, 71, 0x7f} },
113  {15.00, 3, {0x97, 72, 0x7f} },
114  {15.00, 3, {0x87, 60, 0x00} },
115  {15.25, 3, {0x87, 64, 0x00} },
116  {15.50, 3, {0x87, 67, 0x00} },
117  {15.75, 3, {0x87, 71, 0x00} },
118  {16.00, 3, {0x87, 72, 0x00} },
119  {16.00, 3, {0x98, 60, 0x7f} },
120  {16.25, 3, {0x98, 64, 0x7f} },
121  {16.50, 3, {0x98, 67, 0x7f} },
122  {16.75, 3, {0x98, 71, 0x7f} },
123  {17.00, 3, {0x98, 72, 0x7f} },
124  {17.00, 3, {0x88, 60, 0x00} },
125  {17.25, 3, {0x88, 64, 0x00} },
126  {17.50, 3, {0x88, 67, 0x00} },
127  {17.75, 3, {0x88, 71, 0x00} },
128  {18.00, 3, {0x88, 72, 0x00} },
129  {18.00, 3, {0x99, 60, 0x7f} },
130  {18.25, 3, {0x99, 64, 0x7f} },
131  {18.50, 3, {0x99, 67, 0x7f} },
132  {18.75, 3, {0x99, 71, 0x7f} },
133  {19.00, 3, {0x99, 72, 0x7f} },
134  {19.00, 3, {0x89, 60, 0x00} },
135  {19.25, 3, {0x89, 64, 0x00} },
136  {19.50, 3, {0x89, 67, 0x00} },
137  {19.75, 3, {0x89, 71, 0x00} },
138  {20.00, 3, {0x89, 72, 0x00} },
139  {20.00, 3, {0x9a, 60, 0x7f} },
140  {20.25, 3, {0x9a, 64, 0x7f} },
141  {20.50, 3, {0x9a, 67, 0x7f} },
142  {20.75, 3, {0x9a, 71, 0x7f} },
143  {21.00, 3, {0x9a, 72, 0x7f} },
144  {21.00, 3, {0x8a, 60, 0x00} },
145  {21.25, 3, {0x8a, 64, 0x00} },
146  {21.50, 3, {0x8a, 67, 0x00} },
147  {21.75, 3, {0x8a, 71, 0x00} },
148  {22.00, 3, {0x8a, 72, 0x00} },
149  {22.00, 3, {0x9b, 60, 0x7f} },
150  {22.25, 3, {0x9b, 64, 0x7f} },
151  {22.50, 3, {0x9b, 67, 0x7f} },
152  {22.75, 3, {0x9b, 71, 0x7f} },
153  {23.00, 3, {0x9b, 72, 0x7f} },
154  {23.00, 3, {0x8b, 60, 0x00} },
155  {23.25, 3, {0x8b, 64, 0x00} },
156  {23.50, 3, {0x8b, 67, 0x00} },
157  {23.75, 3, {0x8b, 71, 0x00} },
158  {24.00, 3, {0x8b, 72, 0x00} },
159  {24.00, 3, {0x9c, 60, 0x7f} },
160  {24.25, 3, {0x9c, 64, 0x7f} },
161  {24.50, 3, {0x9c, 67, 0x7f} },
162  {24.75, 3, {0x9c, 71, 0x7f} },
163  {25.00, 3, {0x9c, 72, 0x7f} },
164  {25.00, 3, {0x8c, 60, 0x00} },
165  {25.25, 3, {0x8c, 64, 0x00} },
166  {25.50, 3, {0x8c, 67, 0x00} },
167  {25.75, 3, {0x8c, 71, 0x00} },
168  {26.00, 3, {0x8c, 72, 0x00} },
169  {26.00, 3, {0x9d, 60, 0x7f} },
170  {26.25, 3, {0x9d, 64, 0x7f} },
171  {26.50, 3, {0x9d, 67, 0x7f} },
172  {26.75, 3, {0x9d, 71, 0x7f} },
173  {27.00, 3, {0x9d, 72, 0x7f} },
174  {27.00, 3, {0x8d, 60, 0x00} },
175  {27.25, 3, {0x8d, 64, 0x00} },
176  {27.50, 3, {0x8d, 67, 0x00} },
177  {27.75, 3, {0x8d, 71, 0x00} },
178  {28.00, 3, {0x8d, 72, 0x00} },
179  {28.00, 3, {0x9e, 60, 0x7f} },
180  {28.25, 3, {0x9e, 64, 0x7f} },
181  {28.50, 3, {0x9e, 67, 0x7f} },
182  {28.75, 3, {0x9e, 71, 0x7f} },
183  {29.00, 3, {0x9e, 72, 0x7f} },
184  {29.00, 3, {0x8e, 60, 0x00} },
185  {29.25, 3, {0x8e, 64, 0x00} },
186  {29.50, 3, {0x8e, 67, 0x00} },
187  {29.75, 3, {0x8e, 71, 0x00} },
188  {30.00, 3, {0x8e, 72, 0x00} },
189  {30.00, 3, {0x9f, 60, 0x7f} },
190  {30.25, 3, {0x9f, 64, 0x7f} },
191  {30.50, 3, {0x9f, 67, 0x7f} },
192  {30.75, 3, {0x9f, 71, 0x7f} },
193  {31.00, 3, {0x9f, 72, 0x7f} },
194  {31.00, 3, {0x8f, 60, 0x00} },
195  {31.25, 3, {0x8f, 64, 0x00} },
196  {31.50, 3, {0x8f, 67, 0x00} },
197  {31.75, 3, {0x8f, 71, 0x00} },
198  {32.00, 3, {0x8f, 72, 0x00} },
199  {32.00, 3, {0xff, 255, 0xff} }, // sentinel
200 };
201 
202 static const MIDISequence s2[] = { // channel 1, sweep all notes
203  { 0.00, 3, {0x90, 0, 0x7f} },
204  { 0.25, 3, {0x80, 0, 0x00} },
205  { 0.25, 3, {0x90, 1, 0x7f} },
206  { 0.50, 3, {0x80, 1, 0x00} },
207  { 0.50, 3, {0x90, 2, 0x7f} },
208  { 0.75, 3, {0x80, 2, 0x00} },
209  { 0.75, 3, {0x90, 3, 0x7f} },
210  { 1.00, 3, {0x80, 3, 0x00} },
211  { 1.00, 3, {0x90, 4, 0x7f} },
212  { 1.25, 3, {0x80, 4, 0x00} },
213  { 1.25, 3, {0x90, 5, 0x7f} },
214  { 1.50, 3, {0x80, 5, 0x00} },
215  { 1.50, 3, {0x90, 6, 0x7f} },
216  { 1.75, 3, {0x80, 6, 0x00} },
217  { 1.75, 3, {0x90, 7, 0x7f} },
218  { 2.00, 3, {0x80, 7, 0x00} },
219  { 2.00, 3, {0x90, 8, 0x7f} },
220  { 2.25, 3, {0x80, 8, 0x00} },
221  { 2.25, 3, {0x90, 9, 0x7f} },
222  { 2.50, 3, {0x80, 9, 0x00} },
223  { 2.50, 3, {0x90, 10, 0x7f} },
224  { 2.75, 3, {0x80, 10, 0x00} },
225  { 2.75, 3, {0x90, 11, 0x7f} },
226  { 3.00, 3, {0x80, 11, 0x00} },
227  { 3.00, 3, {0x90, 12, 0x7f} },
228  { 3.25, 3, {0x80, 12, 0x00} },
229  { 3.25, 3, {0x90, 13, 0x7f} },
230  { 3.50, 3, {0x80, 13, 0x00} },
231  { 3.50, 3, {0x90, 14, 0x7f} },
232  { 3.75, 3, {0x80, 14, 0x00} },
233  { 3.75, 3, {0x90, 15, 0x7f} },
234  { 4.00, 3, {0x80, 15, 0x00} },
235  { 4.00, 3, {0x90, 16, 0x7f} },
236  { 4.25, 3, {0x80, 16, 0x00} },
237  { 4.25, 3, {0x90, 17, 0x7f} },
238  { 4.50, 3, {0x80, 17, 0x00} },
239  { 4.50, 3, {0x90, 18, 0x7f} },
240  { 4.75, 3, {0x80, 18, 0x00} },
241  { 4.75, 3, {0x90, 19, 0x7f} },
242  { 5.00, 3, {0x80, 19, 0x00} },
243  { 5.00, 3, {0x90, 20, 0x7f} },
244  { 5.25, 3, {0x80, 20, 0x00} },
245  { 5.25, 3, {0x90, 21, 0x7f} },
246  { 5.50, 3, {0x80, 21, 0x00} },
247  { 5.50, 3, {0x90, 22, 0x7f} },
248  { 5.75, 3, {0x80, 22, 0x00} },
249  { 5.75, 3, {0x90, 23, 0x7f} },
250  { 6.00, 3, {0x80, 23, 0x00} },
251  { 6.00, 3, {0x90, 24, 0x7f} },
252  { 6.25, 3, {0x80, 24, 0x00} },
253  { 6.25, 3, {0x90, 25, 0x7f} },
254  { 6.50, 3, {0x80, 25, 0x00} },
255  { 6.50, 3, {0x90, 26, 0x7f} },
256  { 6.75, 3, {0x80, 26, 0x00} },
257  { 6.75, 3, {0x90, 27, 0x7f} },
258  { 7.00, 3, {0x80, 27, 0x00} },
259  { 7.00, 3, {0x90, 28, 0x7f} },
260  { 7.25, 3, {0x80, 28, 0x00} },
261  { 7.25, 3, {0x90, 29, 0x7f} },
262  { 7.50, 3, {0x80, 29, 0x00} },
263  { 7.50, 3, {0x90, 30, 0x7f} },
264  { 7.75, 3, {0x80, 30, 0x00} },
265  { 7.75, 3, {0x90, 31, 0x7f} },
266  { 8.00, 3, {0x80, 31, 0x00} },
267  { 8.00, 3, {0x90, 32, 0x7f} },
268  { 8.25, 3, {0x80, 32, 0x00} },
269  { 8.25, 3, {0x90, 33, 0x7f} },
270  { 8.50, 3, {0x80, 33, 0x00} },
271  { 8.50, 3, {0x90, 34, 0x7f} },
272  { 8.75, 3, {0x80, 34, 0x00} },
273  { 8.75, 3, {0x90, 35, 0x7f} },
274  { 9.00, 3, {0x80, 35, 0x00} },
275  { 9.00, 3, {0x90, 36, 0x7f} },
276  { 9.25, 3, {0x80, 36, 0x00} },
277  { 9.25, 3, {0x90, 37, 0x7f} },
278  { 9.50, 3, {0x80, 37, 0x00} },
279  { 9.50, 3, {0x90, 38, 0x7f} },
280  { 9.75, 3, {0x80, 38, 0x00} },
281  { 9.75, 3, {0x90, 39, 0x7f} },
282  {10.00, 3, {0x80, 39, 0x00} },
283  {10.00, 3, {0x90, 40, 0x7f} },
284  {10.25, 3, {0x80, 40, 0x00} },
285  {10.25, 3, {0x90, 41, 0x7f} },
286  {10.50, 3, {0x80, 41, 0x00} },
287  {10.50, 3, {0x90, 42, 0x7f} },
288  {10.75, 3, {0x80, 42, 0x00} },
289  {10.75, 3, {0x90, 43, 0x7f} },
290  {11.00, 3, {0x80, 43, 0x00} },
291  {11.00, 3, {0x90, 44, 0x7f} },
292  {11.25, 3, {0x80, 44, 0x00} },
293  {11.25, 3, {0x90, 45, 0x7f} },
294  {11.50, 3, {0x80, 45, 0x00} },
295  {11.50, 3, {0x90, 46, 0x7f} },
296  {11.75, 3, {0x80, 46, 0x00} },
297  {11.75, 3, {0x90, 47, 0x7f} },
298  {12.00, 3, {0x80, 47, 0x00} },
299  {12.00, 3, {0x90, 48, 0x7f} },
300  {12.25, 3, {0x80, 48, 0x00} },
301  {12.25, 3, {0x90, 49, 0x7f} },
302  {12.50, 3, {0x80, 49, 0x00} },
303  {12.50, 3, {0x90, 50, 0x7f} },
304  {12.75, 3, {0x80, 50, 0x00} },
305  {12.75, 3, {0x90, 51, 0x7f} },
306  {13.00, 3, {0x80, 51, 0x00} },
307  {13.00, 3, {0x90, 52, 0x7f} },
308  {13.25, 3, {0x80, 52, 0x00} },
309  {13.25, 3, {0x90, 53, 0x7f} },
310  {13.50, 3, {0x80, 53, 0x00} },
311  {13.50, 3, {0x90, 54, 0x7f} },
312  {13.75, 3, {0x80, 54, 0x00} },
313  {13.75, 3, {0x90, 55, 0x7f} },
314  {14.00, 3, {0x80, 55, 0x00} },
315  {14.00, 3, {0x90, 56, 0x7f} },
316  {14.25, 3, {0x80, 56, 0x00} },
317  {14.25, 3, {0x90, 57, 0x7f} },
318  {14.50, 3, {0x80, 57, 0x00} },
319  {14.50, 3, {0x90, 58, 0x7f} },
320  {14.75, 3, {0x80, 58, 0x00} },
321  {14.75, 3, {0x90, 59, 0x7f} },
322  {15.00, 3, {0x80, 59, 0x00} },
323  {15.00, 3, {0x90, 60, 0x7f} },
324  {15.25, 3, {0x80, 60, 0x00} },
325  {15.25, 3, {0x90, 61, 0x7f} },
326  {15.50, 3, {0x80, 61, 0x00} },
327  {15.50, 3, {0x90, 62, 0x7f} },
328  {15.75, 3, {0x80, 62, 0x00} },
329  {15.75, 3, {0x90, 63, 0x7f} },
330  {16.00, 3, {0x80, 63, 0x00} },
331  {16.00, 3, {0x90, 64, 0x7f} },
332  {16.25, 3, {0x80, 64, 0x00} },
333  {16.25, 3, {0x90, 65, 0x7f} },
334  {16.50, 3, {0x80, 65, 0x00} },
335  {16.50, 3, {0x90, 66, 0x7f} },
336  {16.75, 3, {0x80, 66, 0x00} },
337  {16.75, 3, {0x90, 67, 0x7f} },
338  {17.00, 3, {0x80, 67, 0x00} },
339  {17.00, 3, {0x90, 68, 0x7f} },
340  {17.25, 3, {0x80, 68, 0x00} },
341  {17.25, 3, {0x90, 69, 0x7f} },
342  {17.50, 3, {0x80, 69, 0x00} },
343  {17.50, 3, {0x90, 70, 0x7f} },
344  {17.75, 3, {0x80, 70, 0x00} },
345  {17.75, 3, {0x90, 71, 0x7f} },
346  {18.00, 3, {0x80, 71, 0x00} },
347  {18.00, 3, {0x90, 72, 0x7f} },
348  {18.25, 3, {0x80, 72, 0x00} },
349  {18.25, 3, {0x90, 73, 0x7f} },
350  {18.50, 3, {0x80, 73, 0x00} },
351  {18.50, 3, {0x90, 74, 0x7f} },
352  {18.75, 3, {0x80, 74, 0x00} },
353  {18.75, 3, {0x90, 75, 0x7f} },
354  {19.00, 3, {0x80, 75, 0x00} },
355  {19.00, 3, {0x90, 76, 0x7f} },
356  {19.25, 3, {0x80, 76, 0x00} },
357  {19.25, 3, {0x90, 77, 0x7f} },
358  {19.50, 3, {0x80, 77, 0x00} },
359  {19.50, 3, {0x90, 78, 0x7f} },
360  {19.75, 3, {0x80, 78, 0x00} },
361  {19.75, 3, {0x90, 79, 0x7f} },
362  {20.00, 3, {0x80, 79, 0x00} },
363  {20.00, 3, {0x90, 80, 0x7f} },
364  {20.25, 3, {0x80, 80, 0x00} },
365  {20.25, 3, {0x90, 81, 0x7f} },
366  {20.50, 3, {0x80, 81, 0x00} },
367  {20.50, 3, {0x90, 82, 0x7f} },
368  {20.75, 3, {0x80, 82, 0x00} },
369  {20.75, 3, {0x90, 83, 0x7f} },
370  {21.00, 3, {0x80, 83, 0x00} },
371  {21.00, 3, {0x90, 84, 0x7f} },
372  {21.25, 3, {0x80, 84, 0x00} },
373  {21.25, 3, {0x90, 85, 0x7f} },
374  {21.50, 3, {0x80, 85, 0x00} },
375  {21.50, 3, {0x90, 86, 0x7f} },
376  {21.75, 3, {0x80, 86, 0x00} },
377  {21.75, 3, {0x90, 87, 0x7f} },
378  {22.00, 3, {0x80, 87, 0x00} },
379  {22.00, 3, {0x90, 88, 0x7f} },
380  {22.25, 3, {0x80, 88, 0x00} },
381  {22.25, 3, {0x90, 89, 0x7f} },
382  {22.50, 3, {0x80, 89, 0x00} },
383  {22.50, 3, {0x90, 90, 0x7f} },
384  {22.75, 3, {0x80, 90, 0x00} },
385  {22.75, 3, {0x90, 91, 0x7f} },
386  {23.00, 3, {0x80, 91, 0x00} },
387  {23.00, 3, {0x90, 92, 0x7f} },
388  {23.25, 3, {0x80, 92, 0x00} },
389  {23.25, 3, {0x90, 93, 0x7f} },
390  {23.50, 3, {0x80, 93, 0x00} },
391  {23.50, 3, {0x90, 94, 0x7f} },
392  {23.75, 3, {0x80, 94, 0x00} },
393  {23.75, 3, {0x90, 95, 0x7f} },
394  {24.00, 3, {0x80, 95, 0x00} },
395  {24.00, 3, {0x90, 96, 0x7f} },
396  {24.25, 3, {0x80, 96, 0x00} },
397  {24.25, 3, {0x90, 97, 0x7f} },
398  {24.50, 3, {0x80, 97, 0x00} },
399  {24.50, 3, {0x90, 98, 0x7f} },
400  {24.75, 3, {0x80, 98, 0x00} },
401  {24.75, 3, {0x90, 99, 0x7f} },
402  {25.00, 3, {0x80, 99, 0x00} },
403  {25.00, 3, {0x90, 100, 0x7f} },
404  {25.25, 3, {0x80, 100, 0x00} },
405  {25.25, 3, {0x90, 101, 0x7f} },
406  {25.50, 3, {0x80, 101, 0x00} },
407  {25.50, 3, {0x90, 102, 0x7f} },
408  {25.75, 3, {0x80, 102, 0x00} },
409  {25.75, 3, {0x90, 103, 0x7f} },
410  {26.00, 3, {0x80, 103, 0x00} },
411  {26.00, 3, {0x90, 104, 0x7f} },
412  {26.25, 3, {0x80, 104, 0x00} },
413  {26.25, 3, {0x90, 105, 0x7f} },
414  {26.50, 3, {0x80, 105, 0x00} },
415  {26.50, 3, {0x90, 106, 0x7f} },
416  {26.75, 3, {0x80, 106, 0x00} },
417  {26.75, 3, {0x90, 107, 0x7f} },
418  {27.00, 3, {0x80, 107, 0x00} },
419  {27.00, 3, {0x90, 108, 0x7f} },
420  {27.25, 3, {0x80, 108, 0x00} },
421  {27.25, 3, {0x90, 109, 0x7f} },
422  {27.50, 3, {0x80, 109, 0x00} },
423  {27.50, 3, {0x90, 110, 0x7f} },
424  {27.75, 3, {0x80, 110, 0x00} },
425  {27.75, 3, {0x90, 111, 0x7f} },
426  {28.00, 3, {0x80, 111, 0x00} },
427  {28.00, 3, {0x90, 112, 0x7f} },
428  {28.25, 3, {0x80, 112, 0x00} },
429  {28.25, 3, {0x90, 113, 0x7f} },
430  {28.50, 3, {0x80, 113, 0x00} },
431  {28.50, 3, {0x90, 114, 0x7f} },
432  {28.75, 3, {0x80, 114, 0x00} },
433  {28.75, 3, {0x90, 115, 0x7f} },
434  {29.00, 3, {0x80, 115, 0x00} },
435  {29.00, 3, {0x90, 116, 0x7f} },
436  {29.25, 3, {0x80, 116, 0x00} },
437  {29.25, 3, {0x90, 117, 0x7f} },
438  {29.50, 3, {0x80, 117, 0x00} },
439  {29.50, 3, {0x90, 118, 0x7f} },
440  {29.75, 3, {0x80, 118, 0x00} },
441  {29.75, 3, {0x90, 119, 0x7f} },
442  {30.00, 3, {0x80, 119, 0x00} },
443  {30.00, 3, {0x90, 120, 0x7f} },
444  {30.25, 3, {0x80, 120, 0x00} },
445  {30.25, 3, {0x90, 121, 0x7f} },
446  {30.50, 3, {0x80, 121, 0x00} },
447  {30.50, 3, {0x90, 122, 0x7f} },
448  {30.75, 3, {0x80, 122, 0x00} },
449  {30.75, 3, {0x90, 123, 0x7f} },
450  {31.00, 3, {0x80, 123, 0x00} },
451  {31.00, 3, {0x90, 124, 0x7f} },
452  {31.25, 3, {0x80, 124, 0x00} },
453  {31.25, 3, {0x90, 125, 0x7f} },
454  {31.50, 3, {0x80, 125, 0x00} },
455  {31.50, 3, {0x90, 126, 0x7f} },
456  {31.75, 3, {0x80, 126, 0x00} },
457  {31.75, 3, {0x90, 127, 0x7f} },
458  {32.00, 3, {0x80, 127, 0x00} },
459  {32.00, 3, {0xff, 255, 0xff} }, // sentinel
460 };
461 
462 static const MIDISequence s3[] = { // velocity sweep
463  { 0.000, 3, {0x90, 60, 0x00} },
464  { 0.125, 3, {0x80, 60, 0x00} },
465  { 0.125, 3, {0x90, 61, 0x01} },
466  { 0.250, 3, {0x80, 61, 0x00} },
467  { 0.250, 3, {0x90, 60, 0x02} },
468  { 0.375, 3, {0x80, 60, 0x00} },
469  { 0.375, 3, {0x90, 61, 0x03} },
470  { 0.500, 3, {0x80, 61, 0x00} },
471  { 0.500, 3, {0x90, 60, 0x04} },
472  { 0.625, 3, {0x80, 60, 0x00} },
473  { 0.625, 3, {0x90, 61, 0x05} },
474  { 0.750, 3, {0x80, 61, 0x00} },
475  { 0.750, 3, {0x90, 60, 0x06} },
476  { 0.875, 3, {0x80, 60, 0x00} },
477  { 0.875, 3, {0x90, 61, 0x07} },
478  { 1.000, 3, {0x80, 61, 0x00} },
479  { 1.000, 3, {0x90, 60, 0x08} },
480  { 1.125, 3, {0x80, 60, 0x00} },
481  { 1.125, 3, {0x90, 61, 0x09} },
482  { 1.250, 3, {0x80, 61, 0x00} },
483  { 1.250, 3, {0x90, 60, 0x0a} },
484  { 1.375, 3, {0x80, 60, 0x00} },
485  { 1.375, 3, {0x90, 61, 0x0b} },
486  { 1.500, 3, {0x80, 61, 0x00} },
487  { 1.500, 3, {0x90, 60, 0x0c} },
488  { 1.625, 3, {0x80, 60, 0x00} },
489  { 1.625, 3, {0x90, 61, 0x0d} },
490  { 1.750, 3, {0x80, 61, 0x00} },
491  { 1.750, 3, {0x90, 60, 0x0e} },
492  { 1.875, 3, {0x80, 60, 0x00} },
493  { 1.875, 3, {0x90, 61, 0x0f} },
494  { 2.000, 3, {0x80, 61, 0x00} },
495  { 2.000, 3, {0x90, 60, 0x10} },
496  { 2.125, 3, {0x80, 60, 0x00} },
497  { 2.125, 3, {0x90, 61, 0x11} },
498  { 2.250, 3, {0x80, 61, 0x00} },
499  { 2.250, 3, {0x90, 60, 0x12} },
500  { 2.375, 3, {0x80, 60, 0x00} },
501  { 2.375, 3, {0x90, 61, 0x13} },
502  { 2.500, 3, {0x80, 61, 0x00} },
503  { 2.500, 3, {0x90, 60, 0x14} },
504  { 2.625, 3, {0x80, 60, 0x00} },
505  { 2.625, 3, {0x90, 61, 0x15} },
506  { 2.750, 3, {0x80, 61, 0x00} },
507  { 2.750, 3, {0x90, 60, 0x16} },
508  { 2.875, 3, {0x80, 60, 0x00} },
509  { 2.875, 3, {0x90, 61, 0x17} },
510  { 3.000, 3, {0x80, 61, 0x00} },
511  { 3.000, 3, {0x90, 60, 0x18} },
512  { 3.125, 3, {0x80, 60, 0x00} },
513  { 3.125, 3, {0x90, 61, 0x19} },
514  { 3.250, 3, {0x80, 61, 0x00} },
515  { 3.250, 3, {0x90, 60, 0x1a} },
516  { 3.375, 3, {0x80, 60, 0x00} },
517  { 3.375, 3, {0x90, 61, 0x1b} },
518  { 3.500, 3, {0x80, 61, 0x00} },
519  { 3.500, 3, {0x90, 60, 0x1c} },
520  { 3.625, 3, {0x80, 60, 0x00} },
521  { 3.625, 3, {0x90, 61, 0x1d} },
522  { 3.750, 3, {0x80, 61, 0x00} },
523  { 3.750, 3, {0x90, 60, 0x1e} },
524  { 3.875, 3, {0x80, 60, 0x00} },
525  { 3.875, 3, {0x90, 61, 0x1f} },
526  { 4.000, 3, {0x80, 61, 0x00} },
527  { 4.000, 3, {0x90, 60, 0x20} },
528  { 4.125, 3, {0x80, 60, 0x00} },
529  { 4.125, 3, {0x90, 61, 0x21} },
530  { 4.250, 3, {0x80, 61, 0x00} },
531  { 4.250, 3, {0x90, 60, 0x22} },
532  { 4.375, 3, {0x80, 60, 0x00} },
533  { 4.375, 3, {0x90, 61, 0x23} },
534  { 4.500, 3, {0x80, 61, 0x00} },
535  { 4.500, 3, {0x90, 60, 0x24} },
536  { 4.625, 3, {0x80, 60, 0x00} },
537  { 4.625, 3, {0x90, 61, 0x25} },
538  { 4.750, 3, {0x80, 61, 0x00} },
539  { 4.750, 3, {0x90, 60, 0x26} },
540  { 4.875, 3, {0x80, 60, 0x00} },
541  { 4.875, 3, {0x90, 61, 0x27} },
542  { 5.000, 3, {0x80, 61, 0x00} },
543  { 5.000, 3, {0x90, 60, 0x28} },
544  { 5.125, 3, {0x80, 60, 0x00} },
545  { 5.125, 3, {0x90, 61, 0x29} },
546  { 5.250, 3, {0x80, 61, 0x00} },
547  { 5.250, 3, {0x90, 60, 0x2a} },
548  { 5.375, 3, {0x80, 60, 0x00} },
549  { 5.375, 3, {0x90, 61, 0x2b} },
550  { 5.500, 3, {0x80, 61, 0x00} },
551  { 5.500, 3, {0x90, 60, 0x2c} },
552  { 5.625, 3, {0x80, 60, 0x00} },
553  { 5.625, 3, {0x90, 61, 0x2d} },
554  { 5.750, 3, {0x80, 61, 0x00} },
555  { 5.750, 3, {0x90, 60, 0x2e} },
556  { 5.875, 3, {0x80, 60, 0x00} },
557  { 5.875, 3, {0x90, 61, 0x2f} },
558  { 6.000, 3, {0x80, 61, 0x00} },
559  { 6.000, 3, {0x90, 60, 0x30} },
560  { 6.125, 3, {0x80, 60, 0x00} },
561  { 6.125, 3, {0x90, 61, 0x31} },
562  { 6.250, 3, {0x80, 61, 0x00} },
563  { 6.250, 3, {0x90, 60, 0x32} },
564  { 6.375, 3, {0x80, 60, 0x00} },
565  { 6.375, 3, {0x90, 61, 0x33} },
566  { 6.500, 3, {0x80, 61, 0x00} },
567  { 6.500, 3, {0x90, 60, 0x34} },
568  { 6.625, 3, {0x80, 60, 0x00} },
569  { 6.625, 3, {0x90, 61, 0x35} },
570  { 6.750, 3, {0x80, 61, 0x00} },
571  { 6.750, 3, {0x90, 60, 0x36} },
572  { 6.875, 3, {0x80, 60, 0x00} },
573  { 6.875, 3, {0x90, 61, 0x37} },
574  { 7.000, 3, {0x80, 61, 0x00} },
575  { 7.000, 3, {0x90, 60, 0x38} },
576  { 7.125, 3, {0x80, 60, 0x00} },
577  { 7.125, 3, {0x90, 61, 0x39} },
578  { 7.250, 3, {0x80, 61, 0x00} },
579  { 7.250, 3, {0x90, 60, 0x3a} },
580  { 7.375, 3, {0x80, 60, 0x00} },
581  { 7.375, 3, {0x90, 61, 0x3b} },
582  { 7.500, 3, {0x80, 61, 0x00} },
583  { 7.500, 3, {0x90, 60, 0x3c} },
584  { 7.625, 3, {0x80, 60, 0x00} },
585  { 7.625, 3, {0x90, 61, 0x3d} },
586  { 7.750, 3, {0x80, 61, 0x00} },
587  { 7.750, 3, {0x90, 60, 0x3e} },
588  { 7.875, 3, {0x80, 60, 0x00} },
589  { 7.875, 3, {0x90, 61, 0x3f} },
590  { 8.000, 3, {0x80, 61, 0x00} },
591  { 8.000, 3, {0x90, 60, 0x40} },
592  { 8.125, 3, {0x80, 60, 0x00} },
593  { 8.125, 3, {0x90, 61, 0x41} },
594  { 8.250, 3, {0x80, 61, 0x00} },
595  { 8.250, 3, {0x90, 60, 0x42} },
596  { 8.375, 3, {0x80, 60, 0x00} },
597  { 8.375, 3, {0x90, 61, 0x43} },
598  { 8.500, 3, {0x80, 61, 0x00} },
599  { 8.500, 3, {0x90, 60, 0x44} },
600  { 8.625, 3, {0x80, 60, 0x00} },
601  { 8.625, 3, {0x90, 61, 0x45} },
602  { 8.750, 3, {0x80, 61, 0x00} },
603  { 8.750, 3, {0x90, 60, 0x46} },
604  { 8.875, 3, {0x80, 60, 0x00} },
605  { 8.875, 3, {0x90, 61, 0x47} },
606  { 9.000, 3, {0x80, 61, 0x00} },
607  { 9.000, 3, {0x90, 60, 0x48} },
608  { 9.125, 3, {0x80, 60, 0x00} },
609  { 9.125, 3, {0x90, 61, 0x49} },
610  { 9.250, 3, {0x80, 61, 0x00} },
611  { 9.250, 3, {0x90, 60, 0x4a} },
612  { 9.375, 3, {0x80, 60, 0x00} },
613  { 9.375, 3, {0x90, 61, 0x4b} },
614  { 9.500, 3, {0x80, 61, 0x00} },
615  { 9.500, 3, {0x90, 60, 0x4c} },
616  { 9.625, 3, {0x80, 60, 0x00} },
617  { 9.625, 3, {0x90, 61, 0x4d} },
618  { 9.750, 3, {0x80, 61, 0x00} },
619  { 9.750, 3, {0x90, 60, 0x4e} },
620  { 9.875, 3, {0x80, 60, 0x00} },
621  { 9.875, 3, {0x90, 61, 0x4f} },
622  {10.000, 3, {0x80, 61, 0x00} },
623  {10.000, 3, {0x90, 60, 0x50} },
624  {10.125, 3, {0x80, 60, 0x00} },
625  {10.125, 3, {0x90, 61, 0x51} },
626  {10.250, 3, {0x80, 61, 0x00} },
627  {10.250, 3, {0x90, 60, 0x52} },
628  {10.375, 3, {0x80, 60, 0x00} },
629  {10.375, 3, {0x90, 61, 0x53} },
630  {10.500, 3, {0x80, 61, 0x00} },
631  {10.500, 3, {0x90, 60, 0x54} },
632  {10.625, 3, {0x80, 60, 0x00} },
633  {10.625, 3, {0x90, 61, 0x55} },
634  {10.750, 3, {0x80, 61, 0x00} },
635  {10.750, 3, {0x90, 60, 0x56} },
636  {10.875, 3, {0x80, 60, 0x00} },
637  {10.875, 3, {0x90, 61, 0x57} },
638  {11.000, 3, {0x80, 61, 0x00} },
639  {11.000, 3, {0x90, 60, 0x58} },
640  {11.125, 3, {0x80, 60, 0x00} },
641  {11.125, 3, {0x90, 61, 0x59} },
642  {11.250, 3, {0x80, 61, 0x00} },
643  {11.250, 3, {0x90, 60, 0x5a} },
644  {11.375, 3, {0x80, 60, 0x00} },
645  {11.375, 3, {0x90, 61, 0x5b} },
646  {11.500, 3, {0x80, 61, 0x00} },
647  {11.500, 3, {0x90, 60, 0x5c} },
648  {11.625, 3, {0x80, 60, 0x00} },
649  {11.625, 3, {0x90, 61, 0x5d} },
650  {11.750, 3, {0x80, 61, 0x00} },
651  {11.750, 3, {0x90, 60, 0x5e} },
652  {11.875, 3, {0x80, 60, 0x00} },
653  {11.875, 3, {0x90, 61, 0x5f} },
654  {12.000, 3, {0x80, 61, 0x00} },
655  {12.000, 3, {0x90, 60, 0x60} },
656  {12.125, 3, {0x80, 60, 0x00} },
657  {12.125, 3, {0x90, 61, 0x61} },
658  {12.250, 3, {0x80, 61, 0x00} },
659  {12.250, 3, {0x90, 60, 0x62} },
660  {12.375, 3, {0x80, 60, 0x00} },
661  {12.375, 3, {0x90, 61, 0x63} },
662  {12.500, 3, {0x80, 61, 0x00} },
663  {12.500, 3, {0x90, 60, 0x64} },
664  {12.625, 3, {0x80, 60, 0x00} },
665  {12.625, 3, {0x90, 61, 0x65} },
666  {12.750, 3, {0x80, 61, 0x00} },
667  {12.750, 3, {0x90, 60, 0x66} },
668  {12.875, 3, {0x80, 60, 0x00} },
669  {12.875, 3, {0x90, 61, 0x67} },
670  {13.000, 3, {0x80, 61, 0x00} },
671  {13.000, 3, {0x90, 60, 0x68} },
672  {13.125, 3, {0x80, 60, 0x00} },
673  {13.125, 3, {0x90, 61, 0x69} },
674  {13.250, 3, {0x80, 61, 0x00} },
675  {13.250, 3, {0x90, 60, 0x6a} },
676  {13.375, 3, {0x80, 60, 0x00} },
677  {13.375, 3, {0x90, 61, 0x6b} },
678  {13.500, 3, {0x80, 61, 0x00} },
679  {13.500, 3, {0x90, 60, 0x6c} },
680  {13.625, 3, {0x80, 60, 0x00} },
681  {13.625, 3, {0x90, 61, 0x6d} },
682  {13.750, 3, {0x80, 61, 0x00} },
683  {13.750, 3, {0x90, 60, 0x6e} },
684  {13.875, 3, {0x80, 60, 0x00} },
685  {13.875, 3, {0x90, 61, 0x6f} },
686  {14.000, 3, {0x80, 61, 0x00} },
687  {14.000, 3, {0x90, 60, 0x70} },
688  {14.125, 3, {0x80, 60, 0x00} },
689  {14.125, 3, {0x90, 61, 0x71} },
690  {14.250, 3, {0x80, 61, 0x00} },
691  {14.250, 3, {0x90, 60, 0x72} },
692  {14.375, 3, {0x80, 60, 0x00} },
693  {14.375, 3, {0x90, 61, 0x73} },
694  {14.500, 3, {0x80, 61, 0x00} },
695  {14.500, 3, {0x90, 60, 0x74} },
696  {14.625, 3, {0x80, 60, 0x00} },
697  {14.625, 3, {0x90, 61, 0x75} },
698  {14.750, 3, {0x80, 61, 0x00} },
699  {14.750, 3, {0x90, 60, 0x76} },
700  {14.875, 3, {0x80, 60, 0x00} },
701  {14.875, 3, {0x90, 61, 0x77} },
702  {15.000, 3, {0x80, 61, 0x00} },
703  {15.000, 3, {0x90, 60, 0x78} },
704  {15.125, 3, {0x80, 60, 0x00} },
705  {15.125, 3, {0x90, 61, 0x79} },
706  {15.250, 3, {0x80, 61, 0x00} },
707  {15.250, 3, {0x90, 60, 0x7a} },
708  {15.375, 3, {0x80, 60, 0x00} },
709  {15.375, 3, {0x90, 61, 0x7b} },
710  {15.500, 3, {0x80, 61, 0x00} },
711  {15.500, 3, {0x90, 60, 0x7c} },
712  {15.625, 3, {0x80, 60, 0x00} },
713  {15.625, 3, {0x90, 61, 0x7d} },
714  {15.750, 3, {0x80, 61, 0x00} },
715  {15.750, 3, {0x90, 60, 0x7e} },
716  {15.875, 3, {0x80, 60, 0x00} },
717  {15.875, 3, {0x90, 61, 0x7f} },
718  {16.000, 3, {0x80, 61, 0x00} },
719  {16.000, 3, {0xff, 255, 0xff} }, // sentinel
720 };
721 
722 static const MIDISequence s4[] = { // channel1, sustain pedal test
723  { 0.00, 3, {0x90, 64, 0x7f} },
724  { 0.50, 3, {0x80, 64, 0x00} },
725  { 1.00, 3, {0xB0, 0x40, 0x7f} }, // CC64, Sustain on
726  { 1.25, 3, {0x90, 64, 0x7f} },
727  { 1.75, 3, {0x80, 64, 0x00} },
728  { 2.25, 3, {0x90, 66, 0x7f} },
729  { 3.00, 3, {0xB0, 0x40, 0x00} }, // CC64, Sustain off
730  { 3.25, 3, {0x80, 66, 0x00} },
731  { 3.25, 3, {0x90, 64, 0x7f} },
732  { 3.75, 3, {0x80, 64, 0x00} },
733  { 4.00, 3, {0xff, 255, 0xff} }, // sentinel
734 };
735 
736 static const MIDISequence s5[] = { // channel1, CCs only
737  { 0.00, 3, {0xB0, 0x01, 0x00} },
738  { 0.25, 3, {0xB0, 0x01, 0x10} },
739  { 0.50, 3, {0xB0, 0x01, 0x40} },
740  { 0.75, 3, {0xB0, 0x01, 0x7f} },
741  { 1.00, 3, {0xB0, 0x01, 0x60} },
742  { 1.25, 3, {0xB0, 0x01, 0x55} },
743  { 1.50, 3, {0xB0, 0x01, 0x20} },
744  { 1.75, 3, {0xB0, 0x01, 0x1f} },
745  { 2.00, 3, {0xB0, 0x01, 0x1e} },
746  { 2.25, 3, {0xB0, 0x01, 0x1d} },
747  { 2.50, 3, {0xB0, 0x01, 0x1c} },
748  { 2.75, 3, {0xB0, 0x01, 0x1b} },
749  { 3.50, 3, {0xB0, 0x01, 0x00} },
750  { 4.00, 3, {0xB0, 0x01, 0x00} },
751  { 4.25, 3, {0xB0, 0x01, 0x7f} },
752  { 4.50, 3, {0xB0, 0x01, 0x40} },
753  { 4.75, 3, {0xB0, 0x01, 0x40} },
754  { 5.00, 3, {0xff, 255, 0xff} }, // sentinel
755 };
756 
757 
758 static const MIDISequence s6[] = { // Keypressure, Aftertouch
759  { 0.00, 3, {0x90, 64, 0x7f} },
760  { 0.25, 3, {0xa0, 64, 0x40} },
761  { 0.50, 3, {0xa0, 64, 0x60} },
762  { 0.75, 3, {0xa0, 64, 0x7f} },
763  { 1.00, 3, {0xa0, 64, 0x7f} },
764  { 1.25, 3, {0xa0, 64, 0x00} },
765  { 1.50, 3, {0x80, 64, 0x00} },
766  { 2.00, 3, {0xff, 255, 0xff} }, // sentinel
767 };
768 
769 
770 static const MIDISequence s7[] = { // channel1, nonsense
771  { 0.00, 3, {0x90, 64, 0x7f} }, // note-on
772  { 0.50, 3, {0x90, 64, 0x7f} }, // duplicate note-on
773  { 1.00, 3, {0x80, 64, 0x00} }, // note-off
774  { 1.50, 3, {0x80, 64, 0x00} }, // dup note-off
775  { 2.00, 3, {0x80, 64, 0x00} }, // 3rd note-off
776  { 3.00, 3, {0x90, 66, 0x7f} },
777  { 3.50, 3, {0x90, 66, 0x00} }, // note-on velocity zero
778  { 3.75, 3, {0x80, 66, 0x00} }, // note-off
779  { 4.00, 3, {0xff, 255, 0xff} }, // sentinel
780 };
781 
782 static const MIDISequence s8[] = {
783  {-2.0, 0, {0} }, // MTC Generator
784 };
785 
786 static const MIDISequence s9[] = {
787  {-1.0, 0, {0} }, // MClk Generator
788 };
789 
790 static const MIDISequence s10[] = {
791  {-3.0, 0, {0} }, // MMC Generator
792 };
793 
794 
795 static const MIDISequence *sequences[] = {
796  s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10
797 };
798 
799 static const char *sequence_names[] = {
800  "Short Sequence",
801  "Cmaj7, all channels",
802  "Note Sweep, chan 1",
803  "Velocity Sweep, chan 1",
804  "Sustain Pedal Test",
805  "CCs only",
806  "Aftertouch",
807  "Nonsense, Dups",
808  "MTC 25fps",
809  "MClk 120 BPM",
810  "MMC SysEx"
811 };
812 
813 }} // namespace
814 
815 #define NUM_MIDI_EVENT_GENERATORS (sizeof (ARDOUR::DummyMidiData::sequences) / sizeof(ARDOUR::DummyMidiData::MIDISequence*))
816 
817 #endif
static const MIDISequence s10[]
static const MIDISequence s6[]
static const MIDISequence s3[]
static const MIDISequence s2[]
static const MIDISequence s5[]
static const MIDISequence * sequences[]
static const MIDISequence s0[]
static const MIDISequence s7[]
static const MIDISequence s4[]
static const MIDISequence s9[]
static const MIDISequence s1[]
static const MIDISequence s8[]
static const char * sequence_names[]