[girl] GNOME Internet Radio Locator version 9.7.0



commit fb0781cce88ddc05d04017061d16a4458359aac6
Author: Ole Aamot <oka oka no>
Date:   Tue Jan 17 20:00:31 2017 +0100

    GNOME Internet Radio Locator version 9.7.0

 AUTHORS                        |    1 +
 NEWS                           |   18 +++++
 README                         |   15 +++--
 THANKS                         |    1 +
 configure                      |   62 +++++++++---------
 configure.ac                   |    9 +--
 data/icons/16x16/Makefile.in   |    1 -
 data/icons/22x22/Makefile.in   |    1 -
 data/icons/24x24/Makefile.in   |    1 -
 data/icons/256x256/Makefile.in |    1 -
 data/icons/32x32/Makefile.in   |    1 -
 data/icons/48x48/Makefile.in   |    1 -
 data/icons/Makefile.in         |    1 -
 data/pixmaps/Makefile.in       |    1 -
 girl.doap                      |    2 +-
 girl.spec.in                   |   11 +++-
 help/C/prev.page               |    7 --
 help/Makefile.in               |    1 -
 help/en_US/new.page            |   10 ++--
 help/en_US/prev.page           |    7 --
 help/girl.pot                  |  136 ++++++++++++++++++++++++++--------------
 src/Makefile.am                |    6 +-
 src/Makefile.in                |    7 +--
 src/girl-gui.c                 |    7 ++-
 src/girl-player-backend.c      |   20 +++---
 src/girl-player-backend.h      |    3 +-
 src/girl-player-frontend.c     |    6 +-
 src/girl-player.c              |    9 ++-
 src/girl-record-backend.c      |   17 +++---
 src/girl-record-backend.h      |    3 +-
 src/girl-record-frontend.c     |    2 +-
 src/girl-record.c              |   10 +--
 src/girl-station.c             |   11 ++--
 src/girl.c                     |   59 +++++++++--------
 src/girl.h                     |    2 +
 src/girl.xml                   |    4 +-
 36 files changed, 255 insertions(+), 199 deletions(-)
---
diff --git a/AUTHORS b/AUTHORS
index 12b4fc7..ed3874e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -30,3 +30,4 @@ Claude Paroz <claude 2xlibre net> (Station patch for paroles.fm)
 Bernd Homuth <dev hmt im> (German translation)
 Paul Feuvraux and Claude Paroz <claude 2xlibre net> (French translation)
 Anders Jonsson <anders jonsson norsjovallen se> (Swedish translation)
+Dominique Leuenberger <dominique-gnomezilla leuenberger net> (GStreamer 1.0 port)
diff --git a/NEWS b/NEWS
index f7b279f..cf8e9fb 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,22 @@
 =============
+Version 9.7.0
+=============
+
+       * AUTHORS: Add Dominique Leuenberger for GStreamer 1.0 port
+       * THANKS: Add Dominique Leuenberger for GStreamer 1.0 port
+       * configure.ac: GStreamer 1.0 Port (Bugzilla #777397)
+       * help/cs/cs.po: Updated Czech translation by Marek Černocký
+       * po/es.po: Updated Spanish translation by Daniel Mustieles
+       * po/sv.po: Updated Swedish translation by Josef Andersson
+       * src/girl-9.7.dtd: Add 'href' attribute in location tag for 9.7.0
+       * src/girl-player-backend.c: GStreamer 1.0 Port (Bugzilla #777397)
+       * src/girl-player-backend.h: GStreamer 1.0 Port (Bugzilla #777397)
+       * src/girl-record-backend.c: GStreamer 1.0 Port (Bugzilla #777397)
+       * src/girl-record-backend.h: GStreamer 1.0 Port (Bugzilla #777397)
+       * src/girl.xml: Update to 9.7 DTD
+       * src/girl.xsl: Add XSL Transformation template
+
+=============
 Version 9.6.1
 =============
 
diff --git a/README b/README
index 5c1c93b..5094dd5 100644
--- a/README
+++ b/README
@@ -1,4 +1,14 @@
 ================
+GIRL 9.7.0 notes
+================
+
+GNOME Internet Radio Locator version 9.7 was released in January 2017.
+
+This release contains a port to gstreamer 1.0 by Dominique Leuenberger
+(GNOME Bugzilla #777397).  Note: The gst-plugins-ugly package (Fedora:
+gstreamer1-plugins-ugly) is required for some Internet radio stations.
+
+================
 GIRL 9.6.1 notes
 ================
 
@@ -520,11 +530,6 @@ finite.  The Universe is infinite.  Listen to and/or record Everything
 that is broadcasted live from 42 radio stations on Earth included with
 this program.
 
-GIRL was developed for the GNOME desktop and requires one audio helper
-such as Totem (https://developer.gnome.org/totem/) to be installed for
-playback and StreamRipper (http://streamripper.sourceforge.net/) to be
-installed for recording live radio streams of supported radio stations.
-
 The station list is available in XML from http://girl.software/girl.xml
 
 A user without root on a GNOME desktop can add his or her Favourite
diff --git a/THANKS b/THANKS
index e935b69..db93519 100644
--- a/THANKS
+++ b/THANKS
@@ -37,3 +37,4 @@ Claude Paroz for paroles.fm Internet radio station patch (Bugzilla #770473).
 Bernd Homuth for German translation.
 Paul Feuvraux and Claude Paroz for French translation.
 Anders Jonsson for Swedish translation.
+Dominique Leuenberger for GStreamer 1.0 port (Bugzilla #777397).
diff --git a/configure b/configure
index 236118c..47d0b42 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for girl 9.6.2.
+# Generated by GNU Autoconf 2.69 for girl 9.7.0.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -577,8 +577,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='girl'
 PACKAGE_TARNAME='girl'
-PACKAGE_VERSION='9.6.2'
-PACKAGE_STRING='girl 9.6.2'
+PACKAGE_VERSION='9.7.0'
+PACKAGE_STRING='girl 9.7.0'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -629,7 +629,6 @@ HELP_DIR
 YELP_LC_DIST
 YELP_LC_MEDIA_LINKS
 LN_S
-GIRL_HELPER_PLAYER
 GIRL_PKG_DEPS
 GETTEXT_PACKAGE
 ALL_LINGUAS
@@ -1363,7 +1362,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures girl 9.6.2 to adapt to many kinds of systems.
+\`configure' configures girl 9.7.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1429,7 +1428,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of girl 9.6.2:";;
+     short | recursive ) echo "Configuration of girl 9.7.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1544,7 +1543,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-girl configure 9.6.2
+girl configure 9.7.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1909,7 +1908,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by girl $as_me 9.6.2, which was
+It was created by girl $as_me 9.7.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2772,7 +2771,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='girl'
- VERSION='9.6.2'
+ VERSION='9.7.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4131,16 +4130,16 @@ if test -n "$GIRL_CFLAGS"; then
                  libgnomeui-2.0 >= 2.0 \\
                  libxml-2.0 >= 2.0 \\
                  gnome-vfs-2.0 >= 2.0
-                 gstreamer-0.10 >= 0.10.36 \\
-                 gstreamer-interfaces-0.10 >= 0.10.36\""; } >&5
+                 gstreamer-1.0 >= 1.0
+                 gstreamer-video-1.0\""; } >&5
   ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.0 \
                  glib-2.0 >= 2.40 \
                  libgnome-2.0 >= 2.0 \
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
                  gnome-vfs-2.0 >= 2.0
-                 gstreamer-0.10 >= 0.10.36 \
-                 gstreamer-interfaces-0.10 >= 0.10.36") 2>&5
+                 gstreamer-1.0 >= 1.0
+                 gstreamer-video-1.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
@@ -4150,8 +4149,8 @@ if test -n "$GIRL_CFLAGS"; then
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
                  gnome-vfs-2.0 >= 2.0
-                 gstreamer-0.10 >= 0.10.36 \
-                 gstreamer-interfaces-0.10 >= 0.10.36" 2>/dev/null`
+                 gstreamer-1.0 >= 1.0
+                 gstreamer-video-1.0" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -4169,16 +4168,16 @@ if test -n "$GIRL_LIBS"; then
                  libgnomeui-2.0 >= 2.0 \\
                  libxml-2.0 >= 2.0 \\
                  gnome-vfs-2.0 >= 2.0
-                 gstreamer-0.10 >= 0.10.36 \\
-                 gstreamer-interfaces-0.10 >= 0.10.36\""; } >&5
+                 gstreamer-1.0 >= 1.0
+                 gstreamer-video-1.0\""; } >&5
   ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.0 \
                  glib-2.0 >= 2.40 \
                  libgnome-2.0 >= 2.0 \
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
                  gnome-vfs-2.0 >= 2.0
-                 gstreamer-0.10 >= 0.10.36 \
-                 gstreamer-interfaces-0.10 >= 0.10.36") 2>&5
+                 gstreamer-1.0 >= 1.0
+                 gstreamer-video-1.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
@@ -4188,8 +4187,8 @@ if test -n "$GIRL_LIBS"; then
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
                  gnome-vfs-2.0 >= 2.0
-                 gstreamer-0.10 >= 0.10.36 \
-                 gstreamer-interfaces-0.10 >= 0.10.36" 2>/dev/null`
+                 gstreamer-1.0 >= 1.0
+                 gstreamer-video-1.0" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -4216,8 +4215,8 @@ fi
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
                  gnome-vfs-2.0 >= 2.0
-                 gstreamer-0.10 >= 0.10.36 \
-                 gstreamer-interfaces-0.10 >= 0.10.36" 2>&1`
+                 gstreamer-1.0 >= 1.0
+                 gstreamer-video-1.0" 2>&1`
         else
                GIRL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-2.0 >= 2.0 \
                  glib-2.0 >= 2.40 \
@@ -4225,8 +4224,8 @@ fi
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
                  gnome-vfs-2.0 >= 2.0
-                 gstreamer-0.10 >= 0.10.36 \
-                 gstreamer-interfaces-0.10 >= 0.10.36" 2>&1`
+                 gstreamer-1.0 >= 1.0
+                 gstreamer-video-1.0" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$GIRL_PKG_ERRORS" >&5
@@ -4237,8 +4236,8 @@ fi
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
                  gnome-vfs-2.0 >= 2.0
-                 gstreamer-0.10 >= 0.10.36 \
-                 gstreamer-interfaces-0.10 >= 0.10.36) were not met:
+                 gstreamer-1.0 >= 1.0
+                 gstreamer-video-1.0) were not met:
 
 $GIRL_PKG_ERRORS
 
@@ -4269,9 +4268,9 @@ else
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
 
-fi
+fi 2>&5
 
-GIRL_PKG_DEPS="gtk+-2.0, glib-2.0, libgnome-2.0, libgnomeui-2.0, libxml-2.0, gnome-vfs-2.0, gstreamer-0.10, 
gstreamer-interfaces-0.10"
+GIRL_PKG_DEPS="gtk+-2.0, glib-2.0, libgnome-2.0, libgnomeui-2.0, libxml-2.0, gnome-vfs-2.0, gstreamer-1.0 
gstreamer-video-1.0"
 
 
 
@@ -6404,7 +6403,6 @@ _ACEOF
 
 
 
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
 $as_echo_n "checking whether ln -s works... " >&6; }
 LN_S=$as_ln_s
@@ -7269,7 +7267,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by girl $as_me 9.6.2, which was
+This file was extended by girl $as_me 9.7.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -7335,7 +7333,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-girl config.status 9.6.2
+girl config.status 9.7.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 0158119..77f41d0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.59)
-AC_INIT(girl, 9.6.2)
+AC_INIT(girl, 9.7.0)
 AM_INIT_AUTOMAKE([no-dist-gzip dist-xz])
 AC_CONFIG_SRCDIR([src/girl.c])
 AC_CONFIG_HEADER([config.h])
@@ -39,10 +39,10 @@ PKG_CHECK_MODULES(GIRL,
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
                  gnome-vfs-2.0 >= 2.0
-                 gstreamer-0.10 >= 0.10.36 \
-                 gstreamer-interfaces-0.10 >= 0.10.36)
+                 gstreamer-1.0 >= 1.0
+                 gstreamer-video-1.0) 2>&5
 
-GIRL_PKG_DEPS="gtk+-2.0, glib-2.0, libgnome-2.0, libgnomeui-2.0, libxml-2.0, gnome-vfs-2.0, gstreamer-0.10, 
gstreamer-interfaces-0.10"
+GIRL_PKG_DEPS="gtk+-2.0, glib-2.0, libgnome-2.0, libgnomeui-2.0, libxml-2.0, gnome-vfs-2.0, gstreamer-1.0 
gstreamer-video-1.0"
 
 GTK_DOC_CHECK([1.16], [--flavour no-tmpl])
 
@@ -70,7 +70,6 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package.])
 AC_SUBST(GIRL_LIBS)
 AC_SUBST(GIRL_CFLAGS)
 AC_SUBST(GIRL_PKG_DEPS)
-AC_SUBST(GIRL_HELPER_PLAYER)
 
 dnl Enable yelp-tools
 YELP_HELP_INIT
diff --git a/data/icons/16x16/Makefile.in b/data/icons/16x16/Makefile.in
index 880def4..0ec46ee 100644
--- a/data/icons/16x16/Makefile.in
+++ b/data/icons/16x16/Makefile.in
@@ -175,7 +175,6 @@ EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIRL_CFLAGS = @GIRL_CFLAGS@
-GIRL_HELPER_PLAYER = @GIRL_HELPER_PLAYER@
 GIRL_LIBS = @GIRL_LIBS@
 GIRL_PKG_DEPS = @GIRL_PKG_DEPS@
 GMOFILES = @GMOFILES@
diff --git a/data/icons/22x22/Makefile.in b/data/icons/22x22/Makefile.in
index c558426..bb43560 100644
--- a/data/icons/22x22/Makefile.in
+++ b/data/icons/22x22/Makefile.in
@@ -175,7 +175,6 @@ EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIRL_CFLAGS = @GIRL_CFLAGS@
-GIRL_HELPER_PLAYER = @GIRL_HELPER_PLAYER@
 GIRL_LIBS = @GIRL_LIBS@
 GIRL_PKG_DEPS = @GIRL_PKG_DEPS@
 GMOFILES = @GMOFILES@
diff --git a/data/icons/24x24/Makefile.in b/data/icons/24x24/Makefile.in
index 8c2f45f..f08bacc 100644
--- a/data/icons/24x24/Makefile.in
+++ b/data/icons/24x24/Makefile.in
@@ -175,7 +175,6 @@ EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIRL_CFLAGS = @GIRL_CFLAGS@
-GIRL_HELPER_PLAYER = @GIRL_HELPER_PLAYER@
 GIRL_LIBS = @GIRL_LIBS@
 GIRL_PKG_DEPS = @GIRL_PKG_DEPS@
 GMOFILES = @GMOFILES@
diff --git a/data/icons/256x256/Makefile.in b/data/icons/256x256/Makefile.in
index b32b9cb..cb409ca 100644
--- a/data/icons/256x256/Makefile.in
+++ b/data/icons/256x256/Makefile.in
@@ -175,7 +175,6 @@ EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIRL_CFLAGS = @GIRL_CFLAGS@
-GIRL_HELPER_PLAYER = @GIRL_HELPER_PLAYER@
 GIRL_LIBS = @GIRL_LIBS@
 GIRL_PKG_DEPS = @GIRL_PKG_DEPS@
 GMOFILES = @GMOFILES@
diff --git a/data/icons/32x32/Makefile.in b/data/icons/32x32/Makefile.in
index 52245fd..f2454df 100644
--- a/data/icons/32x32/Makefile.in
+++ b/data/icons/32x32/Makefile.in
@@ -175,7 +175,6 @@ EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIRL_CFLAGS = @GIRL_CFLAGS@
-GIRL_HELPER_PLAYER = @GIRL_HELPER_PLAYER@
 GIRL_LIBS = @GIRL_LIBS@
 GIRL_PKG_DEPS = @GIRL_PKG_DEPS@
 GMOFILES = @GMOFILES@
diff --git a/data/icons/48x48/Makefile.in b/data/icons/48x48/Makefile.in
index 92371c5..a5eb416 100644
--- a/data/icons/48x48/Makefile.in
+++ b/data/icons/48x48/Makefile.in
@@ -175,7 +175,6 @@ EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIRL_CFLAGS = @GIRL_CFLAGS@
-GIRL_HELPER_PLAYER = @GIRL_HELPER_PLAYER@
 GIRL_LIBS = @GIRL_LIBS@
 GIRL_PKG_DEPS = @GIRL_PKG_DEPS@
 GMOFILES = @GMOFILES@
diff --git a/data/icons/Makefile.in b/data/icons/Makefile.in
index 9452cf3..30a4f9a 100644
--- a/data/icons/Makefile.in
+++ b/data/icons/Makefile.in
@@ -204,7 +204,6 @@ EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIRL_CFLAGS = @GIRL_CFLAGS@
-GIRL_HELPER_PLAYER = @GIRL_HELPER_PLAYER@
 GIRL_LIBS = @GIRL_LIBS@
 GIRL_PKG_DEPS = @GIRL_PKG_DEPS@
 GMOFILES = @GMOFILES@
diff --git a/data/pixmaps/Makefile.in b/data/pixmaps/Makefile.in
index 94c11dd..db08302 100644
--- a/data/pixmaps/Makefile.in
+++ b/data/pixmaps/Makefile.in
@@ -174,7 +174,6 @@ EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIRL_CFLAGS = @GIRL_CFLAGS@
-GIRL_HELPER_PLAYER = @GIRL_HELPER_PLAYER@
 GIRL_LIBS = @GIRL_LIBS@
 GIRL_PKG_DEPS = @GIRL_PKG_DEPS@
 GMOFILES = @GMOFILES@
diff --git a/girl.doap b/girl.doap
index c75be4d..d7c29e6 100644
--- a/girl.doap
+++ b/girl.doap
@@ -5,7 +5,7 @@
          xmlns="http://usefulinc.com/ns/doap#";>
   <name xml:lang="en">GNOME Internet Radio Locator</name>
   <shortdesc xml:lang="en">Locate Internet Radio Stations</shortdesc>
-  <description>GNOME Internet Radio Locator (GIRL) allows users to easily find live radio programs on radio 
broadcasters on the Internet.  GIRL is developed on the GNOME platform and requires at least one audio helper 
such as GNOME Videos to be installed for playback.  Enjoy Internet Radio.</description>
+  <description>GNOME Internet Radio Locator (GIRL) allows users to easily find live radio programs on radio 
broadcasters on the Internet.  GIRL is developed on the GNOME platform and requires GStreamer 1.0 to be 
installed for playback.  Enjoy Internet Radio.</description>
   <homepage rdf:resource="https://wiki.gnome.org/Apps/Girl"; />
   <mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/girl-list"; />
   <download-page rdf:resource="http://download.gnome.org/sources/girl/"; />
diff --git a/girl.spec.in b/girl.spec.in
index ed79a60..e4f2b65 100644
--- a/girl.spec.in
+++ b/girl.spec.in
@@ -17,12 +17,14 @@ BuildRequires:  itstool
 BuildRequires:  libappstream-glib
 BuildRequires:  desktop-file-utils
 BuildRequires:  gstreamer-devel
+BuildRequires:  gstreamer1-plugins-bad-free-devel
+BuildRequires:  gstreamer1-plugins-base-devel
 Requires:       gstreamer1 >= 1.8.3
+Requires:       gstreamer1-plugins-ugly >= 1.8.3
 
 %description
 GNOME Internet Radio Locator (GIRL) is a program that allows the user
-to easily locate and record live radio programs by radio broadcasters
-on the Internet.
+to easily locate live radio programs by broadcasters on the Internet.
 
 GIRL is developed on the GNOME platform and it requires gstreamer for
 playback.
@@ -69,6 +71,11 @@ fi
 %{_datadir}/help/*/%{name}
 
 %changelog
+* Tue Jan 17 2017 Ole Aamot - 9.7.0-1.fc24
+- Girl 9.7.0 build on Fedora Linux 24
+
+* Sat Jan 07 2017 Ole Aamot - 9.6.2-1.fc24
+- Girl 9.6.2 build on Fedora Linux 24
 
 * Sat Dec 10 2016 Ole Aamot - 9.6.1-1.fc24
 - Girl 9.6.1 build on Fedora Linux 24
diff --git a/help/C/prev.page b/help/C/prev.page
index 8082e27..df551ad 100644
--- a/help/C/prev.page
+++ b/help/C/prev.page
@@ -20,13 +20,6 @@
     <p>You can also navigate between radio stations by clicking on
     "Stations" or search for a radio station by location by clicking on
     "Search".</p>
-    <p>It is possible to record from supported radio stations in <app>GIRL</app> if you have installed
-    the <app>streamripper</app> application.</p>
-    <p>If you have installed streamripper on your computer, then you can record audio broadcasted from
-    any of the supported radio stations.</p>
-    <p>If you select the radio station from "Stations" and click on "Listen" in the <app>GIRL</app>
-    program after you listened to a radio station previously, and then click on "Record", the radio
-    station will be recorded and the recorded audio file will be stored in your home directory.</p>
     <title>
       <media type="image" mime="image/png" src="media/girl-prev-station.png"/>
       Previous radio station
diff --git a/help/Makefile.in b/help/Makefile.in
index b26da4b..4ef48a7 100644
--- a/help/Makefile.in
+++ b/help/Makefile.in
@@ -144,7 +144,6 @@ EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIRL_CFLAGS = @GIRL_CFLAGS@
-GIRL_HELPER_PLAYER = @GIRL_HELPER_PLAYER@
 GIRL_LIBS = @GIRL_LIBS@
 GIRL_PKG_DEPS = @GIRL_PKG_DEPS@
 GMOFILES = @GMOFILES@
diff --git a/help/en_US/new.page b/help/en_US/new.page
index 8522cd2..cec0d4e 100644
--- a/help/en_US/new.page
+++ b/help/en_US/new.page
@@ -4,16 +4,16 @@
     <link type="guide" xref="index#main" group="#first"/>
     <revision pkgversion="1.8" date="2016-12-01" status="candidate"/>
     <credit type="author copyright">
-      <name>Ole Aamot</name>
+      <name xml:lang="en-US">Ole Aamot</name>
       <email>ole src gnome org</email>
     </credit>
     <include xmlns="http://www.w3.org/2001/XInclude"; href="legal.xml"/>
-    <desc>Search for Internet radio stations by location.</desc>
+    <desc xml:lang="en-US">Search for Internet radio stations by location.</desc>
   </info>
-  <title>New</title>
-    <p>It is possible to add new Internet radio stations 
+  <title xml:lang="en-US">New</title>
+    <p xml:lang="en-US">It is possible to add new Internet radio stations 
     in <app>GIRL</app> with the "New" button.</p>
-    <title>
+    <title xml:lang="en-US">
       <media type="image" mime="image/png" src="media/girl-newstation.png"/>
       New Internet radio station
     </title>
diff --git a/help/en_US/prev.page b/help/en_US/prev.page
index 2dc8593..6bb8f1c 100644
--- a/help/en_US/prev.page
+++ b/help/en_US/prev.page
@@ -20,13 +20,6 @@
     <p xml:lang="en-US">You can also navigate between radio stations by clicking on
     "Stations" or search for a radio station by location by clicking on
     "Search".</p>
-    <p xml:lang="en-US">It is possible to record from supported radio stations in <app>GIRL</app> if you 
have installed
-    the <app>streamripper</app> application.</p>
-    <p xml:lang="en-US">If you have installed streamripper on your computer, then you can record audio 
broadcasted from
-    any of the supported radio stations.</p>
-    <p xml:lang="en-US">If you select the radio station from "Stations" and click on "Listen" in the 
<app>GIRL</app>
-    program after you listened to a radio station previously, and then click on "Record", the radio
-    station will be recorded and the recorded audio file will be stored in your home directory.</p>
     <title xml:lang="en-US">
       <media type="image" mime="image/png" src="media/girl-prev-station.png"/>
       Previous radio station
diff --git a/help/girl.pot b/help/girl.pot
index b4fe623..2d16979 100644
--- a/help/girl.pot
+++ b/help/girl.pot
@@ -1,7 +1,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2015-03-24 23:25+0100\n"
+"POT-Creation-Date: 2017-01-07 18:44+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL li org>\n"
@@ -21,8 +21,9 @@ msgstr ""
 #: C/index.page:14
 #: C/intro.page:9
 #: C/listen.page:9
+#: C/new.page:7
 #: C/next.page:9
-#: C/prev.page:9
+#: C/prev.page:7
 #: C/record.page:9
 #: C/search.page:9
 #: C/stations.page:9
@@ -35,8 +36,9 @@ msgstr ""
 #: C/exit.page:14
 #: C/intro.page:14
 #: C/listen.page:14
+#: C/new.page:11
 #: C/next.page:14
-#: C/prev.page:14
+#: C/prev.page:11
 #: C/record.page:14
 #: C/search.page:14
 #: C/stations.page:14
@@ -46,7 +48,7 @@ msgstr ""
 #. (itstool) path: page/title
 #. (itstool) path: section/title
 #: C/aboutprogram.page:17
-#: C/index.page:64
+#: C/index.page:69
 msgid "About Program"
 msgstr ""
 
@@ -58,7 +60,7 @@ msgstr ""
 #. (itstool) path: page/title
 #. (itstool) path: section/title
 #: C/aboutstation.page:17
-#: C/index.page:59
+#: C/index.page:64
 msgid "About Station"
 msgstr ""
 
@@ -99,7 +101,7 @@ msgstr ""
 
 #. (itstool) path: page/p
 #: C/exit.page:26
-msgid "However, in order to stop streaming the radio station, you must exit the <app>Videos</app> app."
+msgid "However, in order to stop streaming the radio station, you must click on \"Stop\" first."
 msgstr ""
 
 #. (itstool) path: info/desc
@@ -121,7 +123,7 @@ msgstr ""
 
 #. (itstool) path: credit/years
 #: C/index.page:16
-msgid "2015"
+msgid "2016"
 msgstr ""
 
 #. (itstool) path: info/desc
@@ -140,70 +142,82 @@ msgid "Other help topics are grouped together into sections below. Enjoy locatin
 msgstr ""
 
 #. (itstool) path: section/title
+#. (itstool) path: page/title
 #: C/index.page:33
-msgid "Search"
+#: C/new.page:13
+msgid "New"
 msgstr ""
 
 #. (itstool) path: section/p
 #: C/index.page:34
-msgid "<link xref=\"intro\">Search</link> for radio stations by location."
+msgid "<link xref=\"new\">New</link> radio station by location."
 msgstr ""
 
 #. (itstool) path: section/title
-#. (itstool) path: page/title
 #: C/index.page:38
+msgid "Search"
+msgstr ""
+
+#. (itstool) path: section/p
+#: C/index.page:39
+msgid "<link xref=\"search\">Search</link> for radio stations by location."
+msgstr ""
+
+#. (itstool) path: section/title
+#. (itstool) path: page/title
+#: C/index.page:43
 #: C/listen.page:17
 msgid "Listen"
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/index.page:39
+#: C/index.page:44
 msgid "Learn how to <link xref=\"listen\">listen</link> to your default radio station."
 msgstr ""
 
 #. (itstool) path: section/title
 #. (itstool) path: page/title
-#: C/index.page:43
+#: C/index.page:48
 #: C/record.page:17
 msgid "Record"
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/index.page:44
+#: C/index.page:49
 msgid "Learn how to <link xref=\"record\">record</link> from radio stations."
 msgstr ""
 
 #. (itstool) path: section/title
 #. (itstool) path: page/title
-#: C/index.page:49
-#: C/prev.page:17
+#: C/index.page:54
+#: C/prev.page:13
 msgid "Prev"
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/index.page:50
+#: C/index.page:55
 msgid "Navigate to the <link xref=\"prev\">previous</link> radio station."
 msgstr ""
 
 #. (itstool) path: section/title
 #. (itstool) path: page/title
-#: C/index.page:54
+#: C/index.page:59
 #: C/next.page:17
 msgid "Next"
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/index.page:55
+#: C/index.page:60
 msgid "Navigate to the <link xref=\"next\">next</link> radio station."
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/index.page:60
+#: C/index.page:65
 msgid "Learn <link xref=\"aboutstation\">about the current radio station</link>."
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/index.page:65
+#: C/index.page:70
 msgid "Learn <link xref=\"aboutprogram\">about the GNOME Internet Radio Locator</link> and its contributors."
 msgstr ""
 
@@ -224,7 +238,7 @@ msgstr ""
 #. whatever you like once you have updated your copy of the file.
 #: C/intro.page:25
 msgctxt "_"
-msgid "external ref='media/girl-main.png' md5='604ab52adcccb7c7c73bb04f1f11f24c'"
+msgid "external ref='media/girl-main.png' md5='935b9e52a954f1991f9b241dcfaf687d'"
 msgstr ""
 
 #. (itstool) path: page/title
@@ -232,19 +246,29 @@ msgstr ""
 msgid "<media type=\"image\" mime=\"image/png\" src=\"media/girl-main.png\"/> GNOME Internet Radio Locator"
 msgstr ""
 
+#. (itstool) path: p/link
+#: C/legal.xml:3
+msgid "http://creativecommons.org/licenses/by-sa/3.0/";
+msgstr ""
+
+#. (itstool) path: license/p
+#: C/legal.xml:3
+msgid "This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view 
a copy of this license, visit <_:link-1/> or send a letter to Creative Commons, 444 Castro Street, Suite 900, 
Mountain View, California, 94041, USA."
+msgstr ""
+
 #. (itstool) path: page/p
 #: C/listen.page:19
-msgid "It is possible to listen to supported radio stations in <app>GIRL</app> if you have installed the 
<app>Videos</app> application with the necessary audio codecs."
+msgid "It is possible to listen to supported radio stations in <app>GIRL</app> if you have installed 
gstreamer with the necessary audio codecs."
 msgstr ""
 
 #. (itstool) path: page/p
-#: C/listen.page:22
+#: C/listen.page:21
 msgid "If you have installed Ogg Vorbis audio codec on your computer, then you can listen to many of the 
included radio stations."
 msgstr ""
 
 #. (itstool) path: page/p
-#: C/listen.page:25
-msgid "If you select the radio station from \"Stations\" and click on \"Listen\" in the <app>GIRL</app> 
program after you listened to a radio station previously, the default radio station will stream in the 
<app>Videos</app> application."
+#: C/listen.page:24
+msgid "If you select the radio station from \"Stations\" and click on \"Listen\" in the <app>GIRL</app> 
program after you listened to a radio station previously, the default radio station will stream audio with 
gstreamer."
 msgstr ""
 
 #. (itstool) path: title/media
@@ -252,28 +276,50 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/listen.page:30
+#: C/listen.page:28
 msgctxt "_"
 msgid "external ref='media/girl-listen.png' md5='ad6fce1f9ff9ce95ccacd310d490a287'"
 msgstr ""
 
 #. (itstool) path: page/title
-#: C/listen.page:29
+#: C/listen.page:27
 msgid "<media type=\"image\" mime=\"image/png\" src=\"media/girl-listen.png\"/> Listen to radio station"
 msgstr ""
 
 #. (itstool) path: page/p
+#: C/new.page:14
+msgid "It is possible to add new Internet radio stations in <app>GIRL</app> with the \"New\" button."
+msgstr ""
+
+#. (itstool) path: title/media
+#. This is a reference to an external file such as an image or video. When
+#. the file changes, the md5 hash will change to let you know you need to
+#. update your localized copy. The msgstr is not used at all. Set it to
+#. whatever you like once you have updated your copy of the file.
+#: C/new.page:17
+msgctxt "_"
+msgid "external ref='media/girl-newstation.png' md5='c00156ebc179c6d70f0f2aa70d6a63be'"
+msgstr ""
+
+#. (itstool) path: page/title
+#: C/new.page:16
+msgid "<media type=\"image\" mime=\"image/png\" src=\"media/girl-newstation.png\"/> New Internet radio 
station"
+msgstr ""
+
+#. (itstool) path: page/p
 #: C/next.page:19
 msgid "It is possible to listen to the next of supported radio stations in <app>GIRL</app> with the \"Next\" 
button."
 msgstr ""
 
 #. (itstool) path: page/p
 #: C/next.page:21
+#: C/prev.page:16
 msgid "This makes it easy to change the radio station, if you are bored of the current radio station and in 
situations when you realize that you are bored of the current radio station and want to listen to the next 
station."
 msgstr ""
 
 #. (itstool) path: page/p
 #: C/next.page:25
+#: C/prev.page:20
 msgid "You can also navigate between radio stations by clicking on \"Stations\" or search for a radio 
station by location by clicking on \"Search\"."
 msgstr ""
 
@@ -293,20 +339,8 @@ msgid "<media type=\"image\" mime=\"image/png\" src=\"media/girl-next-station.pn
 msgstr ""
 
 #. (itstool) path: page/p
-#: C/prev.page:19
-msgid "It is possible to record from supported radio stations in <app>GIRL</app> if you have installed the 
<app>streamripper</app> application."
-msgstr ""
-
-#. (itstool) path: page/p
-#: C/prev.page:22
-#: C/record.page:22
-msgid "If you have installed streamripper on your computer, then you can record audio broadcasted from any 
of the supported radio stations."
-msgstr ""
-
-#. (itstool) path: page/p
-#: C/prev.page:25
-#: C/record.page:25
-msgid "If you select the radio station from \"Stations\" and click on \"Listen\" in the <app>GIRL</app> 
program after you listened to a radio station previously, and then click on \"Record\", the radio station 
will be recorded and the recorded audio file will be stored in your home directory."
+#: C/prev.page:14
+msgid "It is possible to listen to the previous of supported radio stations in <app>GIRL</app> with the 
\"Prev\" button."
 msgstr ""
 
 #. (itstool) path: title/media
@@ -314,19 +348,29 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/prev.page:31
+#: C/prev.page:24
 msgctxt "_"
 msgid "external ref='media/girl-prev-station.png' md5='b84ef579d50632f350d2b73fd0db6d61'"
 msgstr ""
 
 #. (itstool) path: page/title
-#: C/prev.page:30
+#: C/prev.page:23
 msgid "<media type=\"image\" mime=\"image/png\" src=\"media/girl-prev-station.png\"/> Previous radio station"
 msgstr ""
 
 #. (itstool) path: page/p
 #: C/record.page:19
-msgid "It is possible to record from supported radio stations in <app>GIRL</app> if you have installed the 
<app>streamripper</app> application. You can download streamripper from <link 
href=\"http://streamripper.sf.net/\";>streamripper.sf.net</link>."
+msgid "A planned feature in <app>GIRL</app> is to make it possible to record audio files from supported 
radio stations in <app>GIRL</app> if you have installed the gstreamer library."
+msgstr ""
+
+#. (itstool) path: page/p
+#: C/record.page:23
+msgid "If you select the radio station from \"Stations\" and click on \"Listen\" in the <app>GIRL</app> 
program after you listened to a radio station previously, and then click on \"Record\", the radio station 
would be recorded and the recorded audio file would be stored in your home directory."
+msgstr ""
+
+#. (itstool) path: page/p
+#: C/record.page:27
+msgid "Please get in touch and check out src/girl-record.c for the code if you want to implement recording 
with gstreamer."
 msgstr ""
 
 #. (itstool) path: title/media
@@ -346,7 +390,7 @@ msgstr ""
 
 #. (itstool) path: page/p
 #: C/record.page:34
-msgid "If you want to stop the streamripper recording process of the radio station, click on \"Stop\"."
+msgid "If you want to stop the recording process of the radio station, click on \"Stop\"."
 msgstr ""
 
 #. (itstool) path: title/media
@@ -376,7 +420,7 @@ msgstr ""
 
 #. (itstool) path: page/p
 #: C/search.page:21
-msgid "Enter a city name for a supported radio station in the query field and hit ENTER."
+msgid "Enter a city name for a supported radio station in the query field and hit <key>ENTER</key>."
 msgstr ""
 
 #. (itstool) path: title/media
diff --git a/src/Makefile.am b/src/Makefile.am
index 80f862a..3f33c08 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -46,17 +46,15 @@ girl_CFLAGS  = $(GIRL_CFLAGS) \
               -DDATADIR=\"$(datadir)\" \
               -DGIRL_DEBUG=1 \
               -DGIRL_CFG \
-              -DGIRL_HELPER_PLAYER=\"$(GIRL_HELPER_PLAYER)\" \
-              -DGIRL_HELPER_RECORD=\"$(GIRL_HELPER_RECORD)\" \
               -DGNOMELOCALEDIR=\"$(datadir)/locale\"
 
 girl_LDADD = $(GIRL_LIBS)
 
 girldir = $(datadir)/girl
 
-girl_DATA = girl-9.6.dtd girl-logo.png girl.png girl.xml
+girl_DATA = girl-9.7.dtd girl-logo.png girl.png girl.xml girl.xsl
 
-EXTRA_DIST = girl.h girl-station.h girl-stations-map.h girl-tz.h girl-gui.h girl-listener.h girl-player.h 
girl-player-globals.h girl-player-frontend.h girl-player-backend.h girl-record.h girl-record-backend.h 
girl-record-globals.h girl-record-frontend.h girl-program.h girl-runners.h girl-streams.h girl-9.6.dtd 
girl-map.png girl-logo.png girl.png girl.xml
+EXTRA_DIST = girl.h girl-station.h girl-stations-map.h girl-tz.h girl-gui.h girl-listener.h girl-player.h 
girl-player-globals.h girl-player-frontend.h girl-player-backend.h girl-record.h girl-record-backend.h 
girl-record-globals.h girl-record-frontend.h girl-program.h girl-runners.h girl-streams.h girl-9.7.dtd 
girl-map.png girl-logo.png girl.png girl.xml girl.xsl
 
 all-local: check-local
 
diff --git a/src/Makefile.in b/src/Makefile.in
index dae0279..f44a815 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -253,7 +253,6 @@ EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIRL_CFLAGS = @GIRL_CFLAGS@
-GIRL_HELPER_PLAYER = @GIRL_HELPER_PLAYER@
 GIRL_LIBS = @GIRL_LIBS@
 GIRL_PKG_DEPS = @GIRL_PKG_DEPS@
 GMOFILES = @GMOFILES@
@@ -403,14 +402,12 @@ girl_CFLAGS = $(GIRL_CFLAGS) \
               -DDATADIR=\"$(datadir)\" \
               -DGIRL_DEBUG=1 \
               -DGIRL_CFG \
-              -DGIRL_HELPER_PLAYER=\"$(GIRL_HELPER_PLAYER)\" \
-              -DGIRL_HELPER_RECORD=\"$(GIRL_HELPER_RECORD)\" \
               -DGNOMELOCALEDIR=\"$(datadir)/locale\"
 
 girl_LDADD = $(GIRL_LIBS)
 girldir = $(datadir)/girl
-girl_DATA = girl-9.6.dtd girl-logo.png girl.png girl.xml
-EXTRA_DIST = girl.h girl-station.h girl-stations-map.h girl-tz.h girl-gui.h girl-listener.h girl-player.h 
girl-player-globals.h girl-player-frontend.h girl-player-backend.h girl-record.h girl-record-backend.h 
girl-record-globals.h girl-record-frontend.h girl-program.h girl-runners.h girl-streams.h girl-9.6.dtd 
girl-map.png girl-logo.png girl.png girl.xml
+girl_DATA = girl-9.7.dtd girl-logo.png girl.png girl.xml girl.xsl
+EXTRA_DIST = girl.h girl-station.h girl-stations-map.h girl-tz.h girl-gui.h girl-listener.h girl-player.h 
girl-player-globals.h girl-player-frontend.h girl-player-backend.h girl-record.h girl-record-backend.h 
girl-record-globals.h girl-record-frontend.h girl-program.h girl-runners.h girl-streams.h girl-9.7.dtd 
girl-map.png girl-logo.png girl.png girl.xml girl.xsl
 all: all-am
 
 .SUFFIXES:
diff --git a/src/girl-gui.c b/src/girl-gui.c
index 9034313..280b5f7 100644
--- a/src/girl-gui.c
+++ b/src/girl-gui.c
@@ -2,7 +2,7 @@
  *
  * GNOME Internet Radio Locator
  *
- * Copyright (C) 2014, 2015, 2016  Ole Aamot Software
+ * Copyright (C) 2014, 2015, 2016, 2017  Ole Aamot Software
  *
  * Author: Ole Aamot <oka oka no>
  *
@@ -52,6 +52,7 @@
 #include "girl-tz.h"
 
 extern GtkWidget *girl_app;
+extern GtkWidget *search_selector;
 
 GnomeUIInfo toolbar[] = {
        GNOMEUIINFO_ITEM_STOCK(N_("New"), N_("Add a new radio station"),
@@ -517,6 +518,10 @@ on_search_matches(GtkEntryCompletion *widget,
 
        girl_player_frontend_stop (girl->player_window, NULL);
 
+       if (GTK_IS_WIDGET(search_selector)) {
+               gtk_widget_destroy(search_selector);
+       }
+       
        girl_helper_run(girl->selected_station_uri,
                        girl->selected_station_name,
                        GIRL_STREAM_SHOUTCAST,
diff --git a/src/girl-player-backend.c b/src/girl-player-backend.c
index 73cac6a..c6b4224 100644
--- a/src/girl-player-backend.c
+++ b/src/girl-player-backend.c
@@ -2,7 +2,7 @@
  *
  * GNOME Internet Radio Locator
  *
- * Copyright (C) 2016  Ole Aamot Software
+ * Copyright (C) 2016, 2017  Ole Aamot Software
  *
  * Author: Ole Aamot <oka oka no>
  *
@@ -46,6 +46,7 @@
 
 #include "girl-player-backend.h"
 #include "girl-player-globals.h"
+#include <gst/video/videooverlay.h>
 
 struct GirlMedia *media;
 extern GirlData *girl;
@@ -81,14 +82,14 @@ static gboolean handler_message (GstBus *bus, GstMessage *message , gpointer dat
 void girl_player_backend_pause()
 {
   gst_element_set_state(media->pipeline, GST_STATE_PAUSED);  
-  g_message("Paused....");
+  GIRL_DEBUG_MSG("Paused....");
 
 }
 
 void girl_player_backend_play()
 {
   gst_element_set_state(media->pipeline, GST_STATE_PLAYING);  
-  g_message("Playing....");
+  GIRL_DEBUG_MSG("Playing....");
 }
 
 void girl_player_backend_seek()
@@ -99,12 +100,12 @@ GstBusSyncReply CreateWindow (GstBus *bus,GstMessage *message,gpointer data)
 {
        if (GST_MESSAGE_TYPE (message) != GST_MESSAGE_ELEMENT)
                return GST_BUS_PASS;
-       if ( !gst_structure_has_name (message->structure, "prepare-xwindow-id")) 
+       if ( !gst_structure_has_name (gst_message_get_structure (message), "prepare-xwindow-id")) 
                return GST_BUS_PASS;
        if (Window_Xid != 0) { 
-               GstXOverlay *xoverlay;
-               xoverlay = GST_X_OVERLAY (GST_MESSAGE_SRC (message));
-               gst_x_overlay_set_xwindow_id (xoverlay, Window_Xid);
+               GstVideoOverlay *video_overlay;
+               video_overlay = GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message));
+               gst_video_overlay_set_window_handle (video_overlay, Window_Xid);
        } else {
                g_warning ("Should have obtained Window_Xid by now!");
        }
@@ -127,7 +128,7 @@ gboolean girl_player_backend_start (gchar *uri, gchar *name)
   g_object_set(G_OBJECT(media->pipeline),"uri",media->uri,NULL);
 
   media->bus = gst_pipeline_get_bus(GST_PIPELINE(media->pipeline));
-  gst_bus_set_sync_handler (media->bus, (GstBusSyncHandler)CreateWindow, NULL);
+  gst_bus_set_sync_handler (media->bus, (GstBusSyncHandler)CreateWindow, NULL, NULL);
   gst_bus_add_watch(media->bus, handler_message, NULL);
   gst_object_unref (media->bus);
 
@@ -144,11 +145,12 @@ gboolean girl_player_backend_init (int *argc,char **argv[])
     return FALSE;      
 }
 
-void girl_player_backend_stop (void)
+void girl_player_backend_stop (GMainLoop *loop)
 {
 
        girl->player_status = GIRL_PLAYER_FALSE;
        gst_element_set_state(media->pipeline, GST_STATE_NULL);
        gst_object_unref(GST_OBJECT (media->pipeline));
        gst_deinit();
+       g_main_loop_quit (loop);
 }
diff --git a/src/girl-player-backend.h b/src/girl-player-backend.h
index 0a2db66..28a3a61 100644
--- a/src/girl-player-backend.h
+++ b/src/girl-player-backend.h
@@ -50,7 +50,6 @@
 #include <string.h>
 #include <unistd.h>
 #include <gst/gst.h>
-#include <gst/interfaces/xoverlay.h>
 
 typedef struct GirlMedia {
   GstElement *pipeline;
@@ -71,6 +70,6 @@ void girl_player_backend_play ();
 void girl_player_backend_pause ();
 void girl_player_backend_seek ();
 
-void girl_player_backend_stop (void);
+void girl_player_backend_stop (GMainLoop *loop);
 
 #endif
diff --git a/src/girl-player-frontend.c b/src/girl-player-frontend.c
index cb8a4ea..65a7fb7 100644
--- a/src/girl-player-frontend.c
+++ b/src/girl-player-frontend.c
@@ -2,7 +2,7 @@
  *
  * GNOME Internet Radio Locator
  *
- * Copyright (C) 2016  Ole Aamot Software
+ * Copyright (C) 2016, 2017  Ole Aamot Software
  *
  * Author: Ole Aamot <oka oka no>
  *
@@ -70,7 +70,7 @@ delete_event (GtkWidget *window,
 static void
 girl_player_frontend_destroy (GtkWidget *widget, gpointer data)
 {
-       gtk_widget_destroy (widget);
+       gtk_widget_destroy (GTK_WIDGET(widget));
 }
 
 static void
@@ -85,7 +85,7 @@ girl_player_frontend_stop (GtkWidget *widget, gpointer data)
 {
        if (girl->player_window != NULL) {
                girl_player_backend_pause();
-               gtk_widget_destroy(girl->player_window);
+               gtk_widget_destroy(GTK_WIDGET(girl->player_window));
        }
 }
 
diff --git a/src/girl-player.c b/src/girl-player.c
index 6752afc..5e9f86e 100644
--- a/src/girl-player.c
+++ b/src/girl-player.c
@@ -2,7 +2,7 @@
  *
  * GNOME Internet Radio Locator
  *
- * Copyright (C) 2016  Ole Aamot Software
+ * Copyright (C) 2016, 2017  Ole Aamot Software
  *
  * Author: Ole Aamot <oka oka no>
  *
@@ -76,8 +76,9 @@ girl_player_main(gchar *streamuri, gchar *name)
                g_message ("Girl-Player backend creation failure");
                exit (0);
        }
-       loop = g_main_loop_new (NULL, FALSE);
-       g_main_loop_run (loop);
-       girl_player_backend_stop ();
+       girl->player_loop = g_main_loop_new (NULL, FALSE);
+       g_main_loop_run (girl->player_loop);
+       girl_player_backend_stop (girl->player_loop);
        girl->player_status = GIRL_PLAYER_TRUE;
+       exit (0);
 }
diff --git a/src/girl-record-backend.c b/src/girl-record-backend.c
index 473d9fd..7947ecf 100644
--- a/src/girl-record-backend.c
+++ b/src/girl-record-backend.c
@@ -46,6 +46,7 @@
 
 #include "girl-record-backend.h"
 #include "girl-record-globals.h"
+#include <gst/video/videooverlay.h>
 
 GirlStoreMedia *media;
 extern GirlData *girl;
@@ -81,14 +82,14 @@ static gboolean handler_message (GstBus *bus, GstMessage *message , gpointer dat
 void girl_record_backend_pause()
 {
   gst_element_set_state(media->pipeline, GST_STATE_PAUSED);  
-  g_message("Paused....");
+  GIRL_DEBUG_MSG("Paused....");
 
 }
 
 void girl_record_backend_play()
 {
   gst_element_set_state(media->pipeline, GST_STATE_PLAYING);  
-  g_message("Playing....");
+  GIRL_DEBUG_MSG("Recording....");
 }
 
 void girl_record_backend_seek()
@@ -100,13 +101,13 @@ GstBusSyncReply CreateRecordWindow (GstBus *bus,GstMessage *message,gpointer dat
 
   if (GST_MESSAGE_TYPE (message) != GST_MESSAGE_ELEMENT)
     return GST_BUS_PASS;
-  if ( !gst_structure_has_name (message->structure, "prepare-xwindow-id")) 
+  if ( !gst_structure_has_name (gst_message_get_structure (message), "prepare-xwindow-id")) 
     return GST_BUS_PASS;
   
   if (Window_Xid != 0) { 
-   GstXOverlay *xoverlay;
-   xoverlay = GST_X_OVERLAY (GST_MESSAGE_SRC (message));
-   gst_x_overlay_set_xwindow_id (xoverlay, Window_Xid);
+   GstVideoOverlay *video_overlay;
+   video_overlay = GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message));
+   gst_video_overlay_set_window_handle (video_overlay, Window_Xid);
   } else {
      g_warning ("Should have obtained Window_Xid by now!");
   }
@@ -130,7 +131,7 @@ gboolean girl_record_backend_start (gchar *uri, gchar *name)
        g_object_set(G_OBJECT(media->pipeline),"uri",media->uri,NULL);
        
        media->bus = gst_pipeline_get_bus(GST_PIPELINE(media->pipeline));
-       gst_bus_set_sync_handler (media->bus, (GstBusSyncHandler)CreateRecordWindow, NULL);
+       gst_bus_set_sync_handler (media->bus, (GstBusSyncHandler)CreateRecordWindow, NULL, NULL);
        gst_bus_add_watch(media->bus, handler_message, NULL);
        gst_object_unref (media->bus);
        
@@ -147,7 +148,7 @@ gboolean girl_record_backend_init (int *argc,char **argv[])
                return FALSE;   
 }
 
-void girl_record_backend_stop (void)
+void girl_record_backend_stop (GMainLoop *loop)
 {
        
        girl->record_status = GIRL_RECORD_FALSE;
diff --git a/src/girl-record-backend.h b/src/girl-record-backend.h
index 406b113..b11fa5f 100644
--- a/src/girl-record-backend.h
+++ b/src/girl-record-backend.h
@@ -50,7 +50,6 @@
 #include <unistd.h>
 
 #include <gst/gst.h>
-#include <gst/interfaces/xoverlay.h>
 
 typedef struct _GirlStoreMedia {
   GstElement *pipeline;
@@ -70,6 +69,6 @@ void girl_record_backend_play ();
 void girl_record_backend_pause ();
 void girl_record_backend_seek ();
 
-void girl_record_backend_stop (void);
+void girl_record_backend_stop (GMainLoop *loop);
 
 #endif
diff --git a/src/girl-record-frontend.c b/src/girl-record-frontend.c
index 008488a..def0557 100644
--- a/src/girl-record-frontend.c
+++ b/src/girl-record-frontend.c
@@ -2,7 +2,7 @@
  *
  * GNOME Internet Radio Locator
  *
- * Copyright (C) 2016  Ole Aamot Software
+ * Copyright (C) 2016, 2017  Ole Aamot Software
  *
  * Author: Ole Aamot <oka oka no>
  *
diff --git a/src/girl-record.c b/src/girl-record.c
index d40d92f..5f0ac77 100644
--- a/src/girl-record.c
+++ b/src/girl-record.c
@@ -2,7 +2,7 @@
  *
  * GNOME Internet Radio Locator
  *
- * Copyright (C) 2016  Ole Aamot Software
+ * Copyright (C) 2016, 2017  Ole Aamot Software
  *
  * Author: Ole Aamot <oka oka no>
  *
@@ -68,11 +68,9 @@ girl_record_main(gchar *streamuri, gchar *name)
                exit (0);
        }
        
-       loop = g_main_loop_new (NULL, FALSE);
-       g_main_loop_run (loop);
-       
-       girl_record_backend_stop ();
-
+       girl->record_loop = g_main_loop_new (NULL, FALSE);
+       g_main_loop_run (girl->record_loop);
+       girl_record_backend_stop (girl->record_loop);
        girl->record_status = GIRL_RECORD_TRUE;
                
 }
diff --git a/src/girl-station.c b/src/girl-station.c
index f47c854..2e483e3 100644
--- a/src/girl-station.c
+++ b/src/girl-station.c
@@ -2,7 +2,7 @@
  *
  * GNOME Internet Radio Locator
  *
- * Copyright (C) 2014, 2015, 2016  Ole Aamot Software
+ * Copyright (C) 2014, 2015, 2016, 2017  Ole Aamot Software
  *
  * Author: Ole Aamot <oka oka no>
  *
@@ -384,6 +384,7 @@ void girl_helper_run(gchar *url, gchar *name, GirlStreamType type, GirlHelperTyp
                                                 NULL);
                }
 #endif
+
        }
        
        if (helper == GIRL_STREAM_RECORD) {
@@ -394,10 +395,10 @@ void girl_helper_run(gchar *url, gchar *name, GirlStreamType type, GirlHelperTyp
                gchar *recording_path_name = g_strconcat(g_get_home_dir(), "/.girl/", NULL);
                gchar *formatting_argument = g_strdup("-D %D");
                girl->record_launcher = g_subprocess_launcher_new (G_SUBPROCESS_FLAGS_NONE);
-               girl->record_subprocess = g_subprocess_launcher_spawn (girl->record_launcher, &error, 
GIRL_HELPER_RECORD, url, "-d", recording_path_name, "-D", "%D", NULL);
+               /* girl->record_subprocess = g_subprocess_launcher_spawn (girl->record_launcher, &error, 
GIRL_HELPER_RECORD, url, "-d", recording_path_name, "-D", "%D", NULL); */
                if (girl->record_subprocess == NULL) {
-                       msg = g_strdup_printf(_("Failed to run '%s'\n"
-                                               "Details: %s"), GIRL_HELPER_RECORD, error->message);
+                       /* msg = g_strdup_printf(_("Failed to run '%s'\n" */
+                       /*                      "Details: %s"), GIRL_HELPER_RECORD, error->message); */
                        show_error(msg);
                        g_error_free(error);
                        g_free(msg);
@@ -737,7 +738,7 @@ gint girl_station_update (GirlStationInfo *head, gchar *station_band, gchar *sta
 
        gboolean local_girl_file = g_file_test (".girl/girl.xml", G_FILE_TEST_EXISTS);
 
-       g_printf("DEBUG: local_girl_file = %i\n", local_girl_file);
+       GIRL_DEBUG_MSG("local_girl_file = %i\n", local_girl_file);
 
        if (local_girl_file == 0) {
 
diff --git a/src/girl.c b/src/girl.c
index 7a428e2..3686e5e 100644
--- a/src/girl.c
+++ b/src/girl.c
@@ -181,9 +181,7 @@ static void cause_movement(int way)
 void on_previous_station_click(GtkWidget * a, gpointer user_data)
 {
        GirlStationInfo *station = (GirlStationInfo *)girl->previous_station;
-
        girl->previous_station = girl->selected_station;
-
        if (station != NULL) {
                cause_movement(-1);
                GIRL_DEBUG_MSG("Previous Station ID: %s\n", station->id);
@@ -306,8 +304,7 @@ void on_new_station_clicked(GtkWidget *a,
        switch (result)  {
        case GTK_RESPONSE_ACCEPT:
 
-               g_print ("Squeak!\n\n");
-
+               GIRL_DEBUG_MSG("Squeak!\n\n");
                girl->selected_station_uri = g_strdup(g_object_get_data(G_OBJECT(station), "station_uri"));
                GIRL_DEBUG_MSG("on_new_station_select_changed: %s\n", girl->selected_station_uri);
                girl->selected_station_description = g_strdup(g_object_get_data(G_OBJECT(station), 
"station_description"));
@@ -624,30 +621,34 @@ void quit_app(GtkWidget * a, gpointer user_data)
        gnome_config_pop_prefix();
 
        gtk_widget_destroy(girl_app);
-       if (GTK_IS_WIDGET(stations_selector)) {
-               gtk_widget_destroy(stations_selector);
-       }
-       if (GTK_IS_WIDGET(streams_selector)) {
-               gtk_widget_destroy(streams_selector);
-       }
+       /* if (GTK_IS_WIDGET(stations_selector)) { */
+       /*      gtk_widget_destroy(stations_selector); */
+       /* } */
+       /* if (GTK_IS_WIDGET(streams_selector)) { */
+       /*      gtk_widget_destroy(streams_selector); */
+       /* } */
        // stationinfo = l->data;
        // girl_station_save(stationinfo, NULL, NULL, NULL, NULL, NULL, NULL);
-
        g_spawn_close_pid(girl->record_pid);
        g_spawn_close_pid(girl->player_pid);
-
-
-       g_subprocess_force_exit(girl->player_subprocess);
-       g_subprocess_force_exit(girl->record_subprocess);
+       /* g_subprocess_force_exit(girl->player_subprocess); */
+       /* g_subprocess_force_exit(girl->record_subprocess); */
        // kill(girl->record_pid,SIGHUP);
        // kill(girl->player_pid,SIGHUP);
-
-       gtk_widget_destroy(girl->player_window);
-       gtk_widget_destroy(girl->record_window);
-
-       girl_player_backend_stop();
-       girl_record_backend_stop();
-
+       if (GTK_IS_WIDGET(girl->player_window)) {
+               gtk_widget_destroy(girl->player_window);
+       }
+       /* gtk_widget_destroy(girl->record_window); */
+       if (g_main_loop_is_running (girl->player_loop)) {
+               girl_player_backend_stop(girl->player_loop);
+       }
+       if (GTK_IS_WIDGET(girl->record_window)) {
+               gtk_widget_destroy(girl->record_window);
+       }
+       if (g_main_loop_is_running (girl->record_loop)) {
+               girl_record_backend_stop(girl->record_loop);
+       }
+       /* girl_record_backend_stop(girl->record_loop); */
        gtk_main_quit();
 }
 
@@ -702,7 +703,7 @@ void about_app(GtkWidget * a, gpointer user_data)
                             "Mathilde Agostini",
                             NULL };
        gchar* comments = { _("Locate Internet Radio Stations") };
-       gchar* copyright = { _("Copyright (C) 2014, 2015, 2016  Ole Aamot Software") };
+       gchar* copyright = { _("Copyright (C) 2014-2017  Ole Aamot Software") };
        gchar* documenters[] = { _("Mario Blättermann <mario blaettermann gmail com> (German translation)"), 
_("Marek Černocký <marek manet cz> (Czech translation)"), _("Daniel Mustieles <daniel mustieles gmail com> 
(Spanish translation)"), _("Josef Andersson <josef andersson fripost org> (Swedish translation)"), NULL };
 
        static GdkPixbuf* logo;
@@ -802,14 +803,14 @@ void about_program(GtkWidget * a, gpointer user_data)
 
 void about_station(GirlData * a, gpointer user_data)
 {
-       static GtkWidget *about_station;
+       static GtkWidget *about_station = NULL;
        /* const gchar *translator_credits = _("translator_credits"); */
        const gchar *authors[] = {
                girl->selected_station_name,
                NULL,
        };
 
-       if (GTK_IS_WIDGET(about_station)) {
+       if (about_station != NULL) {
                gtk_widget_destroy(GTK_WIDGET(about_station));
        }
        
@@ -873,8 +874,8 @@ void on_search_button_clicked(GtkWidget *a, gpointer user_data)
 {
        GtkWidget *search;
 
-       search = create_search_selector();
-       gtk_widget_show(search);
+       search_selector = create_search_selector();
+       gtk_widget_show(search_selector);
        
        appbar_send_msg(_("Search radio station by location"));
 }
@@ -951,7 +952,9 @@ void on_stop_button_clicked(GtkWidget *a, gpointer user_data)
        }
 
        girl_player_backend_pause();
-       gtk_widget_destroy(girl->player_window);
+       if (GTK_IS_WIDGET(girl->player_window)) {
+               gtk_widget_destroy(girl->player_window);
+       }
 
        if (girl->player_status == GIRL_PLAYER_TRUE) {
                GIRL_DEBUG_MSG("Playback stopped.\n");
diff --git a/src/girl.h b/src/girl.h
index 45732e3..9653971 100644
--- a/src/girl.h
+++ b/src/girl.h
@@ -152,6 +152,8 @@ struct _GirlData {
        GPid record_pid;
        gint station_count;
        gint stream_count;
+       GMainLoop *player_loop;
+       GMainLoop *record_loop;
 };
 
 typedef struct _GirlData GirlData;
diff --git a/src/girl.xml b/src/girl.xml
index fd01448..fbeb4a7 100644
--- a/src/girl.xml
+++ b/src/girl.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml-stylesheet type="text/xsl" href="girl.xsl" ?>
-<!DOCTYPE girl SYSTEM "girl-9.6.dtd">
-<girl version="9.6.0">
+<!DOCTYPE girl SYSTEM "girl-9.7.dtd">
+<girl version="9.7.0">
   <station band="909/693 MW" id="bbcradio5live" lang="en" name="BBC Radio 5 Live" rank="1.0" type="gov">
     <frequency uri="http://www.bbc.co.uk/5live";>909/693 MW in Salford, United Kingdom</frequency>
     <location>Salford, United Kingdom</location>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]