src/io/source*: add _do_multi and _get_channels, really downmix apple_audio
[aubio.git] / src / io / source_apple_audio.h
index ee2c625bed595f90888d6e1b3aac6cd5183d3329..03ed750dd97be78a77a2ac6ae772e8ffffdb64a0 100644 (file)
@@ -73,6 +73,20 @@ aubio_source_apple_audio_t * new_aubio_source_apple_audio(char_t * uri, uint_t s
 */
 void aubio_source_apple_audio_do(aubio_source_apple_audio_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_apple_audio
+  \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_apple_audio_do_multi(aubio_source_apple_audio_t * s, fmat_t * read_to, uint_t * read);
+
 /**
 
   get samplerate of source object
@@ -83,6 +97,16 @@ void aubio_source_apple_audio_do(aubio_source_apple_audio_t * s, fvec_t * read_t
 */
 uint_t aubio_source_apple_audio_get_samplerate(aubio_source_apple_audio_t * s);
 
+/**
+
+  get channels of source object
+
+  \param s source object, created with ::new_aubio_source_apple_audio
+  \return number of channels
+
+*/
+uint_t aubio_source_apple_audio_get_channels(aubio_source_apple_audio_t * s);
+
 /**
 
   seek source object