src/io/source*: add _do_multi and _get_channels, really downmix apple_audio
[aubio.git] / src / io / source.h
index d8ef74ece6f0acfa9eb787c768c46e5953b8b02d..c07bf1e5eed06d0009e911f6616427bd2c89c211 100644 (file)
@@ -67,6 +67,20 @@ aubio_source_t * new_aubio_source(char_t * uri, uint_t samplerate, uint_t hop_si
 */
 void aubio_source_do(aubio_source_t * s, fvec_t * read_to, uint_t * read);
 
+/**
+
+  read polyphonic vector of length hop_size from source object
+
+  \param s source object, created with ::new_aubio_source
+  \param read_to ::fmat_t of data to read to
+  \param read upon returns, equals to number of frames actually read
+
+  Upon returns, `read` contains the number of frames actually read from the
+  source. `hop_size` if enough frames could be read, less otherwise.
+
+*/
+void aubio_source_do_multi(aubio_source_t * s, fmat_t * read_to, uint_t * read);
+
 /**
 
   get samplerate of source object
@@ -77,6 +91,16 @@ void aubio_source_do(aubio_source_t * s, fvec_t * read_to, uint_t * read);
 */
 uint_t aubio_source_get_samplerate(aubio_source_t * s);
 
+/**
+
+  get channels of source object
+
+  \param s source object, created with ::new_aubio_source
+  \return channels
+
+*/
+uint_t aubio_source_get_channels (aubio_source_t * s);
+
 /**
 
   seek source object