mirror of
				https://github.com/SuperBFG7/ympd
				synced 2025-10-31 13:53:00 +00:00 
			
		
		
		
	Merge remote-tracking branch 'eb041592/queue_time'
This commit is contained in:
		| @@ -66,8 +66,10 @@ button { | ||||
| } | ||||
|  | ||||
| #salamisandwich td:nth-child(2) span { | ||||
|   font-style:italic; | ||||
|   font-size:90%; | ||||
|   font-style: italic; | ||||
|   font-size: 90%; | ||||
|  | ||||
|   display: block; | ||||
| } | ||||
|  | ||||
| tbody { | ||||
|   | ||||
| @@ -96,7 +96,8 @@ | ||||
|  | ||||
|         <div class="panel panel-primary"> | ||||
|           <!-- 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"> | ||||
|             <h1> | ||||
|               <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); | ||||
|  | ||||
|         $('#panel-heading').text("Queue"); | ||||
|         $('#panel-heading-info').empty(); | ||||
|  | ||||
|         $('#queue').addClass('active'); | ||||
|     } | ||||
|  | ||||
| @@ -126,6 +128,8 @@ var app = $.sammy(function() { | ||||
|         $('#dirble_right').find("tr:gt(0)").remove(); | ||||
|  | ||||
|         $('#panel-heading').text("Dirble"); | ||||
|         $('#panel-heading-info').empty(); | ||||
|  | ||||
|         $('#dirble').addClass('active'); | ||||
|  | ||||
|         $('#next').addClass('hide'); | ||||
| @@ -155,6 +159,8 @@ var app = $.sammy(function() { | ||||
|         $('#dirble_right').find("tr:gt(0)").remove(); | ||||
|  | ||||
|         $('#panel-heading').text("Dirble"); | ||||
|         $('#panel-heading-info').empty(); | ||||
|  | ||||
|         $('#dirble').addClass('active'); | ||||
|  | ||||
|         dirble_stations = false; | ||||
| @@ -292,6 +298,18 @@ function webSocketConnect() { | ||||
|                     if(current_app !== 'queue') | ||||
|                         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(); | ||||
|                     for (var song in obj.data) { | ||||
|                         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 seconds = obj.data[item].duration - minutes * 60; | ||||
|  | ||||
|                                 if (typeof obj.data[item].artist === 'undefined') { | ||||
|                                     var details = "<td colspan=\"2\">" + obj.data[item].title + "</td>"; | ||||
|                                 if (obj.data[item].artist == null) { | ||||
|                                     var artist = "<td colspan=\"2\">"; | ||||
|                                 } 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( | ||||
|   | ||||
| @@ -612,6 +612,7 @@ int mpd_put_queue(char *buffer, unsigned int offset) | ||||
|     char *cur = buffer; | ||||
|     const char *end = buffer + MAX_SIZE; | ||||
|     struct mpd_entity *entity; | ||||
|     unsigned long totalTime = 0; | ||||
|  | ||||
|     if (!mpd_send_list_queue_range_meta(mpd.conn, offset, offset+MAX_ELEMENTS_PER_PAGE)) | ||||
|         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) { | ||||
|         const struct mpd_song *song; | ||||
|         unsigned int drtn; | ||||
|  | ||||
|         if(mpd_entity_get_type(entity) == MPD_ENTITY_TYPE_SONG) { | ||||
|             song = mpd_entity_get_song(entity); | ||||
|             drtn = mpd_song_get_duration(song); | ||||
|  | ||||
|             cur += json_emit_raw_str(cur, end - cur, "{\"id\":"); | ||||
|             cur += json_emit_int(cur, end - cur, mpd_song_get_id(song)); | ||||
|             cur += json_emit_raw_str(cur, end - cur, ",\"pos\":"); | ||||
|             cur += json_emit_int(cur, end - cur, mpd_song_get_pos(song)); | ||||
|             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_quoted_str(cur, end - cur, mpd_get_artist(song)); | ||||
|             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_quoted_str(cur, end - cur, mpd_get_album(song)); | ||||
|             cur += json_emit_raw_str(cur, end - cur, "},"); | ||||
|  | ||||
|             totalTime += drtn; | ||||
|         } | ||||
|         mpd_entity_free(entity); | ||||
|     } | ||||
| @@ -648,7 +653,9 @@ int mpd_put_queue(char *buffer, unsigned int offset) | ||||
|     /* remove last ',' */ | ||||
|     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; | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 SuperBFG7
					SuperBFG7