WINAMP.COM | Forums > Developer Center > Winamp Development > Minibrowser API Support for Winamp 5.22+ |
| Pages (2): [1] 2 » |
Last Thread
Next Thread
|
| Author |
|
|
whoami Junior Member
Registered: Jun 2006 |
Minibrowser API Support for Winamp 5.22+
Since winamp 5.22, the minibrowser API is "gone for good"..
|
||
|
|
|
DrO Moderator
Registered: Sep 2003 |
the plugin needs to be multi-user compatible (have a look below some example code) otherwise i've not had a chance to give it a look over since i see you've also submitted it to the winamp.com site. btw the future of the minibrowser apis is still somewhat unclear (the reason it doesn't working in 5.22+ is because it was all stripped out when things were split up in gen_ml for the 5.22 release) but may/may not be re-implemented natively (though if this works well then it could save the devs time having to reimplement and just let other authors rebundle this with their plugins as needed could be an option). -dazcode: __________________ |
||
|
|
|
whoami Junior Member
Registered: Jun 2006 |
Minibrowser API Support 0.2 for Winamp 5.22+
Thanks for DrO, I added multi-user support to the plugin.
Last edited by whoami on 06-30-2006 at 03:28 AM |
||
|
|
|
DrO Moderator
Registered: Sep 2003 |
using ExitProcess(..) is really not a good idea to be doing since you're blasting the winamp process space out of memory so something has got to be messed up if it's not closing correctly for you. i'll try to have a look at this later today (unless i'm beaten to it) to see if i can help out. also with regards to handling for 5.21 and below, a version check on startup for 0x5021 and below to then return the opposite of the normal return code so Winamp then won't load it. you could add in a messagebox or something to indicate that this was the case. __________________ |
||
|
|
|
dllmain Senior Member
Registered: Sep 2005 |
Looks like whoami is doing great work here! __________________ |
||
|
|
|
DrO Moderator
Registered: Sep 2003 |
need to replace withcode: that fixes issues with the unsubclassing of the subclass chain. as for the bit about identifying itself, i guess you could either use an api registration message like with how the gen_hotkeys does or just check for the message return values or something (i've not had a chance to check things over fully still so i'm not sure on the best way to advise things)code: -daz __________________ |
||
|
|
|
DrO Moderator
Registered: Sep 2003 |
well that code is the same as i use in all of my plugins, in the updated gen_tray 2.0 source code and i think the devs use it as well (i know benski thought it good ages ago) and using it i didn't have any crash issue on exit whereas with what's in your 0.2 code i could get a crash on close if the ExitProcess(..) wasn't there. did you get the installer version of the sdk since that should have the fixed gen_tray source code in itcode: -daz __________________ |
||
|
|
|
whoami Junior Member
Registered: Jun 2006 |
|
||
|
|
|
dllmain Senior Member
Registered: Sep 2005 |
I am sure the subclassing alone cannot be the problem. __________________ |
||
|
|
|
Benski Ben Allison Lead Developer Winamp Dev Team
Registered: Jan 2005 |
@dllmain: code: extern winampGeneralPurposePlugin *gen_plugins[256]; is used inside of Winamp. It doesn't really belong there (and the next SDK release won't have it) |
||
|
|
|
DrO Moderator
Registered: Sep 2003 |
dunno why i posted what i did with benski repeating what i'd said, heh __________________ |
||
|
|
|
Benski Ben Allison Lead Developer Winamp Dev Team
Registered: Jan 2005 |
|
||
|
|
|
DrO Moderator
Registered: Sep 2003 |
i've been trying to tell myself that for years __________________ |
||
|
|
|
whoami Junior Member
Registered: Jun 2006 |
Minibrowser API Support 0.3 for Winamp 5.22+
Finally fixed "winamp does not quit correctly" problem! code: This code is NEEDED to get IHTMLDocument2 safely, but I ignored it because I already had IHTMLDocument2 on ObjectFromLresult was called. I thought this code is just a part of example code. And, well. I added ipc message for "Hey, gen_mbapi, are you there?" . I chose "gen_mbapi" for check string, for it is that simple string.. see readme.txt for details.For un-subclassing issue.. I followed DrO's solution, but I still get IsWindow(plugin.hwndParent) == FALSE. The plugin is working fine, though. If we (you all and I) cannot find any other issue, I will re-submit this plugin to winamp plug-in section. Would you mind looking for issue(s) for me?
|
||
|
|
|
whoami Junior Member
Registered: Jun 2006 |
|
||
|
|
|
JW Senior Member
Registered: Nov 2004 |
I just upgraded to 5.24, and the HTML Viewer plugin stopped working. I used this to get it back. Nice work! |
||
|
|
|
whoami Junior Member
Registered: Jun 2006 |
JW: |
||
|
|
|
Maxim Senior Member
Registered: Mar 2001 |
Hmm, I seem to have a problem. It is installed and the config works, but nothing ever happens as expected - Now Playing works the same as before. __________________ |
||
|
|
|
whoami Junior Member
Registered: Jun 2006 |
|
||
|
|
|
Maxim Senior Member
Registered: Mar 2001 |
Sometimes I get: code: This is exactly the code that worked fine with old versions of Winamp. TempHTMLFilename is a fully qualified file path, eg. "c:\temp\file.htm". Debugging through your code, it seems you're not handling the case where szUrl==NULL, which is supposed to activate the Now playing window. Filtering out the NULL doesn't help; manually entering any file:/// address in the config window also seems not to work, so maybe you can debug it that way. I also noticed you aren't implementing some of the internal callback stuff defined in wa_ipc.h, eg. IPC_MBURL. I don't know if any of it is used, or even if you should be catching those callback messages instead of the higher-level ones, or sending them yourself. Some, like IPC_MBGETDESC, aren't used any more anyway. __________________ |
||
|
|
|
whoami Junior Member
Registered: Jun 2006 |
Oh, that. |
||
|
|
|
Maxim Senior Member
Registered: Mar 2001 |
I thought there was an easy way to open the Media Library to a particular view, to allow NULL handling to work, but I can't find it right now. __________________ |
||
|
|
|
whoami Junior Member
Registered: Jun 2006 |
Minibrowser API Support 0.4 for Winamp 5.22+
I feel when I use the program, and Spy++ rocks!
|
||
|
|
|
dllmain Senior Member
Registered: Sep 2005 |
Version 0.4 behaved a little strange here: __________________ |
||
|
|
|
dllmain Senior Member
Registered: Sep 2005 |
I just ran the source code analyser AntiC over gen_mbapi.cpp __________________ |
||
|
|
|
whoami Junior Member
Registered: Jun 2006 |
Ah, yes, yes. As dllmain said, there IS a difference between a classic and a modern skin.. and when mbapi comes to 0.4, I put a little "optimization" code on FindWindowChain() and it just backfired. code: Without this code, it just follows the chain regardless FindWindow(Ex) returns NULL or not. Now it stops if it cannot find a chain. However, on a classic skin, a chain starts from "Winamp Gen"-"Winamp Library", not "Media Library". On the code of 0.3, it continues to find the chain so it can find "Winamp Library" eventually, but 0.4, it can not. About the line 137 of gen_mbapi.cpp, I say "Oops." Hey, I am just a normal human and I can do such a mistake, don't I? .. Well, sometimes that kind of mistake makes a satellite to fall down anyway.I will review dllmain's 0.4.1 code and try to fix these issues today night.. I tend to use "if" rather than "switch-case" when the cases are not much (under 3-4), because "switch-case" has more overhead than "if". Of course if the cases increase, the code should be done refactoring. Thanks for your help, dllmain. Last edited by whoami on 07-09-2006 at 09:08 AM |
||
|
|
|
whoami Junior Member
Registered: Jun 2006 |
Thanks to dllmain, here goes another new version;
|
||
|
|
|
dllmain Senior Member
Registered: Sep 2005 |
For some reason I still get "The minibrowser has not been opened yet" __________________ Last edited by dllmain on 07-09-2006 at 02:42 PM |
||
|
|
|
dllmain Senior Member
Registered: Sep 2005 |
__________________ |
||
|
|
|
dllmain Senior Member
Registered: Sep 2005 |
__________________ |
||
|
|
|
JW Senior Member
Registered: Nov 2004 |
Perfect! Thanks!! |
||
|
|
|
Red Mullet Banned
Registered: Jun 2006 |
I have winamp 5.22 Lite & I downloaded this plugin in this name (gen mbapi 0 3) in most recent plugin by whoami whoami & Published: Jul. 9, 2006 __________________ |
||
|
|
|
dllmain Senior Member
Registered: Sep 2005 |
I have no idea but why don't you try again with __________________ |
||
|
|
|
DrO Moderator
Registered: Sep 2003 |
i thought the media library was required for this to work and the lite version definitely doesn't have that so you're going to need to re-install with a fuller install. __________________ |
||
|
|
|
dllmain Senior Member
Registered: Sep 2005 |
New version, installer with source code included. __________________ |
||
|
|
|
Red Mullet Banned
Registered: Jun 2006 |
I test gen_mbapi_0.5.rar but I have same problem & I get this message: The minibrowser has not been opened yet. __________________ |
||
|
|
|
dllmain Senior Member
Registered: Sep 2005 |
__________________ |
||
|
|
|
whoami Junior Member
Registered: Jun 2006 |
Minibrowser API Support 0.5.3 for Winamp 5.22+ AND some modification guideline
Yet another version. Sorry about this.
|
||
|
|
|
whoami Junior Member
Registered: Jun 2006 |
Last edited by whoami on 07-10-2006 at 03:51 PM |
||
|
|
|
| Pages (2): [1] 2 » |
Last Thread Next Thread
|
WINAMP.COM | Forums > Developer Center > Winamp Development > Minibrowser API Support for Winamp 5.22+ |
Forum Rules:
|