Page 1 of 1

Host Resources

Posted: Tue Jan 01, 2008 2:21 am
by tteveris
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
by HaraldHeim
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
by tteveris
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
by HaraldHeim
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
by tteveris
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
by HaraldHeim
You need to get the Adobe SDK from

Posted: Thu Jan 03, 2008 5:12 am
by tteveris
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
by HaraldHeim
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
by tteveris

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
by Nikster
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.

According to Adobe, ExpressView is used for automagically displaying dialogs, there are several issues with the 1st party included PS plugins, they require plugin.dll in the photoshop root folder and of course the require the ExpressView suite, now to have these plugins you should have photoshop installed, so, and the solution I am using is to have an option of running a plugin host alongside COM+ interface to photoshop itself, it makes things even more powerful and you also get access to the layer effects all using javascript.

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.