On 26 Mar 2010, at 18:11, Sanjoy Das wrote:
Hey Sanjoy,
Very cool proposal, happy to see people interested in this project!
Don't have time to think through your extension proposal just now, but
good that you start thinking about it already.
Just a few initial thoughts:
i. The ability to connect to the Xmms2 server and perform all the
IPC using libxmmsclient++
So do you plan to expose the XMMS2 connection(s) to the scripts as a
QtScript object?
Also note that libxmmsclient++ relies on boost, which isn't always a
joy to work with Qt.
There are libqt4xmms2 bindings somewhere, I forget where the latest
version is but they're not quite as complete and proven. Still might
be of interest to you, especially if you want to expose them as
QtScript objects. Alternatively, you could just write your own wrapper
code around either libxmmsclient++ or the qt4 clientlib.
iii. Various extension points which plugins can hook onto. We provide
the GUI elements (like the QPanel, in the above case) as global
objects or arguments to the relevant plugins. Since the scripts
have access to the entire Qt library, the scripts may build up
the UI in whichever way they want. By segregating the UI elements
(say, by assigning one QCanvas to the visualization plugin and
one
QPanel to the lyrics plugin), we can segregate the plugins in a
neat modular way.
Any ideas regarding communicating between plugins.
e.g. drag and drop of data, links to other bits of the app (click on
artist and it goes to a panel with the list of albums, etc), actions
on objects exposed in another context (right click and send to another
plugin), etc.
My interest writing and maintaining the official client specifically
comes from the 'scratching your own itch' idiom. Despite the
me finding Xmms2 a fantastic music player, I have not come around to
using it due to the lack of a decent client. I wish to change all
that.
The whole inspiration behind writing a plugin based client is that
while
it allows regular click-to-run users to stick to the defaults, it also
allows people like me, who like changing every little bit about how
they
work _and_ how they play, to configure their ultimately extendible
client to be what they had only dreamt of.
Cool!
Can you share a bit more of your developer background, such as what
projects you've taken part in in the past, GUI experience and other
relevant bits?
Also I don't know if you saw my reply on IRC, but I suggested you have
a peek at the series of posts I did about the new GUI client:
http://bytes.inso.cc/wp/tag/xmms2/
It's in no way a spec or a set of strict requirements; more like a
general vision that expands on what the community informally discussed
– feel free to question or even argue against it, but might still be
of interest to you.
I think it's often useful to think of this project both from the
conceptual POV and the more hands-on, sample mock ups POV.
Thanks for sharing and we're looking forward to hearing more of your
plans for this project!
--
Sébastien Cevey / inso.cc
--
_______________________________________________
Xmms2-devel mailing list
Xmms2-devel@lists.xmms.se
http://lists.xmms.se/cgi-bin/mailman/listinfo/xmms2-devel