# HG changeset patch # User fabien # Date 1076695657 18000 # Node ID efa8fbc7b3a36b1303a4ef9392a0dd88e2b0c6a2 # Parent e648d68529830b3eeab5c4b85bbad504733af4e0 [svn] Doesn't select the current song automatically and remove the now useless sleeptime for next and previous. diff -r e648d6852983 -r efa8fbc7b3a3 immsview --- a/immsview Thu Feb 12 09:43:48 2004 -0500 +++ b/immsview Fri Feb 13 13:07:37 2004 -0500 @@ -20,9 +20,13 @@ # Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. -_version_ = "$Id: immsview 1721 2004-02-12 14:43:48Z fabien $" +_version_ = "$Id: immsview 1722 2004-02-13 18:07:37Z fabien $" # $Log$ +# Revision 1.33 2004/02/13 18:07:37 fabien +# Doesn't select the current song automatically and remove the now +# useless sleeptime for next and previous. +# # Revision 1.32 2004/02/12 14:43:48 fabien # Better OO approach. # @@ -252,14 +256,14 @@ self.curtime = time self.curtime = time.time() col, order = self.get_sort_column_id() - if col: - self.set_sort_column_id(-1, gtk.SORT_ASCENDING) + if col: + self.set_sort_column_id(-1, gtk.SORT_ASCENDING) tunes = self.db.get_ratings_and_paths() - print >> stderr, time.ctime(time.time()) + ": inserting" + print >> stderr, time.ctime(time.time()) + ": inserting" self._update_me(tunes) - print time.ctime(time.time()) + ": end insert" - if col: - self.set_sort_column_id(col, order) + print time.ctime(time.time()) + ": end insert" + if col: + self.set_sort_column_id(col, order) def replace(self, tunes): "replace simply replace all giter with new one" self.clear() @@ -300,7 +304,7 @@ tunes = self.db.get_ratings_and_paths([uid]) if tunes > 0: giter = self.tune_to_giter(uid, tunes[uid], song) - else: + else: giter = self.update_giter(giter, song) return giter def get_ratings(self): @@ -342,11 +346,11 @@ self.gnuplot.flush() class IMMSView(gtk.TreeView): - def __init__(self, model, xmms): + def __init__(self, model, xmms): gtk.TreeView.__init__(self, model) self.xmms = xmms self.create_widgets() - def create_widgets(self): + def create_widgets(self): renderer = gtk.CellRendererText() renderer.set_property('weight', 700) renderer.set_property('background-set', gtk.TRUE) @@ -378,11 +382,15 @@ model = self.get_model() giter = model.find_selected_giter() if giter: - model.update_giter(giter) + model.update_giter(giter) model.set_value(giter, IMMSStore.COL_SELECT, gtk.FALSE) giter = model.find_giter_from_path(song) if giter: model.set_value(giter, IMMSStore.COL_SELECT, gtk.TRUE) + def select_current_song(self): + model = self.get_model() + giter = model.find_selected_giter() + if giter: self.set_cursor(model.get_path(giter)) def get_filename(self, giter): model = self.get_model() @@ -413,7 +421,6 @@ class IMMSToolbar(gtk.Toolbar): - _SLEEP_TIME = 5 def __init__(self, iview, xmms, plotter): gtk.Toolbar.__init__(self) self.iview = iview @@ -439,7 +446,7 @@ def do_refresh(self, dummy = None): self.iview.get_model().update() self.current_song = '' - def do_get_current(self, dummy = None): + def refresh_current(self): song = self.xmms.get_current_file() if song != self.current_song: try: @@ -447,32 +454,21 @@ self.current_song = song except Exception, e: print >> stderr, e + return gtk.TRUE + def do_get_current(self, dummy = None): + self.refresh_current() + self.iview.select_current_song() def do_play(self, dummy = None): fn = self.iview.get_file_selected() if fn: self.xmms.play_file(fn) - self.sleep(self._SLEEP_TIME) - self.do_get_current(dummy) def do_play_prev(self, dummy = None): self.xmms.playlist_prev() - self.sleep(self._SLEEP_TIME) - self.do_get_current(dummy) def do_play_next(self, dummy = None): self.xmms.playlist_next() - self.sleep(self._SLEEP_TIME) - self.do_get_current(dummy) - def sleep(self, secs): - start = time.time() - while (time.time() - start) < secs: - time.sleep(0.2) - if gtk.main_iteration_do(gtk.FALSE): - break; - + class Application: REFRESH_RATE = 5000 - def refresh_current(self): - self.toolbar.do_get_current() - return gtk.TRUE def __init__(self): self.xmms = XMMSControl() self.db = IMMSDb() @@ -494,13 +490,17 @@ iview.show() scroll.show() plotter = IMMSPlot(self.model) - self.toolbar = IMMSToolbar(iview, self.xmms, plotter) - vbox.pack_start(self.toolbar, expand = gtk.FALSE) - self.toolbar.show() + toolbar = IMMSToolbar(iview, self.xmms, plotter) + vbox.pack_start(toolbar, expand = gtk.FALSE) + toolbar.show() root.show() - self.toolbar.do_refresh(None) - gtk.timeout_add(self.REFRESH_RATE, Application.refresh_current, self) + toolbar.do_refresh() + gtk.timeout_add(self.REFRESH_RATE, + IMMSToolbar.refresh_current, + toolbar) if __name__ == '__main__': app = Application() app.main() + +# vim:et:ts=4: