// check /etc/auto.nas integrity // hashCFG('check_source',$db); // unlock session files playerSession('unlock', $db, '', ''); // Cmediafix startup check if (isset($_SESSION['cmediafix']) && $_SESSION['cmediafix'] == 1) { $mpd = openMpdSocket('localhost', 6600); sendMpdCommand($mpd, 'cmediafix'); closeMpdSocket($mpd); } // Utilities to start with Volumio // Shairport for Airplay Capability //Retrieve Output Device $dbh = cfgdb_connect($db); $query_cfg = "SELECT param,value_player FROM cfg_mpd WHERE value_player!=''"; $mpdcfg = sdbquery($query_cfg, $dbh); $dbh = null; foreach ($mpdcfg as $cfg) { if ($cfg['param'] == 'audio_output_format' && $cfg['value_player'] == 'disabled') { $output .= ''; } else { if ($cfg['param'] == 'device') { $device = $cfg['value_player']; var_export($device); } else { $output .= $cfg['param'] . " \t\"" . $cfg['value_player'] . "\"\n"; } } } playerSession('open', $db); $hostname = $_SESSION['hostname'];
function wrk_mpdconf($outpath, $db) { // extract mpd.conf from SQLite datastore $dbh = cfgdb_connect($db); $query_cfg = "SELECT param,value_player FROM cfg_mpd WHERE value_player!=''"; $mpdcfg = sdbquery($query_cfg, $dbh); $dbh = null; // set mpd.conf file header $output = "###################################\n"; $output .= "# Auto generated mpd.conf file\n"; $output .= "# please DO NOT edit it manually!\n"; $output .= "# Use player-UI MPD config section\n"; $output .= "###################################\n"; $output .= "\n"; // parse DB output foreach ($mpdcfg as $cfg) { if ($cfg['param'] == 'audio_output_format' && $cfg['value_player'] == 'disabled') { $output .= ''; } else { if ($cfg['param'] == 'dsd_usb') { $dsd = $cfg['value_player']; } else { if ($cfg['param'] == 'device') { $device = $cfg['value_player']; var_export($device); // $output .= ''; } else { if ($cfg['param'] == 'mixer_type' && $cfg['value_player'] == 'hardware') { // $hwmixer['device'] = 'hw:0'; $hwmixer['control'] = alsa_findHwMixerControl($device); // $hwmixer['index'] = '1'; } else { $output .= $cfg['param'] . " \t\"" . $cfg['value_player'] . "\"\n"; } } } } } // format audio input / output interfaces $output .= "max_connections \"20\"\n"; $output .= "\n"; $output .= "decoder {\n"; $output .= "\t\tplugin \"ffmpeg\"\n"; $output .= "\t\tenabled \"yes\"\n"; $output .= "}\n"; $output .= "\n"; $output .= "input {\n"; $output .= "\t\tplugin \"curl\"\n"; $output .= "}\n"; $output .= "\n"; $output .= "audio_output {\n\n"; $output .= "\t\t type \t\t\"alsa\"\n"; $output .= "\t\t name \t\t\"Output\"\n"; $output .= "\t\t device \t\"hw:" . $device . ",0\"\n"; if (isset($hwmixer)) { //$output .= "\t\t mixer_device \t\"".$hwmixer['device']."\"\n"; $output .= "\t\t mixer_control \t\"" . $hwmixer['control'] . "\"\n"; $output .= "\t\t mixer_device \t\"hw:" . $device . "\"\n"; $output .= "\t\t mixer_index \t\"0\"\n"; //$output .= "\t\t mixer_index \t\"".$hwmixer['index']."\"\n"; } $output .= "\t\t dsd_usb \t\"" . $dsd . "\"\n"; $output .= "\n}\n"; // write mpd.conf file $fh = fopen($outpath . "/mpd.conf", 'w'); fwrite($fh, $output); fclose($fh); }
echo "###### SESSION DATA ######\n"; echo "\n"; print_r($_SESSION); } if ($_SESSION['debug'] > 2) { $connection = new pdo($db); $querystr = "SELECT * FROM cfg_engine"; $data['cfg_engine'] = sdbquery($querystr, $connection); $querystr = "SELECT * FROM cfg_lan"; $data['cfg_lan'] = sdbquery($querystr, $connection); $querystr = "SELECT * FROM cfg_wifisec"; $data['cfg_wifisec'] = sdbquery($querystr, $connection); $querystr = "SELECT * FROM cfg_mpd"; $data['cfg_mpd'] = sdbquery($querystr, $connection); $querystr = "SELECT * FROM cfg_source"; $data['cfg_source'] = sdbquery($querystr, $connection); $connection = null; echo "\n"; echo "\n"; echo "###### SQLite datastore ######\n"; echo "\n"; echo "\n"; echo "### table CFG_ENGINE ###\n"; print_r($data['cfg_engine']); echo "\n"; echo "\n"; echo "### table CFG_LAN ###\n"; print_r($data['cfg_lan']); echo "\n"; echo "\n"; echo "### table CFG_WIFISEC ###\n";