Dummy Backend: remove hardcoded MTC sequence

This commit is contained in:
Robin Gareus 2020-05-12 00:06:35 +02:00
parent 7c15ad099f
commit feaf87d200
No known key found for this signature in database
GPG key ID: A090BCE02CF57F04
2 changed files with 4 additions and 467 deletions

View file

@ -47,7 +47,7 @@ namespace DummyMidiData {
typedef struct _MIDISequence {
float beat_time;
uint8_t size;
uint8_t event[10];
uint8_t event[3];
} MIDISequence;
};

View file

@ -779,474 +779,12 @@ static const MIDISequence s7[] = { // 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} },
/* 00:00:01:01 */
{ 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} },
/* 00:00:02:00 */
{ 5.00, 2, {0xf1, 0x00} },
{ 5.02, 2, {0xf1, 0x10} },
{ 5.04, 2, {0xf1, 0x22} },
{ 5.06, 2, {0xf1, 0x30} },
{ 5.08, 2, {0xf1, 0x40} },
{ 5.10, 2, {0xf1, 0x50} },
{ 5.12, 2, {0xf1, 0x60} },
{ 5.14, 2, {0xf1, 0x72} },
{ 5.16, 2, {0xf1, 0x02} },
{ 5.18, 2, {0xf1, 0x10} },
{ 5.20, 2, {0xf1, 0x22} },
{ 5.22, 2, {0xf1, 0x30} },
{ 5.24, 2, {0xf1, 0x40} },
{ 5.26, 2, {0xf1, 0x50} },
{ 5.28, 2, {0xf1, 0x60} },
{ 5.30, 2, {0xf1, 0x72} },
{ 5.32, 2, {0xf1, 0x04} },
{ 5.34, 2, {0xf1, 0x10} },
{ 5.36, 2, {0xf1, 0x22} },
{ 5.38, 2, {0xf1, 0x30} },
{ 5.40, 2, {0xf1, 0x40} },
{ 5.42, 2, {0xf1, 0x50} },
{ 5.43, 2, {0xf1, 0x60} },
{ 5.46, 2, {0xf1, 0x72} },
{ 5.48, 2, {0xf1, 0x06} },
{ 5.50, 2, {0xf1, 0x10} },
{ 5.52, 2, {0xf1, 0x22} },
{ 5.54, 2, {0xf1, 0x30} },
{ 5.56, 2, {0xf1, 0x40} },
{ 5.58, 2, {0xf1, 0x50} },
{ 5.60, 2, {0xf1, 0x60} },
{ 5.62, 2, {0xf1, 0x72} },
{ 5.64, 2, {0xf1, 0x08} },
{ 5.66, 2, {0xf1, 0x10} },
{ 5.68, 2, {0xf1, 0x22} },
{ 5.70, 2, {0xf1, 0x30} },
{ 5.72, 2, {0xf1, 0x40} },
{ 5.74, 2, {0xf1, 0x50} },
{ 5.76, 2, {0xf1, 0x60} },
{ 5.78, 2, {0xf1, 0x72} },
{ 5.80, 2, {0xf1, 0x0a} },
{ 5.82, 2, {0xf1, 0x10} },
{ 5.84, 2, {0xf1, 0x22} },
{ 5.86, 2, {0xf1, 0x30} },
{ 5.88, 2, {0xf1, 0x40} },
{ 5.90, 2, {0xf1, 0x50} },
{ 5.92, 2, {0xf1, 0x60} },
{ 5.94, 2, {0xf1, 0x72} },
{ 5.96, 2, {0xf1, 0x0c} },
{ 5.98, 2, {0xf1, 0x10} },
{ 6.00, 2, {0xf1, 0x22} },
{ 6.02, 2, {0xf1, 0x30} },
{ 6.04, 2, {0xf1, 0x40} },
{ 6.06, 2, {0xf1, 0x50} },
{ 6.08, 2, {0xf1, 0x60} },
{ 6.10, 2, {0xf1, 0x72} },
{ 6.12, 2, {0xf1, 0x0e} },
{ 6.14, 2, {0xf1, 0x10} },
{ 6.16, 2, {0xf1, 0x22} },
{ 6.18, 2, {0xf1, 0x30} },
{ 6.20, 2, {0xf1, 0x40} },
{ 6.22, 2, {0xf1, 0x50} },
{ 6.24, 2, {0xf1, 0x60} },
{ 6.26, 2, {0xf1, 0x72} },
{ 6.28, 2, {0xf1, 0x00} },
{ 6.30, 2, {0xf1, 0x11} },
{ 6.32, 2, {0xf1, 0x22} },
{ 6.34, 2, {0xf1, 0x30} },
{ 6.36, 2, {0xf1, 0x40} },
{ 6.38, 2, {0xf1, 0x50} },
{ 6.40, 2, {0xf1, 0x60} },
{ 6.42, 2, {0xf1, 0x72} },
{ 6.44, 2, {0xf1, 0x02} },
{ 6.46, 2, {0xf1, 0x11} },
{ 6.48, 2, {0xf1, 0x22} },
{ 6.50, 2, {0xf1, 0x30} },
{ 6.52, 2, {0xf1, 0x40} },
{ 6.54, 2, {0xf1, 0x50} },
{ 6.56, 2, {0xf1, 0x60} },
{ 6.58, 2, {0xf1, 0x72} },
{ 6.60, 2, {0xf1, 0x04} },
{ 6.62, 2, {0xf1, 0x11} },
{ 6.64, 2, {0xf1, 0x22} },
{ 6.66, 2, {0xf1, 0x30} },
{ 6.68, 2, {0xf1, 0x40} },
{ 6.70, 2, {0xf1, 0x50} },
{ 6.72, 2, {0xf1, 0x60} },
{ 6.74, 2, {0xf1, 0x72} },
{ 6.76, 2, {0xf1, 0x06} },
{ 6.78, 2, {0xf1, 0x11} },
{ 6.80, 2, {0xf1, 0x22} },
{ 6.82, 2, {0xf1, 0x30} },
{ 6.84, 2, {0xf1, 0x40} },
{ 6.86, 2, {0xf1, 0x50} },
{ 6.88, 2, {0xf1, 0x60} },
{ 6.90, 2, {0xf1, 0x72} },
{ 6.92, 2, {0xf1, 0x08} },
{ 6.94, 2, {0xf1, 0x11} },
{ 6.96, 2, {0xf1, 0x22} },
{ 6.98, 2, {0xf1, 0x30} },
{ 7.00, 2, {0xf1, 0x40} },
{ 7.02, 2, {0xf1, 0x50} },
{ 7.04, 2, {0xf1, 0x60} },
{ 7.06, 2, {0xf1, 0x72} },
/* 00:00:03:01 */
{ 7.08, 2, {0xf1, 0x01} },
{ 7.10, 2, {0xf1, 0x10} },
{ 7.12, 2, {0xf1, 0x23} },
{ 7.14, 2, {0xf1, 0x30} },
{ 7.16, 2, {0xf1, 0x40} },
{ 7.18, 2, {0xf1, 0x50} },
{ 7.20, 2, {0xf1, 0x60} },
{ 7.22, 2, {0xf1, 0x72} },
{ 7.24, 2, {0xf1, 0x03} },
{ 7.26, 2, {0xf1, 0x10} },
{ 7.28, 2, {0xf1, 0x23} },
{ 7.30, 2, {0xf1, 0x30} },
{ 7.32, 2, {0xf1, 0x40} },
{ 7.34, 2, {0xf1, 0x50} },
{ 7.36, 2, {0xf1, 0x60} },
{ 7.38, 2, {0xf1, 0x72} },
{ 7.40, 2, {0xf1, 0x05} },
{ 7.42, 2, {0xf1, 0x10} },
{ 7.44, 2, {0xf1, 0x23} },
{ 7.46, 2, {0xf1, 0x30} },
{ 7.48, 2, {0xf1, 0x40} },
{ 7.50, 2, {0xf1, 0x50} },
{ 7.52, 2, {0xf1, 0x60} },
{ 7.54, 2, {0xf1, 0x72} },
{ 7.56, 2, {0xf1, 0x07} },
{ 7.58, 2, {0xf1, 0x10} },
{ 7.60, 2, {0xf1, 0x23} },
{ 7.62, 2, {0xf1, 0x30} },
{ 7.64, 2, {0xf1, 0x40} },
{ 7.66, 2, {0xf1, 0x50} },
{ 7.68, 2, {0xf1, 0x60} },
{ 7.70, 2, {0xf1, 0x72} },
{ 7.72, 2, {0xf1, 0x09} },
{ 7.74, 2, {0xf1, 0x10} },
{ 7.76, 2, {0xf1, 0x23} },
{ 7.78, 2, {0xf1, 0x30} },
{ 7.80, 2, {0xf1, 0x40} },
{ 7.82, 2, {0xf1, 0x50} },
{ 7.84, 2, {0xf1, 0x60} },
{ 7.86, 2, {0xf1, 0x72} },
{ 7.88, 2, {0xf1, 0x0b} },
{ 7.90, 2, {0xf1, 0x10} },
{ 7.92, 2, {0xf1, 0x23} },
{ 7.94, 2, {0xf1, 0x30} },
{ 7.96, 2, {0xf1, 0x40} },
{ 7.98, 2, {0xf1, 0x50} },
{ 8.00, 2, {0xf1, 0x60} },
{ 8.02, 2, {0xf1, 0x72} },
{ 8.04, 2, {0xf1, 0x0d} },
{ 8.06, 2, {0xf1, 0x10} },
{ 8.08, 2, {0xf1, 0x23} },
{ 8.10, 2, {0xf1, 0x30} },
{ 8.12, 2, {0xf1, 0x40} },
{ 8.14, 2, {0xf1, 0x50} },
{ 8.16, 2, {0xf1, 0x60} },
{ 8.18, 2, {0xf1, 0x72} },
{ 8.20, 2, {0xf1, 0x0f} },
{ 8.22, 2, {0xf1, 0x10} },
{ 8.24, 2, {0xf1, 0x23} },
{ 8.26, 2, {0xf1, 0x30} },
{ 8.28, 2, {0xf1, 0x40} },
{ 8.30, 2, {0xf1, 0x50} },
{ 8.32, 2, {0xf1, 0x60} },
{ 8.34, 2, {0xf1, 0x72} },
{ 8.36, 2, {0xf1, 0x01} },
{ 8.38, 2, {0xf1, 0x11} },
{ 8.40, 2, {0xf1, 0x23} },
{ 8.42, 2, {0xf1, 0x30} },
{ 8.44, 2, {0xf1, 0x40} },
{ 8.46, 2, {0xf1, 0x50} },
{ 8.48, 2, {0xf1, 0x60} },
{ 8.50, 2, {0xf1, 0x72} },
{ 8.52, 2, {0xf1, 0x03} },
{ 8.54, 2, {0xf1, 0x11} },
{ 8.56, 2, {0xf1, 0x23} },
{ 8.58, 2, {0xf1, 0x30} },
{ 8.60, 2, {0xf1, 0x40} },
{ 8.62, 2, {0xf1, 0x50} },
{ 8.64, 2, {0xf1, 0x60} },
{ 8.66, 2, {0xf1, 0x72} },
{ 8.68, 2, {0xf1, 0x05} },
{ 8.70, 2, {0xf1, 0x11} },
{ 8.72, 2, {0xf1, 0x23} },
{ 8.74, 2, {0xf1, 0x30} },
{ 8.76, 2, {0xf1, 0x40} },
{ 8.78, 2, {0xf1, 0x50} },
{ 8.80, 2, {0xf1, 0x60} },
{ 8.82, 2, {0xf1, 0x72} },
{ 8.84, 2, {0xf1, 0x07} },
{ 8.86, 2, {0xf1, 0x11} },
{ 8.88, 2, {0xf1, 0x23} },
{ 8.90, 2, {0xf1, 0x30} },
{ 8.92, 2, {0xf1, 0x40} },
{ 8.94, 2, {0xf1, 0x50} },
{ 8.96, 2, {0xf1, 0x60} },
{ 8.98, 2, {0xf1, 0x72} },
/* 1 sec pause */
};
static const MIDISequence s9[] = {
static const MIDISequence s8[] = {
{-1.0, 0, {0} }, // MTC Generator
};
static const MIDISequence *sequences[] = {
s0, s1, s2, s3, s4, s5, s6, s7, s8, s9
s0, s1, s2, s3, s4, s5, s6, s7, s8
};
static const char *sequence_names[] = {
@ -1258,8 +796,7 @@ static const char *sequence_names[] = {
"CCs only",
"Aftertouch",
"Nonsense, Dups",
"MTC (4sec)",
"MTC (gen)"
"MTC 25fps"
};
}} // namespace