# HG changeset patch # User fabien # Date 1075736563 18000 # Node ID 412e93decb7c49e16ca925783263d2765ee4978e # Parent 9aa8b1c884e7212bddb26ec9c4c5db7283bb6a99 [svn] OK, reset current after changing song manually... however, I most sleep for almost a second to be sure to catch it. diff -r 9aa8b1c884e7 -r 412e93decb7c immsview --- a/immsview Mon Feb 02 01:54:09 2004 -0500 +++ b/immsview Mon Feb 02 10:42:43 2004 -0500 @@ -20,9 +20,12 @@ # Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. -_immsview_version = "$Id: immsview 1690 2004-02-02 06:54:09Z fabien $" +_immsview_version = "$Id: immsview 1691 2004-02-02 15:42:43Z fabien $" # $Log$ +# Revision 1.10 2004/02/02 15:42:43 fabien +# OK, reset current after changing song manually... however, I most sleep for almost a second to be sure to catch it. +# # Revision 1.9 2004/02/02 06:54:09 fabien # Add cvs log since I don't maintain a changelog currently. # @@ -41,7 +44,7 @@ # Revision 1.2 2004/02/01 04:40:41 fabien # add versioning. # Revision 1.1 2004/02/01 03:05:25 fabien -# Première version de immsview. +# Premiere version de immsview. # The aim of immsview is to become a better playlist editor than the # normal @@ -122,10 +125,11 @@ _dbname = os.environ['HOME'] + '/.imms/imms.db' # _dbname = os.environ['HOME'] + '/.imms/imms.backup.db' def __init__(self): - self.cx = sqlite.connect(IMMSDb._dbname, - encoding = ('utf-8', 'replace')) + self.cx = sqlite.connect(IMMSDb._dbname, autocommit = 1, + timeout = 2, encoding = ('utf-8', 'replace')) def commit(self): - self.cx.commit() + # self.cx.commit() + pass def _get_ratings(self, min = 0, max = 250): cu = self.cx.cursor() cu.execute('''SELECT Rating.uid, Rating.rating @@ -162,7 +166,7 @@ for tune in res: try: tmp = {'rating' : int(tune[1]), - 'path' : tune[2].decode('utf8', 'replace'), + 'path' : tune[2].decode('utf-8', 'replace'), 'last' : int(tune[3])} results.append(tmp) except UnicodeDecodeError: @@ -257,34 +261,52 @@ return None class IMMSToolbar(gtk.Toolbar): - def __init__(self, iview, xmms): - gtk.Toolbar.__init__(self) - self.iview = iview - self.xmms = xmms - self.create_widgets() - def create_widgets(self): - self.append_item(_('Refresh'), _('Refresh list'), - None, None, self.do_refresh) - self.append_item(_('Plot'), _('Show graph of rates'), - None, None, self.plot) - self.append_item(_('Current'), _('Get current song'), - None, None, self.do_get_current) - self.append_item(_('Play'), _('Play selection'), - None, None, self.do_play) - def plot(self, data): - os.system('/home/fabien/bin/immsplot &') - def do_refresh(self, data): + # _IMMSPLOT_COMMAND = 'immsplot &' + _IMMSPLOT_COMMAND = '/home/fabien/bin/immsplot &' + _SLEEP_TIME = 1 + def __init__(self, iview, xmms): + gtk.Toolbar.__init__(self) + self.iview = iview + self.xmms = xmms + self.create_widgets() + def create_widgets(self): + self.append_item(_('Refresh'), _('Refresh list'), + None, None, self.do_refresh) + self.append_item(_('Plot'), _('Show graph of rates'), + None, None, self.plot) + self.append_item(_('Current'), _('Get current song'), + None, None, self.do_get_current) + self.append_item(_('Previous'), _('Play previous song'), + None, None, self.do_play_prev) + self.append_item(_('Play'), _('Play selection'), + None, None, self.do_play) + self.append_item(_('Next'), _('Play next song'), + None, None, self.do_play_next) + def plot(self, dummy): + os.system(self._IMMSPLOT_COMMAND) + def do_refresh(self, dummy): self.iview.get_model().refresh() - def do_get_current(self, data): - song = self.xmms.get_current_file() - self.iview.set_current_song(song) - def do_play(self, data): - fn = self.iview.get_file_selected() - if fn: - self.xmms.play_file(fn) + def do_get_current(self, dummy): + song = self.xmms.get_current_file() + self.iview.set_current_song(song) + def do_play(self, dummy): + fn = self.iview.get_file_selected() + if fn: + self.xmms.play_file(fn) + time.sleep(self._SLEEP_TIME) + self.do_get_current(dummy) + def do_play_prev(self, dummy): + self.xmms.playlist_prev() + time.sleep(self._SLEEP_TIME) + self.do_get_current(dummy) + def do_play_next(self, dummy): + self.xmms.playlist_next() + time.sleep(self._SLEEP_TIME) + self.do_get_current(dummy) + root = gtk.Window() -root.set_name(_("IMMSview")) +root.set_title(_("IMMSView")) root.connect('destroy', gtk.mainquit) vbox = gtk.VBox(spacing = 3) root.add(vbox)