forked from enlightenment/enlightenment
e_client_volume: add sink_name_get API to e_client_volume
This commit is contained in:
parent
718f0fe0f4
commit
939ac0b93d
|
@ -117,7 +117,7 @@ e_client_volume_shutdown(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
E_API E_Client_Volume_Sink *
|
E_API E_Client_Volume_Sink *
|
||||||
e_client_volume_sink_new(E_Client_Volume_Sink_Get func_get, E_Client_Volume_Sink_Set func_set, E_Client_Volume_Sink_Min_Get func_min_get, E_Client_Volume_Sink_Max_Get func_max_get, void *data)
|
e_client_volume_sink_new(E_Client_Volume_Sink_Get func_get, E_Client_Volume_Sink_Set func_set, E_Client_Volume_Sink_Min_Get func_min_get, E_Client_Volume_Sink_Max_Get func_max_get, E_Client_Volume_Sink_Name_Get func_name_get, void *data)
|
||||||
{
|
{
|
||||||
E_Client_Volume_Sink *sink;
|
E_Client_Volume_Sink *sink;
|
||||||
|
|
||||||
|
@ -126,6 +126,7 @@ e_client_volume_sink_new(E_Client_Volume_Sink_Get func_get, E_Client_Volume_Sink
|
||||||
sink->func_get = func_get;
|
sink->func_get = func_get;
|
||||||
sink->func_min_get = func_min_get;
|
sink->func_min_get = func_min_get;
|
||||||
sink->func_max_get = func_max_get;
|
sink->func_max_get = func_max_get;
|
||||||
|
sink->func_name_get = func_name_get;
|
||||||
sink->data = data;
|
sink->data = data;
|
||||||
|
|
||||||
return sink;
|
return sink;
|
||||||
|
@ -179,6 +180,15 @@ e_client_volume_sink_max_get(const E_Client_Volume_Sink *sink)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
E_API const char *
|
||||||
|
e_client_volume_sink_name_get(const E_Client_Volume_Sink *sink)
|
||||||
|
{
|
||||||
|
EINA_SAFETY_ON_NULL_RETURN_VAL(sink, 0);
|
||||||
|
if (sink->func_name_get)
|
||||||
|
return sink->func_name_get(sink->data);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
E_API void
|
E_API void
|
||||||
e_client_volume_sink_append(E_Client *ec, E_Client_Volume_Sink *sink)
|
e_client_volume_sink_append(E_Client *ec, E_Client_Volume_Sink *sink)
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,6 +7,7 @@ typedef void (*E_Client_Volume_Sink_Get)(int *volume, Eina_Bool *mute, void *dat
|
||||||
typedef void (*E_Client_Volume_Sink_Set)(int volume, Eina_Bool mute, void *data);
|
typedef void (*E_Client_Volume_Sink_Set)(int volume, Eina_Bool mute, void *data);
|
||||||
typedef int (*E_Client_Volume_Sink_Min_Get)(void *data);
|
typedef int (*E_Client_Volume_Sink_Min_Get)(void *data);
|
||||||
typedef int (*E_Client_Volume_Sink_Max_Get)(void *data);
|
typedef int (*E_Client_Volume_Sink_Max_Get)(void *data);
|
||||||
|
typedef const char *(*E_Client_Volume_Sink_Name_Get)(void *data);
|
||||||
|
|
||||||
E_API extern int E_EVENT_CLIENT_VOLUME;
|
E_API extern int E_EVENT_CLIENT_VOLUME;
|
||||||
E_API extern int E_EVENT_CLIENT_MUTE;
|
E_API extern int E_EVENT_CLIENT_MUTE;
|
||||||
|
@ -18,6 +19,7 @@ struct _E_Client_Volume_Sink
|
||||||
E_Client_Volume_Sink_Set func_set;
|
E_Client_Volume_Sink_Set func_set;
|
||||||
E_Client_Volume_Sink_Min_Get func_min_get;
|
E_Client_Volume_Sink_Min_Get func_min_get;
|
||||||
E_Client_Volume_Sink_Max_Get func_max_get;
|
E_Client_Volume_Sink_Max_Get func_max_get;
|
||||||
|
E_Client_Volume_Sink_Name_Get func_name_get;
|
||||||
void *data;
|
void *data;
|
||||||
Eina_List *clients;
|
Eina_List *clients;
|
||||||
};
|
};
|
||||||
|
@ -31,12 +33,13 @@ E_API void e_client_volume_mute_set(E_Client *ec, Eina_Bool mute);
|
||||||
|
|
||||||
E_API Evas_Object *e_client_volume_object_add(E_Client *ec, Evas *evas);
|
E_API Evas_Object *e_client_volume_object_add(E_Client *ec, Evas *evas);
|
||||||
|
|
||||||
E_API E_Client_Volume_Sink *e_client_volume_sink_new(E_Client_Volume_Sink_Get func_get, E_Client_Volume_Sink_Set func_set, E_Client_Volume_Sink_Min_Get func_min_get, E_Client_Volume_Sink_Max_Get func_max_get, void *data);
|
E_API E_Client_Volume_Sink *e_client_volume_sink_new(E_Client_Volume_Sink_Get func_get, E_Client_Volume_Sink_Set func_set, E_Client_Volume_Sink_Min_Get func_min_get, E_Client_Volume_Sink_Max_Get func_max_get, E_Client_Volume_Sink_Name_Get func_name_get, void *data);
|
||||||
E_API void e_client_volume_sink_del(E_Client_Volume_Sink *mixer);
|
E_API void e_client_volume_sink_del(E_Client_Volume_Sink *mixer);
|
||||||
E_API void e_client_volume_sink_set(E_Client_Volume_Sink *mixer, int volume, Eina_Bool mute);
|
E_API void e_client_volume_sink_set(E_Client_Volume_Sink *mixer, int volume, Eina_Bool mute);
|
||||||
E_API void e_client_volume_sink_get(const E_Client_Volume_Sink *mixer, int *volume, Eina_Bool *mute);
|
E_API void e_client_volume_sink_get(const E_Client_Volume_Sink *mixer, int *volume, Eina_Bool *mute);
|
||||||
E_API int e_client_volume_sink_min_get(const E_Client_Volume_Sink *mixer);
|
E_API int e_client_volume_sink_min_get(const E_Client_Volume_Sink *mixer);
|
||||||
E_API int e_client_volume_sink_max_get(const E_Client_Volume_Sink *mixer);
|
E_API int e_client_volume_sink_max_get(const E_Client_Volume_Sink *mixer);
|
||||||
|
E_API const char * e_client_volume_sink_name_get(const E_Client_Volume_Sink *mixer);
|
||||||
E_API void e_client_volume_sink_append(E_Client *ec, E_Client_Volume_Sink *mixer);
|
E_API void e_client_volume_sink_append(E_Client *ec, E_Client_Volume_Sink *mixer);
|
||||||
E_API void e_client_volume_sink_remove(E_Client *ec, E_Client_Volume_Sink *mixer);
|
E_API void e_client_volume_sink_remove(E_Client *ec, E_Client_Volume_Sink *mixer);
|
||||||
E_API void e_client_volume_sink_update(E_Client_Volume_Sink *mixer);
|
E_API void e_client_volume_sink_update(E_Client_Volume_Sink *mixer);
|
||||||
|
|
|
@ -871,6 +871,15 @@ _sink_input_max_get(void *data EINA_UNUSED)
|
||||||
return emix_max_volume_get();
|
return emix_max_volume_get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char *
|
||||||
|
_sink_input_name_get(void *data)
|
||||||
|
{
|
||||||
|
Emix_Sink_Input *input;
|
||||||
|
|
||||||
|
input = data;
|
||||||
|
return input->name;
|
||||||
|
}
|
||||||
|
|
||||||
static pid_t
|
static pid_t
|
||||||
_get_ppid(pid_t pid)
|
_get_ppid(pid_t pid)
|
||||||
{
|
{
|
||||||
|
@ -926,10 +935,11 @@ _sink_input_event(int type, Emix_Sink_Input *input)
|
||||||
DBG("Sink found the client %s",
|
DBG("Sink found the client %s",
|
||||||
e_client_util_name_get(ec));
|
e_client_util_name_get(ec));
|
||||||
sink = e_client_volume_sink_new(_sink_input_get,
|
sink = e_client_volume_sink_new(_sink_input_get,
|
||||||
_sink_input_set,
|
_sink_input_set,
|
||||||
_sink_input_min_get,
|
_sink_input_min_get,
|
||||||
_sink_input_max_get,
|
_sink_input_max_get,
|
||||||
input);
|
_sink_input_name_get,
|
||||||
|
input);
|
||||||
e_client_volume_sink_append(ec, sink);
|
e_client_volume_sink_append(ec, sink);
|
||||||
_client_sinks = eina_list_append(_client_sinks, sink);
|
_client_sinks = eina_list_append(_client_sinks, sink);
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue