Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
fb3be334
Commit
fb3be334
authored
Oct 28, 2011
by
Francois Cartegnie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
web intf: prettify js code.
And convert tabs to 4 spaces according to code guidelines.
parent
6b49065d
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
629 additions
and
607 deletions
+629
-607
share/lua/http/js/common.js
share/lua/http/js/common.js
+68
-59
share/lua/http/js/controlers.js
share/lua/http/js/controlers.js
+478
-477
share/lua/http/js/ui.js
share/lua/http/js/ui.js
+83
-71
No files found.
share/lua/http/js/common.js
View file @
fb3be334
var
intv
=
0
;
var
ccmd
=
""
;
var
video_types
=
[
'
avi
'
,
'
mp4
'
,
'
wmv
'
,
'
mov
'
,
'
swf
'
,
'
vob
'
,
'
mkv
'
,
'
mpg
'
];
var
audio_types
=
[
'
mp3
'
,
'
wav
'
];
var
video_types
=
[
'
avi
'
,
'
mp4
'
,
'
wmv
'
,
'
mov
'
,
'
swf
'
,
'
vob
'
,
'
mkv
'
,
'
mpg
'
];
var
audio_types
=
[
'
mp3
'
,
'
wav
'
];
var
stream_server
=
window
.
location
.
hostname
;
function
format_time
(
s
){
var
hours
=
Math
.
floor
(
s
/
3600
);
var
minutes
=
Math
.
floor
((
s
/
60
)
%
60
);
var
seconds
=
Math
.
floor
(
s
%
60
);
hours
=
hours
<
10
?
"
0
"
+
hours
:
hours
;
minutes
=
minutes
<
10
?
"
0
"
+
minutes
:
minutes
;
seconds
=
seconds
<
10
?
"
0
"
+
seconds
:
seconds
;
return
hours
+
"
:
"
+
minutes
+
"
:
"
+
seconds
;
function
format_time
(
s
)
{
var
hours
=
Math
.
floor
(
s
/
3600
);
var
minutes
=
Math
.
floor
((
s
/
60
)
%
60
);
var
seconds
=
Math
.
floor
(
s
%
60
);
hours
=
hours
<
10
?
"
0
"
+
hours
:
hours
;
minutes
=
minutes
<
10
?
"
0
"
+
minutes
:
minutes
;
seconds
=
seconds
<
10
?
"
0
"
+
seconds
:
seconds
;
return
hours
+
"
:
"
+
minutes
+
"
:
"
+
seconds
;
}
function
toFloat
(
text
)
{
return
parseFloat
(
text
.
replace
(
'
,
'
,
'
.
'
));
function
toFloat
(
text
)
{
return
parseFloat
(
text
.
replace
(
'
,
'
,
'
.
'
));
}
function
setIntv
(){
if
(
intv
>
0
){
function
setIntv
()
{
if
(
intv
>
0
)
{
intv
++
;
setTimeout
(
setIntv
,
500
);
}
else
{
intv
=
0
;
setTimeout
(
setIntv
,
500
);
}
else
{
intv
=
0
;
}
if
(
intv
>
5
)
{
if
(
intv
>
5
)
{
var
nt
=
0
;
switch
(
ccmd
)
{
switch
(
ccmd
)
{
case
'
prev
'
:
nt
=
Math
.
max
(
0
,
$
(
'
#seekSlider
'
).
slider
(
'
value
'
)
-
10
);
nt
=
Math
.
max
(
0
,
$
(
'
#seekSlider
'
).
slider
(
'
value
'
)
-
10
);
break
;
case
'
next
'
:
nt
=
Math
.
max
(
0
,
$
(
'
#seekSlider
'
).
slider
(
'
value
'
)
+
10
);
nt
=
Math
.
max
(
0
,
$
(
'
#seekSlider
'
).
slider
(
'
value
'
)
+
10
);
break
;
}
switch
(
current_que
)
{
switch
(
current_que
)
{
case
'
main
'
:
sendCommand
({
'
command
'
:
'
seek
'
,
'
val
'
:
Math
.
round
((
nt
/
100
)
*
$
(
'
#seekSlider
'
).
attr
(
'
totalLength
'
)),
plreload
:
false
});
sendCommand
({
'
command
'
:
'
seek
'
,
'
val
'
:
Math
.
round
((
nt
/
100
)
*
$
(
'
#seekSlider
'
).
attr
(
'
totalLength
'
)),
plreload
:
false
});
break
;
case
'
stream
'
:
sendVLMCmd
(
'
control Current seek
'
+
nt
);
sendVLMCmd
(
'
control Current seek
'
+
nt
);
break
;
}
}
}
function
convertHz
(
value
){
if
(
value
>=
1000
){
return
Math
.
round
(
value
/
1000
,
2
)
+
'
kHz
'
;
}
else
{
return
Math
.
round
(
value
,
2
)
+
'
Hz
'
;
function
convertHz
(
value
)
{
if
(
value
>=
1000
)
{
return
Math
.
round
(
value
/
1000
,
2
)
+
'
kHz
'
;
}
else
{
return
Math
.
round
(
value
,
2
)
+
'
Hz
'
;
}
}
function
isMobile
(){
var
a
=
navigator
.
userAgent
||
navigator
.
vendor
||
window
.
opera
;
if
(
/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip
(
hone|od
)
|iris|kindle|lge |maemo|midp|mmp|opera m
(
ob|in
)
i|palm
(
os
)?
|phone|p
(
ixi|re
)\/
|plucker|pocket|psp|symbian|treo|up
\.(
browser|link
)
|vodafone|wap|windows
(
ce|phone
)
|xda|xiino/i
.
test
(
a
)
||
/1207|6310|6590|3gso|4thp|50
[
1-6
]
i|770s|802s|a wa|abac|ac
(
er|oo|s
\-)
|ai
(
ko|rn
)
|al
(
av|ca|co
)
|amoi|an
(
ex|ny|yw
)
|aptu|ar
(
ch|go
)
|as
(
te|us
)
|attw|au
(
di|
\-
m|r |s
)
|avan|be
(
ck|ll|nq
)
|bi
(
lb|rd
)
|bl
(
ac|az
)
|br
(
e|v
)
w|bumb|bw
\-(
n|u
)
|c55
\/
|capi|ccwa|cdm
\-
|cell|chtm|cldc|cmd
\-
|co
(
mp|nd
)
|craw|da
(
it|ll|ng
)
|dbte|dc
\-
s|devi|dica|dmob|do
(
c|p
)
o|ds
(
12|
\-
d
)
|el
(
49|ai
)
|em
(
l2|ul
)
|er
(
ic|k0
)
|esl8|ez
([
4-7
]
0|os|wa|ze
)
|fetc|fly
(\-
|_
)
|g1 u|g560|gene|gf
\-
5|g
\-
mo|go
(\.
w|od
)
|gr
(
ad|un
)
|haie|hcit|hd
\-(
m|p|t
)
|hei
\-
|hi
(
pt|ta
)
|hp
(
i|ip
)
|hs
\-
c|ht
(
c
(\-
| |_|a|g|p|s|t
)
|tp
)
|hu
(
aw|tc
)
|i
\-(
20|go|ma
)
|i230|iac
(
|
\-
|
\/)
|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja
(
t|v
)
a|jbro|jemu|jigs|kddi|keji|kgt
(
|
\/)
|klon|kpt |kwc
\-
|kyo
(
c|k
)
|le
(
no|xi
)
|lg
(
g|
\/(
k|l|u
)
|50|54|e
\-
|e
\/
|
\-[
a-w
])
|libw|lynx|m1
\-
w|m3ga|m50
\/
|ma
(
te|ui|xo
)
|mc
(
01|21|ca
)
|m
\-
cr|me
(
di|rc|ri
)
|mi
(
o8|oa|ts
)
|mmef|mo
(
01|02|bi|de|do|t
(\-
| |o|v
)
|zz
)
|mt
(
50|p1|v
)
|mwbp|mywa|n10
[
0-2
]
|n20
[
2-3
]
|n30
(
0|2
)
|n50
(
0|2|5
)
|n7
(
0
(
0|1
)
|10
)
|ne
((
c|m
)\-
|on|tf|wf|wg|wt
)
|nok
(
6|i
)
|nzph|o2im|op
(
ti|wv
)
|oran|owg1|p800|pan
(
a|d|t
)
|pdxg|pg
(
13|
\-([
1-8
]
|c
))
|phil|pire|pl
(
ay|uc
)
|pn
\-
2|po
(
ck|rt|se
)
|prox|psio|pt
\-
g|qa
\-
a|qc
(
07|12|21|32|60|
\-[
2-7
]
|i
\-)
|qtek|r380|r600|raks|rim9|ro
(
ve|zo
)
|s55
\/
|sa
(
ge|ma|mm|ms|ny|va
)
|sc
(
01|h
\-
|oo|p
\-)
|sdk
\/
|se
(
c
(\-
|0|1
)
|47|mc|nd|ri
)
|sgh
\-
|shar|sie
(\-
|m
)
|sk
\-
0|sl
(
45|id
)
|sm
(
al|ar|b3|it|t5
)
|so
(
ft|ny
)
|sp
(
01|h
\-
|v
\-
|v
)
|sy
(
01|mb
)
|t2
(
18|50
)
|t6
(
00|10|18
)
|ta
(
gt|lk
)
|tcl
\-
|tdg
\-
|tel
(
i|m
)
|tim
\-
|t
\-
mo|to
(
pl|sh
)
|ts
(
70|m
\-
|m3|m5
)
|tx
\-
9|up
(\.
b|g1|si
)
|utst|v400|v750|veri|vi
(
rg|te
)
|vk
(
40|5
[
0-3
]
|
\-
v
)
|vm40|voda|vulc|vx
(
52|53|60|61|70|80|81|83|85|98
)
|w3c
(\-
|
)
|webc|whit|wi
(
g |nc|nw
)
|wmlb|wonu|x700|xda
(\-
|2|g
)
|yas
\-
|your|zeto|zte
\-
/i
.
test
(
a
.
substr
(
0
,
4
))){
function
isMobile
()
{
var
a
=
navigator
.
userAgent
||
navigator
.
vendor
||
window
.
opera
;
if
(
/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip
(
hone|od
)
|iris|kindle|lge |maemo|midp|mmp|opera m
(
ob|in
)
i|palm
(
os
)?
|phone|p
(
ixi|re
)\/
|plucker|pocket|psp|symbian|treo|up
\.(
browser|link
)
|vodafone|wap|windows
(
ce|phone
)
|xda|xiino/i
.
test
(
a
)
||
/1207|6310|6590|3gso|4thp|50
[
1-6
]
i|770s|802s|a wa|abac|ac
(
er|oo|s
\-)
|ai
(
ko|rn
)
|al
(
av|ca|co
)
|amoi|an
(
ex|ny|yw
)
|aptu|ar
(
ch|go
)
|as
(
te|us
)
|attw|au
(
di|
\-
m|r |s
)
|avan|be
(
ck|ll|nq
)
|bi
(
lb|rd
)
|bl
(
ac|az
)
|br
(
e|v
)
w|bumb|bw
\-(
n|u
)
|c55
\/
|capi|ccwa|cdm
\-
|cell|chtm|cldc|cmd
\-
|co
(
mp|nd
)
|craw|da
(
it|ll|ng
)
|dbte|dc
\-
s|devi|dica|dmob|do
(
c|p
)
o|ds
(
12|
\-
d
)
|el
(
49|ai
)
|em
(
l2|ul
)
|er
(
ic|k0
)
|esl8|ez
([
4-7
]
0|os|wa|ze
)
|fetc|fly
(\-
|_
)
|g1 u|g560|gene|gf
\-
5|g
\-
mo|go
(\.
w|od
)
|gr
(
ad|un
)
|haie|hcit|hd
\-(
m|p|t
)
|hei
\-
|hi
(
pt|ta
)
|hp
(
i|ip
)
|hs
\-
c|ht
(
c
(\-
| |_|a|g|p|s|t
)
|tp
)
|hu
(
aw|tc
)
|i
\-(
20|go|ma
)
|i230|iac
(
|
\-
|
\/)
|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja
(
t|v
)
a|jbro|jemu|jigs|kddi|keji|kgt
(
|
\/)
|klon|kpt |kwc
\-
|kyo
(
c|k
)
|le
(
no|xi
)
|lg
(
g|
\/(
k|l|u
)
|50|54|e
\-
|e
\/
|
\-[
a-w
])
|libw|lynx|m1
\-
w|m3ga|m50
\/
|ma
(
te|ui|xo
)
|mc
(
01|21|ca
)
|m
\-
cr|me
(
di|rc|ri
)
|mi
(
o8|oa|ts
)
|mmef|mo
(
01|02|bi|de|do|t
(\-
| |o|v
)
|zz
)
|mt
(
50|p1|v
)
|mwbp|mywa|n10
[
0-2
]
|n20
[
2-3
]
|n30
(
0|2
)
|n50
(
0|2|5
)
|n7
(
0
(
0|1
)
|10
)
|ne
((
c|m
)\-
|on|tf|wf|wg|wt
)
|nok
(
6|i
)
|nzph|o2im|op
(
ti|wv
)
|oran|owg1|p800|pan
(
a|d|t
)
|pdxg|pg
(
13|
\-([
1-8
]
|c
))
|phil|pire|pl
(
ay|uc
)
|pn
\-
2|po
(
ck|rt|se
)
|prox|psio|pt
\-
g|qa
\-
a|qc
(
07|12|21|32|60|
\-[
2-7
]
|i
\-)
|qtek|r380|r600|raks|rim9|ro
(
ve|zo
)
|s55
\/
|sa
(
ge|ma|mm|ms|ny|va
)
|sc
(
01|h
\-
|oo|p
\-)
|sdk
\/
|se
(
c
(\-
|0|1
)
|47|mc|nd|ri
)
|sgh
\-
|shar|sie
(\-
|m
)
|sk
\-
0|sl
(
45|id
)
|sm
(
al|ar|b3|it|t5
)
|so
(
ft|ny
)
|sp
(
01|h
\-
|v
\-
|v
)
|sy
(
01|mb
)
|t2
(
18|50
)
|t6
(
00|10|18
)
|ta
(
gt|lk
)
|tcl
\-
|tdg
\-
|tel
(
i|m
)
|tim
\-
|t
\-
mo|to
(
pl|sh
)
|ts
(
70|m
\-
|m3|m5
)
|tx
\-
9|up
(\.
b|g1|si
)
|utst|v400|v750|veri|vi
(
rg|te
)
|vk
(
40|5
[
0-3
]
|
\-
v
)
|vm40|voda|vulc|vx
(
52|53|60|61|70|80|81|83|85|98
)
|w3c
(\-
|
)
|webc|whit|wi
(
g |nc|nw
)
|wmlb|wonu|x700|xda
(\-
|2|g
)
|yas
\-
|your|zeto|zte
\-
/i
.
test
(
a
.
substr
(
0
,
4
)))
{
return
true
;
}
return
false
;
}
function
createElementLi
(
name
,
type
,
dir
,
ext
){
var
icon
=
type
==
"
dir
"
&&
name
==
'
..
'
?
'
Back-48.png
'
:
(
type
==
'
dir
'
?
"
Folder-48.png
"
:
(
$
.
inArray
(
ext
,
video_types
)
!=-
1
?
"
Video-48.png
"
:
(
$
.
inArray
(
ext
,
audio_types
)
!=-
1
?
"
Audio-48.png
"
:
"
Other-48.png
"
)));
var
open
=
type
==
"
dir
"
?
"
opendir='
"
+
dir
+
"
'
"
:
(
type
==
"
file
"
?
"
openfile='
"
+
dir
+
"
'
"
:
"
opendev='
"
+
dir
+
"
'
"
);
var
str
=
"
<li class='system_icon ui-widget-content'
"
+
open
+
"
><img src='images/
"
+
icon
+
"
' width='48px' height='48px' title='
"
+
name
+
"
' alt='
"
+
name
+
"
' style='border: none;background:none;'/><div style='font-size:10px;border:none;background:none;'>
"
+
name
+
"
</div></li>
"
;
function
createElementLi
(
name
,
type
,
dir
,
ext
)
{
var
icon
=
type
==
"
dir
"
&&
name
==
'
..
'
?
'
Back-48.png
'
:
(
type
==
'
dir
'
?
"
Folder-48.png
"
:
(
$
.
inArray
(
ext
,
video_types
)
!=
-
1
?
"
Video-48.png
"
:
(
$
.
inArray
(
ext
,
audio_types
)
!=
-
1
?
"
Audio-48.png
"
:
"
Other-48.png
"
)));
var
open
=
type
==
"
dir
"
?
"
opendir='
"
+
dir
+
"
'
"
:
(
type
==
"
file
"
?
"
openfile='
"
+
dir
+
"
'
"
:
"
opendev='
"
+
dir
+
"
'
"
);
var
str
=
"
<li class='system_icon ui-widget-content'
"
+
open
+
"
><img src='images/
"
+
icon
+
"
' width='48px' height='48px' title='
"
+
name
+
"
' alt='
"
+
name
+
"
' style='border: none;background:none;'/><div style='font-size:10px;border:none;background:none;'>
"
+
name
+
"
</div></li>
"
;
return
str
;
}
share/lua/http/js/controlers.js
View file @
fb3be334
var
current_id
=
1
;
var
currentArt
=
null
;
var
current_que
=
'
main
'
;
function
updateArt
(
url
)
{
$
(
'
#albumArt
'
).
fadeOut
(
500
,
function
(){
$
(
this
).
addClass
(
'
hidden
'
)
.
removeAttr
(
'
height
'
)
.
removeAttr
(
'
width
'
)
.
attr
(
'
src
'
,
url
);
function
updateArt
(
url
)
{
$
(
'
#albumArt
'
).
fadeOut
(
500
,
function
()
{
$
(
this
).
addClass
(
'
hidden
'
).
removeAttr
(
'
height
'
).
removeAttr
(
'
width
'
).
attr
(
'
src
'
,
url
);
});
}
function
updateStatus
(){
function
updateStatus
()
{
$
.
ajax
({
url
:
'
requests/status.xml
'
,
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
current_que
==
'
main
'
)
{
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
current_que
==
'
main
'
)
{
$
(
'
.dynamic
'
).
empty
();
$
(
'
#mediaTitle
'
).
append
(
$
(
'
[name="filename"]
'
,
data
).
text
());
$
(
'
#totalTime
'
).
append
(
format_time
(
$
(
'
length
'
,
data
).
text
()));
$
(
'
#currentTime
'
).
append
(
format_time
(
$
(
'
time
'
,
data
).
text
()));
$
(
'
#seekSlider
'
).
slider
({
value
:
toFloat
(
$
(
'
position
'
,
data
).
text
())
*
100
});
$
(
'
#currentVolume
'
).
append
(
Math
.
round
(
$
(
'
volume
'
,
data
).
text
()
/
2.56
)
+
'
%
'
);
$
(
'
#volumeSlider
'
).
slider
({
value
:
(
$
(
'
volume
'
,
data
).
text
()
/
5.12
)
});
$
(
'
#rateSlider
'
).
slider
({
value
:
(
$
(
'
rate
'
,
data
).
text
())
});
$
(
'
#currentRate
'
).
append
(
Math
.
round
(
$
(
'
rate
'
,
data
).
text
()
*
100
)
/
100
+
'
x
'
);
$
(
'
#audioSlider
'
).
slider
({
value
:
(
$
(
'
audiodelay
'
,
data
).
text
())
});
$
(
'
#currentAudioDelay
'
).
append
(
Math
.
round
(
$
(
'
audiodelay
'
,
data
).
text
()
*
100
)
/
100
+
'
s
'
);
$
(
'
#subtitleSlider
'
).
slider
({
value
:
(
$
(
'
subtitledelay
'
,
data
).
text
())
});
$
(
'
#currentSubtitleDelay
'
).
append
(
Math
.
round
(
$
(
'
subtitledelay
'
,
data
).
text
()
*
100
)
/
100
+
'
s
'
);
$
(
'
#seekSlider
'
).
attr
(
'
totalLength
'
,
$
(
'
length
'
,
data
).
text
());
$
(
'
#buttonPlay
'
)
.
attr
(
'
state
'
,
$
(
'
state
'
,
data
).
text
())
.
attr
(
'
mrl
'
,
$
(
'
[name="filename"]
'
,
data
).
text
());
if
(
$
(
'
state
'
,
data
).
text
()
==
'
playing
'
){
$
(
'
#mediaTitle
'
).
append
(
$
(
'
[name="filename"]
'
,
data
).
text
());
$
(
'
#totalTime
'
).
append
(
format_time
(
$
(
'
length
'
,
data
).
text
()));
$
(
'
#currentTime
'
).
append
(
format_time
(
$
(
'
time
'
,
data
).
text
()));
$
(
'
#seekSlider
'
).
slider
({
value
:
toFloat
(
$
(
'
position
'
,
data
).
text
())
*
100
});
$
(
'
#currentVolume
'
).
append
(
Math
.
round
(
$
(
'
volume
'
,
data
).
text
()
/
2.56
)
+
'
%
'
);
$
(
'
#volumeSlider
'
).
slider
({
value
:
(
$
(
'
volume
'
,
data
).
text
()
/
5.12
)
});
$
(
'
#rateSlider
'
).
slider
({
value
:
(
$
(
'
rate
'
,
data
).
text
())
});
$
(
'
#currentRate
'
).
append
(
Math
.
round
(
$
(
'
rate
'
,
data
).
text
()
*
100
)
/
100
+
'
x
'
);
$
(
'
#audioSlider
'
).
slider
({
value
:
(
$
(
'
audiodelay
'
,
data
).
text
())
});
$
(
'
#currentAudioDelay
'
).
append
(
Math
.
round
(
$
(
'
audiodelay
'
,
data
).
text
()
*
100
)
/
100
+
'
s
'
);
$
(
'
#subtitleSlider
'
).
slider
({
value
:
(
$
(
'
subtitledelay
'
,
data
).
text
())
});
$
(
'
#currentSubtitleDelay
'
).
append
(
Math
.
round
(
$
(
'
subtitledelay
'
,
data
).
text
()
*
100
)
/
100
+
'
s
'
);
$
(
'
#seekSlider
'
).
attr
(
'
totalLength
'
,
$
(
'
length
'
,
data
).
text
());
$
(
'
#buttonPlay
'
).
attr
(
'
state
'
,
$
(
'
state
'
,
data
).
text
()).
attr
(
'
mrl
'
,
$
(
'
[name="filename"]
'
,
data
).
text
());
if
(
$
(
'
state
'
,
data
).
text
()
==
'
playing
'
)
{
$
(
'
#buttonPlay
'
).
removeClass
(
'
paused
'
).
addClass
(
'
playing
'
);
}
else
{
}
else
{
$
(
'
#buttonPlay
'
).
removeClass
(
'
playing
'
).
addClass
(
'
paused
'
);
}
if
(
$
(
'
random
'
,
data
).
text
()
==
'
true
'
){
$
(
'
#buttonShuffle
'
)
.
removeClass
(
'
ui-state-default
'
)
.
addClass
(
'
ui-state-active
'
);
}
else
{
$
(
'
#buttonShuffle
'
)
.
addClass
(
'
ui-state-default
'
)
.
removeClass
(
'
ui-state-active
'
);
}
if
(
$
(
'
loop
'
,
data
).
text
()
==
'
true
'
){
$
(
'
#buttonLoop
'
)
.
removeClass
(
'
ui-state-default
'
)
.
addClass
(
'
ui-state-active
'
);
}
else
{
$
(
'
#buttonLoop
'
)
.
addClass
(
'
ui-state-default
'
)
.
removeClass
(
'
ui-state-active
'
);
}
if
(
$
(
'
repeat
'
,
data
).
text
()
==
'
true
'
){
$
(
'
#buttonRepeat
'
)
.
removeClass
(
'
ui-state-default
'
)
.
addClass
(
'
ui-state-active
'
);
}
else
{
$
(
'
#buttonRepeat
'
)
.
addClass
(
'
ui-state-default
'
)
.
removeClass
(
'
ui-state-active
'
);
if
(
$
(
'
random
'
,
data
).
text
()
==
'
true
'
)
{
$
(
'
#buttonShuffle
'
).
removeClass
(
'
ui-state-default
'
).
addClass
(
'
ui-state-active
'
);
}
else
{
$
(
'
#buttonShuffle
'
).
addClass
(
'
ui-state-default
'
).
removeClass
(
'
ui-state-active
'
);
}
if
(
$
(
'
loop
'
,
data
).
text
()
==
'
true
'
)
{
$
(
'
#buttonLoop
'
).
removeClass
(
'
ui-state-default
'
).
addClass
(
'
ui-state-active
'
);
}
else
{
$
(
'
#buttonLoop
'
).
addClass
(
'
ui-state-default
'
).
removeClass
(
'
ui-state-active
'
);
}
if
(
$
(
'
repeat
'
,
data
).
text
()
==
'
true
'
)
{
$
(
'
#buttonRepeat
'
).
removeClass
(
'
ui-state-default
'
).
addClass
(
'
ui-state-active
'
);
}
else
{
$
(
'
#buttonRepeat
'
).
addClass
(
'
ui-state-default
'
).
removeClass
(
'
ui-state-active
'
);
}
if
(
$
(
'
[name="artwork_url"]
'
,
data
).
text
()
!=
currentArt
&&
$
(
'
[name="artwork_url"]
'
,
data
).
text
()
!=
""
)
{
if
(
$
(
'
[name="artwork_url"]
'
,
data
).
text
()
!=
currentArt
&&
$
(
'
[name="artwork_url"]
'
,
data
).
text
()
!=
""
)
{
var
tmp
=
new
Date
();
currentArt
=
$
(
'
[name="artwork_url"]
'
,
data
).
text
();
updateArt
(
'
/art?
'
+
tmp
.
getTime
());
}
else
if
(
$
(
'
[name="artwork_url"]
'
,
data
).
text
()
==
""
&&
currentArt
!=
'
images/vlc-48.png
'
)
{
currentArt
=
'
images/vlc-48.png
'
;
currentArt
=
$
(
'
[name="artwork_url"]
'
,
data
).
text
();
updateArt
(
'
/art?
'
+
tmp
.
getTime
());
}
else
if
(
$
(
'
[name="artwork_url"]
'
,
data
).
text
()
==
""
&&
currentArt
!=
'
images/vlc-48.png
'
)
{
currentArt
=
'
images/vlc-48.png
'
;
updateArt
(
currentArt
);
}
if
(
pollStatus
)
{
setTimeout
(
updateStatus
,
1000
);
if
(
pollStatus
)
{
setTimeout
(
updateStatus
,
1000
);
}
}
$
(
'
band
'
,
data
).
each
(
function
()
{
$
(
'
band
'
,
data
).
each
(
function
()
{
var
id
=
$
(
this
).
attr
(
'
id
'
);
var
freq
=
convertHz
(
$
(
this
).
attr
(
'
freqency
'
));
var
value
=
$
(
this
).
text
()
?
$
(
this
).
text
()
:
0
;
if
(
!
$
(
'
#eq_container
'
+
id
).
length
)
{
$
(
'
#window_equalizer
'
).
append
(
'
<div style="float:left;width:44px;" align="center" id="eq_container
'
+
id
+
'
"><div id="eq
'
+
id
+
'
_txt">
'
+
value
+
'
dB</div><div class="eqBand" id="eq
'
+
id
+
'
" style="font-size: 18px;"></div><div>
'
+
freq
+
'
</div></div>
'
);
$
(
'
#eq
'
+
id
).
slider
({
if
(
!
$
(
'
#eq_container
'
+
id
).
length
)
{
$
(
'
#window_equalizer
'
).
append
(
'
<div style="float:left;width:44px;" align="center" id="eq_container
'
+
id
+
'
"><div id="eq
'
+
id
+
'
_txt">
'
+
value
+
'
dB</div><div class="eqBand" id="eq
'
+
id
+
'
" style="font-size: 18px;"></div><div>
'
+
freq
+
'
</div></div>
'
);
$
(
'
#eq
'
+
id
).
slider
({
min
:
-
20
,
max
:
20
,
step
:
0.1
,
...
...
@@ -96,64 +86,68 @@ function updateStatus(){
value
:
value
,
animate
:
true
,
orientation
:
"
vertical
"
,
stop
:
function
(
event
,
ui
)
{
$
(
'
#
'
+
$
(
this
).
attr
(
'
id
'
)
+
'
_txt
'
).
empty
().
append
(
ui
.
value
+
'
dB
'
);
stop
:
function
(
event
,
ui
)
{
$
(
'
#
'
+
$
(
this
).
attr
(
'
id
'
)
+
'
_txt
'
).
empty
().
append
(
ui
.
value
+
'
dB
'
);
sendCommad
({
command
:
'
equalizer
'
,
command
:
'
equalizer
'
,
val
:
ui
.
value
,
band
:
$
(
this
).
attr
(
'
id
'
).
substr
(
2
)
})
},
slide
:
function
(
event
,
ui
)
{
$
(
'
#
'
+
$
(
this
).
attr
(
'
id
'
)
+
'
_txt
'
).
empty
().
append
(
ui
.
value
+
'
dB
'
);
slide
:
function
(
event
,
ui
)
{
$
(
'
#
'
+
$
(
this
).
attr
(
'
id
'
)
+
'
_txt
'
).
empty
().
append
(
ui
.
value
+
'
dB
'
);
}
});
}
else
{
$
(
'
#eq
'
+
id
).
slider
({
value
:
value
});
$
(
'
#eq
'
+
id
+
'
_txt
'
).
empty
().
append
(
Math
.
round
(
value
*
100
)
/
100
+
'
dB
'
);
}
else
{
$
(
'
#eq
'
+
id
).
slider
({
value
:
value
});
$
(
'
#eq
'
+
id
+
'
_txt
'
).
empty
().
append
(
Math
.
round
(
value
*
100
)
/
100
+
'
dB
'
);
}
});
$
(
'
#preamp
'
).
slider
(
'
value
'
,
$
(
'
preamp
'
,
data
).
text
());
$
(
'
#preamp_txt
'
).
empty
().
append
(
Math
.
round
(
$
(
'
preamp
'
,
data
).
text
()
*
100
)
/
100
+
'
dB
'
);
$
(
'
#preamp
'
).
slider
(
'
value
'
,
$
(
'
preamp
'
,
data
).
text
());
$
(
'
#preamp_txt
'
).
empty
().
append
(
Math
.
round
(
$
(
'
preamp
'
,
data
).
text
()
*
100
)
/
100
+
'
dB
'
);
},
error
:
function
(
jqXHR
,
status
,
error
)
{
setTimeout
(
updateStatus
,
500
);
error
:
function
(
jqXHR
,
status
,
error
)
{
setTimeout
(
updateStatus
,
500
);
}
});
}
function
updatePlayList
(){
$
(
'
#libraryTree
'
).
jstree
(
'
refresh
'
,
-
1
);
function
updatePlayList
()
{
$
(
'
#libraryTree
'
).
jstree
(
'
refresh
'
,
-
1
);
}
function
sendCommand
(
params
,
append
){
if
(
current_que
==
'
stream
'
){
function
sendCommand
(
params
,
append
)
{
if
(
current_que
==
'
stream
'
)
{
$
.
ajax
({
url
:
'
requests/status.xml
'
,
data
:
params
,
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
append
!=
undefined
)
{
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
append
!=
undefined
)
{
eval
(
append
);
}
updateStatus
();
updatePlayList
();
}
});
}
else
{
if
(
params
.
plreload
===
false
)
{
}
else
{
if
(
params
.
plreload
===
false
)
{
$
.
ajax
({
url
:
'
requests/status.xml
'
,
data
:
params
,
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
append
!=
undefined
)
{
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
append
!=
undefined
)
{
eval
(
append
);
}
}
});
}
else
{
}
else
{
$
.
ajax
({
url
:
'
requests/status.xml
'
,
data
:
params
,
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
append
!=
undefined
)
{
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
append
!=
undefined
)
{
eval
(
append
);
}
updatePlayList
();
...
...
@@ -162,46 +156,47 @@ function sendCommand(params,append){
}
}
}
function
browse
(
dir
){
dir
=
dir
==
undefined
?
'
file://~
'
:
dir
;
function
browse
(
dir
)
{
dir
=
dir
==
undefined
?
'
file://~
'
:
dir
;
$
.
ajax
({
url
:
'
requests/browse.xml
'
,
data
:
'
uri=
'
+
encodeURIComponent
(
dir
),
success
:
function
(
data
,
status
,
jqXHR
)
{
var
tgt
=
browse_target
.
indexOf
(
'
__
'
)
==-
1
?
browse_target
:
browse_target
.
substr
(
0
,
browse_target
.
indexOf
(
'
__
'
));
data
:
'
uri=
'
+
encodeURIComponent
(
dir
),
success
:
function
(
data
,
status
,
jqXHR
)
{
var
tgt
=
browse_target
.
indexOf
(
'
__
'
)
==
-
1
?
browse_target
:
browse_target
.
substr
(
0
,
browse_target
.
indexOf
(
'
__
'
));
$
(
'
#browse_elements
'
).
empty
();
$
(
'
element
'
,
data
).
each
(
function
()
{
if
(
$
(
this
).
attr
(
'
type
'
)
==
'
dir
'
||
$
.
inArray
(
$
(
this
).
attr
(
'
name
'
).
substr
(
-
3
),
video_types
)
!=-
1
||
$
.
inArray
(
$
(
this
).
attr
(
'
name
'
).
substr
(
-
3
),
audio_types
)
!=-
1
)
{
$
(
'
#browse_elements
'
).
append
(
createElementLi
(
$
(
this
).
attr
(
'
name
'
),
$
(
this
).
attr
(
'
type
'
),
$
(
this
).
attr
(
'
uri
'
),
$
(
this
).
attr
(
'
name
'
).
substr
(
-
3
)));
$
(
'
element
'
,
data
).
each
(
function
()
{
if
(
$
(
this
).
attr
(
'
type
'
)
==
'
dir
'
||
$
.
inArray
(
$
(
this
).
attr
(
'
name
'
).
substr
(
-
3
),
video_types
)
!=
-
1
||
$
.
inArray
(
$
(
this
).
attr
(
'
name
'
).
substr
(
-
3
),
audio_types
)
!=
-
1
)
{
$
(
'
#browse_elements
'
).
append
(
createElementLi
(
$
(
this
).
attr
(
'
name
'
),
$
(
this
).
attr
(
'
type
'
),
$
(
this
).
attr
(
'
uri
'
),
$
(
this
).
attr
(
'
name
'
).
substr
(
-
3
)));
}
});
$
(
'
[opendir]
'
).
dblclick
(
function
()
{
$
(
'
[opendir]
'
).
dblclick
(
function
()
{
browse
(
$
(
this
).
attr
(
'
opendir
'
));
});
$
(
'
[openfile]
'
).
dblclick
(
function
()
{
switch
(
tgt
)
{
$
(
'
[openfile]
'
).
dblclick
(
function
()
{
switch
(
tgt
)
{
case
'
#stream_input
'
:
$
(
browse_target
).
val
(
$
(
this
).
attr
(
'
openfile
'
));
break
;
case
'
#mosaic_open
'
:
$
(
'
li
'
,
browse_target
).
remove
();
$
(
'
li
'
,
browse_target
).
remove
();
$
(
browse_target
).
append
(
this
);
$
(
this
).
css
({
'
margin-left
'
:
-
40
,
'
margin-top
'
:
-
46
,
'
float
'
:
'
left
'
'
margin-left
'
:
-
40
,
'
margin-top
'
:
-
46
,
'
float
'
:
'
left
'
});
break
;
case
'
#mobile
'
:
break
;
default
:
sendCommand
(
'
command=in_play&input=
'
+
encodeURIComponent
(
$
(
this
).
attr
(
'
openfile
'
)));
sendCommand
(
'
command=in_play&input=
'
+
encodeURIComponent
(
$
(
this
).
attr
(
'
openfile
'
)));
break
;
}
$
(
'
#window_browse
'
).
dialog
(
'
close
'
);
});
$
(
'
[opendir]
'
).
click
(
function
()
{
switch
(
tgt
)
{
$
(
'
[opendir]
'
).
click
(
function
()
{
switch
(
tgt
)
{
case
'
#mobile
'
:
browse
(
$
(
this
).
attr
(
'
opendir
'
));
break
;
...
...
@@ -209,16 +204,16 @@ function browse(dir){
break
;
}
});
$
(
'
[openfile]
'
).
click
(
function
()
{
switch
(
tgt
)
{
$
(
'
[openfile]
'
).
click
(
function
()
{
switch
(
tgt
)
{
case
'
#mobile
'
:
sendCommand
(
'
command=in_play&input=
'
+
encodeURIComponent
(
$
(
this
).
attr
(
'
openfile
'
)),
"
window.location='mobile.html'
"
);
sendCommand
(
'
command=in_play&input=
'
+
encodeURIComponent
(
$
(
this
).
attr
(
'
openfile
'
)),
"
window.location='mobile.html'
"
);
break
;
default
:
break
;
}
});
switch
(
tgt
)
{
switch
(
tgt
)
{
case
'
#mobile
'
:
break
;
default
:
...
...
@@ -226,129 +221,136 @@ function browse(dir){
break
;
}
},
error
:
function
(
jqXHR
,
status
,
error
)
{
setTimeout
(
'
browse("
'
+
dir
+
'
")
'
,
1041
);
error
:
function
(
jqXHR
,
status
,
error
)
{
setTimeout
(
'
browse("
'
+
dir
+
'
")
'
,
1041
);
}
});
}
function
updateStreams
(){
function
updateStreams
()
{
$
.
ajax
({
url
:
'
requests/vlm.xml
'
,
success
:
function
(
data
,
status
,
jqXHR
)
{
success
:
function
(
data
,
status
,
jqXHR
)
{
$
(
'
#stream_info
'
).
accordion
(
"
destroy
"
);
$
(
'
#stream_info
'
).
empty
();
$
(
'
broadcast
'
,
data
).
each
(
function
()
{
$
(
'
broadcast
'
,
data
).
each
(
function
()
{
var
stream_div
=
$
(
'
#stream_status_
'
).
clone
();
var
name
=
$
(
this
).
attr
(
'
name
'
);
var
loop
=
$
(
this
).
attr
(
'
loop
'
)
==
'
yes
'
;
var
playing
=
$
(
'
instance
'
,
$
(
this
)).
attr
(
'
state
'
)
==
'
playing
'
;
var
file
=
$
(
'
input
'
,
$
(
this
)).
text
();
var
output
=
$
(
'
output
'
,
$
(
this
)).
text
();
var
time
=
isNaN
(
Math
.
round
(
$
(
'
instance
'
,
$
(
this
)).
attr
(
'
time
'
)
/
1000000
))
?
0
:
Math
.
round
(
$
(
'
instance
'
,
$
(
this
)).
attr
(
'
time
'
)
/
1000000
);
var
length
=
isNaN
(
Math
.
round
(
$
(
'
instance
'
,
$
(
this
)).
attr
(
'
length
'
)
/
1000000
))
?
0
:
Math
.
round
(
$
(
'
instance
'
,
$
(
this
)).
attr
(
'
length
'
)
/
1000000
);
$
(
'
[id]
'
,
stream_div
).
each
(
function
()
{
$
(
this
).
attr
(
'
id
'
,
$
(
this
).
attr
(
'
id
'
)
+
name
);
});
$
(
stream_div
).
attr
(
'
id
'
,
$
(
stream_div
).
attr
(
'
id
'
)
+
name
);
$
(
'
#stream_title_
'
+
name
,
stream_div
).
append
(
name
);
$
(
'
#stream_file_
'
+
name
,
stream_div
).
append
(
file
);
$
(
'
#stream_pos_
'
+
name
,
stream_div
).
slider
({
var
loop
=
$
(
this
).
attr
(
'
loop
'
)
==
'
yes
'
;
var
playing
=
$
(
'
instance
'
,
$
(
this
)).
attr
(
'
state
'
)
==
'
playing
'
;
var
file
=
$
(
'
input
'
,
$
(
this
)).
text
();
var
output
=
$
(
'
output
'
,
$
(
this
)).
text
();
var
time
=
isNaN
(
Math
.
round
(
$
(
'
instance
'
,
$
(
this
)).
attr
(
'
time
'
)
/
1000000
))
?
0
:
Math
.
round
(
$
(
'
instance
'
,
$
(
this
)).
attr
(
'
time
'
)
/
1000000
);
var
length
=
isNaN
(
Math
.
round
(
$
(
'
instance
'
,
$
(
this
)).
attr
(
'
length
'
)
/
1000000
))
?
0
:
Math
.
round
(
$
(
'
instance
'
,
$
(
this
)).
attr
(
'
length
'
)
/
1000000
);
$
(
'
[id]
'
,
stream_div
).
each
(
function
()
{
$
(
this
).
attr
(
'
id
'
,
$
(
this
).
attr
(
'
id
'
)
+
name
);
});
$
(
stream_div
).
attr
(
'
id
'
,
$
(
stream_div
).
attr
(
'
id
'
)
+
name
);
$
(
'
#stream_title_
'
+
name
,
stream_div
).
append
(
name
);
$
(
'
#stream_file_
'
+
name
,
stream_div
).
append
(
file
);
$
(
'
#stream_pos_
'
+
name
,
stream_div
).
slider
({
value
:
0
,
range
:
"
min
"
,
min
:
0
,
slide
:
function
(
event
,
ui
)
{
$
(
"
#stream_current_time_
"
+
name
,
stream_div
).
empty
();
$
(
"
#stream_current_time_
"
+
name
,
stream_div
).
append
(
format_time
(
ui
.
value
)
);
$
(
"
#stream_total_time_
"
+
name
,
stream_div
).
empty
();
$
(
"
#stream_total_time_
"
+
name
,
stream_div
).
append
(
format_time
(
$
(
'
#stream_pos_
'
+
name
,
stream_div
).
slider
(
'
option
'
,
'
max
'
))
);
sendVLMCmd
(
'
control
'
+
name
+
'
seek
'
+
Math
.
round
(
ui
.
value
/
$
(
'
#stream_pos_
'
+
name
,
stream_div
).
slider
(
'
option
'
,
'
max
'
)
*
100
));
slide
:
function
(
event
,
ui
)
{
$
(
"
#stream_current_time_
"
+
name
,
stream_div
).
empty
();
$
(
"
#stream_current_time_
"
+
name
,
stream_div
).
append
(
format_time
(
ui
.
value
)
);
$
(
"
#stream_total_time_
"
+
name
,
stream_div
).
empty
();
$
(
"
#stream_total_time_
"
+
name
,
stream_div
).
append
(
format_time
(
$
(
'
#stream_pos_
'
+
name
,
stream_div
).
slider
(
'
option
'
,
'
max
'
))
);
sendVLMCmd
(
'
control
'
+
name
+
'
seek
'
+
Math
.
round
(
ui
.
value
/
$
(
'
#stream_pos_
'
+
name
,
stream_div
).
slider
(
'
option
'
,
'
max
'
)
*
100
));
},
change
:
function
(
event
,
ui
)
{
$
(
"
#stream_current_time_
"
+
name
,
stream_div
).
empty
();
$
(
"
#stream_current_time_
"
+
name
,
stream_div
).
append
(
format_time
(
ui
.
value
)
);
$
(
"
#stream_total_time_
"
+
name
,
stream_div
).
empty
();
$
(
"
#stream_total_time_
"
+
name
,
stream_div
).
append
(
format_time
(
$
(
'
#stream_pos_
'
+
name
,
stream_div
).
slider
(
'
option
'
,
'
max
'
))
);
change
:
function
(
event
,
ui
)
{
$
(
"
#stream_current_time_
"
+
name
,
stream_div
).
empty
();
$
(
"
#stream_current_time_
"
+
name
,
stream_div
).
append
(
format_time
(
ui
.
value
)
);
$
(
"
#stream_total_time_
"
+
name
,
stream_div
).
empty
();
$
(
"
#stream_total_time_
"
+
name
,
stream_div
).
append
(
format_time
(
$
(
'
#stream_pos_
'
+
name
,
stream_div
).
slider
(
'
option
'
,
'
max
'
))
);
}
});
$
(
'
#button_stream_stop_
'
+
name
,
stream_div
).
click
(
function
()
{
sendVLMCmd
(
'
control
'
+
name
+
'
stop
'
);
$
(
'
#button_stream_stop_
'
+
name
,
stream_div
).
click
(
function
()
{
sendVLMCmd
(
'
control
'
+
name
+
'
stop
'
);
return
false
;
});
$
(
'
#button_stream_play_
'
+
name
,
stream_div
).
click
(
function
()
{
if
(
$
(
'
span
'
,
this
).
hasClass
(
'
ui-icon-pause
'
))
{
sendVLMCmd
(
'
control
'
+
name
+
'
pause
'
);
}
else
{
sendVLMCmd
(
'
control
'
+
name
+
'
play
'
);
$
(
'
#button_stream_play_
'
+
name
,
stream_div
).
click
(
function
()
{
if
(
$
(
'
span
'
,
this
).
hasClass
(
'
ui-icon-pause
'
))
{
sendVLMCmd
(
'
control
'
+
name
+
'
pause
'
);
}
else
{
sendVLMCmd
(
'
control
'
+
name
+
'
play
'
);
}
});
$
(
'
#button_stream_loop_
'
+
name
,
stream_div
).
click
(
function
()
{
if
(
loop
)
{
sendVLMCmd
(
'
setup
'
+
name
+
'
unloop
'
);
}
else
{
sendVLMCmd
(
'
setup
'
+
name
+
'
loop
'
);
$
(
'
#button_stream_loop_
'
+
name
,
stream_div
).
click
(
function
()
{
if
(
loop
)
{
sendVLMCmd
(
'
setup
'
+
name
+
'
unloop
'
);
}
else
{
sendVLMCmd
(
'
setup
'
+
name
+
'
loop
'
);
}
});
$
(
'
#button_stream_delete_
'
+
name
,
stream_div
).
click
(
function
()
{
sendVLMCmd
(
'
del
'
+
name
);
$
(
'
#button_stream_delete_
'
+
name
,
stream_div
).
click
(
function
()
{
sendVLMCmd
(
'
del
'
+
name
);
});
$
(
'
#stream_pos_
'
+
name
,
stream_div
).
slider
({
$
(
'
#stream_pos_
'
+
name
,
stream_div
).
slider
({
max
:
length
,
value
:
time
});
if
(
playing
)
{
$
(
'
span
'
,
$
(
'
#button_stream_play_
'
+
name
,
stream_div
)).
removeClass
(
'
ui-icon-play
'
);
$
(
'
span
'
,
$
(
'
#button_stream_play_
'
+
name
,
stream_div
)).
addClass
(
'
ui-icon-pause
'
);
if
(
playing
)
{
$
(
'
span
'
,
$
(
'
#button_stream_play_
'
+
name
,
stream_div
)).
removeClass
(
'
ui-icon-play
'
);
$
(
'
span
'
,
$
(
'
#button_stream_play_
'
+
name
,
stream_div
)).
addClass
(
'
ui-icon-pause
'
);
}
if
(
loop
)
{
$
(
'
#button_stream_loop_
'
+
name
,
stream_div
).
addClass
(
'
ui-state-active
'
);
if
(
loop
)
{
$
(
'
#button_stream_loop_
'
+
name
,
stream_div
).
addClass
(
'
ui-state-active
'
);
}
$
(
stream_div
).
css
({
'
visibility
'
:
''
,
'
display
'
:
''
'
visibility
'
:
''
,
'
display
'
:
''
});
$
(
'
#stream_info
'
).
append
(
stream_div
);
});
$
(
'
.button
'
).
hover
(
function
()
{
$
(
this
).
addClass
(
'
ui-state-hover
'
);
},
function
()
{
$
(
this
).
removeClass
(
'
ui-state-hover
'
);
}
);
function
()
{
$
(
this
).
addClass
(
'
ui-state-hover
'
);
},
function
()
{
$
(
this
).
removeClass
(
'
ui-state-hover
'
);
});
$
(
'
#stream_info
'
).
accordion
({
header
:
"
h3
"
,
collapsible
:
true
,
autoHeight
:
true
});
if
(
current_que
==
'
stream
'
)
{
if
(
current_que
==
'
stream
'
)
{
$
(
'
.dynamic
'
).
empty
();
$
(
'
#mediaTitle
'
).
append
(
$
(
'
[name="Current"] input
'
,
data
).
text
());
$
(
'
#totalTime
'
).
append
(
format_time
(
isNaN
(
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
length
'
))
?
0
:
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
length
'
)
/
1000000
));
$
(
'
#currentTime
'
).
append
(
format_time
(
isNaN
(
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
time
'
))
?
0
:
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
time
'
)
/
1000000
));
$
(
'
#seekSlider
'
).
slider
({
value
:
((
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
time
'
)
/
1000000
)
/
(
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
length
'
)
/
1000000
)
*
100
)
});
$
(
'
#seekSlider
'
).
attr
(
'
totalLength
'
,
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
length
'
)
/
1000000
);
$
(
'
#buttonPlay
'
).
attr
(
'
state
'
,
$
(
'
[name="Current"] instance
'
,
data
).
length
>
0
?
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
state
'
)
:
'
stopped
'
);
if
(
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
state
'
)
==
'
playing
'
){
$
(
'
#mediaTitle
'
).
append
(
$
(
'
[name="Current"] input
'
,
data
).
text
());
$
(
'
#totalTime
'
).
append
(
format_time
(
isNaN
(
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
length
'
))
?
0
:
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
length
'
)
/
1000000
));
$
(
'
#currentTime
'
).
append
(
format_time
(
isNaN
(
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
time
'
))
?
0
:
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
time
'
)
/
1000000
));
$
(
'
#seekSlider
'
).
slider
({
value
:
((
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
time
'
)
/
1000000
)
/
(
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
length
'
)
/
1000000
)
*
100
)
});
$
(
'
#seekSlider
'
).
attr
(
'
totalLength
'
,
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
length
'
)
/
1000000
);
$
(
'
#buttonPlay
'
).
attr
(
'
state
'
,
$
(
'
[name="Current"] instance
'
,
data
).
length
>
0
?
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
state
'
)
:
'
stopped
'
);
if
(
$
(
'
[name="Current"] instance
'
,
data
).
attr
(
'
state
'
)
==
'
playing
'
)
{
$
(
'
#buttonPlay
'
).
removeClass
(
'
paused
'
);
$
(
'
#buttonPlay
'
).
addClass
(
'
playing
'
);
}
else
{
}
else
{
$
(
'
#buttonPlay
'
).
removeClass
(
'
playing
'
);
$
(
'
#buttonPlay
'
).
addClass
(
'
paused
'
);
}
setTimeout
(
updateStreams
,
1000
);
setTimeout
(
updateStreams
,
1000
);
}
}
});
}
function
updateEQ
(){
function
updateEQ
()
{
$
.
ajax
({
url
:
'
requests/equalizer.xml
'
,
success
:
function
(
data
,
status
,
jqXHR
)
{
$
(
'
band
'
,
data
).
each
(
function
()
{
success
:
function
(
data
,
status
,
jqXHR
)
{
$
(
'
band
'
,
data
).
each
(
function
()
{
var
id
=
$
(
this
).
attr
(
'
id
'
);
var
freq
=
convertHz
(
$
(
this
).
attr
(
'
freqency
'
));
var
value
=
$
(
this
).
text
()
?
$
(
this
).
text
()
:
0
;
if
(
!
$
(
'
#eq_container
'
+
id
).
length
)
{
$
(
'
#window_equalizer
'
).
append
(
'
<div style="float:left;width:44px;" align="center" id="eq_container
'
+
id
+
'
"><div id="eq
'
+
id
+
'
_txt">
'
+
value
+
'
dB</div><div class="eqBand" id="eq
'
+
id
+
'
" style="font-size: 18px;"></div><div>
'
+
freq
+
'
</div></div>
'
);
$
(
'
#eq
'
+
id
).
slider
({
if
(
!
$
(
'
#eq_container
'
+
id
).
length
)
{
$
(
'
#window_equalizer
'
).
append
(
'
<div style="float:left;width:44px;" align="center" id="eq_container
'
+
id
+
'
"><div id="eq
'
+
id
+
'
_txt">
'
+
value
+
'
dB</div><div class="eqBand" id="eq
'
+
id
+
'
" style="font-size: 18px;"></div><div>
'
+
freq
+
'
</div></div>
'
);
$
(
'
#eq
'
+
id
).
slider
({
min
:
-
20
,
max
:
20
,
step
:
0.1
,
...
...
@@ -356,55 +358,58 @@ function updateEQ(){
value
:
value
,
animate
:
true
,
orientation
:
"
vertical
"
,
stop
:
function
(
event
,
ui
)
{
$
(
'
#
'
+
$
(
this
).
attr
(
'
id
'
)
+
'
_txt
'
).
empty
().
append
(
ui
.
value
+
'
dB
'
);
stop
:
function
(
event
,
ui
)
{
$
(
'
#
'
+
$
(
this
).
attr
(
'
id
'
)
+
'
_txt
'
).
empty
().
append
(
ui
.
value
+
'
dB
'
);
sendEQCmd
({
command
:
'
equalizer
'
,
command
:
'
equalizer
'
,
val
:
ui
.
value
,
band
:
$
(
this
).
attr
(
'
id
'
).
substr
(
2
)
})
},
slide
:
function
(
event
,
ui
)
{
$
(
'
#
'
+
$
(
this
).
attr
(
'
id
'
)
+
'
_txt
'
).
empty
().
append
(
ui
.
value
+
'
dB
'
);
slide
:
function
(
event
,
ui
)
{
$
(
'
#
'
+
$
(
this
).
attr
(
'
id
'
)
+
'
_txt
'
).
empty
().
append
(
ui
.
value
+
'
dB
'
);
}
});
}
else
{
$
(
'
#eq
'
+
id
).
slider
({
value
:
value
});
$
(
'
#eq
'
+
id
+
'
_txt
'
).
empty
().
append
(
Math
.
round
(
value
*
100
)
/
100
+
'
dB
'
);
}
else
{
$
(
'
#eq
'
+
id
).
slider
({
value
:
value
});
$
(
'
#eq
'
+
id
+
'
_txt
'
).
empty
().
append
(
Math
.
round
(
value
*
100
)
/
100
+
'
dB
'
);
}
});
$
(
'
#preamp
'
).
slider
(
'
value
'
,
$
(
'
preamp
'
,
data
).
text
());
$
(
'
#preamp_txt
'
).
empty
().
append
(
Math
.
round
(
$
(
'
preamp
'
,
data
).
text
()
*
100
)
/
100
+
'
dB
'
);
$
(
'
#preamp
'
).
slider
(
'
value
'
,
$
(
'
preamp
'
,
data
).
text
());
$
(
'
#preamp_txt
'
).
empty
().
append
(
Math
.
round
(
$
(
'
preamp
'
,
data
).
text
()
*
100
)
/
100
+
'
dB
'
);
}
})
}
function
sendVLMCmd
(
command
,
append
){
function
sendVLMCmd
(
command
,
append
)
{
var
commands
=
command
.
split
(
'
;
'
);
if
(
commands
.
length
>
1
)
{
sendBatchVLMCmd
(
command
,
append
);
}
else
{
if
(
current_que
==
'
main
'
)
{
if
(
commands
.
length
>
1
)
{
sendBatchVLMCmd
(
command
,
append
);
}
else
{
if
(
current_que
==
'
main
'
)
{
$
.
ajax
({
url
:
'
requests/vlm_cmd.xml
'
,
data
:
'
command=
'
+
encodeURIComponent
(
command
),
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
$
(
'
error
'
,
data
).
text
())
{
$
(
'
#error_container
'
).
append
(
'
<div>
'
+
$
(
'
error
'
,
data
).
text
()
+
'
</div>
'
);
data
:
'
command=
'
+
encodeURIComponent
(
command
),
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
$
(
'
error
'
,
data
).
text
())
{
$
(
'
#error_container
'
).
append
(
'
<div>
'
+
$
(
'
error
'
,
data
).
text
()
+
'
</div>
'
);
$
(
'
#window_error
'
).
dialog
(
'
open
'
);
}
if
(
append
!=
undefined
)
{
if
(
append
!=
undefined
)
{
eval
(
append
);
}
updateStreams
();
}
});
}
else
{
}
else
{
$
.
ajax
({
url
:
'
requests/vlm_cmd.xml
'
,
data
:
'
command=
'
+
encodeURIComponent
(
command
),
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
$
(
'
error
'
,
data
).
text
())
{
$
(
'
#error_container
'
).
append
(
'
<div>
'
+
$
(
'
error
'
,
data
).
text
()
+
'
</div>
'
);
data
:
'
command=
'
+
encodeURIComponent
(
command
),
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
$
(
'
error
'
,
data
).
text
())
{
$
(
'
#error_container
'
).
append
(
'
<div>
'
+
$
(
'
error
'
,
data
).
text
()
+
'
</div>
'
);
$
(
'
#window_error
'
).
dialog
(
'
open
'
);
}
updateStreams
();
...
...
@@ -413,73 +418,69 @@ function sendVLMCmd(command,append){
}
}
}
function
sendBatchVLMCmd
(
command
,
append
){
function
sendBatchVLMCmd
(
command
,
append
)
{
var
commands
=
command
.
split
(
'
;
'
);
$
.
ajax
({
url
:
'
requests/vlm_cmd.xml
'
,
data
:
'
command=
'
+
encodeURIComponent
(
commands
.
shift
()),
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
$
(
'
error
'
,
data
).
text
())
{
$
(
'
#error_container
'
).
append
(
'
<div>
'
+
$
(
'
error
'
,
data
).
text
()
+
'
</div>
'
);
data
:
'
command=
'
+
encodeURIComponent
(
commands
.
shift
()),
success
:
function
(
data
,
status
,
jqXHR
)
{
if
(
$
(
'
error
'
,
data
).
text
())
{
$
(
'
#error_container
'
).
append
(
'
<div>
'
+
$
(
'
error
'
,
data
).
text
()
+
'
</div>
'
);
$
(
'
#window_error
'
).
dialog
(
'
open
'
);
}
sendVLMCmd
(
commands
.
join
(
'
;
'
),
append
);
sendVLMCmd
(
commands
.
join
(
'
;
'
),
append
);
}
});
}
function
sendEQCmd
(
params
){
function
sendEQCmd
(
params
)
{
$
.
ajax
({
url
:
'
requests/equalizer.xml
'
,
data
:
params
,
success
:
function
(
data
,
status
,
jqXHR
)
{
success
:
function
(
data
,
status
,
jqXHR
)
{
updateEQ
();
}
});
}
$
(
function
(){
$
(
'
#albumArt
'
).
load
(
function
(){
var
width
=
$
(
this
).
width
();
var
height
=
$
(
this
).
height
();
var
max
=
Math
.
max
(
width
,
height
);
if
(
max
>
150
)
{
var
ratio
=
150
/
max
;
width
=
Math
.
floor
(
width
*
ratio
);
height
=
Math
.
floor
(
height
*
ratio
);
}
$
(
this
).
attr
(
'
width
'
,
width
)
.
attr
(
'
height
'
,
height
)
.
css
(
'
margin-left
'
,
Math
.
floor
((
150
-
width
)
/
2
))
.
css
(
'
margin-top
'
,
Math
.
floor
((
150
-
height
)
/
2
))
.
removeClass
(
'
hidden
'
)
.
fadeIn
();
$
(
function
()
{
$
(
'
#albumArt
'
).
load
(
function
()
{
var
width
=
$
(
this
).
width
();
var
height
=
$
(
this
).
height
();
var
max
=
Math
.
max
(
width
,
height
);
if
(
max
>
150
)
{
var
ratio
=
150
/
max
;
width
=
Math
.
floor
(
width
*
ratio
);
height
=
Math
.
floor
(
height
*
ratio
);
}
$
(
this
).
attr
(
'
width
'
,
width
).
attr
(
'
height
'
,
height
).
css
(
'
margin-left
'
,
Math
.
floor
((
150
-
width
)
/
2
)).
css
(
'
margin-top
'
,
Math
.
floor
((
150
-
height
)
/
2
)).
removeClass
(
'
hidden
'
).
fadeIn
();
});
$
(
'
#libraryTree
'
).
jstree
({
"
xml_data
"
:
{
"
ajax
"
:
{
"
url
"
:
"
requests/playlist_jstree.xml
"
"
xml_data
"
:
{
"
ajax
"
:
{
"
url
"
:
"
requests/playlist_jstree.xml
"
},
"
xsl
"
:
"
nest
"
"
xsl
"
:
"
nest
"
},
"
themeroller
"
:
{
"
item_leaf
"
:
"
ui-icon-video
"
"
themeroller
"
:
{
"
item_leaf
"
:
"
ui-icon-video
"
},
"
core
"
:
{
"
initially_open
"
:
[
"
plid_1
"
,
"
plid_2
"
,
"
plid_3
"
]
"
core
"
:
{
"
initially_open
"
:
[
"
plid_1
"
,
"
plid_2
"
,
"
plid_3
"
]
},
"
plugins
"
:
[
"
xml_data
"
,
"
ui
"
,
"
themeroller
"
]
"
plugins
"
:
[
"
xml_data
"
,
"
ui
"
,
"
themeroller
"
]
}).
bind
(
"
loaded.jstree
"
,
function
(
event
,
data
)
{
$
(
'
[current]
'
,
'
[id^="plid_"]
'
).
each
(
function
()
{
$
(
'
[current]
'
,
'
[id^="plid_"]
'
).
each
(
function
()
{
$
(
this
).
addClass
(
'
ui-state-highlight
'
);
current_id
=
$
(
this
).
attr
(
'
id
'
).
substr
(
5
);
});
}).
bind
(
"
refresh.jstree
"
,
function
(
event
,
data
)
{
$
(
'
[current]
'
,
'
[id^="plid_"]
'
).
each
(
function
()
{
}).
bind
(
"
refresh.jstree
"
,
function
(
event
,
data
)
{
$
(
'
[current]
'
,
'
[id^="plid_"]
'
).
each
(
function
()
{
$
(
this
).
addClass
(
'
ui-state-highlight
'
);
current_id
=
$
(
this
).
attr
(
'
id
'
).
substr
(
5
);
});
}).
delegate
(
"
#plid_2 li.jstree-leaf a
"
,
"
click
"
,
function
(
event
,
data
)
{
}).
delegate
(
"
#plid_2 li.jstree-leaf a
"
,
"
click
"
,
function
(
event
,
data
)
{
event
.
preventDefault
();
current_id
=
$
(
this
).
parent
().
attr
(
'
id
'
).
substr
(
5
);
sendCommand
(
'
command=pl_play&id=
'
+
current_id
);
...
...
share/lua/http/js/ui.js
View file @
fb3be334
$
(
function
()
{
$
(
"
#seekSlider
"
).
slider
({
$
(
function
()
{
$
(
"
#seekSlider
"
).
slider
({
range
:
"
min
"
,
value
:
0
,
min
:
0
,
max
:
100
,
stop
:
function
(
event
,
ui
)
{
$
(
"
#currentTime
"
).
empty
().
append
(
format_time
(
Math
.
round
((
ui
.
value
/
100
)
*
$
(
'
#seekSlider
'
).
attr
(
'
totalLength
'
)))
);
switch
(
current_que
)
{
stop
:
function
(
event
,
ui
)
{
$
(
"
#currentTime
"
).
empty
().
append
(
format_time
(
Math
.
round
((
ui
.
value
/
100
)
*
$
(
'
#seekSlider
'
).
attr
(
'
totalLength
'
)))
);
switch
(
current_que
)
{
case
'
main
'
:
sendCommand
({
'
command
'
:
'
seek
'
,
'
val
'
:(
ui
.
value
)
+
'
%
'
});
sendCommand
({
'
command
'
:
'
seek
'
,
'
val
'
:
(
ui
.
value
)
+
'
%
'
});
break
;
case
'
stream
'
:
sendVLMCmd
(
'
control Current seek
'
+
ui
.
value
);
sendVLMCmd
(
'
control Current seek
'
+
ui
.
value
);
break
;
}
}
});
$
(
"
#volumeSlider
"
).
slider
({
$
(
"
#volumeSlider
"
).
slider
({
range
:
"
min
"
,
value
:
50
,
min
:
0
,
max
:
100
,
stop
:
function
(
event
,
ui
)
{
$
(
"
#currentVolume
"
).
empty
().
append
(
ui
.
value
*
2
+
"
%
"
);
stop
:
function
(
event
,
ui
)
{
$
(
"
#currentVolume
"
).
empty
().
append
(
ui
.
value
*
2
+
"
%
"
);
sendCommand
({
'
command
'
:
'
volume
'
,
'
val
'
:
Math
.
round
(
ui
.
value
*
5.12
)
'
command
'
:
'
volume
'
,
'
val
'
:
Math
.
round
(
ui
.
value
*
5.12
)
})
}
});
$
(
'
#buttonStop
'
).
click
(
function
()
{
switch
(
current_que
)
{
$
(
'
#buttonStop
'
).
click
(
function
()
{
switch
(
current_que
)
{
case
'
main
'
:
sendCommand
({
'
command
'
:
'
pl_stop
'
})
sendCommand
({
'
command
'
:
'
pl_stop
'
})
break
;
case
'
stream
'
:
sendVLMCmd
(
'
control Current stop
'
);
...
...
@@ -40,22 +45,27 @@ $(function(){
}
return
false
;
});
$
(
'
#buttonPlay
'
).
click
(
function
()
{
if
(
$
(
this
).
attr
(
'
state
'
)
==
'
stopped
'
)
{
switch
(
current_que
)
{
$
(
'
#buttonPlay
'
).
click
(
function
()
{
if
(
$
(
this
).
attr
(
'
state
'
)
==
'
stopped
'
)
{
switch
(
current_que
)
{
case
'
main
'
:
var
id
=
$
(
'
.jstree-clicked
'
,
'
#libraryTree
'
).
length
>
0
?
$
(
'
.jstree-clicked
'
,
'
#libraryTree
'
).
first
().
parents
().
first
().
attr
(
'
id
'
).
substr
(
5
)
:
current_id
;
sendCommand
({
'
command
'
:
'
pl_play
'
,
'
id
'
:
id
});
var
id
=
$
(
'
.jstree-clicked
'
,
'
#libraryTree
'
).
length
>
0
?
$
(
'
.jstree-clicked
'
,
'
#libraryTree
'
).
first
().
parents
().
first
().
attr
(
'
id
'
).
substr
(
5
)
:
current_id
;
sendCommand
({
'
command
'
:
'
pl_play
'
,
'
id
'
:
id
});
break
;
case
'
stream
'
:
sendVLMCmd
(
'
control Current play
'
);
flowplayer
(
"
player
"
,
"
http://releases.flowplayer.org/swf/flowplayer-3.2.7.swf
"
);
break
;
}
}
else
{
switch
(
current_que
)
{
}
else
{
switch
(
current_que
)
{
case
'
main
'
:
sendCommand
({
'
command
'
:
'
pl_pause
'
});
sendCommand
({
'
command
'
:
'
pl_pause
'
});
break
;
case
'
stream
'
:
sendVLMCmd
(
'
control Current pause
'
);
...
...
@@ -64,8 +74,10 @@ $(function(){
}
return
false
;
});
$
(
'
#buttonFull
'
).
click
(
function
(){
sendCommand
({
'
command
'
:
'
fullscreen
'
});
$
(
'
#buttonFull
'
).
click
(
function
()
{
sendCommand
({
'
command
'
:
'
fullscreen
'
});
return
false
;
});
$
(
'
#stream_host
'
).
val
(
stream_server
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment