dc++ plugin support

Use this forum to flesh out your feature request before you enter it in <a href="http://dcpp.net/bugzilla/">Bugzilla</a>.

Moderator: Moderators

Posts: 21
Joined: 2006-05-06 14:43

dc++ plugin support

Post by Pasqualle » 2006-07-22 15:33

i think that dc++ is a big (or an old?) enough application to start supporting plugins.

plugins like in winamp, 3dmax, or extenions like in firefox or in any other application with plugins. the plugins enhance or modify the application functionality. you can add new objects. you can add new menuitems, new windows or anything you may need for your enhancement. ok, i do not want to explain it deeper, if you do not have any idea what plugin is, you may read about it on the wikipedia pages.

firefox use an xml approach, 3dmax uses dll-s. the dll thing seems to be implementable for dc++. you add your plugin by copying the dll into specified directory, the application load the dll at start, and your plugin is functional. there are just functions in dll like it would be in the dc++ source, just separated.

ok, and why would we need that? there are too many dc++ clones. that is no problem of course, it is really good that many other programmers are interested in this project. i see a big problem that many of those clients are not mantained after first (and final) release. they add some little modification, and abandon it. and we end up with clients which are not really compatible with each other.
ok, i give you an example. there is a mp3 player (winamp control) built in some clients. it is quite interesting, some users may like it, some does not need it. so if this would be made by plugin you could choose to use it or not, it does not need to be a part of official dc++ release.

so, if dc++ would have plugin support and encourage and give support to other developers to create plugins, and not just another clone, than maybe we could have less problems with old client versions and compatibility.

and of course, it is not just that simple, but before we get lost in technical details, i would like to know your opinion.

Big Muscle
Posts: 72
Joined: 2004-01-23 14:45

Post by Big Muscle » 2006-07-22 16:11

post is too long for me to read it whole ;)

there has already been dc++ mod called phantomdc with plugin support...but, only about 3 plugins existed and I don't think that someone would write the plugins.

Posts: 506
Joined: 2003-01-03 07:33

Post by ivulfusbar » 2006-07-22 16:23

The clone BCDC has LUA-plugin support. And most other clones of clones supporting LUA derive their base from this clone. To write a good plugin-interface you need to determine what to expose to the plugins and what they can change. There are many design and thread-issues concerning this in the current implimentation of DC++ that would not be considered obvious.

As a side note, arnetheduck has implimented plugin-support for the hubsoft DCH++.

I would expect a nonthreaded socket pool of some sort to be implimented into DC++ before such plugin interface is created.


and-don't-forget-the-screaming-hubops-who-will-consider-plugins-ivul-and-ban-users-using-it-ly'ers ;))
Everyone is supposed to download from the hubs, - I don´t know why, but I never do anymore.

DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Post by GargoyleMT » 2006-08-14 19:00

As a point of curiosity, look into BlackDC and its SecuredExecutor $Supports flag.

Posts: 2
Joined: 2004-08-08 11:07

Post by tierrax » 2006-11-17 02:15

Why not use GiFT plugins to access other networks ?

Kceasy for example can connect to Ares, Fastrack, gnutella and openFT, and other posibbly, via plugins, which are opensource.

DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Post by GargoyleMT » 2006-11-19 15:12

tierrax wrote:Why not use GiFT plugins to access other networks ?
I haven't seen any interest in DC++ becoming a multi-protocol p2p client. There are others in the niche already (Shareaza, MLDonkey); my personal experience with them hasn't been great.