chiark / gitweb /
more templates plus support code changes
[disorder] / templates / playing.tmpl
CommitLineData
460b9539 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
2<!--
3This file is part of DisOrder.
8f9616f1 4Copyright (C) 2004-2008 Richard Kettlewell
460b9539 5
6This program is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2 of the License, or
9(at your option) any later version.
10
11This program is distributed in the hope that it will be useful, but
12WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with this program; if not, write to the Free Software
18Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19USA
20-->
2257512d 21@discard{
1a3dba67
RK
22
23 @# On/off button for pause etc
24 @# @class should be the class: pause, random, playing
25 @# @action should be the action to switch to the opposite state
26 @# @state should be the current state
27 @define {onoff} {class action state}
28 {<a class=button
29 href="@url?action=@action@back"@class}@q{@state
30 title="@label{playing.@q{action}verbose}">
31 @label{playing.@class}
32 </a>
33 <img width=@width height=@height class=imgbutton
34 src="@image{@state}">}
35
36 @# Volume up/down buttons
37 @# @dir is the direction: up or down
38 @# @sign is the sign: + or -
39 @define {vbutton}{dir sign}
40 {@right{volume}
41 {<a class=imgbutton
42 href="@url?action=volume&#38;delta=@sign@label{volume.resolution}@back">
43 <img class=button src="@image{@dir}"
30d85588 44 width=@width height=@height
1a3dba67
RK
45 alt="@label{volume.@dir}"
46 title="@label{volume.@q{@dir}verbose}">
47 </a>}
30d85588
RK
48 {<img class=button width=@width height=@height
49 src="@image{no@dir}">}}
1a3dba67 50
0d0253c9
RK
51 @# Expand to @yes for the Manage page and @no for the playing page
52 @define {ifmanage} {yes no}
53 {@if {@eq {@arg{action}}{manage}}
54 {@yes}
55 {@no}}
56
57 @# Expand to &back=manage or to nothing
58 @define {back} {}
59 {@ifmanage{&amp;back=manage}{}}
2257512d 60}@#
460b9539 61<html>
62 <head>
0d0253c9 63@quiethead
04024c2c 64 <title>@if{@isplaying}
2257512d
RK
65 {@playing{@part{@id}{title}}}
66 {@label{playing.title}}</title>
460b9539 67 </head>
68 <body>
0d0253c9 69@stdmenu{@ifmanage{manage}{playing}}
04024c2c 70 <h1>@label{playing.title}</h1>
460b9539 71
04024c2c 72@# Extra control buttons for the management page
2257512d 73 @ifmanage{
328248ba 74 <div class=mgmt>
1a3dba67
RK
75 <p class=mgmt>
76 @if{@paused}
77 {@onoff{class}{resume}{enabled}}
78 {@onoff{class}{pause}{disabled}}
79 @if{@random-enabled}
80 {@onoff{random}{randomdisable}{enabled}}
81 {@onoff{random}{randomenable}{disabled}}
82 @if{@enabled}
83 {@onoff{playing}{disable}{enabled}}
84 {@onoff{playing}{enable}{disabled}}
85 <form class=volume method=POST
86 action="@url"
87 enctype="multipart/form-data" accept-charset=utf-8>
88 <span class=volume>
89 @label{playing.volume}
90 @vbutton{up}{+}
91 @label{volume.left}
92 <input size=3 name=left type=text value="@volume{left}">
93 @label{volume.right}
94 <input size=3 name=right type=text value="@volume{right}">
95 <input name=back type=hidden value="@thisurl@?back=manage">
96 @right{volume}{
97 <button class=search name=submit type=submit>
98 @label{volume.set}
99 </button>
100 <input name=action type=hidden value=volume>
101 }
102 @vbutton{down}{-}
103 </span>
104 </form>
105 </p>
328248ba 106 </div>
2257512d 107 }{}
460b9539 108
04024c2c
RK
109@# Only display the table if there is something to put in it
110@if{@or{@isplaying}{@isqueue}}{
460b9539 111 <table class=playing>
112 <tr class=headings>
04024c2c
RK
113 <th class=when>@label{heading.when}</th>
114 <th class=who>@label{heading.who}</th>
115 <th class=artist>@label{heading.artist}</th>
116 <th class=album>@label{heading.album}</th>
117 <th class=title>@label{heading.title}</th>
118 <th class=length>@label{heading.length}</th>
460b9539 119 <th class=button>&nbsp;</th>
2257512d 120 @ifmanage{
1a3dba67
RK
121 <th class=imgbutton>&nbsp;</th>
122 <th class=imgbutton>&nbsp;</th>
123 <th class=imgbutton>&nbsp;</th>
124 <th class=imgbutton>&nbsp;</th>
2257512d 125 }{}
460b9539 126 </tr>
af106f2d
RK
127 @if{@isplaying}{
128 <tr class=nowplaying>
1a3dba67 129 <td colspan=@ifmanage{11}{7}>@label{playing.now}</td>
af106f2d
RK
130 </tr>
131 }
2257512d 132 @playing{
af106f2d 133 <tr class=playing>
1a3dba67
RK
134 <td class=when>@mwhen{playing}{@id}</td>
135 <td class=who>@mwho{playing}{@id}</td>
136 <td class=artist>@martist{playing}{@track}</td>
137 <td class=album>@malbum{playing}{@track}</td>
138 <td class=title>@mtitle{playing}{@track}</td>
139 <td class=length>@length{@id}</td>
140 <td class=imgbutton>@mremove{playing}{@id}</td>
141 @ifmanage{
142 <td class=imgbutton>&nbsp;</td>
143 <td class=imgbutton>&nbsp;</td>
144 <td class=imgbutton>&nbsp;</td>
145 <td class=imgbutton>&nbsp;</td>
146 }{}
af106f2d 147 </tr>
2257512d 148 }
460b9539 149 @if{@isqueue@}{
af106f2d 150 <tr class=next>
1a3dba67 151 <td colspan=@ifmanage{11}{7}@>@label{playing.next}</td>
af106f2d 152 </tr>
2257512d 153 }
460b9539 154 @queue{
af106f2d 155 <tr class=@parity@>
1a3dba67
RK
156 <td class=when>@mwhen{queue}{@id}</td>
157 <td class=who>@mwho{queue}{@id}</td>
158 <td class=artist>@martist{queue}{@track}</td>
159 <td class=album>@malbum{queue}{@track}</td>
160 <td class=title>@mtitle{queue}{@track}</td>
161 <td class=length>@length</td>
162 <td class=imgbutton>@mremove{queue}{@id}</td>
163 @ifmanage{
164 <td class=imgbutton>@mmove{@id}{upall}{2147483647}</td>
165 <td class=imgbutton>@mmove{@id}{up}{1}</td>
166 <td class=imgbutton>@mmove{@id}{down}{-1}</td>
167 <td class=imgbutton>@mmove{@id}{downall}{-2147483647}</td>
168 }
af106f2d 169 </tr>
2257512d 170 }
460b9539 171 </table>
2257512d 172}
460b9539 173
0d0253c9 174@credits
460b9539 175 </body>
176</html>
2257512d 177@discard{
460b9539 178Local variables:
179mode:sgml
180sgml-always-quote-attributes:nil
181sgml-indent-step:1
182sgml-indent-data:t
0d0253c9 183indent-tabs-mode:nil
460b9539 184End:
0d0253c9 185}@#