ChangeLog: update
[aubio.git] / ChangeLog
index 91fd124..ba1d333 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,184 @@
+2015-08-01 Paul Brossier <piem@aubio.org>
+
+       [ Interface ]
+       * src/onset/onset.h: add aubio_onset_get_silence(), fix description of
+       aubio_onset_get/set_delay functions
+       * src/tempo/tempo.h: add aubio_tempo_get_silence and aubio_tempo_get_threshold
+
+       [ Library ]
+       * src/io/audio_unit.c: fix deprecation warning (closes #16)
+       * src/io/sink_apple_audio.c: avoid opening null path
+       * src/io/sink_sndfile.c: improve error messages, set nsamples after write
+       * src/io/sink_wavwrite.c: fail if samplerate is way too large, assume
+       windows is little endian to build with mingw32
+       * src/io/source_apple_audio.c: check out of bounds _seek, set s->path, quiet
+       * src/io/source_avcodec.c: update to libav10, libavcodec 55.34.1
+       * src/io/source_sndfile.c: cast to uint_t for now, clarify some variables
+       names, fix crash, zero-pad output vector when upsampling, improve seek errors and strings
+       * src/io/source_wavread.c: avoid orphan parenthesis , cast size_t to int to
+       avoid warning on win64 , improve seek errors processing , sync error message
+       * src/onset/onset.c: avoid doubled onset at start, check parameters
+       * src/pitch/pitch.c: add Hertz as valid unit string, check parameters
+       * src/pitch/pitchyin.c, src/pitch/pitchyinfft.c: avoid producing NaN on silence (closes #7)
+       * src/pitch/pitchyin.{c,h}: fix typo, developed
+       * src/spectral/phasevoc.c: fix argument checks, improve error messages
+       * src/synth/sampler.c: make sure blocksize > 0
+       * src/tempo/beattracking.c: avoid segfault on silence (closes #24)
+       * src/tempo/tempo.c: add silence detection (closes #23), add old behavior in
+       examples/aubiotrack.c, check parameters
+       * src/*.c: fix some useless float conversion
+
+       [ Python ]
+       * python/ext/aubiomodule.c: improve documentation
+       * python/ext/py-musicutils.c: add silence_detection (closes #21),
+       level_detection, db_spl, level_lin, complete window implementation
+       * python/ext/py-source.c: add channels, add seek (closes #9)
+       * python/demos/demo_a_weighting.py: add simple demo for a_weighting
+       * python/demos/demo_sink_multi.py: add multi channel version
+       * python/demos/, python/demos/: minor improvements, improve syntax (closes #19)
+       * python/setup.py: use setuptools, add numpy to install_requires
+
+       [ Build ]
+       * waf: removed, now automatically downloaded with make, updated to 1.8.12
+       * Makefile: add target to fetch waf and basic instructions
+       * .travis.yml: added template for travis continuous integration
+       * {examples,src,tests}/wscript_build: add external libs and uselib to targets 
+       * src/wscript_build: do not hardocode install path
+       * wscript, src/io/*.c: use custom defines instead of __APPLE__
+       * wscript: make fat build optional, remove iOS sdk versioning
+
+       [ General ]
+       * examples/: use outmsg to print notes (fixes #8)
+       * examples/parse_args.h: improve short documentation (closes #12)
+       * doc/*.cfg: remove html timestamps to make build reproducible (see debian bug #779216)
+       * doc/aubiocut.txt: improve documentation
+       * doc/*.rst: add sphinx documentation basis with Makefile and conf.py
+       * README.md: minor updates
+       * python.old: removed old code
+       * tests/: minor bug fixing
+
+2014-01-31 Paul Brossier <piem@aubio.org>
+
+       [ Interface ]
+       * src/io/{source_wavread,sink_wavwrite}.h: new source and sink objects to
+       read and write simple wav files when building with no external dependencies
+       * src/io/{source,sink}*.h: added close functions to explicitly close file
+       * src/io/sink*.h: added do_multi, preset_channels, preset_samplerate,
+       get_channels and get_samplerate functions
+       * src/onset/onset.h: added aubio_onset_get_threshold
+       * src/mathutils.h: add fvec_quadratic_peak_mag to find the magnitude of
+       interpolated peaks
+
+       [ Library ]
+       * src/io/source_avcodec.c: implement _seek function
+       * src/io/source_sndfile.c: fixed _seek when signal is resampled
+       * src/spectral/ooura_fft8g.c: use float when double is not needed
+       * src/io/{source,sink}_apple_audio.c: improve error messages
+       * src/spectral/phasevoc.c: optimize swapbuffers by using memcpy
+       * src/lvec.c: add missing lvec_set_sample, improve test
+       * src/tempo/beattracking.c: improve confidence values by using interpolated
+       peak magnitude and avoiding nan
+       * src/tempo/tempo_davies.c: set default novelty function to specflux
+
+       [ Python module ]
+       * python/ext/py-{sink,source}.c: add do_multi and close functions
+       * python/ext/aubio-types.h: set NPY_NO_DEPRECATED_API to version 1.7
+       * python/lib/aubio/slicing.py: new function to slice a source into a list of
+       arbitrary regions
+       * python/scripts/aubiocut: add options --cut-until-nsamples and
+       --cut-until-nsclices, thanks to Mark Suppes for requesting, sponsoring,
+       and testing this feature
+
+       [ General code ]
+       * src/aubio_priv.h: use ifdefs to avoid checking undefined defines
+       * src/**.c: add missing prototypes, avoid some declarations after statement
+       * waf, waflib: update to 1.7.15
+
+2013-12-08  Paul Brossier <piem@aubio.org>
+
+       * Overdue: After more than five years of development behind the curtain,
+       time has come to release a new version of aubio.
+
+       * General: The library has been completely revised since 0.3.2. The API has
+       seen a major clean up, and has been thoroughly tested. The following list of
+       changes is not exhaustive.
+
+       * Memory management: allocation and freeing of memory has been optimized in
+       many ways. Several memory leaks and out of bound access have been fixed.
+
+       * Optimization: the FFT, central to most algorithms, can now be computed
+       using different optimized algorithms, depending on what is available on your
+       platform (FFTW, Ooura, or vDSP). Other simple optimization tricks are
+       included. Most can be deactivated by configuring the build accordingly.
+
+       * python/: The python interface has been completely rewritten to use numpy C
+       interface, making the aubio python module order of magnitudes faster than
+       the previous version. Several demos and tests are included.
+
+       * src/: source and header files are now organized in sub-directories.
+
+       * src/io/source.h: new source readers can now use any or all of libav,
+       CoreAudio, and libsndfile. This means that aubio can now easily read most
+       uncompressed and compressed formats. Compiled with libav, aubio can also
+       read audio from video files, and over the network.
+
+       * src/io/sink.h: a new sink object lets you write wav files with any number
+       of channels, at any samplerate, using libsndfile or CoreAudio.
+
+       * src/onset, src/tempo/, src/pitch: the different methods for onset, tempo,
+       and pitch extraction have seen many bug-fixes and optimizations.
+
+       * src/spectral/specdesc.h: new onset distances and statistical measures have
+       been added.
+
+       * src/spectral/filterbank.h: new filter bank to compute the energy in any
+       custom-defined frequency bands.
+
+       * src/spectral/mfcc.h, examples/aubiomfcc.c: a standard implementation of
+       the Mel-Frequency Cepstrum Coefficients algorithm has been added.
+
+       * src/temporal/{a,c}_weighting.h: standard implementation of the C-weighting
+       and A-weighting pre-processing filters are now provided for most commons
+       sampling rates.
+
+       * src/synth/wavetable.h, src/synth/sampler.h: provide basic ways to generate
+       some sounds.
+
+       * src/fvec.h: fvec_t, the vector object central to most aubio algorithms, is
+       now single channel. This simplifies the code of each algorithm greatly.
+
+       * src/lvec.h: lvec_t provides a double precision vector, required for some
+       operations to avoid floating point overflow
+
+       * src/fmat.h: fmat_t provides a single precision matrix, useful for
+       multi-channel operations and to some algorithms such as the spectral filter
+       bank.
+
+       * examples/: several new options, including new programs, have been
+       included. Refer to the documentation for details.
+
+       * tests/: several tests and examples programs have been added. This should
+       be a good place to look at to understand how to use aubio.
+
+       * doc/web.cfg: a simplified Doxygen configuration produces a simpler html
+       documentation.
+
+       * doc/*.txt: the manpages have been rewritten for txt2man.
+
+       * Build system: the build system has been switched from autotools/automake
+       to waf. Type './waf' or see README.md for instructions on how to use waf.
+
+2006-11-10  Paul Brossier <piem@altern.org>
+       * configure.ac: check c compiler for -Wextra option
+       * examples/*: add lash support to aubioonset, aubiotrack, and aubionotes
+       * */Makefile.am: improve compilation on Mac OS X, mingw and cygwin
+       * src/{onset,tempo}.[ch]: add simple c interfaces to onset and tempo tasks
+       * src/beattracking.c: allow the use of two beat trackers simultaneously
+       * examples/tests: add test programs for most c functions
+       * src/*.c: add most missing free calls
+       * src/*.c: fix some out of array writes
+       * src/,ext/: more gcc warning fixes
+
 2006-27-06  Paul Brossier <piem@altern.org>
        * plugins/puredata/Makefile.am: move pd help to pattern-help.pd
                - thanks goes to Frank Barknecht
 2006-27-06  Paul Brossier <piem@altern.org>
        * plugins/puredata/Makefile.am: move pd help to pattern-help.pd
                - thanks goes to Frank Barknecht