linuxdcpp-team team mailing list archive
-
linuxdcpp-team team
-
Mailing list archive
-
Message #05220
[Bug 587597] Re: Plugins support
Oh one point I forgot to cover... missing settings types, tbh I'm not
sure if I want to mimic dcpp here... as in why floats over doubles (yes
floats could be technically faster, on the x86 architecture, but if you
want precision for math then double should be the way to go) for
example... or why not dedicated bool settings type. Or how about more
complex serialized settings (yes this came out slightly sarcastic).
The point above is... we can't support every kind of setting value that
there might be now and in the future. I don't even remember what
settings dcpp uses floats for tbh. Originally I just had strings as
settings values because a string can represent anything... only when I
added support for querying core settings some other value types were
added (because it would have been highly inconvenient to convert ints to
strings for the api and then back to int on the plugin side for use).
--
You received this bug notification because you are a member of
Dcplusplus-team, which is subscribed to DC++.
https://bugs.launchpad.net/bugs/587597
Title:
Plugins support
Status in DC++:
In Progress
Bug description:
Ok, I'll leave out the sales pitch... here is a potential patch for
adding support for plugins to DC++, compiles cleanly (ie. shouldn't
generate any warnings) under mingw and visual studio of course and has
been tested and working.
The code itself has been in ApexDC++ for a while so it has gotten real
life use as well, of course migrating it to clean DC++ needed a few
changes here and there but nothing major.
Should also compile and work on linux as it is... but this I have not
had chance to test at all so that is just on paper for now.
The major difference between this patch and what's in ApexDC++ is that
it does not include a full settings page for plugins which ApexDC++
has. This is simply because I don't know a squat about DWT. Instead
this patch has set of chat commands added, so you can play around with
the plugins, but if this gets accepted then I certainly hope someone
is willing to invest into a settings page for usability sake.
Oh and few changes to the code come directly from bcdcpp, you'll spot
them I am sure :).
As for the plugins currently three exists.. a pure C sample that (you
guessed it) really doesn't do anything productive and then a plugin
version of bcdcpp's lua (this one is pretty direct port, so it is
C++).
The third one is not so impressive... it adds support for various
media player chat announces (spam is too negative of a word), although
primarily I created it to proof that it is possible to make a plugin
that modifies the GUI, even though the API itself has little to no
support for such plugin (on windows anyways),
The first two plugins can be compiled with both mingw and visual
studio and are also hopefully linux friendly, the third not so much.
Oh and you can mix plugins... so mingw compiled dcpp will cope just
fine with visual studio compiled plugins or vice versa (obviously this
also means that the stl's used can be different). In theory you should
also be able to create plugins with languages such as VB and Delphi
but this very much theoretical.
Well do what you want with it... it's posted now.
To manage notifications about this bug go to:
https://bugs.launchpad.net/dcplusplus/+bug/587597/+subscriptions
References