[gnome-internet-radio-locator] Implement gst-player callback for map markers and update screenshot
- From: ole <ole src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-internet-radio-locator] Implement gst-player callback for map markers and update screenshot
- Date: Wed, 19 Jul 2017 18:40:26 +0000 (UTC)
commit 80b14363f0abaf510e86137cc04d0fdf401109c9
Author: Ole Aamot <oka oka no>
Date: Wed Jul 19 20:38:50 2017 +0200
Implement gst-player callback for map markers and update screenshot
data/screenshot.png | Bin 336819 -> 342882 bytes
src/gnome-internet-radio-locator-markers.c | 26 ++++++++++++++++++++++++--
2 files changed, 24 insertions(+), 2 deletions(-)
---
diff --git a/data/screenshot.png b/data/screenshot.png
index eacae80..10a9b9a 100644
Binary files a/data/screenshot.png and b/data/screenshot.png differ
diff --git a/src/gnome-internet-radio-locator-markers.c b/src/gnome-internet-radio-locator-markers.c
index 0653c1d..1d92238 100644
--- a/src/gnome-internet-radio-locator-markers.c
+++ b/src/gnome-internet-radio-locator-markers.c
@@ -17,12 +17,16 @@
*/
#include <gtk/gtk.h>
+#include <gst/player/player.h>
#include <champlain/champlain.h>
#include "gnome-internet-radio-locator.h"
#include "gnome-internet-radio-locator-markers.h"
extern GtkWidget *input;
extern GtkEntryCompletion *completion;
+extern GNOMEInternetRadioLocatorStationInfo *stationinfo, *localstation;
+extern gchar *world_station_xml_filename;
+extern GstPlayer *player;
typedef struct
{
@@ -49,6 +53,17 @@ marker_function (ChamplainMarker *self,
gchar *station;
station = (gchar *)champlain_label_get_text (CHAMPLAIN_LABEL (self));
gtk_entry_set_text(GTK_ENTRY(input),(gchar *)station);
+ gst_player_stop(player);
+ player = gst_player_new (NULL, gst_player_g_main_context_signal_dispatcher_new(NULL));
+ stationinfo = gnome_internet_radio_locator_station_load_from_file(localstation,
world_station_xml_filename);
+ while (stationinfo != NULL) {
+ if (strcasecmp(stationinfo->location, station)==0) {
+ gst_player_stop(player);
+ gnome_internet_radio_locator_player_new(player, stationinfo->stream->uri);
+ gst_player_play(player);
+ }
+ stationinfo = stationinfo->next;
+ }
return;
}
@@ -87,9 +102,16 @@ create_marker_layer (G_GNUC_UNUSED ChamplainView *view, ChamplainPathLayer **pat
champlain_label_set_text (CHAMPLAIN_LABEL (marker), "Berkeley, CA");
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 37.873093, -122.303769);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
- champlain_path_layer_add_node (*path, CHAMPLAIN_LOCATION (marker));
+ /* champlain_path_layer_add_node (*path, CHAMPLAIN_LOCATION (marker)); */
+ g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), NULL);
+
+ marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
+ champlain_label_set_text (CHAMPLAIN_LABEL (marker), "Washington, DC");
+ champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 38.8949549, -77.0366456);
+ champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
+ /* champlain_path_layer_add_node (*path, CHAMPLAIN_LOCATION (marker)); */
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), NULL);
-
+
#if 0
marker = champlain_label_new_from_file ("icons/emblem-important.png", NULL);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 37.873093, -122.303769);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]