Merge pull request #15377 from mrcdk/wav_correct_loop

Fixed loop mode values when importing a wav file.
This commit is contained in:
Rémi Verschelde 2018-01-08 14:52:19 +01:00 committed by GitHub
commit 0edca99361
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -268,9 +268,15 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
for (int i = 0; i < 10; i++)
file->get_32(); // i wish to know why should i do this... no doc!
loop = file->get_32() ? AudioStreamSample::LOOP_PING_PONG : AudioStreamSample::LOOP_FORWARD;
loop_begin = file->get_32();
loop_end = file->get_32();
// only read 0x00 (loop forward) and 0x01 (loop ping-pong) and skip anything else because
// it's not supported (loop backward), reserved for future uses or sampler specific
// from https://sites.google.com/site/musicgapi/technical-documents/wav-file-format#smpl (loop type values table)
int loop_type = file->get_32();
if (loop_type == 0x00 || loop_type == 0x01) {
loop = loop_type ? AudioStreamSample::LOOP_PING_PONG : AudioStreamSample::LOOP_FORWARD;
loop_begin = file->get_32();
loop_end = file->get_32();
}
}
file->seek(file_pos + chunksize);
}