On Wed, Oct 01, 2008 at 02:01:10PM +0200, eric casteleijn wrote: > In my ongoing quest to port all of the autoqueue plugin to rhythmbox, > I've made another small step, by blocking tracks that are played for a > number of days, but I'm getting strange GLib messages of the form: > > GLib-GObject-CRITICAL **: g_value_copy: assertion > `g_value_type_compatible (G_VALUE_TYPE (src_value), G_VALUE_TYPE > (dest_value))' failed
This looks like a bug in the rhythmdb python bindings. The value we're getting out of pygobject is either G_TYPE_INT or G_TYPE_LONG, but the query expects a G_TYPE_ULONG value for the property you're using. > every time a time based search is executed, such as: > > from time import time > seconds = track_block_time * 24 * 60 * 60 > now = time() > cutoff = now - seconds > search = ( > rhythmdb.QUERY_PROP_LESS, rhythmdb.PROP_LAST_PLAYED, cutoff) > > But it does seem to filter correctly. Does anyone know if there is > anything I'm doing wrong, or are these messages something that I'll have > to live with? It's not really wrong to do it that way, but you'd probably be better off using rhythmdb.QUERY_PROP_NOT_WITHIN instead of rhythmdb.QUERY_PROP_LESS - this way, the query model will periodically refresh itself. This won't fix the error messages, but you should only need to do the query once, which might help a bit. _______________________________________________ rhythmbox-devel mailing list rhythmbox-devel@gnome.org http://mail.gnome.org/mailman/listinfo/rhythmbox-devel