Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKushal Das <kushal@fedoraproject.org>2009-03-17 04:23:25 (GMT)
committer Kushal Das <kushal@fedoraproject.org>2009-03-17 04:23:25 (GMT)
commitd9abbb87c9d5431a7ab8e49c1ba4e01bcc1ce01e (patch)
treec137d69edacd4bfd8c01ecbd6d8663136fdba614
parent0b80e3a0ae3ea4c77b4c6545d4a2a06d3df69c28 (diff)
Open object/file button added, now one can add more songs to listen any timeanothersong
-rw-r--r--ControlToolbar.py5
-rw-r--r--jukeboxactivity.py43
2 files changed, 37 insertions, 11 deletions
diff --git a/ControlToolbar.py b/ControlToolbar.py
index 12edc51..b9b80e1 100644
--- a/ControlToolbar.py
+++ b/ControlToolbar.py
@@ -43,6 +43,11 @@ class ControlToolbar(gtk.Toolbar):
self.toolbox = toolbox
self.jukebox = jukebox
+ self.open_button = gtk.ToolButton(gtk.STOCK_FILE)
+ self.open_button.show()
+ self.open_button.connect('clicked', jukebox.open_button_clicked_cb)
+ self.insert(self.open_button, -1)
+
self.prev_button = gtk.ToolButton(gtk.STOCK_MEDIA_PREVIOUS)
self.prev_button.show()
self.prev_button.connect('clicked', self.prev_button_clicked_cb)
diff --git a/jukeboxactivity.py b/jukeboxactivity.py
index 202275b..23773c6 100644
--- a/jukeboxactivity.py
+++ b/jukeboxactivity.py
@@ -90,6 +90,7 @@ class JukeboxActivity(activity.Activity):
self.player = None
self.uri = None
self.playlist = []
+ self.jobjectlist = []
self.playpath = None
self.currentplaying = None
self.playflag = False
@@ -116,7 +117,18 @@ class JukeboxActivity(activity.Activity):
self.toolbox.connect("key_press_event", self._key_press_event_cb)
-
+ def open_button_clicked_cb(self, widget):
+ """ To open the dialog to select a new file"""
+ #self.player.seek(0L)
+ #self.player.stop()
+ #self.playlist = []
+ #self.playpath = None
+ #self.currentplaying = None
+ #self.playflag = False
+ self._want_document = True
+ self._show_object_picker = gobject.timeout_add(1, self._show_picker_cb)
+
+
def _key_press_event_cb(self, widget, event):
keyname = gtk.gdk.keyval_name(event.keyval)
logging.info ("Keyname Press: %s, time: %s", keyname, event.time)
@@ -240,16 +252,18 @@ class JukeboxActivity(activity.Activity):
if result == gtk.RESPONSE_ACCEPT:
jobject = chooser.get_selected_object()
if jobject and jobject.file_path:
+ self.jobjectlist.append(jobject)
self._start(jobject.file_path)
finally:
- chooser.destroy()
- del chooser
+ #chooser.destroy()
+ #del chooser
+ pass
def read_file(self, file_path):
self.uri = os.path.abspath(file_path)
if os.path.islink(self.uri):
self.uri = os.path.realpath(self.uri)
- gobject.idle_add(self._start, self.uri)
+ #gobject.idle_add(self._start, self.uri)
def getplaylist(self, links):
result = []
@@ -269,8 +283,8 @@ class JukeboxActivity(activity.Activity):
if not uri:
return False
# FIXME: parse m3u files and extract actual URL
- if uri.endswith(".m3u"):
- self.playlist = self.getplaylist([line.strip() for line in open(uri).readlines()])
+ if uri.endswith(".m3u") or uri.endswith(".m3u8"):
+ self.playlist.extend(self.getplaylist([line.strip() for line in open(uri).readlines()]))
elif uri.endswith('.pls'):
try:
cf.readfp(open(uri))
@@ -293,13 +307,20 @@ class JukeboxActivity(activity.Activity):
self.player.connect("stream-info", self._player_stream_info_cb)
try:
- logging.info("Playing: " + self.playlist[0])
- self.player.set_uri(self.playlist[0])
- self.currentplaying = 0
+ if not self.currentplaying:
+ logging.info("Playing: " + self.playlist[0])
+ self.player.set_uri(self.playlist[0])
+ self.currentplaying = 0
+ self.play_toggled()
+ self.show_all()
+ else:
+ self.player.seek(0L)
+ self.player.stop()
+ self.currentplaying += 1
+ self.player.set_uri(self.playlist[self.currentplaying])
+ self.play_toggled()
except:
pass
- self.play_toggled()
- self.show_all()
self.check_if_next_prev()
return False