Mathematics #7: GNOME’s Radio

8 years before GNOME 43 occured I began writing GNOME Internet Radio Locator for GNOME 2 between 2014-2017 and 5 more years GNOME 3, after Norwegian Broadcasting Corporation (NRK) shut down its FM broadcasts.

In 2022 we are going to build GNOME 43 support for further international as well as Norwegian radio stations with help from the GStreamer and the GNOME community.

Here is some of the newly written code for GNOME 43 in the new GNOME Radio 42 application org.gnome.Radio:

#include <gst/player/player.h>
#include <gtk/gtk.h>

static void activate(GtkApplication * app, gpointer user_data)
  GtkWidget *window;
  GstPlayer *player;
  window = gtk_application_window_new(app);
  gtk_window_set_application (GTK_WINDOW(window), GTK_APPLICATION(app));
  gtk_window_set_title(GTK_WINDOW(window), "Radio");
  gtk_window_set_default_size(GTK_WINDOW(window), 800, 600);
  player = gst_player_new (NULL, gst_player_g_main_context_signal_dispatcher_new(NULL));
  gst_player_set_uri (GST_PLAYER (player), "");
  gst_player_play (GST_PLAYER (player));

int main(int argc, char **argv)
  GtkApplication *app;
  int status;

  gst_init(&argc, &argv);
  gst_init(NULL, NULL);
  app = gtk_application_new("org.gnome.Radio", G_APPLICATION_FLAGS_NONE);
  g_signal_connect(app, "activate", G_CALLBACK(activate), NULL);
  status = g_application_run(G_APPLICATION(app), argc, argv);

  return status;
GNOME Internet Radio Locator 3 (Washington)

In 2018 I began writing my Bachelor of Science thesis in Electrical Engineering about GNOME Radio and GNOME Internet Radio Locator and on June 24, 2020 I published my Bachelor thesis on GNOME Radio; gnome-radio-16.0.43 and gnome-internet-radio-locator-12.6.0, at Oslo Metropolitan University and University of Oslo in Norway.

See my GUADEC 2022 talk on GNOME Radio 16 scheduled for the BoF Workshop GUADEC 2022 BoF Rm 2 session July 24, 2022 between 13:00-15:00.

Visit and for full details on GNOME Radio 45.






Leave a Reply

Your email address will not be published. Required fields are marked *