Compare commits
3 Commits
master
...
devs/bu5hm
Author | SHA1 | Date |
---|---|---|
Marcel Hollerbach | 04308ab8aa | |
Marcel Hollerbach | 4304036e51 | |
Marcel Hollerbach | 245aca973e |
|
@ -476,10 +476,21 @@ _slider_changed_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
||||||
|
|
||||||
val = (int)elm_slider_value_get(obj);
|
val = (int)elm_slider_value_get(obj);
|
||||||
VOLSET(val, s->volume, s, emix_sink_volume_set);
|
VOLSET(val, s->volume, s, emix_sink_volume_set);
|
||||||
|
elm_slider_value_set(obj, val);
|
||||||
emix_config_save_state_get();
|
emix_config_save_state_get();
|
||||||
if (emix_config_save_get()) e_config_save_queue();
|
if (emix_config_save_get()) e_config_save_queue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_slider_drag_stop_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
||||||
|
void *event EINA_UNUSED)
|
||||||
|
{
|
||||||
|
EINA_SAFETY_ON_NULL_RETURN(mixer_context->sink_default);
|
||||||
|
Emix_Sink *s = (Emix_Sink *)mixer_context->sink_default;
|
||||||
|
int val = s->set_volume.volumes[0];
|
||||||
|
elm_slider_value_set(obj, val);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_sink_selected_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
_sink_selected_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
|
@ -544,6 +555,7 @@ _popup_new(Instance *inst)
|
||||||
evas_object_show(slider);
|
evas_object_show(slider);
|
||||||
elm_slider_min_max_set(slider, 0.0, emix_max_volume_get());
|
elm_slider_min_max_set(slider, 0.0, emix_max_volume_get());
|
||||||
evas_object_smart_callback_add(slider, "changed", _slider_changed_cb, NULL);
|
evas_object_smart_callback_add(slider, "changed", _slider_changed_cb, NULL);
|
||||||
|
evas_object_smart_callback_add(slider, "slider,drag,stop", _slider_drag_stop_cb, NULL);
|
||||||
elm_slider_value_set(slider, volume);
|
elm_slider_value_set(slider, volume);
|
||||||
elm_box_pack_end(bx, slider);
|
elm_box_pack_end(bx, slider);
|
||||||
evas_object_show(slider);
|
evas_object_show(slider);
|
||||||
|
|
|
@ -48,6 +48,17 @@ _cb_sink_volume_change(void *data,
|
||||||
elm_slider_value_set(obj, vol);
|
elm_slider_value_set(obj, vol);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_cb_sink_volume_drag_stop(void *data,
|
||||||
|
Evas_Object *obj,
|
||||||
|
void *event EINA_UNUSED)
|
||||||
|
{
|
||||||
|
Evas_Object *bxv = data;
|
||||||
|
Emix_Sink *sink = evas_object_data_get(bxv, "sink");
|
||||||
|
int vol = sink->set_volume.volumes[0];
|
||||||
|
elm_slider_value_set(obj, vol);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_cb_sink_mute_change(void *data,
|
_cb_sink_mute_change(void *data,
|
||||||
Evas_Object *obj,
|
Evas_Object *obj,
|
||||||
|
@ -123,6 +134,8 @@ _emix_sink_add(Emix_Sink *sink)
|
||||||
elm_box_pack_end(bx, sl);
|
elm_box_pack_end(bx, sl);
|
||||||
evas_object_show(sl);
|
evas_object_show(sl);
|
||||||
evas_object_smart_callback_add(sl, "changed", _cb_sink_volume_change, bxv);
|
evas_object_smart_callback_add(sl, "changed", _cb_sink_volume_change, bxv);
|
||||||
|
evas_object_smart_callback_add(sl, "slider,drag,stop",
|
||||||
|
_cb_sink_volume_drag_stop, bxv);
|
||||||
|
|
||||||
ck = elm_check_add(win);
|
ck = elm_check_add(win);
|
||||||
evas_object_data_set(bxv, "mute", ck);
|
evas_object_data_set(bxv, "mute", ck);
|
||||||
|
|
|
@ -280,6 +280,13 @@ emix_sink_volume_set(Emix_Sink *sink, Emix_Volume volume)
|
||||||
ctx->loaded->ebackend_sink_volume_set &&
|
ctx->loaded->ebackend_sink_volume_set &&
|
||||||
sink));
|
sink));
|
||||||
|
|
||||||
|
sink->set_volume.channel_count = volume.channel_count;
|
||||||
|
sink->set_volume.volumes = calloc(volume.channel_count, sizeof(int));
|
||||||
|
for (unsigned int i = 0; i < volume.channel_count; i++)
|
||||||
|
{
|
||||||
|
sink->set_volume.volumes[i] = volume.volumes[i];
|
||||||
|
}
|
||||||
|
|
||||||
ctx->loaded->ebackend_sink_volume_set(sink, volume);
|
ctx->loaded->ebackend_sink_volume_set(sink, volume);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -55,6 +55,7 @@ typedef struct _Emix_Port {
|
||||||
typedef struct _Emix_Sink {
|
typedef struct _Emix_Sink {
|
||||||
const char *name;
|
const char *name;
|
||||||
Emix_Volume volume;
|
Emix_Volume volume;
|
||||||
|
Emix_Volume set_volume;
|
||||||
Eina_Bool mute;
|
Eina_Bool mute;
|
||||||
Eina_List *ports;
|
Eina_List *ports;
|
||||||
} Emix_Sink;
|
} Emix_Sink;
|
||||||
|
|
Loading…
Reference in New Issue