This file is part of DisOrder.
Copyright (C) 2004-2008 Richard Kettlewell
-This program is free software; you can redistribute it and/or modify
+This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
+the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-USA
+along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
@discard{
- @include{macros.tmpl}
+
+ @# On/off button for pause etc
+ @# @class should be the class: pause, random, playing
+ @# @action should be the action to switch to the opposite state
+ @# @state should be the current state
+ @define {onoff} {class action state}
+ {@actbutton{@label{playing.@class}}
+ {@label{playing.@q{@action}verbose}}
+ {@action}
+ <img width=@width height=@height class=imgbutton
+ src="@image{@state}">}
+
+ @# Volume up/down buttons
+ @# @dir is the direction: up or down
+ @# @sign is the sign: + or -
+ @define {vbutton}{dir sign}
+ {@right{volume}
+ {<a class=imgbutton
+ href="@url?action=volume&delta=@sign@label{volume.resolution}@back">
+ <img class=button src="@image{@dir}"
+ width=@width height=@height
+ alt="@label{volume.@dir}"
+ title="@label{volume.@q{@dir}verbose}">
+ </a>}
+ {<img class=button width=@width height=@height
+ src="@image{no@dir}">}}
+
+ @# Expand to @yes for the Manage page and @no for the playing page
+ @define {ifmanage} {yes no}
+ {@if {@eq {@arg{action}}{manage}}
+ {@yes}
+ {@no}}
+
+ @ifmanage{
+ @define {back} {} {&back=manage}
+ @define {formback} {} {<input type=hidden name=back value=manage>}
+ }{}
}@#
<html>
<head>
-@include{stdhead.tmpl}@#
+@quiethead
<title>@if{@isplaying}
{@playing{@part{@id}{title}}}
{@label{playing.title}}</title>
</head>
<body>
-@include{topbar.tmpl}
+@stdmenu{@ifmanage{manage}{playing}}
<h1>@label{playing.title}</h1>
@# Extra control buttons for the management page
@ifmanage{
<div class=mgmt>
- <p class=mgmt>
- @if{@paused}{
-@# Paused
- <a class=button
- href="@url?action=resume@back"
- title="@label{playing.resumeverbose}">@label{playing.pause}</a>
- </a>
- <img width=16 height=16 class=imgbutton src="@image{enabled}">
- }{
-@# Not paused
- <a class=button
- href="@url?action=pause@back"
- title="@label{playing.pauseverbose}">@label{playing.pause}</a>
- </a>
- <img width=16 height=16 class=imgbutton src="@image{disabled}">
- }
- @if{@random-enabled}{
-@# Random play enabled
- <a class=button
- href="@url?action=random-disable@back"
- title="@label{playing.randomdisableverbose}">@label{playing.random}</a>
- </a>
- <img width=16 height=16 class=imgbutton src="@image{enabled}">
- }{
-@# Random play disabled
- <a class=button
- href="@url?action=random-enable@back"
- title="@label{playing.randomenableverbose}">@label{playing.random}</a>
- </a>
- <img width=16 height=16 class=imgbutton src="@image{disabled}">
- }
- @if{@enabled}{
-@# Play enabled
- <a class=button
- href="@url?action=disable@back"
- title="@label{playing.disableverbose}">@label{playing.playing}</a>
- </a>
- <img width=16 height=16 class=imgbutton src="@image{enabled}">
- }{
-@# Play disabled
- <a class=button
- href="@url?action=enable@back"
- title="@label{playing.enableverbose}">@label{playing.playing}</a>
- </a>
- <img width=16 height=16 class=imgbutton src="@image{disabled}">
- }
-@# Volume form
- <form class=volume action="@url" method=POST
- enctype="multipart/form-data" accept-charset=utf-8>
- <span class=volume>
- @label{playing.volume}
-@# Volume up button
- @right{volume}{
- <a class=imgbutton
- href="@url?action=volume&delta=-@label{volume.resolution}@back">
- <img class=button src="@image{down}"
- alt="@label{volume.reduce}"
- title="@label{volume.reduceverbose}">
- </a>
- }{
- <img class=button src="@image{nodown}">
- }
-@# Volume value widgets
- @label{volume.left} <input size=3 name=left type=text value="@volume:left@">
- @label{volume.right} <input size=3 name=right type=text value="@volume:right@">
- <input name=back type=hidden value="@thisurl@?back=manage">
-@# Volume set button
- @right{volume}{
- <button class=search name=submit type=submit>
- @label{volume.set}
- </button><input name=action type=hidden value=volume>
- }
-@# Volume down button
- @right{volume}{
- <a class=imgbutton
- href="@url?action=volume&delta=@label{volume.resolution}@back">
- <img class=button
- src="@image{up}"
- alt="@label{volume.increase}"
- title="@label{volume.increaseverbose}">
- </a>
- }{
- <img class=button src="@image{noup}">
- }
- </form>
- </span>
- </p>
+ <p class=mgmt>
+ @if{@paused}
+ {@onoff{pause}{resume}{enabled}}
+ {@onoff{pause}{pause}{disabled}}
+ @if{@random-enabled}
+ {@onoff{random}{randomdisable}{enabled}}
+ {@onoff{random}{randomenable}{disabled}}
+ @if{@enabled}
+ {@onoff{playing}{disable}{enabled}}
+ {@onoff{playing}{enable}{disabled}}
+ <form class=volume method=POST
+ action="@url"
+ enctype="multipart/form-data" accept-charset=utf-8>
+ <span class=volume>
+ @label{playing.volume}
+ @vbutton{up}{+}
+ @label{volume.left}
+ <input size=3 name=left type=text value="@volume{left}">
+ @label{volume.right}
+ <input size=3 name=right type=text value="@volume{right}">
+ <input name=back type=hidden value="@quote{@thisurl}">
+ @right{volume}{
+ @submit{@label{volume.set}}
+ <input name=action type=hidden value=volume>
+ }
+ @vbutton{down}{-}
+ </span>
+ </form>
+ </p>
</div>
}{}
<th class=length>@label{heading.length}</th>
<th class=button> </th>
@ifmanage{
- <th class=imgbutton> </th>
- <th class=imgbutton> </th>
- <th class=imgbutton> </th>
- <th class=imgbutton> </th>
+ <th class=imgbutton> </th>
+ <th class=imgbutton> </th>
+ <th class=imgbutton> </th>
+ <th class=imgbutton> </th>
}{}
</tr>
+ @if{@isplaying}{
+ <tr class=nowplaying>
+ <td colspan=@ifmanage{11}{7}>@label{playing.now}</td>
+ </tr>
+ }
@playing{
- <tr class=nowplaying>
- <td colspan=@ifmanage{11}{7}>@label{playing.now}</td>
- </tr>
- <tr class=playing>
- <td class=when>@mwhen{playing}{@id}</td>
- <td class=who>@mwho{playing}{@id}</td>
- <td class=artist>@martist{playing}{@track}</td>
- <td class=album>@malbum{playing}{@track}</td>
- <td class=title>@mtitle{playing}{@track}</td>
- <td class=length>@length{@id}</td>
- <td class=imgbutton>@mremove{playing}{@id}</td>
- @ifmanage{
- <td class=imgbutton> </td>
- <td class=imgbutton> </td>
- <td class=imgbutton> </td>
- <td class=imgbutton> </td>
- }{}
- </tr>
+ <tr class=playing>
+ <td class=when>@mwhen{playing}{@id}</td>
+ <td class=who>@mwho{playing}{@id}</td>
+ <td class=artist>@martist{playing}{@track}</td>
+ <td class=album>@malbum{playing}{@track}</td>
+ <td class=title>@mtitle{playing}{@track}</td>
+ <td class=length>@length{@id}</td>
+ <td class=imgbutton>@mremove{playing}{@id}</td>
+ @ifmanage{
+ <td class=imgbutton> </td>
+ <td class=imgbutton> </td>
+ <td class=imgbutton> </td>
+ <td class=imgbutton> </td>
+ }{}
+ </tr>
}
- @if{@isqueue@}{
- <tr class=next>
- <td colspan=@ifmanage{11}{7}@>@label{playing.next}</td>
- </tr>
+ @if{@isqueue}{
+ <tr class=next>
+ <td colspan=@ifmanage{11}{7}>@label{playing.next}</td>
+ </tr>
}
@queue{
- <tr class=@parity@>
- <td class=when>@mwhen{queue}{@id}</td>
- <td class=who>@mwho{queue}{@id}</td>
- <td class=artist>@martist{queue}{@track}</td>
- <td class=album>@malbum{queue}{@track}</td>
- <td class=title>@mtitle{queue}{@track}</td>
- <td class=length>@length</td>
- <td class=imgbutton>@mremove{queue}{@id}</td>
-
- @if{@eq{@arg{action}}{manage}}{
- @if{@or{@isfirst@}
- {@not{@movable@}@}@}{
- <!-- cannot move up -->
- <td class=imgbutton>
- <img
- class=button src="@image{noupall}"
- title="@label{playing.upallverbose}" alt="">
- <td class=imgbutton>
- <img
- class=button src="@image{noup}"
- title="@label{playing.upverbose}" alt="">
- }{
- <!-- can move up -->
- <td class=imgbutton>
- <a class=imgbutton
- href="@url?action=move&id=@id@&delta=2147483647@back"><img
- class=button src="@image{upall}"
- title="@label{playing.upallverbose}"
- alt="@label{playing.upall}"></a>
- <td class=imgbutton>
- <a class=imgbutton
- href="@url?action=move&id=@id@&delta=1@back"><img
- class=button src="@image{up}"
- title="@label{playing.upverbose}" alt="@label{playing.up}"></a>
- }
-
- @if{@or{@islast@}
- {@not{@movable@}@}@}{
- <!-- cannot move down -->
- <td class=imgbutton>
- <img
- class=button src="@image{nodownall}"
- title="@label{playing.downallverbose}" alt="">
- <td class=imgbutton>
- <img
- class=button src="@image{nodown}"
- title="@label{playing.downverbose}" alt="">
- }{
- <!-- can move down -->
- <td class=imgbutton>
- <a class=imgbutton
- href="@url?action=move&id=@id@&delta=-2147483647@back"><img
- class=button src="@image{downall}"
- title="@label{playing.downallverbose}"
- alt="@label{playing.downall}"></a>
- <td class=imgbutton>
- <a class=imgbutton
- href="@url?action=move&id=@id@&delta=-1@back"><img
- class=button src="@image{down}"
- title="@label{playing.downverbose}" alt="@label{playing.down}"></a>
- }
- }
- </tr>
- }
+ <tr class=@parity>
+ <td class=when>@mwhen{queue}{@id}</td>
+ <td class=who>@mwho{queue}{@id}</td>
+ <td class=artist>@martist{queue}{@track}</td>
+ <td class=album>@malbum{queue}{@track}</td>
+ <td class=title>@mtitle{queue}{@track}</td>
+ <td class=length>@length{@id}</td>
+ <td class=imgbutton>@mremove{queue}{@id}</td>
+ @ifmanage{
+ <td class=imgbutton>@mmove{@id}{upall}{2147483647}</td>
+ <td class=imgbutton>@mmove{@id}{up}{1}</td>
+ <td class=imgbutton>@mmove{@id}{down}{-1}</td>
+ <td class=imgbutton>@mmove{@id}{downall}{-2147483647}</td>
+ }{}
+ </tr>
+ }
</table>
}
-@include{topbarend.tmpl}@#
+@credits
</body>
</html>
@discard{
sgml-always-quote-attributes:nil
sgml-indent-step:1
sgml-indent-data:t
+indent-tabs-mode:nil
End:
-}@
+}@#