${o}'); ContentRegFSConverter("tab", "abctab", 'tab2abc ${i} > ${o}'); ContentRegFSConverter("abctab", "ps", 'abctab2ps -O ${o} ${i}'); ContentRegFSConverter("abcm", "ps", 'abcm2ps -O${o} ${i}'); ContentRegConverter("ps", "ppm", 'ContentConverter_ps2ppm'); ContentRegFSConverter("ppm", "gif", 'pnmcrop < ${i} | ppmtogif > ${o}'); ContentRegFSConverter("ps", "pdf", 'gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=${o} ${i}'); ContentRegFSConverter("abc", "midi", 'abc2midi ${i} -o ${o}'); ContentRegFSConverter("abcm", "midi", 'abc2midi ${i} -o ${o}'); ContentRegFSConverter("abctab", "midi", 'abc2midi ${i} -o ${o}'); ContentRegFSConverter("midi", "wav", 'timidity -Ow ${i} -o ${o}'); ContentRegFSConverter("wav", "mp2", 'toolame ${i} ${o}'); ContentRegFSConverter("wav", "mp3", 'lame ${i} ${o}'); ContentRegFSConverter("wav", "flac", 'flac ${i} -o ${o}'); ContentRegFSConverter("wav", "vorbis", 'oggenc ${i} -o ${o}'); if ( !function_exists('ContentConverter_ps2ppm')) { function ContentConverter_ps2ppm($cp, $cnv, $intype, $outtype, $args, $data) { $dir = ContentDir($cp); $in = "$dir/input.ps"; file_put_contents($in, $data); $cmd = "cd $dir ; gs -q -sDEVICE=ppmraw -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r96x96 -dNOPAUSE -dSAFER -sOutputFile=output%d.ppm $in"; exec($cmd, $err); $err = implode("\n", $err); // echo $err; $p = 1; $page = "$dir/output$p.ppm"; while (file_exists($page)) { $pages[$p] = $page; $out[$p] = $p; $p++; $page = "$dir/output$p.ppm"; } if($args != '') $out = file_get_contents($pages[$args]); elseif($p == 2) $out = file_get_contents($pages[1]); foreach($pages as $p=>$page) { $cp['tsegs'][count($cp['tsegs'])-1]['args'] = $p; ContentCachePutFile($cp, $page); } ContentRmTree($dir); return $out; } }