mirror of
https://github.com/SuperBFG7/ympd
synced 2024-12-23 01:20:27 +00:00
Merge remote-tracking branch 'eb041592/queue_time'
This commit is contained in:
commit
265e5f76a1
@ -66,8 +66,10 @@ button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#salamisandwich td:nth-child(2) span {
|
#salamisandwich td:nth-child(2) span {
|
||||||
font-style:italic;
|
font-style: italic;
|
||||||
font-size:90%;
|
font-size: 90%;
|
||||||
|
|
||||||
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
tbody {
|
tbody {
|
||||||
|
@ -96,7 +96,8 @@
|
|||||||
|
|
||||||
<div class="panel panel-primary">
|
<div class="panel panel-primary">
|
||||||
<!-- Default panel contents -->
|
<!-- Default panel contents -->
|
||||||
<div class="panel-heading"><b id="panel-heading">Queue</b></div>
|
<div class="panel-heading"><b id="panel-heading">Queue</b>
|
||||||
|
<b id="panel-heading-info" class="text pull-right"></b></div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<h1>
|
<h1>
|
||||||
<span id="track-icon" onclick="clickPlay();" class="glyphicon glyphicon-play"></span>
|
<span id="track-icon" onclick="clickPlay();" class="glyphicon glyphicon-play"></span>
|
||||||
|
@ -47,6 +47,8 @@ var app = $.sammy(function() {
|
|||||||
socket.send('MPD_API_GET_QUEUE,'+pagination);
|
socket.send('MPD_API_GET_QUEUE,'+pagination);
|
||||||
|
|
||||||
$('#panel-heading').text("Queue");
|
$('#panel-heading').text("Queue");
|
||||||
|
$('#panel-heading-info').empty();
|
||||||
|
|
||||||
$('#queue').addClass('active');
|
$('#queue').addClass('active');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,6 +128,8 @@ var app = $.sammy(function() {
|
|||||||
$('#dirble_right').find("tr:gt(0)").remove();
|
$('#dirble_right').find("tr:gt(0)").remove();
|
||||||
|
|
||||||
$('#panel-heading').text("Dirble");
|
$('#panel-heading').text("Dirble");
|
||||||
|
$('#panel-heading-info').empty();
|
||||||
|
|
||||||
$('#dirble').addClass('active');
|
$('#dirble').addClass('active');
|
||||||
|
|
||||||
$('#next').addClass('hide');
|
$('#next').addClass('hide');
|
||||||
@ -155,6 +159,8 @@ var app = $.sammy(function() {
|
|||||||
$('#dirble_right').find("tr:gt(0)").remove();
|
$('#dirble_right').find("tr:gt(0)").remove();
|
||||||
|
|
||||||
$('#panel-heading').text("Dirble");
|
$('#panel-heading').text("Dirble");
|
||||||
|
$('#panel-heading-info').empty();
|
||||||
|
|
||||||
$('#dirble').addClass('active');
|
$('#dirble').addClass('active');
|
||||||
|
|
||||||
dirble_stations = false;
|
dirble_stations = false;
|
||||||
@ -292,6 +298,18 @@ function webSocketConnect() {
|
|||||||
if(current_app !== 'queue')
|
if(current_app !== 'queue')
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
if (obj.totalTime > 0) {
|
||||||
|
var hours = Math.floor(obj.totalTime / 3600);
|
||||||
|
var minutes = Math.floor(obj.totalTime / 60) - hours * 60;
|
||||||
|
var seconds = obj.totalTime - hours * 3600 - minutes * 60;
|
||||||
|
|
||||||
|
$('#panel-heading-info').text('Total: ' +
|
||||||
|
(hours > 0 ? hours + '\u2009h ' + (minutes < 10 ? '0' : '') : '') +
|
||||||
|
minutes + '\u2009m ' + (seconds < 10 ? '0' : '') + seconds + '\u2009s');
|
||||||
|
} else {
|
||||||
|
$('#panel-heading-info').empty();
|
||||||
|
}
|
||||||
|
|
||||||
$('#salamisandwich > tbody').empty();
|
$('#salamisandwich > tbody').empty();
|
||||||
for (var song in obj.data) {
|
for (var song in obj.data) {
|
||||||
var minutes = Math.floor(obj.data[song].duration / 60);
|
var minutes = Math.floor(obj.data[song].duration / 60);
|
||||||
@ -417,10 +435,11 @@ function webSocketConnect() {
|
|||||||
var minutes = Math.floor(obj.data[item].duration / 60);
|
var minutes = Math.floor(obj.data[item].duration / 60);
|
||||||
var seconds = obj.data[item].duration - minutes * 60;
|
var seconds = obj.data[item].duration - minutes * 60;
|
||||||
|
|
||||||
if (typeof obj.data[item].artist === 'undefined') {
|
if (obj.data[item].artist == null) {
|
||||||
var details = "<td colspan=\"2\">" + obj.data[item].title + "</td>";
|
var artist = "<td colspan=\"2\">";
|
||||||
} else {
|
} else {
|
||||||
var details = "<td>" + obj.data[item].artist + "<br /><span>" + obj.data[item].album + "</span></td><td>" + obj.data[item].title + "</td>";
|
var artist = "<td>" + obj.data[item].artist +
|
||||||
|
"<span>" + obj.data[item].album + "</span></td><td>";
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#salamisandwich > tbody').append(
|
$('#salamisandwich > tbody').append(
|
||||||
|
@ -612,6 +612,7 @@ int mpd_put_queue(char *buffer, unsigned int offset)
|
|||||||
char *cur = buffer;
|
char *cur = buffer;
|
||||||
const char *end = buffer + MAX_SIZE;
|
const char *end = buffer + MAX_SIZE;
|
||||||
struct mpd_entity *entity;
|
struct mpd_entity *entity;
|
||||||
|
unsigned long totalTime = 0;
|
||||||
|
|
||||||
if (!mpd_send_list_queue_range_meta(mpd.conn, offset, offset+MAX_ELEMENTS_PER_PAGE))
|
if (!mpd_send_list_queue_range_meta(mpd.conn, offset, offset+MAX_ELEMENTS_PER_PAGE))
|
||||||
RETURN_ERROR_AND_RECOVER("mpd_send_list_queue_meta");
|
RETURN_ERROR_AND_RECOVER("mpd_send_list_queue_meta");
|
||||||
@ -620,16 +621,18 @@ int mpd_put_queue(char *buffer, unsigned int offset)
|
|||||||
|
|
||||||
while((entity = mpd_recv_entity(mpd.conn)) != NULL) {
|
while((entity = mpd_recv_entity(mpd.conn)) != NULL) {
|
||||||
const struct mpd_song *song;
|
const struct mpd_song *song;
|
||||||
|
unsigned int drtn;
|
||||||
|
|
||||||
if(mpd_entity_get_type(entity) == MPD_ENTITY_TYPE_SONG) {
|
if(mpd_entity_get_type(entity) == MPD_ENTITY_TYPE_SONG) {
|
||||||
song = mpd_entity_get_song(entity);
|
song = mpd_entity_get_song(entity);
|
||||||
|
drtn = mpd_song_get_duration(song);
|
||||||
|
|
||||||
cur += json_emit_raw_str(cur, end - cur, "{\"id\":");
|
cur += json_emit_raw_str(cur, end - cur, "{\"id\":");
|
||||||
cur += json_emit_int(cur, end - cur, mpd_song_get_id(song));
|
cur += json_emit_int(cur, end - cur, mpd_song_get_id(song));
|
||||||
cur += json_emit_raw_str(cur, end - cur, ",\"pos\":");
|
cur += json_emit_raw_str(cur, end - cur, ",\"pos\":");
|
||||||
cur += json_emit_int(cur, end - cur, mpd_song_get_pos(song));
|
cur += json_emit_int(cur, end - cur, mpd_song_get_pos(song));
|
||||||
cur += json_emit_raw_str(cur, end - cur, ",\"duration\":");
|
cur += json_emit_raw_str(cur, end - cur, ",\"duration\":");
|
||||||
cur += json_emit_int(cur, end - cur, mpd_song_get_duration(song));
|
cur += json_emit_int(cur, end - cur, drtn);
|
||||||
cur += json_emit_raw_str(cur, end - cur, ",\"artist\":");
|
cur += json_emit_raw_str(cur, end - cur, ",\"artist\":");
|
||||||
cur += json_emit_quoted_str(cur, end - cur, mpd_get_artist(song));
|
cur += json_emit_quoted_str(cur, end - cur, mpd_get_artist(song));
|
||||||
cur += json_emit_raw_str(cur, end - cur, ",\"album\":");
|
cur += json_emit_raw_str(cur, end - cur, ",\"album\":");
|
||||||
@ -641,6 +644,8 @@ int mpd_put_queue(char *buffer, unsigned int offset)
|
|||||||
cur += json_emit_raw_str(cur, end - cur, ",\"album\":");
|
cur += json_emit_raw_str(cur, end - cur, ",\"album\":");
|
||||||
cur += json_emit_quoted_str(cur, end - cur, mpd_get_album(song));
|
cur += json_emit_quoted_str(cur, end - cur, mpd_get_album(song));
|
||||||
cur += json_emit_raw_str(cur, end - cur, "},");
|
cur += json_emit_raw_str(cur, end - cur, "},");
|
||||||
|
|
||||||
|
totalTime += drtn;
|
||||||
}
|
}
|
||||||
mpd_entity_free(entity);
|
mpd_entity_free(entity);
|
||||||
}
|
}
|
||||||
@ -648,7 +653,9 @@ int mpd_put_queue(char *buffer, unsigned int offset)
|
|||||||
/* remove last ',' */
|
/* remove last ',' */
|
||||||
cur--;
|
cur--;
|
||||||
|
|
||||||
cur += json_emit_raw_str(cur, end - cur, "]}");
|
cur += json_emit_raw_str(cur, end - cur, "],\"totalTime\":");
|
||||||
|
cur += json_emit_int(cur, end - cur, totalTime);
|
||||||
|
cur += json_emit_raw_str(cur, end - cur, "}");
|
||||||
return cur - buffer;
|
return cur - buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user