chiark / gitweb /
infer_url() now attempts to spot https
[disorder] / templates / playing.tmpl
CommitLineData
04024c2c 1@include{macros.tmpl}@#
460b9539 2<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
3<!--
4This file is part of DisOrder.
8f9616f1 5Copyright (C) 2004-2008 Richard Kettlewell
460b9539 6
7This program is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful, but
13WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program; if not, write to the Free Software
19Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20USA
21-->
22<html>
23 <head>
04024c2c
RK
24@include{stdhead.tmpl}
25 <title>@if{@isplaying}
26 {@part{@playing}{title}@label{playing.title}}</title>
460b9539 27 </head>
28 <body>
04024c2c
RK
29@include{topbar.tmpl}
30 <h1>@label{playing.title}</h1>
460b9539 31
04024c2c
RK
32@# Extra control buttons for the management page
33 @if{@arg{mgmt}}{
328248ba 34 <div class=mgmt>
460b9539 35 <p class=mgmt>
04024c2c
RK
36 @if{@paused}{
37@# Paused
38 <a class=button
39 href="@url?action=resume&#38;mgmt=true"
40 title="@label{playing.resumeverbose}">@label{playing.pause}</a>
41 </a>
42 <img width=16 height=16 class=imgbutton src="@image{enabled}">
460b9539 43 }{
04024c2c
RK
44@# Not paused
45 <a class=button
46 href="@url?action=pause&#38;mgmt=true"
47 title="@label{playing.pauseverbose}">@label{playing.pause}</a>
48 </a>
49 <img width=16 height=16 class=imgbutton src="@image{disabled}">
50 }
51 @if{@random-enabled}{
52@# Random play enabled
53 <a class=button
54 href="@url?action=random-disable&#38;mgmt=true"
55 title="@label{playing.randomdisableverbose}">@label{playing.random}</a>
56 </a>
57 <img width=16 height=16 class=imgbutton src="@image{enabled}">
460b9539 58 }{
04024c2c
RK
59@# Random play disabled
60 <a class=button
61 href="@url?action=random-enable&#38;mgmt=true"
62 title="@label{playing.randomenableverbose}">@label{playing.random}</a>
63 </a>
64 <img width=16 height=16 class=imgbutton src="@image{disabled}">
65 }
66 @if{@enabled}{
67@# Play enabled
68 <a class=button
69 href="@url?action=disable&#38;mgmt=true"
70 title="@label{playing.disableverbose}">@label{playing.playing}</a>
71 </a>
72 <img width=16 height=16 class=imgbutton src="@image{enabled}">
460b9539 73 }{
04024c2c
RK
74@# Play disbaled
75 <a class=button
76 href="@url?action=enable&#38;mgmt=true"
77 title="@label{playing.enableverbose}">@label{playing.playing}</a>
78 </a>
79 <img width=16 height=16 class=imgbutton src="@image{disabled}">
80 }
81@3 Volume form
82 <form class=volume action="@url" method=POST
460b9539 83 enctype="multipart/form-data" accept-charset=utf-8>
84 <span class=volume>
04024c2c
RK
85 @label{playing.volume}
86@# Volume up button
87 @right{volume}{
88 <a class=imgbutton
89 href="@url?action=volume&#38;delta=-@label{volume.resolution}&#38;back=manage">
90 <img class=button src="@image{down}"
91 alt="@label{volume.reduce}"
92 title="@label{volume.reduceverbose}">
93 </a>
94 }{
95 <img class=button src="@image{nodown}">
96 }
97@# Volume value widgets
98 @label{volume.left} <input size=3 name=left type=text value="@volume:left@">
99 @label{volume.right} <input size=3 name=right type=text value="@volume:right@">
460b9539 100 <input name=back type=hidden value="@thisurl@?mgmt=true">
04024c2c
RK
101@# Volume set button
102 @right{volume}{
103 <button class=search name=submit type=submit>
104 @label{volume.set}
105 </button><input name=action type=hidden value=volume>
106 }
107@# Volume down button
108 @right{volume}{
109 <a class=imgbutton
110 href="@url?action=volume&#38;delta=@label{volume.resolution}&#38;back=manage">
111 <img class=button
112 src="@image{up}"
113 alt="@label{volume.increase}"
114 title="@label{volume.increaseverbose}">
115 </a>
116 }{
117 <img class=button src="@image{noup}">
118 }
460b9539 119 </form>
120 </span>
328248ba 121 </p>
122 </div>
04024c2c 123 }
460b9539 124
04024c2c
RK
125@# Only display the table if there is something to put in it
126@if{@or{@isplaying}{@isqueue}}{
460b9539 127 <table class=playing>
128 <tr class=headings>
04024c2c
RK
129 <th class=when>@label{heading.when}</th>
130 <th class=who>@label{heading.who}</th>
131 <th class=artist>@label{heading.artist}</th>
132 <th class=album>@label{heading.album}</th>
133 <th class=title>@label{heading.title}</th>
134 <th class=length>@label{heading.length}</th>
460b9539 135 <th class=button>&nbsp;</th>
04024c2c 136 @if{@arg{mgmt}}{
460b9539 137 <th class=imgbutton>&nbsp;</th>
138 <th class=imgbutton>&nbsp;</th>
139 <th class=imgbutton>&nbsp;</th>
140 <th class=imgbutton>&nbsp;</th>
141 }@
142 </tr>
04024c2c 143 @if{@isplaying}{
460b9539 144 <tr class=nowplaying>
04024c2c 145 <td colspan=@if{@arg{mgmt}}{11}{7}@>@label{playing.now}</td>
460b9539 146 </tr>
147 @playing{
148 <tr class=playing>
149 <td class=when>@when@</td>
04024c2c 150 <td class=who>@if{@eq{@who@}{}@}{@if{@eq{@state@}{random}@}{@label{playing.randomtrack}}{&nbsp;}@}{@who@}@</td>
a31780f6 151 <td class=artist>@right{play}{<a class=directory
04024c2c
RK
152 href="@url?action=choose&amp;directory=@urlquote{@dirname{@dirname{@part:path@}@}@}@"
153 title="@label{playing.artistverbose}"
a31780f6 154 >@part{short}{artist}@</a>}{<span class=directory
155 title="@part{artist}@"
156 >@part{short}{artist}@</span>}@</td>
157 <td class=album>@right{play}{<a class=directory
04024c2c
RK
158 href="@url?action=choose&amp;directory=@urlquote{@dirname{@part:path@}@}@"
159 title="@label{playing.albumverbose}"
a31780f6 160 >@part{short}{album}@</a>}{<span class=directory
161 title="@part{album}@"
162 >@part{short}{album}@</span>}@</td>
61507e3c
RK
163 <td class=title><span
164 title="@part{title}@">@part{short}{title}@</span></td>
460b9539 165 <td class=length>@length@</td>
166 <td class=imgbutton>@if{@scratchable@}{<a class=imgbutton
04024c2c
RK
167 href="@url?action=scratch&#38;id=@id@&#38;mgmt=@arg{mgmt}"><img
168 class=button src="@image{scratch}"
169 title="@label{playing.scratchverbose}"
170 alt="@label{playing.scratch}"></a>}{<img
171 class=button src="@image{noscratch}"
172 title="@label{playing.scratchverbose}"
173 alt="@label{playing.scratch}">}@</td>
174 @if{@arg{mgmt}}{
460b9539 175 <td class=imgbutton>&nbsp;</td>
176 <td class=imgbutton>&nbsp;</td>
177 <td class=imgbutton>&nbsp;</td>
178 <td class=imgbutton>&nbsp;</td>
179 }@
180 </tr>
181 }@}@
182 @if{@isqueue@}{
183 <tr class=next>
04024c2c 184 <td colspan=@if{@arg{mgmt}}{11}{7}@>@label{playing.next}</td>
460b9539 185 </tr>
186 @queue{
187 <tr class=@parity@>
188 <td class=when>@when@</td>
04024c2c 189 <td class=who>@if{@eq{@who@}{}@}{@if{@eq{@state@}{random}@}{@label{queue.randomtrack}}{&nbsp;}@}{@who@}@</td>
a31780f6 190 <td class=artist>@right{play}{<a class=directory
191 title="@part{artist}@"
04024c2c 192 href="@url?action=choose&amp;directory=@urlquote{@dirname{@dirname{@part:path@}@}@}@"
a31780f6 193 >@part{short}{artist}@</a>}{<span class=directory
61507e3c 194 title="@part{artist}@"
a31780f6 195 >@part{short}{artist}@</span>}@</td>
196 <td class=album>@right{play}{<a class=directory
197 title="@part{album}@"
04024c2c 198 href="@url?action=choose&amp;directory=@urlquote{@dirname{@part:path@}@}@"
a31780f6 199 >@part{short}{album}@</a>}{<span class=directory
61507e3c 200 title="@part{album}@"
a31780f6 201 >@part{short}{album}@}@</td>
61507e3c
RK
202 <td class=title><span
203 title="@part{title}@">@part{short}{title}@</span></td>
460b9539 204 <td class=length>@length@</td>
205 <td class=imgbutton>@if{@removable@}{<a class=imgbutton
04024c2c
RK
206 href="@url?action=remove&#38;id=@id@&#38;mgmt=@arg{mgmt}"><img
207 class=button src="@image{scratch}"
208 title="@label{playing.removeverbose}"
209 alt="@label{playing.remove}"></a>}{<img
210 class=button src="@image{noscratch}"
211 title="@label{playing.removeverbose}"
212 alt="@label{playing.remove}">}@</td>
d7ce365e 213
04024c2c 214 @if{@arg{mgmt}}{
d7ce365e 215 @if{@or{@isfirst@}
216 {@not{@movable@}@}@}{
217 <!-- cannot move up -->
218 <td class=imgbutton>
460b9539 219 <img
04024c2c
RK
220 class=button src="@image{noupall}"
221 title="@label{playing.upallverbose}" alt="">
460b9539 222 <td class=imgbutton>
223 <img
04024c2c
RK
224 class=button src="@image{noup}"
225 title="@label{playing.upverbose}" alt="">
d7ce365e 226 }{
227 <!-- can move up -->
228 <td class=imgbutton>
460b9539 229 <a class=imgbutton
04024c2c
RK
230 href="@url?action=move&#38;id=@id@&#38;delta=2147483647&#38;mgmt=true"><img
231 class=button src="@image{upall}"
232 title="@label{playing.upallverbose}"
233 alt="@label{playing.upall}"></a>
460b9539 234 <td class=imgbutton>
235 <a class=imgbutton
04024c2c
RK
236 href="@url?action=move&#38;id=@id@&#38;delta=1&#38;mgmt=true"><img
237 class=button src="@image{up}"
238 title="@label{playing.upverbose}" alt="@label{playing.up}"></a>
d7ce365e 239 }@
240
241 @if{@or{@islast@}
242 {@not{@movable@}@}@}{
243 <!-- cannot move down -->
244 <td class=imgbutton>
245 <img
04024c2c
RK
246 class=button src="@image{nodownall}"
247 title="@label{playing.downallverbose}" alt="">
d7ce365e 248 <td class=imgbutton>
460b9539 249 <img
04024c2c
RK
250 class=button src="@image{nodown}"
251 title="@label{playing.downverbose}" alt="">
d7ce365e 252 }{
253 <!-- can move down -->
460b9539 254 <td class=imgbutton>
d7ce365e 255 <a class=imgbutton
04024c2c
RK
256 href="@url?action=move&#38;id=@id@&#38;delta=-2147483647&#38;mgmt=true"><img
257 class=button src="@image{downall}"
258 title="@label{playing.downallverbose}"
259 alt="@label{playing.downall}"></a>
d7ce365e 260 <td class=imgbutton>
261 <a class=imgbutton
04024c2c
RK
262 href="@url?action=move&#38;id=@id@&#38;delta=-1&#38;mgmt=true"><img
263 class=button src="@image{down}"
264 title="@label{playing.downverbose}" alt="@label{playing.down}"></a>
d7ce365e 265 }@
266
460b9539 267 }@
268 </tr>
269 }@}@
270 </table>
271}@
272
e12da4d9 273@include{topbarend}@
460b9539 274 </body>
275</html>
276@@
277<!--
278Local variables:
279mode:sgml
280sgml-always-quote-attributes:nil
281sgml-indent-step:1
282sgml-indent-data:t
283End:
284-->