2018-06-27 11:50:32 -04:00
|
|
|
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" xmlns="http://www.w3.org/1999/xhtml">
|
2014-03-02 08:35:09 -05:00
|
|
|
<xsl:output omit-xml-declaration="no" method="xml" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
|
2018-06-27 11:50:32 -04:00
|
|
|
<xsl:include href="includes/web-page.xsl"/>
|
2020-10-01 10:00:46 -04:00
|
|
|
<xsl:include href="includes/player.xsl"/>
|
2020-10-01 17:25:53 -04:00
|
|
|
<xsl:include href="includes/playlist.xsl"/>
|
2018-06-27 11:50:32 -04:00
|
|
|
<xsl:variable name="title">Status</xsl:variable>
|
|
|
|
<xsl:template name="content">
|
2014-03-02 08:35:09 -05:00
|
|
|
<xsl:text disable-output-escaping="yes">
|
|
|
|
<!-- WARNING:
|
|
|
|
DO NOT ATTEMPT TO PARSE ICECAST HTML OUTPUT!
|
|
|
|
The web interface may change completely between releases.
|
|
|
|
If you have a need for automatic processing of server data,
|
|
|
|
please read the appropriate documentation. Latest docs:
|
|
|
|
http://icecast.org/docs/icecast-latest/icecast2_stats.html
|
|
|
|
-->
|
|
|
|
</xsl:text>
|
|
|
|
<!--mount point stats-->
|
2018-08-02 06:58:30 -04:00
|
|
|
<h2>Status</h2>
|
|
|
|
<xsl:choose>
|
|
|
|
<xsl:when test="source">
|
|
|
|
<xsl:for-each select="source">
|
|
|
|
<xsl:choose>
|
|
|
|
<xsl:when test="listeners">
|
|
|
|
<section class="box">
|
|
|
|
<h3 class="box_title">Mountpoint <code><xsl:value-of select="@mount" /></code></h3>
|
2020-10-01 10:00:46 -04:00
|
|
|
<xsl:call-template name="player" />
|
2018-08-02 06:58:30 -04:00
|
|
|
|
|
|
|
<!-- Stream info and stats -->
|
|
|
|
<h4>Further information</h4>
|
|
|
|
<div class="mountcont">
|
|
|
|
<table class="table-keys">
|
|
|
|
<tbody>
|
|
|
|
<xsl:if test="server_name">
|
|
|
|
<tr>
|
|
|
|
<td>Stream Name:</td>
|
|
|
|
<td><xsl:value-of select="server_name" /></td>
|
|
|
|
</tr>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="server_description">
|
|
|
|
<tr>
|
|
|
|
<td>Stream Description:</td>
|
|
|
|
<td><xsl:value-of select="server_description" /></td>
|
|
|
|
</tr>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="server_type">
|
|
|
|
<tr>
|
|
|
|
<td>Content Type:</td>
|
|
|
|
<td><xsl:value-of select="server_type" /></td>
|
|
|
|
</tr>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="stream_start">
|
|
|
|
<tr>
|
|
|
|
<td>Stream started:</td>
|
|
|
|
<td class="streamstats"><xsl:value-of select="stream_start" /></td>
|
|
|
|
</tr>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="bitrate">
|
|
|
|
<tr>
|
|
|
|
<td>Bitrate:</td>
|
|
|
|
<td class="streamstats"><xsl:value-of select="bitrate" /></td>
|
|
|
|
</tr>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="quality">
|
|
|
|
<tr>
|
|
|
|
<td>Quality:</td>
|
|
|
|
<td class="streamstats"><xsl:value-of select="quality" /></td>
|
|
|
|
</tr>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="video_quality">
|
|
|
|
<tr>
|
|
|
|
<td>Video Quality:</td>
|
|
|
|
<td class="streamstats"><xsl:value-of select="video_quality" /></td>
|
|
|
|
</tr>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="frame_size">
|
|
|
|
<tr>
|
|
|
|
<td>Framesize:</td>
|
|
|
|
<td class="streamstats"><xsl:value-of select="frame_size" /></td>
|
|
|
|
</tr>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="frame_rate">
|
|
|
|
<tr>
|
|
|
|
<td>Framerate:</td>
|
|
|
|
<td class="streamstats"><xsl:value-of select="frame_rate" /></td>
|
|
|
|
</tr>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="listeners">
|
|
|
|
<tr>
|
|
|
|
<td>Listeners (current):</td>
|
|
|
|
<td class="streamstats"><xsl:value-of select="listeners" /></td>
|
|
|
|
</tr>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="listener_peak">
|
|
|
|
<tr>
|
|
|
|
<td>Listeners (peak):</td>
|
|
|
|
<td class="streamstats"><xsl:value-of select="listener_peak" /></td>
|
|
|
|
</tr>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="genre">
|
|
|
|
<tr>
|
|
|
|
<td>Genre:</td>
|
|
|
|
<td class="streamstats"><xsl:value-of select="genre" /></td>
|
|
|
|
</tr>
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:if test="server_url">
|
|
|
|
<tr>
|
|
|
|
<td>Stream URL:</td>
|
|
|
|
<td class="streamstats">
|
|
|
|
<a href="{server_url}"><xsl:value-of select="server_url" /></a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</xsl:if>
|
2015-05-02 03:29:58 -04:00
|
|
|
<tr>
|
2018-08-02 06:58:30 -04:00
|
|
|
<td>Currently playing:</td>
|
|
|
|
<td class="streamstats">
|
|
|
|
<xsl:if test="artist">
|
|
|
|
<xsl:value-of select="artist" /> -
|
|
|
|
</xsl:if>
|
|
|
|
<xsl:value-of select="title" />
|
|
|
|
</td>
|
2015-05-02 03:29:58 -04:00
|
|
|
</tr>
|
2018-08-02 06:58:30 -04:00
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
<!-- Extra playlist -->
|
2020-10-01 17:25:53 -04:00
|
|
|
<xsl:call-template name="playlist" />
|
2018-08-02 06:58:30 -04:00
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</xsl:when>
|
|
|
|
<xsl:otherwise>
|
|
|
|
<h3><xsl:value-of select="@mount" /> - Not Connected</h3>
|
|
|
|
</xsl:otherwise>
|
|
|
|
</xsl:choose>
|
|
|
|
</xsl:for-each>
|
|
|
|
</xsl:when>
|
|
|
|
<xsl:otherwise>
|
2020-10-01 19:40:21 -04:00
|
|
|
<aside class="info">
|
2018-08-02 06:58:30 -04:00
|
|
|
<strong>No mounts!</strong> There are no active mountpoints.
|
|
|
|
</aside>
|
|
|
|
</xsl:otherwise>
|
|
|
|
</xsl:choose>
|
2014-03-02 08:35:09 -05:00
|
|
|
</xsl:template>
|
|
|
|
</xsl:stylesheet>
|