Our new official repo is on github
LCD Smartie version 5.6 is released!
Download it now: https://github.com/LCD-Smartie/LCDSmartie/releases

New P2P plugins (Azureus & Emule)

Announcements of new plugins or updates.

Moderators: _X7JAY7X_, caesar, IFR, mattcro, limbo

Post Reply
cosenodefi
Plugin Author
Posts: 37
Joined: December 10th, 2007, 5:40 pm
Location: Zaragoza (SPAIN)

New P2P plugins (Azureus & Emule)

Post by cosenodefi »

Hello.
( I divided the original post in two, one for each plugin, and I've reviewed the readme files for each one looking, for errors ).

This the Emule plugin I've wrote:

[...]

(28-Dec-2007) Update:

- Second function added (an 'about' info string).
- Now the plugin uses a config *.INI file.
- Rewriten file access (better error handling).
- The syntax of main function changes, please read the instructions.
- A example of config file is added.

(22-Mar-2008) Update
- Rewrite from scratch. New refresh interval: from 1 sec to 15 min (default: 5sec).

(02-May-2008) Update
- Bug fixed: The Emule stats file was opened in exclusive mode, this may lead to sharing conflicts when it was accessed at the same time by the plugin and Emule.

Use
---

Funtcion1 - Emule Global Stats

$dll(emule,1,<field_index>,<ignored>);

Where <field_index> values are:

Field
index

0 - Online flag (Value: 0=Offline, 1=Online)
1 - Server name
2 - Server IP
3 - Server Port
4 - Download Speed (in Kb/s)
5 - Upload Speed (in Kb/s)
6 - Number of clients in the download queue

Examples:
$dll(emule,1,1,) Show the Emule Server name
$dll(emule,1,2,) Show the Emule Server IP
...

Function2 - About info

$dll(emule,2,<ignored>,<ignored>)

Example:
$dll(emule,2,,)


bye
You do not have the required permissions to view the files attached to this post.
Last edited by cosenodefi on May 2nd, 2008, 8:33 pm, edited 7 times in total.
cosenodefi
Plugin Author
Posts: 37
Joined: December 10th, 2007, 5:40 pm
Location: Zaragoza (SPAIN)

Azureus Plugin

Post by cosenodefi »

Hello.
I've finally added the config file functionality to the plugin. This is the 2.0 release.

Description
-------------

The module has three functions. One gets the global stats of the Azureus program, other reads the stats of each torrent, and the third function shows an 'about' info string.
The azureus stats are saved in a file called 'azureus_stats.xml'. The stats file is checked once per second by the plugin.


* Function1 (Global Stats)

The parameter are:

<param1> Field to display
0 = Download Speed
1 = Upload Speed
2 = Number of Torrents (down/up)
3 = Azureus version number

<param2> -Ingnored-

* Function2 (Torrent Stats)

The parameters are:
<param1> Number of the torrent (0=First Torrent, 1=Second Torrent, ...)
<param2> Field (Valid range: 0-9)

0 = Name of Torrent
1 = Size of Torrent
2 = % Completed
3 = Downloaded data
4 = Uploaded data
5 = Download Speed
6 = Upload Speed
7 = ETA
8 = Total Seeds
9 = Total Leechers

* Function 3 (about info)
It takes no parameters (they are ignored)

For further info, check the 'readme.txt' file. The functions calling syntax has been changed from previous version.


(20-Dec-2007)

New version: 2.1.1.3

- The class for parsing XML was severely flawed. It has so many memory leaks that render the PC unusable (without swap space) in one or two days. Now the plugin has been remaked with another one ,tested and checked.
- Several speed improvements and smaller memory footprint for the DLL.

Please update to this version to avoid the memory leaks of prior ones.

(22-Dec-2007)

-Updated info 'readme.txt'. The previous one leads to mistakes in syntax of function1.
- Now, the zip includes an example of the plugin config file, and anothe example of the screen configuration in the azureus config file.

(25-Dec-2007)
-Memory leak fixed.
-Several minor optimizations.
(23-Mar-2008)
- Rewriting from scratch.
- Fix of the last memory leak in the XML parser.
- Updated README.

At last!!. Fixed a 'hard to find' bug (memory leak).

Bye
You do not have the required permissions to view the files attached to this post.
Last edited by cosenodefi on March 24th, 2008, 12:29 am, edited 9 times in total.
limbo
Plugin Author
Posts: 1604
Joined: February 13th, 2005, 7:38 pm
Location: Athens - Greece
Contact:

Post by limbo »

Keep on mate
cosenodefi
Plugin Author
Posts: 37
Joined: December 10th, 2007, 5:40 pm
Location: Zaragoza (SPAIN)

Post by cosenodefi »

limbo wrote:Keep on mate
Thanks, I'll try it...

:)
d3daiM
Posts: 4
Joined: December 22nd, 2007, 10:11 am

Post by d3daiM »

Hey man thanks for the plugins!

I am fooling around with the parameters to set up the Azureus plugin..but I just can't get it right :\

I want to view the global upload speed of Azureus with the stats xml file in "C:\Program Files\Azureus"


According to your readme, this is the code I come out with:

$dll(azureus,1,C:\Program Files\Azureus,1)


However, it still complains "No stats file!"
cosenodefi
Plugin Author
Posts: 37
Joined: December 10th, 2007, 5:40 pm
Location: Zaragoza (SPAIN)

Post by cosenodefi »

d3daiM wrote:Hey man thanks for the plugins!

I am fooling around with the parameters to set up the Azureus plugin..but I just can't get it right :\

I want to view the global upload speed of Azureus with the stats xml file in "C:\Program Files\Azureus"


According to your readme, this is the code I come out with:

$dll(azureus,1,C:\Program Files\Azureus,1)


However, it still complains "No stats file!"
This was the old sytnax, now the plugin expects the path to the stats file in a config file ('azureus.ini') located in the plugins folder.
You may have an older version, so download the last one, please.

In your case it would be...

- Create a INI file called 'azureus.ini'.
- The content (for your case) must be:

Code: Select all

[config]
path=C:\Program Files\Azureus\azureus_stats.xml
(please, the value must be the full path name of the file)

- Put it on the Smartie plugin folder
- The syntax now are:
(I've realized now that I've not update the 'readme.txt' file)

Use
---

The available functions are these:

*Function1 (GLOBAL STATS)

Syntax: $dll(azureus,1,<field_index>,<ignored>);

Where <field_index> values are the mentioned in the description section.

Examples: (Global Stats)

$dll(azureus,0,) // Down speed
$dll(azureus,1,) // Up speed
$dll(azureus,2,) // Number of torrents
$dll(azureus,3,) // Azureus version number
...


*Funtion2 (TORRENT STATS)

Syntax: $dll(azureus,2,<torrent_number>,<field_number>);


Examples: (Torrent Stats)

$dll(azureus,2,0,0) // Name of the First Torrent
$dll(azureus,2,0,1) // Size of First Torrent
$dll(azureus,2,0,2) // % Completed of First Torrent
$dll(azureus,2,0,3) // Downloaded data of First Torrent
$dll(azureus,2,0,4) // Uploaded data of First Torrent
$dll(azureus,2,0,5) // Download speed of First Torrent
$dll(azureus,2,0,6) // Upload speed of First Torrent
$dll(azureus,2,0,7) // ETA of first Torrent
$dll(azureus,2,0,8) // Seeds of First Torrent
$dll(azureus,2,0,9) // Leechers of First Torrent

And the same with the second one:

$dll(azureus,2,1,0) // Name of the second Torrent
$dll(azureus,2,1,1) // Size of second Torrent
...
$dll(azureus,2,1,7) // ETA of second Torrent

And so on...

- That's all

I'm going to update the 'readme.txt' file and the original post. Sorry.


Bye.
JR
d3daiM
Posts: 4
Joined: December 22nd, 2007, 10:11 am

Post by d3daiM »

I created a azureus.ini file with those specifications and am using the script "$dll(azureus,1,1,)" in LCD Smartie.

I still recieve the "No Stats File!" error.
cosenodefi
Plugin Author
Posts: 37
Joined: December 10th, 2007, 5:40 pm
Location: Zaragoza (SPAIN)

Post by cosenodefi »

d3daiM wrote:I created a azureus.ini file with those specifications and am using the script "$dll(azureus,1,1,)" in LCD Smartie.

I still recieve the "No Stats File!" error.
I've suposed that the spaces in the fullname path maybe the cause but it's not that because I've changed my settings to the original azureus path and works (for me):

Code: Select all

[config]
path=c:\archivos de programa\azureus\azureus_stats.xml
Also... the fullname path it's not case sensitive, so upper o lowercase letters doesn't affect.

If the change/creation of your 'azureus.ini' has been made with the lcdsmartie running, the plugin can't notice it because this file it's read only at initialization (when plugin loads). So, if it was already loaded... the config file won't be read.

Please check:
- The last version of the plugin.
- The azureus stats file:
* The azureus stats file option is enabled.
* The path of the azureus stats.
* The name of azureus stats file.
* Check if the file exists
* Check the contents of the azureus stats file (is not empty)
- Stop LCDSmartie.
- Create/Modify the 'azureus.ini' with the above data
(fullname path: remember to include the name)
- Run LCDSmartie.
- Setup a simple screen like:

$dll(azureus,1,3,)

(It must show the version number of azureus)

I've check the source code and the message ONLY shows if the stats_file couldn't be located (by a 'fileExists' ). So, if you got that message, it only can be that the file doesn't exists, or the fullname path you specified in 'azureus.ini' was wrong.

Bye.
d3daiM
Posts: 4
Joined: December 22nd, 2007, 10:11 am

Post by d3daiM »

Thanks for all the help!

Apparently, a restart solved my problem. I have no idea how but I believe a restart was required to get the xml flowing.


Great program and thank you!
cosenodefi
Plugin Author
Posts: 37
Joined: December 10th, 2007, 5:40 pm
Location: Zaragoza (SPAIN)

Post by cosenodefi »

d3daiM wrote:Thanks for all the help!

Apparently, a restart solved my problem. I have no idea how but I believe a restart was required to get the xml flowing.


Great program and thank you!
The restart was necessary for the reading of the ini file. It was read only at the loading of the plugin... so, the location of the file stats only can be done in that moment.

It's a common rule in all plugins with a config file. This config file is used to be read in the initialization function.

I'll keep on the development of these plugins, so expect changes... (and every feedback is welcome)

Bye
Post Reply