X-Git-Url: https://git.aubio.org/?p=aubio.git;a=blobdiff_plain;f=src%2Faubio_priv.h;h=72ba091d8752f238239e8dbe5747b6e89f847803;hp=f3562cc892a8c76db361c06898ccc8377c7d4c39;hb=cf19b8a8231deec641741007210ce57cd96332b5;hpb=e22356e7fa43cc9b7f7acd6f612b75950200efe6 diff --git a/src/aubio_priv.h b/src/aubio_priv.h index f3562cc8..72ba091d 100644 --- a/src/aubio_priv.h +++ b/src/aubio_priv.h @@ -64,6 +64,10 @@ #include // for CHAR_BIT, in C99 standard #endif +#ifdef HAVE_STDARG_H +#include +#endif + #ifdef HAVE_ACCELERATE #define HAVE_ATLAS 1 #include @@ -76,7 +80,7 @@ #ifdef HAVE_ACCELERATE #include -#if !HAVE_AUBIO_DOUBLE +#ifndef HAVE_AUBIO_DOUBLE #define aubio_vDSP_mmov vDSP_mmov #define aubio_vDSP_vmul vDSP_vmul #define aubio_vDSP_vfill vDSP_vfill @@ -102,7 +106,7 @@ #endif /* HAVE_ACCELERATE */ #ifdef HAVE_ATLAS -#if !HAVE_AUBIO_DOUBLE +#ifndef HAVE_AUBIO_DOUBLE #define aubio_catlas_set catlas_sset #define aubio_cblas_copy cblas_scopy #define aubio_cblas_swap cblas_sswap @@ -168,16 +172,23 @@ typedef enum { AUBIO_FAIL = 1 } aubio_status; +/* Logging */ + +#include "utils/log.h" + +/** internal logging function, defined in utils/log.c */ +uint_t aubio_log(sint_t level, const char_t *fmt, ...); + #ifdef HAVE_C99_VARARGS_MACROS -#define AUBIO_ERR(...) fprintf(stderr, "AUBIO ERROR: " __VA_ARGS__) -#define AUBIO_MSG(...) fprintf(stdout, __VA_ARGS__) -#define AUBIO_DBG(...) fprintf(stderr, __VA_ARGS__) -#define AUBIO_WRN(...) fprintf(stderr, "AUBIO WARNING: " __VA_ARGS__) +#define AUBIO_ERR(...) aubio_log(AUBIO_LOG_ERR, "AUBIO ERROR: " __VA_ARGS__) +#define AUBIO_MSG(...) aubio_log(AUBIO_LOG_MSG, __VA_ARGS__) +#define AUBIO_DBG(...) aubio_log(AUBIO_LOG_DBG, __VA_ARGS__) +#define AUBIO_WRN(...) aubio_log(AUBIO_LOG_WRN, "AUBIO WARNING: " __VA_ARGS__) #else -#define AUBIO_ERR(format, args...) fprintf(stderr, "AUBIO ERROR: " format , ##args) -#define AUBIO_MSG(format, args...) fprintf(stdout, format , ##args) -#define AUBIO_DBG(format, args...) fprintf(stderr, format , ##args) -#define AUBIO_WRN(format, args...) fprintf(stderr, "AUBIO WARNING: " format, ##args) +#define AUBIO_ERR(format, args...) aubio_log(stderr, "AUBIO ERROR: " format , ##args) +#define AUBIO_MSG(format, args...) aubio_log(stdout, format , ##args) +#define AUBIO_DBG(format, args...) aubio_log(stderr, format , ##args) +#define AUBIO_WRN(format, args...) aubio_log(stderr, "AUBIO WARNING: " format, ##args) #endif #define AUBIO_ERROR AUBIO_ERR @@ -185,6 +196,9 @@ typedef enum { #define AUBIO_QUIT(_s) exit(_s) #define AUBIO_SPRINTF sprintf +#define AUBIO_MAX_SAMPLERATE (192000*8) +#define AUBIO_MAX_CHANNELS 1024 + /* pi and 2*pi */ #ifndef M_PI #define PI (3.14159265358979323846) @@ -209,6 +223,7 @@ typedef enum { #define LOG logf #define FLOOR floorf #define CEIL ceilf +#define ATAN atanf #define ATAN2 atan2f #else #define EXP exp @@ -221,6 +236,7 @@ typedef enum { #define LOG log #define FLOOR floor #define CEIL ceil +#define ATAN atan #define ATAN2 atan2 #endif #define ROUND(x) FLOOR(x+.5) @@ -254,6 +270,11 @@ typedef enum { #define IMAG cimagf #endif +/* avoid unresolved symbol with msvc 9 */ +#if defined(_MSC_VER) && (_MSC_VER < 1900) +#define isnan _isnan +#endif + /* handy shortcuts */ #define DB2LIN(g) (POW(10.0,(g)*0.05f)) #define LIN2DB(v) (20.0*LOG10(v)) @@ -289,4 +310,12 @@ typedef enum { #define UNUSED #endif +/* are we using gcc -std=c99 ? */ +#if defined(__STRICT_ANSI__) +#define strnlen(a,b) MIN(strlen(a),b) +#if !HAVE_AUBIO_DOUBLE +#define floorf floor +#endif +#endif /* __STRICT_ANSI__ */ + #endif /* AUBIO_PRIV_H */