type @extern Ecore.Audio.Vio: __undefined_type; /* FIXME: Had function pointer members. */ type @extern eo_key_data_free_func: __undefined_type; /* FIXME: Function pointers not allowed. */ enum Ecore.Audio.Format { auto, [[Automatically detect the format (for inputs)]] raw, [[RAW samples (float)]] wav, [[WAV format]] ogg, [[OGG]] flac, [[FLAC, the Free Lossless Audio Codec]] mp3, [[MP3 (not supported)]] last [[Sentinel value, do not use]] } class Ecore.Audio (Eo.Base) { [[Convenience audio class.]] legacy_prefix: null; eo_prefix: ecore_audio_obj; data: Ecore_Audio_Object; methods { @property name { [[Name of the object @since 1.8 ]] set { } get { } values { name: const(char)*; [[Name]] } } @property paused { [[Pause state of the object @since 1.8 ]] set { } get { } values { paused: bool; [[true if object is paused, false if not]] } } @property volume { [[Volume of the object @since 1.8 ]] set { } get { } values { volume: double; [[The volume]] } } @property source @virtual_pure { [[Source of the object What sources are supported depends on the actual object. For example, the libsndfile class accepts WAV, OGG, FLAC files as source. @since 1.8 ]] set { return: bool; [[true if the source was set correctly (i.e. the file was opened), EINA_FALSE otherwise ]] } get { } values { source: const(char)*; [[the source to set to (i.e. file, URL, device)]] } } @property format @virtual_pure { [[Format of the object.]] set { [[Set the format of the object What formats are supported depends on the actual object. Default is ECORE_AUDIO_FORMAT_AUTO @since 1.8 ]] return: bool; [[true if the format was supported, false otherwise]] } get { [[Get the format of the object After setting the source if the format was ECORE_AUDIO_FORMAT_AUTO this function will now return the actual format. @since 1.8 ]] } values { format: Ecore.Audio.Format; [[the format of the object]] } } vio_set @virtual_pure { [[Set the virtual IO functions @since 1.8 ]] params { vio: Ecore.Audio.Vio *; [[the @Ecore.Audio.Vio struct with the function callbacks ]] data: void *; [[user data to pass to the VIO functions]] free_func: eo_key_data_free_func; [[this function takes care to clean up $data when he VIO is destroyed. NULL means do nothing. ]] } } } implements { Eo.Base.constructor; } }