diff --git a/src/projectM-engine/BuiltinParams.cpp b/src/projectM-engine/BuiltinParams.cpp index 84d6b12ab..c121d7259 100644 --- a/src/projectM-engine/BuiltinParams.cpp +++ b/src/projectM-engine/BuiltinParams.cpp @@ -46,7 +46,10 @@ int BuiltinParams::load_builtin_param_float(const std::string & name, void * eng fflush(stdout); } - if ((param = new Param(name, P_TYPE_DOUBLE, flags, engine_val, matrix, iv, ub, lb)) == NULL) +std::string lowerName(name); +std::transform(lowerName.begin(), lowerName.end(), lowerName.begin(), tolower); + + if ((param = new Param(lowerName, P_TYPE_DOUBLE, flags, engine_val, matrix, iv, ub, lb)) == NULL) { return PROJECTM_OUTOFMEM_ERROR; } @@ -119,6 +122,7 @@ Param * BuiltinParams::find_builtin_param(const std::string & name) { + AliasMap::iterator pos = aliasMap.find(name); Param * param = 0; //std::cerr << "[BuiltinParams] find_builtin_param: name is " << name << std::endl; @@ -158,7 +162,9 @@ int BuiltinParams::load_builtin_param_int(const std::string & name, void * engin ub.int_val = upper_bound; lb.int_val = lower_bound; - param = new Param(name, P_TYPE_INT, flags, engine_val, NULL, iv, ub, lb); +std::string lowerName(name); +std::transform(lowerName.begin(), lowerName.end(), lowerName.begin(), tolower); + param = new Param(lowerName, P_TYPE_INT, flags, engine_val, NULL, iv, ub, lb); if (param == NULL) { @@ -192,7 +198,10 @@ int BuiltinParams::load_builtin_param_bool(const std:: string & name, void * eng ub.int_val = TRUE; lb.int_val = false; - param = new Param(name, P_TYPE_BOOL, flags, engine_val, NULL, iv, ub, lb); +std::string lowerName(name); +std::transform(lowerName.begin(), lowerName.end(), lowerName.begin(), tolower); + + param = new Param(lowerName, P_TYPE_BOOL, flags, engine_val, NULL, iv, ub, lb); if (param == NULL) { diff --git a/src/projectM-engine/Parser.cpp b/src/projectM-engine/Parser.cpp index a4df2ad72..214251a22 100755 --- a/src/projectM-engine/Parser.cpp +++ b/src/projectM-engine/Parser.cpp @@ -80,7 +80,6 @@ token_t Parser::parseToken(std::istream & fs, char * string) { else c = fs.get(); - std::cerr << c; last_token_size++; /* If the string line buffer is full, quit */ if (string_line_buffer_index == (STRING_LINE_SIZE - 1)) @@ -160,14 +159,14 @@ token_t Parser::parseToken(std::istream & fs, char * string) { default: if (string != NULL) - string[i] = c; + string[i] = tolower(c); } - + } - + /* String reached maximum length, return special token error */ return tStringTooLong; - + } /* Parse input in the form of "exp, exp, exp, ...)" diff --git a/src/projectM-engine/PresetLoader.cpp b/src/projectM-engine/PresetLoader.cpp index aca8d82bb..63022eaf0 100644 --- a/src/projectM-engine/PresetLoader.cpp +++ b/src/projectM-engine/PresetLoader.cpp @@ -13,6 +13,8 @@ #include "Preset.hpp" #include #include +#include + extern "C" { #include @@ -68,6 +70,7 @@ void PresetLoader::rescan() } struct dirent * dir_entry; + std::set alphaSortedFileSet; while ((dir_entry = readdir(m_dir)) != NULL) { @@ -87,13 +90,15 @@ void PresetLoader::rescan() // Create full path name out << m_dirname << PATH_SEPARATOR << filename; - // std::cerr << "[PresetLoader]" << filename << std::endl; // Add to our directory entry collection - m_entries.push_back(out.str()); + alphaSortedFileSet.insert(out.str()); // the directory entry struct is freed elsewhere } + // Push all entries in order from the file set to the file entries member (which is an indexed vector) + for (std::set::iterator pos = alphaSortedFileSet.begin(); pos != alphaSortedFileSet.end();++pos) + m_entries.push_back(*pos); } std::auto_ptr PresetLoader::loadPreset(unsigned int index, const PresetInputs & presetInputs, PresetOutputs & presetOutputs) const