#define _POSIX_C_SOURCE 200809L #include "xtc/xtc_midi_file.h" #include "../../src/midi/output.h" #include #include #include #include #include static unsigned int read_vlq(const unsigned char *data,size_t size,size_t *at) { unsigned int value=0;unsigned char byte;int n=0; do{assert(*at=0);close(fd);assert(xtc_project_create(&p)==XTC_OK && xtc_project_add_track(p,"Keys",&t)==XTC_OK); assert(xtc_project_set_tempo(p,150000)==XTC_OK && xtc_project_add_midi_clip(p,t,1000,1920,&c)==XTC_OK); assert(xtc_project_add_note(p,c,0,480,60,80,2,&n)==XTC_OK && xtc_project_add_note(p,c,480,960,64,100,3,&n)==XTC_OK); assert(xtc_project_add_note(p,c,1600,100,72,70,0,&n)==XTC_OK); assert(xtc_project_edit_clip(p,c,t,1000,960,240)==XTC_OK); assert(xtc_project_export_midi_clip(p,c,path)==XTC_OK); f=fopen(path,"rb");assert(f);size=fread(bytes,1,sizeof(bytes),f);assert(fclose(f)==0); assert(size>22 && !memcmp(bytes,"MThd\0\0\0\6\0\0\0\1\3\300MTrk",18)); while(at