diff --git a/distrho/DistrhoUtils.hpp b/distrho/DistrhoUtils.hpp index 3f88d045..f1253007 100644 --- a/distrho/DistrhoUtils.hpp +++ b/distrho/DistrhoUtils.hpp @@ -49,6 +49,9 @@ inline float inline float rint(float __x) { return __builtin_rintf(__x); } +inline float + round(float __x) + { return __builtin_roundf(__x); } } #endif @@ -70,44 +73,50 @@ long d_cconst(int a, int b, int c, int d) noexcept static inline void d_debug(const char* const fmt, ...) { - va_list args; - va_start(args, fmt); + ::va_list args; + ::va_start(args, fmt); std::fprintf(stdout, "\x1b[30;1m"); std::vfprintf(stdout, fmt, args); std::fprintf(stdout, "\x1b[0m\n"); - va_end(args); + ::va_end(args); } #endif static inline void d_stdout(const char* const fmt, ...) { - va_list args; - va_start(args, fmt); + ::va_list args; + ::va_start(args, fmt); std::vfprintf(stdout, fmt, args); std::fprintf(stdout, "\n"); - va_end(args); + ::va_end(args); } static inline void d_stderr(const char* const fmt, ...) { - va_list args; - va_start(args, fmt); + ::va_list args; + ::va_start(args, fmt); std::vfprintf(stderr, fmt, args); std::fprintf(stderr, "\n"); - va_end(args); + ::va_end(args); } static inline void d_stderr2(const char* const fmt, ...) { - va_list args; - va_start(args, fmt); + ::va_list args; + ::va_start(args, fmt); std::fprintf(stderr, "\x1b[31m"); std::vfprintf(stderr, fmt, args); std::fprintf(stderr, "\x1b[0m\n"); - va_end(args); + ::va_end(args); +} + +static inline +void d_safe_assert(const char* const assertion, const char* const file, const int line) +{ + d_stderr2("assertion failure: \"%s\" in file %s, line %i", assertion, file, line); } // ----------------------------------------------------------------------- @@ -117,9 +126,9 @@ static inline void d_sleep(unsigned int secs) { #ifdef DISTRHO_OS_WINDOWS - Sleep(secs * 1000); + ::Sleep(secs * 1000); #else - sleep(secs); + ::sleep(secs); #endif } @@ -127,9 +136,9 @@ static inline void d_msleep(unsigned int msecs) { #ifdef DISTRHO_OS_WINDOWS - Sleep(msecs); + ::Sleep(msecs); #else - usleep(msecs * 1000); + ::usleep(msecs * 1000); #endif }