Now playing tab
I have replaced the "test" tab with a "now playing" tab that will tell the artist, album, and title of the current song.
This commit is contained in:
parent
50f7e1203d
commit
816d97e3ea
|
@ -1,6 +1,7 @@
|
||||||
# Bryan Schumaker (8/22/2010)
|
# Bryan Schumaker (8/22/2010)
|
||||||
|
|
||||||
import ocarina
|
import ocarina
|
||||||
|
import pango
|
||||||
gtk = ocarina.gtk
|
gtk = ocarina.gtk
|
||||||
libsaria = ocarina.libsaria
|
libsaria = ocarina.libsaria
|
||||||
button = None
|
button = None
|
||||||
|
@ -53,6 +54,7 @@ class InfoBar(Bar):
|
||||||
|
|
||||||
self.title = gtk.Label("Ocarina 4.1")
|
self.title = gtk.Label("Ocarina 4.1")
|
||||||
self.title.show()
|
self.title.show()
|
||||||
|
self.title.set_ellipsize(pango.ELLIPSIZE_END)
|
||||||
|
|
||||||
self.pack(self.title, True, True)
|
self.pack(self.title, True, True)
|
||||||
self.pack(label.TimeLabel())
|
self.pack(label.TimeLabel())
|
||||||
|
@ -60,13 +62,11 @@ class InfoBar(Bar):
|
||||||
self.pack(button.PauseButton())
|
self.pack(button.PauseButton())
|
||||||
self.pack(button.StopButton())
|
self.pack(button.StopButton())
|
||||||
self.pack(button.NextButton())
|
self.pack(button.NextButton())
|
||||||
#self.pack(button.VolumeButton())
|
|
||||||
self.pack(button.UpButton(up_button))
|
self.pack(button.UpButton(up_button))
|
||||||
|
|
||||||
libsaria.event.invite("POSTLOAD", self.change_title)
|
libsaria.event.invite("POSTLOAD", self.change_title)
|
||||||
|
|
||||||
def change_title(self, filepath):
|
def change_title(self, filepath):
|
||||||
#id = libsaria.collection.lib_get_cur_id()
|
|
||||||
id = libsaria.collection.lib_find_id(filepath)
|
id = libsaria.collection.lib_find_id(filepath)
|
||||||
title = lib_get_attr(id, "title")
|
title = lib_get_attr(id, "title")
|
||||||
artist = libsaria.collection.lib_get_attr(id, "artist")
|
artist = libsaria.collection.lib_get_attr(id, "artist")
|
||||||
|
@ -86,7 +86,6 @@ class InfoTab(gtk.Notebook):
|
||||||
hbox.pack_start(button.PauseButton())
|
hbox.pack_start(button.PauseButton())
|
||||||
hbox.pack_start(button.StopButton())
|
hbox.pack_start(button.StopButton())
|
||||||
hbox.pack_start(button.NextButton())
|
hbox.pack_start(button.NextButton())
|
||||||
#hbox.pack_start(button.VolumeButton())
|
|
||||||
hbox.pack_start(button.DownButton(down_button))
|
hbox.pack_start(button.DownButton(down_button))
|
||||||
self.set_action_widget(hbox, gtk.PACK_END)
|
self.set_action_widget(hbox, gtk.PACK_END)
|
||||||
|
|
||||||
|
@ -103,6 +102,34 @@ class InfoTab(gtk.Notebook):
|
||||||
self.cur_page = page_num
|
self.cur_page = page_num
|
||||||
|
|
||||||
|
|
||||||
|
class NowPlaying(gtk.Table):
|
||||||
|
def __init__(self):
|
||||||
|
gtk.Table.__init__(self, 3, 2, False)
|
||||||
|
self.artist = gtk.Label("")
|
||||||
|
self.album = gtk.Label("")
|
||||||
|
self.title = gtk.Label("")
|
||||||
|
self.attach(gtk.Label("Artist"), 0, 1, 0, 1, gtk.SHRINK, 5, 5)
|
||||||
|
self.attach(gtk.Label("Album"), 0, 1, 1, 2, gtk.SHRINK, 5, 5)
|
||||||
|
self.attach(gtk.Label("Title"), 0, 1, 2, 3, gtk.SHRINK, 5, 5)
|
||||||
|
self.attach(self.artist, 1, 2, 0, 1, gtk.SHRINK|gtk.EXPAND|gtk.FILL, 5, 5)
|
||||||
|
self.attach(self.album, 1, 2, 1, 2, gtk.SHRINK|gtk.EXPAND|gtk.FILL, 5, 5)
|
||||||
|
self.attach(self.title, 1, 2, 2, 3, gtk.SHRINK|gtk.EXPAND|gtk.FILL, 5, 5)
|
||||||
|
|
||||||
|
self.artist.set_ellipsize(pango.ELLIPSIZE_END)
|
||||||
|
self.album.set_ellipsize(pango.ELLIPSIZE_END)
|
||||||
|
self.title.set_ellipsize(pango.ELLIPSIZE_END)
|
||||||
|
|
||||||
|
self.show_all()
|
||||||
|
libsaria.event.invite("POSTLOAD", self.change_labels)
|
||||||
|
|
||||||
|
def change_labels(self, filepath):
|
||||||
|
id = libsaria.collection.lib_find_id(filepath)
|
||||||
|
if id:
|
||||||
|
self.title.set_text(lib_get_attr(id, "title"))
|
||||||
|
self.artist.set_text(lib_get_attr(id, "artist"))
|
||||||
|
self.album.set_text(lib_get_attr(id, "album"))
|
||||||
|
|
||||||
|
|
||||||
class TwoWayPane(InfoBar):
|
class TwoWayPane(InfoBar):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
InfoBar.__init__(self, self.up_button)
|
InfoBar.__init__(self, self.up_button)
|
||||||
|
@ -134,7 +161,7 @@ def init():
|
||||||
|
|
||||||
info = TwoWayPane()
|
info = TwoWayPane()
|
||||||
filter = FilterBar()
|
filter = FilterBar()
|
||||||
add_info_page("Test", gtk.Label("test label!"))
|
add_info_page("Now Playing", NowPlaying())
|
||||||
|
|
||||||
def get_info():
|
def get_info():
|
||||||
global info
|
global info
|
||||||
|
|
Loading…
Reference in New Issue