Implement this window, win a prize!
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.
March 23rd, 2006 - 17:01
Great idea. I wonder if the same approach would work to get iPod playlist support? There must be stealable code in gtkpod.
March 23rd, 2006 - 17:04
ipod-sharp has full playlist support, it is just not exposed in the Banshee interface.
gtkpod is also written in C, Banshee in C#, and gtkpod is GPL, where Banshee is MIT, so there is in fact zero stealable code in gtkpod
March 23rd, 2006 - 18:11
I don’t know if I’ll have time to attempt this, but this is exactly who these types of feature requests should be offered to. I commend you on continuing to provide nice entry points into OSS development like this!
March 23rd, 2006 - 18:39
Banshee is one of the most exciting free software projects around ATM! It’s such a nice and functional application, and this plugin will make it even nicer.
What I’m currently wondering about, if plugins are powerful enough to change the interface like this, can the (in)famous browser patch perhaps be changed into a plugin?
March 23rd, 2006 - 18:43
This is a cool way to get people to contribute. If I knew a lick of C#, I would be quite tempted, but static-typed languages are really not my thing.
March 23rd, 2006 - 19:14
Sounds really nice. I love Mono and Banshee but I never touched on the latters code, maybe this is my chance to do it for the first time? Is this a sign? =)
March 23rd, 2006 - 21:36
This is a great ideia. This is like a way to create skins for Banshee. The Skin should have a Full Mode and Mini-Mode.
There is any way to minimize the Banshee to be in the Application Tray of Gnome or KDE like Windows Media Player do in windows?
(this is a bad ideia… but it’s an ideia).
Continue the good work
Paulo Aboim Pinto
Odivelas – Portugal
March 24th, 2006 - 01:26
Actually, in the near future, the entire interface will be pluggable. The default implementation will be the main one, but plugins will be able to provide new interfaces, and one of them may choose to offer skin support.
This is indeed a start for that, but it will be easier and more efficient in the future.
March 24th, 2006 - 05:27
Looks nice, but the Full Mode button is in a funny place.
March 24th, 2006 - 05:56
This is a great idea, to bad I probably won’t have the time to give it a go, but who knows? (Have an exam tomorrow, maybe time after that).
A splendid way to get new and not so experienced programmers (such as me) familiar with the codebase. I hope more projects will do things like this.
March 24th, 2006 - 07:31
This is very interesting. I would also like to donate a similar prize if anybody writes the ipod playlist support.
March 25th, 2006 - 11:47
out of interest why does ‘Full Mode’ use the icon of a house? especially given that the home/house icon is a semantic simile of ~/ in most Linux DE’s.
March 25th, 2006 - 12:39
I don’t know, because I wanted it to be a house? This was just a mockup, and we will fine tune it all later, according to HIG, yada, yada, etc.
May 24th, 2006 - 21:58
Very needed information found here, thank you for your work