1 #ifndef EMOTION_PRIVATE_H
2 #define EMOTION_PRIVATE_H
3 
4 #include <Evas.h>
5 #include <Eet.h>
6 #include "Emotion.h"
7 
8 Eina_Bool emotion_webcam_init(void);
9 void emotion_webcam_shutdown(void);
10 
11 Eina_Bool emotion_modules_init(void);
12 void emotion_modules_shutdown(void);
13 
14 extern int _emotion_log_domain;
15 extern Eina_Prefix *_emotion_pfx;
16 
17 #define DBG(...) EINA_LOG_DOM_DBG(_emotion_log_domain, __VA_ARGS__)
18 #define INF(...) EINA_LOG_DOM_INFO(_emotion_log_domain, __VA_ARGS__)
19 #define WRN(...) EINA_LOG_DOM_WARN(_emotion_log_domain, __VA_ARGS__)
20 #define ERR(...) EINA_LOG_DOM_ERR(_emotion_log_domain, __VA_ARGS__)
21 #define CRI(...) EINA_LOG_DOM_CRIT(_emotion_log_domain, __VA_ARGS__)
22 
23 #include "emotion_modules.h"
24 
25 typedef struct _Emotion_Engine_Instance Emotion_Engine_Instance;
26 
27 Emotion_Engine_Instance *emotion_engine_instance_new(const char *name, Evas_Object *obj, Emotion_Module_Options *opts);
28 void                     emotion_engine_instance_del(Emotion_Engine_Instance *inst);
29 Eina_Bool                emotion_engine_instance_name_equal(const Emotion_Engine_Instance *inst, const char *name);
30 void                    *emotion_engine_instance_data_get(const Emotion_Engine_Instance *inst);
31 
32 Eina_Bool      emotion_engine_instance_file_open(Emotion_Engine_Instance *inst, const char *file);
33 void           emotion_engine_instance_file_close(Emotion_Engine_Instance *inst);
34 void           emotion_engine_instance_play(Emotion_Engine_Instance *inst, double pos);
35 void           emotion_engine_instance_stop(Emotion_Engine_Instance *inst);
36 void           emotion_engine_instance_size_get(const Emotion_Engine_Instance *inst, int *w, int *h);
37 void           emotion_engine_instance_pos_set(Emotion_Engine_Instance *inst, double pos);
38 double         emotion_engine_instance_len_get(const Emotion_Engine_Instance *inst);
39 double         emotion_engine_instance_buffer_size_get(const Emotion_Engine_Instance *inst);
40 int            emotion_engine_instance_fps_num_get(const Emotion_Engine_Instance *inst);
41 int            emotion_engine_instance_fps_den_get(const Emotion_Engine_Instance *inst);
42 double         emotion_engine_instance_fps_get(const Emotion_Engine_Instance *inst);
43 double         emotion_engine_instance_pos_get(const Emotion_Engine_Instance *inst);
44 void           emotion_engine_instance_vis_set(Emotion_Engine_Instance *inst, Emotion_Vis vis);
45 Emotion_Vis    emotion_engine_instance_vis_get(const Emotion_Engine_Instance *inst);
46 Eina_Bool      emotion_engine_instance_vis_supported(Emotion_Engine_Instance *inst, Emotion_Vis vis);
47 double         emotion_engine_instance_ratio_get(const Emotion_Engine_Instance *inst);
48 Eina_Bool      emotion_engine_instance_video_handled(Emotion_Engine_Instance *inst);
49 Eina_Bool      emotion_engine_instance_audio_handled(Emotion_Engine_Instance *inst);
50 Eina_Bool      emotion_engine_instance_seekable(Emotion_Engine_Instance *inst);
51 void           emotion_engine_instance_frame_done(Emotion_Engine_Instance *inst);
52 Emotion_Format emotion_engine_instance_format_get(const Emotion_Engine_Instance *inst);
53 void           emotion_engine_instance_video_data_size_get(const Emotion_Engine_Instance *inst, int *w, int *h);
54 Eina_Bool      emotion_engine_instance_yuv_rows_get(const Emotion_Engine_Instance *inst, int w, int h, unsigned char **yrows, unsigned char **urows, unsigned char **vrows);
55 Eina_Bool      emotion_engine_instance_bgra_data_get(const Emotion_Engine_Instance *inst, unsigned char **bgra_data);
56 void           emotion_engine_instance_event_feed(Emotion_Engine_Instance *inst, int event);
57 void           emotion_engine_instance_event_mouse_button_feed(Emotion_Engine_Instance *inst, int button, int x, int y);
58 void           emotion_engine_instance_event_mouse_move_feed(Emotion_Engine_Instance *inst, int x, int y);
59 int            emotion_engine_instance_video_channel_count(Emotion_Engine_Instance *inst);
60 void           emotion_engine_instance_video_channel_set(Emotion_Engine_Instance *inst, int channel);
61 int            emotion_engine_instance_video_channel_get(const Emotion_Engine_Instance *inst);
62 void           emotion_engine_instance_video_subtitle_file_set(Emotion_Engine_Instance *inst, const char *filepath);
63 const char *   emotion_engine_instance_video_subtitle_file_get(const Emotion_Engine_Instance *inst);
64 const char *   emotion_engine_instance_video_channel_name_get(const Emotion_Engine_Instance *inst, int channel);
65 void           emotion_engine_instance_video_channel_mute_set(Emotion_Engine_Instance *inst, Eina_Bool mute);
66 Eina_Bool      emotion_engine_instance_video_channel_mute_get(const Emotion_Engine_Instance *inst);
67 int            emotion_engine_instance_audio_channel_count(Emotion_Engine_Instance *inst);
68 void           emotion_engine_instance_audio_channel_set(Emotion_Engine_Instance *inst, int channel);
69 int            emotion_engine_instance_audio_channel_get(const Emotion_Engine_Instance *inst);
70 const char *   emotion_engine_instance_audio_channel_name_get(const Emotion_Engine_Instance *inst, int channel);
71 void           emotion_engine_instance_audio_channel_mute_set(Emotion_Engine_Instance *inst, Eina_Bool mute);
72 Eina_Bool      emotion_engine_instance_audio_channel_mute_get(const Emotion_Engine_Instance *inst);
73 void           emotion_engine_instance_audio_channel_volume_set(Emotion_Engine_Instance *inst, double vol);
74 double         emotion_engine_instance_audio_channel_volume_get(const Emotion_Engine_Instance *inst);
75 int            emotion_engine_instance_spu_channel_count(Emotion_Engine_Instance *inst);
76 void           emotion_engine_instance_spu_channel_set(Emotion_Engine_Instance *inst, int channel);
77 int            emotion_engine_instance_spu_channel_get(const Emotion_Engine_Instance *inst);
78 const char *   emotion_engine_instance_spu_channel_name_get(const Emotion_Engine_Instance *inst, int channel);
79 void           emotion_engine_instance_spu_channel_mute_set(Emotion_Engine_Instance *inst, Eina_Bool mute);
80 Eina_Bool      emotion_engine_instance_spu_channel_mute_get(const Emotion_Engine_Instance *inst);
81 int            emotion_engine_instance_chapter_count(Emotion_Engine_Instance *inst);
82 void           emotion_engine_instance_chapter_set(Emotion_Engine_Instance *inst, int chapter);
83 int            emotion_engine_instance_chapter_get(const Emotion_Engine_Instance *inst);
84 const char *   emotion_engine_instance_chapter_name_get(const Emotion_Engine_Instance *inst, int chapter);
85 void           emotion_engine_instance_speed_set(Emotion_Engine_Instance *inst, double speed);
86 double         emotion_engine_instance_speed_get(const Emotion_Engine_Instance *inst);
87 Eina_Bool      emotion_engine_instance_eject(Emotion_Engine_Instance *inst);
88 const char *   emotion_engine_instance_meta_get(const Emotion_Engine_Instance *inst, int meta);
89 void           emotion_engine_instance_priority_set(Emotion_Engine_Instance *inst, Eina_Bool priority);
90 Eina_Bool      emotion_engine_instance_priority_get(const Emotion_Engine_Instance *inst);
91 void       *   emotion_engine_instance_meta_artwork_get(const Emotion_Engine_Instance *inst, Evas_Object *img, const char *path, Emotion_Artwork_Info type);
92 #endif
93