2013-01-02 05:19:49 -08:00
|
|
|
#ifndef MUSIC_CONTROL_PRIVATE_H
|
|
|
|
#define MUSIC_CONTROL_PRIVATE_H
|
|
|
|
|
|
|
|
#include "e_mod_main.h"
|
2015-04-07 08:26:37 -07:00
|
|
|
#include "eldbus_media_player2_player.h"
|
|
|
|
#include "eldbus_mpris_media_player2.h"
|
2013-01-02 05:19:49 -08:00
|
|
|
|
2013-02-22 05:28:09 -08:00
|
|
|
static Ecore_Event_Handler *desklock_handler = NULL;
|
|
|
|
|
2013-01-02 05:21:41 -08:00
|
|
|
typedef struct _Music_Control_Config
|
|
|
|
{
|
|
|
|
int player_selected;
|
2013-02-22 05:28:09 -08:00
|
|
|
int pause_on_desklock;
|
2013-01-02 05:21:41 -08:00
|
|
|
} Music_Control_Config;
|
|
|
|
|
2013-01-02 05:19:49 -08:00
|
|
|
typedef struct _E_Music_Control_Module_Context
|
|
|
|
{
|
|
|
|
Eina_List *instances;
|
2013-04-23 08:08:29 -07:00
|
|
|
Eldbus_Connection *conn;
|
2017-11-06 09:46:08 -08:00
|
|
|
Eina_Bool playing E_BITFIELD;
|
2013-10-28 14:55:10 -07:00
|
|
|
Eina_Stringshare *meta_artist;
|
|
|
|
Eina_Stringshare *meta_album;
|
|
|
|
Eina_Stringshare *meta_title;
|
|
|
|
Eina_Stringshare *meta_cover;
|
2021-01-08 06:04:31 -08:00
|
|
|
Eina_Stringshare *meta_cover_prev;
|
2021-01-08 20:00:38 -08:00
|
|
|
double meta_length;
|
|
|
|
double position;
|
|
|
|
Eina_Bool loop;
|
2013-04-23 08:08:29 -07:00
|
|
|
Eldbus_Proxy *mrpis2;
|
|
|
|
Eldbus_Proxy *mpris2_player;
|
2013-01-02 05:21:41 -08:00
|
|
|
E_Config_DD *conf_edd;
|
|
|
|
Music_Control_Config *config;
|
2021-01-06 06:09:08 -08:00
|
|
|
Eldbus_Pending *bus_list_pend;
|
|
|
|
Ecore_Timer *poll_timer;
|
2019-12-17 12:07:18 -08:00
|
|
|
const char *dbus_name;
|
2017-11-06 09:46:08 -08:00
|
|
|
Eina_Bool actions_set E_BITFIELD;
|
2013-01-02 05:19:49 -08:00
|
|
|
} E_Music_Control_Module_Context;
|
|
|
|
|
|
|
|
typedef struct _E_Music_Control_Instance
|
|
|
|
{
|
|
|
|
E_Music_Control_Module_Context *ctxt;
|
|
|
|
E_Gadcon_Client *gcc;
|
|
|
|
Evas_Object *gadget;
|
|
|
|
E_Gadcon_Popup *popup;
|
|
|
|
Evas_Object *content_popup;
|
|
|
|
} E_Music_Control_Instance;
|
|
|
|
|
2019-12-17 12:07:18 -08:00
|
|
|
void music_control_launch(E_Music_Control_Instance *inst);
|
2013-01-02 05:19:49 -08:00
|
|
|
void music_control_mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event);
|
|
|
|
const char *music_control_edj_path_get(void);
|
|
|
|
void music_control_popup_del(E_Music_Control_Instance *inst);
|
|
|
|
void music_control_state_update_all(E_Music_Control_Module_Context *ctxt);
|
2021-01-08 20:00:38 -08:00
|
|
|
void music_control_pos_update(E_Music_Control_Module_Context *ctxt);
|
2013-10-28 14:55:10 -07:00
|
|
|
void music_control_metadata_update_all(E_Music_Control_Module_Context *ctxt);
|
2013-01-02 05:21:41 -08:00
|
|
|
Eina_Bool music_control_dbus_init(E_Music_Control_Module_Context *ctxt, const char *bus);
|
2021-01-06 06:09:08 -08:00
|
|
|
|
|
|
|
Eina_Bool _desklock_cb(void *data, int type EINA_UNUSED, void *ev);
|
2013-01-02 05:21:41 -08:00
|
|
|
|
|
|
|
typedef struct _Player {
|
|
|
|
const char *name;
|
|
|
|
const char *dbus_name;
|
2019-12-17 10:31:01 -08:00
|
|
|
const char *command;
|
2013-01-02 05:21:41 -08:00
|
|
|
} Player;
|
2013-01-02 05:19:49 -08:00
|
|
|
|
|
|
|
#endif
|