X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fbackends%2Fdummy%2Fdummy_midi_seq.h;h=e809a47371242a2e1c8b72b6d506279b8921b959;hb=8fff1f290a5d3f457b734721a7afc63d5f8b3205;hp=da16fb78df1af0acf28b38a0c5709bbcae2a0714;hpb=e148ee52ab2bb0234f8c183cee422c2dfa1982a4;p=ardour.git diff --git a/libs/backends/dummy/dummy_midi_seq.h b/libs/backends/dummy/dummy_midi_seq.h index da16fb78df..e809a47371 100644 --- a/libs/backends/dummy/dummy_midi_seq.h +++ b/libs/backends/dummy/dummy_midi_seq.h @@ -733,7 +733,41 @@ static const MIDISequence s4[] = { // channel1, sustain pedal test { 4.00, 3, {0xff, 255, 0xff} }, // sentinel }; -static const MIDISequence s5[] = { // channel1, nonsense +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 @@ -745,8 +779,253 @@ static const MIDISequence s5[] = { // channel1, nonsense { 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, s4, s5 + 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