[girl] GIRL version 1.6.0



commit b220f225d8c1b3064b61970f72fcd530bd6eafc1
Author: Ole Aamot <oka oka no>
Date:   Sat Mar 7 03:40:07 2015 +0100

    GIRL version 1.6.0

 ChangeLog           |    8 +++
 Makefile.am         |    2 +
 NEWS                |   11 ++++
 configure           |   20 ++++----
 configure.ac        |    2 +-
 debian/changelog    |    4 +-
 girl.spec.in        |   54 +++++++++++--------
 src/Makefile.am     |    4 +-
 src/Makefile.in     |    4 +-
 src/girl-gui.c      |   64 +++++++++++-----------
 src/girl-listener.c |    4 +-
 src/girl-listener.h |    2 +-
 src/girl-program.c  |    4 +-
 src/girl-program.h  |    2 +-
 src/girl-station.c  |   17 +++++-
 src/girl-station.h  |    4 +-
 src/girl.c          |  151 +++++++++++++++++++++++++++++++++++----------------
 src/girl.h          |    6 +-
 src/girl.xml        |  122 +++++++++++++++++++++++-------------------
 19 files changed, 297 insertions(+), 188 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 557d610..9dcefc7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2015-03-07  Ole Aamot  <ole src gnome org>
+
+       * NEWS: girl version 1.6.0 release
+       * src/girl.xml: Add KXSC (kxsc.org)
+       * src/girl.xml: Add KASC (blazeradioonline.com)
+       * src/girl.xml: Add WPTS (wptsradio.org)
+       * src/girl.xml: Add WTBU (wtburadio.org)
+
 2015-02-28  Ole Aamot  <ole src gnome org>
 
        * NEWS: girl version 1.5.0 release
diff --git a/Makefile.am b/Makefile.am
index 4864846..9b613a9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,9 +21,11 @@ EXTRA_DIST = config.rpath m4/ChangeLog  \
        NEWS-1.3 \
        NEWS-1.4 \
        NEWS-1.5 \
+       NEWS-1.6 \
        README \
        THANKS \
        TODO \
+       VERSION \
        YP-DIRS \
        girl.spec.in
 
diff --git a/NEWS b/NEWS
index 255fd30..80b40eb 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,15 @@
 =============
+Version 1.6.0
+=============
+
+Stations
+
+       * src/girl.xml: Add KXSC (kxsc.org)
+       * src/girl.xml: Add KASC (blazeradioonline.com)
+       * src/girl.xml: Add WPTS (wptsradio.org)
+       * src/girl.xml: Add WTBU (wtburadio.org)
+
+=============
 Version 1.5.0
 =============
 
diff --git a/configure b/configure
index b9a6c43..1d3e20e 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 1.5.0.
+# Generated by GNU Autoconf 2.69 for girl 1.6.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='1.5.0'
-PACKAGE_STRING='girl 1.5.0'
+PACKAGE_VERSION='1.6.0'
+PACKAGE_STRING='girl 1.6.0'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1329,7 +1329,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 1.5.0 to adapt to many kinds of systems.
+\`configure' configures girl 1.6.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1395,7 +1395,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of girl 1.5.0:";;
+     short | recursive ) echo "Configuration of girl 1.6.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1499,7 +1499,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-girl configure 1.5.0
+girl configure 1.6.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1864,7 +1864,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 1.5.0, which was
+It was created by girl $as_me 1.6.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2727,7 +2727,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='girl'
- VERSION='1.5.0'
+ VERSION='1.6.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -6706,7 +6706,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 1.5.0, which was
+This file was extended by girl $as_me 1.6.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6772,7 +6772,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 1.5.0
+girl config.status 1.6.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 4498d94..db117fd 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, 1.5.0)
+AC_INIT(girl, 1.6.0)
 AM_INIT_AUTOMAKE([no-dist-gzip dist-xz])
 AC_CONFIG_SRCDIR([src/girl.c])
 AC_CONFIG_HEADER([config.h])
diff --git a/debian/changelog b/debian/changelog
index 5ca5069..c430fc0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,8 @@
-girl (1.5.0-1) unstable; urgency=medium
+girl (1.6.0-1) unstable; urgency=medium
 
   * New upstream release
 
- -- Ole Aamot <ole src gnome org>  Sat, 28 Feb 2015 22:27:20 +0000
+ -- Ole Aamot <ole src gnome org>  Sat, 07 Mar 2015 02:31:07 +0000
 
 girl (1.2.0-1) unstable; urgency=medium
 
diff --git a/girl.spec.in b/girl.spec.in
index 515feb8..abe66a3 100644
--- a/girl.spec.in
+++ b/girl.spec.in
@@ -6,9 +6,16 @@ License: GPLv2+
 URL: http://girl.software/
 Group: Applications/Internet
 Source: http://girl.software/@PACKAGE -@VERSION  tar xz
+BuildRequires: gtk2-devel
+BuildRequires: libgnome-devel
+BuildRequires: libxml2-devel
+BuildRequires: gnome-vfs2-devel
+BuildRequires: libgnomeui-devel
+BuildRequires: intltool
+BuildRequires: libappstream-glib
+BuildRequires: desktop-file-utils
 Requires: totem >= 3.10.1
 Requires: streamripper >= 1.64.6
-BuildRequires: gtk2-devel libgnome-devel libxml2-devel gnome-vfs2-devel libgnomeui-devel intltool 
libappstream-glib desktop-file-utils
 
 %description
 GIRL is a GNOME Internet Radio Locator program that allows the user
@@ -23,31 +30,18 @@ Enjoy Internet Radio.
 
 %prep
 %setup -q
+
 %build
 %configure --with-recording --disable-silent-rules
+
 %install
 %make_install
 %find_lang %{name} --with-man
+
 %check
 appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/girl.appdata.xml
 desktop-file-validate %{buildroot}/%{_datadir}/applications/girl.desktop
 
-%files -f %{name}.lang
-%doc AUTHORS COPYING LETTER NEWS README TODO YP-DIRS
-%{_bindir}/girl
-%{_datadir}/girl/
-%{_datadir}/appdata/girl.appdata.xml
-%{_datadir}/applications/girl.desktop
-%{_datadir}/icons/hicolor/16x16/apps/girl.png
-%{_datadir}/icons/hicolor/22x22/apps/girl.png
-%{_datadir}/icons/hicolor/24x24/apps/girl.png
-%{_datadir}/icons/hicolor/32x32/apps/girl.png
-%{_datadir}/icons/hicolor/48x48/apps/girl.png
-%{_datadir}/icons/hicolor/256x256/apps/girl.png
-%{_datadir}/icons/hicolor/512x512/apps/girl.png
-%{_datadir}/icons/hicolor/1024x1024/
-%{_mandir}/man1/girl.1*
-
 %post
 /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
 /usr/bin/update-desktop-database &> /dev/null || :
@@ -62,21 +56,37 @@ fi
 %posttrans
 /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 
+%files -f %{name}.lang
+%doc AUTHORS LETTER NEWS README TODO VERSION YP-DIRS
+%license COPYING
+%{_bindir}/%{name}
+%{_datadir}/%{name}/
+%{_datadir}/appdata/%{name}.appdata.xml
+%{_datadir}/applications/%{name}.desktop
+%{_datadir}/icons/hicolor/*/apps/%{name}.png
+%{_mandir}/man1/%{name}.1*
+
 %changelog
+* Sat Mar 07 2015 Ole Aamot - 1.6.0-1.fc21
+- Girl 1.6.0 build on Fedora Linux 21
+
+* Sun Mar 01 2015 Ole Aamot - 1.5.1-1.fc21
+- Cleanup spec file with help from Martin Gansser
+
 * Sat Feb 28 2015 Ole Aamot - 1.5.0-1.fc21
-- Girl 1.5.0 build on Fedora Linux 22
+- Girl 1.5.0 build on Fedora Linux 21
 
 * Sat Feb 21 2015 Ole Aamot - 1.4.0-1.fc21
-- Girl 1.4.0 build on Fedora Linux 22
+- Girl 1.4.0 build on Fedora Linux 21
 
 * Sat Feb 14 2015 Ole Aamot - 1.3.0-1.fc21
-- Girl 1.3.0 build on Fedora Linux 22
+- Girl 1.3.0 build on Fedora Linux 21
 
 * Fri Jan 23 2015 Ole Aamot - 1.2.0-1.fc21
-- Girl 1.2.0 build on Fedora Linux 22
+- Girl 1.2.0 build on Fedora Linux 21
 
 * Sun Jan 18 2015 Ole Aamot - 1.1.1-1.fc21
-- Girl 1.1.1 build on Fedora Linux 22
+- Girl 1.1.1 build on Fedora Linux 21
 
 * Sat Jan 17 2015 Ole Aamot - 1.1.0-1
 - Girl 1.1.0 build on Fedora Linux 21
diff --git a/src/Makefile.am b/src/Makefile.am
index e171c72..18a446b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -23,6 +23,6 @@ girl_CFLAGS  = $(GIRL_CFLAGS) \
 girl_LDADD = $(GIRL_LIBS)
 
 girldir = $(datadir)/girl
-girl_DATA = girl-1.0.dtd girl-logo.png girl.png girl.xml
+girl_DATA = girl-1.6.dtd girl-logo.png girl.png girl.xml
 
-EXTRA_DIST = girl.h girl-station.h girl-gui.h girl-listener.h girl-program.h girl-runners.h girl-streams.h 
girl-canvas.h girl-1.0.dtd girl-logo.png girl.png girl.xml
+EXTRA_DIST = girl.h girl-station.h girl-gui.h girl-listener.h girl-program.h girl-runners.h girl-streams.h 
girl-canvas.h girl-1.6.dtd girl-logo.png girl.png girl.xml
diff --git a/src/Makefile.in b/src/Makefile.in
index 9c581a3..288cfc6 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -336,8 +336,8 @@ girl_CFLAGS = $(GIRL_CFLAGS) \
 
 girl_LDADD = $(GIRL_LIBS)
 girldir = $(datadir)/girl
-girl_DATA = girl-1.0.dtd girl-logo.png girl.png girl.xml
-EXTRA_DIST = girl.h girl-station.h girl-gui.h girl-listener.h girl-program.h girl-runners.h girl-streams.h 
girl-canvas.h girl-1.0.dtd girl-logo.png girl.png girl.xml
+girl_DATA = girl-1.6.dtd girl-logo.png girl.png girl.xml
+EXTRA_DIST = girl.h girl-station.h girl-gui.h girl-listener.h girl-program.h girl-runners.h girl-streams.h 
girl-canvas.h girl-1.6.dtd girl-logo.png girl.png girl.xml
 all: all-am
 
 .SUFFIXES:
diff --git a/src/girl-gui.c b/src/girl-gui.c
index 8d5973b..a4c445f 100644
--- a/src/girl-gui.c
+++ b/src/girl-gui.c
@@ -51,14 +51,14 @@
 extern GtkWidget *girl_app;
 
 GnomeUIInfo toolbar[] = {
-       GNOMEUIINFO_ITEM_STOCK(N_("Search"), N_("Search by location for radio stations"),
-                              on_search_button_clicked,
-                              GTK_STOCK_FIND),
-       GNOMEUIINFO_SEPARATOR,  
        GNOMEUIINFO_ITEM_STOCK(N_("Stations"), N_("Internet Radio Stations"),
                               on_stations_selector_button_clicked,
                               GTK_STOCK_NETWORK),
        GNOMEUIINFO_SEPARATOR,  
+       GNOMEUIINFO_ITEM_STOCK(N_("Search"), N_("Search by location for radio stations"),
+                              on_search_button_clicked,
+                              GTK_STOCK_FIND),
+       GNOMEUIINFO_SEPARATOR,
        GNOMEUIINFO_ITEM_STOCK(N_("Listen"), N_("Listen to selected radio station"),
                               on_listen_button_clicked,
                               GTK_STOCK_MEDIA_PLAY),
@@ -109,7 +109,7 @@ GtkWidget *create_listeners_selector(char *selected_listener_uri,
        GtkWidget *listeners_selector;
        GtkWidget *align, *menu, *drop_down, *item;
 
-       gchar *listener_uri, *listener_name, *listener_location, *listener_release, *listener_description;
+       gchar *listener_uri, *listener_name, *listener_location, *listener_band, *listener_description;
        gchar *label, *world_listener_xml_uri,
            *local_listener_xml_file;
 
@@ -174,7 +174,7 @@ GtkWidget *create_listeners_selector(char *selected_listener_uri,
                listener_name = g_strdup(listenerinfo->name);
                listener_location = g_strdup(listenerinfo->location);
                listener_description = g_strdup(listenerinfo->description);
-               listener_release = g_strdup(listenerinfo->release);
+               listener_band = g_strdup(listenerinfo->band);
 
                /* girl_listeners = g_list_append(girl_listeners,(GirlListenerInfo *)listenerinfo); */
 
@@ -193,8 +193,8 @@ GtkWidget *create_listeners_selector(char *selected_listener_uri,
                                          "listener_location",
                                          (gpointer) listener_location);
                        g_object_set_data(G_OBJECT(item),
-                                         "listener_release",
-                                         (gpointer) listener_release);
+                                         "listener_band",
+                                         (gpointer) listener_band);
                        g_object_set_data(G_OBJECT(item),
                                          "listener_description",
                                          (gpointer) listener_description);
@@ -248,7 +248,7 @@ GtkWidget *create_programs_selector(char *selected_program_uri,
        GtkWidget *programs_selector;
        GtkWidget *align, *menu, *drop_down, *item;
 
-       gchar *program_uri, *program_name, *program_location, *program_release, *program_description;
+       gchar *program_uri, *program_name, *program_location, *program_band, *program_description;
        gchar *label, *world_program_xml_filename, *local_program_xml_file;
 
        int i = 0, selection = -1;
@@ -314,7 +314,7 @@ GtkWidget *create_programs_selector(char *selected_program_uri,
                program_uri = g_strdup(programinfo->archive->uri);
                program_name = g_strdup(programinfo->name);
                program_location = g_strdup(programinfo->location);
-               program_release = g_strdup(programinfo->release);
+               program_band = g_strdup(programinfo->band);
                program_description = g_strdup(programinfo->description);
 
                girl_programs = g_list_append(girl_programs,(GirlProgramInfo *)programinfo);
@@ -334,8 +334,8 @@ GtkWidget *create_programs_selector(char *selected_program_uri,
                                          "program_location",
                                          (gpointer) program_location);
                        g_object_set_data(G_OBJECT(item),
-                                         "program_release",
-                                         (gpointer) program_release);
+                                         "program_band",
+                                         (gpointer) program_band);
                        g_object_set_data(G_OBJECT(item),
                                          "program_description",
                                          (gpointer) program_description);
@@ -350,7 +350,7 @@ GtkWidget *create_programs_selector(char *selected_program_uri,
                        g_free(program_uri);
                        g_free(program_name);
                        g_free(program_location);
-                       g_free(program_release);
+                       g_free(program_band);
                        g_free(program_description);
                }
                i++;
@@ -498,8 +498,8 @@ GtkWidget *create_search_selector(void) {
                                   stationinfo->description,
                                   STATION_FREQUENCY,
                                   stationinfo->frequency,
-                                  STATION_RELEASE,
-                                  stationinfo->release,
+                                  STATION_BAND,
+                                  stationinfo->band,
                                   STATION_TYPE,
                                   stationinfo->type,
                                   STATION_RANK,
@@ -527,7 +527,7 @@ GtkWidget *create_search_selector(void) {
                /* station_uri = g_strdup(stationinfo->stream->uri); */
                /* station_name = g_strdup(stationinfo->name); */
                /* station_location = g_strdup(stationinfo->location); */
-               /* station_release = g_strdup(stationinfo->release); */
+               /* station_band = g_strdup(stationinfo->band); */
                /* station_description = g_strdup(stationinfo->description); */
                /* station_website = g_strdup(stationinfo->uri); */
                
@@ -548,8 +548,8 @@ GtkWidget *create_search_selector(void) {
                                          "station_location",
                                          (gpointer) station_location);
                        g_object_set_data(G_OBJECT(item),
-                                         "station_release",
-                                         (gpointer) station_release);
+                                         "station_band",
+                                         (gpointer) station_band);
                        g_object_set_data(G_OBJECT(item),
                                          "station_description",
                                          (gpointer) station_description);
@@ -569,7 +569,7 @@ GtkWidget *create_search_selector(void) {
                        g_free(station_uri);
                        g_free(station_name);
                        g_free(station_location);
-                       g_free(station_release);
+                       g_free(station_band);
                        g_free(station_description);
                }
                i++;
@@ -600,7 +600,7 @@ GtkWidget *create_stations_selector(char *selected_station_uri,
        GtkWidget *stations_selector;
        GtkWidget *align, *menu, *drop_down, *item;
 
-       gchar *station_uri, *station_name, *station_location, *station_release, *station_description, 
*station_website;
+       gchar *station_uri, *station_name, *station_location, *station_band, *station_description, 
*station_website;
        gchar *label, *world_station_xml_filename, *local_station_xml_file;
 
        int i = 0, selection = -1;
@@ -674,7 +674,7 @@ GtkWidget *create_stations_selector(char *selected_station_uri,
                station_uri = g_strdup(stationinfo->stream->uri);
                station_name = g_strdup(stationinfo->name);
                station_location = g_strdup(stationinfo->location);
-               station_release = g_strdup(stationinfo->release);
+               station_band = g_strdup(stationinfo->band);
                station_description = g_strdup(stationinfo->description);
                station_website = g_strdup(stationinfo->uri);
                
@@ -695,8 +695,8 @@ GtkWidget *create_stations_selector(char *selected_station_uri,
                                          "station_location",
                                          (gpointer) station_location);
                        g_object_set_data(G_OBJECT(item),
-                                         "station_release",
-                                         (gpointer) station_release);
+                                         "station_band",
+                                         (gpointer) station_band);
                        g_object_set_data(G_OBJECT(item),
                                          "station_description",
                                          (gpointer) station_description);
@@ -714,7 +714,7 @@ GtkWidget *create_stations_selector(char *selected_station_uri,
                        g_free(station_uri);
                        g_free(station_name);
                        g_free(station_location);
-                       g_free(station_release);
+                       g_free(station_band);
                        g_free(station_description);
                }
                i++;
@@ -977,8 +977,8 @@ GtkWidget *create_girl_app()
            gnome_config_get_string("selected_listener_name=");
        girl->selected_listener_location =
            gnome_config_get_string("selected_listener_location=");
-       girl->selected_listener_release =
-           gnome_config_get_string("selected_listener_release=");
+       girl->selected_listener_band =
+           gnome_config_get_string("selected_listener_band=");
        girl->selected_listener_description =
            gnome_config_get_string("selected_listener_description=");
 
@@ -988,8 +988,8 @@ GtkWidget *create_girl_app()
               girl->selected_listener_name);
        GIRL_DEBUG_MSG("girl->selected_listener_location: %s\n",
               girl->selected_listener_location);
-       GIRL_DEBUG_MSG("girl->selected_listener_release: %s\n",
-              girl->selected_listener_release);
+       GIRL_DEBUG_MSG("girl->selected_listener_band: %s\n",
+              girl->selected_listener_band);
        GIRL_DEBUG_MSG("girl->selected_listener_description: %s\n",
               girl->selected_listener_description);
 
@@ -999,8 +999,8 @@ GtkWidget *create_girl_app()
            gnome_config_get_string("selected_station_name=");
        girl->selected_station_location =
            gnome_config_get_string("selected_station_location=");
-       girl->selected_station_release =
-           gnome_config_get_string("selected_station_release=");
+       girl->selected_station_band =
+           gnome_config_get_string("selected_station_band=");
        girl->selected_station_description =
            gnome_config_get_string("selected_station_description=");
 
@@ -1010,8 +1010,8 @@ GtkWidget *create_girl_app()
               girl->selected_station_name);
        GIRL_DEBUG_MSG("girl->selected_station_location: %s\n",
               girl->selected_station_location);
-       GIRL_DEBUG_MSG("girl->selected_station_release: %s\n",
-              girl->selected_station_release);
+       GIRL_DEBUG_MSG("girl->selected_station_band: %s\n",
+              girl->selected_station_band);
        GIRL_DEBUG_MSG("girl->selected_station_description: %s\n",
               girl->selected_station_description);
 
diff --git a/src/girl-listener.c b/src/girl-listener.c
index f051069..2e2b747 100644
--- a/src/girl-listener.c
+++ b/src/girl-listener.c
@@ -55,8 +55,8 @@ girl_listener_parser(GirlListenerInfo * listener, xmlDocPtr doc,
        GIRL_DEBUG_MSG("listener->location = %s\n", listener->location);
        listener->uri = (gchar *)xmlGetProp(cur, (const xmlChar *)"uri");
        GIRL_DEBUG_MSG("listener->uri = %s\n", listener->uri);
-       listener->release = (gchar *)xmlGetProp(cur, (const xmlChar *)"release");
-       GIRL_DEBUG_MSG("listener->release = %s\n", listener->release);
+       listener->band = (gchar *)xmlGetProp(cur, (const xmlChar *)"band");
+       GIRL_DEBUG_MSG("listener->band = %s\n", listener->band);
        listener->description = (gchar *)xmlGetProp(cur, (const xmlChar *)"description");
        GIRL_DEBUG_MSG("listener->description = %s\n", listener->description);
 
diff --git a/src/girl-listener.h b/src/girl-listener.h
index 132815d..2d45848 100644
--- a/src/girl-listener.h
+++ b/src/girl-listener.h
@@ -36,7 +36,7 @@ struct _GirlListenerInfo {
        gchar *name;
        gchar *pass;
        gchar *uri;
-       gchar *release;
+       gchar *band;
        gchar *description;
        GirlLocationInfo *locationinfo;
        GirlListenerInfo *next;
diff --git a/src/girl-program.c b/src/girl-program.c
index e28686e..980ac21 100644
--- a/src/girl-program.c
+++ b/src/girl-program.c
@@ -60,8 +60,8 @@ girl_program_parser(GirlProgramInfo * program, xmlDocPtr doc,
        GIRL_DEBUG_MSG("program->rank = %s\n", program->rank);
        program->type = (gchar *)xmlGetProp(cur, (const xmlChar *)"type");
        GIRL_DEBUG_MSG("program->type = %s\n", program->type);
-       program->release = (gchar *)xmlGetProp(cur, (const xmlChar *)"release");
-       GIRL_DEBUG_MSG("program->release = %s\n", program->release);
+       program->band = (gchar *)xmlGetProp(cur, (const xmlChar *)"band");
+       GIRL_DEBUG_MSG("program->band = %s\n", program->band);
 
        sub = cur->xmlChildrenNode;
 
diff --git a/src/girl-program.h b/src/girl-program.h
index 4ca32bb..7a5bc40 100644
--- a/src/girl-program.h
+++ b/src/girl-program.h
@@ -35,7 +35,7 @@ struct _GirlProgramInfo {
        gchar *name;
        gchar *rank;
        gchar *type;
-       gchar *release;
+       gchar *band;
        gchar *frequency;
        gchar *location;
        gchar *description;
diff --git a/src/girl-station.c b/src/girl-station.c
index 5970fcc..a430538 100644
--- a/src/girl-station.c
+++ b/src/girl-station.c
@@ -24,6 +24,11 @@
 #include <config.h>
 #include <stdio.h>
 #include <string.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <errno.h>
+#include <sys/resource.h>
 #include <glib.h>
 #include <gtk/gtk.h>
 #include <libxml/xmlmemory.h>
@@ -32,6 +37,8 @@
 #include <libgnomevfs/gnome-vfs.h>
 #include <libgnomevfs/gnome-vfs-application-registry.h>
 
+
+
 #include "girl.h"
 #include "girl-station.h"
 
@@ -253,7 +260,8 @@ void girl_helper_run(char *url, char *name, GirlStreamType type, GirlHelperType
                /* Add watch function to catch termination of the process. This function
                 * will clean any remnants of process. */
                g_child_watch_add( pid, (GChildWatchFunc)cb_child_watch, girl );
-               /* Create channels that will be used to read girl from pipes. */
+               /* Create channels that will be used to read girl from pipes. *
+                       
 #ifdef G_OS_WIN32
                out_ch = g_io_channel_win32_new_fd( out );
                err_ch = g_io_channel_win32_new_fd( error );
@@ -333,6 +341,9 @@ void girl_helper_run(char *url, char *name, GirlStreamType type, GirlHelperType
 
                girl->record_pid = pid;
                girl->record_status = GIRL_RECORD_TRUE;
+
+               girl_archive_new(pid, "archive.mp3");
+                               
                /* Install timeout fnction that will move the progress bar */
                girl->timeout_id = g_timeout_add(100,(GSourceFunc)cb_timeout,girl);
 /* #endif */
@@ -421,8 +432,8 @@ girl_station_parser(GirlStationInfo * station, xmlDocPtr doc,
        GIRL_DEBUG_MSG("station->rank = %s\n", station->rank);
        station->type = (gchar *)xmlGetProp(cur, (const xmlChar *)"type");
        GIRL_DEBUG_MSG("station->type = %s\n", station->type);
-       station->release = (gchar *)xmlGetProp(cur, (const xmlChar *)"release");
-       GIRL_DEBUG_MSG("station->release = %s\n", station->release);
+       station->band = (gchar *)xmlGetProp(cur, (const xmlChar *)"band");
+       GIRL_DEBUG_MSG("station->band = %s\n", station->band);
 
        sub = cur->xmlChildrenNode;
 
diff --git a/src/girl-station.h b/src/girl-station.h
index 15ea0cd..1f98bf3 100644
--- a/src/girl-station.h
+++ b/src/girl-station.h
@@ -34,7 +34,7 @@ typedef enum {
        STATION_NAME = 0,
        STATION_RANK = 7,
        STATION_TYPE = 6,
-       STATION_RELEASE = 5,
+       STATION_BAND = 5,
        STATION_FREQUENCY = 4,
        STATION_LOCATION = 1,
        STATION_DESCRIPTION = 3,
@@ -49,7 +49,7 @@ struct _GirlStationInfo {
        gchar *name;
        gchar *rank;
        gchar *type;
-       gchar *release;
+       gchar *band;
        gchar *frequency;
        gchar *location;
        gchar *description;
diff --git a/src/girl.c b/src/girl.c
index d2b308e..8d36582 100644
--- a/src/girl.c
+++ b/src/girl.c
@@ -30,20 +30,25 @@
 
 #include <stdlib.h>
 #include <string.h>
+#include <fcntl.h>
 
 #include "girl.h"
 #include "girl-gui.h"
 #include "girl-listener.h"
 #include "girl-station.h"
+#include "girl-program.h"
 
 GirlData *girl;
 
+GList *girl_archivers;
 GList *girl_listeners;
 GList *girl_programs;
 GList *girl_stations;
 GList *girl_streams;
 
+
 GtkWidget *girl_app;
+GtkWidget *archivers_selector = NULL;
 GtkWidget *listeners_selector = NULL;
 GtkWidget *programs_selector = NULL;
 GtkWidget *stations_selector = NULL;
@@ -161,7 +166,7 @@ void on_previous_station_click(GtkWidget * a, gpointer user_data)
                girl->selected_station_uri = station->stream->uri;
                girl->selected_station_name = station->name;
                girl->selected_station_location = station->location;
-               girl->selected_station_release = station->release;
+               girl->selected_station_band = station->band;
                girl->selected_station_description = station->description;
                GIRL_DEBUG_MSG("on_station_select_changed: %s\n",
                               girl->selected_station_uri);
@@ -172,9 +177,9 @@ void on_previous_station_click(GtkWidget * a, gpointer user_data)
                girl->selected_station_location = station->location;
                GIRL_DEBUG_MSG("on_station_select_changed: %s\n",
                               girl->selected_station_location);
-               girl->selected_station_release = station->release;
+               girl->selected_station_band = station->band;
                GIRL_DEBUG_MSG("on_station_select_changed: %s\n",
-                              girl->selected_station_release);
+                              girl->selected_station_band);
                girl->selected_station_description = station->description;
                GIRL_DEBUG_MSG("on_station_select_changed: %s\n",
                               girl->selected_station_description);
@@ -182,7 +187,7 @@ void on_previous_station_click(GtkWidget * a, gpointer user_data)
                                girl->selected_station_name,
                                girl->selected_station_location,
                                girl->selected_station_uri,
-                               girl->selected_station_release);
+                               girl->selected_station_band);
                girl_helper_run(girl->selected_station_uri,
                                girl->selected_station_name,
                                GIRL_STREAM_SHOUTCAST,
@@ -227,10 +232,10 @@ void on_next_station_click(GtkWidget * a, gpointer user_data)
                        GIRL_DEBUG_MSG("on_station_select_changed: %s\n",
                            girl->selected_station_location);
 
-                       girl->selected_station_release = station->release;
+                       girl->selected_station_band = station->band;
 
                        GIRL_DEBUG_MSG("on_station_select_changed: %s\n",
-                           girl->selected_station_release);
+                           girl->selected_station_band);
 
                        girl->selected_station_description = station->description;
 
@@ -241,7 +246,7 @@ void on_next_station_click(GtkWidget * a, gpointer user_data)
                                        girl->selected_station_name,
                                        girl->selected_station_location,
                                        girl->selected_station_uri,
-                                       girl->selected_station_release);
+                                       girl->selected_station_band);
                        
                        girl_helper_run(station->stream->uri,
                                        station->name,
@@ -280,10 +285,10 @@ void on_listeners_selector_changed(GtkWidget * a, gpointer user_data)
        GIRL_DEBUG_MSG("on_listener_select_changed: %s\n",
            girl->selected_listener_location);
 
-       girl->selected_listener_release =
-           g_strdup(g_object_get_data(G_OBJECT(a), "listener_release"));
+       girl->selected_listener_band =
+           g_strdup(g_object_get_data(G_OBJECT(a), "listener_band"));
        GIRL_DEBUG_MSG("on_listener_select_changed: %s\n",
-           girl->selected_listener_release);
+           girl->selected_listener_band);
 
        girl->selected_listener_description =
            g_strdup(g_object_get_data(G_OBJECT(a), "listener_description"));
@@ -294,7 +299,7 @@ void on_listeners_selector_changed(GtkWidget * a, gpointer user_data)
                        girl->selected_listener_name,
                        girl->selected_listener_location,
                        girl->selected_listener_uri,
-                       girl->selected_listener_release);
+                       girl->selected_listener_band);
 
        girl_helper_run(girl->selected_listener_uri,
                        girl->selected_listener_name,
@@ -328,10 +333,10 @@ void on_programs_selector_changed(GtkWidget * a, gpointer user_data)
        GIRL_DEBUG_MSG("on_program_select_changed: %s\n",
            girl->selected_program_location);
 
-       girl->selected_program_release =
-           g_strdup(g_object_get_data(G_OBJECT(a), "program_release"));
+       girl->selected_program_band =
+           g_strdup(g_object_get_data(G_OBJECT(a), "program_band"));
        GIRL_DEBUG_MSG("on_program_select_changed: %s\n",
-           girl->selected_program_release);
+           girl->selected_program_band);
 
        girl->selected_program_description =
            g_strdup(g_object_get_data(G_OBJECT(a), "program_description"));
@@ -342,7 +347,7 @@ void on_programs_selector_changed(GtkWidget * a, gpointer user_data)
                        girl->selected_program_name,
                        girl->selected_program_location,
                        girl->selected_program_uri,
-                       girl->selected_program_release);
+                       girl->selected_program_band);
 
        girl_helper_run(girl->selected_program_uri,
                        girl->selected_program_name,
@@ -375,10 +380,10 @@ void on_stations_selector_changed(GtkWidget * a, gpointer user_data)
        GIRL_DEBUG_MSG("on_station_select_changed: %s\n",
            girl->selected_station_location);
 
-       girl->selected_station_release =
-           g_strdup(g_object_get_data(G_OBJECT(a), "station_release"));
+       girl->selected_station_band =
+           g_strdup(g_object_get_data(G_OBJECT(a), "station_band"));
        GIRL_DEBUG_MSG("on_station_select_changed: %s\n",
-           girl->selected_station_release);
+           girl->selected_station_band);
 
        girl->selected_station_description =
            g_strdup(g_object_get_data(G_OBJECT(a), "station_description"));
@@ -389,7 +394,7 @@ void on_stations_selector_changed(GtkWidget * a, gpointer user_data)
                        girl->selected_station_name,
                        girl->selected_station_location,
                        girl->selected_station_uri,
-                       girl->selected_station_release);
+                       girl->selected_station_band);
 
        girl_helper_run(girl->selected_station_uri,
                        girl->selected_station_name,
@@ -452,16 +457,16 @@ void quit_app(GtkWidget * a, gpointer user_data)
                                girl->selected_listener_name);
        gnome_config_set_string("selected_listener_location",
                                girl->selected_listener_location);
-       gnome_config_set_string("selected_listener_release",
-                               girl->selected_listener_release);
+       gnome_config_set_string("selected_listener_band",
+                               girl->selected_listener_band);
        gnome_config_set_string("selected_station_uri",
                                girl->selected_station_uri);
        gnome_config_set_string("selected_station_name",
                                girl->selected_station_name);
        gnome_config_set_string("selected_station_location",
                                girl->selected_station_location);
-       gnome_config_set_string("selected_station_release",
-                               girl->selected_station_release);
+       gnome_config_set_string("selected_station_band",
+                               girl->selected_station_band);
        gnome_config_set_string("selected_station_description",
                                girl->selected_station_description);
        gnome_config_set_string("selected_streams_uri",
@@ -560,7 +565,7 @@ void about_listener(GtkWidget * a, gpointer user_data)
        }
 
        about_listener = gnome_about_new(girl->selected_listener_name,
-                                       girl->selected_listener_release,
+                                       girl->selected_listener_band,
                                        girl->selected_listener_location,
                                        girl->selected_listener_description,
                                        authors,
@@ -591,7 +596,7 @@ void about_program(GtkWidget * a, gpointer user_data)
 
        if (girl->selected_program_name != NULL) {
                about_program = gnome_about_new(girl->selected_program_name,
-                                               girl->selected_program_release,
+                                               girl->selected_program_band,
                                                girl->selected_program_location,
                                                girl->selected_program_description,
                                                authors,
@@ -623,7 +628,7 @@ void about_station(GtkWidget * a, gpointer user_data)
        }
 
        about_station = gnome_about_new(girl->selected_station_name,
-                                       girl->selected_station_release,
+                                       girl->selected_station_band,
                                        girl->selected_station_location,
                                        girl->selected_station_description,
                                        authors,
@@ -692,7 +697,7 @@ void on_listen_button_clicked(GtkWidget *a, gpointer user_data)
                        girl->selected_station_name,
                        girl->selected_station_location,
                        girl->selected_station_uri,
-                       girl->selected_station_release);
+                       girl->selected_station_band);
 
        girl_helper_run(girl->selected_station_uri,
                        girl->selected_station_name,
@@ -714,7 +719,7 @@ void on_record_button_clicked(GtkWidget *a, gpointer user_data)
                                girl->selected_station_name,
                                girl->selected_station_location,
                                girl->selected_station_uri,
-                               girl->selected_station_release);
+                               girl->selected_station_band);
                girl_helper_run(girl->selected_station_uri,
                                girl->selected_station_name,
                                GIRL_STREAM_SHOUTCAST,
@@ -749,7 +754,7 @@ void on_stop_button_clicked(GtkWidget *a, gpointer user_data)
                                girl->selected_station_name,
                                girl->selected_station_location,
                                girl->selected_station_uri,
-                               girl->selected_station_release);
+                               girl->selected_station_band);
 
                girl->record_status = GIRL_RECORD_FALSE;
                
@@ -763,7 +768,7 @@ void on_stop_button_clicked(GtkWidget *a, gpointer user_data)
                                        girl->selected_station_name,
                                        girl->selected_station_location,
                                        girl->selected_station_uri,
-                                       girl->selected_station_release);
+                                       girl->selected_station_band);
                        
                        girl->player_status = GIRL_PLAYER_FALSE;
 
@@ -773,7 +778,7 @@ void on_stop_button_clicked(GtkWidget *a, gpointer user_data)
                                        girl->selected_station_name,
                                        girl->selected_station_location,
                                        girl->selected_station_uri,
-                                       girl->selected_station_release);
+                                       girl->selected_station_band);
                        
                }
        }
@@ -814,28 +819,78 @@ girl_archive_progress_callback(GnomeVFSXferProgressInfo * info, gpointer data)
        return TRUE;
 }
 
-GnomeVFSURI *girl_archive_new(gchar *src, gchar *dest)
+gint girl_archive_new(GPid *pid, gchar *file)
 {
-       GnomeVFSURI *src_uri, *dest_uri;
-       GnomeVFSResult result;
-       GnomeVFSXferOptions xfer_options;
+#if 0
+       const gchar *temp;
+       FILE *fh;
+       gchar *buf[64];
+       gchar *archive;
+       gchar* stat_path;
+       gchar exec_name[16];
+       struct stat *statobj = g_new(struct stat, 1);
+       
+       snprintf(buf, 64, "/proc/%i/fd", pid);
+
+       archive = g_dir_open(buf, 0, NULL);
+       printf("%s\n", g_dir_read_name (archive));
+
+       while((temp = g_dir_read_name(archive)))
+       {
+               pid = atoi(temp);
+               if (!pid)
+                       continue;
+               // /proc/{pid}/stat contains lots of juicy info
+               stat_path = g_strdup_printf("/proc/%d/stat", pid);
+               fh = fopen(stat_path, "r");
+               if (!fh)
+               {
+                       g_free(stat_path);
+                       continue;
+               }
+               pid = fscanf(fh, "%*d (%15[^)]", exec_name);
+               fclose(fh);
+               if (!g_str_equal(exec_name, "streamripper"))
+               {
+                       g_free(stat_path);
+                       continue;
+               }
+               //get uid/owner of stat file by using fstat()
+               g_stat(stat_path, statobj);
+               g_free(stat_path);
+               //compare uid/owner of stat file (in g_stat->st_uid) to getuid();
+               if (statobj->st_uid == getuid())
+               {
+                       //this copy of streamripper was started by us
+                       g_dir_close(archive);
+                       g_free(statobj);
+                       return TRUE;
+               }
+       }
+       
+       g_dir_close(archive);
 
-       xfer_options = GNOME_VFS_XFER_DEFAULT;
+       /* GnomeVFSURI *src_uri, *dest_uri; */
+       /* GnomeVFSResult result; */
+       /* GnomeVFSXferOptions xfer_options; */
 
-       src_uri = gnome_vfs_uri_new(src);
-       dest_uri = gnome_vfs_uri_new(dest);
+       /* xfer_options = GNOME_VFS_XFER_DEFAULT; */
 
-       result = gnome_vfs_xfer_uri(src_uri,
-                                   dest_uri,
-                                   xfer_options,
-                                   GNOME_VFS_XFER_ERROR_MODE_QUERY,
-                                   GNOME_VFS_XFER_OVERWRITE_MODE_REPLACE,
-                                   girl_archive_progress_callback, src);
+       /* src_uri = gnome_vfs_uri_new(src); */
+       /* dest_uri = gnome_vfs_uri_new(dest); */
 
-       gnome_vfs_uri_unref(src_uri);
+       /* result = gnome_vfs_xfer_uri(src_uri, */
+       /*                          dest_uri, */
+       /*                          xfer_options, */
+       /*                          GNOME_VFS_XFER_ERROR_MODE_QUERY, */
+       /*                          GNOME_VFS_XFER_OVERWRITE_MODE_REPLACE, */
+       /*                          girl_archive_progress_callback, src); */
 
-       if (result != GNOME_VFS_OK)
-               return NULL;
+       /* gnome_vfs_uri_unref(src_uri); */
 
-       return dest_uri;
+       /* if (result != GNOME_VFS_OK) */
+       /*      return NULL; */
+
+       /* return dest_uri; */
+#endif
 }
diff --git a/src/girl.h b/src/girl.h
index a1c340d..817486f 100644
--- a/src/girl.h
+++ b/src/girl.h
@@ -103,13 +103,13 @@ struct _GirlData {
        gchar *selected_listener_uri;
        gchar *selected_listener_name;
        gchar *selected_listener_location;
-       gchar *selected_listener_release;
+       gchar *selected_listener_band;
        gchar *selected_listener_description;
        GirlProgramInfo *selected_program;
        gchar *selected_program_uri;
        gchar *selected_program_name;
        gchar *selected_program_location;
-       gchar *selected_program_release;
+       gchar *selected_program_band;
        gchar *selected_program_description;
        GirlRunnersInfo *selected_runners;
        gint timeout_id;
@@ -118,7 +118,7 @@ struct _GirlData {
        gchar *selected_station_uri;
        gchar *selected_station_name;
        gchar *selected_station_location;
-       gchar *selected_station_release;
+       gchar *selected_station_band;
        gchar *selected_station_description;
        gchar *selected_station_website;
        gint selected_bitrate;
diff --git a/src/girl.xml b/src/girl.xml
index ded728a..d7b7500 100644
--- a/src/girl.xml
+++ b/src/girl.xml
@@ -1,8 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml-stylesheet type="text/xsl" href="http://www.ping.uio.no/~oka/src/girl/girl.xsl"; ?>
-<!DOCTYPE girl SYSTEM "girl-1.0.dtd">
-<girl version="1.5">
-  <station id="wpts" name="WPTS" rank="1.0" type="edu" release="92.1">
+<!DOCTYPE girl SYSTEM "girl-1.6.dtd">
+<girl version="1.6">
+  <station band="1560AM" id="kxsc" lang="en" name="KXSC" rank="1.0" type="edu">
+    <frequency uri="http://kxsc.org/";>1560 AM in Los Angeles, CA</frequency>
+    <location>Los Angeles, CA</location>
+    <description>KXSC Radio (formerly KSCR) is the 100% student-run radio station of the University of 
Southern California; we are volunteer, non-profit, donation funded and we provide the USC community with 
original radio programming 24 hours a day.
+    
+    KXSC traces its roots to the original KUSC, which was operated by students starting in 1946. KUSC 
transitioned to classical programming and moved off-campus in the mid-1970s, but students still demanded a 
broadcast voice. So on April 2, 1975, a dozen students gathered in a converted production studio to start 
KSCR, a radio station run by and for students.
+
+    KXSC has undergone yet another revolution with our new home in the Ronald Tutor Campus Center, but our 
approach to radio is still the same: All-student run music, sports and news broadcasts that encourage 
diversity and a student-centric approach.
+    </description>
+    <stream mime="audio/mpeg" uri="http://kxsc.org/s/kxsc.m3u"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
+    <uri>http://www.kxsc.org/</uri>
+  </station>
+  <station band="92.1FM" id="wpts" lang="en" name="WPTS" rank="1.0" type="edu">
     <frequency uri="http://wptsradio.org/";>92.1 FM in Pittsburgh, PA</frequency>
     <location>Pittsburgh, PA</location>
     <description>
@@ -13,7 +25,7 @@
     <stream mime="audio/mpeg" uri="http://audio.wpts.pitt.edu:8000/wpts_live_96s.mp3"; codec="MPEG 1 Audio, 
Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="96 kbps" />
     <stream mime="audio/mpeg" uri="http://audio.wpts.pitt.edu:8000/wpts_live_48s.mp3"; codec="MPEG 1 Audio, 
Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="48 kbps" />
   </station>
-  <station id="wtbu" name="WTBU" rank="1.0" type="edu" release="1330">
+  <station band="1330AM" id="wtbu" lang="en" name="WTBU" rank="1.0" type="edu">
     <frequency uri="http://www.wtburadio.org/";>89.3 FM in Boston, MA</frequency>
     <location>Boston, MA</location>
     <description>
@@ -21,7 +33,7 @@
     </description>
     <stream mime="audio/mpeg" uri="http://wtbu.bu.edu:1800/listen.m3u"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
   </station>
-  <station id="kasc" name="Arizona State University" rank="1.0" type="edu" release="1330">
+  <station band="1330AM" id="kasc" lang="en" name="Arizona State University" rank="1.0" type="edu">
     <frequency uri="http://www.blazeradioonline.com/";>1330 AM in Phoenix, AZ</frequency>
     <location>Phoenix, AZ</location>
     <description>
@@ -30,7 +42,7 @@
     <stream mime="audio/mpeg" uri="http://184.154.90.188:80/stream"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.blazeradioonline.com/</uri>
   </station>
-  <station id="soundfm" name="SoundFM" rank="1.0" type="edu" release="100.3">
+  <station band="100.3FM" id="soundfm" lang="en" name="SoundFM" rank="1.0" type="edu">
     <frequency uri="http://soundfm.ca/";>100.3 FM in Waterloo, Canada</frequency>
     <location>Waterloo, Canada</location>
     <description>
@@ -39,14 +51,14 @@
     <stream mime="audio/mpeg" uri="http://cast9.directhostingcenter.com:2199/tunein/soevwkmu.pls"; 
codec="MPEG 1 Audio, Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://soundfm.ca/</uri>
   </station>    
-  <station id="nrj-bern" name="Radio NRJ Bern" rank="1.0" type="edu" release="de">
+  <station band="ONLINE" id="nrj-bern" lang="en" name="Radio NRJ Bern" rank="1.0" type="edu">
     <frequency uri="http://www.energy.ch/bern/";>Internet</frequency>
     <location>Bern, Switzerland</location>
     <description>Student webradio in Zürich.</description>
     <stream mime="audio/mpeg" uri="http://energybern.ice.infomaniak.ch/energybern-high.mp3"; codec="MPEG 1 
Audio, Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.energy.ch/bern/</uri>
   </station>
-  <station id="wvau" name="WVAU" rank="1.0" type="edu" release="online">
+  <station band="ONLINE" id="wvau" lang="en" name="WVAU" rank="1.0" type="edu">
     <frequency uri="http://www.wvau.org/";>Online in Washington, DC</frequency>
     <location>Washington, DC</location>
     <description>WVAU is American University's student radio station. We broadcast online 24/7 from the Mary 
Graydon Center in Washington, D.C.
@@ -57,7 +69,7 @@
     <stream mime="audio/mpeg" uri="http://ice8.securenetsystems.net/WVAU"; codec="MPEG 1 Audio, Layer 3 
(MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.wvau.org/</uri>
   </station>
-  <station id="kcsn" name="KCSN" rank="1.0" type="edu" release="88.5">
+  <station band="88.5FM" id="kcsn" name="KCSN" rank="1.0" type="edu">
     <frequency uri="http://www.kcsn.org/";>88.5 FM in Los Angeles, CA</frequency>
     <location>Los Angeles, CA</location>
     <description>KCSN is commercial free, public radio that relies heavily on donor 
contributions.</description>
@@ -66,42 +78,42 @@
     <stream mime="audio/mpeg" uri="http://130.166.82.184:8004/listen.pls"; codec="MPEG 1 Audio, Layer 3 
(MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="32 kbps" />    
     <uri>http://www.kcsn.org/</uri>
   </station>
-  <station id="kvrx" name="KVRX" rank="1.0" type="edu" release="91.7">
+  <station band="91.7FM" id="kvrx" name="KVRX" rank="1.0" type="edu">
     <frequency uri="http://www.kvrx.org/";>91.7 FM in Austin, TX</frequency>
     <location>Austin, TX</location>
     <description>KVRX is the student-run radio station at the University of Texas in Austin. We solemnly 
swear to play "none of the hits, all of the time" to bring you the best music that you didn't know you loved, 
or remind you of your favorite songs that you won't hear anywhere else. We share our frequency, 91.7FM, with 
KOOP radio, another great community station, and we're on the air from 7PM to 9AM on weekdays and from 10PM 
to 9AM on weekends.</description>
     <stream mime="audio/mpeg" uri="http://tstv-stream.tsm.utexas.edu:8000/kvrx_livestream"; codec="MPEG 1 
Audio, Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.kvrx.org/</uri>
   </station>
-  <station id="ksub" name="KSUB" rank="1.0" type="edu" release="online">
+  <station band="ONLINE" id="ksub" name="KSUB" rank="1.0" type="edu">
     <frequency uri="http://www.ksubseattle.org/";>Online in Seattle, WA</frequency>
     <location>Seattle, WA</location>        
     <description>We are one of the last college radio stations in the Seattle area actually run by students. 
Our DJ's are current students and beloved alumni (and even some faculty), and because we are non-commercial, 
we are free from mainstream radio constraints. Each individual DJ has near complete control of what he or she 
plays on the air, giving KSUB a rich musical diversity.</description>
     <stream mime="audio/mpeg" uri="http://lin1.san.fast-serv.com:6014"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.ksubseattle.org/</uri>
   </station>
-  <station id="wrvu" name="WRVU" rank="1.0" type="edu" release="online">
+  <station band="ONLINE" id="wrvu" name="WRVU" rank="1.0" type="edu">
     <frequency uri="http://wrvu.org/";>Online in Nashville, TN</frequency>
     <location>Nashville, TN</location>    
     <description>WRVU is a free-format college radio station committed to providing Vanderbilt University 
and the surrounding community with the best in new, non-mainstream music. WRVU is student-run and focuses on 
teaching Vanderbilt students the ins and outs of radio broadcasting, playing music you can’t hear anywhere 
else.</description>
     <stream mime="audio/mpeg" uri="http://129.59.202.68:8200/listen.pls"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://wrvu.org/</uri>
   </station>
-  <station id="whpk" name="WHPK" rank="1.0" type="edu" release="88.5">
+  <station band="88.5FM" id="whpk" name="WHPK" rank="1.0" type="edu">
     <frequency uri="http://www.whpk.org/";>88.5 FM in Chicago, IL</frequency>
     <location>Chicago, IL</location>
     <description>WHPK a non-profit community radio station of the University of Chicago, broadcasting to 
Hyde Park and the South Side of Chicago for over 50 years.</description>
     <stream mime="audio/mpeg" uri="http://www.whpk.org/stream/mp3.m3u"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://whpk.org/</uri>
   </station>
-  <station id="wnyo" name="WNYO" rank="1.0" type="edu" release="88.9">
+  <station band="88.9FM" id="wnyo" name="WNYO" rank="1.0" type="edu">
     <frequency uri="http://www.wnyo889.org/";>88.9 FM in Oswego, NY</frequency>
     <location>Oswego, NY</location>
     <description>WNYO is an FCC regulated student ran radio station at SUNY Oswego. It is located on the 
SUNY Oswego campus, inside The Point in the Marano Campus Center. WNYO is also recognized on campus as a 
student organization. The radio station produces multiple concert events each year through the Indie Series, 
Artswego and Lifestyles. The sports department at WNYO broadcasts live campus athletics including home and 
away games.</description>
     <stream mime="audio/ogg" uri="http://www.wnyo.org/webcast-ogg-high.m3u"; codec="Ogg Vorbis" 
samplerate="44100 Hz" channels="Stereo" bitrate="32 kbps" />
     <uri>http://www.wnyo889.org/</uri>
   </station>
-  <station id="wusb" name="WUSB" rank="1.0" type="edu" release="90.1">
+  <station band="90.1FM" id="wusb" name="WUSB" rank="1.0" type="edu">
     <frequency uri="http://www.wusb.fm/";>90.1 FM in Long Island, NY</frequency>
     <location>Long Island, NY</location>
     <description>WUSB is a 3,600 watt non-commercial station located on the campus of Stony Brook 
University. Since 1977, we have served the campus and Long Island listening communities with a diverse 
broadcast mix of music, news, public affairs, drama and sports programming. Our 24 hour a day schedule is 
made possible by a volunteer staff efforts of over 160 Stony Brook students, faculty, staff, alumni and 
community residents. Behind-the-scenes as well as on-air work, combined with a variety of nationally 
syndicated radio programs integrated into the schedule, creates the 168 hours per week of innovative and 
high-quality programming.</description>
@@ -109,21 +121,21 @@
     <stream mime="audio/mpeg" uri="http://stream.wusb.stonybrook.edu:8090/listen.pls"; codec="MPEG 1 Audio, 
Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.wusb.fm/</uri>
   </station>
-  <station id="coog" name="COOG" rank="1.0" type="edu" release="online">
+  <station band="ONLINE" id="coog" name="COOG" rank="1.0" type="edu">
     <frequency uri="http://coogradio.uh.edu/";></frequency>
     <location>Houston, TX</location>
     <description>Coog Radio is an online radio station operated and staffed by students from the University 
of Houston. Co-founders Conner Clifton, Markley Rogers, and Matt Womack came up with the idea in 2010, but it 
wasn’t until fall 2011 that the idea finally came to fruition. Coog Radio not only provides a creative outlet 
for fellow students to express themselves over the air, but also introduces them to the world of 
broadcasting.</description>
     <stream mime="audio/mpeg" uri="http://coogradio.uh.edu:8000/coogradio.m3u"; codec="MPEG 1 Audio, Layer 3 
(MP3)" samplerate="48000 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://coogradio.uh.edu/</uri>
   </station>
-  <station id="wvua" name="WVUA-FM" rank="1.0" type="edu" release="90.7">
+  <station band="90.7FM" id="wvua" name="WVUA-FM" rank="1.0" type="edu">
     <frequency uri="http://wvuafm.ua.edu/";></frequency>
     <location>Tuscaloosa, AL</location>
     <description>WVUA-FM is the University’s only student operated radio station. Its history dates back to 
1940 when the Department of Radio Arts began operation of an AM carrier-current station (the signal was 
transmitted to dormitories and other buildings on campus through electrical wiring). The station was known as 
BRN (the Bama Radio Network). In 1947, the signal was extended and the station became known as WABP. The 
station was operated as a commercial venture at 570 on the AM dial. During the 1950’s and 1960’s, as more 
students moved off campus, the station’s listenership dwindled.</description>
     <stream mime="audio/mpeg" uri="http://ice8.securenetsystems.net/WVUA"; codec="MPEG-4 AAC" 
samplerate="44100 Hz" channels="Stereo" bitrate="30 kbps" />
     <uri>http://wvuafm.ua.edu/</uri>
   </station>
-  <station id="ury" name="University Radio York" rank="1.0" type="edu" release="1350" lang="en">
+  <station band="1350AM" id="ury" lang="en" name="University Radio York" rank="1.0" type="edu">
     <frequency uri="http://ury.org.uk/";></frequency>
     <location>York, United Kingdom</location>
     <description>University Radio York (URY) is the student radio station for the University of York, 
broadcasting 24 hours a day during term time on 1350am across the University's Heslington Campus and 
worldwide via this website.
@@ -135,7 +147,7 @@
     <stream mime="audio/mpeg" uri="http://ury.york.ac.uk/audio/live-low.m3u"; codec="MPEG 1 Audio, Layer 3 
(MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="96 kbps" />
     <stream mime="audio/mpeg" uri="http://ury.york.ac.uk/audio/live-high.m3u"; codec="MPEG 1 Audio, Layer 3 
(MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="192 kbps" />
   </station>
-  <station id="eper" name="EPER" rank="1.0" type="edu" release="97.0" lang="en">
+  <station band="97.0FM" id="eper" lang="en" name="EPER" rank="1.0" type="edu">
     <frequency uri="http://eper.elte.hu/";></frequency>
     <location>Budapest, Hungary</location>
     <description>EPER is a non-profit small power community station in downtown Budapest. We broadcast from 
the buildings of the Eötvös Loránd University. Our staff is students and teachers of the University or of 
other institutions of higher education.</description>
@@ -144,7 +156,7 @@
     <stream mime="audio/mpeg" uri="http://radio.elte.hu:8000/live24"; codec="MPEG-2 AAC" samplerate="32000 
Hz" channels="Stereo" bitrate="24 kbps" />
     <uri>http://eper.elte.hu/</uri>
   </station>
-  <station id="burstradio" name="Burst Radio" rank="1.0" type="edu" release="" lang="en">
+  <station band="ONLINE" id="burstradio" lang="en" name="Burst Radio" rank="1.0" type="edu">
     <frequency uri="http://www.burstradio.co.uk/";></frequency>
     <location>Brighton, United Kingdom</location>
     <description>Burst aims to capture the essential essence of student life at Brighton University; distil 
it and broadcast this elixir to you.</description>
@@ -152,7 +164,7 @@
     <stream mime="audio/mpeg" uri="http://burst.brighton.ac.uk:8000/burst.mp3"; codec="MPEG 1 Audio, Layer 3 
(MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.burstradio.co.uk/</uri>
   </station>
-  <station id="fusefm" name="Fuse FM" rank="1.0" type="edu" release="" lang="en">
+  <station band="ONLINE" id="fusefm" lang="en" name="Fuse FM" rank="1.0" type="edu">
     <frequency uri="http://fusefm.co.uk/";></frequency>
     <location>Manchester, United Kingdom</location>
     <description>Fuse FM is Manchester University's student radio station. We first went on air back in 
2001, and 13 years later we now broadcast from a brand new, professional quality studio from within the 
Students' Union. We broadcast online throughout the academic year and you can listen to live shows and 
podcasts on our website. We love our new home, but we need your help to sound great on air. If you want to 
get in on the action, you'd be more than welcome! We are constantly on the look out for new talent, so if you 
fancy yourself as a music journalist, producer, DJ, news reader, or think you have what it takes to host your 
own show, Fuse FM is certainly the place for you! Not only is Fuse FM a fun organisation to be part of, but 
we can help you if you are interested in getting into the radio industry. Past Fuse FM members have gone on 
to find work at the BBC and commercial radio stations.</description>
@@ -162,14 +174,14 @@
     <stream mime="audio/ogg" uri="http://studio.fusefm.co.uk:8000/live"; codec="Ogg Vorbis" samplerate="44100 
Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://fusefm.co.uk/</uri>
   </station>
-  <station id="cjsw" name="CJSW" rank="1.0" type="edu" release="90.9" lang="en">
+  <station band="90.9FM" id="cjsw" lang="en" name="CJSW" rank="1.0" type="edu">
     <frequency uri="http://cjsw.com/";></frequency>
     <location>Calgary, Canada</location>
     <description>CJSW 90.9 FM will be celebrating 30 years of on air radio programming at the beginning of 
2015. Our goal is to provide an alternative to commercial media by recognizing and promoting the diverse 
musical styles, points of view and cultures that exist within our city. CJSW strives to provide programming 
to an audience and by programmers that are varied in their ethnicity, culture, gender, sexual orientation, 
age, and physical and mental ability. Our diverse programming includes music, arts, spoken word and 
multicultural programs.</description>
     <stream mime="audio/mpeg" uri="http://stream.cjsw.com/cjsw.mp3.m3u"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://cjsw.com/</uri>
   </station>
-  <station id="caper" name="Caper Radio" rank="1.0" type="edu" release="pending" lang="en">
+  <station band="ONLINE" id="caper" lang="en" name="Caper Radio" rank="1.0" type="edu">
     <frequency uri="http://caperradio.ca/";>Pending FM license in Sydney, Nova Scotia, Canada</frequency>
     <location>Sydney, Nova Scotia, Canada</location>
     <description>Caper Radio Incorporated is CBU's campus radio station!
@@ -182,28 +194,28 @@
     <stream mime="audio/mpeg" uri="http://142.12.32.15:8000/stream.m3u"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://caperradio.ca/</uri>
   </station>
-  <station id="wxou" name="WXOU" rank="1.0" type="edu" release="88.3" lang="en">
+  <station band="88.3FM" id="wxou" lang="en" name="WXOU" rank="1.0" type="edu">
     <frequency uri="http://wxou.org/";>88.3 FM in Rochester, MI</frequency>
     <location>Rochester, MI</location>
     <description>WXOU is a non-profit, student operated, freeform community radio station. Currently we are 
broadcasting with 110 watts of power from the campus of Oakland University. WE offer diverse programming such 
as, music, sports, news and student produced programs. Our goal is to supply the community with a service 
that provides both an educational experience to those involved with the radio station, while also providing 
information and entertainment o the rest of the community outside of Oakland’s campus.</description>
     <stream mime="audio/mpeg" uri="http://wxou.oakland.edu:8000/listen.pls"; codec="MPEG 1 Audio, Layer 3 
(MP3)" samplerate="22050 Hz" channels="Mono" bitrate="24 kbps" />
     <stream mime="audio/mpeg" uri="http://wxou.oakland.edu:8002/listen.pls"; codec="MPEG 1 Audio, Layer 3 
(MP3)" samplerate="44100 Hz" channels="Mono" bitrate="128 kbps" />
   </station>
-  <station id="wamu" name="WAMU" rank="1.0" type="edu" release="88.5" lang="en">
+  <station band="88.5FM" id="wamu" lang="en" name="WAMU" rank="1.0" type="edu">
     <frequency uri="http://wamu.org/";>88.5 FM in Washington, DC</frequency>
     <location>Washington, DC</location>
     <description>WAMU 88.5 is the leading public radio station for NPR news and information in the greater 
Washington, D.C., area. WAMU 88.5 is licensed to American University.</description>
     <stream mime="audio/mpeg" uri="http://wamu-1.streamguys.com/"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Mono" bitrate="48 kbps" />
     <uri>http://wamu.org/</uri>
   </station>
-  <station id="kdup" name="KDUP" rank="1.0" type="edu" release="1580" lang="en">
+  <station band="1580AM" id="kdup" lang="en" name="KDUP" rank="1.0" type="edu">
     <frequency uri="http://kdup.up.edu/";>1580 AM in Portland, OR</frequency>
     <location>Portland, OR</location>
     <description>University of Portland's radio station</description>
     <stream mime="audio/ogg" uri="http://icecast.up.edu:8000/mystream.ogg.m3u"; codec="Ogg Vorbis" 
samplerate="32000 Hz" channels="Stereo" bitrate="192 kbps" />
     <uri>http://kdup.up.edu/</uri>
   </station>
-  <station id="95bfm" name="95bFM" rank="1.0" type="edu" release="95.0" lang="en">
+  <station band="95.0FM" id="95bfm" lang="en" name="95bFM" rank="1.0" type="edu">
     <frequency uri="http://www.95bfm.com/";>95.0 FM in Auckland, New Zealand</frequency>
     <location>Auckland, New Zealand</location>
     <description>In 1969, Radio Bosom was born as a student's capping stunt, broadcasting illegally from a 
boat in the Waitemata Harbour. Over the next few decades the bosom morphed into the mighty 95bFM, the 
longest-standing independent radio station in New Zealand.
@@ -211,14 +223,14 @@
     <stream mime="audio/mpeg" uri="http://streams.95bfm.com/stream95"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="22050 Hz" channels="Mono" bitrate="32 kbps" />
     <uri>http://www.95bfm.com/</uri>
   </station>
-  <station id="2nurfm" name="2NURFM" rank="1.0" type="edu" release="103.7" lang="en">
+  <station band="103.7FM" id="2nurfm" lang="en" name="2NURFM" rank="1.0" type="edu">
     <frequency uri="http://www.newcastle.edu.au/community-and-alumni/arts-and-culture/2nurfm";>103.7 FM in 
Newcastle, Australia</frequency>
     <location>Newcastle, Australia</location>
     <description>Newcastle's leading 'easy listening' radio station.</description>
     <stream mime="audio/aacp" uri="http://broadcaster1.newcastle.edu.au:8000/2NURFM-aacPlus"; codec="MPEG-2 
AAC (AAC+)" samplerate="44100 Hz" channels="Stereo" bitrate="29 kbps" />
     <uri>http://www.newcastle.edu.au/community-and-alumni/arts-and-culture/2nurfm</uri>
   </station>
-  <station id="radioadelaide" name="Radio Adelaide" rank="1.0" type="edu" release="101.5" lang="en">
+  <station band="101.5FM" id="radioadelaide" lang="en" name="Radio Adelaide" rank="1.0" type="edu">
     <frequency uri="https://radio.adelaide.edu.au/";>101.5 FM in Adelaide, Australia</frequency>
     <location>Adelaide, Australia</location>
     <description>Radio Adelaide is a real radio alternative for people curious about ideas, issues and 
music. We are as diverse as the city we live in, with programs ranging from Jazz and Classical to World 
Music, arts, current affairs and more, with many shows presented by local community groups in their own 
languages.</description>
@@ -226,7 +238,7 @@
     <stream mime="audio/mpeg" uri="http://stream.radio.adelaide.edu.au:8000/radadl-64.mp3"; codec="MPEG 1 
Audio, Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="64 kbps" />
     <uri>https://radio.adelaide.edu.au/</uri>
   </station>
-  <station id="radior" name="Radio R" rank="1.0" type="edu" release="" lang="cs">
+  <station band="ONLINE" id="radior" lang="cs" name="Radio R" rank="1.0" type="edu">
     <frequency uri="http://radior.cz";>Internet</frequency>
     <location>Brno, Czech Republic</location>
     <description>Masaryk University’s student radio.</description>
@@ -235,35 +247,35 @@
     <stream mime="audio/ogg" uri="http://radior.video.muni.cz:8000/FSS_ogg-q8.ogg.m3u"; codec="Ogg Vorbis" 
samplerate="44100 Hz" channels="Stereo" bitrate="256 kbps" />
     <uri>http://www.radior.cz/</uri>
   </station>
-  <station id="radius" name="Radio Radius" rank="1.0" type="edu" release="de">
+  <station band="ONLINE" id="radius" lang="de" name="Radio Radius" rank="1.0" type="edu">
     <frequency uri="http://radioradius.ch/";>Internet</frequency>
     <location>Zürich, Switzerland</location>
     <description>Student webradio in Zürich.</description>
     <stream mime="audio/ogg" uri="http://relay.radio.ethz.ch/sender.ogg.m3u"; codec="Ogg Vorbis" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.radioradius.ch/</uri>
   </station>
-  <station id="lsrfm" name="Leeds University Student Radio FM" rank="1.0" type="edu" release="" lang="en">
+  <station band="ONLINE" id="lsrfm" lang="en" name="Leeds University Student Radio FM" rank="1.0" type="edu">
     <frequency uri="http://lsrfm.com/";>Internet</frequency>
     <location>Leeds, United Kingdom</location>
     <description></description>
     <stream mime="audio/mpeg" uri="http://soho.wavestreamer.com:6648/listen.pls?sid=1"; codec="MPEG 1 Audio, 
Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://lsrfm.com/</uri>
   </station>
-  <station id="urn" name="University Radio Nottingham" rank="1.0" type="edu" release="1350" lang="en">
+  <station band="1350AM" id="urn" lang="en" name="University Radio Nottingham" rank="1.0" type="edu">
     <frequency uri="http://urn1350.net";>1350 AM MHz in Nottingham, United Kingdom</frequency>
     <location>Nottingham, United Kingdom</location>
     <description>URN is the University of Nottingham's award winning student radio station.You can listen 
online, on 1350AM on campus or in some of the university's shops and bars.</description>
     <stream mime="audio/mpeg" uri="http://posurnl.nottingham.ac.uk:8080/urn_high.mp3"; codec="MPEG 1 Audio, 
Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://urn1350.net/</uri>
   </station>
-  <station id="kcl" name="King's College London Radio" rank="1.0" type="edu" release="" lang="en">
+  <station band="ONLINE" id="kcl" lang="en" name="King's College London Radio" rank="1.0" type="edu">
     <frequency uri="http://www.kclradio.co.uk/";>Internet</frequency>
     <location>London, United Kingdom</location>
     <description>KCL Radio is King’s College London’s award winning, student radio station, which first 
broadcast live last year. Our studio is currently located on the basement floor of the Chesham Building 
(although there are plans to relocate to a new studio in Tutu’s on the 4th floor of the Macadam Building 
during 2015).  Output ranges from music to news, chat, sport, comedy and everything in between. Live 
broadcasts also take place throughout the year for significant events on the KCLSU calendar such as the 
Student Officer Elections or the Varsity Rugby match.</description>
     <stream mime="audio/mpeg" uri="http://159.92.75.8:8080/KCLR"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.kclradio.co.uk/</uri>
   </station>
-  <station id="icradio" name="Imperial College Radio" rank="1.0" type="edu" release="" lang="en">
+  <station band="ONLINE" id="icradio" lang="en" name="Imperial College Radio" rank="1.0" type="edu">
     <frequency uri="http://icradio.com/";>1134 AM in Wye, Kent, United Kingdom</frequency>
     <location>London, United Kingdom</location>
     <description>IC Radio is among the oldest student radio stations in the country. Started in 1976, 
broadcasting on a home built AM transmitter around halls, we now broadcast all over the globe from 
icradio.com. Absolutely anyone is welcome to try their hand at presenting or producing a show; whatever your 
music taste. We also love a good speech based program, so anyone will feel at home in IC Radio. As well as 
being able to broadcast, we are lucky enough to have a brand new, fully equipped recording studio which we 
use to record bands and musicians.
@@ -272,7 +284,7 @@ Behind the scenes we rely on our fantastic technical, musical and promotional te
     <stream mime="audio/mpeg" uri="http://icecast.icradio.com:8000/live-mp3-high"; codec="MPEG 1 Audio, Layer 
3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="192 kbps" />
     <uri>http://icradio.com/</uri>
   </station>
-  <station id="ruc" name="Coimbra University Radio" rank="1.0" type="edu" release="107.9" lang="pt">
+  <station band="107.9FM" id="ruc" lang="pt" name="Coimbra University Radio" rank="1.0" type="edu">
     <frequency uri="http://www.ruc.pt/";>107.9 FM MHz in Coimbra, Portugal</frequency>
     <location>Coimbra, Portugal</location>
     <description>Coimbra University Radio (Portuguese: Rádio Universidade de Coimbra - RUC) is a university 
radio station of the Coimbra Academic Association (students' union) of the University of Coimbra in Coimbra, 
Portugal.
@@ -287,56 +299,56 @@ Behind the scenes we rely on our fantastic technical, musical and promotional te
     <stream mime="audio/mpeg" uri="http://ruc.midi-club.net:8000/;stream/1"; codec="MPEG 1 Audio, Layer 3 
(MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.ruc.pt/</uri>
   </station>
-  <station id="radiocampusbruxelles" name="Radio Campus Bruxelles" rank="1.0" type="edu" release="92.1" 
lang="nl">
+  <station band="92.1FM" id="radiocampusbruxelles" lang="nl" name="Radio Campus Bruxelles" rank="1.0" 
type="edu">
     <frequency uri="http://www.radiocampus.be/";>92.1 MHz FM in Bruxelles, Belgium</frequency>
     <location>Bruxelles, Belgium</location>
     <description>Radio Campus est née en 1980 sur le campus de l’Université Libre de Bruxelles. Avec une 
cinquantaine d’émissions, elle rassemble plus de 150 animateurs, techniciens et collaborateurs autour de 
valeurs partagées : une libre expression assumée et constructive, un attachement immodéré au tissu social 
bruxellois et un amour sans borne pour la diversité musicale et culturelle.</description>
     <stream mime="audio/ogg" uri="http://streamer.radiocampus.be:8000/stream_hi.ogg"; codec="Ogg Vorbis" 
samplerate="44100 Hz" channels="Stereo" bitrate="192 kbps" />
     <uri>http://www.radiocampus.be/</uri>
   </station>
-  <station id="radiocampusparis" name="Radio Campus Paris" rank="1.0" type="edu" release="93.9" lang="fr">
+  <station band="93.9FM" id="radiocampusparis" lang="fr" name="Radio Campus Paris" rank="1.0" type="edu">
     <frequency uri="http://www.radiocampusparis.org/";>93.9 MHz FM in Paris, France</frequency>
     <location>Paris, France</location>
     <description>Radio Campus Paris is a non-profit Student radio station. Founded in 1998 and first 
broadcast on the Internet, the radio can be listened to in Paris, France on 93.9 FM (from 5.30 p.m. to 5.30 
a.m.). Managed by volunteers (mainly students), this indie student radio focuses on emerging music and local 
and student-related news.</description>
     <stream mime="audio/mpeg" uri="http://www.radiocampusparis.org:8000/stream_rcp"; codec="MPEG 1 Audio, 
Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.radiocampusparis.org/</uri>
   </station>
-  <station id="wcsb" name="WCSB" rank="1.0" type="edu" release="89.3" lang="en">
+  <station band="89.3FM" id="wcsb" lang="en" name="WCSB" rank="1.0" type="edu">
     <frequency uri="http://wcsb.org/";>89.3 MHz FM in Cleveland, OH</frequency>
     <location>Cleveland, OH</location>
     <description>A student-operated radio station at Cleveland State University, broadcasting from northeast 
Ohio.</description>
     <stream mime="audio/mpeg" uri="http://cent7.directhostingcenter.com/tunein.php/ubtevcdv/playlist.pls"; 
codec="MPEG 1 Audio, Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://wcsb.org/</uri>
   </station>
-  <station id="pulse" name="Pulse LSE" rank="1.0" type="edu" release="87.7" lang="en">
+  <station band="87.7FM" id="pulse" lang="en" name="Pulse LSE" rank="1.0" type="edu">
     <frequency uri="http://pulselse.co.uk/";>87.7 MHz FM in London, United Kingdom</frequency>
     <location>London, United Kingdom</location>
     <description>Pulse Radio is the official radio station of the London School of Economics and Political 
Science Students’ Union. We are totally student run and are committed to bringing great radio broadcasting to 
LSE students and beyond. We hope you tune in and enjoy!</description>
     <stream mime="audio/mpeg" uri="http://s3.radioboss.fm:8223/stream"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://pulselse.co.uk/</uri>
   </station>
-  <station id="oxide" name="Oxford Student Radio" rank="1.0" type="edu" release="107.9" lang="en">
+  <station band="107.9FM" id="oxide" lang="en" name="Oxford Student Radio" rank="1.0" type="edu">
     <frequency uri="http://oxideradio.co.uk/";>107.9 MHz FM in Oxford, United Kingdom</frequency>
     <location>Oxford, United Kingdom</location>
     <description>Oxide Radio is a student radio station run by members of Oxford University in Oxford, 
England.</description>
     <stream mime="audio/mpeg" uri="http://listen.oxideradio.co.uk:8000/oxide-radio.m3u"; codec="MPEG 1 Audio, 
Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://oxideradio.co.uk/</uri>
   </station>
-  <station id="camfm" name="Cam FM" rank="1.0" type="edu" release="97.2" lang="en">
+  <station band="97.2FM" id="camfm" lang="en" name="Cam FM" rank="1.0" type="edu">
     <frequency uri="http://www.camfm.co.uk/";>97.2 MHz FM in Cambridge, United Kingdom</frequency>
     <location>Cambridge, United Kingdom</location>
     <description>Originally founded in 1979, the award-winning Cam FM is now one of the most heavily 
listened to student radio stations in the UK, as well as one of the largest student-run media organisations 
in Cambridge, covering students at both Cambridge and Anglia Ruskin Universities. We know students because we 
are students; every aspect of the station is professionally run by students, staff, and alumni of the 
Universities - presenting, producing, or running the committee. Our content is primarily geared towards 
engaging with the student community in Cambridge.</description>
     <stream mime="audio/mpeg" uri="http://stream.camfm.co.uk/camfm"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.camfm.co.uk/</uri>
   </station>
-  <station id="radiounam" name="Radio UNAM" rank="1.0" type="edu" release="96.1" lang="es">
+  <station band="96.1FM" id="radiounam" lang="es" name="Radio UNAM" rank="1.0" type="edu">
     <frequency uri="http://www.radiounam.unam.mx/";>96.1 MHz FM in México City, México</frequency>
     <location>México City, México</location>
     <description>Radio Universidad Nacional Autónoma de México</description>
     <stream mime="audio/mpeg" 
uri="http://www.radiounam.unam.mx/templates/player/reproductor/CREA_FM/listen.m3u"; codec="MPEG 1 Audio, Layer 
3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.radiounam.unam.mx/</uri>
   </station>
-  <station id="wxyc" name="WXYC" rank="1.0" type="edu" release="89.3" lang="en">
+  <station band="89.3FM" id="wxyc" lang="en" name="WXYC" rank="1.0" type="edu">
     <frequency uri="http://www.wxyc.org/";>89.3 MHz FM in Chapel Hill, NC</frequency>
     <location>Chapel Hill, NC</location>
     <description>WXYC went on the air on March 17, 1977 with Joni Mitchell's "You Turn Me on I'm a Radio."
@@ -358,7 +370,7 @@ Behind the scenes we rely on our fantastic technical, musical and promotional te
     <stream mime="audio/mpeg" uri="http://wxyc.org/files/streams/wxyc-mp3.m3u"; codec="MPEG 1 Audio, Layer 3 
(MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.wxyc.org/</uri>
   </station>
-  <station id="kalx" name="KALX" rank="1.0" type="edu" release="90.7" lang="en">
+  <station band="90.7FM" id="kalx" lang="en" name="KALX" rank="1.0" type="edu">
     <frequency uri="http://kalx.berkeley.edu/";>90.7 MHz FM in Berkeley, CA</frequency>
     <location>Berkeley, CA</location>
     <description>KALX 90.7 FM broadcasts freeform radio 24 hours a day to a large portion of the San 
Francisco Bay Area. You can catch all stripes of underground music accented with news, sports and alternative 
informational programming.
@@ -370,56 +382,56 @@ 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.m3u"; codec="MPEG 1 
Audio, Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://kalx.berkeley.edu/</uri>
   </station>
-  <station id="whrb" name="WHRB" rank="1.0" type="edu" release="95.3" lang="en">
+  <station band="95.3FM" id="whrb" lang="en" name="WHRB" rank="1.0" type="edu">
     <frequency uri="http://www.whrb.org/";>95.3 MHz FM in Boston, MA</frequency>
     <location>Boston, MA</location>
     <description>For seventy years, 95.3FM has been Boston's first source for exciting, entertaining, and 
enlightening music broadcasts. Harvard Radio's daily broadcast of Classical music, Jazz, and underground Rock 
explore a great repertoire of music left largely untouched by other commercial stations.</description>
     <stream mime="audio/mpeg" uri="http://www.whrb.org/streams/whrb.m3u"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="96 kbps" />
     <uri>http://www.whrb.org/</uri>
   </station>
-  <station id="nova" name="Radio NOVA" rank="1.0" type="edu" release="99.3" lang="nb">
+  <station band="99.3FM" id="nova" lang="nb" name="Radio NOVA" rank="1.0" type="edu">
     <frequency uri="http://radionova.no/";>99.3 MHz FM in Oslo, Norway</frequency>
     <location>Oslo, Norway</location>
     <description>Radio NOVA is the student radio of University of Oslo.</description>
     <stream mime="audio/mpeg" uri="http://stream.radionova.no/mp3.m3u"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="192 kbps" />
     <uri>http://radionova.no/</uri>
   </station>
-  <station id="wwno" name="WWNO" rank="1.0" type="edu" release="89.9" lang="en">
+  <station band="89.9FM" id="wwno" lang="en" name="WWNO" rank="1.0" type="edu">
     <frequency uri="http://wwno.org/";>89.9 MHz FM in New Orleans, LA</frequency>
     <location>New Orleans, LA</location>
     <description>WWNO is the NPR member station for New Orleans and the 13 parishes of southeast Louisiana, 
broadcasting on 89.9 FM — and on KTLN 90.5 FM in the Houma-Thibodaux area — as a public service of the 
University of New Orleans.</description>
     <stream mime="audio/mpeg" uri="http://www.publicbroadcasting.net/wwno/ppr/wwno_128.m3u"; codec="MPEG 1 
Audio, Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://wwno.org/</uri>
   </station>
-  <station id="ktru" name="KTRU" rank="1.0" type="edu" release="99.1" lang="en">
+  <station band="99.1FM" id="ktru" lang="en" name="KTRU" rank="1.0" type="edu">
     <frequency uri="http://ktru.org/";>99.1 MHz FM in Houston, TX</frequency>
     <location>Houston, TX</location>
     <description>KTRU Houston is Rice University's student-run radio station.</description>
     <stream mime="audio/mpeg" uri="http://ktru.org/audiometa/listen3.m3u"; codec="MPEG 1 Audio, Layer 3 
(MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://ktru.org/</uri>
   </station>
-  <station id="bbcworldservice" name="BBC World Service" rank="1.0" type="gov" release="93.20" lang="en">
+  <station band="93.20FM" id="bbcworldservice" lang="en" name="BBC World Service" rank="1.0" type="gov">
     <frequency uri="http://www.bbc.co.uk/worldservice/schedules/frequencies/";>Internet</frequency>
     <location>London, United Kingdom</location>
     <description>BBC World Service is an international news service available on radio, television and 
online. It provides impartial news reports and analysis in English and 27 other languages.  BBC World Service 
aims to inspire and illuminate the lives of its audience by bringing the world together, making connections 
and helping listeners to make sense of the world.</description>
     <stream mime="audio/mpeg" uri="http://www.bbc.co.uk/worldservice/meta/live/mp3/eneuk.pls"; codec="MPEG 1 
Audio, Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="48 kbps" />
     <uri>http://www.bbc.co.uk/worldserviceradio</uri>
   </station>
-  <station id="nrkradioalltidnyheter" name="NRK Radio Alltid Nyheter" rank="1.0" type="gov" release="93.0" 
lang="nb">
+  <station band="93.0FM" id="nrkradioalltidnyheter" lang="nb" name="NRK Radio Alltid Nyheter" rank="1.0" 
type="gov">
     <frequency>93.0 MHz FM in Oslo, Norway</frequency>
     <location>Oslo, Norway</location>
     <description>The Norwegian Broadcasting Corporation (NRK) offers the Norwegian public a wide range of 
content with three national TV-channels, 13 national radio-channels and the website nrk.no.</description>
     <stream mime="audio/aac" uri="http://lyd.nrk.no/nrk_radio_alltid_nyheter_aac_h"; codec="AAC, v4 LC" 
samplerate="48000 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://www.nrk.no/alltid_nyheter</uri>
   </station>
-  <station id="wkcr" name="WKCR" rank="1.0" type="edu" release="89.9" lang="en">
+  <station band="89.9FM" id="wkcr" lang="en" name="WKCR" rank="1.0" type="edu">
     <frequency>89.9 MHz FM in New York, NY</frequency>
     <location>New York City, NY</location>
     <description>WKCR-FM, Columbia University’s non-commercial student-run radio station, is dedicated to 
presenting a spectrum of alternative programming—traditional and art music, spoken arts, and original 
journalism. Granted its FCC license in 1941, WKCR is both steeped in tradition and committed to innovation. 
In the New York area, the station can be heard at 89.9 megacycles in FM; worldwide, it streams 
online.</description>
     <stream mime="audio/mpeg" uri="http://kanga.college.columbia.edu:8000/listen.pls"; codec="MPEG 1 Audio, 
Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="96 kbps" />
     <uri>http://www.studentaffairs.columbia.edu/wkcr/</uri>
   </station>
-  <station id="kzsu" name="KZSU" rank="1.0" type="edu" release="90.1" lang="en">
+  <station band="90.1FM" id="kzsu" lang="en" name="KZSU" rank="1.0" type="edu">
     <frequency>90.1 MHz FM in Stanford, CA</frequency>
     <location>San Francisco, CA</location>
     <description>KZSU is Stanford University's FM radio station, broadcasting across the Bay Area on 90.1 FM 
and across the world at kzsulive.stanford.edu. We exist to serve the Stanford community with quality radio 
broadcasts, including music, sports, news, and public affairs programming.
@@ -430,14 +442,14 @@ Behind the scenes we rely on our fantastic technical, musical and promotional te
     <stream mime="audio/mpeg" uri="http://kzsulive.stanford.edu/audio/kzsu-1-128.m3u"; codec="MPEG 1 Audio, 
Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://kzsulive.stanford.edu/</uri>
   </station>
-  <station id="wmbr" name="WMBR" rank="1.0" type="edu" release="88.1" lang="en">
+  <station band="88.1FM" id="wmbr" lang="en" name="WMBR" rank="1.0" type="edu">
     <frequency>88.1 MHz FM in Cambridge, MA</frequency>
     <location>Boston, MA</location>
     <description>WMBR is the MIT campus radio station. We broadcast on 88.1 FM between 20 and 24 hours per 
day, 365 days a year. We transmit at 720 watts, effective radiated power from the top of the Eastgate 
Building in Kendall Square in Cambridge, Massachusetts. Our programming includes a wide range of music shows, 
public affairs programs and eclectic audio entertainment.</description>
     <stream mime="audio/mpeg" uri="http://wmbr.org/WMBR_live_128.m3u"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://wmbr.org/</uri>
   </station>
-  <station id="kexp" name="KEXP" rank="1.0" type="edu" release="90.9" lang="en">
+  <station band="90.9FM" id="kexp" lang="en" name="KEXP" rank="1.0" type="edu">
     <frequency>90.9 MHz FM in Seattle, WA</frequency>
     <location>Seattle, WA</location>
     <description>KEXP is a service of the University of Washington, who holds the station’s FCC license. As 
a 501(c)3 non-profit arts organization, KEXP relies on investments from individual, foundation, business, and 
government supporters.</description>


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