function monitorMpdState($sock) { if (sendMpdIdle($sock)) { $status = _parseStatusResponse(MpdStatus($sock)); return $status; } }
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':
$audioinfo_hwparams_format .= $_hwparams['rate'] . " kHz"; $audioinfo_hwparams_calcrate = $_hwparams['calcrate'] . " mbps"; } else { $audioinfo_hwparams_format = ''; $audioinfo_hwparams_calcrate = '0 bps'; } // INPUT INFO: mpd currentsong and status cmds if (!$mpd) { $audioinfo_mpdstatus = 'Error Connecting to MPD daemon'; } else { // mpd currentsong $res = execMpdCommand($mpd, 'currentsong'); $_mpdcurrentsong = _parseMpdCurrentSong($res); $audioinfo_mpdcurrentsong_file = $_mpdcurrentsong['file']; // mpd status $_mpdstatus = _parseStatusResponse(mpdStatus($mpd)); if ($_hwparams['status'] == 'active') { // source format $audioinfo_mpdstatus_format = $_mpdstatus['audio_channels'] . ", "; // TC (Tim Curtis) 2015-07-31: format when "dsd" (for dsf files) $audioinfo_mpdstatus_format .= $_mpdstatus['audio_sample_depth']; $audioinfo_mpdstatus_format .= $_mpdstatus['audio_sample_depth'] == "dsd" ? ", " : " bit, "; $audioinfo_mpdstatus_format .= $_mpdstatus['audio_sample_rate'] . " kHz"; // bit rate $audioinfo_mpdstatus_bitrate = $_mpdstatus['bitrate'] . " kbps"; } else { $audioinfo_mpdstatus_format = ''; $audioinfo_mpdstatus_bitrate = "0 bps"; } } // DSP INFO: mpd.conf, configured SRC output format and converter
function mpdMonitorState($sock) { execMpdCommand($sock, "idle"); return _parseStatusResponse(mpdStatus($sock)); }
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); }