Fix BASSMODS IT input, and add MO3 signature check.
parent
7abc73fd07
commit
b5330c2839
|
@ -76,6 +76,8 @@ static void SyncProc( HSYNC handle, DWORD channel, DWORD data, void *user )
|
||||||
|
|
||||||
- (BOOL)open:(id<CogSource>)s
|
- (BOOL)open:(id<CogSource>)s
|
||||||
{
|
{
|
||||||
|
[self setSource:s];
|
||||||
|
|
||||||
[source seek:0 whence:SEEK_END];
|
[source seek:0 whence:SEEK_END];
|
||||||
long size = [source tell];
|
long size = [source tell];
|
||||||
[source seek:0 whence:SEEK_SET];
|
[source seek:0 whence:SEEK_SET];
|
||||||
|
@ -89,14 +91,12 @@ static void SyncProc( HSYNC handle, DWORD channel, DWORD data, void *user )
|
||||||
data = try_data;
|
data = try_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (memcmp(data, "IMPM", 4) != 0) {
|
if (size < 4 || (memcmp(data, "mo3", 3) != 0 && memcmp(data, "IMPM", 4) != 0)) {
|
||||||
ALog(@"BASS was passed a non-IT module");
|
ALog(@"BASS was passed a non-IT module");
|
||||||
free(data);
|
free(data);
|
||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
[self setSource:s];
|
|
||||||
|
|
||||||
NSURL * url = [s url];
|
NSURL * url = [s url];
|
||||||
int track_num;
|
int track_num;
|
||||||
if ([[url fragment] length] == 0)
|
if ([[url fragment] length] == 0)
|
||||||
|
|
Loading…
Reference in New Issue