echo json_encode(searchDB($mpd, 'filepath', $_POST['path'])); } else { echo json_encode(searchDB($mpd, 'filepath')); } break; case 'playlist': echo json_encode(getPlayQueue($mpd)); break; case 'add': if (isset($_POST['path']) && $_POST['path'] != '') { echo json_encode(addQueue($mpd, $_POST['path'])); } break; case 'addplay': if (isset($_POST['path']) && $_POST['path'] != '') { $status = _parseStatusResponse(MpdStatus($mpd)); $pos = $status['playlistlength']; addQueue($mpd, $_POST['path']); sendMpdCommand($mpd, 'play ' . $pos); echo json_encode(readMpdResponse($mpd)); } break; case 'addreplaceplay': if (isset($_POST['path']) && $_POST['path'] != '') { sendMpdCommand($mpd, 'clear'); addQueue($mpd, $_POST['path']); sendMpdCommand($mpd, 'play'); echo json_encode(readMpdResponse($mpd)); } break; case 'update':
function monitorMpdState($sock) { if (sendMpdIdle($sock)) { $status = _parseStatusResponse(MpdStatus($sock)); return $status; } }
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); }