Merge remote-tracking branch 'upstream/develop' into fix/79_explicit_2

Conflicts:
	mopidy_musicbox_webclient/static/index.html
	mopidy_musicbox_webclient/static/js/controls.js
	mopidy_musicbox_webclient/static/js/images.js
This commit is contained in:
jcass 2016-01-31 08:26:05 +02:00
commit 2afe72d6fb
4 changed files with 80 additions and 102 deletions

View File

@ -18,52 +18,58 @@
.header-breakpoint.ui-grid-b .ui-block-a { .header-breakpoint.ui-grid-b .ui-block-a {
width: 30%; width: 30%;
} }
.header-breakpoint.ui-grid-b .ui-block-b { .header-breakpoint.ui-grid-b .ui-block-b {
width: 30%; width: 30%;
} }
.header-breakpoint.ui-grid-b .ui-block-c { .header-breakpoint.ui-grid-b .ui-block-c {
width: 30.1%; width: 30.1%;
} }
/*playlists*/ /*playlists*/
.pl-breakpoint.ui-grid-a .ui-block-a { .pl-breakpoint.ui-grid-a .ui-block-a {
width: 32.95%; width: 32.95%;
} }
.pl-breakpoint.ui-grid-a .ui-block-b { .pl-breakpoint.ui-grid-a .ui-block-b {
width: 65.4%; width: 65.4%;
} }
.pl-breakpoint.ui-grid-a .ui-block-a { .pl-breakpoint.ui-grid-a .ui-block-a {
clear: left; clear: left;
} }
.pl-breakpoint.ui-grid-a .ui-block-a { .pl-breakpoint.ui-grid-a .ui-block-a {
clear: left; clear: left;
} }
#playlisttracksdiv { #playlisttracksdiv {
margin-left: 10px; margin-left: 10px;
} }
#playlisttracksback { #playlisttracksback {
display:none; display:none;
} }
#playlisttracksdiv { #playlisttracksdiv {
display:block; display:block;
} }
#playlistslistdiv { #playlistslistdiv {
display:block; display:block;
} }
/*search*/ /*search*/
.srch-breakpoint.ui-grid-a .ui-block-b { .srch-breakpoint.ui-grid-a .ui-block-b {
margin-left: .5em; margin-left: .5em;
} }
.srch-breakpoint.ui-grid-a .ui-block-a, .srch-breakpoint.ui-grid-a .ui-block-b { .srch-breakpoint.ui-grid-a .ui-block-a, .srch-breakpoint.ui-grid-a .ui-block-b {
width: 49%; width: 49%;
} }
/* .scroll {
overflow-y: auto;
overflow-x: hidden;
}
*/
} }
/* phone landscape */ /* phone landscape */
@media all and (max-width: 960px) { @media all and (max-width: 960px) {
/*header*/ /*header*/
@ -71,45 +77,50 @@
width: 35%; width: 35%;
clear: left; clear: left;
} }
.header-breakpoint.ui-grid-b .ui-block-b { .header-breakpoint.ui-grid-b .ui-block-b {
display: none; display: none;
} }
.header-breakpoint.ui-grid-b .ui-block-c { .header-breakpoint.ui-grid-b .ui-block-c {
width: 33%; width: 33%;
} }
/*playlists*/ /*playlists*/
.pl-breakpoint .ui-block-a, .pl-breakpoint .ui-block-b { .pl-breakpoint .ui-block-a, .pl-breakpoint .ui-block-b {
width: 100%; width: 100%;
} }
/*search*/ /*search*/
.srch-breakpoint.ui-grid-a .ui-block-a, .srch-breakpoint.ui-grid-a .ui-block-b { .srch-breakpoint.ui-grid-a .ui-block-a, .srch-breakpoint.ui-grid-a .ui-block-b {
width: 100%; width: 100%;
} }
/* .scroll {
width: 100%;
heigth: 99%;
}
*/
#playlisttracksback { #playlisttracksback {
display:block; display:block;
} }
#playlisttracksdiv { #playlisttracksdiv {
display:none; display:none;
} }
#playlistslistdiv { #playlistslistdiv {
display:block; display:block;
} }
} }
/*********** /*****************************
* Side Panel and Navigation * Side Panel and Navigation *
*/ *****************************/
.mainNav .fa{ .mainNav .fa{
float: right; float: right;
} }
.mainNav .navtxt{ .mainNav .navtxt{
float: left; float: left;
} }
.mainNav .navtxt:after{ .mainNav .navtxt:after{
clear: left; clear: left;
} }
@ -137,9 +148,9 @@
font-size: 15px; font-size: 15px;
} }
/*********************** /******************
* Track Slider * Track Slider *
***********************/ ******************/
#trackslider { #trackslider {
display: inline; display: inline;
@ -180,9 +191,9 @@
display: inline; display: inline;
} }
/*********** /********************
* pages, content * Pages, content *
*/ ********************/
#page{ #page{
background-color: #fff; background-color: #fff;
} }
@ -195,16 +206,13 @@
display: none; display: none;
} }
#artistviewimage, #albumviewcover { #artistviewimage, #albumviewcover {
float: right; float: right;
heigth: 90px; height: 90px;
max-width: 90%; max-width: 90%;
} }
/*** home ***/ /*** home ***/
#homerows div { #homerows div {
text-align:center; text-align:center;
background-color: #2C3E50; background-color: #2C3E50;
@ -217,9 +225,9 @@
#homerows div i { #homerows div i {
font-size: 28px; font-size: 28px;
} }
/********************* /***************
* listviews * listviews *
********************/ ***************/
.table li a { .table li a {
color: #555 !important; color: #555 !important;
font-size: 80% !important; font-size: 80% !important;
@ -241,22 +249,7 @@
list-style-type:none; list-style-type:none;
} }
/*.table li:first-child { */
/*-moz-border-radius-topleft: 2px;*/
/*-moz-border-radius-topright: 2px;*/
/*-webkit-border-top-left-radius: 2px;*/
/*-webkit-border-top-right-radius: 2px;*/
/*border-top-right-radius: 2px;*/
/*border-top-left-radius: 2px;*/
/*}*/
.table li:last-child { .table li:last-child {
/*-moz-border-radius-bottomleft: 2px;*/
/*-moz-border-radius-bottomright: 2px;*/
/*-webkit-border-bottom-left-radius: 2px;*/
/*-webkit-border-bottom-right-radius: 2px;*/
/*border-bottom-left-radius: 2px;*/
/*border-bottom-right-radius: 2px;*/
border-bottom: 1px solid #CECECE; border-bottom: 1px solid #CECECE;
} }
@ -265,12 +258,12 @@
} }
.albumdivider { .albumdivider {
background-color: #ddd !important; background-color: #ddd !important;
} }
.smalldivider { .smalldivider {
font-size: 25% !important; font-size: 25% !important;
heigth: 5px !important; height: 5px !important;
background-color: #ddd !important; background-color: #ddd !important;
} }
@ -281,7 +274,6 @@
#playlistslist, #playlisttracks { #playlistslist, #playlisttracks {
margin: 0 !important; margin: 0 !important;
padding: 0 !important; padding: 0 !important;
/* border: 1px solid blue; */
} }
.albumli { .albumli {
@ -295,7 +287,7 @@
.artistcover { .artistcover {
float: right; float: right;
width: 30px; width: 30px;
heigth: 30px; height: 30px;
margin-right: 3px; margin-right: 3px;
margin-top: 3px; margin-top: 3px;
} }
@ -327,9 +319,9 @@
} }
/******************* /**********************
* Now Playing area * Now Playing area *
*******************/ **********************/
#nowPlayingFooter{ #nowPlayingFooter{
height: 50px; height: 50px;
@ -346,7 +338,7 @@
.footerControls div span { .footerControls div span {
padding-left: 3px; padding-left: 3px;
padding-right: 3px; padding-right: 3px;
height=100%; height: 100%;
vertical-align: middle; vertical-align: middle;
} }
@ -356,10 +348,9 @@
margin-right: 10px; margin-right: 10px;
} }
/************
/******************* * Popups *
* Popups ************/
*******************/
#modalalbum a, #modalartist a { #modalalbum a, #modalartist a {
color: #444; color: #444;
text-decoration: none; text-decoration: none;
@ -407,14 +398,12 @@
.ui-input-clear-hidden { .ui-input-clear-hidden {
display:block !important; display:block !important;
} }
/*************** /****************
* common use * Common use *
***************/ ****************/
#playlistspane { #playlistspane {
/* height: 90% !important;*/
margin: 0px !important; margin: 0px !important;
} }
@ -448,7 +437,7 @@ a {
float: right; float: right;
} }
/********************** /**********************
* Song information * Song information *
**********************/ **********************/
.ui-footer{ .ui-footer{
border: 0px; border: 0px;
@ -464,7 +453,7 @@ a {
#infoname { #infoname {
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
font: bold; font-weight: bold;
font-size: 14px; font-size: 14px;
} }
@ -503,9 +492,7 @@ a {
text-align: center; text-align: center;
} }
/*helper*/ /*helper*/
.hidden{ .hidden{
display: none; display: none;
} }
@ -513,7 +500,6 @@ a {
color: #efefef; color: #efefef;
} }
.settingscoll label { .settingscoll label {
font-size: 120%; font-size: 120%;
font-weight: bold; font-weight: bold;
@ -528,12 +514,14 @@ a {
.ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-open.ui-panel-content-wrap-display-reveal { .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-open.ui-panel-content-wrap-display-reveal {
margin-right: 17em; margin-right: 17em;
} }
.ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-open.ui-panel-content-wrap-display-push.ui-panel-content-fixed-toolbar-position-right, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-open.ui-panel-content-wrap-display-push.ui-panel-content-fixed-toolbar-position-right,
.ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-open.ui-panel-content-wrap-display-reveal.ui-panel-content-fixed-toolbar-position-right, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-open.ui-panel-content-wrap-display-reveal.ui-panel-content-fixed-toolbar-position-right,
.ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-open.ui-panel-content-wrap-display-push.ui-panel-content-wrap-position-right, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-open.ui-panel-content-wrap-display-push.ui-panel-content-wrap-position-right,
.ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-open.ui-panel-content-wrap-display-reveal.ui-panel-content-wrap-position-right { .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-open.ui-panel-content-wrap-display-reveal.ui-panel-content-wrap-position-right {
margin: 0 0 0 17em; margin: 0 0 0 17em;
} }
.ui-responsive-panel .ui-panel-dismiss-display-reveal { .ui-responsive-panel .ui-panel-dismiss-display-reveal {
display: none; display: none;
} }
@ -543,29 +531,34 @@ a {
#nowPlayingpane{ #nowPlayingpane{
padding: 15px 25px 0px 25px; padding: 15px 25px 0px 25px;
} }
#nowPlayingpane #controlspopupimage{ #nowPlayingpane #controlspopupimage{
max-width:90%; max-width:90%;
max-height:90%; max-height:90%;
} }
.nowPlaying-artistInfo { .nowPlaying-artistInfo {
font-size: 12px; font-size: 12px;
} }
.nowPlaying-artistInfo h4{ .nowPlaying-artistInfo h4{
margin: 0px; margin: 0px;
font-weight: normal; font-weight: normal;
font-size: 12px; font-size: 12px;
} }
.nowPlaying-artistInfo h3{ .nowPlaying-artistInfo h3{
margin: 0px 0px 3px 00px; margin: 0px 0px 3px 00px;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
} }
#controlspopupimage{ #controlspopupimage{
max-width:90%; max-width:90%;
max-height:90%; max-height:90%;
margin-bottom: 3px; margin-bottom: 3px;
} }
#nowPlayingpane #slidercontainer { #nowPlayingpane #slidercontainer {
margin-left: -5px; margin-left: -5px;
margin-right: -5px; margin-right: -5px;
@ -579,7 +572,6 @@ a {
} }
/* disable text selection for mouse swipe */ /* disable text selection for mouse swipe */
body * { body * {
-webkit-user-select: none; -webkit-user-select: none;
-moz-user-select: none; -moz-user-select: none;
@ -587,23 +579,16 @@ body * {
-o-user-select: none; -o-user-select: none;
user-select: none; user-select: none;
} }
/* but fix for text input (safari certainly needs it)*/ /* but fix for text input (safari certainly needs it)*/
input[type=text] { input[type=text] {
-moz-user-select: text; -webkit-user-select: text;
-webkit-user-select: text; -moz-user-select: text;
-ms-user-select: text;
-o-user-select: text; -o-user-select: text;
user-select: text; user-select: text;
} }
/* type/source of media in listviews */
/*a[id^="spotify"] {
margin-left:20px;
background-image: url('../images/icons/play_alt_12x12.png');
border: 2px solid black;
display:block;
}
*/
.mediaicon { .mediaicon {
float: right; float: right;
} }

View File

@ -4,7 +4,6 @@
<meta charset="utf-8"> <meta charset="utf-8">
<script src="js/jquery-1.11.1.min.js"></script> <script src="js/jquery-1.11.1.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery.mobile.flatui.min.css"/> <link rel="stylesheet" type="text/css" href="css/jquery.mobile.flatui.min.css"/>
<!-- <script type='application/javascript' src='js/fastclick.js'></script> -->
<script> <script>
//configuration //configuration
var isMusicBox = '{{musicbox}}' == 'True'; // Remove MusicBox only content (e.g. settings, system pages) var isMusicBox = '{{musicbox}}' == 'True'; // Remove MusicBox only content (e.g. settings, system pages)
@ -477,9 +476,9 @@
<script type="text/javascript" src="js/iscroll-lite.js"></script> <script type="text/javascript" src="js/iscroll-lite.js"></script>
<script src="js/jquery.cookie.js"></script> <script src="js/jquery.cookie.js"></script>
<script src="js/jquery.truncate.min.js"></script> <script src="js/jquery.truncate.min.js"></script>
<script src="js/functionsvars.js"></script>
<script src="js/controls.js"></script> <script src="js/controls.js"></script>
<script src="js/library.js"></script> <script src="js/library.js"></script>
<script src="js/functionsvars.js"></script>
<script src="js/process_ws.js"></script> <script src="js/process_ws.js"></script>
<script src="js/streamuris.js"></script> <script src="js/streamuris.js"></script>

View File

@ -4,7 +4,7 @@
* show- functions do both * show- functions do both
*/ */
/******************** /********************
* Song Info Sreen * Song Info Sreen *
********************/ ********************/
function resetSong() { function resetSong() {
if (!posChanging) { if (!posChanging) {
@ -148,9 +148,9 @@ function setSongInfo(data) {
resizeMb(); resizeMb();
} }
/*************** /******************
* display popups * display popups *
*/ ******************/
function closePopups() { function closePopups() {
$('#popupTracks').popup('close'); $('#popupTracks').popup('close');
$('#artistpopup').popup('close'); $('#artistpopup').popup('close');
@ -159,7 +159,6 @@ function closePopups() {
$('#controlspopup').popup('close'); $('#controlspopup').popup('close');
} }
function popupTracks(e, listuri, trackuri, tlid) { function popupTracks(e, listuri, trackuri, tlid) {
if (!e) if (!e)
var e = window.event; var e = window.event;
@ -222,9 +221,9 @@ function showAlbumPopup(popupId) {
showAlbum(popupData[uri].album.uri); showAlbum(popupData[uri].album.uri);
} }
/********************* /**********************
* initialize sockets * initialize sockets *
*********************/ **********************/
function initSocketevents() { function initSocketevents() {
mopidy.on("state:online", function() { mopidy.on("state:online", function() {
@ -254,7 +253,6 @@ function initSocketevents() {
}); });
mopidy.on("event:trackPlaybackPaused", function(data) { mopidy.on("event:trackPlaybackPaused", function(data) {
//setSongInfo(data.tl_track);
pausePosTimer(); pausePosTimer();
setPlayState(false); setPlayState(false);
}); });
@ -305,9 +303,9 @@ $(document).bind("pageinit", function() {
}); });
/************************ /**************
* gui stuff * gui stuff *
************************/ **************/
function enterFullscreen() { function enterFullscreen() {
if (isMobileSafari) { alert ("To get this app in Full Screen, you have to add it to your home-screen using the Share button."); exit(); } if (isMobileSafari) { alert ("To get this app in Full Screen, you have to add it to your home-screen using the Share button."); exit(); }
var elem = document.querySelector("#page"); var elem = document.querySelector("#page");
@ -324,6 +322,7 @@ function enterFullscreen() {
} }
} }
} }
function exitFullscreen() { function exitFullscreen() {
document.webkitExitFullscreen(); document.webkitExitFullscreen();
document.mozCancelFullscreen(); document.mozCancelFullscreen();
@ -349,7 +348,6 @@ function switchContent(divid, uri) {
if (uri) { if (uri) {
hash += "?" + uri; hash += "?" + uri;
} }
// $.mobile.changePage("#" + hash);
location.hash = "#" + hash; location.hash = "#" + hash;
} }
@ -364,7 +362,6 @@ function setHeadline(site){
//update timer //update timer
function updateStatusTimer() { function updateStatusTimer() {
// console.log('statustimer');
mopidy.playback.getCurrentTlTrack().then(processCurrenttrack, console.error); mopidy.playback.getCurrentTlTrack().then(processCurrenttrack, console.error);
mopidy.playback.getTimePosition().then(processCurrentposition, console.error); mopidy.playback.getTimePosition().then(processCurrentposition, console.error);
//TODO check offline? //TODO check offline?
@ -447,7 +444,6 @@ function locationHashChanged() {
break; break;
} }
//switch the footer //switch the footer
switch(divid) { switch(divid) {
case 'nowPlaying': case 'nowPlaying':
@ -463,9 +459,9 @@ function locationHashChanged() {
return false; return false;
} }
/********************** /***********************
* initialize software * initialize software *
**********************/ ***********************/
$(document).ready(function(event) { $(document).ready(function(event) {
//check for websockets //check for websockets
if (!window.WebSocket) { if (!window.WebSocket) {
@ -489,8 +485,7 @@ $(document).ready(function(event) {
} else { } else {
mopidy = new Mopidy({callingConvention: 'by-position-or-by-name'}); mopidy = new Mopidy({callingConvention: 'by-position-or-by-name'});
} }
// mopidy.on(console.log.bind(console)); // Log all events
// mopidy.on(console.error.bind(console));
//initialize events //initialize events
initSocketevents(); initSocketevents();
@ -500,7 +495,6 @@ $(document).ready(function(event) {
switchContent("home"); switchContent("home");
} }
initgui = false; initgui = false;
window.onhashchange = locationHashChanged; window.onhashchange = locationHashChanged;
@ -586,7 +580,6 @@ $(document).ready(function(event) {
$.event.special.swipe.horizontalDistanceThreshold = 125; // (default: 30px) Swipe horizontal displacement must be more than this. $.event.special.swipe.horizontalDistanceThreshold = 125; // (default: 30px) Swipe horizontal displacement must be more than this.
$.event.special.swipe.verticalDistanceThreshold = 50; // (default: 75px) Swipe vertical displacement must be less than this. $.event.special.swipe.verticalDistanceThreshold = 50; // (default: 75px) Swipe vertical displacement must be less than this.
// $.event.special.swipe.scrollSupressionThreshold = 20;
$.event.special.swipe.durationThreshold = 500; $.event.special.swipe.durationThreshold = 500;
// swipe songinfo and panel // swipe songinfo and panel
@ -625,6 +618,7 @@ function updatePlayIcons (uri, tlid) {
$(this).removeClass("currenttrack2"); $(this).removeClass("currenttrack2");
} }
}); });
$('#trackresulttable li').each(function() { $('#trackresulttable li').each(function() {
if (this.id == 'trackresulttable-' + uri) { if (this.id == 'trackresulttable-' + uri) {
$(this).addClass('currenttrack2'); $(this).addClass('currenttrack2');

View File

@ -8,7 +8,7 @@ API_SECRET = '2c631802c2285d5d5d1502462fe42a2b';
var fmcache; var fmcache;
var lastfm; var lastfm;
$(window).load(function() { $(window).load(function () {
// create a Cache object // create a Cache object
fmcache = new LastFMCache(); fmcache = new LastFMCache();
// create a LastFM object // create a LastFM object