I made branches off of muine trunk in SVK for my C# 3.0 lambda and addins experiments. I may possibly create a muine-experimental tree completely separate from the Gnome SVN, possibly in Google Code (or, I could just get a new screenname for svn.gnome.org).
Muine was popular back in 2004-2005, when Mono was still brand new and Muine was one of few examples of real programs written in Gtk#. Now we have the huge Banshee project and Muine has rather stagnated and slipped into the shadows. However, there's something to be said about a smaller program that doesn't try to do everything (although we still have plugins, through the new and old interfaces). I also prefer the simple playlist-oriented GUI of Muine over the more iTunes-like projects such as Rythmbox and Banshee. If anyone wants to suggest a name other than muine-experimental or muine-zoe, feel free. We could totally fork instead. Perhaps I can use the "Calliope" name I was throwing around a few months ago.
Some Muine Thoughts:
- C# 3.0 lambda expressions for short callbacks/delegates
- Don't do any real work (dozens of lines) in a callback or delegate, call another method instead.
- Eliminate all pointer passing within Muine. I did a bunch a couple years ago, it's really a mess in there.
- Use TagLib# to process metadata.
- Remove Gnome dependency
- Don't use plain Berkley DB, at least use SQLite. LINQ can make it a beautiful thing. Do all database stuff in managed code.
- Eliminate all C code that isn't strictly needed (Nobody's successfully tackled a Gst# binding yet so we at least need that).
- Make music playing independent. We can still distribute it in the tree but make it a totally independent library with C# binding. Eliminate all P/Invokes.
- Move to a new build system, possibly NAnt.
- Rework the whole structure. The Global control center thing just has always grated on me.
- Tackle PlaylistWindow.cs
- Implement a new Addins library.
- Port existing plugins to the Addins framework (there are only a handful, consider hosting them too).
- Remove the old plugin framework.
- Move some currently built-in functionality to plugins (e.g. DBus, Amazon, MusicBrainz).
- Hack Diebold, elect Dennis Kucinich.
- Combine the notion of "Song" and "Album" in the GUI, some sort of tree drop-down within the list is what we've talked about in the past. This goes for both the "Add{Song,Album}" dialog and the main playlist.
- Show the album name in the main window.
- Make the playlist hideable (I had a patch to do this before, Jorn didn't like the idea but other people have expressed an interest in it).
- Turn the buttons into a real toolbar (the only question is what to do with the volume).
- Make a slider in the main window instead of the Skip To dialog.
- Anything else you can think of
Muine has the potential to be a great piece of software. It just needs some love!
No comments:
Post a Comment