-#!/usr/bin/python
+#!/usr/bin/env python
# -*- coding: utf8 -*-
#
# Copyright © 2006-2007 Rafaël Carré <funman at videolanorg>
t = Track["title"]
except:
t = Track["URI"]
+ try:
+ length = Track["length"]
+ except:
+ length = 0
+ if length > 0:
+ time_s.set_range(0,Track["length"])
+ time_s.set_sensitive(True)
+ else:
+ # disable the position scale if length isn't available
+ time_s.set_sensitive(False)
# update the labels
l_artist.set_text(a)
l_title.set_text(t)
# determine if the Media Player is playing something
if player.GetStatus() == 0:
playing = True
+ TrackChange(player.GetMetadata())
# gets its identity (name and version)
identity = root.Identity()
# update status display
def update(widget):
- item = tracklist.GetMetadata(tracklist.GetCurrentTrack())
+ Track = player.GetMetadata()
vol.set_value(player.VolumeGet())
try:
- a = item["artist"]
- except: a = ""
+ a = Track["artist"]
+ except:
+ a = ""
try:
- t = item["title"]
- except: t = ""
+ t = Track["title"]
+ except:
+ t = ""
if t == "":
try:
- t = item["URI"]
+ t = Track["URI"]
except:
t = ""
l_artist.set_text(a)
l_title.set_text(t)
+ try:
+ length = Track["length"]
+ except:
+ length = 0
+ if length > 0:
+ time_s.set_range(0,Track["length"])
+ time_s.set_sensitive(True)
+ else:
+ # disable the position scale if length isn't available
+ time_s.set_sensitive(False)
GetPlayStatus(0)
# callback for volume change
def timeset():
global playing
if playing == True:
- time_s.set_value(player.PositionGet())
+ try:
+ time_s.set_value(player.PositionGet())
+ except:
+ playing = False
return True
# toggle simple/full display
# get playing status, modify the Play/Pause button accordingly
def GetPlayStatus(widget):
global playing
+ global shuffle
+ global loop
+ global repeat
status = player.GetStatus()
- if status == 0:
+
+ playing = status[0] == 0
+ if playing:
img_bt_toggle.set_from_stock("gtk-media-pause", gtk.ICON_SIZE_SMALL_TOOLBAR)
- playing = True
else:
img_bt_toggle.set_from_stock("gtk-media-play", gtk.ICON_SIZE_SMALL_TOOLBAR)
- playing = False
-
+ shuffle = status[1] == 1
+ bt_shuffle.set_active( shuffle )
+ loop = status[2] == 1
+ bt_loop.set_active( loop )
+ repeat = status[3] == 1
+ bt_repeat.set_active( repeat )
# loads glade file from the directory where the script is,
# so we can use /path/to/mpris.py to execute it.
import sys