mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-05 20:35:06 +00:00
fix loading 24-bit samples
This commit is contained in:
parent
e34de2262b
commit
b66cc81fc6
1 changed files with 8 additions and 2 deletions
|
@ -2221,8 +2221,14 @@ int DivEngine::addSampleFromFile(const char* path) {
|
||||||
buf=new short[si.channels*si.frames];
|
buf=new short[si.channels*si.frames];
|
||||||
sampleLen=sizeof(short);
|
sampleLen=sizeof(short);
|
||||||
}
|
}
|
||||||
if (sf_read_raw(f,buf,si.frames*si.channels*sampleLen)!=(si.frames*si.channels*sampleLen)) {
|
if ((si.format&SF_FORMAT_SUBMASK)==SF_FORMAT_PCM_U8 || (si.format&SF_FORMAT_SUBMASK)==SF_FORMAT_FLOAT) {
|
||||||
logW("sample read size mismatch!");
|
if (sf_read_raw(f,buf,si.frames*si.channels*sampleLen)!=(si.frames*si.channels*sampleLen)) {
|
||||||
|
logW("sample read size mismatch!");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (sf_read_short(f,(short*)buf,si.frames*si.channels)!=(si.frames*si.channels)) {
|
||||||
|
logW("sample read size mismatch!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
DivSample* sample=new DivSample;
|
DivSample* sample=new DivSample;
|
||||||
int sampleCount=(int)song.sample.size();
|
int sampleCount=(int)song.sample.size();
|
||||||
|
|
Loading…
Reference in a new issue