Hi Sebastien!

> Very cool proposal, happy to see people interested in this project!

:)

> So do you plan to expose the XMMS2 connection(s) to the scripts as a  
> QtScript object?
> Alternatively, you could just write your own wrapper  
> code around either libxmmsclient++ or the qt4 clientlib.

I am currently considering wrapping a QObject around libxmmsclient++ and
expose _some_ of the functionality directly to the scripts (Q_INVOKE)
and some through the various plugin APIs. For instance there is probably
no need to expose the Fourier transform data through the _main_
connection object but it may possibly be exposed through the
visualization API.

> 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.

Something that immediately comes to mind is to have a global QtScript
object (I have made provisions for such a thing in the framework I'm
working upon) which exposes methods to add, read and remove information
from a global registry (essentially a map). Informing (poking) other
plugins can then be implemented by connecting a slot in each plugin with
a signal like 'void poke (int pluginID)'. So, if plugin 0xFFDEAD wishes
to ask plugin 0xDEADFF (the plugin which, say, logs information onto a
remote server) to log 'Foo Bar', it invokes 'poke (0xDEADFF)' after
setting a pre-decided key in the common registry to 'Foo Bar'.
0xDEADFF's slot is executed which checks if the signal is for it
(pluginID == 0xDEADFF) and reacts accordingly.

Another approach might involve having a global stack and push the
parameters and a method name onto the stack and then invoke a signal
which then resolves the method and executes it, much like calling a
procedure. I'm sure both these methods may be further refined and
improved.

> 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?

If you're looking for a past Qt project, you can have a look at
http://github.com/sanjoy/Xants-Simulator-Log-Player-Qt4, though it
probably won't make much sense outside its context. I haven't done
anything larger than this in Qt.

As far as open source involvement is concerned, I've contributed few
patches to the mono project. For more details you can always check out
my resume at http://playingwithpointers.com/custom/resume.pdf


> 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/

I did. You must be theefer. :)


> 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.

I was thinking on the same lines - parallelly working on both the plugin
framework and getting an idea of what the final GUI should look like
seems to be a good idea. I'll get back to you soon on this. What do you
suggest I use to create sample mock-ups? I generally use Inkscape - is
that good enough?


> Thanks for sharing and we're looking forward to hearing more of your  
> plans for this project!

Thanks!

-- 
Regards,

Sanjoy Das
http://playingwithpointers.com
http://playingwithpointers.com/custom/public_key.txt

Attachment: signature.asc
Description: This is a digitally signed message part

--
_______________________________________________
Xmms2-devel mailing list
Xmms2-devel@lists.xmms.se
http://lists.xmms.se/cgi-bin/mailman/listinfo/xmms2-devel

Reply via email to