Page 1 of 1
Posted: Tue Jan 01, 2008 2:21 am
Can anyone here help with building a PS plug-in host ?
I've built a Windows app (all test code) to find plug-ins and then activate it. I've found that most if not all of the Adobe plug-ins will not work because I have no idea how to provide some of the suites (OS Direct ExpressView Suite) being the most often used.
I have been able at least display the dialogs of the following but still have some image display problems. Here they are:
The problem I'm having is either in my advance_state_proc() where the image data is either read or written or in the display_pixels_proc() that actually displays the image in the dialog. In these dialogs if I show the image at 100% and the image does not fit you can move the image around using the cursor. When you move the cursor is "attached" to the entire image and moving it around works just great. The image in this case is not modified, it is the original. When you stop moving the mouse and lift the mouse button the image appears (effect applied) and in an offset position. The top -> bottom looks fine but the right -> left has a warping effect.
So after all of that is there anyone I can "bounce" ideas off of? or do I continue to bang my head on the monitor.
Thanks in advance
Posted: Tue Jan 01, 2008 7:33 pm
I never came across the term "OS Direct ExpressView Suite". Does not sound like the Photoshop API to me.
The plugins you mention were all build with FilterMeister. They need the inColumnBytes field of the filterParamBlock to be set by the host in the AdvanceState procedure (except HyperTyle 1.03, which was created with the latest FilterMeister version which sets it automatically if the host does not set it).
I hope this helped.
Posted: Tue Jan 01, 2008 9:17 pm
I'll look into this.
The "OS Direct ExpressView Suite" is what I see from the SPBasicAcquireSuite callback. Of course since I'm attempting to build my own host this is the name I see. I only see this in plug-ins from Adobe, no one elses. I think it has something to do with dialog lay out but not sure.
I'll keep digging and report back
Posted: Tue Jan 01, 2008 9:37 pm
Right, Adobe plugins and a few third-party plugins use the Adobe Dialog Manager to create dialogs. Never looked into this stuff, because it makes plugins incompatible with other hosts.
Making your host run the plugin included with Photoshop is a very difficult if not impossible task. I heard from someone that most will only work if some Photoshop .dll files are loaded into memory. So better concentrate on supporting third-party plugins.
Posted: Thu Jan 03, 2008 12:26 am
Where would I be able to find some plug-in source code with dialog viewing to help with reversing the process ? I'm doing all my work in the Windows environment using MS tools.
Posted: Thu Jan 03, 2008 3:06 am
Posted: Thu Jan 03, 2008 5:12 am
Downloaded the SDK, the examples are pretty simple and hope to get something working. I then installed GIMP (2.4.?) and the PSPI.exe (1.0.5) and used the virtualPhotographer.8bf plugin since thats the one I've been using and guess what, GIMP / PSSI / virtualPhotographer.8bf displays exactly like my app. So my guess work is at least like someone else.
Need to do some more digging or at least take a different approach to the advanceState and/or the Draw function. This is all "home work" as I have a day job. Later...
Posted: Thu Jan 03, 2008 1:49 pm
The GIMP PSPI host, whose source code is available, is not very compatible. It unexpectedlly crashes from time to time with plugin created with FilterMeister (e.g. virtualPhotographer) and does not display the preview correctly for them.
If you figure out what might be wrong, please let me know. I might be able to adjust FilterMeister to make it work better with PSPI or your host.
Posted: Fri Jan 04, 2008 2:00 am
I'd like to send you my DrawProc code (about 1 page of C code) and explain what I see when things go wrong.
Need your email address. You can get mine from my profile and it's my home email so I may not respond until evening (EST).
This is only an offer if you what to take the time to look.
Thanks in advance
I also noticed this file in the PS folders ( there is that word ExpressView again)
C:\Program Files\Adobe\Photoshop 6.0\Required\Plugin ExpressView Support.apl
Posted: Fri Apr 04, 2008 12:11 pm
Sorry for the bump, I stumbled accross this site while I myself am doing direct photoshop plugin support for my application, I came from using com+ and scripting.
Just food for thought.
PS:- if you do go via the COM+ route as well, vole (on code project) will let you acheive this easily in about 3 lines of code.