From 3db127ce64eadb54568e218124744a1de713667e Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Thu, 31 Dec 2015 23:49:04 +0800 Subject: Inanimate Dream. (WTF) --- qmpmidiread.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'qmpmidiread.cpp') diff --git a/qmpmidiread.cpp b/qmpmidiread.cpp index b960369..0d9a7bc 100644 --- a/qmpmidiread.cpp +++ b/qmpmidiread.cpp @@ -130,7 +130,17 @@ retry: { ++byteread;if(str)str[c]=fgetc(f);else fgetc(f); } - eventList[eventc++]=new SEvent(curid,curt,type,metatype,0,str); + if(str)str[c]='\0';eventList[eventc++]=new SEvent(curid,curt,type,metatype,0,str); + if(str&&metatype==0x03&&!title) + { + title=new char[len+8]; + strcpy(title,str); + } + if(str&&metatype==0x02&&!copyright) + { + copyright=new char[len+8]; + strcpy(copyright,str); + } if(len<=1024&&len>0)delete[] str; } } @@ -188,6 +198,7 @@ void CMidiFile::chunkReader(int hdrXp) } CMidiFile::CMidiFile(const char* fn) { + title=copyright=NULL; if(!(f=fopen(fn,"rb")))exit((printf("E: file %s doesn't exist!\n",fn),2)); chunkReader(1); for(uint32_t i=0;i