ChangeLog: write entries for 0.4.1
[aubio.git] / ChangeLog
index 2f8b495..ea26f7c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-2004-11-39  Paul Brossier <piem@altern.org>
+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
+       * ext/sndfileio.c src/aubio_priv.h: fixes memset in aubio_priv.h, remove
+               useless sfinfo.format=0 - thanks karsten wiese 
+       * ext/midi/midi_alsa_seq.c: do not call pthread_ in aubio_midi_direct_output
+               - thanks karsten wiese
+       * python/aubio/task/beat.py: task beat() output seconds
+       * python/aubio/task/beat.py: ugly hack to plot beat track anyway
+       * examples/aubionotes.c: fix signed/unsigned mismatches in examples
+       * src/beattracking.c: fix signed/unsigned mismatches in beattracking
+       * src/pitchfcomb.c: fix signed/unsigned mismatches in pitchfcomb
+       * src/pitchschmitt.c: fix signed/unsigned mismatches in pitchscmitt
+       * configure.ac: use -Wextra but unused parameters, fix macos CFLAGS
+       * plugins/puredata/Makefile.am: simplify puredata Makefile.am
+       * python/aubio/Makefile.am: avoid overwriting CFLAGS
+       * examples/Makefile.am: use top_{build,src}dir instead of ../
+       * configure.ac: make configure.ac more readable
+       * python/aubio/task/cut.py: use os.path to derive default output filenames
+       * VERSION: 0.3.1
+
+2006-18-05 Paul Brossier <piem@altern.org>
+       * src/pitchyinfft.{c,h}: new pitch detection method
+       * src/beattracking.c: algorithm improved
+       * plugins/puredata/: new puredata external
+       * python/tasks: enhancements to the onset detection algorithms
+       * python/aubiocut: improved, can now slice at beats and silences
+       * python/aubiopitch: new python program to extract pitch tracks
+       * python/: plotting features for aubiocut and aubiopitch
+       * python/: interface refactored
+       * doc/: updated documentation 
+       * VERSION: 0.3.0
+
+2006-18-05  Paul Brossier <piem@altern.org>
+       * src/beattracking.c: added beattracking.c
+       * various bug fixes
+       * VERSION: 0.2.0
+
+2005-29-03  Paul Brossier <piem@altern.org>
+       * python/aubio/gnuplot.py: clean up and add plotsound
+       * python/aubiocompare-onset: updated
+       * examples/aubioonset.c: fix text output when nframes<4 
+       * ext/midi/midi_file.c: by default, int is unsigned on powerpc
+       * python/aubiocut, python/aubio/aubioclass.py: updated
+       * ext/midi/midi_alsa_seq.c: activated threading
+       * configure.ac,Makefile.am: added rules to check presence
+        of swig, python, puredata and docbook-to-man.
+
+2005-17-03  Paul Brossier <piem@altern.org>
+       * examples/utils.{c,h}:  corrected usedoubled and -O interactions
+       * examples/aubioonset.c: added frames>=4 check (thanks Hamish Allan)
+
+2004-12-11  Paul Brossier <piem@altern,org>
+       * swig/Makefile.am: instructions moved to python/aubio and cleaned 
+       * python/aubiocut: corrected slicing on multichannel files
+       * VERSION: bumped to 0.1.8
+
+2004-12-06  Paul Brossier <piem@altern.org>
+       * examples/{midi*,testforclam}.c: removed
+       * src/{sndfile,midi*,jackio}.[ch]: moved to ext
+
+2004-12-03  Paul Brossier <piem@altern.org>
+       * src/{mathutils,pitchyin}.h: got rid of some shadowed declarations
+       * plugins/puredata: first puredata plugin attempt added
+
+2004-11-30  Paul Brossier <piem@altern.org>
        * configure.ac: added -lmx on macosx
        * python/aubiocut: seeks for local minima before peak
+                          added zero crossing search
        * src/pitchyinc.c: adds draft for all-in-one faster function
+       * examples/*.c: added ladcca client (needs work)
+       * examples/aubioonset.c: cleaned up verbose stdout 
+       * doc/aubio.css: updated
 
 2004-10-28  Paul Brossier <piem@altern.org>
        * src/Makefile.am: added config.h installation
+       * VERSION: 0.1.7.1
 
 2004-10-26  Paul Brossier <piem@altern.org>:
        * src/pitchdetection.*: moved to src/pitchmcomb.*, now includes a