update path to lua-doc in manual
[ardour.git] / libs / backends / dummy / dummy_midi_seq.h
index c62190ceb8bcff15be0dbbc2a92e87e7f7099201..e809a47371242a2e1c8b72b6d506279b8921b959 100644 (file)
@@ -719,8 +719,313 @@ static const MIDISequence s3[] = { // velocity sweep
        {16.000, 3, {0xff, 255, 0xff} }, // sentinel
 };
 
+static const MIDISequence s4[] = { // channel1, sustain pedal test
+       { 0.00, 3, {0x90,   64, 0x7f} },
+       { 0.50, 3, {0x80,   64, 0x00} },
+       { 1.00, 3, {0xB0, 0x40, 0x7f} }, // CC64, Sustain on
+       { 1.25, 3, {0x90,   64, 0x7f} },
+       { 1.75, 3, {0x80,   64, 0x00} },
+       { 2.25, 3, {0x90,   66, 0x7f} },
+       { 3.00, 3, {0xB0, 0x40, 0x00} }, // CC64, Sustain off
+       { 3.25, 3, {0x80,   66, 0x00} },
+       { 3.25, 3, {0x90,   64, 0x7f} },
+       { 3.75, 3, {0x80,   64, 0x00} },
+       { 4.00, 3, {0xff,  255, 0xff} }, // sentinel
+};
+
+static const MIDISequence s5[] = { // channel1, CCs only
+       { 0.00, 3, {0xB0, 0x01, 0x00} },
+       { 0.25, 3, {0xB0, 0x01, 0x10} },
+       { 0.50, 3, {0xB0, 0x01, 0x40} },
+       { 0.75, 3, {0xB0, 0x01, 0x7f} },
+       { 1.00, 3, {0xB0, 0x01, 0x60} },
+       { 1.25, 3, {0xB0, 0x01, 0x55} },
+       { 1.50, 3, {0xB0, 0x01, 0x20} },
+       { 1.75, 3, {0xB0, 0x01, 0x1f} },
+       { 2.00, 3, {0xB0, 0x01, 0x1e} },
+       { 2.25, 3, {0xB0, 0x01, 0x1d} },
+       { 2.50, 3, {0xB0, 0x01, 0x1c} },
+       { 2.75, 3, {0xB0, 0x01, 0x1b} },
+       { 3.50, 3, {0xB0, 0x01, 0x00} },
+       { 4.00, 3, {0xB0, 0x01, 0x00} },
+       { 4.25, 3, {0xB0, 0x01, 0x7f} },
+       { 4.50, 3, {0xB0, 0x01, 0x40} },
+       { 4.75, 3, {0xB0, 0x01, 0x40} },
+       { 5.00, 3, {0xff,  255, 0xff} }, // sentinel
+};
+
+
+static const MIDISequence s6[] = { // Keypressure, Aftertouch
+       { 0.00, 3, {0x90,  64, 0x7f} },
+       { 0.25, 3, {0xa0,  64, 0x40} },
+       { 0.50, 3, {0xa0,  64, 0x60} },
+       { 0.75, 3, {0xa0,  64, 0x7f} },
+       { 1.00, 3, {0xa0,  64, 0x7f} },
+       { 1.25, 3, {0xa0,  64, 0x00} },
+       { 1.50, 3, {0x80,  64, 0x00} },
+       { 2.00, 3, {0xff, 255, 0xff} }, // sentinel
+};
+
+
+static const MIDISequence s7[] = { // channel1, nonsense
+       { 0.00, 3, {0x90,   64, 0x7f} }, // note-on
+       { 0.50, 3, {0x90,   64, 0x7f} }, // duplicate note-on
+       { 1.00, 3, {0x80,   64, 0x00} }, // note-off
+       { 1.50, 3, {0x80,   64, 0x00} }, // dup note-off
+       { 2.00, 3, {0x80,   64, 0x00} }, // 3rd note-off
+       { 3.00, 3, {0x90,   66, 0x7f} },
+       { 3.50, 3, {0x90,   66, 0x00} }, // note-on velocity zero
+       { 3.75, 3, {0x80,   66, 0x00} }, // note-off
+       { 4.00, 3, {0xff,  255, 0xff} }, // sentinel
+};
+
+static const MIDISequence s8[] = { // sysex
+       { 0.00, 10, {0xf0, 0x7f, 0x7f, 0x01, 0x01, /*hour + tc */ 0x20, /*min*/ 0x00, /*sec*/ 0x00, /*frame*/ 0x00, 0xf7} },  // 25fps, 00:00:00:00
+       // quarter frames spacing (in samples) at 25fps: SR / (25 * 4)
+       // DummyMidiPort::setup_generator uses 120bpm ie (SR / 2)
+       // hence the spacing is: SR / (25 * 4) / (SR / 2) = 0.2
+       { 1.00,  2, {0xf1, 0x00} },
+       { 1.02,  2, {0xf1, 0x10} },
+       { 1.04,  2, {0xf1, 0x20} },
+       { 1.06,  2, {0xf1, 0x30} },
+       { 1.08,  2, {0xf1, 0x40} },
+       { 1.10,  2, {0xf1, 0x50} },
+       { 1.12,  2, {0xf1, 0x60} },
+       { 1.14,  2, {0xf1, 0x72} },
+
+       { 1.16,  2, {0xf1, 0x02} },
+       { 1.18,  2, {0xf1, 0x10} },
+       { 1.20,  2, {0xf1, 0x20} },
+       { 1.22,  2, {0xf1, 0x30} },
+       { 1.24,  2, {0xf1, 0x40} },
+       { 1.26,  2, {0xf1, 0x50} },
+       { 1.28,  2, {0xf1, 0x60} },
+       { 1.30,  2, {0xf1, 0x72} },
+
+       { 1.32,  2, {0xf1, 0x04} },
+       { 1.34,  2, {0xf1, 0x10} },
+       { 1.36,  2, {0xf1, 0x20} },
+       { 1.38,  2, {0xf1, 0x30} },
+       { 1.40,  2, {0xf1, 0x40} },
+       { 1.42,  2, {0xf1, 0x50} },
+       { 1.43,  2, {0xf1, 0x60} },
+       { 1.46,  2, {0xf1, 0x72} },
+
+       { 1.48,  2, {0xf1, 0x06} },
+       { 1.50,  2, {0xf1, 0x10} },
+       { 1.52,  2, {0xf1, 0x20} },
+       { 1.54,  2, {0xf1, 0x30} },
+       { 1.56,  2, {0xf1, 0x40} },
+       { 1.58,  2, {0xf1, 0x50} },
+       { 1.60,  2, {0xf1, 0x60} },
+       { 1.62,  2, {0xf1, 0x72} },
+
+       { 1.64,  2, {0xf1, 0x08} },
+       { 1.66,  2, {0xf1, 0x10} },
+       { 1.68,  2, {0xf1, 0x20} },
+       { 1.70,  2, {0xf1, 0x30} },
+       { 1.72,  2, {0xf1, 0x40} },
+       { 1.74,  2, {0xf1, 0x50} },
+       { 1.76,  2, {0xf1, 0x60} },
+       { 1.78,  2, {0xf1, 0x72} },
+
+       { 1.80,  2, {0xf1, 0x0a} },
+       { 1.82,  2, {0xf1, 0x10} },
+       { 1.84,  2, {0xf1, 0x20} },
+       { 1.86,  2, {0xf1, 0x30} },
+       { 1.88,  2, {0xf1, 0x40} },
+       { 1.90,  2, {0xf1, 0x50} },
+       { 1.92,  2, {0xf1, 0x60} },
+       { 1.94,  2, {0xf1, 0x72} },
+
+       { 1.96,  2, {0xf1, 0x0c} },
+       { 1.98,  2, {0xf1, 0x10} },
+       { 2.00,  2, {0xf1, 0x20} },
+       { 2.02,  2, {0xf1, 0x30} },
+       { 2.04,  2, {0xf1, 0x40} },
+       { 2.06,  2, {0xf1, 0x50} },
+       { 2.08,  2, {0xf1, 0x60} },
+       { 2.10,  2, {0xf1, 0x72} },
+
+       { 2.12,  2, {0xf1, 0x0e} },
+       { 2.14,  2, {0xf1, 0x10} },
+       { 2.16,  2, {0xf1, 0x20} },
+       { 2.18,  2, {0xf1, 0x30} },
+       { 2.20,  2, {0xf1, 0x40} },
+       { 2.22,  2, {0xf1, 0x50} },
+       { 2.24,  2, {0xf1, 0x60} },
+       { 2.26,  2, {0xf1, 0x72} },
+
+       { 2.28,  2, {0xf1, 0x00} },
+       { 2.30,  2, {0xf1, 0x11} },
+       { 2.32,  2, {0xf1, 0x20} },
+       { 2.34,  2, {0xf1, 0x30} },
+       { 2.36,  2, {0xf1, 0x40} },
+       { 2.38,  2, {0xf1, 0x50} },
+       { 2.40,  2, {0xf1, 0x60} },
+       { 2.42,  2, {0xf1, 0x72} },
+
+       { 2.44,  2, {0xf1, 0x02} },
+       { 2.46,  2, {0xf1, 0x11} },
+       { 2.48,  2, {0xf1, 0x20} },
+       { 2.50,  2, {0xf1, 0x30} },
+       { 2.52,  2, {0xf1, 0x40} },
+       { 2.54,  2, {0xf1, 0x50} },
+       { 2.56,  2, {0xf1, 0x60} },
+       { 2.58,  2, {0xf1, 0x72} },
+
+       { 2.60,  2, {0xf1, 0x04} },
+       { 2.62,  2, {0xf1, 0x11} },
+       { 2.64,  2, {0xf1, 0x20} },
+       { 2.66,  2, {0xf1, 0x30} },
+       { 2.68,  2, {0xf1, 0x40} },
+       { 2.70,  2, {0xf1, 0x50} },
+       { 2.72,  2, {0xf1, 0x60} },
+       { 2.74,  2, {0xf1, 0x72} },
+
+       { 2.76,  2, {0xf1, 0x06} },
+       { 2.78,  2, {0xf1, 0x11} },
+       { 2.80,  2, {0xf1, 0x20} },
+       { 2.82,  2, {0xf1, 0x30} },
+       { 2.84,  2, {0xf1, 0x40} },
+       { 2.86,  2, {0xf1, 0x50} },
+       { 2.88,  2, {0xf1, 0x60} },
+       { 2.90,  2, {0xf1, 0x72} },
+
+       { 2.92,  2, {0xf1, 0x08} },
+       { 2.94,  2, {0xf1, 0x11} },
+       { 2.96,  2, {0xf1, 0x20} },
+       { 2.98,  2, {0xf1, 0x30} },
+       { 3.00,  2, {0xf1, 0x40} },
+       { 3.02,  2, {0xf1, 0x50} },
+       { 3.04,  2, {0xf1, 0x60} },
+       { 3.06,  2, {0xf1, 0x72} },
+
+       { 3.08,  2, {0xf1, 0x01} },
+       { 3.10,  2, {0xf1, 0x10} },
+       { 3.12,  2, {0xf1, 0x21} },
+       { 3.14,  2, {0xf1, 0x30} },
+       { 3.16,  2, {0xf1, 0x40} },
+       { 3.18,  2, {0xf1, 0x50} },
+       { 3.20,  2, {0xf1, 0x60} },
+       { 3.22,  2, {0xf1, 0x72} },
+
+       { 3.24,  2, {0xf1, 0x03} },
+       { 3.26,  2, {0xf1, 0x10} },
+       { 3.28,  2, {0xf1, 0x21} },
+       { 3.30,  2, {0xf1, 0x30} },
+       { 3.32,  2, {0xf1, 0x40} },
+       { 3.34,  2, {0xf1, 0x50} },
+       { 3.36,  2, {0xf1, 0x60} },
+       { 3.38,  2, {0xf1, 0x72} },
+
+       { 3.40,  2, {0xf1, 0x05} },
+       { 3.42,  2, {0xf1, 0x10} },
+       { 3.44,  2, {0xf1, 0x21} },
+       { 3.46,  2, {0xf1, 0x30} },
+       { 3.48,  2, {0xf1, 0x40} },
+       { 3.50,  2, {0xf1, 0x50} },
+       { 3.52,  2, {0xf1, 0x60} },
+       { 3.54,  2, {0xf1, 0x72} },
+
+       { 3.56,  2, {0xf1, 0x07} },
+       { 3.58,  2, {0xf1, 0x10} },
+       { 3.60,  2, {0xf1, 0x21} },
+       { 3.62,  2, {0xf1, 0x30} },
+       { 3.64,  2, {0xf1, 0x40} },
+       { 3.66,  2, {0xf1, 0x50} },
+       { 3.68,  2, {0xf1, 0x60} },
+       { 3.70,  2, {0xf1, 0x72} },
+
+       { 3.72,  2, {0xf1, 0x09} },
+       { 3.74,  2, {0xf1, 0x10} },
+       { 3.76,  2, {0xf1, 0x21} },
+       { 3.78,  2, {0xf1, 0x30} },
+       { 3.80,  2, {0xf1, 0x40} },
+       { 3.82,  2, {0xf1, 0x50} },
+       { 3.84,  2, {0xf1, 0x60} },
+       { 3.86,  2, {0xf1, 0x72} },
+
+       { 3.88,  2, {0xf1, 0x0b} },
+       { 3.90,  2, {0xf1, 0x10} },
+       { 3.92,  2, {0xf1, 0x21} },
+       { 3.94,  2, {0xf1, 0x30} },
+       { 3.96,  2, {0xf1, 0x40} },
+       { 3.98,  2, {0xf1, 0x50} },
+       { 4.00,  2, {0xf1, 0x60} },
+       { 4.02,  2, {0xf1, 0x72} },
+
+       { 4.04,  2, {0xf1, 0x0d} },
+       { 4.06,  2, {0xf1, 0x10} },
+       { 4.08,  2, {0xf1, 0x21} },
+       { 4.10,  2, {0xf1, 0x30} },
+       { 4.12,  2, {0xf1, 0x40} },
+       { 4.14,  2, {0xf1, 0x50} },
+       { 4.16,  2, {0xf1, 0x60} },
+       { 4.18,  2, {0xf1, 0x72} },
+
+       { 4.20,  2, {0xf1, 0x0f} },
+       { 4.22,  2, {0xf1, 0x10} },
+       { 4.24,  2, {0xf1, 0x21} },
+       { 4.26,  2, {0xf1, 0x30} },
+       { 4.28,  2, {0xf1, 0x40} },
+       { 4.30,  2, {0xf1, 0x50} },
+       { 4.32,  2, {0xf1, 0x60} },
+       { 4.34,  2, {0xf1, 0x72} },
+
+       { 4.36,  2, {0xf1, 0x01} },
+       { 4.38,  2, {0xf1, 0x11} },
+       { 4.40,  2, {0xf1, 0x21} },
+       { 4.42,  2, {0xf1, 0x30} },
+       { 4.44,  2, {0xf1, 0x40} },
+       { 4.46,  2, {0xf1, 0x50} },
+       { 4.48,  2, {0xf1, 0x60} },
+       { 4.50,  2, {0xf1, 0x72} },
+
+       { 4.52,  2, {0xf1, 0x03} },
+       { 4.54,  2, {0xf1, 0x11} },
+       { 4.56,  2, {0xf1, 0x21} },
+       { 4.58,  2, {0xf1, 0x30} },
+       { 4.60,  2, {0xf1, 0x40} },
+       { 4.62,  2, {0xf1, 0x50} },
+       { 4.64,  2, {0xf1, 0x60} },
+       { 4.66,  2, {0xf1, 0x72} },
+
+       { 4.68,  2, {0xf1, 0x05} },
+       { 4.70,  2, {0xf1, 0x11} },
+       { 4.72,  2, {0xf1, 0x21} },
+       { 4.74,  2, {0xf1, 0x30} },
+       { 4.76,  2, {0xf1, 0x40} },
+       { 4.78,  2, {0xf1, 0x50} },
+       { 4.80,  2, {0xf1, 0x60} },
+       { 4.82,  2, {0xf1, 0x72} },
+
+       { 4.84,  2, {0xf1, 0x07} },
+       { 4.86,  2, {0xf1, 0x11} },
+       { 4.88,  2, {0xf1, 0x21} },
+       { 4.90,  2, {0xf1, 0x30} },
+       { 4.92,  2, {0xf1, 0x40} },
+       { 4.94,  2, {0xf1, 0x50} },
+       { 4.96,  2, {0xf1, 0x60} },
+       { 4.98,  2, {0xf1, 0x72} },
+
+       { 5.00,  3, {0xff,  255, 0xff} }, // sentinel
+};
+
 static const MIDISequence *sequences[] = {
-       s0, s1, s2, s3
+       s0, s1, s2, s3, s4, s5, s6, s7, s8
+};
+
+static const char *sequence_names[] = {
+       "Short Sequence",
+       "Cmaj7, all channels",
+       "Note Sweep, chan 1",
+       "Velocity Sweep, chan 1",
+       "Sustain Pedal Test",
+       "CCs only",
+       "Aftertouch",
+       "Nonsense, Dups",
+       "MTC (2sec)"
 };
 
 }} // namespace