function waitWorker($sleeptime, $section) { if ($_SESSION['w_active'] == 1) { do { sleep($sleeptime); session_start(); session_write_close(); } while ($_SESSION['w_active'] != 0); switch ($section) { case 'sources': $mpd = openMpdSocket('localhost', 6600); sendMpdCommand($mpd, 'update'); closeMpdSocket($mpd); break; } } }
function wrk_togglePlayback($redis, $activePlayer) { $stoppedPlayer = $redis->get('stoppedPlayer'); // debug runelog('stoppedPlayer = ', $stoppedPlayer); runelog('activePlayer = ', $activePlayer); if ($stoppedPlayer !== '') { if ($stoppedPlayer === 'MPD') { // connect to MPD daemon $sock = openMpdSocket('/run/mpd.sock', 0); $status = _parseStatusResponse(MpdStatus($sock)); runelog('MPD status', $status); if ($status['state'] === 'pause') { $redis->set('stoppedPlayer', ''); } sendMpdCommand($sock, 'pause'); closeMpdSocket($sock); // debug runelog('sendMpdCommand', 'pause'); } elseif ($stoppedPlayer === 'Spotify') { // connect to SPOPD daemon $sock = openSpopSocket('localhost', 6602, 1); $status = _parseSpopStatusResponse(SpopStatus($sock)); runelog('SPOP status', $status); if ($status['state'] === 'pause') { $redis->set('stoppedPlayer', ''); } sendSpopCommand($sock, 'toggle'); closeSpopSocket($sock); // debug runelog('sendSpopCommand', 'toggle'); } $redis->set('activePlayer', $stoppedPlayer); } else { $redis->set('stoppedPlayer', $activePlayer); wrk_togglePlayback($redis, $activePlayer); } runelog('endFunction!!!', $stoppedPlayer); }
sendMpdCommand($mpd, 'play'); echo json_encode(readMpdResponse($mpd)); } break; case 'update': if (isset($_POST['path']) && $_POST['path'] != '') { sendMpdCommand($mpd, "update \"" . html_entity_decode($_POST['path']) . "\""); echo json_encode(readMpdResponse($mpd)); } break; case 'trackremove': if (isset($_GET['songid']) && $_GET['songid'] != '') { echo json_encode(remTrackQueue($mpd, $_GET['songid'])); } break; case 'search': if (isset($_POST['query']) && $_POST['query'] != '' && isset($_GET['querytype']) && $_GET['querytype'] != '') { echo json_encode(searchDB($mpd, $_GET['querytype'], $_POST['query'])); } break; } closeMpdSocket($mpd); } } else { echo 'MPD DB INTERFACE<br>'; echo 'INTERNAL USE ONLY<br>'; echo 'hosted on raspyfi.local:81'; } ?>
// output switch $output = 0; include 'getid3/audioinfo.class.php'; // get Last.FM api-key $lastfm_apikey = $redis->get('lastfm_apikey'); // get HTTP proxy settings $proxy = $redis->hGetall('proxy'); // connect to MPD daemon $mpd2 = openMpdSocket('/run/mpd.sock', 0); // fetch MPD status $status = _parseStatusResponse(MpdStatus($mpd2)); $curTrack = getTrackInfo($mpd2, $status['song']); $mpdRoot = "/mnt/MPD/"; $trackMpdPath = findPLposPath($status['song'], $mpd2); $currentpath = $mpdRoot . $trackMpdPath; closeMpdSocket($mpd2); // debug runelog("MPD current path", $currentpath); $request_uri = urldecode($_SERVER['REQUEST_URI']); runelog("HTTP GET request_uri (urldecoded)", $request_uri); $request_folder = substr(substr($request_uri, 0, strrpos($request_uri, "/")), 10); runelog("HTTP GET (request_folder)", $request_folder); $request_coverfile = substr($request_uri, strrpos($request_uri, "/") + 1); runelog("HTTP GET (request_coverfile)", $request_coverfile); $current_mpd_folder = substr(substr($currentpath, 0, strrpos($currentpath, "/")), 9); runelog("MPD (current_mpd_folder)", $current_mpd_folder); // --------------------- Spotify --------------------- } elseif ($redis->get('activePlayer') === 'Spotify') { runelog('rune_PL_wrk: open SPOP socket'); $spop = openSpopSocket('localhost', 6602, 1); }