init
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e4a73a5c18e55aa4b91723cdea4f20de
|
||||
folderAsset: yes
|
||||
timeCreated: 1460812096
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d597be93cb3959746b1123b53d6a6d03
|
||||
timeCreated: 1460812099
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3d8cde738a798a74f890cc7b42a5ce84
|
||||
folderAsset: yes
|
||||
timeCreated: 1460812095
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 412c773a0c8d6274893d3482ad639d5e
|
||||
folderAsset: yes
|
||||
timeCreated: 1460812097
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,260 @@
|
||||
root {
|
||||
display: block;
|
||||
}
|
||||
body{
|
||||
}
|
||||
#mainContainer{
|
||||
text-align: center;
|
||||
width: 800px;
|
||||
}
|
||||
#controlContainer{
|
||||
width: 800px;
|
||||
}
|
||||
#libraryContainer{
|
||||
width: 800px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
#libraryTree{
|
||||
height: 300px;
|
||||
overflow: auto;
|
||||
white-space: nowrap;
|
||||
text-align: left;
|
||||
}
|
||||
#viewContainer{
|
||||
width: 800px;
|
||||
}
|
||||
#mediaViewer{
|
||||
min-height: 500px;
|
||||
background-color:#222;
|
||||
}
|
||||
#player{
|
||||
top:0px;
|
||||
height: 500px;
|
||||
width: 500px;
|
||||
background-color:#222;
|
||||
}
|
||||
#seekSlider{
|
||||
width: 98%;
|
||||
margin-left:5px;
|
||||
}
|
||||
#volumeSlider{
|
||||
width: 100px;
|
||||
display: inline-block;
|
||||
}
|
||||
#currentVolume{
|
||||
display: inline-block;
|
||||
}
|
||||
#mediaTitle{
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 10px;
|
||||
width: 600px;
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
overflow: auto;
|
||||
}
|
||||
#currentTime{
|
||||
margin-top:-40px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#totalTime{
|
||||
margin-top:-40px;
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#controlTable{
|
||||
position:relative;
|
||||
height: 150px;
|
||||
}
|
||||
#controlButtons{
|
||||
position: absolute;
|
||||
top: 80px;
|
||||
left: 10px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.buttonszone{
|
||||
position:absolute;
|
||||
width: 20px;
|
||||
margin-left:-20px;
|
||||
vertical-align:top;
|
||||
padding:0px;
|
||||
font-size:0px;
|
||||
line-height:0px;
|
||||
}
|
||||
|
||||
#buttonszone1 {
|
||||
top: 200px;
|
||||
}
|
||||
|
||||
#buttonszone2 {
|
||||
top: 20px;
|
||||
}
|
||||
|
||||
.buttonszone li{
|
||||
float:left;
|
||||
clear:left;
|
||||
font-size:0px;
|
||||
}
|
||||
|
||||
.buttonszone li span{
|
||||
float:left
|
||||
}
|
||||
|
||||
.buttonszone_active {
|
||||
margin-top: 0px;
|
||||
width: 120px;
|
||||
margin-left:-122px;
|
||||
font-size:10px;
|
||||
line-height:16px;
|
||||
}
|
||||
|
||||
.buttonszone_active li {
|
||||
width:120px;
|
||||
}
|
||||
|
||||
|
||||
#volumesliderzone{
|
||||
position: absolute;
|
||||
top: 105px;
|
||||
left: 410px;
|
||||
width: 210px;
|
||||
}
|
||||
|
||||
#volumeSlider{
|
||||
width: 208px;
|
||||
}
|
||||
#libraryTree ul li a {
|
||||
border:none;
|
||||
}
|
||||
#artszone{
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 10px;
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
#seekContainer{
|
||||
position:absolute;
|
||||
left: 5px;
|
||||
top: 55px;
|
||||
width: 79%;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.button48{
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
margin: 5px 0px 5px 2px;
|
||||
background: none;
|
||||
border: none;
|
||||
display: inline-block;
|
||||
list-style: none;
|
||||
float:left;
|
||||
cursor: pointer;
|
||||
background-image: url("../images/buttons.png");
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.button48:hover{
|
||||
filter: alpha(opacity:0.5);
|
||||
-ms-filter: "alpha(opacity=50)";
|
||||
-khtml-opacity: 0.50;
|
||||
-moz-opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.button{
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
}
|
||||
#buttonOpen{
|
||||
background-position: 0px 0px;
|
||||
}
|
||||
#buttonStop{
|
||||
background-position: -576px 0px;
|
||||
}
|
||||
.playing {
|
||||
background-position: -336px 0px;
|
||||
}
|
||||
.paused {
|
||||
background-position: -384px 0px;
|
||||
}
|
||||
#buttonPrev{
|
||||
background-position: -144px 0px;
|
||||
}
|
||||
#buttonNext{
|
||||
background-position: -288px 0px;
|
||||
}
|
||||
#buttonFull{
|
||||
background-position: -192px 0px;
|
||||
}
|
||||
#buttonSout{
|
||||
background-position: -624px 0px;
|
||||
}
|
||||
#buttonEQ{
|
||||
background-position: -48px 0px;
|
||||
}
|
||||
#window_browse ol{
|
||||
list-style-type: none;
|
||||
}
|
||||
#window_browse ol li{
|
||||
list-style-type: none;
|
||||
float: left;
|
||||
padding: 5px;
|
||||
}
|
||||
.system_icon{
|
||||
width:80px;
|
||||
text-align:center;
|
||||
vertical-align:top;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
padding: 2px;
|
||||
border: 1px solid #823D0A;
|
||||
margin: 2px;
|
||||
height: 92px;
|
||||
background-color: #E1E1E1;
|
||||
overflow: hidden;
|
||||
}
|
||||
#window_create_stream table tr td{
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
#window_equalizer div div{
|
||||
text-align: center;
|
||||
font-size: 11px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#window_equalizer {
|
||||
height:80px !important ;
|
||||
}
|
||||
|
||||
.eqBand{
|
||||
margin-bottom: 10px;
|
||||
margin-top: 10px;
|
||||
height: 400px;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
.footer{
|
||||
margin-top: 30px;
|
||||
text-align: center;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
div.centered{
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.hidden{
|
||||
visibility: hidden;
|
||||
display: none;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 350cd38cc60f864429845452ebdc6ee3
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,179 @@
|
||||
root {
|
||||
display: block;
|
||||
}
|
||||
#content{
|
||||
|
||||
}
|
||||
body{
|
||||
font: 11pt Helvetica, Arial, sans-serif;
|
||||
background-color:#EEE;
|
||||
}
|
||||
|
||||
#libraryTree{
|
||||
height: 300px;
|
||||
overflow:scroll;
|
||||
white-space: nowrap;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#mediaViewer{
|
||||
min-height: 500px;
|
||||
}
|
||||
#meta {
|
||||
position:relative;
|
||||
width:100%;
|
||||
}
|
||||
#seekSlider{
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#volumeSlider{
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
}
|
||||
#currentVolume{
|
||||
display: inline-block;
|
||||
}
|
||||
#mediaTitle{
|
||||
text-align:center;
|
||||
width:100%;
|
||||
margin-top:5px;
|
||||
}
|
||||
#currentTime{
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
#totalTime{
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
#play_controls, #controls{
|
||||
margin-top:30px;
|
||||
width:95%;
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
}
|
||||
|
||||
#controlTable{
|
||||
position:relative;
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
#buttonszone li{
|
||||
float: left;
|
||||
}
|
||||
|
||||
#art{
|
||||
top:0px;
|
||||
width:150px;
|
||||
height:150px;
|
||||
margin:0 auto;
|
||||
box-sizing:border-box;
|
||||
-webkit-box-sizing:border-box;
|
||||
}
|
||||
|
||||
.ui-slider-range{
|
||||
background-color:#FFB200;
|
||||
background:#FFB200 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x;
|
||||
}
|
||||
|
||||
|
||||
#buttons{
|
||||
margin:0 auto;
|
||||
position: relative;
|
||||
width:265px;
|
||||
}
|
||||
.button48{
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
margin: 5px 0px 5px 15px;
|
||||
background: none;
|
||||
border: none;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
background-image: url("../images/buttons.png");
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.button{
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
}
|
||||
#buttonOpen{
|
||||
background-position: 0px 0px;
|
||||
}
|
||||
#buttonStop{
|
||||
background-position: -576px 0px;
|
||||
}
|
||||
.playing {
|
||||
background-position: -336px 0px;
|
||||
}
|
||||
.paused {
|
||||
background-position: -384px 0px;
|
||||
}
|
||||
#buttonPrev{
|
||||
background-position: -144px 0px;
|
||||
}
|
||||
#buttonNext{
|
||||
background-position: -288px 0px;
|
||||
}
|
||||
#buttonFull{
|
||||
background-position: -192px 0px;
|
||||
}
|
||||
#buttonSout{
|
||||
background-position: -624px 0px;
|
||||
}
|
||||
#buttonEQ{
|
||||
background-position: -48px 0px;
|
||||
}
|
||||
#window_browse ol{
|
||||
list-style-type: none;
|
||||
}
|
||||
#window_browse ol li{
|
||||
list-style-type: none;
|
||||
float: left;
|
||||
padding: 5px;
|
||||
}
|
||||
.system_icon{
|
||||
width:80px;
|
||||
text-align:center;
|
||||
vertical-align:top;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
padding: 2px;
|
||||
border: 1px solid #823D0A;
|
||||
margin: 2px;
|
||||
height: 92px;
|
||||
background-color: #E1E1E1;
|
||||
overflow: hidden;
|
||||
}
|
||||
#window_create_stream table tr td{
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
#window_equalizer div div{
|
||||
text-align: center;
|
||||
font-size: 11px;
|
||||
padding: 0px;
|
||||
}
|
||||
.eqBand{
|
||||
margin-bottom: 10px;
|
||||
margin-top: 10px;
|
||||
height: 400px;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
.footer{
|
||||
margin-top: 30px;
|
||||
text-align: center;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
div.centered{
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.hidden{
|
||||
visibility: hidden;
|
||||
display: none;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 67d63cd33d27a2149a64c47eed632ae5
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 53e99a8267c78ae40a2864e626efc7aa
|
||||
folderAsset: yes
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 84fbdf76ccbfd4448ba2b18bff95487f
|
||||
folderAsset: yes
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 201 B |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3d1ebaae6f18ae04f891e66e48682b06
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 197 B |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea304091a100b3541a0e1d10d823632d
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 147 B |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: da0031f8c1a0eec4a85ff4022d32bd2f
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 103 B |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d470c3d1ebd875341a2e56e0c3b7f85a
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 115 B |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 41b82d39675a55240acb29a65ead2dcd
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 95 B |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1873a1574ee7fc745b2edee3d6f2afe6
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 106448beb0430024ea39c81bcc47ac7b
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 88 B |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c04dbc73d011f694eae5272a6f426c3d
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 126 B |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4b68cb312b15a6e47ad050c5f89fafff
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 15a14e8207ed80a4797dee28808b2060
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 5.0 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d3e1a6bcab3dc1c4e9a36e3f6c65fd30
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea1497101a3c2e44387f889980c3299a
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 961ba14d48d637e448417f000bfaa8be
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0f605c0a8732c364d9bc9144c5b0c31e
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,581 @@
|
||||
/*
|
||||
* jQuery UI CSS Framework 1.8.13
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Theming/API
|
||||
*/
|
||||
|
||||
/* Layout helpers
|
||||
----------------------------------*/
|
||||
.ui-helper-hidden { display: none; }
|
||||
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
|
||||
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
||||
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
||||
.ui-helper-clearfix { display: inline-block; }
|
||||
/* required comment for clearfix to work in Opera \*/
|
||||
* html .ui-helper-clearfix { height:1%; }
|
||||
.ui-helper-clearfix { display:block; }
|
||||
/* end clearfix */
|
||||
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
||||
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-disabled { cursor: default !important; }
|
||||
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
||||
|
||||
|
||||
/*
|
||||
* jQuery UI CSS Framework 1.8.13
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Theming/API
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* Component containers
|
||||
----------------------------------*/
|
||||
.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; }
|
||||
.ui-widget .ui-widget { font-size: 1em; }
|
||||
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
|
||||
|
||||
.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
|
||||
.ui-widget-content a { color: #333333; }
|
||||
.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
|
||||
.ui-widget-header a { color: #ffffff; }
|
||||
|
||||
/* Interaction states
|
||||
----------------------------------*/
|
||||
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; }
|
||||
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; }
|
||||
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; }
|
||||
.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; }
|
||||
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; }
|
||||
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; }
|
||||
.ui-widget :active { outline: none; }
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
|
||||
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
|
||||
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
|
||||
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
|
||||
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
|
||||
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
|
||||
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
||||
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
||||
.ui-selecting { background: #FECA40; }
|
||||
.ui-selected { background: #F39814; color: white; }
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
|
||||
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
||||
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
|
||||
.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); }
|
||||
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
|
||||
.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
|
||||
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); }
|
||||
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); }
|
||||
|
||||
/* positioning */
|
||||
.ui-icon-carat-1-n { background-position: 0 0; }
|
||||
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
||||
.ui-icon-carat-1-e { background-position: -32px 0; }
|
||||
.ui-icon-carat-1-se { background-position: -48px 0; }
|
||||
.ui-icon-carat-1-s { background-position: -64px 0; }
|
||||
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
||||
.ui-icon-carat-1-w { background-position: -96px 0; }
|
||||
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
||||
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
||||
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
||||
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
||||
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
||||
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
||||
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
||||
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
||||
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
||||
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
||||
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
||||
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
||||
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
||||
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
||||
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
||||
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
||||
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
||||
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
||||
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
||||
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
||||
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
||||
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
||||
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
||||
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
||||
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
||||
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
||||
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
||||
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
||||
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
||||
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
||||
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
||||
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
||||
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
||||
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
||||
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
||||
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
||||
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
||||
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
||||
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
||||
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
||||
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
||||
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
||||
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
||||
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
||||
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
||||
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
||||
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
||||
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
||||
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
||||
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
||||
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
||||
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
||||
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
||||
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
||||
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
||||
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
||||
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
||||
.ui-icon-extlink { background-position: -32px -80px; }
|
||||
.ui-icon-newwin { background-position: -48px -80px; }
|
||||
.ui-icon-refresh { background-position: -64px -80px; }
|
||||
.ui-icon-shuffle { background-position: -80px -80px; }
|
||||
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
||||
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
||||
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
||||
.ui-icon-folder-open { background-position: -16px -96px; }
|
||||
.ui-icon-document { background-position: -32px -96px; }
|
||||
.ui-icon-document-b { background-position: -48px -96px; }
|
||||
.ui-icon-note { background-position: -64px -96px; }
|
||||
.ui-icon-mail-closed { background-position: -80px -96px; }
|
||||
.ui-icon-mail-open { background-position: -96px -96px; }
|
||||
.ui-icon-suitcase { background-position: -112px -96px; }
|
||||
.ui-icon-comment { background-position: -128px -96px; }
|
||||
.ui-icon-person { background-position: -144px -96px; }
|
||||
.ui-icon-print { background-position: -160px -96px; }
|
||||
.ui-icon-trash { background-position: -176px -96px; }
|
||||
.ui-icon-locked { background-position: -192px -96px; }
|
||||
.ui-icon-unlocked { background-position: -208px -96px; }
|
||||
.ui-icon-bookmark { background-position: -224px -96px; }
|
||||
.ui-icon-tag { background-position: -240px -96px; }
|
||||
.ui-icon-home { background-position: 0 -112px; }
|
||||
.ui-icon-flag { background-position: -16px -112px; }
|
||||
.ui-icon-calendar { background-position: -32px -112px; }
|
||||
.ui-icon-cart { background-position: -48px -112px; }
|
||||
.ui-icon-pencil { background-position: -64px -112px; }
|
||||
.ui-icon-clock { background-position: -80px -112px; }
|
||||
.ui-icon-disk { background-position: -96px -112px; }
|
||||
.ui-icon-calculator { background-position: -112px -112px; }
|
||||
.ui-icon-zoomin { background-position: -128px -112px; }
|
||||
.ui-icon-zoomout { background-position: -144px -112px; }
|
||||
.ui-icon-search { background-position: -160px -112px; }
|
||||
.ui-icon-wrench { background-position: -176px -112px; }
|
||||
.ui-icon-gear { background-position: -192px -112px; }
|
||||
.ui-icon-heart { background-position: -208px -112px; }
|
||||
.ui-icon-star { background-position: -224px -112px; }
|
||||
.ui-icon-link { background-position: -240px -112px; }
|
||||
.ui-icon-cancel { background-position: 0 -128px; }
|
||||
.ui-icon-plus { background-position: -16px -128px; }
|
||||
.ui-icon-plusthick { background-position: -32px -128px; }
|
||||
.ui-icon-minus { background-position: -48px -128px; }
|
||||
.ui-icon-minusthick { background-position: -64px -128px; }
|
||||
.ui-icon-close { background-position: -80px -128px; }
|
||||
.ui-icon-closethick { background-position: -96px -128px; }
|
||||
.ui-icon-key { background-position: -112px -128px; }
|
||||
.ui-icon-lightbulb { background-position: -128px -128px; }
|
||||
.ui-icon-scissors { background-position: -144px -128px; }
|
||||
.ui-icon-clipboard { background-position: -160px -128px; }
|
||||
.ui-icon-copy { background-position: -176px -128px; }
|
||||
.ui-icon-contact { background-position: -192px -128px; }
|
||||
.ui-icon-image { background-position: -208px -128px; }
|
||||
.ui-icon-video { background-position: -224px -128px; }
|
||||
.ui-icon-script { background-position: -240px -128px; }
|
||||
.ui-icon-alert { background-position: 0 -144px; }
|
||||
.ui-icon-info { background-position: -16px -144px; }
|
||||
.ui-icon-notice { background-position: -32px -144px; }
|
||||
.ui-icon-help { background-position: -48px -144px; }
|
||||
.ui-icon-check { background-position: -64px -144px; }
|
||||
.ui-icon-bullet { background-position: -80px -144px; }
|
||||
.ui-icon-radio-off { background-position: -96px -144px; }
|
||||
.ui-icon-radio-on { background-position: -112px -144px; }
|
||||
.ui-icon-pin-w { background-position: -128px -144px; }
|
||||
.ui-icon-pin-s { background-position: -144px -144px; }
|
||||
.ui-icon-play { background-position: 0 -160px; }
|
||||
.ui-icon-pause { background-position: -16px -160px; }
|
||||
.ui-icon-seek-next { background-position: -32px -160px; }
|
||||
.ui-icon-seek-prev { background-position: -48px -160px; }
|
||||
.ui-icon-seek-end { background-position: -64px -160px; }
|
||||
.ui-icon-seek-start { background-position: -80px -160px; }
|
||||
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
||||
.ui-icon-seek-first { background-position: -80px -160px; }
|
||||
.ui-icon-stop { background-position: -96px -160px; }
|
||||
.ui-icon-eject { background-position: -112px -160px; }
|
||||
.ui-icon-volume-off { background-position: -128px -160px; }
|
||||
.ui-icon-volume-on { background-position: -144px -160px; }
|
||||
.ui-icon-power { background-position: 0 -176px; }
|
||||
.ui-icon-signal-diag { background-position: -16px -176px; }
|
||||
.ui-icon-signal { background-position: -32px -176px; }
|
||||
.ui-icon-battery-0 { background-position: -48px -176px; }
|
||||
.ui-icon-battery-1 { background-position: -64px -176px; }
|
||||
.ui-icon-battery-2 { background-position: -80px -176px; }
|
||||
.ui-icon-battery-3 { background-position: -96px -176px; }
|
||||
.ui-icon-circle-plus { background-position: 0 -192px; }
|
||||
.ui-icon-circle-minus { background-position: -16px -192px; }
|
||||
.ui-icon-circle-close { background-position: -32px -192px; }
|
||||
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
||||
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
||||
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
||||
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
||||
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
||||
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
||||
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
||||
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
||||
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
||||
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
||||
.ui-icon-circle-check { background-position: -208px -192px; }
|
||||
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
||||
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
||||
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
||||
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
||||
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
||||
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
||||
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
||||
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
||||
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Corner radius */
|
||||
.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
|
||||
.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
||||
.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
||||
.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
||||
.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
||||
.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
||||
.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
||||
.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
||||
.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); }
|
||||
.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/*
|
||||
* jQuery UI Resizable 1.8.13
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Resizable#theming
|
||||
*/
|
||||
.ui-resizable { position: relative;}
|
||||
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;
|
||||
/* http://bugs.jqueryui.com/ticket/7233
|
||||
- Resizable: resizable handles fail to work in IE if transparent and content overlaps
|
||||
*/
|
||||
background-image:url(data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=);
|
||||
}
|
||||
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
||||
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
|
||||
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
|
||||
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
||||
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
|
||||
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
|
||||
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
|
||||
* jQuery UI Selectable 1.8.13
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Selectable#theming
|
||||
*/
|
||||
.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
|
||||
/*
|
||||
* jQuery UI Accordion 1.8.13
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Accordion#theming
|
||||
*/
|
||||
/* IE/Win - Fix animation bug - #4615 */
|
||||
.ui-accordion { width: 100%; }
|
||||
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
|
||||
.ui-accordion .ui-accordion-li-fix { display: inline; }
|
||||
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
|
||||
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
|
||||
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
|
||||
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
|
||||
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
|
||||
.ui-accordion .ui-accordion-content-active { display: block; }
|
||||
/*
|
||||
* jQuery UI Autocomplete 1.8.13
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Autocomplete#theming
|
||||
*/
|
||||
.ui-autocomplete { position: absolute; cursor: default; }
|
||||
|
||||
/* workarounds */
|
||||
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
|
||||
|
||||
/*
|
||||
* jQuery UI Menu 1.8.13
|
||||
*
|
||||
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Menu#theming
|
||||
*/
|
||||
.ui-menu {
|
||||
list-style:none;
|
||||
padding: 2px;
|
||||
margin: 0;
|
||||
display:block;
|
||||
float: left;
|
||||
}
|
||||
.ui-menu .ui-menu {
|
||||
margin-top: -3px;
|
||||
}
|
||||
.ui-menu .ui-menu-item {
|
||||
margin:0;
|
||||
padding: 0;
|
||||
zoom: 1;
|
||||
float: left;
|
||||
clear: left;
|
||||
width: 100%;
|
||||
}
|
||||
.ui-menu .ui-menu-item a {
|
||||
text-decoration:none;
|
||||
display:block;
|
||||
padding:.2em .4em;
|
||||
line-height:1.5;
|
||||
zoom:1;
|
||||
}
|
||||
.ui-menu .ui-menu-item a.ui-state-hover,
|
||||
.ui-menu .ui-menu-item a.ui-state-active {
|
||||
font-weight: normal;
|
||||
margin: -1px;
|
||||
}
|
||||
/*
|
||||
* jQuery UI Button 1.8.13
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Button#theming
|
||||
*/
|
||||
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
|
||||
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
|
||||
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
|
||||
.ui-button-icons-only { width: 3.4em; }
|
||||
button.ui-button-icons-only { width: 3.7em; }
|
||||
|
||||
/*button text element */
|
||||
.ui-button .ui-button-text { display: block; line-height: 1.4; }
|
||||
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
|
||||
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
|
||||
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
|
||||
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
|
||||
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
|
||||
/* no icon support for input elements, provide padding by default */
|
||||
input.ui-button { padding: .4em 1em; }
|
||||
|
||||
/*button icon element(s) */
|
||||
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
|
||||
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
|
||||
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
|
||||
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
||||
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
||||
|
||||
/*button sets*/
|
||||
.ui-buttonset { margin-right: 7px; }
|
||||
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
|
||||
|
||||
/* workarounds */
|
||||
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
|
||||
/*
|
||||
* jQuery UI Dialog 1.8.13
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Dialog#theming
|
||||
*/
|
||||
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
|
||||
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
|
||||
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
|
||||
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
|
||||
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
|
||||
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
|
||||
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
|
||||
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
|
||||
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
|
||||
.ui-draggable .ui-dialog-titlebar { cursor: move; }
|
||||
/*
|
||||
* jQuery UI Slider 1.8.13
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Slider#theming
|
||||
*/
|
||||
.ui-slider { position: relative; text-align: left; }
|
||||
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
|
||||
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
|
||||
|
||||
.ui-slider-horizontal { height: .8em; }
|
||||
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
|
||||
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
|
||||
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
|
||||
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
|
||||
|
||||
.ui-slider-vertical { width: .8em; height: 100px; }
|
||||
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
|
||||
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
|
||||
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
|
||||
.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
|
||||
* jQuery UI Tabs 1.8.13
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Tabs#theming
|
||||
*/
|
||||
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
||||
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
|
||||
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
|
||||
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
|
||||
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
||||
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
|
||||
.ui-tabs .ui-tabs-hide { display: none !important; }
|
||||
/*
|
||||
* jQuery UI Datepicker 1.8.13
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Datepicker#theming
|
||||
*/
|
||||
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
|
||||
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
|
||||
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
|
||||
.ui-datepicker .ui-datepicker-prev { left:2px; }
|
||||
.ui-datepicker .ui-datepicker-next { right:2px; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
|
||||
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
|
||||
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
|
||||
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
|
||||
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
|
||||
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
|
||||
.ui-datepicker select.ui-datepicker-month,
|
||||
.ui-datepicker select.ui-datepicker-year { width: 49%;}
|
||||
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
|
||||
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
|
||||
.ui-datepicker td { border: 0; padding: 1px; }
|
||||
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
|
||||
|
||||
/* with multiple calendars */
|
||||
.ui-datepicker.ui-datepicker-multi { width:auto; }
|
||||
.ui-datepicker-multi .ui-datepicker-group { float:left; }
|
||||
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
|
||||
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
|
||||
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
|
||||
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
|
||||
.ui-datepicker-row-break { clear:both; width:100%; }
|
||||
|
||||
/* RTL support */
|
||||
.ui-datepicker-rtl { direction: rtl; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
|
||||
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
|
||||
.ui-datepicker-cover {
|
||||
display: none; /*sorry for IE5*/
|
||||
display/**/: block; /*sorry for IE5*/
|
||||
position: absolute; /*must have*/
|
||||
z-index: -1; /*must have*/
|
||||
filter: mask(); /*must have*/
|
||||
top: -4px; /*must have*/
|
||||
left: -4px; /*must have*/
|
||||
width: 200px; /*must have*/
|
||||
height: 200px; /*must have*/
|
||||
}/*
|
||||
* jQuery UI Progressbar 1.8.13
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Progressbar#theming
|
||||
*/
|
||||
.ui-progressbar { height:2em; text-align: left; }
|
||||
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 14dd45974f85e3841b850bb6750736fb
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,20 @@
|
||||
-- make xgettext fetch strings from html code
|
||||
function gettext(text) print(vlc.gettext._(text)) end
|
||||
|
||||
local _G = _G
|
||||
module("custom",package.seeall)
|
||||
|
||||
local dialogs = setmetatable({}, {
|
||||
__index = function(self, name)
|
||||
-- Cache the dialogs
|
||||
return rawget(self, name) or
|
||||
rawget(rawset(self, name, process(http_dir.."/dialogs/"..name)), name)
|
||||
end})
|
||||
|
||||
_G.dialogs = function(...)
|
||||
for i=1, select("#",...) do
|
||||
dialogs[(select(i,...))]()
|
||||
end
|
||||
end
|
||||
|
||||
_G.vlm = vlc.vlm()
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 800c4f6c2ace7ab42aaf34d85628cb22
|
||||
timeCreated: 1460812098
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 39cc75e99be676644854be63b780f081
|
||||
folderAsset: yes
|
||||
timeCreated: 1460812097
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,32 @@
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(function(){
|
||||
$('#window_batch').dialog({
|
||||
autoOpen: false,
|
||||
width: 600,
|
||||
modal: true,
|
||||
buttons:{
|
||||
"<?vlc gettext("Send") ?>":function(){
|
||||
var cmds = $('#batchCommand').val().split("\n");
|
||||
for(var i=0;i<cmds.length;i++){
|
||||
cmds[i] = cmds[i].replace(/^#.*$/,'\n');
|
||||
}
|
||||
cmds = cmds.join(";").replace(/\n/g,';').replace(/;+/g,';').replace(/^;/,'');
|
||||
sendVLMCmd(cmds);
|
||||
$(this).dialog('close');
|
||||
},
|
||||
"<?vlc gettext("Cancel") ?>":function(){
|
||||
$(this).dialog('close');
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
//]]>
|
||||
</script>
|
||||
<div id="window_batch" title="<?vlc gettext("VLM Batch Commands") ?>">
|
||||
<textarea id="batchCommand" cols="50" rows="16">
|
||||
<?vlc gettext("#paste your VLM commands here") ?>
|
||||
|
||||
<?vlc gettext("#separate commands with a new line or a semi-colon") ?>
|
||||
</textarea>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6dc2efddc25cc0b41a23ca9d8c9d48f5
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,44 @@
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
var browse_target = 'default';
|
||||
$(function(){
|
||||
$('#window_browse').dialog({
|
||||
autoOpen: false,
|
||||
width: 600,
|
||||
height: 650,
|
||||
modal: true,
|
||||
resizable: false,
|
||||
buttons: {
|
||||
"<?vlc gettext("Open") ?>":function(){
|
||||
$('li.ui-selected','#browse_elements').each(function(){
|
||||
$(this).dblclick();
|
||||
});
|
||||
},
|
||||
"<?vlc gettext("Enqueue") ?>": function() {
|
||||
$('li.ui-selected','#browse_elements').each(function(){
|
||||
var path = this.getAttribute('opendir') ? this.getAttribute('opendir') : this.getAttribute('openfile');
|
||||
switch(browse_target){
|
||||
default:
|
||||
sendCommand('command=in_enqueue&input='+encodeURI(path));
|
||||
setTimeout(function(){updatePlayList(true);},1000);
|
||||
break;
|
||||
}
|
||||
});
|
||||
$(this).dialog("close");
|
||||
},
|
||||
"<?vlc gettext("Cancel") ?>" : function(){
|
||||
$(this).dialog("close")
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
<div id="window_browse" title="<?vlc gettext("Media Browser") ?>">
|
||||
<div style="height:500px;overflow: auto;">
|
||||
<ol id='browse_elements' selectable="selectable">
|
||||
<li><?vlc gettext("Play List") ?></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5f1646f65fe873249b09624a720bbc6c
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,394 @@
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(function(){
|
||||
$('#stream_out_method').change(function(){
|
||||
$('#output_options').empty();
|
||||
switch($(this).val()){
|
||||
case 'file':
|
||||
var options = $('#file_options').clone();
|
||||
break;
|
||||
case 'http':
|
||||
var options = $('#net_options').clone();
|
||||
break;
|
||||
case 'mmsh':
|
||||
case 'rtp':
|
||||
case 'udp':
|
||||
var options = $('#net_options').clone();
|
||||
$('#stream_out_file_',options).val('');
|
||||
break;
|
||||
}
|
||||
$('[id]',options).each(function(){
|
||||
$(this).attr('id',$(this).attr('id').substr(0,$(this).attr('id').length-1));
|
||||
$(this).attr('name',$(this).attr('name').substr(0,$(this).attr('name').length-1));
|
||||
});
|
||||
$(options).css({
|
||||
'visibility':'visible',
|
||||
'display':'block'
|
||||
})
|
||||
$(options).appendTo('#output_options');
|
||||
});
|
||||
$('#stream_out_mux').change(function(){
|
||||
if($(this).val()=='ffmpeg'){
|
||||
$('#stream_out_mux_opts').val('{mux=flv}');
|
||||
}else{
|
||||
$('#stream_out_mux_opts').val('');
|
||||
}
|
||||
});
|
||||
$('#window_create_stream').dialog({
|
||||
autoOpen: false,
|
||||
width:800,
|
||||
modal: true,
|
||||
buttons:{
|
||||
"<?vlc gettext("Create") ?>":function(){
|
||||
var e = false;
|
||||
$('input',$(this)).removeClass('ui-state-error');
|
||||
$('#stream_error_container').css({
|
||||
'visibility':'hidden',
|
||||
'display':'none'
|
||||
});
|
||||
if(!$('#stream_name').val()){
|
||||
$('#stream_name').addClass('ui-state-error');
|
||||
e = true;
|
||||
}
|
||||
if(!$('#stream_input').val()){
|
||||
$('#stream_input').addClass('ui-state-error');
|
||||
e = true;
|
||||
}
|
||||
|
||||
if($('#stream_out_method').val()!='file' && !$('#stream_out_port').val()){
|
||||
$('#stream_out_port').addClass('ui-state-error');
|
||||
e = true;
|
||||
}
|
||||
if($('#stream_out_method').val()!='file' && !$('#stream_out_dest').val()){
|
||||
$('#stream_out_dest').addClass('ui-state-error');
|
||||
e = true;
|
||||
}
|
||||
|
||||
if($('#stream_out_method').val()=='file' && !$('#stream_out_filename').val()){
|
||||
$('#stream_out_filename').addClass('ui-state-error');
|
||||
e = true;
|
||||
}
|
||||
if(e){
|
||||
$('#stream_error_message').empty();
|
||||
$('#stream_error_message').append('One or more fields require attention.');
|
||||
$('#stream_error_container').css({
|
||||
'visibility':'visible',
|
||||
'display':'block'
|
||||
})
|
||||
}else{
|
||||
sendVLMCmd(buildStreamCode());
|
||||
$(this).dialog('close');
|
||||
}
|
||||
},
|
||||
"<?vlc gettext("Cancel") ?>":function(){
|
||||
$(this).dialog('close');
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#button_input').click(function(){
|
||||
browse_target = '#stream_input';
|
||||
browse();
|
||||
$('#window_browse').dialog('open');
|
||||
});
|
||||
$('#button_in_screen').click(function(){
|
||||
$('#stream_input').val('screen://');
|
||||
});
|
||||
});
|
||||
function buildStreamCode(){
|
||||
var name = $('#stream_name').val().replace(' ','_');
|
||||
var infile = $('#stream_input').val();
|
||||
|
||||
var vcodec = $('#stream_vcodec').val();
|
||||
var vb = $('#stream_vb').val();
|
||||
var fps = $('#stream_fps').val();
|
||||
var scale = $('#stream_scale').val();
|
||||
var dlace = $('#stream_deinterlace').is(':checked');
|
||||
|
||||
var acodec = $('#stream_acodec').val();
|
||||
var ab = $('#stream_ab').val();
|
||||
var srate = $('#stream_samplerate').val();
|
||||
var channels = $('#stream_channels').val();
|
||||
|
||||
var scodec = $('#stream_scodec').val() && !$('#stream_soverlay').checked ? ','+$('#stream_scodec').val() : '';
|
||||
var soverlay = $('#stream_soverlay').is(':checked') ? ',soverlay' : '';
|
||||
|
||||
var outmethod = $('#stream_out_method').val();
|
||||
var mux = $('#stream_out_mux').val();
|
||||
var muxoptions = $('#stream_out_mux_opts').val() ? '{'+$('#stream_out_mux_opts').val()+'}' : '';
|
||||
|
||||
if(outmethod=='file'){
|
||||
var filename = $('#stream_out_filename').val();
|
||||
}else{
|
||||
var outport = $('#stream_out_port').val();
|
||||
var outdest = $('#stream_out_dest').val();
|
||||
var outfile = $('#stream_out_file').val();
|
||||
}
|
||||
var dest = outmethod=='file' ? filename : (outfile ? outdest+':'+outport+'/'+outfile : outdest+':'+outport);
|
||||
var inCode = 'new '+name+' broadcast enabled input "'+infile+'" ';
|
||||
var transCode = 'output #transcode{vcodec='+vcodec+',vb='+vb+',fps='+fps+',scale='+scale+',acodec='+acodec+',ab='+ab+',samplerate='+srate+',channels='+channels+scodec+soverlay+'}';
|
||||
var outCode = ':std{access='+outmethod+',mux='+mux+muxoptions+',dst='+dest+'}';
|
||||
|
||||
return inCode+transCode+outCode;
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
<div id="window_create_stream" title="<?vlc gettext("Create Stream") ?>">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td style="text-align:right" valign="top">
|
||||
<h5><?vlc gettext("Stream name") ?></h5>
|
||||
</td>
|
||||
<td colspan="5" valign="top">
|
||||
<input type="text" name="stream_name" id="stream_name" value=""/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2" valign="top">
|
||||
<h5><?vlc gettext("Video") ?></h5>
|
||||
</th>
|
||||
<th colspan="2" valign="top">
|
||||
<h5><?vlc gettext("Audio") ?></h5>
|
||||
</th>
|
||||
<th colspan="2" valign="top">
|
||||
<h5><?vlc gettext("Subtitles") ?></h5>
|
||||
</th>
|
||||
<th colspan="2" valign="top">
|
||||
<h5><?vlc gettext("Output") ?></h5>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Video codec") ?></td>
|
||||
<td valign="top">
|
||||
<select name="stream_vcodec" id="stream_vcodec">
|
||||
<option value="FLV1">FLV1</option>
|
||||
<option value="mp1v">mp1v</option>
|
||||
<option value="mp2v">mp2v</option>
|
||||
<option value="mp4v">mp4v</option>
|
||||
<option value="DIV1">DIV1</option>
|
||||
<option value="DIV2">DIV2</option>
|
||||
<option value="DIV3">DIV3</option>
|
||||
<option value="h263">H263</option>
|
||||
<option value="h264">H264</option>
|
||||
<option value="WMV1">WMV1</option>
|
||||
<option value="WMV2">WMV2</option>
|
||||
<option value="MJPG">MJPG</option>
|
||||
<option value="theo">theo</option>
|
||||
</select>
|
||||
</td>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Audio codec") ?></td>
|
||||
<td valign="top">
|
||||
<select name="stream_acodec" id="stream_acodec">
|
||||
<option value="mp3">mp3</option>
|
||||
<option value="mpga">mpga</option>
|
||||
<option value="mp2a">mp2a</option>
|
||||
<option value="mp4a">mp4a</option>
|
||||
<option value="a52">a52</option>
|
||||
<option value="vorb">vorb</option>
|
||||
<option value="flac">flac</option>
|
||||
<option value="spx">spx</option>
|
||||
<option value="s16l">s16l</option>
|
||||
<option value="fl32">fl32</option>
|
||||
</select>
|
||||
</td>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Subtitle codec") ?></td>
|
||||
<td valign="top">
|
||||
<select name="stream_scodec" id="stream_scodec">
|
||||
<option value=""><?vlc gettext("None") ?></option>
|
||||
<option value="dvbs">dvbs</option>
|
||||
</select>
|
||||
</td>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Output method") ?></td>
|
||||
<td valign="top">
|
||||
<select name="stream_out_method" id="stream_out_method">
|
||||
<option value="http">HTTP</option>
|
||||
<option value="file"><?vlc gettext("File") ?></option>
|
||||
<option value="mmsh">MMSH</option>
|
||||
<option value="rtp">RTP</option>
|
||||
<option value="udp">UDP</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Video bitrate") ?></td>
|
||||
<td valign="top">
|
||||
<select name="stream_vb" id="stream_vb">
|
||||
<option value="4096">4096</option>
|
||||
<option value="3072">3072</option>
|
||||
<option value="2048">2048</option>
|
||||
<option value="1024">1024</option>
|
||||
<option value="768">768</option>
|
||||
<option value="512">512</option>
|
||||
<option value="384">384</option>
|
||||
<option value="256">256</option>
|
||||
<option value="192">192</option>
|
||||
<option value="128">128</option>
|
||||
<option value="96">96</option>
|
||||
<option value="64">64</option>
|
||||
<option value="32">32</option>
|
||||
<option value="16">16</option>
|
||||
</select>
|
||||
</td>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Audio bitrate") ?></td>
|
||||
<td valign="top">
|
||||
<select name="stream_ab" id="stream_ab">
|
||||
<option value="512">512</option>
|
||||
<option value="384">384</option>
|
||||
<option value="256">256</option>
|
||||
<option value="192">192</option>
|
||||
<option value="128">128</option>
|
||||
<option value="96">96</option>
|
||||
<option value="64">64</option>
|
||||
<option value="32">32</option>
|
||||
<option value="16">16</option>
|
||||
</select>
|
||||
</td>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Overlay") ?></td>
|
||||
<td valign="top">
|
||||
<input type="checkbox" name="stream_soverlay" id="stream_soverlay" value="1" />
|
||||
</td>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Multiplexer") ?></td>
|
||||
<td valign="top">
|
||||
<select name="stream_out_mux" id="stream_out_mux">
|
||||
<option value="ts">MPEG TS</option>
|
||||
<option value="ps">MPEG PS</option>
|
||||
<option value="mpeg1">MPEG 1</option>
|
||||
<option value="ogg">OGG</option>
|
||||
<option value="asf">ASF</option>
|
||||
<option value="mp4">MP4</option>
|
||||
<option value="mov">MOV</option>
|
||||
<option value="wav">WAV</option>
|
||||
<option value="raw">Raw</option>
|
||||
<option value="ffmpeg" selected="selected">FFMPEG</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Video FPS") ?></td>
|
||||
<td valign="top">
|
||||
<select name="stream_fps" id="stream_fps">
|
||||
<option value="300">300</option>
|
||||
<option value="120">120</option>
|
||||
<option value="100">100</option>
|
||||
<option value="72">72</option>
|
||||
<option value="60">60</option>
|
||||
<option value="50">50</option>
|
||||
<option value="48">48</option>
|
||||
<option value="30">30</option>
|
||||
<option value="25" selected="selected">25</option>
|
||||
<option value="24">24</option>
|
||||
</select>
|
||||
</td>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Audio sample rate") ?></td>
|
||||
<td valign="top">
|
||||
<select name="stream_samplerate" id="stream_samplerate">
|
||||
<option value="192000">192 KHz</option>
|
||||
<option value="96000">96 KHz</option>
|
||||
<option value="50000">50 KHz</option>
|
||||
<option value="48000">48 KHz</option>
|
||||
<option value="44100" selected="selected">44 KHz</option>
|
||||
<option value="32000">32 KHz</option>
|
||||
<option value="22050">22 KHz</option>
|
||||
<option value="16000">16 KHz</option>
|
||||
<option value="11025">11 KHz</option>
|
||||
<option value="8000">8 KHz</option>
|
||||
</select>
|
||||
</td>
|
||||
<td colspan="2" valign="top"> </td>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("MUX options") ?></td>
|
||||
<td valign="top">
|
||||
<input type="text" name="stream_out_mux_opts" id="stream_out_mux_opts" value="{mux=flv}" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Video scale") ?></td>
|
||||
<td valign="top">
|
||||
<select name="stream_scale" id="stream_scale">
|
||||
<option value="0.25">25%</option>
|
||||
<option value="0.5">50%</option>
|
||||
<option value="0.75">75%</option>
|
||||
<option selected="selected" value="1">100%</option>
|
||||
<option value="1.25">125%</option>
|
||||
<option value="1.5">150%</option>
|
||||
<option value="1.75">175%</option>
|
||||
<option value="2">200%</option>
|
||||
</select>
|
||||
</td>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Audio channels") ?></td>
|
||||
<td valign="top">
|
||||
<select name="stream_channels" id="stream_channels" >
|
||||
<option value="1">1</option>
|
||||
<option value="2" selected="selected">2</option>
|
||||
<option value="4">4</option>
|
||||
<option value="6">6</option>
|
||||
</select>
|
||||
</td>
|
||||
<td colspan="2" valign="top"> </td>
|
||||
<td colspan="2" rowspan="2" valign="top">
|
||||
<div id="output_options">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Output port") ?></td>
|
||||
<td valign="top"><input type="text" name="stream_out_port" id="stream_out_port" value="8081" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Output destination") ?></td>
|
||||
<td><input type="text" name="stream_out_dest" id="stream_out_dest" value="0.0.0.0" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Output file") ?></td>
|
||||
<td valign="top"><input type="text" name="stream_out_file" id="stream_out_file" value="stream.flv" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top" style="text-align:right"><?vlc gettext("Deinterlace") ?></td>
|
||||
<td valign="top">
|
||||
<input type="checkbox" name="stream_deinterlace" id="stream_deinterlace" value="1" />
|
||||
</td>
|
||||
<td colspan="2" valign="top"> </td>
|
||||
<td colspan="2" valign="top"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right" colspan="2" valign="top">
|
||||
<?vlc gettext("Input media") ?>
|
||||
</td>
|
||||
<td colspan="6" valign="top">
|
||||
<input type="text" name="stream_input" id="stream_input" value="" size="50" />
|
||||
<div id="button_input" class="button icon ui-widget ui-state-default" title="<?vlc gettext("Media file") ?>" opendialog="window_browse"><span class="ui-icon ui-icon-eject"></span></div>
|
||||
<div id="button_in_screen" class="button icon ui-widget ui-state-default" title="<?vlc gettext("Capture screen") ?>" ><span class="ui-icon ui-icon-contact"></span></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="ui-widget" id="stream_error_container" style="display:none;visibility: hidden;">
|
||||
<div class="ui-state-error ui-corner-all" style="padding: 0 .7em;">
|
||||
<p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>
|
||||
<strong><?vlc gettext("Error:") ?></strong> <span id="stream_error_message"><?vlc gettext("Sample ui-state-error style.") ?></span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="net_options" style="display:none;visibility: hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Output port") ?></td>
|
||||
<td valign="top"><input type="text" name="stream_out_port_" id="stream_out_port_" value="8081" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Output destination") ?></td>
|
||||
<td valign="top"><input type="text" name="stream_out_dest_" id="stream_out_dest_" value="0.0.0.0" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("Output file") ?></td>
|
||||
<td valign="top"><input type="text" name="stream_out_file_" id="stream_out_file_" value="stream.flv" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="file_options" style="display:none;visibility: hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="text-align:right" valign="top"><?vlc gettext("File name") ?></td>
|
||||
<td valign="top"><input type="text" name="stream_out_filename_" id="stream_out_filename_"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8d66d62e23ac55a4c87237da9e4c7421
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,54 @@
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
var bands = new Array('60Hz','170Hz','310Hz','600Hz','1kHz','3kHz','6kHz','12kHz','14kHz','16kHz');
|
||||
$(function(){
|
||||
$('#window_equalizer').dialog({
|
||||
autoOpen: false,
|
||||
height: 650,
|
||||
width: 500,
|
||||
resizable: false,
|
||||
buttons:{
|
||||
"<?vlc gettext("Reset") ?>":function(){
|
||||
$('.eqBand').each(function(){
|
||||
$(this).slider('value',0);
|
||||
sendEQCmd({
|
||||
command:'equalizer',
|
||||
val: 0,
|
||||
band: $(this).attr('id').substr(2)
|
||||
})
|
||||
});
|
||||
|
||||
},
|
||||
"<?vlc gettext("Close") ?>":function(){
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#preamp').slider({
|
||||
min: -20,
|
||||
max: 20,
|
||||
step: 0.1,
|
||||
range: "min",
|
||||
animate: true,
|
||||
stop: function(event,ui){
|
||||
$('#preamp_txt').empty().append(ui.value+'dB');
|
||||
sendEQCmd({
|
||||
command:'preamp',
|
||||
val: ui.value
|
||||
})
|
||||
},
|
||||
slide: function(event,ui){
|
||||
$('#preamp_txt').empty().append(ui.value+'dB');
|
||||
}
|
||||
});
|
||||
});
|
||||
//]]>
|
||||
</script>
|
||||
<div id="window_equalizer" title="<?vlc gettext("Graphical Equalizer") ?>">
|
||||
<div style="margin: 5px 5px 5px 5px;">
|
||||
<div><?vlc gettext("Preamp:") ?> <span id="preamp_txt">0dB</span></div>
|
||||
</div>
|
||||
<div style="margin: 5px 5px 10px 5px;">
|
||||
<div id="preamp" style="font-size: 18px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5b6b319788ad4eb4f8450f2bb5039c4a
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,19 @@
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('#window_error').dialog({
|
||||
autoOpen: false,
|
||||
width:400,
|
||||
modal: true,
|
||||
buttons:{
|
||||
"<?vlc gettext("Close") ?>":function(){
|
||||
$('#error_container').empty();
|
||||
$(this).dialog('close');
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<div id="window_error" title="<?vlc gettext("Error!") ?>">
|
||||
<div class="ui-state-error"><div class="ui-icon ui-icon-alert"></div></div>
|
||||
<div id="error_container" class="ui-state-error"></div>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 83730e6c0f2403b42a8f4ae9081e8974
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,146 @@
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(function(){
|
||||
$('#window_mosaic').dialog({
|
||||
autoOpen: false,
|
||||
width: 800,
|
||||
maxWidth: 1000,
|
||||
minWidth: 800,
|
||||
minHeight: 500,
|
||||
modal: true,
|
||||
buttons: {
|
||||
"<?vlc gettext("Create") ?>": function() {
|
||||
$(this).dialog("close");
|
||||
},
|
||||
"<?vlc gettext("Cancel") ?>" : function(){
|
||||
$(this).dialog("close")
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#mosaic_bg').resizable({
|
||||
maxWidth: 780,
|
||||
ghost: true
|
||||
});
|
||||
$('#mosaic_tiles').draggable({
|
||||
maxWidth: 780,
|
||||
handle: 'h3',
|
||||
containment: [13,98,99999999,99999999],
|
||||
drag:function(event,ui){
|
||||
var xoff = ui.offset.left - $('#mosaic_bg').offset().left;
|
||||
var yoff = ui.offset.top - $('#mosaic_bg').offset().top-17;
|
||||
$('#mosaic_xoff').val(xoff);
|
||||
$('#mosaic_yoff').val(yoff);
|
||||
}
|
||||
});
|
||||
$('input','#mosaic_options').change(setMosaic);
|
||||
setMosaic();
|
||||
});
|
||||
function setMosaic(){
|
||||
var rows = Number($('#mosaic_rows').val());
|
||||
var cols = Number($('#mosaic_cols').val());
|
||||
var n = 0;
|
||||
$('#mosaic_tiles').empty()
|
||||
$('#mosaic_tiles').append('<tr><td colspan="99"><h3 style="margin:0px;cursor:move; font-weight:normal" class="ui-widget-header"><?vlc gettext("Mosaic Tiles") ?></h3></td></tr>');
|
||||
for(var i=0;i<rows;i++){
|
||||
$('#mosaic_tiles').append('<tr>');
|
||||
for(var j=0;j<cols;j++){
|
||||
$('tr:last','#mosaic_tiles').append('<td class="mosaic">');
|
||||
$('td:last','#mosaic_tiles').append('<div id="mosaic_open__'+n+'" class="button icon ui-widget ui-state-default" title="Open Media" style="margin-top:49%"><span class="ui-icon ui-icon-eject"></span></div>');
|
||||
n++;
|
||||
}
|
||||
}
|
||||
$('.mosaic').resizable({
|
||||
alsoResize: '.mosaic',
|
||||
resize:function(event,ui){
|
||||
$('#mosaic_width').val(ui.size.width);
|
||||
$('#mosaic_height').val(ui.size.height);
|
||||
$('[id^=mosaic_open]').css({
|
||||
'margin-top': Number($('#mosaic_height').val()/2)
|
||||
});
|
||||
}
|
||||
});
|
||||
$('.mosaic').css({
|
||||
'background': '#33FF33',
|
||||
'width': Number($('#mosaic_width').val()),
|
||||
'height':Number($('#mosaic_height').val()),
|
||||
'text-align': 'center',
|
||||
'float' : 'left',
|
||||
'border' : '1px solid #990000',
|
||||
'margin-left': Number($('#mosaic_rbord').val()),
|
||||
'margin-right': Number($('#mosaic_rbord').val()),
|
||||
'margin-top': Number($('#mosaic_cbord').val()),
|
||||
'margin-bottom': Number($('#mosaic_cbord').val())
|
||||
});
|
||||
$('[id^=mosaic_open_]').each(function(){
|
||||
$(this).css({
|
||||
'margin-top': Number($('#mosaic_height').val()/2)
|
||||
});
|
||||
$(this).click(function(){
|
||||
browse_target = '#'+$(this).attr('id');
|
||||
get_dir();
|
||||
$('#window_browse').dialog('open');
|
||||
});
|
||||
});
|
||||
|
||||
$('.button').hover(
|
||||
function() { $(this).addClass('ui-state-hover'); },
|
||||
function() { $(this).removeClass('ui-state-hover'); }
|
||||
);
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
<div id="window_mosaic" title="<?vlc gettext("Create Mosaic") ?>">
|
||||
<table id="mosaic_options">
|
||||
<tr>
|
||||
<td style="text-align:right"><?vlc gettext("Rows") ?></td>
|
||||
<td>
|
||||
<input type="text" name="mosaic_rows" id="mosaic_rows" size="3" value="2"/>
|
||||
</td>
|
||||
<td style="text-align:right"><?vlc gettext("X offset") ?></td>
|
||||
<td>
|
||||
<input type="text" name="mosaic_xoff" id="mosaic_xoff" size="3" value="0" disabled="disabled"/>
|
||||
</td>
|
||||
<td style="text-align:right"><?vlc gettext("Row border") ?></td>
|
||||
<td>
|
||||
<input type="text" name="mosaic_rbord" id="mosaic_rbord" size="3" value="5"/>
|
||||
</td>
|
||||
<td style="text-align:right"><?vlc gettext("Width") ?></td>
|
||||
<td>
|
||||
<input type="text" name="mosaic_width" id="mosaic_width" size="3" value="100" disabled="disabled"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right"><?vlc gettext("Columns") ?></td>
|
||||
<td>
|
||||
<input type="text" name="mosaic_cols" id="mosaic_cols" size="3" value="2"/>
|
||||
</td>
|
||||
<td style="text-align:right"><?vlc gettext("Y offset") ?></td>
|
||||
<td>
|
||||
<input type="text" name="mosaic_yoff" id="mosaic_yoff" size="3" value="0" disabled="disabled"/>
|
||||
</td>
|
||||
<td style="text-align:right"><?vlc gettext("Column border") ?></td>
|
||||
<td>
|
||||
<input type="text" name="mosaic_cbord" id="mosaic_cbord" size="3" value="5"/>
|
||||
</td>
|
||||
<td style="text-align:right"><?vlc gettext("Height") ?></td>
|
||||
<td>
|
||||
<input type="text" name="mosaic_height" id="mosaic_height" size="3" value="100" disabled="disabled"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="mosaic_bg" class="ui-widget-content" style="background: #3333FF;width:400px; height:300px;text-align: center; vertical-align: middle;">
|
||||
<h3 style="margin:0px;font-weight:normal" class="ui-widget-header"><?vlc gettext("Background") ?></h3>
|
||||
<table id="mosaic_tiles" class="ui-widget-content" cellpadding="0" cellspacing="0">
|
||||
<tr><td colspan="99"><h3 style="margin:0px;cursor:move; font-weight:normal" class="ui-widget-header"><?vlc gettext("Mosaic Tiles") ?></h3></td></tr>
|
||||
<tr>
|
||||
<td class="mosaic"></td>
|
||||
<td class="mosaic"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="mosaic"></td>
|
||||
<td class="mosaic"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b5ca72dfe8338024388e381593278c79
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,79 @@
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(function(){
|
||||
$('#window_offset').dialog({
|
||||
autoOpen: false,
|
||||
minWidth: 400,
|
||||
buttons:{
|
||||
"Close":function(){
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
$( "#rateSlider" ).slider({
|
||||
range: "min",
|
||||
value: 1,
|
||||
min: 0.25,
|
||||
max: 10,
|
||||
step: 0.25,
|
||||
stop: function( event, ui ) {
|
||||
sendCommand({
|
||||
'command':'rate',
|
||||
'val':(ui.value)
|
||||
})
|
||||
},
|
||||
slide: function(event,ui){
|
||||
$('#currentRate').empty();
|
||||
$('#currentRate').append(ui.value+'x');
|
||||
}
|
||||
});
|
||||
$( "#audioSlider" ).slider({
|
||||
range: "min",
|
||||
value: 0,
|
||||
min: -10,
|
||||
max: 10,
|
||||
step: 0.25,
|
||||
stop: function( event, ui ) {
|
||||
sendCommand({
|
||||
'command':'audiodelay',
|
||||
'val':(ui.value)
|
||||
})
|
||||
},
|
||||
slide: function(event,ui){
|
||||
$('#currentAudioDelay').empty();
|
||||
$('#currentAudioDelay').append(ui.value+'s');
|
||||
}
|
||||
});
|
||||
$( "#subtitleSlider" ).slider({
|
||||
range: "min",
|
||||
value: 0,
|
||||
min: -10,
|
||||
max: 10,
|
||||
step: 0.25,
|
||||
stop: function( event, ui ) {
|
||||
sendCommand({
|
||||
'command':'subdelay',
|
||||
'val':(ui.value)
|
||||
})
|
||||
},
|
||||
slide: function(event,ui){
|
||||
$('#currentSubtitleDelay').empty();
|
||||
$('#currentSubtitleDelay').append(ui.value+'s');
|
||||
}
|
||||
});
|
||||
});
|
||||
//]]>
|
||||
</script>
|
||||
<div id="window_offset" title="<?vlc gettext("Track Synchronisation") ?>">
|
||||
<div><?vlc gettext("Playback Rate") ?></div>
|
||||
<div id="rateSlider" title="<?vlc gettext("Playback Rate") ?>"></div>
|
||||
<div id="currentRate" class="dynamic">1x</div>
|
||||
<br/>
|
||||
<div><?vlc gettext("Audio Delay") ?></div>
|
||||
<div id="audioSlider" title="<?vlc gettext("Audio Delay") ?>"></div>
|
||||
<div id="currentAudioDelay" class="dynamic">0s</div>
|
||||
<br/>
|
||||
<div><?vlc gettext("Subtitle Delay") ?></div>
|
||||
<div id="subtitleSlider" title="<?vlc gettext("Subtitle Delay") ?>"></div>
|
||||
<div id="currentSubtitleDelay" class="dynamic">0s</div>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: efd10f5d05614fa4f9f0358e09acb2a7
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,40 @@
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('#window_stream_config').dialog({
|
||||
autoOpen: false,
|
||||
width:400,
|
||||
modal: true,
|
||||
buttons:{
|
||||
"<?vlc gettext("Okay") ?>":function(){
|
||||
$('#player').empty();
|
||||
$('#player').attr('href',$('#stream_protocol').val()+'://'+$('#stream_host').val()+':'+$('#stream_port').val()+'/'+$('#stream_file').val());
|
||||
flowplayer("player", "http://releases.flowplayer.org/swf/flowplayer-3.2.7.swf");
|
||||
$(this).dialog('close');
|
||||
},
|
||||
"<?vlc gettext("Cancel") ?>":function(){
|
||||
$(this).dialog('close');
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<div id="window_stream_config" title="<?vlc gettext("Stream Input Configuration") ?>">
|
||||
<table>
|
||||
<tr>
|
||||
<td><?vlc gettext("Protocol") ?></td>
|
||||
<td><input type="text" name="stream_protocol" id="stream_protocol" value="http" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?vlc gettext("Host") ?></td>
|
||||
<td><input type="text" name="stream_host" id="stream_host" value="" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?vlc gettext("Port") ?></td>
|
||||
<td><input type="text" name="stream_port" id="stream_port" value="8081" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?vlc gettext("File") ?></td>
|
||||
<td><input type="text" name="stream_file" id="stream_file" value="stream.flv" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cf2a43e4bf02d784e8ac096d4a504f0e
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,99 @@
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
var stream_server = window.location.hostname;
|
||||
function configureStreamWindow(stream_protocol,stream_server,stream_port,stream_file){
|
||||
$('#stream_protocol').val(stream_protocol);
|
||||
$('#stream_host').val(stream_server);
|
||||
$('#stream_port').val(stream_port);
|
||||
$('#stream_file').val(stream_file);
|
||||
}
|
||||
$(function(){
|
||||
$('#window_streams').dialog({
|
||||
autoOpen: false,
|
||||
minWidth: 600,
|
||||
minHeight: 430,
|
||||
buttons:{
|
||||
"<?vlc gettext("Close") ?>":function(){
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#window_stream_config').dialog({
|
||||
autoOpen: false,
|
||||
width:400,
|
||||
modal: true,
|
||||
buttons:{
|
||||
"<?vlc gettext("Okay") ?>":function(){
|
||||
$(this).dialog('close');
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#button_create_stream').click(function(){
|
||||
$('#window_create_stream').dialog('open');
|
||||
return false;
|
||||
});
|
||||
$('#button_clear_streams').click(function(){
|
||||
sendVLMCmd('del all');
|
||||
return false;
|
||||
});
|
||||
$('#button_config_streams').click(function(){
|
||||
$('#window_stream_config').dialog('open');
|
||||
return false;
|
||||
});
|
||||
$('#button_create_mosaic').click(function(){
|
||||
$('#window_mosaic').dialog('open');
|
||||
return false;
|
||||
});
|
||||
$('#button_refresh_streams').click(function(){
|
||||
updateStreams();
|
||||
return false;
|
||||
})
|
||||
$('#stream_host').val(stream_server);
|
||||
});
|
||||
//]]>
|
||||
</script>
|
||||
<div id="stream_status_" style="visibility:hidden;display:none;">
|
||||
<h3><a href="#" id="stream_title_"></a></h3>
|
||||
<div>
|
||||
<div id="button_stream_stop_" class="button icon ui-widget ui-state-default" title="<?vlc gettext("Stop") ?>"><span class="ui-icon ui-icon-stop"></span></div>
|
||||
<div id="button_stream_play_" class="button icon ui-widget ui-state-default" title="<?vlc gettext("Play") ?>"><span class="ui-icon ui-icon-play"></span></div>
|
||||
<div id="button_stream_loop_" class="button icon ui-widget ui-state-default" title="<?vlc gettext("Loop") ?>"><span class="ui-icon ui-icon-refresh"></span></div>
|
||||
<div id="button_stream_delete_" class="button icon ui-widget ui-state-default" title="<?vlc gettext("Remove Stream") ?>"><span class="ui-icon ui-icon-trash"></span></div>
|
||||
<div>Title: <span id="stream_file_"></span></div>
|
||||
<div style="width: 260px; margin: 5px 0px 10px 0px;">
|
||||
<div id="stream_pos_"></div>
|
||||
<?vlc gettext("Time:") ?> <span id="stream_current_time_">00:00:00</span> / <span id="stream_total_time_">00:00:00</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="window_streams" title="<?vlc gettext("Manage Streams") ?>">
|
||||
<div id="button_create_stream" class="button icon ui-widget ui-state-default" title="<?vlc gettext("Create New Stream") ?>" opendialog="window_create_stream"><span class="ui-icon ui-icon-plus"></span></div>
|
||||
<div id="button_create_mosaic" class="button icon ui-widget ui-state-default" title="<?vlc gettext("Create Mosaic") ?>" opendialog="window_create_mosaiac"><span class="ui-icon ui-icon-calculator"></span></div>
|
||||
<div id="button_clear_streams" class="button icon ui-widget ui-state-default" title="<?vlc gettext("Delete All Streams") ?>"><span class="ui-icon ui-icon-trash"></span></div>
|
||||
<div id="button_config_streams" class="button icon ui-widget ui-state-default" title="<?vlc gettext("Configure Stream Defaults") ?>"><span class="ui-icon ui-icon-wrench"></span></div>
|
||||
<div id="button_refresh_streams" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Refresh Streams") ?>"><span class="ui-icon ui-icon-arrowrefresh-1-n"></span></div>
|
||||
<div id="stream_info">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="window_stream_config" title="<?vlc gettext("Stream Input Configuration") ?>">
|
||||
<table>
|
||||
<tr>
|
||||
<td><?vlc gettext("Protocol") ?></td>
|
||||
<td><input type="text" name="stream_protocol" id="stream_protocol" value="http" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?vlc gettext("Host") ?></td>
|
||||
<td><input type="text" name="stream_host" id="stream_host" value="" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?vlc gettext("Port") ?></td>
|
||||
<td><input type="text" name="stream_port" id="stream_port" value="8081" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?vlc gettext("File") ?></td>
|
||||
<td><input type="text" name="stream_file" id="stream_file" value="stream.flv" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5a059e03ae8bcb342ba8b55b7a79698a
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 84 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2735c588df4fe22419305144cf97dd09
|
||||
timeCreated: 1460812096
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c7035ac6db9c194468f93f57b42e5610
|
||||
folderAsset: yes
|
||||
timeCreated: 1460812099
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 52864749bdbb54548a4215dd405e585a
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d2a2a2c8c2f4f6e4ba1578d4b4af324f
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5eca71a3026f3db4d8cd87055eab3cf2
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9bdedef7f09406469ef0940ca118032
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 5.0 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eb7f38a3afb2bf24ba57dc4fc8ea018f
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3daf2d2b8d435a64a8dbf8c58587a589
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 942 B |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3186b89d70dd5874abb69a404d645c6e
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ceabac62bc62002449a8501ebd5a24fd
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 606 B |
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 95275fbf57a6f3642b4eace1148dac6e
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,287 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >
|
||||
< index.html: VLC media player web interface - VLM
|
||||
< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >
|
||||
< Copyright (C) 2005-2014 VLC authors and VideoLAN
|
||||
< $Id$
|
||||
<
|
||||
< Authors: Brandon Brooks <bwbrooks -at- archmageinc -dot- com>
|
||||
<
|
||||
< 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
|
||||
< (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.
|
||||
<
|
||||
< 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., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
|
||||
< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<html>
|
||||
<head>
|
||||
<title><?vlc gettext("VLC media player - Web Interface") ?></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<link href="favicon.ico" type="image/x-icon" rel="shortcut icon" />
|
||||
<script type="text/javascript" src="js/common.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
if(isMobile()){
|
||||
window.location='mobile.html';
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.13.custom.css" rel="stylesheet" />
|
||||
<link type="text/css" href="css/main.css" rel="stylesheet" />
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="js/jquery.jstree.js"></script>
|
||||
<script type="text/javascript" src="js/ui.js"></script>
|
||||
<script type="text/javascript" src="js/controllers.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
var pollStatus = true;
|
||||
$(function(){
|
||||
$('.button').hover(function(){$(this).addClass('ui-state-hover')},function(){$(this).removeClass('ui-state-hover')});
|
||||
$('#buttonPlayList').click(function(){
|
||||
$('#libraryContainer').animate({
|
||||
height: 'toggle'
|
||||
});
|
||||
$('#buttonszone1').animate({
|
||||
width: 'toggle'
|
||||
});
|
||||
return false;
|
||||
});
|
||||
$('#buttonViewer').click(function(){
|
||||
$('#viewContainer').animate({
|
||||
height: 'toggle'
|
||||
})
|
||||
return false;
|
||||
});
|
||||
$('#buttonEqualizer').click(function(){
|
||||
updateEQ();
|
||||
$('#window_equalizer').dialog('open');
|
||||
return false;
|
||||
})
|
||||
$('#buttonOffsets').click(function(){
|
||||
$('#window_offset').dialog('open');
|
||||
return false;
|
||||
});
|
||||
$('#buttonBatch').click(function(){
|
||||
$('#window_batch').dialog('open');
|
||||
return false;
|
||||
});
|
||||
$('#buttonOpen').click(function(){
|
||||
browse_target = 'default';
|
||||
browse();
|
||||
$('#window_browse').dialog('open');
|
||||
return false;
|
||||
});
|
||||
$('#buttonPrev').mousedown(function(){
|
||||
intv = 1;
|
||||
ccmd = 'prev';
|
||||
setIntv();
|
||||
return false;
|
||||
});
|
||||
$('#buttonPrev').mouseup(function(){
|
||||
if(intv<=5){
|
||||
sendCommand({'command':'pl_previous'});
|
||||
}
|
||||
intv = 0;
|
||||
return false;
|
||||
});
|
||||
$('#buttonNext').mousedown(function(){
|
||||
intv = 1;
|
||||
ccmd = 'next';
|
||||
setIntv();
|
||||
return false;
|
||||
});
|
||||
$('#buttonNext').mouseup(function(){
|
||||
if(intv<=5){
|
||||
sendCommand({'command':'pl_next'});
|
||||
}
|
||||
intv = 0;
|
||||
return false;
|
||||
});
|
||||
$('#buttonPlEmpty').click(function(){
|
||||
sendCommand({'command':'pl_empty'})
|
||||
updatePlayList(true);
|
||||
return false;
|
||||
});
|
||||
$('#buttonLoop').click(function(){
|
||||
sendCommand({'command':'pl_loop'});
|
||||
return false;
|
||||
});
|
||||
$('#buttonRepeat').click(function(){
|
||||
sendCommand({'command':'pl_repeat'});
|
||||
return false;
|
||||
});
|
||||
$('#buttonShuffle').click(function(){
|
||||
sendCommand({'command':'pl_random'});
|
||||
return false;
|
||||
})
|
||||
$('#buttonRefresh').click(function(){
|
||||
updatePlayList(true);
|
||||
return false;
|
||||
});
|
||||
$('#buttonPlPlay').click(function(){
|
||||
sendCommand({
|
||||
'command': 'pl_play',
|
||||
'id':$('.jstree-clicked','#libraryTree').first().parents().first().attr('id').substr(5)
|
||||
})
|
||||
return false;
|
||||
});
|
||||
$('#buttonPlAdd').click(function(){
|
||||
$('.jstree-clicked','#libraryTree').each(function(){
|
||||
if($(this).parents().first().attr('uri')){
|
||||
sendCommand({
|
||||
'command':'in_enqueue',
|
||||
'input' : $(this).parents().first().attr('uri')
|
||||
});
|
||||
};
|
||||
});
|
||||
$('#libraryTree').jstree('deselect_all');
|
||||
setTimeout(function(){updatePlayList(true);},1000);
|
||||
return false;
|
||||
});
|
||||
$('#buttonStreams, #buttonStreams2').click(function(){
|
||||
updateStreams();
|
||||
$('#window_streams').dialog('open');
|
||||
});
|
||||
$('#buttonSout').click(function(){
|
||||
if(current_que=='main'){
|
||||
$('#windowStreamConfirm').dialog('open');
|
||||
}else{
|
||||
$('#player').empty();
|
||||
current_que = 'main';
|
||||
sendVLMCmd('del Current');
|
||||
updateStatus();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
$('#windowStreamConfirm').dialog({
|
||||
autoOpen: false,
|
||||
width:600,
|
||||
modal: true,
|
||||
buttons:{
|
||||
"<?vlc gettext("Yes") ?>":function(){
|
||||
var file = $('[current="current"]','#libraryTree').length>0 ? decodeURIComponent($('[current="current"]','#libraryTree').first().attr('uri').substr(7)) : ($('.jstree-clicked','#libraryTree').length>0 ? decodeURIComponent($('.jstree-clicked','#libraryTree').first().parents().first().attr('uri').substr(7)) : ($('#plid_'+current_id).attr('uri') ? decodeURIComponent($('#plid_'+current_id).attr('uri').substr(7)) : false));
|
||||
if(file){
|
||||
if($('#viewContainer').css('display')=='none'){
|
||||
$('#buttonViewer').click();
|
||||
}
|
||||
var defaultStream = 'new Current broadcast enabled input "'+file+'" output #transcode{vcodec=FLV1,vb=4096,fps=25,scale=1,acodec=mp3,ab=512,samplerate=44100,channels=2}:std{access='+$('#stream_protocol').val()+',mux=avformat{{mux=flv}},dst=0.0.0.0:'+$('#stream_port').val()+'/'+$('#stream_file').val()+'}';
|
||||
sendVLMCmd('del Current;'+defaultStream+';control Current play');
|
||||
$('#player').attr('href',$('#stream_protocol').val()+'://'+$('#stream_host').val()+':'+$('#stream_port').val()+'/'+$('#stream_file').val());
|
||||
current_que = 'stream';
|
||||
updateStreams();
|
||||
}
|
||||
$(this).dialog('close');
|
||||
},
|
||||
"<?vlc gettext("No") ?>":function(){
|
||||
$(this).dialog('close');
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#viewContainer').animate({height: 'toggle'});
|
||||
});
|
||||
/* delay script loading so we won't block if we have no net access */
|
||||
$.getScript('http://releases.flowplayer.org/js/flowplayer-3.2.6.min.js', function(data, textStatus){
|
||||
$('#player').empty();
|
||||
flowplayer("player", "http://releases.flowplayer.org/swf/flowplayer-3.2.7.swf");
|
||||
/* .getScript only handles success() */
|
||||
});
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<body id="regular_layout">
|
||||
<div class="centered">
|
||||
<div id="mainContainer" class="centered">
|
||||
<div id="controlContainer" class="ui-widget">
|
||||
<div id="controlTable" class="ui-widget-content">
|
||||
<ul id="controlButtons">
|
||||
<li id="buttonPrev" class="button48 ui-corner-all" title="<?vlc gettext("Previous") ?>"></li>
|
||||
<li id="buttonPlay" class="button48 ui-corner-all paused" title="<?vlc gettext("Play") ?>"></li>
|
||||
<li id="buttonNext" class="button48 ui-corner-all" title="<?vlc gettext("Next") ?>"></li>
|
||||
<li id="buttonOpen" class="button48 ui-corner-all" title="<?vlc gettext("Open Media") ?>"></li>
|
||||
<li id="buttonStop" class="button48 ui-corner-all" title="<?vlc gettext("Stop") ?>"></li>
|
||||
<li id="buttonFull" class="button48 ui-corner-all" title="<?vlc gettext("Full Screen") ?>"></li>
|
||||
<li id="buttonSout" class="button48 ui-corner-all" title="<?vlc gettext("Easy Stream") ?>"></li>
|
||||
</ul>
|
||||
<ul id="buttonszone2" class="buttonszone">
|
||||
<li id="buttonPlayList" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Hide / Show Library") ?>"><span class="ui-icon ui-icon-note"></span><?vlc gettext("Hide / Show Library") ?></li>
|
||||
<li id="buttonViewer" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Hide / Show Viewer") ?>"><span class="ui-icon ui-icon-video"></span><?vlc gettext("Hide / Show Viewer") ?></li>
|
||||
<li id="buttonStreams" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Manage Streams") ?>"><span class="ui-icon ui-icon-script"></span><?vlc gettext("Manage Streams") ?></li>
|
||||
<li id="buttonOffsets" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Track Synchronisation") ?>"><span class="ui-icon ui-icon-transfer-e-w"></span><?vlc gettext("Track Synchronisation") ?></li>
|
||||
<li id="buttonEqualizer" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Equalizer") ?>"><span class="ui-icon ui-icon-signal"></span><?vlc gettext("Equalizer") ?></li>
|
||||
<li id="buttonBatch" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("VLM Batch Commands") ?>"><span class="ui-icon ui-icon-suitcase"></span><?vlc gettext("VLM Batch Commands") ?></li>
|
||||
</ul>
|
||||
<div id="volumesliderzone">
|
||||
<div id="volumeSlider" title="Volume"><img src="images/speaker-32.png" class="ui-slider-handle" alt="volume"/></div>
|
||||
<div id="currentVolume" class="dynamic">50%</div>
|
||||
</div>
|
||||
<div id="artszone">
|
||||
<img id="albumArt" src="/art" width="141px" height="130px" alt="Album Art"/>
|
||||
</div>
|
||||
<div id="mediaTitle" class="dynamic"></div>
|
||||
<div id="seekContainer">
|
||||
<div id="seekSlider" title="<?vlc gettext("Seek Time") ?>"></div>
|
||||
<div id="currentTime" class="dynamic">00:00:00</div>
|
||||
<div id="totalTime" class="dynamic">00:00:00</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="libraryContainer" class="ui-widget">
|
||||
<ul id="buttonszone1" align="left" class="buttonszone ui-widget-content" style="overflow:hidden; white-space: nowrap;">
|
||||
<li id="buttonShuffle" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Shuffle") ?>"><span class="ui-icon ui-icon-shuffle"></span><?vlc gettext("Shuffle") ?></li>
|
||||
<li id="buttonLoop" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Loop") ?>"><span class="ui-icon ui-icon-refresh"></span><?vlc gettext("Loop") ?></li>
|
||||
<li id="buttonRepeat" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Repeat") ?>"><span class="ui-icon ui-icon-arrowreturnthick-1-w"></span><?vlc gettext("Repeat") ?></li>
|
||||
<li id="buttonPlEmpty" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Empty Playlist") ?>"><span class="ui-icon ui-icon-trash"></span><?vlc gettext("Empty Playlist") ?></li>
|
||||
<li id="buttonPlAdd" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Queue Selected") ?>"><span class="ui-icon ui-icon-plus"></span><?vlc gettext("Queue Selected") ?></li>
|
||||
<li id="buttonPlPlay" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Play Selected") ?>"><span class="ui-icon ui-icon-play"></span><?vlc gettext("Play Selected") ?></li>
|
||||
<li id="buttonRefresh" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Refresh List") ?>"><span class="ui-icon ui-icon-arrowrefresh-1-n"></span><?vlc gettext("Refresh List") ?></li>
|
||||
</ul>
|
||||
<div id="libraryTree" class="ui-widget-content"></div>
|
||||
</div>
|
||||
<div id="viewContainer" class="ui-widget">
|
||||
<div id="mediaViewer" class="ui-widget-content">
|
||||
<div href="http://localhost:8081/stream.flv" style="display:block; width:100%" id="player">
|
||||
<p><?vlc gettext("Loading flowplayer...") ?><br/><?vlc gettext("If nothing appears, check your internet connection.") ?></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
VLC <?vlc print(vlc.misc.version() .. ' - Lua Web Interface - <a id="mobileintflink" href="/mobile.html">Mobile Interface</a> - ' .. vlc.misc.copyright()) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="windowStreamConfirm" title="Confirm Stream Settings">
|
||||
<p>
|
||||
<?vlc gettext("By creating a stream, the <i>Main Controls</i> will operate the stream instead of the main interface.") ?>
|
||||
<?vlc gettext("The stream will be created using default settings, for more advanced configuration, or to modify the default settings, select the button to the right: <i>Manage Streams</i>") ?>
|
||||
<span id="buttonStreams2" class="button ui-widget ui-state-default ui-corner-all" title="<?vlc gettext("Manage Streams") ?>"><span class="ui-icon ui-icon-script"></span></span>
|
||||
</p>
|
||||
<p>
|
||||
<?vlc gettext("Once the stream is created, the <i>Media Viewer</i> window will display the stream.") ?>
|
||||
<?vlc gettext("Volume will be controlled by the player, and not the <i>Main Controls</i>.") ?>
|
||||
</p>
|
||||
<p>
|
||||
<?vlc gettext("The current playing item will be streamed. If there is no currently playing item, the first selected item from the <i>Library</i> will be the subject of the stream.") ?>
|
||||
</p>
|
||||
<p>
|
||||
<?vlc gettext("To stop the stream and resume normal controls, click the <i>Open Stream</i> button again.") ?>
|
||||
</p>
|
||||
<p>
|
||||
<?vlc gettext("Are you sure you wish to create the stream?") ?>
|
||||
</p>
|
||||
</div>
|
||||
<?vlc
|
||||
current_page = "index"
|
||||
|
||||
dialogs("browse_window.html","stream_window.html","create_stream.html","offset_window.html","mosaic_window.html","equalizer_window.html","batch_window.html","error_window.html");
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 71ff4f522d9015b49a58b88b4876d84e
|
||||
timeCreated: 1460812097
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 335b17ac0dfa36049a6f61da7c18df9a
|
||||
folderAsset: yes
|
||||
timeCreated: 1460812096
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,93 @@
|
||||
var intv = 0;
|
||||
var ccmd = "";
|
||||
var video_types = [
|
||||
"asf", "avi", "bik", "bin", "divx", "drc", "dv", "f4v", "flv", "gxf", "iso",
|
||||
"m1v", "m2v", "m2t", "m2ts", "m4v", "mkv", "mov",
|
||||
"mp2", "mp4", "mpeg", "mpeg1",
|
||||
"mpeg2", "mpeg4", "mpg", "mts", "mtv", "mxf", "mxg", "nuv",
|
||||
"ogg", "ogm", "ogv", "ogx", "ps",
|
||||
"rec", "rm", "rmvb", "rpl", "thp", "ts", "txd", "vob", "wmv", "xesc" ];
|
||||
var audio_types = [
|
||||
"3ga", "a52", "aac", "ac3", "ape", "awb", "dts", "flac", "it",
|
||||
"m4a", "m4p", "mka", "mlp", "mod", "mp1", "mp2", "mp3",
|
||||
"oga", "ogg", "oma", "s3m", "spx", "thd", "tta",
|
||||
"wav", "wma", "wv", "xm"
|
||||
];
|
||||
var playlist_types = [
|
||||
"asx", "b4s", "cue", "ifo", "m3u", "m3u8", "pls", "ram", "rar",
|
||||
"sdp", "vlc", "xspf", "zip", "conf"
|
||||
];
|
||||
|
||||
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 toFloat(text) {
|
||||
return parseFloat(text.replace(',', '.'));
|
||||
}
|
||||
|
||||
function setIntv() {
|
||||
if (intv > 0) {
|
||||
intv++;
|
||||
setTimeout(setIntv, 500);
|
||||
} else {
|
||||
intv = 0;
|
||||
}
|
||||
if (intv > 5) {
|
||||
var nt = 0;
|
||||
switch (ccmd) {
|
||||
case 'prev':
|
||||
nt = Math.max(0, $('#seekSlider').slider('value') - 10);
|
||||
break;
|
||||
case 'next':
|
||||
nt = Math.max(0, $('#seekSlider').slider('value') + 10);
|
||||
break;
|
||||
}
|
||||
switch (current_que) {
|
||||
case 'main':
|
||||
sendCommand({
|
||||
'command': 'seek',
|
||||
'val': Math.round((nt / 100) * $('#seekSlider').attr('totalLength')),
|
||||
plreload: false
|
||||
});
|
||||
break;
|
||||
case 'stream':
|
||||
sendVLMCmd('control Current seek ' + nt);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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 = "Other-48.png";
|
||||
if( type == "dir" && name == '..' )
|
||||
icon = "Back-48.png";
|
||||
else if( type == 'dir' )
|
||||
icon = "Folder-48.png";
|
||||
else if( $.inArray(ext, video_types) != -1 )
|
||||
icon = "Video-48.png";
|
||||
else if( $.inArray(ext, audio_types) != -1 )
|
||||
icon = "Audio-48.png";
|
||||
else if( $.inArray(ext, playlist_types) != -1 )
|
||||
// TODO: Playlist-48.png
|
||||
icon = "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;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 001cf7f200a0eaf44845374b11cbe8a1
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,529 @@
|
||||
var currentArt = null;
|
||||
var current_que = 'main';
|
||||
var current_playlist_id = -1;
|
||||
var previous_playlist_id = -1;
|
||||
|
||||
function updateArt(url) {
|
||||
$('#albumArt').fadeOut(500, function () {
|
||||
$(this).addClass('hidden').removeAttr('height').removeAttr('width').attr('src', url);
|
||||
});
|
||||
}
|
||||
|
||||
function updateStatus() {
|
||||
$.ajax({
|
||||
url: 'requests/status.xml',
|
||||
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()));
|
||||
if (!$('#seekSlider').data('clicked')) {
|
||||
$('#seekSlider').slider({
|
||||
value: toFloat($('position', data).text()) * 100
|
||||
});
|
||||
}
|
||||
$('#currentVolume').append(Math.round($('volume', data).text() / 2.56) + '%');
|
||||
/* Don't interfere with the user's action */
|
||||
if (!$('#volumeSlider').data('clicked')) {
|
||||
$('#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 {
|
||||
$('#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 ($('[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';
|
||||
updateArt(currentArt);
|
||||
}
|
||||
|
||||
current_playlist_id = parseInt($('currentplid', data).text());
|
||||
if (previous_playlist_id != current_playlist_id) {
|
||||
updatePlayList();
|
||||
previous_playlist_id = current_playlist_id;
|
||||
}
|
||||
|
||||
if (pollStatus) {
|
||||
setTimeout(updateStatus, 1000);
|
||||
}
|
||||
|
||||
}
|
||||
$('band', data).each(function () {
|
||||
var id = $(this).attr('id');
|
||||
var value = $(this).text() ? $(this).text() : 0;
|
||||
var freq = ["60 Hz","170 Hz", "310 Hz", "600 Hz", "1 kHz","3 kHz", "6 kHz", "12 kHz" , "14 kHz" , "16 kHz" ];
|
||||
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[id] + '</div></div>');
|
||||
$('#eq' + id).slider({
|
||||
min: -20,
|
||||
max: 20,
|
||||
step: 0.1,
|
||||
range: "min",
|
||||
value: value,
|
||||
animate: true,
|
||||
orientation: "vertical",
|
||||
stop: function (event, ui) {
|
||||
$('#' + $(this).attr('id') + '_txt').empty().append(ui.value + 'dB');
|
||||
sendCommand({
|
||||
command: 'equalizer',
|
||||
val: ui.value,
|
||||
band: $(this).attr('id').substr(2)
|
||||
})
|
||||
},
|
||||
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');
|
||||
}
|
||||
});
|
||||
$('#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);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function updatePlayList(force_refresh) {
|
||||
if (force_refresh) {
|
||||
//refresh playlist..
|
||||
$('#libraryTree').jstree('refresh', -1);
|
||||
} else {
|
||||
//iterate through playlist..
|
||||
var match = false;
|
||||
$('.jstree-leaf').each(function(){
|
||||
var id = $(this).attr('id');
|
||||
if (id != null && id.substr(0,5) == 'plid_') {
|
||||
if ( id.substr(5) == current_playlist_id ) {
|
||||
$(this).addClass('ui-state-highlight');
|
||||
$(this).attr('current', 'current');
|
||||
this.scrollIntoView(true);
|
||||
match = true;
|
||||
} else {
|
||||
$(this).removeClass('ui-state-highlight');
|
||||
$(this).removeAttr('current');
|
||||
}
|
||||
if ($(this).children('a').size() > 0) {
|
||||
$($(this).children('a')[0]).removeClass('ui-state-active');
|
||||
}
|
||||
}
|
||||
});
|
||||
//local title wasn't found - refresh playlist..
|
||||
if (!match) updatePlayList(true);
|
||||
}
|
||||
}
|
||||
|
||||
function sendCommand(params, append) {
|
||||
if (current_que == 'stream') {
|
||||
$.ajax({
|
||||
url: 'requests/status.xml',
|
||||
data: params,
|
||||
success: function (data, status, jqXHR) {
|
||||
if (append != undefined) {
|
||||
eval(append);
|
||||
}
|
||||
updateStatus();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if (params.plreload === false) {
|
||||
$.ajax({
|
||||
url: 'requests/status.xml',
|
||||
data: params,
|
||||
success: function (data, status, jqXHR) {
|
||||
if (append != undefined) {
|
||||
eval(append);
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$.ajax({
|
||||
url: 'requests/status.xml',
|
||||
data: params,
|
||||
success: function (data, status, jqXHR) {
|
||||
if (append != undefined) {
|
||||
eval(append);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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('__'));
|
||||
$('#browse_elements').empty();
|
||||
$('element', data).each(function () {
|
||||
var ext = $(this).attr('name').substr($(this).attr('name').lastIndexOf('.') + 1).toLowerCase();
|
||||
if ($(this).attr('type') == 'dir' || $.inArray(ext, video_types) != -1 || $.inArray(ext, audio_types) != -1 || $.inArray(ext, playlist_types) != -1) {
|
||||
$('#browse_elements').append(createElementLi($(this).attr('name'), $(this).attr('type'), $(this).attr('uri'), ext));
|
||||
}
|
||||
});
|
||||
$('[opendir]').dblclick(function () {
|
||||
browse($(this).attr('opendir'));
|
||||
});
|
||||
$('[openfile]').dblclick(function () {
|
||||
switch (tgt) {
|
||||
case '#stream_input':
|
||||
$(browse_target).val($(this).attr('openfile'));
|
||||
break;
|
||||
case '#mosaic_open':
|
||||
$('li', browse_target).remove();
|
||||
$(browse_target).append(this);
|
||||
$(this).css({
|
||||
'margin-left': -40,
|
||||
'margin-top': -46,
|
||||
'float': 'left'
|
||||
});
|
||||
break;
|
||||
case '#mobile':
|
||||
break;
|
||||
default:
|
||||
sendCommand('command=in_play&input=' + encodeURIComponent($(this).attr('openfile')));
|
||||
updatePlayList(true);
|
||||
break;
|
||||
}
|
||||
$('#window_browse').dialog('close');
|
||||
});
|
||||
$('[opendir]').click(function () {
|
||||
switch (tgt) {
|
||||
case '#mobile':
|
||||
browse($(this).attr('opendir'));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
});
|
||||
$('[openfile]').click(function () {
|
||||
switch (tgt) {
|
||||
case '#mobile':
|
||||
sendCommand('command=in_play&input=' + encodeURIComponent($(this).attr('openfile')), "window.location='mobile.html'");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
});
|
||||
switch (tgt) {
|
||||
case '#mobile':
|
||||
break;
|
||||
default:
|
||||
$('[selectable]').selectable();
|
||||
break;
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, status, error) {
|
||||
setTimeout('browse("' + dir + '")', 1041);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function updateStreams() {
|
||||
$.ajax({
|
||||
url: 'requests/vlm.xml',
|
||||
success: function (data, status, jqXHR) {
|
||||
$('#stream_info').accordion("destroy");
|
||||
$('#stream_info').empty();
|
||||
$('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({
|
||||
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));
|
||||
},
|
||||
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');
|
||||
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_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);
|
||||
});
|
||||
$('#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 (loop) {
|
||||
$('#button_stream_loop_' + name, stream_div).addClass('ui-state-active');
|
||||
}
|
||||
$(stream_div).css({
|
||||
'visibility': '',
|
||||
'display': ''
|
||||
});
|
||||
$('#stream_info').append(stream_div);
|
||||
|
||||
});
|
||||
$('.button').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') {
|
||||
$('.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') {
|
||||
$('#buttonPlay').removeClass('paused');
|
||||
$('#buttonPlay').addClass('playing');
|
||||
} else {
|
||||
$('#buttonPlay').removeClass('playing');
|
||||
$('#buttonPlay').addClass('paused');
|
||||
}
|
||||
setTimeout(updateStreams, 1000);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function updateEQ() {
|
||||
$.ajax({
|
||||
url: 'requests/status.xml',
|
||||
success: function (data, status, jqXHR) {
|
||||
$('band', data).each(function () {
|
||||
var freq = ["60 Hz","170 Hz", "310 Hz", "600 Hz", "1 kHz","3 kHz", "6 kHz", "12 kHz" , "14 kHz" , "16 kHz" ];
|
||||
var id = $(this).attr('id');
|
||||
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[id] + '</div></div>');
|
||||
$('#eq' + id).slider({
|
||||
min: -20,
|
||||
max: 20,
|
||||
step: 0.1,
|
||||
range: "min",
|
||||
value: value,
|
||||
animate: true,
|
||||
orientation: "vertical",
|
||||
stop: function (event, ui) {
|
||||
$('#' + $(this).attr('id') + '_txt').empty().append(ui.value + 'dB');
|
||||
sendEQCmd({
|
||||
command: 'equalizer',
|
||||
val: ui.value,
|
||||
band: $(this).attr('id').substr(2)
|
||||
})
|
||||
},
|
||||
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');
|
||||
}
|
||||
});
|
||||
$('#preamp').slider('value', $('preamp', data).text());
|
||||
$('#preamp_txt').empty().append(Math.round($('preamp', data).text() * 100) / 100 + 'dB');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function sendVLMCmd(command, append) {
|
||||
var commands = command.split(';');
|
||||
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>');
|
||||
$('#window_error').dialog('open');
|
||||
}
|
||||
if (append != undefined) {
|
||||
eval(append);
|
||||
}
|
||||
updateStreams();
|
||||
}
|
||||
});
|
||||
} 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>');
|
||||
$('#window_error').dialog('open');
|
||||
}
|
||||
updateStreams();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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>');
|
||||
$('#window_error').dialog('open');
|
||||
}
|
||||
sendVLMCmd(commands.join(';'), append);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function sendEQCmd(params) {
|
||||
$.ajax({
|
||||
url: 'requests/status.xml',
|
||||
data: params,
|
||||
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();
|
||||
});
|
||||
$('#libraryTree').jstree({
|
||||
"xml_data": {
|
||||
"ajax": {
|
||||
"url": "requests/playlist_jstree.xml"
|
||||
},
|
||||
"xsl": "nest"
|
||||
},
|
||||
"themeroller": {
|
||||
"item_leaf": "ui-icon-video"
|
||||
},
|
||||
"core": {
|
||||
"initially_open": ["plid_1", "plid_2", "plid_3"]
|
||||
},
|
||||
"plugins": ["xml_data", "ui", "themeroller"]
|
||||
}).bind("loaded.jstree", function (event, data) {
|
||||
$('[current]', '[id^="plid_"]').each(function () {
|
||||
$(this).addClass('ui-state-highlight');
|
||||
current_playlist_id = $(this).attr('id').substr(5);
|
||||
});
|
||||
}).bind("refresh.jstree", function (event, data) {
|
||||
$('[current]', '[id^="plid_"]').each(function () {
|
||||
$(this).addClass('ui-state-highlight');
|
||||
current_playlist_id = $(this).attr('id').substr(5);
|
||||
});
|
||||
}).delegate("#plid_2 li.jstree-leaf a", "click", function (event, data) {
|
||||
event.preventDefault();
|
||||
current_playlist_id = $(this).parent().attr('id').substr(5);
|
||||
sendCommand('command=pl_play&id=' + current_playlist_id);
|
||||
});
|
||||
updateStatus();
|
||||
updateStreams();
|
||||
updateEQ();
|
||||
});
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6253889a9ed495f44b9fd7e230af8f7a
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7ecf79e029293a84db07da754f6cd253
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,118 @@
|
||||
$(function () {
|
||||
$("#seekSlider").slider({
|
||||
range: "min",
|
||||
value: 0,
|
||||
min: 0,
|
||||
max: 100,
|
||||
start: function (event, ui) {
|
||||
$("#seekSlider").data( 'clicked', true );
|
||||
},
|
||||
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) + '%'
|
||||
});
|
||||
break;
|
||||
case 'stream':
|
||||
sendVLMCmd('control Current seek ' + ui.value);
|
||||
break;
|
||||
}
|
||||
$("#seekSlider").data( 'clicked', false );
|
||||
}
|
||||
});
|
||||
$("#volumeSlider").slider({
|
||||
range: "min",
|
||||
value: 50,
|
||||
min: 0,
|
||||
max: 100,
|
||||
start: function (event, ui) {
|
||||
$("#volumeSlider").data( 'clicked', true );
|
||||
},
|
||||
stop: function (event, ui) {
|
||||
$("#currentVolume").empty().append(ui.value * 2 + "%");
|
||||
sendCommand({
|
||||
'command': 'volume',
|
||||
'val': Math.round(ui.value * 5.12)
|
||||
})
|
||||
$("#volumeSlider").data( 'clicked', false );
|
||||
}
|
||||
});
|
||||
/* To ensure that updateStatus() doesn't interfere while the user
|
||||
* slides the controls. */
|
||||
$("#seekSlider").data( 'clicked', false );
|
||||
$("#volumeSlider").data( 'clicked', false );
|
||||
$('#buttonStop').click(function () {
|
||||
switch (current_que) {
|
||||
case 'main':
|
||||
sendCommand({
|
||||
'command': 'pl_stop'
|
||||
})
|
||||
break;
|
||||
case 'stream':
|
||||
sendVLMCmd('control Current stop');
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
$('#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
|
||||
});
|
||||
break;
|
||||
case 'stream':
|
||||
sendVLMCmd('control Current play');
|
||||
flowplayer("player", "http://releases.flowplayer.org/swf/flowplayer-3.2.7.swf");
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (current_que) {
|
||||
case 'main':
|
||||
sendCommand({
|
||||
'command': 'pl_pause'
|
||||
});
|
||||
break;
|
||||
case 'stream':
|
||||
sendVLMCmd('control Current pause');
|
||||
break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
});
|
||||
$('#buttonFull').click(function () {
|
||||
sendCommand({
|
||||
'command': 'fullscreen'
|
||||
});
|
||||
return false;
|
||||
});
|
||||
$('#stream_host').val(stream_server);
|
||||
$('#mobileintflink').click(function () {
|
||||
if ( ( window.location.hostname == 'localhost' )
|
||||
|| ( window.location.hostname == '127.0.0.1' )
|
||||
|| ( window.location.hostname == '[::1]' ) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
var urlimg = location.href + 'mobile.html';
|
||||
var codeimg = $('<img width="350" height="350" alt="qrcode"/>');
|
||||
codeimg.attr('src', 'http://chart.apis.google.com/chart?cht=qr&chs=350x350&chld=L&choe=UTF-8&chl=' + encodeURIComponent(urlimg));
|
||||
codeimg.dialog({width: 350, height: 350, title: 'QR-Code'});
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.buttonszone').each(function(i){
|
||||
$(this).mouseover(function(){
|
||||
$(this).addClass('buttonszone_active');
|
||||
}).mouseleave(function () {
|
||||
$(this).removeClass('buttonszone_active');
|
||||
});
|
||||
});
|
||||
|
||||
})
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f6613c0ab8e580d4881ac5c513074582
|
||||
timeCreated: 1460812100
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,102 @@
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >
|
||||
< mobile.html: VLC media player web interface - VLM
|
||||
< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >
|
||||
< Copyright (C) 2005-2014 VLC authors and VideoLAN
|
||||
< $Id$
|
||||
<
|
||||
< Authors: Brandon Brooks <bwbrooks -at- archmageinc -dot- com>
|
||||
<
|
||||
< 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
|
||||
< (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.
|
||||
<
|
||||
< 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., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
|
||||
< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<html>
|
||||
<head>
|
||||
<title>VLC media player - Web Interface</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="viewport" content="initial-scale=1.0" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<link href="favicon.ico" type="image/x-icon" rel="shortcut icon" />
|
||||
<script type="text/javascript" src="js/common.js"></script>
|
||||
<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.13.custom.css" rel="stylesheet" />
|
||||
<link type="text/css" href="css/mobile.css" rel="stylesheet" />
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="js/jquery.jstree.js"></script>
|
||||
<script type="text/javascript" src="http://releases.flowplayer.org/js/flowplayer-3.2.6.min.js"></script>
|
||||
<script type="text/javascript" src="js/ui.js"></script>
|
||||
<script type="text/javascript" src="js/controllers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var pollStatus = true;
|
||||
$(function(){
|
||||
$('#buttonPrev').click(function(){
|
||||
sendCommand({'command':'pl_previous'});
|
||||
return false;
|
||||
});
|
||||
$('#buttonNext').click(function(){
|
||||
sendCommand({'command':'pl_next'});
|
||||
return false;
|
||||
});
|
||||
$('#buttonOpen').click(function(){
|
||||
window.location='mobile_browse.html';
|
||||
});
|
||||
$('#buttonEQ').click(function(){
|
||||
window.location='mobile_equalizer.html';
|
||||
});
|
||||
$('#buttonSout').click(function(){
|
||||
var file = decodeURIComponent($('#buttonPlay').attr('mrl'));
|
||||
if(file){
|
||||
var defaultStream = 'new Current broadcast enabled input "'+file+'" output #transcode{vcodec=FLV1,vb=4096,fps=25,scale=1,acodec=mp3,ab=512,samplerate=44100,channels=2}:std{access='+$('#stream_protocol').val()+',mux=avformat{{mux=flv}},dst=0.0.0.0:'+$('#stream_port').val()+'/'+$('#stream_file').val()+'}';
|
||||
sendVLMCmd('del Current;'+defaultStream+';control Current play','window.location="mobile_view.html"');
|
||||
}
|
||||
return false;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content" class="centered">
|
||||
<div id="art">
|
||||
<img id="albumArt" src="/art" />
|
||||
</div>
|
||||
<div style="width:100%"><div id="mediaTitle" class="dynamic centered"></div></div>
|
||||
<div id="play_controls">
|
||||
<div id="buttons">
|
||||
<div id="buttonPrev" class="button48 ui-corner-all" title="Previous"></div>
|
||||
<div id="buttonPlay" class="button48 ui-corner-all paused" title="Play"></div>
|
||||
<div id="buttonStop" class="button48 ui-corner-all" title="Stop"></div>
|
||||
<div id="buttonNext" class="button48 ui-corner-all" title="Next"></div>
|
||||
</div>
|
||||
<div id="seekSlider" title="Seek Time" style="font-size:15px;"></div>
|
||||
<div id="currentTime" class="dynamic">00:00:00</div>
|
||||
<div id="totalTime" class="dynamic">00:00:00</div>
|
||||
</div>
|
||||
<div id="controls">
|
||||
<div id="buttons">
|
||||
<div id="buttonOpen" class="button48 ui-corner-all" title="Open Media"></div>
|
||||
<div id="buttonFull" class="button48 ui-corner-all" title="Full Screen"></div>
|
||||
<div id="buttonEQ" class="button48 ui-corner-all" title="Equalizer"></div>
|
||||
<div id="buttonSout" class="button48 ui-corner-all" title="Easy Stream"></div>
|
||||
</div>
|
||||
<div id="volumeSlider" title="Volume" style="font-size:15px;">
|
||||
<img src="images/speaker-32.png" class="ui-slider-handle" alt="volume"/>
|
||||
</div>
|
||||
</div>
|
||||
<?vlc
|
||||
|
||||
dialogs("stream_config_window.html");
|
||||
?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a2c9f914ac196ad48af34e23fd855df1
|
||||
timeCreated: 1460812098
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,53 @@
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >
|
||||
< mobile_browse.html: VLC media player web interface - VLM
|
||||
< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >
|
||||
< Copyright (C) 2005-2014 VLC authors and VideoLAN
|
||||
< $Id$
|
||||
<
|
||||
< Authors: Brandon Brooks <bwbrooks -at- archmageinc -dot- com>
|
||||
<
|
||||
< 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
|
||||
< (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.
|
||||
<
|
||||
< 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., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
|
||||
< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<html>
|
||||
<head>
|
||||
<title><?vlc gettext("VLC media player - Web Interface") ?></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<link href="favicon.ico" type="image/x-icon" rel="shortcut icon" />
|
||||
<script type="text/javascript" src="js/common.js"></script>
|
||||
<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.13.custom.css" rel="stylesheet" />
|
||||
<link type="text/css" href="css/main.css" rel="stylesheet" />
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="js/jquery.jstree.js"></script>
|
||||
<script type="text/javascript" src="js/controllers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var pollStatus = false;
|
||||
var browse_target = '#mobile';
|
||||
$(function(){
|
||||
browse();
|
||||
})
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="window_browse" title="<?vlc gettext("Media Browser") ?>">
|
||||
<div>
|
||||
<ol id='browse_elements' selectable="selectable">
|
||||
<li><?vlc gettext("Play List") ?></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea003e407dbc13342bb83e41b8faf3f6
|
||||
timeCreated: 1460812099
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,69 @@
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >
|
||||
< mobile_equalizer.html: VLC media player web interface - VLM
|
||||
< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >
|
||||
< Copyright (C) 2005-2006 the VideoLAN team
|
||||
< $Id$
|
||||
<
|
||||
< Authors: Brandon Brooks <bwbrooks -at- archmageinc -dot- com>
|
||||
<
|
||||
< 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
|
||||
< (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.
|
||||
<
|
||||
< 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., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
|
||||
< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<html>
|
||||
<head>
|
||||
<title><?vlc gettext("VLC media player - Web Interface") ?></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="viewport" content="width=device-width; user-scalable=no" />
|
||||
<link href="favicon.ico" type="image/x-icon" rel="shortcut icon" />
|
||||
<script type="text/javascript" src="js/common.js"></script>
|
||||
<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.13.custom.css" rel="stylesheet" />
|
||||
<link type="text/css" href="css/main.css" rel="stylesheet" />
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="js/jquery.jstree.js"></script>
|
||||
<script type="text/javascript" src="js/controllers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var pollStatus = false;
|
||||
$(function(){
|
||||
$('#preamp').slider({
|
||||
min: -20,
|
||||
max: 20,
|
||||
step: 0.1,
|
||||
range: "min",
|
||||
animate: true,
|
||||
stop: function(event,ui){
|
||||
$('#preamp_txt').empty().append(ui.value+'dB');
|
||||
sendEQCmd({
|
||||
command:'preamp',
|
||||
val: ui.value
|
||||
})
|
||||
},
|
||||
slide: function(event,ui){
|
||||
$('#preamp_txt').empty().append(ui.value+'dB');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="window_equalizer" title="<?vlc gettext("Graphical Equalizer") ?>">
|
||||
<div style="margin: 5px 5px 5px 5px;">
|
||||
<div><?vlc gettext("Preamp:") ?> <span id="preamp_txt">0dB</span></div>
|
||||
</div>
|
||||
<div style="margin: 5px 5px 10px 5px;">
|
||||
<div id="preamp" style="font-size: 22px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d8728ec022f29bb4c8d56b514a69904b
|
||||
timeCreated: 1460812099
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||