fix tall .dmw loading
This commit is contained in:
parent
b037b07c30
commit
f42c689f97
|
@ -3090,15 +3090,17 @@ DivWavetable* DivEngine::waveFromFile(const char* path, bool addRaw) {
|
||||||
// read as .dmw
|
// read as .dmw
|
||||||
reader.seek(0,SEEK_SET);
|
reader.seek(0,SEEK_SET);
|
||||||
int len=reader.readI();
|
int len=reader.readI();
|
||||||
|
logD("wave length %d",len);
|
||||||
if (len<=0 || len>256) {
|
if (len<=0 || len>256) {
|
||||||
throw EndOfFileException(&reader,reader.size());
|
throw EndOfFileException(&reader,reader.size());
|
||||||
}
|
}
|
||||||
|
wave->len=len;
|
||||||
wave->max=(unsigned char)reader.readC();
|
wave->max=(unsigned char)reader.readC();
|
||||||
if (wave->max==255) { // new wavetable format
|
if (wave->max==255) { // new wavetable format
|
||||||
unsigned char waveVersion=reader.readC();
|
unsigned char waveVersion=reader.readC();
|
||||||
logI("reading modern .dmw...");
|
logI("reading modern .dmw...");
|
||||||
logD("wave version %d",waveVersion);
|
logD("wave version %d",waveVersion);
|
||||||
wave->max=reader.readC();
|
wave->max=(unsigned char)reader.readC();
|
||||||
for (int i=0; i<len; i++) {
|
for (int i=0; i<len; i++) {
|
||||||
wave->data[i]=reader.readI();
|
wave->data[i]=reader.readI();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue