Changeset 28832ea


Ignore:
Timestamp:
Aug 16, 2016, 4:47:26 PM (4 years ago)
Author:
Paul Brossier <piem@piem.org>
Branches:
feature/autosink, feature/constantq, feature/pitchshift, feature/pydocstrings, feature/timestretch, master, pitchshift, sampler, timestretch, yinfft+
Children:
67c83b4
Parents:
5e544f1
Message:

ChangeLog?: update for 0.4.3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ChangeLog

    r5e544f1 r28832ea  
     12015-08-16 Paul Brossier <piem@aubio.org>
     2
     3        [ Interface ]
     4
     5        * src/io/source.h, src/io/source_*.h: add _get_duration
     6        * src/notes/notes.h: add basic notes object
     7        * src/tempo/beattracking.{c,h}: add _get_period and _get_period_s
     8        * src/mathutils.h: add fvec_ishift
     9        * src/fvec.{c,h}: add fvec_weighted_copy
     10        * src/tempo/tempo.{c,h}: add _get_period and _get_period_s, also add tatum,
     11        a subdivision of the beat period, default to 4, implement get/set_delay
     12        * src/**.{c,h}: use #ifdef HAVE_FOO, not #if _HAVE_FOO, add const qualifiers
     13        to unmodified pointers (see #35)
     14
     15        [ Library ]
     16
     17        * src/{fmat,fvec,mathutils}.c: optimisations (using atlas or Accelerate when
     18        available) for fvec_sum, fvec_mean, fvec_shift, aubio_level_lin,
     19        fvec_set_all, fvec_zeros, fvec_weight, fvec_copy, fvec_weighted_copy,
     20        fmat_vecmul
     21        * src/aubio_priv.h: check for atlas cblas, use cblas_xswap, vDSP_dotpr,
     22        protect SQR parameters, avoid redefining MIN/MAX, define PATH_MAX and PI
     23        when needed, use _isnan on windows msvc 9 to avoid linking error, more
     24        windows hacks
     25        * src/mathutils.c: avoid for loop initial declarations [gcc], use
     26        HAVE_ATLAS, use smpl_t for constants
     27        * src/fmat.c: skip asserts
     28        * src/spectral/{filterbank,mfcc}.c: use accelerated fmat_vecmul
     29        * src/spectral/fft.c: fftw can be used odd length sizes, not Ooura,
     30        factorise double / single flags, use memcpy
     31        * src/spectral/phasevoc.c: fix arguments checks, return NULL when fft
     32        creation failed , apply windowing for resynthesized grain, use ishift for
     33        odd windows, fix scaling factors for correct reconstruction at 50 and 75%
     34        overlap
     35        * src/pitch/pitch.c: allow for silence == 0, improve error messages
     36        * src/pitch/pitchmcomb.c: fix candidates sorting function, really comparing
     37        current to next
     38        * src/notes/notes.c: equivalent to previous examples/aubionotes.c results
     39        * src/onset/onset.c: simplify selection of first onset, fix for "conversion
     40        from 'smpl_t' to 'uint_t', possible loss of data" with msvc
     41        * src/pitch/pitchmcomb.c: scan across all spectrum
     42        * src/pitch/pitchyinfft.c: use fvec_weighted_copy
     43        * src/{spectral/*.c,onset/*.c,tempo/*.c}: make sure win_size > 1
     44        * src/io/*.c: use custom defines for {source,sink}_apple_audio, take a copy
     45        of const char* path
     46        * src/io/source_avcodec.c:
     47         - update to libav10, libavcodec 55.34.1
     48         - avoid deprecation warning, detect if we use ffmpeg or libav version
     49         - check if the uri is a network stream using av_url_split, call
     50         avformat_network_init() if needed
     51         - check if we still need max_analyze_duration2 (closes #53, thanks to
     52         @anthonylauzon)
     53        * src/io/source_{avcodec,sndfile}.c: avoid modifying input param
     54        * src/io/{sink,source,utils}_apple_audio.c: fix memory leak calling
     55        CFRelease (closes #26, closes #27, and closes #28)
     56        * src/io/sink_apple_audio.c: disable async mode for now, factorise code
     57        * src/io/source_apple_audio.c: check out of bounds _seek, set s->path, quiet
     58        * src/io/source_sndfile.c: fix crash, zero-pad output vector when
     59        upsampling, use sf_read_double when compiling with AUBIO_DOUBLE, approximate
     60        duration when resampling
     61        * src/io/sink_sndfile.c: fix for double precision
     62        * src/synth/sampler.c: fix typo, keeps a copy of uri
     63        * src/tempo/tempo.c: do not write novelty function in output[1]
     64        * src/temporal/resampler.c: make msvc happier adding a dummy variable
     65        * src/temporal/filter.c: check parameters, fix filter_do_outplace to really
     66        avoid modifying input
     67        * src/utils/windll.c: add dll main entry point
     68
     69        [ Python ]
     70
     71        * General:
     72          - new build system, new code generator
     73          - Python 3 compatibility (#33), thanks to Nils Philippsen (@nphilipp)
     74          - double precision compatibility
     75          - simplify memory allocations, removed unneeded malloc/free calls
     76          - fix memory leak (#49), check input sizes (#63) and output sizes (#60)
     77          - improve indentation, clean up unused imports and variables
     78          - fix comparison to None and to False
     79        * setup.py: move from python/setup.py, add option to build libaubio inside
     80        python-aubio (for instance with pip), add command 'generate' with option
     81        '--enable-double', build with -Wdeclaration-after-statement -Werror
     82        * python/ext/aubiomodule.c: fix PyMethodDef sentinel
     83        * python/ext/aubioproxy.c: factorize input checks into
     84        PyAubio_IsValidVector, fix windows c89 compilation, use npy_intp, not long
     85        * python/ext: rewrite and simplify, safer and improved memory usage (#49),
     86        improve error strings, verify actual object creation
     87        * python/ext/py-source.c: added duration, check seek is not negative
     88        * python/ext/py-musicutils.c: do not overwrite PyArg_ParseTuple messages
     89        * python/lib/gen_code.py: new generator, switch to using custom PyObjects
     90        instead of fvec, cvec, fmat, ready for double precision (defaults to single)
     91        * python/lib/aubio__init__.py: use new aubio.float_type, make sure length is
     92        not zero and float_type is imported
     93        * python/lib/aubio/midiconv.py: fix instance checks, make sure midi2note
     94        uses midi int (#33)
     95        * python/lib/aubio/slicing.py: fix samplerate
     96        * python/ext/aubio-types.h: add new_py_ functions to create PyObjects
     97        instead of fvec_t, apply to generated and hard-coded objects
     98        * python/lib/gen_external.py: improve compiler detection, fixes build on
     99        windows (#55)
     100        * python/lib/moresetuptools.py: helpers for windows and macos compilations
     101
     102        [  Python demos ]
     103
     104        * python/demos/demo_reading_speed.py: new reading speed tests, external
     105        packages disabled by default
     106        * python/demos/demo_timestretch.py: new timescale algorithm
     107        * python/demos/demo_timestretch_online.py: new timescale algorithm (online
     108        version)
     109        * python/demos/demo_create_test_sounds.py: add script to create simple sound
     110        files to test on using sox
     111        * python/demos/demo_a_weighting.py: add simple demo for a_weighting
     112        * python/demos/demo_filter.py: moved from _a_weighting
     113        * python/demos/demo_mfcc.py: use n_coeffs
     114        * python/demos/demo_bpm_extract.py: add exception type, avoid {} as default
     115        argument value
     116        * python/demos/demo_pysoundcard_*: update to pysoundcard 0.5.2 (closes #42)
     117        * python/scripts/aubiocut: fix usage string output
     118
     119        [ Python tests ]
     120        * python/tests/run_all_tests,*.py: switch to nose2, fix most prospect warnings
     121        * python/tests/test_fvec.py: add test_pass_to_numpy, cope with accumulated
     122        errors
     123        * python/tests/test_cvec.py: simplify, add more tests
     124        * python/tests/test_fft.py: more tests, fft.do to clash on wrong size
     125        inputs, f.rdo input size, cvec is large enough, memory tests, avoid
     126        VisibleDeprecationWarning
     127        * python/tests/test_filterbank.py: check for wrong values, ValueError raised
     128        * python/tests/test_filter.py: add tests
     129        * python/tests/test_musicutils.py: simplify, check TypeError is raised
     130        * python/tests/test_mfcc.py: more tests, check for wrong input size (see #63)
     131        * python/tests/test_mathutils: fix test_miditobin test, can also raise
     132        NotImplementedError (darwin)
     133        * python/tests/test_note2midi.py: more tests, use unicode_literals
     134        * python/tests/test_phasevoc.py: add a note about ocasional crash check
     135        perfect reconstruction for overlap > 75% add 50% overlap test, fix duplicate
     136        test name, add wrong sized input tests
     137        * python/tests/test_sink.py: remove useless many_sinks_not_closed and cruft
     138        * python/tests/test_source.py: simplify, quieten, skip tests if no test sounds
     139        * python/tests/test_specdesc.py: check for wrong values, skip wrong name
     140        test, use correct input size (see #63)
     141        * python/tests/utils.py: try reopening the file is deleting it fails on windows
     142        * python/VERSION: removed, use same VERSION file for libaubio and python-aubio
     143        * MANIFEST.in: move from python/, update contents
     144        * nose2.cfg: add minimal config, set multiprocess always-on=false (fixes
     145        coverage, pass -N to speed up the tests)
     146
     147        [ Tools ]
     148
     149        * examples/*.c: add time format option
     150        * examples/{aubioonset,aubiotrack}.c: also emit midi note, thanks to
     151        @topas-rec (closes #62)
     152        * examples/: use outmsg to print notes (fixes #8)
     153        * examples/aubionotes.c: use new aubio_notes object
     154        * examples/aubiotrack.c: enable -O and -t options, fix is_beat/is_silence
     155        types
     156        * examples/{parse_args,utils}.h: check in config.h if getopt.h was found, or
     157        build without for msvc, more windows hacks
     158        * examples/utils.c: change send_noteon to accept floating point midi note number
     159
     160        [ Tests ]
     161
     162        * tests/src/io/test-source_apple_audio.c: shorten long line
     163        * tests/src/io/test-source_avcodec.c: use HAVE_LIBAV, closes #10
     164        * tests/src/temporal: avoid crash, clarify
     165        * tests/src/tempo/test-tempo.c: tempo back to only one output
     166        * tests/src/test-delnull.c: improve test, avoid segfaults
     167        * tests/src/test-lvec.c: use AUBIO_LSMP_FMT
     168        * tests/utils_tests.h: add VA_ARGS versions of variadic macros
     169        * tests/utils_tests.h: also use custom srandom/random when compiling with
     170        -std=c99
     171        * tests/utils_tests.h: make sure M_PI and RAND_MAX are defined
     172
     173        [ Build ]
     174
     175        * Makefile: set waf to 1.8.22 for now, new targets create_test_sounds,
     176        build_python, test_python, clean_python, build_python3, clean_python3,
     177        test_pure_python, test_pure_python_wheel, (use test_pure_* targets to build
     178        without libaubio), use 'HAVE_DOUBLE=1 make' to build in double precision
     179        * scripts/build_apple_frameworks: add script to build macosx and ios
     180        frameworks (see #34, #43)
     181        * scripts/build_emscripten: add script to build with emcc and co
     182        * scripts/build_mingw: add script to cross-compile using mingw
     183        * scripts/get_waf.sh: added simple script to fetch latest waf
     184        * scripts/setenv_local.sh: set environment to run from built source tree
     185        * scripts/setenv_local.sh: update to new python-aubio build location
     186        * tests/wscript_build: do not install test programs
     187        * tests/wscript_build, src/wscript_build: use 'use =', simplify
     188        * src/wscript_build: enable shared lib on ios, static lib on windows
     189        * wscript:
     190          - update --enable-foo to fail if foo is not found
     191          - add -mmacosx-version-min=10.4 on darwin
     192          - add '-fembed-bitcode' on ios (closes #31), min to 6.1
     193          - make fat build, add option to not build with Accelerate framework
     194          - add option to not build with CoreAudio/AudioToolbox
     195          - add --disable-docs option
     196          - add -lm detection
     197          - pass HAVE_AUBIO_DOUBLE in compiler arguments
     198          - first check for headers, make getopt.h and unistd.h optional
     199          - check HAVE_AV* from ctx.env
     200          - make msvc compiler quieter, add /MD and /D_CRT_SECURE_NO_WARNINGS
     201          - check if we find atlas/cblas.h
     202          - new build platform emscripten
     203          - more cleanups and updates
     204
     205        [ Only in git ]
     206
     207        * .travis.yml: config for https://travis-ci.org/aubio/aubio
     208        * .appveyor.yml: config for https://ci.appveyor.com/project/piem/aubio
     209        * .landscape.yml: config for https://landscape.io/github/aubio/aubio
     210        * conda recipes: see https://github.com/conda/conda-recipes#387
     211        * .gitignore: add python/tests/sounds and .egg-info
     212
     213        [ General ]
     214
     215        * src/: remove trailing spaces, improve doxygen strings, update copyrights,
     216        fix typos
     217        * src/onset/onset.h: fix description of get/set_delay functions
     218        * src/spectral/mfcc.h: add link to reference implementation
     219        * src/spectral/filterbank_mel.h: update reference url
     220        * src/musicutils.h: update link to Bernardini's paper, improve doc
     221        * doc/aubiomfcc.txt: add a note about the output
     222        * doc/*.cfg: update to Doxygen 1.8.8
     223        * python/README.md: fix typo (thanks to Sam Alexander), document how to
     224        build in a virtualenv (see #2)
     225        * README.md: minor updates, link to python/README.md, switch to https
     226        * VERSION: bump to 0.4.3
     227
    12282015-08-01 Paul Brossier <piem@aubio.org>
    2229
Note: See TracChangeset for help on using the changeset viewer.