ref: f91d4acc69d03cdbf98a2a2b4ce4f002ac44feea
parent: cd8dc521a6038d92396d2571df5ff9365e1b6635
author: Paul Brossier <piem@piem.org>
date: Sun Jan 8 13:11:41 EST 2017
ChangeLog: update for 0.4.4
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,222 @@
+2017-01-08 Paul Brossier <piem@aubio.org>
+
+ [ Overview ]
+
+ * VERSION: bump to 0.4.4
+ * src/utils/log.h: new function to redirect log, error, and warnings
+ * python/: AUBIO_ERR raises python exception, AUBIO_WRN to emit py warning
+ * doc/: add some documentation, fix errors in manpages
+ * wscript: new rules to build 'manpages', 'doxygen', and 'sphinx', new
+ --build-type=<release|debug> option (thanks to Eduard Mueller)
+ * src/notes/notes.h: add minioi and silence methods
+ * examples/: add --minioi (minimum inter-onset interval) option
+ * src/pitch/pitchyin.c: improve msvc compiler optimisations (thanks to
+ Eduard Mueller)
+ * python/, src/: improve error messages, fix minor memory leaks
+ * src/io/source_avcodec.c: improve compatibility with latest ffmpeg and with
+ older libav/ffmpeg versions
+ * python/demos/: new demos to capture microphone in real time
+
+ [ Interface]
+
+ * src/aubio.h: include utils/log.h
+ * src/utils/log.h: add new aubio_log_set_function to redirect log messages
+ * src/notes/notes.h: add aubio_notes_{get,set}_minioi_ms, add
+ _{get,set}_silence methods
+
+ [ Library ]
+
+ * src/aubio_priv.h: add AUBIO_INF to print to stdout with header, use new
+ logging function, add ATAN alias, add stdarg.h, move #include "config.h"
+ * src/{fmat,fvec}.c: avoid integer division
+ * src/pitch/pitchyin.c: [msvc] help compiler to optimize aubio_pitchyin_do
+ by giving it addresses for all arrays which are referenced in inner loops,
+ thanks to Eduard Mueller.
+ * src/pitch/pitch.c: declare internal functions as static, fail on wrong
+ method, warn on wrong unit, improve error messages, fix error string
+ * src/spectral/specdesc.c: return NULL if wrong mode asked, remove trailing
+ spaces
+ * src/onset/onset.c: return null and clean-up if new_aubio_specdesc failed,
+ fix error message
+ * src/notes/notes.c: use midi note to store pitch candidate, round to
+ nearest note, add a variable to define precision, fix out-of-bound write,
+ fix unset silence_threshold, fix error message
+ * src/spectral/ooura_fft8g.c: add cast to avoid conversion warnings, prefix
+ public function with aubio_ooura_ to avoid with other apps using ooura (e.g.
+ puredata), make internal functions static,
+ * src/spectral/fft.c: add message about fftw3 being able to do non-power of
+ two sizes, make calls to fftw_destroy_plan thread-safe, use prefixed
+ aubio_ooura_rdft
+ * src/spectral/phasevoc.c: fix error string
+ * src/temporal/resampler.c: throw an error when using libsamplerate with doubles
+ * src/io/ioutils.h: add functions to check samplerate and channels, use in sink_*.c
+ * src/io/source.c: add error message when aubio was compiled with no source,
+ only show error message from last child source_
+ * src/io/source_avcodec.c: call avformat_free_context after
+ avformat_close_input, keep a reference to packet to remove it when closing
+ file, avoid deprecation warnings with ffmpeg 3.2, add backward compatibility
+ for libavcodec55, fix for old libavcodec54, use AV_SAMPLE_FMT_DBL when
+ compiling with HAVE_AUBIO_DOUBLE, fix missing samples in eof block, avoid
+ function calls before declarations, improve error messages, replace with new
+ context before closing old one, make sure s->path is set to null
+ * src/io/{source_wavread,sink_wavwrite}.c: declare internal functions as static
+ * src/io/source_wavread.c: fix bytes_read for JUNK headers, improve error
+ messages, initialize buffer, skip chunks until data is found, or abort, skip
+ junk chunk
+ * src/io/source_sndfile.c: add support for multi-channel resampling, set
+ handle to null after sucessful close, add missing floor in ratio comparison,
+ improve formatting
+ * src/io/sink.c: only show error message from last child sink_
+ * src/io/sink_apple_audio.c: avoid crash on empty file name
+ * src/io/sink_sndfile.c: improve error message
+ * src/io/sink_{sndfile,wavwrite}.c: use AUBIO_MAX_CHANNELS, fix error message
+
+ [ Documentation ]
+
+ * README.md: update copyright dates, use https
+ * src/aubio.h: add some links to examples, use https
+ * src/pitch/pitch.h: add aubio_pitch_get_tolerance, add basic description of
+ unit modes
+ * src/notes/notes.h: add doxygen header
+ * src/spectral/fft.h: strip example path
+ * doc/*.rst: improve sphinx documentation
+ * doc/android.rst: add reference to it scripts/build_android
+ * doc/debian_packages.rst: added page on debian packages
+ * doc/python_module.rst: add demo_source_simple.py, add note on pip, add
+ `print(aubio.version)`
+ * doc/cli.rst: include command line manpages
+ * doc/cli_features.rst: add matrix of command line features
+ * doc/requirements.rst: add a note about --notests (closes #77), document
+ --msvc options, improve description of options
+ * doc/download.rst: added page on download
+ * doc/installing.rst: update
+ * doc/xcode_frameworks.rst: added page on xcode frameworks
+ * doc/**: use https://aubio.org
+ * doc/conf.py: use pyramid theme, update copyright, remove hardcoded path
+ * doc/web.cfg: exclude ioutils from doc
+ * doc/aubionotes.txt: document -M option (see #18),
+ * doc/aubioonset.txt: add documentation for -M, --minioi, improve threshold
+ description (thanks to Peter Parker), fix typo (onset, not pitch)
+ * doc/aubio*.txt: document -T/--timeformat option
+
+ [ Build ]
+
+ * Makefile: add a brief intro, avoid offline operations, add html and dist
+ targets, add rules for documentation, simplify listing, avoid offline
+ operations, bump waf to 1.9.6, check for waf before clean, chmod go-w
+ waflib, improve clean, use pip to install, factorise pip options, generate
+ more test sounds, improve test_python and test_pure_python, pass build_ext
+ in test_pure_python{,_wheel}, quieten uninstall_python if already
+ uninstalled, improve test targets, use bdist_wheel in test_pure_python,
+ build_ext only for --enable-double, verbose waf rules, add cleanwaf
+ * wscript: added debug/release build type configurations release (default)
+ enables optimizations, debug symbols are enabled in both configurations,
+ thanks to Eduard Mueller.
+ * wscript: add options to disable source_wavread/sink_wavwrite, add check
+ for stdarg.h, new rules 'manpages', 'sphinx', and 'doxygen' to build
+ documentation, add version to sphinx and manpages, disable libsamplerate
+ if double precision enabled (libsamplerate only supports float), fix typos,
+ remove trailing spaces, improve tarball creation (./waf dist), remove
+ full.cfg from tarball, prepend to CFLAGS to honor user cflags
+ * wscript, src/wscript_build: improve install locations using DATAROOTDIR,
+ MANDIR, INCLUDEDIR
+ * wscript: default to no atlas for now
+ * src/wscript_build: always build static library
+ * scripts/build_android: add an example script to build aubio on android,
+
+ [ Tools ]
+
+ * examples/aubionotes.c: use new notes, set minioi, send last note off when
+ needed, add warning for missing options
+ * examples/aubioonset.c: add minioi option, in seconds
+ * examples/: only send a last note off when using jack
+ * examples/: return 1 if object creation failed
+ * examples/: use PROG_HAS_OUTPUT, add PROG_HAS_SILENCE
+
+ [ Tests ]
+
+ * tests/src/spectral/test-fft.c: fix default size
+ * tests/src/spectral/test-phasevoc.c: fix typos
+ * tests/src/utils/test-log.c: add AUBIO_INF, add example for
+ aubio_log_set_function, improve messages
+
+ [ Python ]
+
+ * python/ext/aubiomodule.c: add aubio._aubio.__version__ and import it as
+ aubio.version, use custom logging function for errors and warnings, remove
+ duplicated add_generated_objects, use <> for non local aubio
+ * python/ext/py-cvec.c: use NPY_INTP_FMT
+ * python/ext/py-fft.c: use error string set in src/spectral/fft.c
+ * python/ext/py-phasevoc.c: use error string set in src/spectral/phasevoc.c
+ * python/ext/py-sink.c: always set samplerate and channels in init
+ * python/ext/py-source.c: use error string set in src/io/source.c
+ * python/lib/aubio/midiconv.py: add unicode double sharp and double flat,
+ improve unicode handling, skip UnicodeEncodeError on python 2.x
+
+ [ Python build ]
+
+ * MANIFEST.in: add src/**.c, exclude full.cfg, include waflib, remove
+ python/ext/config.h
+ * setup.py: define AUBIO_VERSION use sorted glob.glob to improve
+ reproducibility, remove extra quotes, remove status from version string,
+ update description, use custom build_ext instead of 'generate' command,
+ define HAVE_AUBIO_DOUBLE to 1 if needed
+ * python/lib/gen_code.py: add support for multiple _do outputs, fix number
+ of output, improve del_ function, safer DECREF, fix indentation, emit RuntimeError
+ * python/lib/gen_external.py: clean-up, enable tss, remove duplicate,
+ sort generated files
+ * python/lib/moresetuptools.py: add HAVE_STDARG_H, also check for
+ HAVE_AUBIO_DOUBLE, cleaner clean, look first for system library, then for
+ local build, then local sources, mo nore fake config.h here, use
+ samplerate in single precision only
+ * python/README.md: add a note about nose2 for python tests (closes #74)
+ * scripts/setenv_local.sh: python3 compat
+
+ [ Python demos ]
+
+ * python/demos/demo_alsa.py: add example using alsaaudio (closes #72)
+ * python/demos/demo_mfcc.py: add options to plot first and second
+ derivatives, and set samplerate/win_s/hop_s, thanks to @jhoelzl (closes #68)
+ * python/demos/demo_notes.py: add simple notes demos
+ * python/demos/demo_pyaudio.py: added simple demo for pyaudio, see #6,
+ closes #78, thanks to @jhoelzl and @notalentgeek, add some comments, avoid
+ overwriting aubio.pitch
+ * python/demos/demo_source_simple.py: fix indentation, make executable
+ * python/demos/demo_timestretch{,_online}.py: fix usage string, remove
+ unused import, use // to yield an integer (closes #71)
+ * python/demos/demo_timestretch_online.py: use 512, fix block counter
+ * python/demos/demo_tss.py: improve default parameters, exit before plotting
+
+ [ Python tests ]
+
+ * python/tests/: use local import, add __init__.py
+ * python/tests/test_cvec.py: simplify
+ * python/tests/test_fft.py: skip test fft(zeros).phas == 0 if needed, expected powerpc
+ * python/tests/test_fvec.py: reduce alpha norm precision to 10.-4
+ * python/tests/test_{midi2note,note2midi}.py: use nose2.params, add unicode tests
+ * python/tests/test_notes.py: add basic tests
+ * python/tests/test_notes.py: test results are correct for 44100Hz_44100f_sine441.wav
+ * python/tests/test_sink.py: add more tests, quiet warnings
+ * python/tests/test_source.py: break long line, check the tail of the file
+ is non-zero on non silent test files, filter user warnings to avoid spamming
+ the console, only check if last frames are non silent on brownnoise (weak),
+ remove fragile brownnoise test, check duration on short files, use nose2
+ params to process one sound file per test
+ * python/tests/test_specdesc.py: RuntimeError is now raised on wrong mode
+ * python/tests/utils.py: by default, use 5 seconds brownoise
+
+ [ Only in git ]
+
+ * .travis.yml: add debian dpkg-buildflags config, switch from precise to
+ trusty, sudo required, add ffmpeg on osx, add targets ios, iosimulator,
+ and osx noopt configs, bump to xcode8, add xcode8.2 config, mimick
+ build_apple_frameworks options, alway upgrade pip, add pip --version and
+ which pip after upgrading, remove --user, use expandwaf in install, remove
+ unused ARCH, shuffle order, remove duplicate, add missing opening quote,
+ use AUBIO_NOTESTS to build only lib on ios, add gitter webhook
+ * .appveyor.yml: fix path for windows+python 3.5, fix typo in path, make
+ nose2 tests verbose
+
2016-08-16 Paul Brossier <piem@aubio.org>
[ Interface ]