Changeset 5399f17 for doc/develop.rst


Ignore:
Timestamp:
Mar 24, 2017, 6:28:35 PM (7 years ago)
Author:
Paul Brossier <piem@piem.org>
Branches:
feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, sampler
Children:
f80519b
Parents:
70ab9fe
Message:

README.md: move api description to doc/develop.rst

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/develop.rst

    r70ab9fe r5399f17  
    1616Here is a brief overview of the C library. See also the `Doxygen
    1717documentation`_ for a more detailed list of available functions.
     18
     19Design Basics
     20`````````````
     21
     22The library is written in C and is optimised for speed and portability.
     23
     24The C API is designed in the following way:
     25
     26.. code-block:: C
     27
     28   // new_ to create an object foobar
     29   aubio_foobar_t * new_aubio_foobar(void * args);
     30   // del_ to delete foobar
     31   void del_aubio_something (aubio_something_t * t);
     32   // _do to process output = foobar(input)
     33   audio_something_do (aubio_something_t * t, fvec_t * input, cvec_t * output);
     34   // _get_param to get foobar.param
     35   smpl_t aubio_something_get_a_parameter (aubio_something_t * t);
     36   // _set_param to set foobar.param
     37   uint_t aubio_something_set_a_parameter (aubio_something_t * t, smpl_t a_parameter);
     38
     39For performance and real-time operation, no memory allocation or freeing take
     40place in the `_do` methods. Instead, memory allocation should always take place
     41in the `new_` methods, whereas free operations are done in the `del_` methods.
     42
    1843
    1944Vectors and matrix
Note: See TracChangeset for help on using the changeset viewer.