1. Play all (flush queue, add all tracks and play) 2. Play track (stop current, add track to next and play next) 3. Play next (add track to next) 4. Add track to queue 5. Add all tracks to queue
503 lines
22 KiB
HTML
503 lines
22 KiB
HTML
<!DOCTYPE html>
|
|
<!-- <html manifest="mb.manifest"> -->
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<script src="js/jquery-1.11.1.min.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="css/jquery.mobile.flatui.css"/>
|
|
<!-- <script type='application/javascript' src='js/fastclick.js'></script> -->
|
|
<script>
|
|
//configuration
|
|
// var wsLocation = location.host + ':6680'; //for normal operation of mopidy http
|
|
var wsLocation = location.host; //for running on port 80
|
|
if (wsLocation == location.hostname) {
|
|
wsLocation = location.hostname + ':6680';
|
|
}
|
|
var isMusicBox = {{musicbox}}; // Remove MusicBox only content (e.g. settings, system pages)
|
|
|
|
$(document).bind("mobileinit", function () {
|
|
$.extend($.mobile, {
|
|
ajaxEnabled: false,
|
|
hashListeningEnabled: false
|
|
// linkBindingEnabled: false
|
|
// buttonMarkup.hoverDelay: 100,
|
|
// buttonMarkup.corners: false
|
|
});
|
|
});
|
|
/* window.addEventListener('load', function () {
|
|
new FastClick(document.body);
|
|
}, false);
|
|
*/
|
|
</script>
|
|
<link rel="icon" type="image/gif" href="images/icons/musicbox32.gif" />
|
|
<link rel="apple-touch-icon" href="images/icons/musicbox57.png" />
|
|
<link rel="apple-touch-icon" sizes="72x72" href="images/icons/musicbox72.png" />
|
|
<link rel="apple-touch-icon" sizes="114x114" href="images/icons/musicbox114.png" />
|
|
<link rel="shortcut icon" type="image/x-icon" href="images/icons/musicbox32.gif" />
|
|
|
|
<!-- Tile icon for Win8 (144x144 + tile color) -->
|
|
<meta name="msapplication-TileImage" content="mopidy/favicon.png" />
|
|
<meta name="msapplication-TileColor" content="#eee" />
|
|
|
|
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
<link rel="apple-touch-startup-image" href="images/startup.png" />
|
|
<meta name="apple-mobile-web-app-title" content="MusicBox" />
|
|
<meta name="mobile-web-app-capable" content="yes" />
|
|
<meta name="HandheldFriendly" content="True" />
|
|
<meta name="MobileOptimized" content="320" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
|
<meta name="apple-mobile-web-app-title" content="MusicBox" />
|
|
<meta http-equiv="imagetoolbar" content="no" />
|
|
<meta content="true" name="MSSmartTagsPreventParsing" />
|
|
|
|
<meta http-equiv="cleartype" content="on" />
|
|
|
|
<script src="js/jquery.mobile-1.3.2.min.js"></script>
|
|
<meta name="description" content="MusicBox" />
|
|
<meta name="author" content="Wouter van Wijk" />
|
|
<meta name="copyright" content="(c) 2012-2013 Wouter van Wijk" />
|
|
<link href="css/webclient.css" rel="stylesheet" />
|
|
<link href="css/jquery.mobile.iscrollview.css" rel="stylesheet" />
|
|
<link rel="stylesheet" href="css/font-awesome.min.css" />
|
|
|
|
<!-- <link rel="stylesheet" href="css/add2home.css"> -->
|
|
</head>
|
|
|
|
<body>
|
|
<div data-role="page" id="page" class="ui-responsive-panel" data-theme="c">
|
|
<div data-role="panel" id="panel" data-position="left" data-theme="a" data-display="reveal" data-position-fixed="true">
|
|
|
|
|
|
<ul class="ui-listview mainNav" data-role="listview" data-theme="a">
|
|
<li id="navhome" data-icon="false">
|
|
<a href="#home" onclick="switchContent('home' ); return false;">
|
|
<span class="navtxt"> Home </span><i class="fa fa-home"></i></a>
|
|
</li>
|
|
<li id="navnowPlaying" data-icon="false">
|
|
<a href="#nowPlaying" onclick="switchContent('nowPlaying' ); return false;">
|
|
<span class="navtxt"> Now Playing </span><i class="fa fa-music"></i></a>
|
|
</li>
|
|
<li id="navcurrent" data-icon="false">
|
|
<a href="#current" onclick="switchContent('current' ); return false;">
|
|
<span class="navtxt">Queue </span><i class="fa fa-bars"></i></a>
|
|
</li>
|
|
<li id="navplaylists" data-icon="false">
|
|
<a href="#playlists" onclick="switchContent('playlists' ); return false;">
|
|
<span class="navtxt"> Playlists </span><i class="fa fa-star"></i></a>
|
|
</li>
|
|
<li id="navbrowse" data-icon="false">
|
|
<a href="#browse" onclick="switchContent('browse' ); return false;">
|
|
<span class="navtxt"> Browse </span><i class="fa fa-folder"></i></a>
|
|
</li>
|
|
<li id="navstream" data-icon="false">
|
|
<a href="#stream" onclick="switchContent('stream' ); return false;">
|
|
<span class="navtxt">Streams </span><i class="fa fa-rss"></i></a>
|
|
</li>
|
|
<li id="navsearch" data-icon="false">
|
|
<a href="#search" onclick="switchContent('search' ); return false;">
|
|
<span class="navtxt">Search </span><i class="fa fa-search"></i></a>
|
|
</li>
|
|
<li id="navEnterFullscreen" data-icon="false">
|
|
<a href="#">
|
|
<span class="navtxt"> Fullscreen </span><i class="fa fa-desktop"></i></a>
|
|
</li>
|
|
<li id="navExitFullscreen" class="hidden" data-icon="false">
|
|
<a href="#">
|
|
<span class="navtxt"> Exit Fullscreen </span><i class="fa fa-desktop"></i></a>
|
|
</li>
|
|
<li id="navSettings" data-icon="false">
|
|
<a href="/settings/">
|
|
<span class="navtxt"> Settings </span><i class="fa fa-cog"></i></a>
|
|
</li>
|
|
<li id="navshutdown" data-icon="false">
|
|
<a href="system.html">
|
|
<span class="navtxt">System </span><i class="fa fa-power-off"></i></a>
|
|
</li>
|
|
<li id="" data-icon="false">
|
|
<div><!-- slider for volume -->
|
|
<a href="#" onclick="doMute(); return false;"><i class="fa fa-volume-up" id="mutebt"></i></a>
|
|
<label for="volumeslider" class="ui-hidden-accessible">Volume</label>
|
|
<input id="volumeslider" data-highlight="true" name="volumeslider" data-mini="true" type="range" min="0"
|
|
value="0" max="100" onchange="doVolume(this.value);"/>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div id="coverpopup" data-role="popup" data-theme="c">
|
|
<a href="#" data-rel="back" data-role="button" data-icon="delete" data-iconpos="notext"
|
|
class="ui-btn-right">Close</a>
|
|
|
|
<h3 id="coverpopupalbumname"></h3>
|
|
<h4 id="coverpopupartist"></h4>
|
|
<a href="#" onclick="closePopups();"><img id="coverpopupimage" src=""/></a>
|
|
</div>
|
|
|
|
<div id="artistpopup" data-role="popup" data-theme="c">
|
|
<a href="#" data-rel="back" data-role="button" data-icon="delete" data-iconpos="notext"
|
|
class="ui-btn-right">Close</a>
|
|
<h4 id="artistpopupname"> </h4>
|
|
<a href="#" onclick="closePopups();"><img id="artistpopupimage" src=""/></a>
|
|
</div>
|
|
|
|
<div data-role="popup" data-transition="none" data-theme="c" id="popupBrowse">
|
|
<div data-role="collapsible-set">
|
|
<ul data-role="listview" data-icon="false" id="popupBrowseLv">
|
|
<li>
|
|
<a href="#" onclick="return playBrowsedTracks(PLAY_ALL);">Play All</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" onclick="return playBrowsedTracks(PLAY_NOW);">Play <span class="popupTrackName"></span></a>
|
|
</li>
|
|
<li class="addqueue">
|
|
<a href="#" onclick="return playBrowsedTracks(PLAY_NEXT);">Play Track Next</a>
|
|
</li>
|
|
<li class="addqueue">
|
|
<a href="#" onclick="return playBrowsedTracks(ADD_THIS_BOTTOM);">Add Track to Bottom of Queue</a>
|
|
</li>
|
|
<li class="addqueue">
|
|
<a href="#" onclick="return playBrowsedTracks(ADD_ALL_BOTTOM);">Add All to Bottom of Queue</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div data-role="popup" data-transition="none" data-theme="c" id="popupTracks">
|
|
<div data-role="collapsible-set">
|
|
<ul data-role="listview" data-icon="false" id="popupTracksLv">
|
|
<li>
|
|
<a href="#" onclick="return playTrack();">Play <span class="popupTrackName"></span></a>
|
|
</li>
|
|
<li class="addqueue">
|
|
<a href="#" onclick="return playTrack(PLAY_NEXT);">Play Track Next</a>
|
|
</li>
|
|
<li class="addqueue">
|
|
<a href="#" onclick="return playTrack(ADD_THIS_BOTTOM);">Add Track to Bottom of Queue</a>
|
|
</li>
|
|
<li class="addqueue">
|
|
<a href="#" onclick="return playTrack(ADD_ALL_BOTTOM);" id="liaddtobottom">Add all to Bottom of
|
|
Queue</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" onclick="showAlbumPopup('#popupTracks')">Show Album <span class="popupAlbumName"></span></a>
|
|
</li>
|
|
<li id="popupArtistsLi">
|
|
<a href="#" onclick="showArtist()" class="popupArtistHref">Show Artist <span
|
|
class="popupArtistName"></span>
|
|
</a>
|
|
</li>
|
|
<div data-role="collapsible" data-icon="false" data-inset="false" class="popupArtistsDiv">
|
|
<h2>Artists</h2>
|
|
<ul data-icon="false" data-inset="false" data-role="listview" class="popupArtistsLv"></ul>
|
|
</div>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div data-role="popup" data-transition="none" data-theme="c" id="popupQueue">
|
|
<div data-role="collapsible-set">
|
|
<ul data-role="listview" data-icon="false" id="popupQueueLv">
|
|
<li>
|
|
<a href="#" onclick="return playTrackQueue();">Play <span class="popupTrackName"></span></a>
|
|
</li>
|
|
<li>
|
|
<a href="#" onclick="return removeTrack();">Remove from Queue</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" onclick="showAlbumPopup('#popupQueue')">Show Album <span class="popupAlbumName"></span></a>
|
|
</li>
|
|
<li id="popupArtistsLi">
|
|
<a href="#" onclick="showArtist()" class="popupArtistHref">Show Artist <span
|
|
class="popupArtistName"></span>
|
|
</a>
|
|
</li>
|
|
<div data-role="collapsible" data-icon="false" data-inset="false" class="popupArtistsDiv">
|
|
<h2>Artists</h2>
|
|
<ul data-icon="false" data-inset="false" data-role="listview" class="popupArtistsLv"></ul>
|
|
</div>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div data-role="header" data-tap-toggle="false" id="header" data-position="fixed" class="ui-grid-b header-breakpoint headerbtn">
|
|
<a href="#panel" style="margin-left: -12px; padding-top: 2px;" id="headermenubtn"><i class="fa fa-align-justify"></i></a>
|
|
<h1 id="contentHeadline">Musicbox</h1>
|
|
<a id="headersearchbtn" href="#" class="ui-btn-icon-right headerbtn" onclick="switchContent('search' ); return false;" title="Search">
|
|
<i class="fa fa-search"></i></a>
|
|
</div>
|
|
<!-- /header -->
|
|
|
|
<div data-role="content" id="homepane" class="pane">
|
|
<div id="homerows" class="ui-grid-a ui-responsive">
|
|
<a href="#nowPlaying" onclick="switchContent('nowPlaying' ); return false;">
|
|
<div class="ui-block-a">
|
|
<i class="fa fa-music"></i>
|
|
<h4>Now Playing</h4>
|
|
</div>
|
|
</a>
|
|
<a href="#current" onclick="switchContent('current' ); return false;">
|
|
<div class="ui-block-b">
|
|
<i class="fa fa-bars"></i>
|
|
<h4>Queue</h4>
|
|
</div>
|
|
</a>
|
|
<a href="#playlists" onclick="switchContent('playlists' ); return false;">
|
|
<div class="ui-block-a">
|
|
<i class="fa fa-star"></i>
|
|
<h4>Playlists</h4>
|
|
</div>
|
|
</a>
|
|
<a href="#browse" onclick="switchContent('browse' ); return false;">
|
|
<div class="ui-block-b">
|
|
<i class="fa fa-folder"></i>
|
|
<h4>Browse</h4>
|
|
</div>
|
|
</a>
|
|
<a href="#stream" onclick="switchContent('stream' ); return false;">
|
|
<div class="ui-block-a">
|
|
<i class="fa fa-rss"></i>
|
|
<h4>Streams</h4>
|
|
</div>
|
|
</a>
|
|
<a href="#search" onclick="switchContent('search' ); return false;">
|
|
<div class="ui-block-b">
|
|
<i class="fa fa-search"></i>
|
|
<h4>Search</h4>
|
|
</div>
|
|
</a>
|
|
<a id="homesettings" href="/settings/">
|
|
<div class="ui-block-a">
|
|
<i class="fa fa-gear"></i>
|
|
<h4>Settings</h4>
|
|
</div>
|
|
</a>
|
|
<a id="homeshutdown" href="system.html">
|
|
<div class="ui-block-b">
|
|
<i class="fa fa-power-off"></i>
|
|
<h4>System</h4>
|
|
</div>
|
|
</a>
|
|
|
|
</div>
|
|
</div>
|
|
<!--/homepane-->
|
|
|
|
|
|
<div id="nowPlayingpane" data-role="content" class="pane">
|
|
|
|
<img id="controlspopupimage" src="images/default_cover.png" />
|
|
|
|
|
|
<div class="nowPlaying-artistInfo">
|
|
<h3 id="modalname"></h3>
|
|
<p class="artistAlbumLine"><span id="modalartist"></span> - <span id="modalalbum"></span></p>
|
|
</div>
|
|
|
|
<div id="slidercontainer"><!-- slider for track position -->
|
|
<span id="songelapsed" class="pull-left"> 0:00 </span>
|
|
<span id="songlength" class="pull-right"> 0:00 </span>
|
|
<label for="trackslider" disabled="disabled" class="ui-hidden-accessible">Position</label>
|
|
<input id="trackslider" name="trackslider" data-mini="true" type="range" onchange="doSeekPos(this.value);" />
|
|
</div>
|
|
<a onclick="return saveStreamUri(songdata.uri);" data-role="button">Add to saved streams</a>
|
|
|
|
</div>
|
|
<!-- /nowplaying -->
|
|
|
|
<div data-role="content" id="playlistspane" class="pane ui-grid-a pl-breakpoint">
|
|
<div class="ui-block-a scroll" id="playlistslistdiv">
|
|
<ul id="playlistslist" class="table"></ul>
|
|
</div>
|
|
<div class="ui-block-b scroll" id="playlisttracksdiv">
|
|
<div id="playlisttracksback" style="height: 30px; margin: 2px; padding-top: 2px; background-color: #aaa;"><a style="display:block; padding: 5px;" href="#" onclick="return togglePlaylists();"><i class="fa fa-arrow-circle-left"></i> Back</a></div>
|
|
<ul class="table" id="playlisttracks"></ul>
|
|
</div>
|
|
|
|
</div>
|
|
<!--/playlistspane-->
|
|
|
|
<div data-role="content" id="browsepane" class="pane">
|
|
<h3>Browse</h3>
|
|
<h4 id="browsepath"></h4>
|
|
<ul id="browselist" class="table"></ul>
|
|
</div>
|
|
<!--/browsepane-->
|
|
|
|
<div data-role="content" class="pane" id="currentpane">
|
|
<a style="float:right" onclick="return clearQueue();" data-role="button">Clear</a><h4>Play Queue</h4>
|
|
<!-- <ul data-role="listview" data-icon="false" data-theme="d" data-inset="true" id="currenttable"></ul>
|
|
<ul data-role="listview" data-icon="false" data-theme="d" data-inset="true" id="currenttable"></ul> -->
|
|
<ul class="table" id="currenttable"></ul>
|
|
</div>
|
|
|
|
<div data-role="content" class="pane" id="albumspane">
|
|
<a href="#coverpopup" data-position-to="window" data-rel="popup"><img height="90" src="" id="albumviewcover"/></a>
|
|
|
|
<h3 id="h_albumname"></h3>
|
|
<h5 id="h_albumartist"></h5>
|
|
<div id="albumstable"></div>
|
|
|
|
</div>
|
|
|
|
<div data-role="content" class="pane" id="artistspane">
|
|
<a href="#artistpopup" data-position-to="window" data-rel="popup"><img height="90" src="" id="artistviewimage"/></a>
|
|
|
|
<h3 id="h_artistname"></h3>
|
|
<ul class="table" id="artiststable"></ul>
|
|
</div>
|
|
|
|
<div data-role="content" class="pane" id="searchpane">
|
|
<div class="">
|
|
<form>
|
|
<select id="selectSearchService"> <!-- data-native-menu="false"> <!-- multiple="multiple" data-native-menu="false">
|
|
<option data-placeholder="true">Choose services</option> -->
|
|
</select>
|
|
<input id="searchinput" class="span2" data-clear-btn="true"
|
|
onkeypress="return searchPressed(event.keyCode);" id="appendedInputButton" type="text"/>
|
|
<button class="btn" type="button" onclick="return initSearch(event.value);">
|
|
Search!
|
|
</button>
|
|
</form>
|
|
</div>
|
|
|
|
|
|
<div id="searchresults">
|
|
<div class="ui-grid-a srch-breakpoint">
|
|
<div class="ui-block-a" id="searchartists">
|
|
<div data-role="listview" data-inset="true">
|
|
<div data-role="header">
|
|
<h4>Artists</h4>
|
|
</div>
|
|
<div data-role="content">
|
|
<ul data-role="listview" id="artistresulttable"></ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="ui-block-b" id="searchalbums">
|
|
<div data-role="listview" data-inset="true">
|
|
<div data-role="header">
|
|
<h4>Albums</h4>
|
|
</div>
|
|
<div data-role="content">
|
|
<ul data-role="listview" id="albumresulttable"></ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="" id="searchtracks">
|
|
<h4>Tracks</h4>
|
|
<ul id="trackresulttable" class="table"></ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- search div -->
|
|
|
|
<div data-role="content" class="pane" id="streampane">
|
|
<h4>Streams</h4>
|
|
|
|
<div>
|
|
<form>
|
|
<div class="ui-grid-a pl-breakpoint">
|
|
<div class="ui-block-a" style="padding: 5px">
|
|
<p>Add an url of a stream that you want to listen to in the box below. You can add uri's for Spotify, SoundCloud, YouTube, Podcasts.
|
|
<select id="selectstreamservice" data-native-menu="true">
|
|
<option value="">Internet Radio (mp3, m3u, asx, etc)</option>
|
|
<option value="yt">YouTube</option>
|
|
<option value="">Spotify Uri</option>
|
|
<option value="sc">SoundCloud</option>
|
|
<option value="podcast">Podcast</option>
|
|
</select>
|
|
|
|
<input id="streamuriinput" placeholder="URI" class="span2" data-clear-btn="true"
|
|
onkeypress="return streamPressed(event.keyCode);" id="appendedInputButton" type="text"/>
|
|
<button class="btn" type="button" onclick="return playStreamUri();">
|
|
Play
|
|
</button>
|
|
|
|
<p>Put in a name and hit the Save button to save the url (locally, in the browser not
|
|
on the server yet). <!-- To find stations, use the Browse function with extensions like Dirble or TuneIn, the right values will appear in these boxes automatically. Or use websites like <a href="http://www.listenlive.eu/" target="_blank">Listenlive</a> or <a
|
|
href="http://www.dirble.com/" target="_blank">Dirble</a>.</p> -->
|
|
|
|
<input id="streamnameinput" placeholder="Name" class="span2" data-clear-btn="true"
|
|
onkeypress="return streamPressed(event.keyCode);" id="appendedInputButton" type="text"/>
|
|
<button class="btn" type="button" onclick="return saveStreamUri();">
|
|
Save
|
|
</button>
|
|
<br/>
|
|
<button class="btn" type="button" onclick="$('#streamuriinput').val(songdata.uri); return true;">
|
|
Add currently playing url
|
|
</button>
|
|
</form>
|
|
</div>
|
|
<div class="ui-block-b" style="padding: 5px">
|
|
<ul id="streamuristable" class="table"></ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div data-role="footer" data-tap-toggle="false" data-position="fixed" id="normalFooter">
|
|
<div id="songinfo" class="">
|
|
<a href="#"><img id="infocover" src="images/default_cover.png" width="36" height="36"/></a>
|
|
|
|
<div class="songinfo-text">
|
|
<div id="infoname"></div>
|
|
<div id="infoartist"></div>
|
|
</div>
|
|
</div>
|
|
<div id="controldiv" class="playPausebtn">
|
|
<a href="#" onclick="doPlay(); return false"><span id="btplay"><img src="images/icons/pause_32x32.png"
|
|
alt="Play" id="playimg" title="Play"/></span></a>
|
|
</div>
|
|
</div>
|
|
<div data-role="footer" data-tap-toggle="false" data-position="fixed" id="nowPlayingFooter">
|
|
|
|
<p id="buttons" style="float:right; margin-top: 20px; margin-right: 5px;">
|
|
<a href="#" onclick="doRandom(); return false" title="Random"><i class="fa fa-random" id="randombt"></i></a>
|
|
<a href="#" onclick="doRepeat(); return false" title="Repeat"><i class="fa fa-repeat" id="repeatbt"></i></a>
|
|
<a href="#" onclick="doConsume(); return false" title="Consume"><i class="fa fa-cutlery" id="consumebt"></i></a>
|
|
<a href="#" onclick="doSingle(); return false" title="Single"><i class="fa fa-dot-circle-o" id="singlebt"></i></a>
|
|
<a href="#" onclick="doShuffle(); return false" title="Shuffle"><i class="fa fa-arrows-v" id="shufflebt"></i></a>
|
|
</p>
|
|
|
|
<div class="nowPlayingControls" style="float:left; margin-left: 5px;">
|
|
<a href="#" onclick="doPrevious(); return false"><span id="btprev" title="Previous"><i class="fa fa-fast-backward"></i></span></a>
|
|
<a href="#" onclick="doPlay(); return false"><span id="btplayNowPlaying" title="Play"><i class="fa fa-play"></i></span></a>
|
|
<a href="#" onclick="doNext(); return false"><span id="btnext" title="Next"><i class="fa fa-fast-forward"></i></span></a>
|
|
</div>
|
|
</div>
|
|
<!-- /footer -->
|
|
|
|
|
|
</div>
|
|
<!-- /page one -->
|
|
<script type="text/javascript" src="../mopidy/mopidy.min.js"></script>
|
|
<script type="text/javascript" src="js/iscroll-lite.js"></script>
|
|
<!-- <script type="text/javascript" src="js/jquery.mobile.iscrollview-closure-min.js"></script> -->
|
|
<script src="js/jquery.cookie.js"></script>
|
|
<script src="js/jquery.truncate.min.js"></script>
|
|
<!-- <script type="text/javascript" src="js/add2home.js" charset="utf-8"></script> -->
|
|
<script src="js/controls.js"></script>
|
|
<script src="js/library.js"></script>
|
|
<script src="js/functionsvars.js"></script>
|
|
<script src="js/process_ws.js"></script>
|
|
<script src="js/streamuris.js"></script>
|
|
|
|
<!-- use lastfm -->
|
|
<script type="text/javascript" src="js/lastfm.api.md5.js"></script>
|
|
<script type="text/javascript" src="js/lastfm.api.js"></script>
|
|
<script type="text/javascript" src="js/lastfm.api.cache.js"></script>
|
|
|
|
<script src="js/images.js"></script>
|
|
|
|
<script src="js/gui.js"></script>
|
|
</body>
|
|
</html>
|