It is currently April 24th, 2024, 11:05 pm

Plugin development in General.

Share and get help with Plugins and Addons
Flonk
Posts: 2
Joined: August 26th, 2010, 10:45 pm

Plugin development in General.

Post by Flonk »

I code. Not professional, since I'm only 17 years old and still in school, but I like coding.
Today I found rainmeter - and I've got to say, its awesome.

So I decided to make a jDownloader plugin for it, which would be quite cool - I've already got it to work in php.

But I just don't know how to make plugins for rainmeter.
I did take a look at those .ini files, but the stuff written in there can't possibly be the whole widget, can it?

Is there something like resources or tutorials for developing plugins?
What programming language do I have to use?
(How) do I have to compile it?
How do I make the layout for my plugin?
etc...


Because right now, I'm really clueless.

regards,
Flonk
User avatar
Alex2539
Rainmeter Sage
Posts: 642
Joined: July 19th, 2009, 5:59 am
Location: Montreal, QC, Canada

Re: Plugin development in General.

Post by Alex2539 »

Plugins for Rainmeter should be written in C++. It might be possible to use another language as long as it can be compiled to a .dll (ie: PHP isn't going to work), but this would likely require much more work than is worthwhile. There are no tutorials or help files on this matter, but if you go to the Google Code site you can view Rainmeter's source, as well as the source of all included plugins and one example plugin.

The .ini files are often considered to be the skins themselves, but are really no more than complicated sets of settings. It is the actual Rainmeter program that reads these files and and displays the individual skins. Because of the complex effects we can achieve using these settings, we often call the contents of the .ini files "code", but they are not truly so. There is no flow control whatsoever and variable use is very limited (though, less so since the introduction of the Dynamic Variable functionality). In essence, every .ini files is merely telling Rainmeter "I want you to go find this data and show it like this". With some cleverness you can do some amazing things, but never outside the bounds of Rainmeter's capabilities.
ImageImageImageImage
User avatar
jsmorley
Developer
Posts: 22629
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Plugin development in General.

Post by jsmorley »

Plugins, like the main Rainmeter application, are written in C++. They are .dll files which are called by Rainmeter and take some action and / or return some value(s) to the main program.

Here is where you can learn more about coding for Rainmeter in general: http://code.google.com/p/rainmeter/wiki/BuildSummary

For plugins in particular, take a look at PluginExample in the source here: http://code.google.com/p/rainmeter/source/browse/#svn/trunk/Plugins/PluginExample

You can checkout the entire code base using these guidelines: http://code.google.com/p/rainmeter/source/checkout

You will also want to see this topic for some tips on compiling Rainmeter for 64bit: http://rainmeter.net/forum/viewtopic.php?f=15&t=3322
Flonk
Posts: 2
Joined: August 26th, 2010, 10:45 pm

Re: Plugin development in General.

Post by Flonk »

Thanks guys, I'll take a look at that :)