summaryrefslogblamecommitdiffstats
path: root/radio/radio.php
blob: 28eecc0c5e719363177de1049e01ef522a27e0f5 (plain) (tree)
1
2
3
4
     


                                                                                      











                                                                





                                                                                               
  












                                                                                    




                                                                     
                                                                                          





                                                                                                                                                    










                                                                                                                                                                                  







                                                                               
<?php
if ($_SERVER["REQUEST_SCHEME"] == "https") {
	header("location: http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
}
$sock = stream_socket_client("unix:///tmp/ls", $errno, $errstr);
if (!empty($_REQUEST["s"])) {
	fwrite($sock, "travnik.skip\r\n");
	header("location: ?p=1");
	exit("preusmeritev na ?p=1");
}
fwrite($sock, "uptime\r\n");
usleep(100000);
$uptime = trim(str_replace("END", "", fread($sock, 256)));
fwrite($sock, "travnik.remaining\r\n");
usleep(100000);
$remaining = trim(str_replace("END", "", fread($sock, 256)));
fwrite($sock, "travnik.metadata\r\nquit\r\n");
$buf = "";
while (!feof($sock)) {
	$buf .= fread($sock, 200000);
}
$metadata = str_replace("\r", "", trim(str_replace("Bye!", "", str_replace("END", "", $buf))));
?>
<meta name=viewport content='width=device-width, initial-scale=1.0'>
pretok v najvišji kvaliteti brez izgub (FLAC) -- prenaša veliko podatkov:
<br>
<audio controls>
	<source src=http://tranzistor.sijanec.eu:8000/travnik type="audio/ogg">
</audio>
<br>
pretok v kompresirani kvaliteti (OPUS) -- manj prenesenih podatkov:
<br>
<audio controls>
	<source src=http://tranzistor.sijanec.eu:8000/travnik.opus type="audio/ogg">
</audio>
<br>
radijski pretok neprestano teče že <?= htmlspecialchars($uptime) ?>
<br>
do konca komada je še <?= gmdate("H:i:s", intval($remaining)) ?>.
<br>
<form method=post>
<input type=submit name=s value="preskoči na naslednji komad (preberi pravila spodaj)" />
</form>
<?php
if (!empty($_REQUEST["p"])) {
?>
<b>poročilo: zahteva za preskok komada je bila uspešno poslana. počakaj nekaj sekund, da se zgodi crossfade. preveri, da si na koncu pretoka!</b>
<?php
} else {
?>
pravila preskakovanja -- kdaj je dovoljeno preskočiti komad:
<ul>
<li> če se ne predvaja glasba, temveč govor
<li> če je posnetek slabe kvalitete (slabi posnetki iz kaset, slabi live/nestudijski posnetki, ...)
<li> če si edini poslušalec radia (preveri <a href=http://tranzistor.sijanec.eu:8000>tukaj</a>)
<li> če je na števcu do konca komada več kot 5 minut (pred pritiskom gumba <a href=?>ozveži stran</a>, da se prikaže posodobljen števec)
</ul>
radio namreč lahko posluša več ljudi, preskok komada pa se seveda zgodi pri vseh, kar je lahko moteče. v primeru prevelikega subjektivnega ocenjevanja bom funkcijo odstranil.
<?php
}
?>
<br>
metapodatki o komadu in o prej predvajanih komadih:
<br>
<pre>
<?= htmlspecialchars(implode("\n", array_reverse(explode("\n", $metadata)))) ?>
</pre>