Is there any function available to a python plugin to close/exit rythmbox? I ask because since I cannot find a signal to inform my plugin that rhythmbox is closing, I figured I could just change my save_state function so that it closes RB after saving the current song. I did find rb.Player.close but I couldn't get it to work.
Thanks Nicholas On Wed, 2007-12-26 at 12:21 -0700, Nicholas S. Clarkson wrote: > This does work but only for restoring the state. You would still have to > save the state manually. > > > On Wed, 2007-12-26 at 11:05 -0800, Adam Zimmerman wrote: > > > > On Dec 26, 2007 12:24 PM, Nicholas S. Clarkson > > > > <[EMAIL PROTECTED]> wrote: > > > > I am writing a Rhythmbox plugin to save and restore the > > > > playing song. I > > > > have got my plugin to work through a menu option but I would > > > > rather it > > > > work on load and close. However, it appears that the db and > > > > play > > > > functions I am trying to use are not available to my plugin at > > > > activation/deactivation. Is there a way to adjust the time at > > > > which my > > > > plugin is activate/deactivated so that the necessary functions > > > > are > > > > available? > > > > > > > > Nice plugin idea. Would it be too much to ask you to post the source > > > > for your plugin? I don't have a ready answer to your question, but I'm > > > > wondering if we might be able to figure something clever out. > > > > > > > > Off the top of my head, I'm wondering if we move the code from > > > > activate() to a new function if that'd make a difference. > > > > A rather horrible approach would be to set a timeout in the activate() > > function for long enough that rhythmbox is *likely* to be ready... You'd > > have to catch an exception in the case that it wasn't ready (and > > presumably continue the timer instead of stopping it). > > > > If that's the approach you want to take, look at the gobject.timeout_add > > function. It's called like: > > > > gobject.timeout_add(6 * 60 * 60 * 1000, self.__update_catalogue) > > > > with the first argument being the number of milliseconds to wait, and > > the second being the function to call. If the function returns False > > then the timeout is discarded. If it returns anything else, then the > > timeout function is called again in another n milliseconds. > > > > Like I said, it's probably not a very "clean" way to do it, but it would > > likely work. > > > > -- > > Adam Zimmerman <[EMAIL PROTECTED]> > > > > CREATIVITY - > > http://mirrors.creativecommons.org/movingimages/Building_on_the_Past.mpg > > ALWAYS - http://www.musiccreators.ca/ > > BUILDS - http://www.ubuntu.com/ > > ON THE PAST - http://www.theopencd.org/ > > -- > > > > Work consists of whatever a body is obliged to do. > > Play consists of whatever a body is not obliged to do. > > -- Mark Twain > > > > _______________________________________________ > > rhythmbox-devel mailing list > > rhythmbox-devel@gnome.org > > http://mail.gnome.org/mailman/listinfo/rhythmbox-devel > > > > _______________________________________________ > rhythmbox-devel mailing list > rhythmbox-devel@gnome.org > http://mail.gnome.org/mailman/listinfo/rhythmbox-devel > _______________________________________________ rhythmbox-devel mailing list rhythmbox-devel@gnome.org http://mail.gnome.org/mailman/listinfo/rhythmbox-devel