--- 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)