@@ -242,9 +242,12 @@ def get_ui(self):
242242
243243 ])
244244 right_side_items = [
245- 'Shuffle on' if self .shuffle else '' ,
245+ '%d of %d' % (
246+ self .current_track_idx + 1 , len (self .song_order )
247+ ),
248+ 'Total playlist length: %s' % self .get_total_playlist_length (),
246249 'Repeat: %s' % self .repeat ,
247- '%d of %d' % ( self .current_track_idx + 1 , len ( self . song_order ))
250+ 'Shuffle on' if self .shuffle else '' ,
248251 ]
249252 songs_to_show = (
250253 list (range (
@@ -259,13 +262,13 @@ def get_ui(self):
259262 )
260263 for song_idx in songs_to_show :
261264 song = self .get_track_by_idx (song_idx )
262- right_side = right_side_items and right_side_items .pop ()
265+ right_side = right_side_items and right_side_items .pop (0 )
263266 if song_idx == self .current_track_idx :
264267 if song_idx != songs_to_show [0 ]:
265268 # Small spacing around current...
266269 res .append (('' , right_side or '' ))
267270 right_side = (
268- right_side_items and right_side_items .pop ()
271+ right_side_items and right_side_items .pop (0 )
269272 )
270273 formatted_song = '>>>%s' % format_track (
271274 song ,
@@ -292,6 +295,10 @@ def get_ui(self):
292295
293296 return res
294297
298+ def get_total_playlist_length (self ):
299+ total_seconds = sum ([song .duration for song in self .song_list ]) / 1000
300+ return get_duration_from_s (total_seconds , max_length = None )
301+
295302 def trigger_redraw (self ):
296303 '''
297304 Tell the player to trigger a full redraw in the next loop.
0 commit comments