Merge branch 'develop' into multi-songs

Conflicts:
	mopidy_musicbox_webclient/static/js/gui.js
	mopidy_musicbox_webclient/static/js/process_ws.js
This commit is contained in:
wagamama 2015-03-22 11:42:53 +08:00
commit 2440146b42
7 changed files with 77 additions and 16 deletions

View File

@ -1,8 +1,12 @@
Webclient
- Wouter van Wijk
- Flat Interface: Ulrich Lichtenegger
- Kingosticks (Nick Steel)
- Szymon Nowak
- Nick Steel <kingosticks@gmail.com>
- Szymon Nowak <szimek@gmail.com>
- John Cass <john.cass77@gmail.com>
- André Gaul <andre@gaul.io>
- Dāvis Mošenkovs <davikovs@gmail.com>
- Bruce Tsai <wagamama.tsai@gmail.com>
Mopidy:
https://github.com/mopidy/mopidy/blob/develop/AUTHORS

View File

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<script src="js/jquery-1.10.2.min.js"></script>
<script src="js/jquery-1.11.1.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery.mobile.flatui.css"/>
<script src="js/jquery.mobile-1.3.2.min.js"></script>
</head>

View File

@ -143,7 +143,27 @@
<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">

View File

@ -4,12 +4,14 @@
function playBrowsedTracks(addtoqueue, trackid) {
//stop directly, for user feedback.
if (!addtoqueue) {
if (addtoqueue == PLAY_ALL) {
mopidy.playback.stop(true);
mopidy.tracklist.clear();
}
toast('Loading...');
trackid = typeof trackid !== 'undefined' ? trackid : $('#popupBrowse').data("track");
var selected = 0, counter = 0;
var isStream = isStreamUri(trackid);
@ -17,23 +19,48 @@ function playBrowsedTracks(addtoqueue, trackid) {
if (isStream) {
mopidy.tracklist.add(null, null, trackid);
} else {
//add selected item to the playlist
$('.browsetrack').each(function() {
if (this.id == trackid) {
selected = counter;
}
mopidy.tracklist.add(null, null, this.id);
counter++;
});
switch (addtoqueue) {
case PLAY_NOW:
case PLAY_NEXT:
//find track that is playing
for (var playing = 0; playing < currentplaylist.length; playing++) {
if (currentplaylist[playing].uri == songdata.uri) {
break;
}
}
mopidy.tracklist.add(null, playing + 1, trackid);
break;
case ADD_THIS_BOTTOM:
mopidy.tracklist.add(null, null, trackid);
break;
case ADD_ALL_BOTTOM:
case PLAY_ALL:
//add selected item to the playlist
$('.browsetrack').each(function() {
if (this.id == trackid) {
selected = counter;
}
mopidy.tracklist.add(null, null, this.id);
counter++;
});
break;
default:
break;
}
}
//play selected item
if (!addtoqueue) {
if (addtoqueue == PLAY_ALL) {
mopidy.playback.stop();
for (var i = 0; i <= selected; i++) {
mopidy.playback.next();
}
mopidy.playback.play(); //tracks[selected]);
} else if (addtoqueue == PLAY_NOW) {
mopidy.playback.stop();
mopidy.playback.next();
mopidy.playback.play();
}
//add all items, but selected to the playlist

View File

@ -70,6 +70,7 @@ PLAY_NOW = 0;
PLAY_NEXT = 1;
ADD_THIS_BOTTOM = 2;
ADD_ALL_BOTTOM = 3;
PLAY_ALL = 4;
MAX_TABLEROWS = 50;

View File

@ -186,9 +186,12 @@ function popupTracks(e, listuri, trackuri, tlid) {
if (divid == 'current') {
$(".addqueue").hide();
var popupName = '#popupQueue';
} else if (divid == 'browse') {
$(".addqueue").show();
var popupName = '#popupBrowse';
} else {
$(".addqueue").show();
var popupName = '#popupTracks';
var popupName = '#popupTracks';
}
if (typeof tlid != 'undefined' && tlid != '') {

View File

@ -110,7 +110,13 @@ function processBrowseDir(resultArr) {
iconClass = getMediaClass(resultArr[i].uri);
if(resultArr[i].type == 'track' ) {
// console.log(resultArr[i]);
child += '<li id="browselisttracks-' + resultArr[i].uri + '"><a href="#" class="browsetrack" onclick="return playBrowsedTracks(0, this.id);" id="' + resultArr[i].uri +
mopidy.library.lookup(resultArr[i].uri).then(function (resultArr) {
popupData[resultArr[0].uri] = resultArr[0];
}, console.error);
child += '<li class="song albumli" id="browselisttracks-' + resultArr[i].uri + '">' +
'<a href="#" class="moreBtn" onclick="return popupTracks(event, \'' + uri + '\', \'' + resultArr[i].uri + '\');">' +
'<i class="fa fa-ellipsis-v"></i></a>' +
'<a href="#" class="browsetrack" onclick="return playBrowsedTracks(PLAY_ALL, this.id);" id="' + resultArr[i].uri +
'"><h1 class="trackname"><i class="' + iconClass + '"></i> ' + resultArr[i].name + '</h1></a></li>';
} else {
if (browseStack.length > 0) {