Only in soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/: dist diff -ur soxr-0.1.1-Source/examples/2-stream.C soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/examples/2-stream.C --- soxr-0.1.1-Source/examples/2-stream.C 2013-01-21 15:15:48.000000000 +0000 +++ soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/examples/2-stream.C 2013-05-27 20:07:14.000000000 +0100 @@ -72,7 +72,7 @@ soxr_delete(soxr); free(obuf), free(ibuf); /* Diagnostics: */ - fprintf(stderr, "%-26s %s; I/O: %s\n", arg[0], - soxr_strerror(error), errno? strerror(errno) : "no error"); - return error || errno; + fprintf(stderr, "%-26s %s; I/O: %s\n", arg[0], soxr_strerror(error), + ferror(stdin) || ferror(stdout)? strerror(errno) : "no error"); + return !!error; } diff -ur soxr-0.1.1-Source/examples/3-options-input-fn.c soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/examples/3-options-input-fn.c --- soxr-0.1.1-Source/examples/3-options-input-fn.c 2013-02-27 21:18:14.000000000 +0000 +++ soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/examples/3-options-input-fn.c 2013-05-27 20:07:14.000000000 +0100 @@ -104,7 +104,8 @@ soxr_delete(soxr); free(obuf), free(ibuf); /* Diagnostics: */ - fprintf(stderr, "%-26s %s; %lu clips; I/O: %s\n", arg0, soxr_strerror(error), - (long unsigned)clips, errno? strerror(errno) : "no error"); - return error || errno; + fprintf(stderr, "%-26s %s; %lu clips; I/O: %s\n", + arg0, soxr_strerror(error), (long unsigned)clips, + ferror(stdin) || ferror(stdout)? strerror(errno) : "no error"); + return !!error; } diff -ur soxr-0.1.1-Source/examples/4-split-channels.c soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/examples/4-split-channels.c --- soxr-0.1.1-Source/examples/4-split-channels.c 2013-01-12 14:00:02.000000000 +0000 +++ soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/examples/4-split-channels.c 2013-05-27 20:07:14.000000000 +0100 @@ -141,7 +141,8 @@ free(obuf), free(ibuf), free(obufs), free(ibufs); free(obuf_ptrs), free(ibuf_ptrs); /* Diagnostics: */ - fprintf(stderr, "%-26s %s; %lu clips; I/O: %s\n", arg0, soxr_strerror(error), - (long unsigned)clips, errno? strerror(errno) : "no error"); - return error || errno; + fprintf(stderr, "%-26s %s; %lu clips; I/O: %s\n", + arg0, soxr_strerror(error), (long unsigned)clips, + ferror(stdin) || ferror(stdout)? strerror(errno) : "no error"); + return !!error; } diff -ur soxr-0.1.1-Source/examples/5-variable-rate.c soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/examples/5-variable-rate.c --- soxr-0.1.1-Source/examples/5-variable-rate.c 2013-01-12 14:00:02.000000000 +0000 +++ soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/examples/5-variable-rate.c 2013-05-27 20:07:14.000000000 +0100 @@ -88,7 +88,7 @@ soxr_delete(soxr); } /* Diagnostics: */ - fprintf(stderr, "%-26s %s; I/O: %s\n", arg[0], - soxr_strerror(error), errno? strerror(errno) : "no error"); - return error || errno; + fprintf(stderr, "%-26s %s; I/O: %s\n", arg[0], soxr_strerror(error), + ferror(stdin) || ferror(stdout)? strerror(errno) : "no error"); + return !!error; } Only in soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/: .gitignore diff -ur soxr-0.1.1-Source/inst-check-soxr soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/inst-check-soxr --- soxr-0.1.1-Source/inst-check-soxr 2013-03-02 09:36:57.000000000 +0000 +++ soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/inst-check-soxr 2013-05-27 20:07:14.000000000 +0100 @@ -29,7 +29,7 @@ for f in ?$2-*.[cC]; do cc=cc; echo $f | grep -q C$ && cc=c++ out=$tmp/`echo $f | sed "s/.[cC]$//"` - cmd="$cc $cflags -o $out $f $libs" + cmd="$cc $cflags -o $out $f $libs -lm" echo $cmd; $cmd done } diff -ur soxr-0.1.1-Source/src/soxr.c soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/src/soxr.c --- soxr-0.1.1-Source/src/soxr.c 2013-02-27 21:19:41.000000000 +0000 +++ soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/src/soxr.c 2013-05-27 20:07:14.000000000 +0100 @@ -85,7 +85,7 @@ quality = 6; else if (quality > 10) quality = 0; - p->phase_response = "\62\31\144"[(recipe & 0x30)>>8]; + p->phase_response = "\62\31\144"[(recipe & 0x30) >> 4]; p->stopband_begin = 1; p->precision = !quality? 0: quality < 3? 16 : quality < 8? 4 + quality * 4 : 55 - quality * 4; rej = p->precision * linear_to_dB(2.); diff -ur soxr-0.1.1-Source/src/soxr.h soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/src/soxr.h --- soxr-0.1.1-Source/src/soxr.h 2013-03-02 09:10:14.000000000 +0000 +++ soxr-code-988f8303c7f30d0db5db3e15bf973e2bdf5c867e/src/soxr.h 2013-05-27 20:07:14.000000000 +0100 @@ -259,8 +259,8 @@ }; /* For `irrational' ratios only: */ #define SOXR_COEF_INTERP_AUTO 0u /* Auto select coef. interpolation. */ -#define SOXR_COEF_INTERP_LOW 1u /* Man. select: less CPU, more memory. */ -#define SOXR_COEF_INTERP_HIGH 2u /* Man. select: more CPU, less memory. */ +#define SOXR_COEF_INTERP_LOW 2u /* Man. select: less CPU, more memory. */ +#define SOXR_COEF_INTERP_HIGH 3u /* Man. select: more CPU, less memory. */ #define SOXR_STRICT_BUFFERING 4u /* Reserved for future use. */ #define SOXR_NOSMALLINTOPT 8u /* For test purposes only. */