/* -*- Mode: C ; c-basic-offset: 2 -*- */ /***************************************************************************** * * DESCRIPTION: * * * NOTES: * * *****************************************************************************/ #include "caitlib.h" #include int main() { CaitlibHandle handle = caitlib_init("test"); const uint32_t port = caitlib_create_port(handle, "midi-outX"); int sampleRate = 44100; //jack_get_sample_rate(client); int m = sampleRate/1000; // whatever // 0 Par ch=1 c=7 v=99 // 0 Par ch=1 c=10 v=63 // 0 Par ch=1 c=0 v=0 caitlib_put_control(handle, port, 0*m, 0, 7, 99); caitlib_put_control(handle, port, 0*m, 0, 10, 63); caitlib_put_control(handle, port, 0*m, 0, 0, 0); // 0 PrCh ch=1 p=0 -- TODO jack_midi_put_program() // 0 On ch=1 n=64 v=90 // 325 Off ch=1 n=64 v=90 // 384 On ch=1 n=62 v=90 // 709 Off ch=1 n=62 v=90 // 768 On ch=1 n=60 v=90 // 1093 Off ch=1 n=60 v=90 caitlib_put_note_on(handle, port, 0*m, 0, 64, 90); caitlib_put_note_off(handle, port, 325*m, 0, 64, 90); caitlib_put_note_on(handle, port, 384*m, 0, 62, 90); caitlib_put_note_off(handle, port, 709*m, 0, 62, 90); caitlib_put_note_on(handle, port, 768*m, 0, 60, 90); caitlib_put_note_off(handle, port, 1093*m, 0, 60, 90); // 1152 On ch=1 n=62 v=90 // 1477 Off ch=1 n=62 v=90 // 1536 On ch=1 n=64 v=90 // 1861 Off ch=1 n=64 v=90 // 1920 On ch=1 n=64 v=90 // 2245 Off ch=1 n=64 v=90 caitlib_put_note_on(handle, port, 1152*m, 0, 62, 90); caitlib_put_note_off(handle, port, 1477*m, 0, 62, 90); caitlib_put_note_on(handle, port, 1536*m, 0, 64, 90); caitlib_put_note_off(handle, port, 1861*m, 0, 64, 90); caitlib_put_note_on(handle, port, 1920*m, 0, 64, 90); caitlib_put_note_off(handle, port, 2245*m, 0, 64, 90); // 2304 On ch=1 n=64 v=90 // 2955 Off ch=1 n=64 v=90 // 3072 On ch=1 n=62 v=90 // 3397 Off ch=1 n=62 v=90 // 3456 On ch=1 n=62 v=90 // 3781 Off ch=1 n=62 v=90 caitlib_put_note_on(handle, port, 2304*m, 0, 64, 90); caitlib_put_note_off(handle, port, 2955*m, 0, 64, 90); caitlib_put_note_on(handle, port, 3072*m, 0, 62, 90); caitlib_put_note_off(handle, port, 3397*m, 0, 62, 90); caitlib_put_note_on(handle, port, 3456*m, 0, 62, 90); caitlib_put_note_off(handle, port, 3781*m, 0, 62, 90); // 3840 On ch=1 n=62 v=90 // 4491 Off ch=1 n=62 v=90 // 4608 On ch=1 n=64 v=90 // 4933 Off ch=1 n=64 v=90 // 4992 On ch=1 n=67 v=90 // 5317 Off ch=1 n=67 v=90 caitlib_put_note_on(handle, port, 3840*m, 0, 62, 90); caitlib_put_note_off(handle, port, 4491*m, 0, 62, 90); caitlib_put_note_on(handle, port, 4608*m, 0, 64, 90); caitlib_put_note_off(handle, port, 4933*m, 0, 64, 90); caitlib_put_note_on(handle, port, 4992*m, 0, 67, 90); caitlib_put_note_off(handle, port, 5317*m, 0, 67, 90); // 5376 On ch=1 n=67 v=90 // 6027 Off ch=1 n=67 v=90 // 6144 On ch=1 n=64 v=90 // 6469 Off ch=1 n=64 v=90 // 6528 On ch=1 n=62 v=90 // 6853 Off ch=1 n=62 v=90 caitlib_put_note_on(handle, port, 5376*m, 0, 67, 90); caitlib_put_note_off(handle, port, 6027*m, 0, 67, 90); caitlib_put_note_on(handle, port, 6144*m, 0, 64, 90); caitlib_put_note_off(handle, port, 6469*m, 0, 64, 90); caitlib_put_note_on(handle, port, 6528*m, 0, 62, 90); caitlib_put_note_off(handle, port, 6853*m, 0, 62, 90); // 6912 On ch=1 n=60 v=90 // 7237 Off ch=1 n=60 v=90 // 7296 On ch=1 n=62 v=90 // 7621 Off ch=1 n=62 v=90 // 7680 On ch=1 n=64 v=90 // 8005 Off ch=1 n=64 v=90 caitlib_put_note_on(handle, port, 6912*m, 0, 60, 90); caitlib_put_note_off(handle, port, 7237*m, 0, 60, 90); caitlib_put_note_on(handle, port, 7296*m, 0, 62, 90); caitlib_put_note_off(handle, port, 7621*m, 0, 62, 90); caitlib_put_note_on(handle, port, 7680*m, 0, 64, 90); caitlib_put_note_off(handle, port, 8005*m, 0, 64, 90); // 8064 On ch=1 n=64 v=90 // 8389 Off ch=1 n=64 v=90 // 8448 On ch=1 n=64 v=90 // 9099 Off ch=1 n=64 v=90 // 9216 On ch=1 n=62 v=90 // 9541 Off ch=1 n=62 v=90 caitlib_put_note_on(handle, port, 8064*m, 0, 64, 90); caitlib_put_note_off(handle, port, 8389*m, 0, 64, 90); caitlib_put_note_on(handle, port, 8448*m, 0, 64, 90); caitlib_put_note_off(handle, port, 9099*m, 0, 64, 90); caitlib_put_note_on(handle, port, 9216*m, 0, 62, 90); caitlib_put_note_off(handle, port, 9541*m, 0, 62, 90); // 9600 On ch=1 n=62 v=90 // 9925 Off ch=1 n=62 v=90 // 9984 On ch=1 n=64 v=90 // 10309 Off ch=1 n=64 v=90 // 10368 On ch=1 n=62 v=90 // 10693 Off ch=1 n=62 v=90 caitlib_put_note_on(handle, port, 9600*m, 0, 62, 90); caitlib_put_note_off(handle, port, 9925*m, 0, 62, 90); caitlib_put_note_on(handle, port, 9984*m, 0, 64, 90); caitlib_put_note_off(handle, port, 10309*m, 0, 64, 90); caitlib_put_note_on(handle, port, 10368*m, 0, 62, 90); caitlib_put_note_off(handle, port, 10693*m, 0, 62, 90); // 10752 On ch=1 n=60 v=90 // 12056 Off ch=1 n=60 v=90 caitlib_put_note_on(handle, port, 10752*m, 0, 60, 90); caitlib_put_note_off(handle, port, 12056*m, 0, 60, 90); // 13824 Par ch=1 c=64 v=0 -- ?? while (1) sleep(1); caitlib_close(handle); return 0; }