Emotion.h File Reference

Emotion Media Library. More...

## Data Structures

struct | _Emotion_Version

## Macros

#define | EMOTION_CHANNEL_AUTO -1
#define | EMOTION_CHANNEL_DEFAULT 0
#define | EMOTION_VERSION_MAJOR EFL_VERSION_MAJOR
#define | EMOTION_VERSION_MINOR EFL_VERSION_MINOR

## Typedefs

typedef enum _Emotion_Event | Emotion_Event
typedef enum _Emotion_Meta_Info | Emotion_Meta_Info
| Meta info type to be retrieved.
typedef enum _Emotion_Vis | Emotion_Vis
| Type of visualization.
typedef enum _Emotion_Aspect | Emotion_Aspect
| Aspect ratio option.
typedef enum _Emotion_Artwork_Info | Emotion_Artwork_Info
typedef struct _Emotion_Version | Emotion_Version
| Represents the current version of Emotion.
typedef struct _Emotion_Webcam | Emotion_Webcam
| Webcam description.

## Enumerations

enum

_Emotion_Event {
EMOTION_EVENT_MENU1 ,
EMOTION_EVENT_MENU2 ,
EMOTION_EVENT_MENU3 ,
EMOTION_EVENT_MENU4 ,
EMOTION_EVENT_MENU5 ,
EMOTION_EVENT_MENU6 ,
EMOTION_EVENT_MENU7 ,
EMOTION_EVENT_UP ,
EMOTION_EVENT_DOWN ,
EMOTION_EVENT_LEFT ,
EMOTION_EVENT_RIGHT ,
EMOTION_EVENT_SELECT ,
EMOTION_EVENT_NEXT ,
EMOTION_EVENT_PREV ,
EMOTION_EVENT_ANGLE_NEXT ,
EMOTION_EVENT_ANGLE_PREV ,
EMOTION_EVENT_FORCE ,
EMOTION_EVENT_0 ,
EMOTION_EVENT_1 ,
EMOTION_EVENT_2 ,
EMOTION_EVENT_3 ,
EMOTION_EVENT_4 ,
EMOTION_EVENT_5 ,
EMOTION_EVENT_6 ,
EMOTION_EVENT_7 ,
EMOTION_EVENT_8 ,
EMOTION_EVENT_9 ,
EMOTION_EVENT_10
}

enum | _Emotion_Meta_Info { EMOTION_META_INFO_TRACK_TITLE , EMOTION_META_INFO_TRACK_ARTIST , EMOTION_META_INFO_TRACK_ALBUM , EMOTION_META_INFO_TRACK_YEAR , EMOTION_META_INFO_TRACK_GENRE , EMOTION_META_INFO_TRACK_COMMENT , EMOTION_META_INFO_TRACK_DISC_ID , EMOTION_META_INFO_TRACK_COUNT }
| Used for retrieving information about the media file being played. More...
enum | _Emotion_Artwork_Info { EMOTION_ARTWORK_IMAGE , EMOTION_ARTWORK_PREVIEW_IMAGE }

enum

_Emotion_Vis {
EMOTION_VIS_NONE ,
EMOTION_VIS_GOOM ,
EMOTION_VIS_LIBVISUAL_BUMPSCOPE ,
EMOTION_VIS_LIBVISUAL_CORONA ,
EMOTION_VIS_LIBVISUAL_DANCING_PARTICLES ,
EMOTION_VIS_LIBVISUAL_GDKPIXBUF ,
EMOTION_VIS_LIBVISUAL_G_FORCE ,
EMOTION_VIS_LIBVISUAL_GOOM ,
EMOTION_VIS_LIBVISUAL_INFINITE ,
EMOTION_VIS_LIBVISUAL_JAKDAW ,
EMOTION_VIS_LIBVISUAL_JESS ,
EMOTION_VIS_LIBVISUAL_LV_ANALYSER ,
EMOTION_VIS_LIBVISUAL_LV_FLOWER ,
EMOTION_VIS_LIBVISUAL_LV_GLTEST ,
EMOTION_VIS_LIBVISUAL_LV_SCOPE ,
EMOTION_VIS_LIBVISUAL_MADSPIN ,
EMOTION_VIS_LIBVISUAL_NEBULUS ,
EMOTION_VIS_LIBVISUAL_OINKSIE ,
EMOTION_VIS_LIBVISUAL_PLASMA ,
EMOTION_VIS_LAST
}

| Used for displaying a visualization on the emotion object. More...
enum | Emotion_Suspend { EMOTION_WAKEUP , EMOTION_SLEEP , EMOTION_DEEP_SLEEP , EMOTION_HIBERNATE }
| Used for emotion pipeline resource management. More...
enum | _Emotion_Aspect { EMOTION_ASPECT_KEEP_NONE , EMOTION_ASPECT_KEEP_WIDTH , EMOTION_ASPECT_KEEP_HEIGHT , EMOTION_ASPECT_KEEP_BOTH , EMOTION_ASPECT_CROP , EMOTION_ASPECT_CUSTOM }
| Defines the aspect ratio option. More...

## Functions

EMOTION_API Eina_Bool | emotion_init (void)
| Initialise Emotion library.
EMOTION_API Eina_Bool | emotion_shutdown (void)
| Shutdown Emotion library.
EMOTION_API Evas_Object * | emotion_object_add (Evas *evas)
| Add an emotion object to the canvas.
EMOTION_API void | emotion_object_border_set (Evas_Object *obj, int l, int r, int t, int b)
| Set borders for the emotion object.
EMOTION_API void | emotion_object_border_get (const Evas_Object *obj, int *l, int *r, int *t, int *b)
| Get the borders set for the emotion object.
EMOTION_API void | emotion_object_bg_color_set (Evas_Object *obj, int r, int g, int b, int a)
| Set a color for the background rectangle of this emotion object.
EMOTION_API void | emotion_object_bg_color_get (const Evas_Object *obj, int *r, int *g, int *b, int *a)
| Get the background color set for the emotion object.
EMOTION_API void | emotion_object_keep_aspect_set (Evas_Object *obj, Emotion_Aspect a)
| Set whether emotion should keep the aspect ratio of the video.
EMOTION_API Emotion_Aspect | emotion_object_keep_aspect_get (const Evas_Object *obj)
| Get the current emotion aspect ratio policy.
EMOTION_API Eina_Bool | emotion_object_file_set (Evas_Object *obj, const char *filename)
| Set the file to be played in the Emotion object.
EMOTION_API const char * | emotion_object_file_get (const Evas_Object *obj)
| Get the filename of the file associated with the emotion object.
EMOTION_API void | emotion_object_play_set (Evas_Object *obj, Eina_Bool play)
| Set play/pause state of the media file.
EMOTION_API Eina_Bool | emotion_object_play_get (const Evas_Object *obj)
| Get play/pause state of the media file.
EMOTION_API void | emotion_object_position_set (Evas_Object *obj, double sec)
| Set the position in the media file.
EMOTION_API double | emotion_object_position_get (const Evas_Object *obj)
| Get the position in the media file.
EMOTION_API double | emotion_object_buffer_size_get (const Evas_Object *obj)
| Get the percentual size of the buffering cache.
EMOTION_API Eina_Bool | emotion_object_seekable_get (const Evas_Object *obj)
| Get whether the media file is seekable.
EMOTION_API double | emotion_object_play_length_get (const Evas_Object *obj)
| Get the length of play for the media file.
EMOTION_API void | emotion_object_play_speed_set (Evas_Object *obj, double speed)
| Set the play speed of the media file.
EMOTION_API double | emotion_object_play_speed_get (const Evas_Object *obj)
| Get the play speed of the media file.
EMOTION_API const char * | emotion_object_progress_info_get (const Evas_Object *obj)
| Get how much of the file has been played.
EMOTION_API double | emotion_object_progress_status_get (const Evas_Object *obj)
| Get how much of the file has been played.
EMOTION_API Eina_Bool | emotion_object_video_handled_get (const Evas_Object *obj)
EMOTION_API Eina_Bool | emotion_object_audio_handled_get (const Evas_Object *obj)
EMOTION_API double | emotion_object_ratio_get (const Evas_Object *obj)
| Retrieve the video aspect ratio of the media file loaded.
EMOTION_API void | emotion_object_size_get (const Evas_Object *obj, int *iw, int *ih)
| Retrieve the video size of the loaded file.
EMOTION_API void | emotion_object_smooth_scale_set (Evas_Object *obj, Eina_Bool smooth)
| Sets whether to use of high-quality image scaling algorithm of the given video object.
EMOTION_API Eina_Bool | emotion_object_smooth_scale_get (const Evas_Object *obj)
| Gets whether the high-quality image scaling algorithm of the given video object is used.
EMOTION_API void | emotion_object_event_simple_send (Evas_Object *obj, Emotion_Event ev)
| Send an Emotion Event to an Evas object.
EMOTION_API void | emotion_object_audio_volume_set (Evas_Object *obj, double vol)
| Set the audio volume.
EMOTION_API double | emotion_object_audio_volume_get (const Evas_Object *obj)
| Get the audio volume.
EMOTION_API void | emotion_object_audio_mute_set (Evas_Object *obj, Eina_Bool mute)
| Set the mute audio option for this object.
EMOTION_API Eina_Bool | emotion_object_audio_mute_get (const Evas_Object *obj)
| Get the mute audio option of this object.
EMOTION_API int | emotion_object_audio_channel_count (const Evas_Object *obj)
EMOTION_API const char * | emotion_object_audio_channel_name_get (const Evas_Object *obj, int channel)
EMOTION_API void | emotion_object_audio_channel_set (Evas_Object *obj, int channel)
EMOTION_API int | emotion_object_audio_channel_get (const Evas_Object *obj)
EMOTION_API void | emotion_object_video_mute_set (Evas_Object *obj, Eina_Bool mute)
| Set the mute video option for this object.
EMOTION_API Eina_Bool | emotion_object_video_mute_get (const Evas_Object *obj)
| Get the mute video option of this object.
EMOTION_API void | emotion_object_video_subtitle_file_set (Evas_Object *obj, const char *filepath)
| Set the video's subtitle file path.
EMOTION_API const char * | emotion_object_video_subtitle_file_get (const Evas_Object *obj)
| Get the video's subtitle file path.
EMOTION_API int | emotion_object_video_channel_count (const Evas_Object *obj)
| Get the number of available video channel.
EMOTION_API const char * | emotion_object_video_channel_name_get (const Evas_Object *obj, int channel)
| Get the name of a given video channel.
EMOTION_API void | emotion_object_video_channel_set (Evas_Object *obj, int channel)
| Set the channel for a given video object.
EMOTION_API int | emotion_object_video_channel_get (const Evas_Object *obj)
| Get the channel for a given video object.
EMOTION_API void | emotion_object_spu_mute_set (Evas_Object *obj, Eina_Bool mute)
EMOTION_API Eina_Bool | emotion_object_spu_mute_get (const Evas_Object *obj)
EMOTION_API int | emotion_object_spu_channel_count (const Evas_Object *obj)
EMOTION_API const char * | emotion_object_spu_channel_name_get (const Evas_Object *obj, int channel)
EMOTION_API void | emotion_object_spu_channel_set (Evas_Object *obj, int channel)
EMOTION_API int | emotion_object_spu_channel_get (const Evas_Object *obj)
EMOTION_API int | emotion_object_chapter_count (const Evas_Object *obj)
EMOTION_API void | emotion_object_chapter_set (Evas_Object *obj, int chapter)
EMOTION_API int | emotion_object_chapter_get (const Evas_Object *obj)
EMOTION_API const char * | emotion_object_chapter_name_get (const Evas_Object *obj, int chapter)
EMOTION_API void | emotion_object_eject (Evas_Object *obj)
EMOTION_API const char * | emotion_object_title_get (const Evas_Object *obj)
| Get the dvd title from this emotion object.
EMOTION_API const char * | emotion_object_ref_file_get (const Evas_Object *obj)
EMOTION_API int | emotion_object_ref_num_get (const Evas_Object *obj)
EMOTION_API int | emotion_object_spu_button_count_get (const Evas_Object *obj)
EMOTION_API int | emotion_object_spu_button_get (const Evas_Object *obj)
EMOTION_API const char * | emotion_object_meta_info_get (const Evas_Object *obj, Emotion_Meta_Info meta)
| Retrieve meta information from this file being played.
EMOTION_API void | emotion_object_vis_set (Evas_Object *obj, Emotion_Vis visualization)
| Set the visualization to be used with this object.
EMOTION_API Emotion_Vis | emotion_object_vis_get (const Evas_Object *obj)
| Get the type of visualization in use by this emotion object.
EMOTION_API Eina_Bool | emotion_object_vis_supported (const Evas_Object *obj, Emotion_Vis visualization)
| Query whether a type of visualization is supported by this object.
EMOTION_API void | emotion_object_priority_set (Evas_Object *obj, Eina_Bool priority)
| Raise priority of an object so it will have a priviledged access to hardware resources.
EMOTION_API Eina_Bool | emotion_object_priority_get (const Evas_Object *obj)
| Get the actual priority of an object.
EMOTION_API void | emotion_object_suspend_set (Evas_Object *obj, Emotion_Suspend state)
| Change the state of an object pipeline.
EMOTION_API Emotion_Suspend | emotion_object_suspend_get (Evas_Object *obj)
| Get the current state of the pipeline.
EMOTION_API void | emotion_object_last_position_load (Evas_Object *obj)
| Load the last known position if available.
EMOTION_API void | emotion_object_last_position_save (Evas_Object *obj)
| Save the lastest position if possible.
EMOTION_API Eina_Bool | emotion_object_extension_may_play_fast_get (const char *file)
| Do we have a chance to play that file.
EMOTION_API Eina_Bool | emotion_object_extension_may_play_get (const char *file)
| Do we have a chance to play that file.
EMOTION_API Evas_Object * | emotion_object_image_get (const Evas_Object *obj)
| Get the actual image object that contains the pixels of the video stream.
EMOTION_API const Eina_List * | emotion_webcams_get (void)
| Get a list of active and available webcam.
EMOTION_API const char * | emotion_webcam_name_get (const Emotion_Webcam *ew)
| Get the human understandable name of a Webcam.
EMOTION_API const char * | emotion_webcam_device_get (const Emotion_Webcam *ew)
| Get the uri of a Webcam that will be understood by emotion.
EMOTION_API Evas_Object * | emotion_file_meta_artwork_get (const Evas_Object *obj, const char *path, Emotion_Artwork_Info type)
| Get the album artwork from file meta data tags.

## Variables

EMOTION_API Emotion_Version * | emotion_version
EMOTION_API int | EMOTION_WEBCAM_UPDATE
| Ecore_Event triggered when a new webcam is plugged or unplugged.
EMOTION_API int | EMOTION_WEBCAM_ADD
| Ecore_Event triggered when a new webcam is plugged in.
EMOTION_API int | EMOTION_WEBCAM_DEL
| Ecore_Event triggered when a webcam is unplugged.

## Detailed Description

Emotion Media Library.

The file that provides Emotion the API, with functions available for play, seek, change volume, etc.

These routines are used for Emotion.

## Enumeration Type Documentation

## _Emotion_Aspect

enum _Emotion_Aspect

Defines the aspect ratio option.

Enumerator
EMOTION_ASPECT_KEEP_NONE | ignore video aspect ratio
EMOTION_ASPECT_KEEP_WIDTH | respect video aspect, fitting its width inside the object width
EMOTION_ASPECT_KEEP_HEIGHT | respect video aspect, fitting its height inside the object height
EMOTION_ASPECT_KEEP_BOTH | respect video aspect, fitting it inside the object area
EMOTION_ASPECT_CROP | respect video aspect, cropping exceding area
EMOTION_ASPECT_CUSTOM | use custom borders/crop for the video