Commit 59821e76 authored by Ole Aamot's avatar Ole Aamot

Release gnome-internet-radio-locator 1.0.5

parent 6bfb388a
......@@ -17,3 +17,6 @@ Kjartan Maraas (Norwegian bokmål translation)
Pere Orga (Catalan translation)
Balázs Meskó (Hungarian translation)
Gabor Kelemen (Hungarian translation)
Tim Sabsch (German translation)
Justin van Steijn (Dutch translation)
Rafael Fontenelle (Brazilian Portuguese translation)
=============
Version 1.0.5
=============
Credits
* AUTHORS: Add Justin van Steijn (Dutch translation)
* AUTHORS: Add Rafael Fontenelle (Brazilian Portuguese translation)
* AUTHORS: Add Tim Sabsch (German translation)
* THANKS: Add Justin van Steijn (Dutch translation)
* THANKS: Add Rafael Fontenelle (Brazilian Portuguese translation)
* THANKS: Add Tim Sabsch (German translation)
Documentation
* Marek Černocký (help/cs)
* Mario Blättermann (help/de)
* Piotr Drąg (help/pl)
GUI
* src/gnome-internet-radio-locator-gui.c: Add debugging and set location
* src/gnome-internet-radio-locator-gui.h: Add location function parameter
* src/gnome-internet-radio-locator-markers.c: Add KEXP, WKCR, WHPK, WMBR
* src/gnome-internet-radio-locator.c: Add user_data function parameter
Stations
* src/gnome-internet-radio-locator.xml: Locate KZSU (Stanford, California)
Translations
* Anders Jonsson (sv)
* Balázs Úr (hu)
* Goran Vidović (hr)
* Justin van Steijn (nl)
* Kukuh Syafaat (id)
* Marek Cernocky (cz)
* Piotr Drąg (pl)
* Rafael Fontenelle (pt_BR)
* Tim Sabsch (de)
=============
Version 1.0.4
=============
......
GNOME Internet Radio Locator is a Free Software program that allows
you to easily locate Free Internet Radio stations by broadcasters on
the Internet with the help of a map.
GNOME Internet Radio Locator for GNOME 3 is a Free Software program
that allows you to easily locate Free Internet Radio stations by
broadcasters on the Internet with the help of a map.
GNOME Internet Radio Locator is developed on the GNOME 3 platform with
GNOME Maps, libchamplain and geocode-lib and it requires gstreamer 1.0
for audio playback.
GNOME Internet Radio Locator for GNOME 3 is developed on the GNOME 3
platform with GNOME Maps, libchamplain and geocode-lib and it requires
gstreamer 1.0 for audio playback.
You can view all the stations in src/gnome-internet-radio-locator.xml
and enter city names in the GUI search input field in order to locate
......
......@@ -22,3 +22,6 @@ Kjartan Maraas (Norwegian bokmål translation)
Pere Orga (Catalan translation)
Balázs Meskó (Hungarian translation)
Gabor Kelemen (Hungarian translation)
Tim Sabsch (German translation)
Justin van Steijn (Dutch translation)
Rafael Fontenelle (Brazilian Portuguese translation)
......@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
AC_INIT(gnome-internet-radio-locator,1.0.4)
AC_INIT(gnome-internet-radio-locator,1.0.5)
AM_INIT_AUTOMAKE([-Wno-portability 1.11 no-dist-gzip dist-xz tar-ustar subdir-objects])
AM_MAINTAINER_MODE
AC_CONFIG_SRCDIR([src/gnome-internet-radio-locator.c])
......
/* $Id$
*
* GNOME Internet Radio Locator
* GNOME Internet Radio Locator for GNOME 3
*
* Copyright (C) 2014, 2015, 2016, 2017, 2018 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -41,6 +41,8 @@
extern GtkWidget *gnome_internet_radio_locator_app;
extern GtkWidget *search_selector;
extern GtkWidget *input;
GNOMEInternetRadioLocatorStationInfo *stationinfo, *localstation;
GtkWidget *create_stations_selector(char *selected_station_uri,
......@@ -86,7 +88,7 @@ GtkWidget *create_stations_selector(char *selected_station_uri,
/* FALSE, */
/* NULL); */
/* world_station_xml_filename = g_strdup("http://gnome-internet-radio-locator.src.oka.no/gnome-internet-radio-locator.xml"); */
/* world_station_xml_filename = g_strdup("http://gnome-internet-radio-locator.src.ole.org/gnome-internet-radio-locator.xml"); */
world_station_xml_filename = g_strconcat(GNOME_INTERNET_RADIO_LOCATOR_DATADIR, "/gnome-internet-radio-locator.xml", NULL);
GNOME_INTERNET_RADIO_LOCATOR_DEBUG_MSG("world_station_xml_filename = %s\n",
......@@ -225,14 +227,14 @@ save_cb (GtkWidget *widget, gpointer data) {
websiteentry = g_object_get_data(G_OBJECT(widget), "station_website");
descriptionentry = g_object_get_data(G_OBJECT(widget), "station_description");
g_print("%s\n", nameentry);
g_print("%s\n", locationentry);
g_print("%s\n", urientry);
g_print("%s\n", websiteentry);
g_print("%s\n", descriptionentry);
GNOME_INTERNET_RADIO_LOCATOR_DEBUG_MSG("%s\n", nameentry);
GNOME_INTERNET_RADIO_LOCATOR_DEBUG_MSG("%s\n", locationentry);
GNOME_INTERNET_RADIO_LOCATOR_DEBUG_MSG("%s\n", urientry);
GNOME_INTERNET_RADIO_LOCATOR_DEBUG_MSG("%s\n", websiteentry);
GNOME_INTERNET_RADIO_LOCATOR_DEBUG_MSG("%s\n", descriptionentry);
}
GtkWidget *create_new_station_selector(void) {
GtkWidget *create_new_station_selector(gchar *location) {
GtkWidget *station_selector, *content_area;
GtkWidget *align;
......@@ -285,7 +287,11 @@ GtkWidget *create_new_station_selector(void) {
gtk_entry_set_text(GTK_ENTRY(nameentry), "Station name");
gtk_entry_set_text(GTK_ENTRY(bandentry), "Bandwidth");
gtk_entry_set_text(GTK_ENTRY(locationentry), "City name");
if (!g_strcmp0(gtk_entry_get_text(GTK_ENTRY(input)),"")) {
gtk_entry_set_text(GTK_ENTRY(locationentry), "City name");
} else {
gtk_entry_set_text(GTK_ENTRY(locationentry), (gpointer)gtk_entry_get_text(GTK_ENTRY(input)));
}
gtk_entry_set_text(GTK_ENTRY(urientry), "http://uri-to-stream/");
gtk_entry_set_text(GTK_ENTRY(descriptionentry), "Description");
gtk_entry_set_text(GTK_ENTRY(websiteentry), "http://uri-to-website/");
......@@ -342,13 +348,16 @@ GtkWidget *create_new_station_selector(void) {
(gpointer) gtk_entry_get_text(GTK_ENTRY(bandentry)));
g_object_set_data(G_OBJECT(station_selector), "station_location",
(gpointer) gtk_entry_get_text(GTK_ENTRY(locationentry)));
GNOME_INTERNET_RADIO_LOCATOR_DEBUG_MSG("LOCATIONENTRY: %s\n", (gpointer) gtk_entry_get_text(GTK_ENTRY(locationentry)));
g_object_set_data(G_OBJECT(station_selector), "station_uri",
(gpointer) gtk_entry_get_text(GTK_ENTRY(urientry)));
GNOME_INTERNET_RADIO_LOCATOR_DEBUG_MSG("URIENTRY: %s\n", (gpointer) gtk_entry_get_text(GTK_ENTRY(urientry)));
g_object_set_data(G_OBJECT(station_selector), "station_description",
(gpointer) gtk_entry_get_text(GTK_ENTRY(descriptionentry)));
g_object_set_data(G_OBJECT(station_selector), "station_website",
(gpointer) gtk_entry_get_text(GTK_ENTRY(websiteentry)));
GNOME_INTERNET_RADIO_LOCATOR_DEBUG_MSG("WEBSITEENTRY: %s\n", (gpointer) gtk_entry_get_text(GTK_ENTRY(websiteentry)));
#if 0 /* FIXME: Add input fields */
g_object_set_data(G_OBJECT(station_selector), "station_description",
(gpointer) station_description);
......@@ -384,12 +393,12 @@ GtkWidget *create_gnome_internet_radio_locator_app(void)
GNOMEInternetRadioLocatorData *gnome_internet_radio_locator_data = g_new0(GNOMEInternetRadioLocatorData, 1);
char *pmf;
gtk_window_set_title(GTK_WINDOW(gnome_internet_radio_locator_app), "GNOME Internet Radio Locator");
gtk_window_set_title(GTK_WINDOW(gnome_internet_radio_locator_app), "GNOME Internet Radio Locator for GNOME 3");
gnome_internet_radio_locator = gnome_internet_radio_locator_data;
gnome_internet_radio_locator_data->settings = g_settings_new(GNOME_INTERNET_RADIO_LOCATOR_UI);
selected_station_uri = g_variant_get_string(g_settings_get_value (gnome_internet_radio_locator_data->settings, "selected_station_uri"), &length);
selected_station = g_variant_get_string(g_settings_get_value(gnome_internet_radio_locator_data->settings, "station"), &length);
g_print ("XYZ STATION = %s\n", selected_station);
GNOME_INTERNET_RADIO_LOCATOR_DEBUG_MSG ("SELECTED STATION = %s\n", selected_station);
/* gnome_internet_radio_locator->selected_station_uri = selected_station_uri; */
selected_station_name = g_variant_get_string(g_settings_get_value (gnome_internet_radio_locator_data->settings, "selected_station_name"), &length);
/* gnome_internet_radio_locator->selected_station_name = selected_station_name; */
......
......@@ -13,7 +13,7 @@ GtkWidget *create_streams_selector(char *selected_streams_uri,
char *filename);
GtkWidget *create_search_selector(void);
GtkWidget *create_new_station_selector(void);
GtkWidget *create_new_station_selector(char *location);
GtkWidget *create_gnome_internet_radio_locator_app(void);
......
/* $Id$
*
* GNOME Internet Radio Locator
* GNOME Internet Radio Locator for GNOME 3
*
* Copyright (C) 2014, 2015, 2017, 2018 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
/* $Id$
*
* GNOME Internet Radio Locator
* GNOME Internet Radio Locator for GNOME 3
*
* Copyright (C) 2014 Ole Aamot Software
* Copyright (C) 2014, 2018 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
......@@ -30,6 +30,8 @@ extern GNOMEInternetRadioLocatorStationInfo *stationinfo, *localstation;
extern gchar *world_station_xml_filename;
extern GstPlayer *player;
extern ChamplainMarkerLayer *layer;
extern GtkWidget *window;
extern ChamplainView *view;
typedef struct
{
......@@ -53,24 +55,29 @@ marker_function (ChamplainMarker *self,
ClutterEvent *event,
gpointer user_data)
{
gchar *station;
gchar *station, *station_link;
gchar *markup;
station = (gchar *)champlain_label_get_text (CHAMPLAIN_LABEL (self));
gtk_entry_set_text(GTK_ENTRY(input),(gchar *)station);
station_link = strtok(station, "\n");
gtk_entry_set_text(GTK_ENTRY(input),(gchar *)station_link);
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) {
if (strcasecmp(stationinfo->location, station_link)==0) {
gst_player_stop(player);
gnome_internet_radio_locator_player_new(GST_PLAYER(player), stationinfo->stream->uri);
gst_player_play(player);
}
stationinfo = stationinfo->next;
}
if (user_data != NULL) {
champlain_label_set_text (CHAMPLAIN_LABEL (self), user_data);
}
/* g_signal_connect(CHAMPLAIN_LOCATION(self), "button-press", G_CALLBACK (on_new_station_clicked), user_data); */
return;
}
ChamplainMarkerLayer *
create_marker_layer (G_GNUC_UNUSED ChamplainView *view, ChamplainPathLayer **path)
{
......@@ -78,124 +85,176 @@ create_marker_layer (G_GNUC_UNUSED ChamplainView *view, ChamplainPathLayer **pat
ClutterActor *layer_actor;
ClutterColor orange = { 0xf3, 0x94, 0x07, 0xbb };
LocationCallbackData callback_data;
gchar *station = NULL;
*path = champlain_path_layer_new ();
layer = champlain_marker_layer_new_full (CHAMPLAIN_SELECTION_SINGLE);
layer_actor = CLUTTER_ACTOR (layer);
/* Create callback that updates the map periodically */
/* callback_data.view = CHAMPLAIN_VIEW (view); */
/* callback_data.marker = CHAMPLAIN_MARKER (layer); */
/* g_timeout_add (1000, (GSourceFunc) location_callback, &callback_data); */
/* marker = champlain_point_new (); */
/* champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 37.873093, -122.303769); */
/* 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)); */
#if 0
marker = champlain_label_new_with_text ("Norway\n<span size=\"xx-small\">Oslo</span>",
"Serif 14", NULL, NULL);
marker = champlain_label_new_with_text ("Norway\n<span size=\"xx-small\">Oslo</span>", "Helvetica 12", NULL, NULL);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_label_set_alignment (CHAMPLAIN_LABEL (marker), PANGO_ALIGN_RIGHT);
champlain_label_set_color (CHAMPLAIN_LABEL (marker), &orange);
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));
#endif
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
champlain_label_set_text (CHAMPLAIN_LABEL (marker), "Berkeley, California");
station = g_strdup("Berkeley, California\n<span size=\"xx-small\">KALX</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 37.873093, -122.303769);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
champlain_marker_animate_in(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);
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
champlain_label_set_text (CHAMPLAIN_LABEL (marker), "Dublin, Ireland");
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 53.3497645,-6.2602732);
station = g_strdup("Boston, Massachusetts\n<span size=\"xx-small\">WMBR</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 42.3604823,-71.0595678);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
champlain_marker_animate_in(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);
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
champlain_label_set_text (CHAMPLAIN_LABEL (marker), "Moscow, Russia");
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 55.4792046, 37.3273304);
station = g_strdup("Cape Town, South Africa\n<span size=\"xx-small\">UCT Radio</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker),-33.928992,18.417396);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
champlain_marker_animate_in(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);
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
champlain_label_set_text (CHAMPLAIN_LABEL (marker), "Oslo, Norway");
champlain_location_set_location (CHAMPLAIN_LOCATION (marker),59.9132694,10.7391112);
station = g_strdup("Chicago, Illinois\n<span size=\"xx-small\">WHPK</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 41.8755546, -87.6244212);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
champlain_marker_animate_in(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);
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
#if 0 /* Non-streamble as of 2018/03/26 */
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
champlain_label_set_text (CHAMPLAIN_LABEL (marker), "Reykjavik, Iceland");
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 64.145981,-21.9422367);
station = g_strdup("Dublin, Ireland\n<span size=\"xx-small\">UWS Radio</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 53.3497645,-6.2602732);
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);
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
#endif
#if 0 /* Non-streamable as of 2018/03/26 */
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
champlain_label_set_text (CHAMPLAIN_LABEL (marker), "Cape Town, South Africa");
champlain_location_set_location (CHAMPLAIN_LOCATION (marker),-33.928992,18.417396);
station = g_strdup("Moscow, Russia\n<span size=\"xx-small\">Echo of Moscow</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 55.4792046, 37.3273304);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
champlain_marker_animate_in(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);
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
#endif
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
champlain_label_set_text (CHAMPLAIN_LABEL (marker), "Newcastle, Australia");
station = g_strdup("London, United Kingdom\n<span size=\"xx-small\">Imperial College Radio</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker),51.5073219,-0.1276474);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
champlain_marker_animate_in(CHAMPLAIN_MARKER (marker));
/* champlain_path_layer_add_node (*path, CHAMPLAIN_LOCATION (marker)); */
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
station = g_strdup("Newcastle, Australia\n<span size=\"xx-small\">2NURFM</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker),-32.9272881,151.7812534);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
champlain_marker_animate_in(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);
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
champlain_label_set_text (CHAMPLAIN_LABEL (marker), "London, United Kingdom");
champlain_location_set_location (CHAMPLAIN_LOCATION (marker),51.5073219,-0.1276474);
station = g_strdup("New York City, New York\n<span size=\"xx-small\">WKCR</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 40.7306458, -73.9866136);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
champlain_marker_animate_in(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);
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
champlain_label_set_text (CHAMPLAIN_LABEL (marker), "Palo Alto, California");
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 37.442156,-122.1634472);
station = g_strdup("Oslo, Norway\n<span size=\"xx-small\">NRK P1</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker),59.9132694,10.7391112);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
champlain_marker_animate_in(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);
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
champlain_label_set_text (CHAMPLAIN_LABEL (marker), "San Francisco, California");
station = g_strdup("San Francisco, California\n<span size=\"xx-small\">SomaFM</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 37.7792808,-122.4192363);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
champlain_marker_animate_in(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);
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
champlain_label_set_text (CHAMPLAIN_LABEL (marker), "Washington, District of Columbia");
station = g_strdup("Seattle, Washington\n<span size=\"xx-small\">KEXP</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 47.6038321,-122.3300624);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
champlain_marker_animate_in(CHAMPLAIN_MARKER (marker));
/* champlain_path_layer_add_node (*path, CHAMPLAIN_LOCATION (marker)); */
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
station = g_strdup("Stanford, California\n<span size=\"xx-small\">KZSU</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 37.4248398,-122.1677058);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
champlain_marker_animate_in(CHAMPLAIN_MARKER (marker));
/* champlain_path_layer_add_node (*path, CHAMPLAIN_LOCATION (marker)); */
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
marker = champlain_label_new_from_file ("icons/emblem-generic.png", NULL);
station = g_strdup("Washington, District of Columbia\n<span size=\"xx-small\">WAMU</span>");
champlain_label_set_text (CHAMPLAIN_LABEL (marker), station);
champlain_label_set_use_markup (CHAMPLAIN_LABEL (marker), TRUE);
champlain_location_set_location (CHAMPLAIN_LOCATION (marker), 38.8949549, -77.0366456);
champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
champlain_marker_animate_in(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);
g_signal_connect(CHAMPLAIN_LOCATION(marker), "button-press", G_CALLBACK(marker_function), station);
#if 0
marker = champlain_label_new_from_file ("icons/emblem-important.png", NULL);
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));
marker = champlain_point_new ();
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));
marker = champlain_label_new_from_file ("icons/emblem-favorite.png", NULL);
champlain_label_set_draw_background (CHAMPLAIN_LABEL (marker), FALSE);
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));
#endif
champlain_marker_layer_set_all_markers_draggable (layer);
clutter_actor_show (layer_actor);
return layer;
}
/* $Id$
*
* GNOME Internet Radio Locator
* GNOME Internet Radio Locator for GNOME 3
*
* Copyright (C) 2014, 2015 Ole Aamot Software
* Copyright (C) 2014, 2015, 2018 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
......@@ -4,7 +4,7 @@
*
* Copyright (C) 2014 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
/* $id$
*
* GNOME Internet Radio Locator
* GNOME Internet Radio Locator for GNOME 3
*
* Copyright (C) 2017, 2018 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
......@@ -4,7 +4,7 @@
*
* Copyright (C) 2017, 2018 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
......@@ -4,7 +4,7 @@
*
* Copyright (C) 2014 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
/* $id$
*
* GNOME Internet Radio Locator
* GNOME Internet Radio Locator for GNOME 3
*
* Copyright (C) 2014, 2015, 2016, 2017, 2018 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -513,7 +513,7 @@ GNOMEInternetRadioLocatorStationInfo *gnome_internet_radio_locator_station_load_
gpointer data)
{
GNOMEInternetRadioLocatorStationInfo *gstation;
gstation = gnome_internet_radio_locator_station_load_from_file (head, "http://gnome-internet-radio-locator.src.oka.no/gnome_internet_radio_locator.xml");
gstation = gnome_internet_radio_locator_station_load_from_file (head, "http://gnome-internet-radio-locator.src.ole.org/gnome_internet_radio_locator.xml");
return gstation;
}
......
/* $Id$
*
* GNOME Internet Radio Locator
* GNOME Internet Radio Locator for GNOME 3
*
* Copyright (C) 2014, 2015, 2017, 2018 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
/* $Id$
*
* GNOME Internet Radio Locator
* GNOME Internet Radio Locator for GNOME 3
*
* Copyright (C) 2015 Ole Aamot Software
* Copyright (C) 2015, 2018 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
/* $Id$
*
* GNOME Internet Radio Locator
* GNOME Internet Radio Locator for GNOME 3
*
* Copyright (C) 2014 Ole Aamot Software
* Copyright (C) 2014, 2018 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* $Id$
*
* GNOME Internet Radio Locator
* GNOME Internet Radio Locator for GNOME 3
*
* Copyright (C) 2015 Ole Aamot Software
* Copyright (C) 2015, 2018 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* $Id$
*
* GNOME Internet Radio Locator
* GNOME Internet Radio Locator for GNOME 3
*
* Copyright (C) 2015 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
/* $id$
/* $Id$
*
* GNOME Internet Radio Locator
* GNOME Internet Radio Locator for GNOME 3
*
* Copyright (C) 2014, 2015, 2016, 2017, 2018 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -588,7 +588,7 @@ gnome_internet_radio_locator_window_cb (GtkApplication *app,
gtk_container_add (GTK_CONTAINER(window), GTK_WIDGET(grid));
g_signal_connect (window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
#endif
gtk_window_set_title (GTK_WINDOW(window), "GNOME Internet Radio Locator");
gtk_window_set_title (GTK_WINDOW(window), "GNOME Internet Radio Locator for GNOME 3");
gtk_window_set_default_size (GTK_WINDOW(window), 1440, 720);
gnome_internet_radio_locator_app = create_gnome_internet_radio_locator_app();
......@@ -613,7 +613,7 @@ void on_new_station_clicked(GtkWidget *a,
/* stationinfo = l->data; */
gint result;
// appbar_send_msg(_("New radio station"));
station = create_new_station_selector();
station = create_new_station_selector(user_data);
result = gtk_dialog_run (GTK_DIALOG(station));
switch (result) {
case GTK_RESPONSE_ACCEPT:
......@@ -758,7 +758,7 @@ main (int argc,
/* give the window a 10px wide border */
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
/* give it the title */
gtk_window_set_title (GTK_WINDOW (window), "GNOME Internet Radio Locator");
gtk_window_set_title (GTK_WINDOW (window), "GNOME Internet Radio Locator for GNOME 3");
/* Connect the destroy event of the window with our on_destroy function
* When the window is about to be destroyed we get a notificaiton and
* stop the main GTK loop
......@@ -783,7 +783,8 @@ main (int argc,
scale = champlain_scale_new ();
champlain_scale_connect_view (CHAMPLAIN_SCALE (scale), view);
/* champlain_view_ensure_visible(G_OBJECT (view), NULL, TRUE); */
/* champlain_view_set_keep_center_on_resize(G_OBJECT (view), TRUE); */
/* align to the bottom left */
clutter_actor_set_x_expand (scale, TRUE);
clutter_actor_set_y_expand (scale, TRUE);
......
/* $Id$
*
* GNOME Internet Radio Locator
* GNOME Internet Radio Locator for GNOME 3
*
* Copyright (C) 2014, 2015 Ole Aamot Software
* Copyright (C) 2014, 2015, 2018 Ole Aamot Software
*
* Author: Ole Aamot <oka@oka.no>
* Author: Ole Aamot <ole@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://people.gnome.org/~ole/gnome-internet-radio-locator/gnome-internet-radio-locator.xsl" ?>
<!DOCTYPE gnome_internet_radio_locator SYSTEM "gnome-internet-radio-locator-0.1.dtd">
<gnome_internet_radio_locator version="1.0.4">
<gnome_internet_radio_locator version="1.0.5">
<station band="ONLINE" id="drnyheder" lang="da" name="Danmarks Radio Nyheder" rank="1.0" type="gov">
<frequency uri="http://www.dr.dk/nyheder">FM 93.3 in Aalborg</frequency>
<location>Copenhagen, Denmark</location>
......@@ -947,13 +947,15 @@ Behind the scenes we rely on our fantastic technical, musical and promotional te
<stream mime="audio/mpeg" uri="http://icecast.media.berkeley.edu:8000/kalx-128.mp3" codec="MPEG 1 Audio, Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
<uri>http://kalx.berkeley.edu/</uri>
</station>
<!-- Non-streamable as of 2018/03/26