#!/usr/bin/perl
use strict;
use warnings;

my $pid = fork();
exit 0 if $pid != 0;

my $bin = "/opt/interm/bin";
my $conf = "/opt/interm/conf";

my $xml_util = "$bin/xml_util";
my $oper_xml_file = "oper_mode.xml";
my $oper_mode_path = "/config/type";

my $radio_xml_file = "radio.xml";
my $radio_enable_path = "/config/enable";
my $radio_url_path = "/config/url";
my $radio_name_path = "/config/name";

my $retry_interval = 3;

my $oper_mode;
my $radio_enable; 
my $radio_url; 
my $radio_name; 

$oper_mode=`$xml_util -r -f $conf/$oper_xml_file -t $oper_mode_path`;
exit 1 if $? != 0;

my $args;

while(1) {
	if ($oper_mode eq "usb") {
		$args = "-m usb";

		my $disk_exist = qx!mount | grep /mnt/removable_disk!;
		if ($disk_exist =~ m!/mnt/removable_disk! && -e '/mnt/removable_disk/playlist.m3u') {
			$args .= " -p /mnt/removable_disk/playlist.m3u";
		}
	}
	elsif ($oper_mode eq "radio") {
		$args = "-m iradio";

		$radio_enable=`$xml_util -r -f $conf/$radio_xml_file -t $radio_enable_path`;
		exit 1 if $? != 0;

		if ($radio_enable eq "yes") {
			$radio_url=`$xml_util -r -f $conf/$radio_xml_file -t $radio_url_path`;
			exit 1 if $? != 0;

			$radio_name=`$xml_util -r -f $conf/$radio_xml_file -t $radio_name_path`;
			exit 1 if $? != 0;
			
			$args .= qq! -p \'$radio_url,$radio_name'!;
		}
	}
	elsif ($oper_mode eq "aoe") {
		$args = "-m aoe";
	}

	qx|nice --5 /opt/interm/bin/aplayer $args|;

	sleep $retry_interval;

	$oper_mode=`$xml_util -r -f $conf/$oper_xml_file -t $oper_mode_path`;
	exit 1 if $? != 0;
}

