Last night Jorge (aka whiprush) was asking about a Mini-Mode for Banshee. I initially said it would probably be some time before such a feature showed up in Banshee land, but after some quick thought, and realizing once again the full potential of the new player engine core, I said it could be done in a few hours.
However, I think you should do it, oh dear Banshee enthusiast! So here is our proposal: The above screenshot is a mockup. If you choose to accept the challenge, you are tasked with implementing this design as a Banshee Plugin. I am estimating it can be done in maybe 100-200 lines, and most of that can be little cut-n-paste snippets from the main interface to update the mini-mode interface based on the player engine state, etc. That simply involves listening to the Banshee player engine message bus. There are many reusable Banshee widgets that will be of help.
The Starting Line
I am providing the boilerplate plugin code and build system, and a glade file that you can optionally use. It’s up to you if you want to implement the mockup above or do something totally different. However, your implementation should at least perform all functions shown in the mockup.
Additionally, the plugin needs to integrate with the “View” menu in the main Banshee interface. When this menu item is activated, the main interface is to be hidden, and the Mini Mode interface will be shown. The Mini Mode interface should have a way to reverse this behavior to restore the main interface.
For the Serious
I recommend using Banshee from HEAD to develop against, but a later (0.10.8+) release should suffice. Everyone should start from the
banshee-minimode-plugin boilerplate, which can be checked out from Banshee Subversion:
svn co svn://svn.banshee-project.org/trunk/banshee-minimode-plugin
For all the details and some hints, read the README file. Makes sense, right? Be sure to read this before you get ./autogen.sh happy!
Also, and this is important: in an effort to attract some new faces, if you have any significant experience with the Banshee codebase, please sit off to the side and twiddle your thumbs
The Finish Line
All submissions should be emailed to me by 3PM EST on Monday, March 27, 2006 (details in the README). We will review the submissions and rate the implementation objectively and the interface design, well, subjectively The author of the favorite submission can talk with Jorge, who has offered to provide something that is comparable in value to a CD or DVD (Book, Amazon Wishlist?), or just eternal fanboyism.
The Final Thought
Remember: this idea is all about fun, and I hope it helps folks like you to get your hands a little wet with Banshee code. If you do not agree with or find this idea unappealing, say nothing, and continue living your glorious day: I still love you!
Finally, in the name of “keeping it interesting,” Jorge gets all the credit for the idea, I’m just making it a reality.