It is currently March 28th, 2024, 2:35 pm

FileView plugin 2.1

Plugins and Addons popular with the Community
User avatar
Brian
Developer
Posts: 2673
Joined: November 24th, 2011, 1:42 am
Location: Utah

Re: FileView plugin 1.0.1

Post by Brian »

I believe the issue has been fixed.

Basically, commands will not work when the thread is active. IndexUp/IndexDown/PageUp/PageDown will not work when the list is smaller than your count size (eg. if your Count is 8, but there is only 5 files/folders). Also, PageDown/IndexDown will stop when you reach your count limit, meaning you will not have any empty index's (unless the folder contains less than the amount of index's you are retrieving).

Also, my test skin has been updated a little bit to be faster.
http://rainmeter.net/forum/viewtopic.php?p=81762#p81762

-Brian
User avatar
Virginityrocks
Posts: 478
Joined: February 26th, 2011, 10:22 pm

Re: FileView plugin 1.0.1

Post by Virginityrocks »

Okay this is seriously the best thing ever. I'll be putting this into Desktop+ immediately. Love the scrolling. I was working on getting this functionality to work, but since you did a total rewrite, f---. YOU ARE THE MAN.

It seems to also use less resources, and not crash on the occasional refresh. Really clean code. Really well built. I'll be putting this out immediately and hopefully everybody will like the results. This plugin is going to change Rainmeter.


Some problems I'm seeing are that its having trouble fetching the icons of .url files. (possibly other extensions that I haven't yet noticed)
http://img19.imageshack.us/img19/5992/46029703.png
Compare the Games Library folder (using FileListPlugin) with the same folder in FileView.

I'm also noticing that the icons seem very blurry, especially when set to IconSize=Small. Is there any way to disable the effect or set a specific W/H for icons?
User avatar
Brian
Developer
Posts: 2673
Joined: November 24th, 2011, 1:42 am
Location: Utah

Re: FileView plugin 1.0.1

Post by Brian »

Virginityrocks wrote:Some problems I'm seeing are that its having trouble fetching the icons of .url files. (possibly other extensions that I haven't yet noticed)
http://img19.imageshack.us/img19/5992/46029703.png
Compare the Games Library folder (using FileListPlugin) with the same folder in FileView.
I just noticed this behavior as well. So far, that is the only icon that I have noticed that is not correct. I have some ideas on how to fix it, so stay tuned in the next couple of days for a fix.
Virginityrocks wrote:I'm also noticing that the icons seem very blurry, especially when set to IconSize=Small. Is there any way to disable the effect or set a specific W/H for icons?
This might be because I have AntiAlias=1 in my test skin. Try turning it off and see if it makes a difference. (Should be in the "IconStyle" meter style.)

-Brian
User avatar
Virginityrocks
Posts: 478
Joined: February 26th, 2011, 10:22 pm

Re: FileView plugin 1.0.1

Post by Virginityrocks »

Beautiful. I'll definitely stay posted. I have this thread bookmarked.

Also, it may be too early to suggest feature changes, but if the options for IconSize= were changed from "Small" "Medium" & "Large" to "16" "24" "32" "64" "96" "128" "180", I think it'll open up more options for various skinners who want a specific icon size (including myself, obviously). I suggested this to Elestel and he added a similar feature to FileListPlugin recently.

EDIT: Here's the semi-finished result. On the surface, identical to the previous version using FileListPlugin, but the code is much more sound. Thanks a lot, Brian! I had to do a bit of tinkering with your original skin, but it wasn't too difficult to transform it into an exact replica of my original toolbars.
Also, for some reason that above download wont load from the .RMSKIN. If someone wants to help me with that today, I'd appreciate it. I'm SUPER busy right now trying to get a New Years and Christmas party organized and I don't have any more time to spare. Thanks.
dragonmage
Developer
Posts: 1270
Joined: April 3rd, 2009, 4:31 am
Location: NC, US

Re: FileView plugin 1.0.1

Post by dragonmage »

Awesome job Brian! Has anyone noticed unusually high CPU usage from Rainmeter when you have more than one skin loaded using this plugin?

jsmorley and I had both made wallpaper skins and if I load both at the same time Rainmeter idles near 25% of my CPU. Individually loaded they only run 3-5% of my CPU.

Here's the skin I made.

https://dl.dropbox.com/u/1017087/ImageScroller_1.1.rmskin


Edit: After playing more with the skin, while using

Recursive=1
ShowFolder=0
Extensions="jpg;png;bmp"

it does not seem to be indexing images in subfolders.
User avatar
Virginityrocks
Posts: 478
Joined: February 26th, 2011, 10:22 pm

Re: FileView plugin 1.0.1

Post by Virginityrocks »

Awesome skin, dragon. You should default the skin to C:\Users\%Username%\Pictures. The skin's default directory is in the Jeremy user folder.
User avatar
Brian
Developer
Posts: 2673
Joined: November 24th, 2011, 1:42 am
Location: Utah

Re: FileView plugin 1.0.1

Post by Brian »

dragonmage wrote:Edit: After playing more with the skin, while using

Recursive=1
ShowFolder=0
Extensions="jpg;png;bmp"

it does not seem to be indexing images in subfolders.
Right, the recursive option was mainly to get the number of files and folders in all the sub-folders (as well as the overall size of the parent folder). There was never an intent to index any files in subfolders (in mine or in Elestel's FileList plugin). I should make that more clear.

When I first made the plugin, I thought about making the plugin index all the files, but I think it is best to only index one folder at a time to avoid confusion. Some user may think a think a certain file is in a parent folder, when it is really located in a sub-folder. I guess if enough people wanted this functionality, I could add it.
dragonmage wrote:Has anyone noticed unusually high CPU usage from Rainmeter when you have more than one skin loaded using this plugin?

jsmorley and I had both made wallpaper skins and if I load both at the same time Rainmeter idles near 25% of my CPU. Individually loaded they only run 3-5% of my CPU.
You may have Recursive=1 on those skins (like the one you posted). Again, this should really only be used to get a file/folder count (or total size of the parent).

When retrieving the information (or saving the icons), Rainmeter will jump in CPU usage, but this should not slow Rainmeter down. Also, remember that when resizing large image to small images, Rainmeter's CPU usage also jumps.

BTW - Nice skin! I also recommend including the plugin with your .rmskin in case things change.


@Virginityrocks: I still haven't found a solution to the .url icon problem. I honestly don't know what is going on because my function is very close to Elestel's, and his seems to retrieve the icon just fine (at least most of the time). I still have some things to try out when I get some time.

Also, I don't plan on changing the options for the icon size at this time. The reason is mainly I don't want all the overhead in the plugin, duplicating the functionality of what the image meter can do. This may change in the future.

-Brian
dragonmage
Developer
Posts: 1270
Joined: April 3rd, 2009, 4:31 am
Location: NC, US

Re: FileView plugin 1.0.1

Post by dragonmage »

Brian wrote:dragonmage wrote:
Edit: After playing more with the skin, while using

Recursive=1
ShowFolder=0
Extensions="jpg;png;bmp"

it does not seem to be indexing images in subfolders.


Right, the recursive option was mainly to get the number of files and folders in all the sub-folders (as well as the overall size of the parent folder). There was never an intent to index any files in subfolders (in mine or in Elestel's FileList plugin). I should make that more clear.

When I first made the plugin, I thought about making the plugin index all the files, but I think it is best to only index one folder at a time to avoid confusion. Some user may think a think a certain file is in a parent folder, when it is really located in a sub-folder. I guess if enough people wanted this functionality, I could add it.
I could see it being useful in certain situations. Photo viewing being one. I know lots of software out there sort imported photos into folders by date. You could scan your music library for images to create a scrollable album art gallery that would let you click to play the album. I do however understand that there could be performance issues if it isn't used correctly, so it's your call.
Brian wrote:dragonmage wrote:
Has anyone noticed unusually high CPU usage from Rainmeter when you have more than one skin loaded using this plugin?

jsmorley and I had both made wallpaper skins and if I load both at the same time Rainmeter idles near 25% of my CPU. Individually loaded they only run 3-5% of my CPU.


You may have Recursive=1 on those skins (like the one you posted). Again, this should really only be used to get a file/folder count (or total size of the parent).

When retrieving the information (or saving the icons), Rainmeter will jump in CPU usage, but this should not slow Rainmeter down. Also, remember that when resizing large image to small images, Rainmeter's CPU usage also jumps.
I'll set Recursive=0 and try them out again, but note that this was a sustained 20+% after all indexing and while not scrolling either skin.
Brian wrote:BTW - Nice skin! I also recommend including the plugin with your .rmskin in case things change.
Thanks! Will do on "include the plugin". I usually never fully release things anyways I just continually tinker with them until I get tired of it.
User avatar
Brian
Developer
Posts: 2673
Joined: November 24th, 2011, 1:42 am
Location: Utah

Re: FileView plugin 1.0.1

Post by Brian »

dragonmage wrote:I'll set Recursive=0 and try them out again, but note that this was a sustained 20+% after all indexing and while not scrolling either skin.
I am almost 100% sure the problem lies with the image resizing which is something Rainmeter already struggles with. Try commenting out your image meters, but leave the plugin in tact. You should see a huge difference. Also, you could use a meter group for your images, instead of !UpdateMeter *, which might help a little.

The plugin only uses a lot of CPU when it is gathering the information and/or the icons, which (for me) only increases my CPU usage a little bit. Therefore, UpdateDivider on the FileView measures aren't really necessary.

One last thing, jsmorley suggested a new "Type" called "FilePath", that is the complete path and filename in one option, so you won't need the two together. I have already implemented this, but haven't released it yet.

-Brian
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: FileView plugin 1.0.1

Post by jsmorley »

I agree. The issue with my skin is that I am loading resizing and displaying 25 HUGE wallpaper images at once. This causes some significant CPU usage when updating the main measure, which causes Rainmeter to fully load the image files. Rainmeter will cache images you load and just "use", so they are not re-loaded on each update of the meter(s).

My skin is probably an exception, as I am pushing things quite a bit with the number of images displayed at once and the resizing of 1680x1050 image files to little 80x50 thumbnails. I found that if I put UpdateDivider=-1 on all the meters, so they are not "redrawn" on each update of the skin, that makes the whole thing much more light-weight.

As for the plugin, it seems quite well behaved indeed. Since the parent measure is only doing anything on a skin refresh or a !CommandMeasure to the plugin, it only jumps the CPU a tad when you do so.

I do think on a skin with a LOT of child measures, it might also be worth putting UpdateDivider=-1 on the children however. Yes, all the child measures are doing is getting info from the parent on each update in memory, and not actually hitting the file system or loading any files. However, since things are really "driven" by the actions of the parent measure, it can't hurt, and might help just a tad, to have the same action that does !CommandMeasure on the parent to get new info also drive the update of the children.

So what I do is put UpdateDivider=-1 on EVERYTHING. All measures and meters. That way the skin literally just sits there doing nothing until I use !CommandMeasure to do a PageUp/PageDown or other action. Then I !UpdateMeasure all the measures and !UpdateMeter all the meters, followed by a !Redraw. Seems to work well for me.

Again however, my skin is a bit extreme, and most of the time all this is probably more work than it is worth.
Post Reply