Skip to content

Commit

Permalink
Merge 78de62c into 9ca222e
Browse files Browse the repository at this point in the history
  • Loading branch information
txomon committed Nov 22, 2013
2 parents 9ca222e + 78de62c commit 7d32425
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
13 changes: 13 additions & 0 deletions mopidy/audio/actor.py
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,19 @@ def set_position(self, position):
return self._playbin.seek_simple(
gst.Format(gst.FORMAT_TIME), gst.SEEK_FLAG_FLUSH, gst_position)

def get_length(self):
"""
Get total track duration in miliseconds
:rtype: int
"""
try:
gst_duration = self._playbin.query_duration(gst.FORMAT_TIME)[0]
return utils.clocktime_to_millisecond(gst_duration)
except gst.QueryError:
logger.debug('Duration query failed')
return 0

def start_playback(self):
"""
Notify GStreamer that it should start playback.
Expand Down
9 changes: 9 additions & 0 deletions mopidy/core/playback.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,15 @@ def get_time_position(self):
time_position = property(get_time_position)
"""Time position in milliseconds."""

def get_track_length(self):
if self.audio:
return self.audio.get_length()
if self.current_tl_track:
return self.current_tl_track.track.length

track_length = property(get_track_length)
"""Track known duration in miliseconds"""

def get_volume(self):
if self.audio:
return self.audio.get_volume().get()
Expand Down

0 comments on commit 7d32425

Please sign in to comment.