This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch main
in repository eradio.
View the commit online.
commit 3ee8bb407aaddde4b15670af16a3853ca588879e
Author: politebot <[email protected]>
AuthorDate: Thu Oct 16 16:28:13 2025 -0500
Add volume slider
---
src/appdata.h | 1 +
src/radio_player.c | 3 +++
src/ui.c | 36 ++++++++++++++++++++++++++++++++++++
3 files changed, 40 insertions(+)
diff --git a/src/appdata.h b/src/appdata.h
index 362654f..71b1f32 100644
--- a/src/appdata.h
+++ b/src/appdata.h
@@ -33,6 +33,7 @@ typedef struct _AppData
Elm_Object_Item *stop_item;
Evas_Object *separator;
Evas_Object *statusbar;
+ Evas_Object *volume_slider;
Evas_Object *search_btn;
Evas_Object *search_bar;
diff --git a/src/radio_player.c b/src/radio_player.c
index 20c5849..9f0022e 100644
--- a/src/radio_player.c
+++ b/src/radio_player.c
@@ -112,6 +112,9 @@ radio_player_init(AppData *ad)
evas_object_smart_callback_add(ad->emotion, "title_change", _title_changed_cb, ad);
evas_object_smart_callback_add(ad->emotion, "playback_error", _playback_error_cb, ad);
evas_object_smart_callback_add(ad->emotion, "decode_error", _decode_error_cb, ad);
+
+ // Set initial volume
+ emotion_object_audio_volume_set(ad->emotion, 0.7);
}
void
diff --git a/src/ui.c b/src/ui.c
index cc9139b..0fab782 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -22,6 +22,7 @@ void _list_item_selected_cb(void *data, Evas_Object *obj, void *event_info);
static void _favorites_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info);
static void _load_more_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info);
static void _error_dialog_ok_clicked_cb(void *data, Evas_Object *obj, void *event_info);
+static void _volume_slider_changed_cb(void *data, Evas_Object *obj, void *event_info);
static void
@@ -222,6 +223,31 @@ ui_create(AppData *ad)
elm_box_pack_end(box, ad->statusbar);
evas_object_show(ad->statusbar);
+ // Volume slider below status bar
+ Evas_Object *volume_box = elm_box_add(ad->win);
+ elm_box_horizontal_set(volume_box, EINA_TRUE);
+ elm_box_padding_set(volume_box, 10, 0);
+ evas_object_size_hint_weight_set(volume_box, EVAS_HINT_EXPAND, 0);
+ evas_object_size_hint_align_set(volume_box, EVAS_HINT_FILL, 0.5);
+ elm_box_pack_end(box, volume_box);
+ evas_object_show(volume_box);
+
+ Evas_Object *volume_label = elm_label_add(ad->win);
+ elm_object_text_set(volume_label, "Volume:");
+ evas_object_size_hint_align_set(volume_label, 0, 0.5);
+ elm_box_pack_end(volume_box, volume_label);
+ evas_object_show(volume_label);
+
+ ad->volume_slider = elm_slider_add(ad->win);
+ elm_slider_horizontal_set(ad->volume_slider, EINA_TRUE);
+ elm_slider_min_max_set(ad->volume_slider, 0.0, 1.0);
+ elm_slider_value_set(ad->volume_slider, 0.7); // Default volume
+ evas_object_size_hint_weight_set(ad->volume_slider, EVAS_HINT_EXPAND, 0);
+ evas_object_size_hint_align_set(ad->volume_slider, EVAS_HINT_FILL, 0.5);
+ evas_object_smart_callback_add(ad->volume_slider, "changed", _volume_slider_changed_cb, ad);
+ elm_box_pack_end(volume_box, ad->volume_slider);
+ evas_object_show(ad->volume_slider);
+
ad->play_pause_item = elm_toolbar_item_append(ad->controls_toolbar, "media-playback-start", "Play/Pause", _play_pause_btn_clicked_cb, ad);
ad->stop_item = elm_toolbar_item_append(ad->controls_toolbar, "media-playback-stop", "Stop", _stop_btn_clicked_cb, ad);
@@ -358,6 +384,16 @@ _error_dialog_ok_clicked_cb(void *data, Evas_Object *obj, void *event_info)
evas_object_del(inwin);
}
+static void
+_volume_slider_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ AppData *ad = data;
+ if (!ad || !ad->emotion) return;
+
+ double volume = elm_slider_value_get(obj);
+ emotion_object_audio_volume_set(ad->emotion, volume);
+}
+
void
ui_show_error_dialog(AppData *ad, const char *message)
{
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.