It is currently August 18th, 2019, 12:03 pm

Plugin: Chameleon

Plugins and Addons popular with the Community
User avatar
jsmorley
Developer
Posts: 19371
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Plugin: Chameleon

jsmorley » September 20th, 2015, 2:11 am

Socks the Fox wrote:The plugin is in the demo skin, by request of the Rainmeter developers. Installing the demo skin should let you use the plugin in your own skins as well.
Yes, but if a user then wants to "distribute" their skin as a .rmskin, they need both the 32bit and 64bit versions of your plugin to include in their distribution. See my post just before this one.
User avatar
Socks the Fox
Posts: 89
Joined: August 25th, 2015, 6:40 pm

Re: Plugin: Chameleon

Socks the Fox » September 20th, 2015, 2:17 am

Ahhh okay. Sorry, being completely new to this I am still figuring things out. The fact that documentation on the "proper" way to do things is scattered about doesn't help X3

I'll have to see if I can find a way to automatically package everything as part of the build process.
Author of Chameleon :: Like my plugin? Consider donating! I don't need much :3
User avatar
jsmorley
Developer
Posts: 19371
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Plugin: Chameleon

jsmorley » September 20th, 2015, 2:28 am

Socks the Fox wrote:Ahhh okay. Sorry, being completely new to this I am still figuring things out. The fact that documentation on the "proper" way to do things is scattered about doesn't help X3

I'll have to see if I can find a way to automatically package everything as part of the build process.
Not to worry. Most of the documentation for "developers" and Rainmeter is kinda slim.

First, we sorta assume a certain level of knowledge about C++/C# and Visual Studio, and development in general.

Second, developers are often a prickly bunch when you suggest how they should do things. ;-)

I'd be tempted to have the build for the plugins actually put them right in those ..@Resources\32bit ..@Resources\64bit folders in your example skin. Then you have a one-stop-shop for things, and reduce the risk that you include an old version when distributing.

That way you use the .dll files from those folders to create the example .rmskin (or any other ones you create that use the plugin), and the end-user also has them for when they need to create their own .rmskin(s). So in effect, on your system there is only one set of the 32bit and 64bit .dll files, so there can't be any confusion about the "latest".
User avatar
eclectic-tech
Rainmeter Sage
Posts: 3478
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Plugin: Chameleon

eclectic-tech » September 20th, 2015, 3:32 am

The skin installer will only installs one version based on the end user system (32-bit or 64-bit), but in order to distribute a skin that uses your plugin, BOTH versions need to be available when the package is created.

Thanks for all your work on this... I really appreciate the capabilities this plugin adds.
User avatar
Socks the Fox
Posts: 89
Joined: August 25th, 2015, 6:40 pm

Re: Plugin: Chameleon

Socks the Fox » September 20th, 2015, 3:34 am

I think the best way to get my plugin to people is to direct them to my site :3

Because maybe then they'll see the donation link...
Author of Chameleon :: Like my plugin? Consider donating! I don't need much :3
User avatar
Socks the Fox
Posts: 89
Joined: August 25th, 2015, 6:40 pm

Re: Plugin: Chameleon

Socks the Fox » September 22nd, 2015, 5:20 pm

Right. I shouldn't post on 5 hours of sleep. I've updated the example skin thing to include the plugin DLLs in the @Resources file. 32-bit in Socks/@Resources/Plugin/x86 and 64-bit in Socks/@Resources/Plugin/x64. Took a bit of fiddling with build settings to get the files where I want them (and being annoyed that there's no easy-to-find way to tell VS to NOT build the import .lib since it's useless in this case).

Version numbers haven't changed since none of the code has.

If you use this plugin in one of your skins, I would very much appreciate a link back to my site :3
Author of Chameleon :: Like my plugin? Consider donating! I don't need much :3
User avatar
eclectic-tech
Rainmeter Sage
Posts: 3478
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Plugin: Chameleon

eclectic-tech » September 23rd, 2015, 2:33 am

Socks the Fox wrote:Right. I shouldn't post on 5 hours of sleep. I've updated the example skin thing to include the plugin DLLs in the @Resources file. 32-bit in Socks/@Resources/Plugin/x86 and 64-bit in Socks/@Resources/Plugin/x64. Took a bit of fiddling with build settings to get the files where I want them (and being annoyed that there's no easy-to-find way to tell VS to NOT build the import .lib since it's useless in this case).

Version numbers haven't changed since none of the code has.

If you use this plugin in one of your skins, I would very much appreciate a link back to my site :3
Don't worry about it! A sincere "Thank You" for the updates and your work on this.

I have incorperated your plugin into one of my suites (you can try it out from here: Dynamic).

I am still doing some testing on how your plugin performs, and a few other changes for timed/event-driven activated Wallpaper/Theme changes. I will definitely promote your site when I post this to my DeviantArt account!

And prompt them to consider to donate!! :sly:

Look forward to utilizing this in other projects (with appropriate credit!)

Get some sleep! :p
User avatar
Socks the Fox
Posts: 89
Joined: August 25th, 2015, 6:40 pm

Re: Plugin: Chameleon

Socks the Fox » September 23rd, 2015, 2:57 pm

Drat, mediafire is claiming it's dangerous. Oh well.

As far as performance goes, I've found that the biggest bottleneck is actually opening and parsing the images. There's not much I can do about that, as it's dependent on the image parsing libraries I use and disk speed. I made the actual plugin so that it will only actually run the image parsing and sampling code if it detects that the image is different (if the file itself has a different "last modified" time from when it last sampled, or if the file path it's told to look at changes). So in theory you can run this at a pretty high update rate.

If I could have one thing, it would be for stb_image to support 16-bit per channel PNGs. Right now I drag in the entirety of libPNG just for that one specific subtype. That alone would probably cut the size of my plugin by a decent chunk XD
Author of Chameleon :: Like my plugin? Consider donating! I don't need much :3
User avatar
eclectic-tech
Rainmeter Sage
Posts: 3478
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Plugin: Chameleon

eclectic-tech » September 23rd, 2015, 4:41 pm

Socks the Fox wrote:Drat, mediafire is claiming it's dangerous. Oh well.
The rmskin contains RainRGB and RainFile executables, both available here, so it can trigger some antivirus warnings, but it is 100% save.

That's alright, it is a large rmskin file, with over 200 skins...
Here are a few screenshots showing the results of your plugin selecting colors based on the wallpaper:
{Removed Images}
I will let you know when I get ready to publish another skin that uses your plugin. :great:
Last edited by eclectic-tech on September 23rd, 2015, 5:01 pm, edited 1 time in total.
User avatar
Socks the Fox
Posts: 89
Joined: August 25th, 2015, 6:40 pm

Re: Plugin: Chameleon

Socks the Fox » September 23rd, 2015, 4:58 pm

It's just flat out refusing to allow me to download it. There's no link for me to say "yeah I know give it to me anyway."

The exact page says:
Dangerous File Blocked
The file you attempted to download was determined to be dangerous. For your protection, MediaFire does not enable distribution of dangerous files.

Still have questions, or think we've made a mistake? Please contact support for further assistance.
Author of Chameleon :: Like my plugin? Consider donating! I don't need much :3