-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tiles redesign. #363
Comments
A side responsive design sounds interesting. Lets talk how it would work. From GTK we can get the screen size - both height and width. For the rhythmbox application we can get the tiles window area - both height and width. The questions we need to decide is as follows:
The above screen shot looks like something I was envisaging for the redesigned artist view. i.e. you wouldnt mix album-artists and albums in the same view - just feels wrong. When clicking an artist what were you thinking should happen? Maybe split the screen into two - the left hand pane being artists and the right hand pane the albums for the artist? Note - gnome-music and coverart uses a GTK.IconView to show tiles. This does somewhat limit what you can do in terms of "tiles" redesign. What I've done to get things like "shadow" to work is to manually merge a shadow bitmap with the album bitmap. Thus maybe could do "circles" the same way. Using clutter would effectively mean a complete rewrite - there is no GTK "clutter" iconview although I've see someone try to create something like a clutter iconview in vala. |
I am gonna leave the math aside for a few lines, partly 'cause I am baaaaaad at math, partly 'cause I am more worried about another thing. |
The circle version of an image probably can be done via a Cairo clipped drawing. I'll have a play. You can't have a gtk label over an iconview cell. What you can do is pango draw over the cell image. Look at the tile view preferences and set the label to be within instead of below. |
Ah yes, pango will do the trick. |
I'm not very fond of circles and squares mixed here. Also the shadows, a lot of tiles with shadows, meaning elevation, just doesn't feel natural. I would prefer flat tiles any day. (http://www.google.co.in/design/spec/components/cards.html#cards-usage) Also, even in a responsive view, the tiles feel too big compared to other objects, I think. |
No, no, we're NOT mixing circle and square. What I had in mind was just like Google music - artists in artists view have circles, albums in albums view have rectangles. The C and S will not be visible in a same view, 'cause we all agree that would be awkward. |
@me4oslav Ah. But I'm talking about no shadow, not flatter shadow. What's wrong with lots of tiles in a big screen? The size just feels consistent with other elements in the screen, and not too big. |
@satya164 I added the shadow, 'cause I wanted to avoid too much flatness. |
@me4oslav But too many slides + shadow also mean too much shadow. Also, about bigger tiles, I don't think that feels consistent, because you're zooming the tiles, but everything else in the UI remains the same size. I'm not against zooming in big screens, I'm against zooming only a certain element. |
Ah, I meant tiles*. The shadow looks fine, but this is a very spacious layout and I don't think it's a good fit for my small 13'' laptop. May be they could be bit smaller and less padding on small screens? Anyways, what I would prefer is, like party mode. Where everything else fades away, the player becomes fullscreen and black background, and all tiles become bigger! |
Well, yes - evidently on smaller screen we will have less padding and subtler shadow. |
@fossfreedom, any luck with initial implementation of this? |
I have been busy with my moderator duties on Ask Ubuntu as well as stuff on another project - so no time in the last week. I am also away on business for the next two weeks so will only be around via the phone. |
Okies. I will try to design more cover art stuff in that time. |
Circles vs squares are a good idea. The mathematics though is problematic and will need careful thought. Need to work out how to grab the centre part of an image which the circle can be overlayed with Why the genre list on the right side? Genre is just another filter and exists currently with the other filter options ... Click the search button. I don't understand the new bar underneath the song and categories. Where has the album/artist information pane disappeared to? |
Just focus on the tiles and ignore the obvious faults in the UI logic departments for the view. :P The view design is for another bug report. |
@me4oslav ( possibly @satya164 ?) I've spent a fair bit of fruitless time on this. Creating a circle based image is very simple - cairo drawing here is possible. What I've been unable to-do is create a shadow-effect around the circle. It seem python3 version of cairo has not been fully updated i.e. the API is not fully supported compared to python-cairo - this stops me doing image-surface manipulations. Also cairo doesnt seem to support "shadows" so you have to code a gaussian blur routine to-do this. I've also tried to use PIL based images but have been unable to convert successfully a PIL image to a pixbuf for which GTK requires you to-do. Nor have I been able to mask a circle over the top of a JPEG. Thus, in conclusion, I cannot get the high-quality circular + shadow effect your design calls for :( Google-music obviously does all this manipulation via HTML/javascript/CSS - so while I could use webkit to display such a HTML page and interact with it (various part of the plugin does this already) - coding such a web-page from scratch is beyond my skill-set. |
Can't we add the shadow with CSS here?, since GTK supports CSS? |
I've only a rudimentary knowledge of CSS with Gtk I've uploaded a test program showing an GTK iconview with a circular image renderer extract and run within the testcircle folder - python3 test.py Any chance you can have a look to see what CSS stuff can be applied? |
Thanks. I'm already in bed. I'll have a look tomorrow.
|
thanks @satya164 maybe another way is to apply a greyish circle slightly offset from the image - gives a slightly 3D effect in this example |
I will have a look after work tomorrow. |
Question - how is the current shadow around the albums tiles drawn? |
the code is very straightfoward - look at the cellrendererthumb two layers first is the image last part you can see that the shaded circle is painted onto the main layer offset by a few pixels Change the +5 values to +/- depending upon the offset required. I've used a linear gradient for the shaded circle. A bit of an overkill but I was just playing here. Change the opacity of those color_stop functions to lighten the "grey" - i.e. reduce the final param from 1.0 down to (for example) 0.2 to get a light grey. |
Rrrrrright, is their anything stopping us from doing the same for the circles shadows? (Of course with much subtler and prettier shadow) |
hmm? doing the same for what? Dont know what "subtler and prettier shadow" means - the grey circle is just a grey circle. All I was talking about above was changing the grey scale and the offset. |
were you actually referring to changing the grey circle and replacing it with a circular PNG shadow of some-sort? If so - yes that is indeed possible to do - the image on the icon would then be made up of the PNG shadow overlayed with the actual circular cover. If that is indeed what you were inferring - just need a test PNG shadow to play with - say 256x256 pixels that I would scale according to the coversize. |
I will do it tomorrow. I am sick today. |
I just started working fairly seriously on this plugin redesign. The toggling method from the previous bug report does not count as serious work. :P
So, here is the first thing I did - tiles redesign.
Note three things:
I actually paid attention to what data is in the mockup this time, haha.
I also apologise in advance for the amount of time and work you will have invest in what I have in mind for the coverart plugin.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: