diff options
Diffstat (limited to 'src/devices/sound/samples.cpp')
-rw-r--r-- | src/devices/sound/samples.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/devices/sound/samples.cpp b/src/devices/sound/samples.cpp index 5c8d129b799..7663d921475 100644 --- a/src/devices/sound/samples.cpp +++ b/src/devices/sound/samples.cpp @@ -605,26 +605,28 @@ bool samples_device::load_samples() // load the samples int index = 0; - for (const char *samplename = iter.first(); samplename != nullptr; index++, samplename = iter.next()) + for (const char *samplename = iter.first(); samplename; index++, samplename = iter.next()) { // attempt to open as FLAC first emu_file file(machine().options().sample_path(), OPEN_FLAG_READ); - osd_file::error filerr = file.open(util::string_format("%s" PATH_SEPARATOR "%s.flac", basename, samplename)); - if (filerr != osd_file::error::NONE && altbasename != nullptr) + std::error_condition filerr = file.open(util::string_format("%s" PATH_SEPARATOR "%s.flac", basename, samplename)); + if (filerr && altbasename) filerr = file.open(util::string_format("%s" PATH_SEPARATOR "%s.flac", altbasename, samplename)); // if not, try as WAV - if (filerr != osd_file::error::NONE) + if (filerr) filerr = file.open(util::string_format("%s" PATH_SEPARATOR "%s.wav", basename, samplename)); - if (filerr != osd_file::error::NONE && altbasename != nullptr) + if (filerr && altbasename) filerr = file.open(util::string_format("%s" PATH_SEPARATOR "%s.wav", altbasename, samplename)); // if opened, read it - if (filerr == osd_file::error::NONE) + if (!filerr) + { read_sample(file, m_sample[index]); - else if (filerr == osd_file::error::NOT_FOUND) + } + else { - logerror("%s: Sample '%s' NOT FOUND\n", tag(), samplename); + logerror("Error opening sample '%s' (%s:%d %s)\n", samplename, filerr.category().name(), filerr.value(), filerr.message()); ok = false; } } |