diff options
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | qfunctionconfigurator/functionconfig.cpp | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 335eab80..33b2c7a7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -91,7 +91,7 @@ macro(opentrack_library n dir) target_link_libraries(${n} ${MY_QT_LIBS}) if(CMAKE_COMPILER_IS_GNUCXX AND NOT APPLE) SET_TARGET_PROPERTIES(${n} PROPERTIES - LINK_FLAGS "${foolib_LINK} -Wl,--version-script=${CMAKE_SOURCE_DIR}/opentrack/${version-script}-version-script.txt" + LINK_FLAGS "${foolib_LINK} -Wl,--version-script=\"${CMAKE_SOURCE_DIR}/opentrack/${version-script}-version-script.txt\"" COMPILE_FLAGS "${foolib_COMPILE} -fvisibility=hidden -fvisibility-inlines-hidden" ) else() diff --git a/qfunctionconfigurator/functionconfig.cpp b/qfunctionconfigurator/functionconfig.cpp index 4f808c80..e4a7e283 100644 --- a/qfunctionconfigurator/functionconfig.cpp +++ b/qfunctionconfigurator/functionconfig.cpp @@ -24,8 +24,12 @@ Map::Map() : float Map::getValue(float x) { QMutexLocker foo(&_mutex); - int x2 = x * (double) MEMOIZE_PRECISION; - float ret = getValueInternal(x2); + double q = x * (double) MEMOIZE_PRECISION; + int xi = (int)q; + float yi = getValueInternal(xi); + float yiplus1 = getValueInternal(xi+1); + float f = (q-xi); + float ret = yiplus1 * f + yi * (1.0f - f); // at least do a linear interpolation. last_input_value.setX(x); last_input_value.setY(ret); return ret; |