CC'ing to plasma-devel since this might be interesting for others.

2010/3/18 Christophe Olinger <oling...@binarylooks.com>

> Hi Alessandro and Marco
> (should I post this to plasma-devel?)
>
> Currently I am going through Alessandro's work class by class and try
> to understand how you planned the whole media center. It’s amazing how
> much you have done already! Unfortunately, at the same time I am
> learning all about KDE and Plasma development so it all goes much
> slower than I want and with lots of going through plasma code and
> trying to find stuff.
>
> I want to use as much as possible of what you have done already so
> here a quick heads up on how I wanted to proceed. Please be very
> strict about how you imagined it and tell me what to change, I am kind
> of inexperienced in all this:
>
> 1) you created the plasmediacenter shell which you use as a
> springboard to load all your stuff. A standard corona, your
> MediaCenter::MediaContainment then browser, playlist, controller,
> player. The following things come to my mind (please correct me if I’m
> wrong):
> •       independently of whether we are looking at pictures, videos or
> music, you wanted to always have these 4 components
>

right

•       From the previous I suppose you wanted to do all these media
> consumption types in the same workspace, the user would not use a
> different app when he wants to look at pictures than the app he uses
> to listen to Music.
>

right, that's Media Center :)


> •       Maybe you just wanted to start from something generic and later
> wanted to adapt the workspace to what the user currently does.
>

pretty correct assumption.


>
> In my mind, I actually only thought about a mediacenter for pictures,
> but I really want my work to fit into yours. This is how I imagined my
> app:  (SEE MOCKUP)
>
•       On plasmamediacenter_pictures startup (or switch to “picturemode”
> within plasmamediacenter) we will see a full screen browser (or a
> browser that fills completely its dedicated space, for example if we
> have the plasma-netbook panel visible)
>

We already have this behavior with the browser applet.


> •       This browser will be in grid mode and shows picture thumbnails
> (with
> or without names)
> •       Navigation will be done via a bottom horizontally maximized widget
> with an upper directory button and home button. At the home screen we
> can also select to browse via nepomuk or other models (flickr...)
> (bottom, because I think it is easier to reach with your figures if
> you have a tablet, maybe top is easier?)
> •       At the right there will be a vertically maximized widget that
> contains the following:
> o       A widget that allows switching between grid and single picture mode
> (icons changes depending on current mode)
>

Again, mediabrowser applet already does this.


> o       A widget that allows to set a zoom state for the grid browser (4x4,
> 8x8, 16x16,...) or in  single browser mode (unnecessary for pinch to
> zoom)
> o       rotate button
> o       tag widget (tagging on the item will be too small I think
> •       both side panels can be hidden using a button on the bottom right
> •       tapping a picture selects it, double tapping switches between
> single
> / grid mode
> •       dragging the grid view allows for scrolling
> •       maybe I can allow a list view later
> •       flicking in single picture mode switches picture
> •       pinch to zoom
>
> Your browser already has most of the necessary stuff so here are some
> questions:
>

Well i do not think is worth developing your own app and then merge your
work with Plasma MC.
You'd better start hacking directly on MC, imho, sending patches. This way
we can guide you for the first steps and then you can keep going on your
own.


> •       For my browser should I create a new mediabrowser_pics class in
> which I create a new abstractmediaitemview object with the necessary
> configurations and based on your grid:view? All the nice models and
> stuff are already in this class.
>

ATM we have a video dataengine that expects plugins for it to be developed.
YouTube is already there. The video-dataengine makes it easier developing a
plugin for the mediabrowser applet. This way you simply write your own
QAbstractItemModel that fetches from the video-dataengine and then package
it all inside a ModelPackage (the abstract interfaces for
mediabrowser-applet plugins).


> •       I don’t want to change your mediabrowser class and applet, so if I
> want to create a new applet, I have to duplicate all your basic
> mediabrowser classes (abstractitemview, grid view and the models), or
> is it possible to create a second .desktop file in a directory which
> would create an applet based on the same classes but with other
> configuration settings.
>

Again, i feel you should directly contribute with patches. Do not be scared,
we can give you hints :-)


> •       How can I do this without duplicating stuff, or do I have to make
> your current code more generic? (taking the abstractitemview, gridview
> and stuff into some sort of libs directory?)
> •       Should I create a new mediacontainment, since I would not really
> use
> your autohide feature, or is it easily turned off by configuring an
> object of type mediacontainment?
> •       I could also use a generic plasma containment
> •       The bottom and right panel would be new applets? Should I base them
> on plasma panels? I could take your mediacontroller applet to inspire
> me.
> •       So basically I create a new shell which does the following:
> o       new corona
> o       new containment (plasma or media containment?)
> o       configure containment (or is this better done in a new containment
> class?)
> o       add browser applet
> o       add bottom and right panel widgets
> o       add player
> •       The single browser mode would be an actual player applet
>
> The whole thing is easily adaptable to a video browser I think. we
> just need to add the playback controller widget. And somewhere a
> playlist. Then we also have a music applet already. Hmmm. I hope this
> is not completely different from what you planned.
>

This is too similar instead. See above :-)


>
> BTW, I think I’ll adapt the whole thing to a touch interface
> immediately, that means no hover events or rightclick events. (Maybe I
> can keep hover? for the netbook or desktop even)
>
> Okay, that was a brain dump par excellence. I hope you see what I want to
> say.
>
>
> Cheers,
>
> Chris
>



-- 
Alessandro Diaferia
KDE Developer
KDE e.V. member
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to