Don't re-sort the enumerated HRTF list

This commit is contained in:
Chris Robinson
2019-12-08 22:09:21 -08:00
parent 0afb5a2ab9
commit e43c2bba61
+13 -13
View File
@@ -1113,12 +1113,11 @@ bool checkName(const std::string &name)
void AddFileEntry(const std::string &filename)
{
/* Check if this file has already been loaded globally. */
auto enum_iter = std::lower_bound(EnumeratedHrtfs.cbegin(), EnumeratedHrtfs.cend(), filename,
[](const HrtfEntry &entry, const std::string &fname) -> bool
{ return entry.mFilename < fname; }
);
if(enum_iter != EnumeratedHrtfs.cend() && enum_iter->mFilename == filename)
/* Check if this file has already been enumerated. */
auto enum_iter = std::find_if(EnumeratedHrtfs.cbegin(), EnumeratedHrtfs.cend(),
[&filename](const HrtfEntry &entry) -> bool
{ return entry.mFilename == filename; });
if(enum_iter != EnumeratedHrtfs.cend())
{
TRACE("Skipping duplicate file entry %s\n", filename.c_str());
return;
@@ -1142,7 +1141,8 @@ void AddFileEntry(const std::string &filename)
newname += " #";
newname += std::to_string(++count);
}
const HrtfEntry &entry = *EnumeratedHrtfs.insert(enum_iter, HrtfEntry{newname, filename});
EnumeratedHrtfs.emplace_back(HrtfEntry{newname, filename});
const HrtfEntry &entry = EnumeratedHrtfs.back();
TRACE("Adding file entry \"%s\"\n", entry.mFilename.c_str());
}
@@ -1154,11 +1154,10 @@ void AddBuiltInEntry(const std::string &dispname, ALuint residx)
{
const std::string filename{'!'+std::to_string(residx)+'_'+dispname};
auto enum_iter = std::lower_bound(EnumeratedHrtfs.cbegin(), EnumeratedHrtfs.cend(), filename,
[](const HrtfEntry &entry, const std::string &fname) -> bool
{ return entry.mFilename < fname; }
);
if(enum_iter != EnumeratedHrtfs.cend() && enum_iter->mFilename == filename)
auto enum_iter = std::find_if(EnumeratedHrtfs.cbegin(), EnumeratedHrtfs.cend(),
[&filename](const HrtfEntry &entry) -> bool
{ return entry.mFilename == filename; });
if(enum_iter != EnumeratedHrtfs.cend())
{
TRACE("Skipping duplicate file entry %s\n", filename.c_str());
return;
@@ -1175,7 +1174,8 @@ void AddBuiltInEntry(const std::string &dispname, ALuint residx)
newname += " #";
newname += std::to_string(++count);
}
const HrtfEntry &entry = *EnumeratedHrtfs.insert(enum_iter, HrtfEntry{newname, filename});
EnumeratedHrtfs.emplace_back(HrtfEntry{newname, filename});
const HrtfEntry &entry = EnumeratedHrtfs.back();
TRACE("Adding built-in entry \"%s\"\n", entry.mFilename.c_str());
}