class Ecore_Audio_In (Ecore_Audio) { legacy_prefix: null; eo_prefix: ecore_audio_obj_in; data: Ecore_Audio_Input; properties { speed { set { /*@ Set the playback speed of the input. @since 1.8 */ } get { /*@ Get the playback speed of the input. @since 1.8 */ } values { double speed; /*The speed, 1.0 is the default*/ } } samplerate { set { /*@ Set the sample-rate of the input @since 1.8 */ } get { /*@ Get the he sample-rate of the input @since 1.8 */ } values { int samplerate; /*The samplerate in Hz*/ } } channels { set { /*@ Set the amount of channels the input has @since 1.8 */ } get { /*@ Get the amount of channels the input has @since 1.8 */ } values { int channels; /*The number of channels*/ } } preloaded { set { /*@ Set the preloaded state of the input @since 1.8 */ } get { /*@ Get the the preloaded state of the input @since 1.8 */ } values { bool preloaded; /*EINA_TRUE if the input should be cached, EINA_FALSE otherwise*/ } } looped { set { /*@ Set the looped state of the input If the input is looped and reaches the end it will start from the beginning again. At the same time the event @ref ECORE_AUDIO_EV_IN_LOOPED will be emitted @since 1.8 */ } get { /*@ Get the looped state of the input @since 1.8 */ } values { bool looped; /*EINA_TRUE if the input should be looped, EINA_FALSE otherwise*/ } } length { set { /*@ Set the length of the input This function is only implemented by some classes (i.e. ECORE_AUDIO_OBJ_IN_TONE_CLASS) @since 1.8 */ } get { /*@ Get the length of the input @since 1.8 */ } values { double length; /*The length of the input in seconds*/ } } output { get { /*@ Get the output that this input is attached to @since 1.8 */ } values { Eo *output; /*The output*/ } } remaining { get { /*@ Get the remaining time of the input @since 1.8 */ } values { double remaining; /*The amount of time in seconds left to play*/ } } } methods { read { /*@ Read from the input @since 1.8 */ return: ssize; /*The amount of samples written to buf*/ params { @in void *buf; /*The buffer to read into*/ @in size len; /*The amount of samples to read*/ } } read_internal { /*@ Internal read function @since 1.8 */ return: ssize; /*The amount of samples written to buf*/ params { @in void *buf; /*The buffer to read into*/ @in size len; /*The amount of samples to read*/ } } seek { /*@ Seek within the input @since 1.8 */ return: double; /*The current absolute position in seconds within the input*/ params { @in double offs; /*The offset in seconds*/ @in int mode; /*mode The seek mode. Is absolute with SEEK_SET, relative to the current position with SEEK_CUR and relative to the end with SEEK_END.*/ } } } implements { Eo.Base.constructor; Eo.Base.destructor; Ecore_Audio.vio_set; @virtual .preloaded.get; @virtual .preloaded.set; @virtual .seek; @virtual .length.set; } events { in,looped; /*@ Called when an input has looped. */ in,stopped; /*@ Called when an input has stopped playing. */ in,samplerate,changed; /*@ Called when the input samplerate has changed. */ } }