Miranda IM

Page 3 of 7 FirstFirst 12345 ... LastLast
Results 21 to 30 of 68

Thread: Important Plugin Changes For Plugin Authors

  1. #21
    Join Date
    January 2006
    Location
    Czech republic
    Posts
    260
    What do you think, should one make its plugins 0.7+ compatible w/ OR w/o maintaining compatibility with previous 0.7- versions?

    Just if it is worth the effort...

  2. #22
    Join Date
    April 2005
    Posts
    1,935
    Since there are no other changes (yet) that could break compatibility with 0.6 I think it's worth the effort :)

  3. #23
    Join Date
    September 2006
    Location
    Poland
    Posts
    100
    Quote Originally Posted by eblis View Post
    If you want to support both the new method (MirandaPluginInfoEx) and the old method (MirandaPluginInfo) you might find this define useful. It assumes that your PLUGININFOEX structure is called pluginInfo. It will create a new PLUGININFO structure called oldPluginInfo, copies the necessary data from the new structure and creates the old MiradaPluginInfo exported function.
    To use it just write OLD_MIRANDAPLUGININFO_SUPPORT after your declaration of pluginInfo.
    Code:
    #define OLD_MIRANDAPLUGININFO_SUPPORT PLUGININFO oldPluginInfo = { \
    	sizeof(PLUGININFO), \
    	pluginInfo.shortName, \
    	pluginInfo.version, \
    	pluginInfo.description, \
    	pluginInfo.author, \
    	pluginInfo.authorEmail, \
    	pluginInfo.copyright, \
    	pluginInfo.homepage, \
    	pluginInfo.isTransient, \
    	pluginInfo.replacesDefaultModule \
    }; \
    \
    extern "C" __declspec(dllexport) PLUGININFO *MirandaPluginInfo(DWORD mirandaVersion) \
    { \
    	return &oldPluginInfo; \
    }
    please explain me, if I use this piece of code, same compiled plugin can be used in old and new miranda versions? Have you compiled it with any of your plugins?

  4. #24
    Join Date
    April 2005
    Posts
    1,935
    Yes, I've used it in all my plugins :)

  5. #25
    Join Date
    March 2005
    Location
    Melbourne, Australia
    Posts
    1,901
    i don't think it's bad to dump the unsupported plugins

    most plugins do have source available - and since it doesn't take much effort at all to make the changes, you can expect to see modified versions pretty quickly

    closed source plugins are kinda bad anyway. miranda does not and probably never will have enough resources to do proper audits, so closed-source plugins pose a definate security risk. i do beleive they have their place, but I think that is more in the corporate environment where you can be protected by other agreements etc. and they're not really in the spirit of the community. often the fact that a popular plugin is closed-source can motivate a developer to produce an alternative (e.g. tipper)

    i just wonder weather we ought to try and make a few other drastic changes at the same time - breaking backward compatibility isn't something that can be done very often, and a hundred things of this nature have been suggested in the past...none of which come to mind at the moment :)

    btw - you can reduce typing and memory usage a little by just casting your PLUGININFOEX to a PLUGININFO (and setting cbSize appropriately) as the return value from the old MirandaPluginInfo function. that'll work so long as the first part of the -EX structure definition matches the old one

  6. #26
    Join Date
    April 2005
    Posts
    1,935
    Then you have to either rely on the order the functions get called in (MirandaPluginInfoEx first then MirandaPluginInfo) or set the cbSize inside MirandaPluginInfoEx to sizeof(PLUGININFOEX) too. I think this was the reason i chose a separate variable for the old structure :)

  7. #27
    Join Date
    March 2005
    Posts
    8,345
    Quote Originally Posted by sje View Post
    most plugins do have source available - and since it doesn't take much effort at all to make the changes, you can expect to see modified versions pretty quickly
    That sounds very optimistic, sje ... but I'm afraid it may be too optimistic to be true. There are already some useful open source plugins that have been abandoned for years and still need fixing or improving ... like clist_mw, which is even included in the nightly builds ... and yet, there have been no developers who would volunteer to take care of them.

    I'm not complaining. I do understand that the developers might not be interested in working on those plugins. Hopefully, if the modifications discussed in this thread are really so easy, the situation is really different and they will actually be done.

    Anyway, we will see what the future brings. You have no idea how I wish you were right ...

    Quote Originally Posted by sje View Post
    closed source plugins are kinda bad anyway. miranda does not and probably never will have enough resources to do proper audits, so closed-source plugins pose a definate security risk.
    Sounds as if those changes were supposed to eliminate closed source plugins completely ;)

  8. #28
    Join Date
    March 2005
    Location
    Melbourne, Australia
    Posts
    1,901
    yeah eblis that's true - and already caused me problems with updater calling the old routine, sometimes before miranda called the new one...updater (beta) is fixed now ;) but i think it's safe to assume they'll be called in that order, just for efficiency reasons - no need to call the old one if the new one is there

    Tara - i'm sure since mw is still in the distribution it'll be fixed by George or someone. if you really need some plugins updated let me know. there's probably other people idling in #miranda for example that might also be willing on occasion. it really is only a few minutes work (usually) to make these changes - much easier than finding/fixing bugs or adding new features - and then you can post the mods on the FL ;)

  9. #29
    Join Date
    March 2005
    Posts
    8,345
    Quote Originally Posted by sje View Post
    Tara - i'm sure since mw is still in the distribution it'll be fixed by George or someone. if you really need some plugins updated let me know. there's probably other people idling in #miranda for example that might also be willing on occasion. it really is only a few minutes work (usually) to make these changes - much easier than finding/fixing bugs or adding new features - and then you can post the mods on the FL ;)
    Sje, that would be just wonderful! :D Thank you so much for taking that into consideration!

    If you would be so kind and could really find some time for that ... do you think you could update bethoven's TopToolbar plugin? It's such a useful tool ... I would be so grateful if you could do that one day!

    Many thanks again :D

    EDIT:

    I'm afraid there might be a little problem with that though ... I have just noticed that the source code that is available on the Addons site seems to be older than the current version of the plugin. And that old version, if I recall correctly, has some issues with separators :(

    But maybe bethoven still has the source of the latest one (?) :S
    Last edited by Tara; 25 Apr 2007 at 5:28 PM.

  10. #30
    Join Date
    March 2005
    Location
    Melbourne, Australia
    Posts
    1,901
    i've sent an offline icq message to bethoven, but the account is quite old so i'll try other avenues too

Similar Threads

  1. [plugin request] Alternative Clist-PlugIn
    By nore2 in forum Feature Requests
    Replies: 1
    Last Post: 27 Dec 2007, 3:49 PM
  2. [plugin request] Send Screenshot plugin for 0.7.3
    By Melhesedek in forum Feature Requests
    Replies: 1
    Last Post: 23 Dec 2007, 3:35 PM
  3. Important Question about adding people plugin
    By shishkabab in forum Technical Support
    Replies: 3
    Last Post: 6 Oct 2007, 2:18 AM
  4. Plugin:Request - File Sharing plugin
    By Grimmy in forum Feature Requests
    Replies: 2
    Last Post: 12 Jan 2007, 3:56 AM
  5. help needed: miranda - plugin SK & CZ plugin developers
    By NuSuey in forum Technical Support
    Replies: 4
    Last Post: 5 Nov 2006, 5:47 PM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •