type == ".flac") { $song->type = ".ogg"; }
if ($GLOBALS['user']->prefs['play_type'] == 'downsample') {
$ds = $GLOBALS['user']->prefs['sample_rate'];
}
$song_url = conf('web_path') . "/play/index.php?song=$song_id&uid=" . $_SESSION['userdata']['username'] . "&sid=$sess_id&ds=$ds&name=." . $song->type;
if (is_null( $myMpd->PlAdd($song_url) ) ) {
$log_line = _("Error") . ": " . _("Could not add") . ": " . $song_url . " : " . $myMpd->errStr;
echo "$log_line
\n";
if (conf('debug')) { log_event($GLOBALS['user']->username,'add',$log_line); }
} // if it's null
} // if we want urls
else {
$song = new Song( $song_id );
$song_filename = $song->get_rel_path();
if( is_null( $myMpd->PLAdd( $song_filename ) ) ) {
$log_line = _("Error") . ": " . _("Could not add") . ": " . $song_filename . " : " . $myMpd->errStr;
echo "$log_line
\n";
if (conf('debug')) { log_event($_SESSION['userdata']['username'],'add',$log_line); }
} // end if it's null
// We still need to count if they use the file method
else {
$GLOBALS['user']->update_stats( $song_id );
} // end else
} // end else not url method
} // end foreach
} // addToPlaylist
/*!
@function show_mpd_control
@discussion shows the mpd controls
*/
function show_mpd_control() {
$_REQUEST['action'] = 'show_control';
require (conf('prefix').'/amp-mpd.php');
} // show_mpd_control
/**
* show_mpd_pl
* Shows the MPD playlist
* @package Local Play
* @catagory MPD
*/
function show_mpd_pl() {
$myMpd = init_mpd();
require (conf('prefix').'/templates/show_mpdpl.inc');
} // show_mpd_pl
/**
* mpd_redirect
* Redriect mojo
* @package Local Play
* @catagory MPD
* @param $page is the URL after conf('web_path') . '/'
*/
function mpd_redirect( $page = 'mpd.php' ) {
if (conf('localplay_menu')) {
header ("Location: " . conf('web_path') . '/' . $page);
}
else {
header ("Location: " . conf('web_path'));
}
} // mpd_redirect
/**
* Init MPD - This is originally from /amp-mpd.php
* This initializes MPD if it is the playback method.
* It checks to see if a global variable called myMpd is an object
* if it's not then it attempt to create one and return it
* @package Local Play
* @catagory MPD
*/
function init_mpd() {
static $myMpd;
if (!conf('allow_mpd_playback')) { return false; }
if (!is_object($myMpd)) {
$myMpd = new mpd(conf('mpd_host'),conf('mpd_port'));
}
if (!$myMpd->connected AND is_object($myMpd)) {
// Attempt to reconnect
$myMpd->Connect();
}
if (!$myMpd->connected) {
if (conf('debug')) {
log_event ($_SESSION['userdata']['username'],' connection_failed ',"Error: unable to connect to ". conf('mpd_host') . " on port " . conf('mpd_port') . " ".$myMpd->errStr);
}
return false;
}
return $myMpd;
} // function init_mpd()
?>