null54 Posted February 27, 2011 Author Posted February 27, 2011 The problem is that PSFilterShim.exe is not in the effects folder, this file is required to run the filters. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
fred in bed Posted February 27, 2011 Posted February 27, 2011 (edited) Ohhh, ok I'll try that now... EDIT: Yay, thanks! Edited February 27, 2011 by fred in bed Quote
null54 Posted March 1, 2011 Author Posted March 1, 2011 Transparency is now displayed in the filter preview and the filters will now show the selection. Multiple other bugs fixed. File version updated to 1.0.3.0. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
Frontcannon Posted March 1, 2011 Posted March 1, 2011 Great work, keep coding! Quote Night Vision Text Effect Tutorial Gallery reddit.com/r/futurebeats | My Mixcloud
null54 Posted March 7, 2011 Author Posted March 7, 2011 A bug in the checker board rendering and multiple other bugs fixed. File version updated to 1.0.3.1. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
null54 Posted March 29, 2011 Author Posted March 29, 2011 All filters will now reshow the parameters dialog when used through the "Repeat Effect" command. The FilterMeister filters should now display the image correctly when zoomed in, multiple other bugs fixed. File version updated to 1.0.3.2. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
Rick Brewster Posted March 29, 2011 Posted March 29, 2011 All filters will now reshow the parameters dialog when used through the "Repeat Effect" command. Why on Earth would you do that? The whole point of Repeat Effect is that it repeats without showing the UI again Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html
null54 Posted March 29, 2011 Author Posted March 29, 2011 Why on Earth would you do that? The whole point of Repeat Effect is that it repeats without showing the UI again The filter's parameters were not restored correctly on many filters so they would crash, although in the WinForms test project that this plugin is based on the code is the same and the "Repeat Effect" command works perfectly. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
brodriguez Posted April 1, 2011 Posted April 1, 2011 Good work, Paint.Net need this plug-in, with it Paint.NET becomes the second non adobe application which support 64 bit photoshop plug-ins, until now there is only one, Photoline. I'm the developer of Ximagic photoshop plugins. After publishing the last version two days ago, I discover this pdn plugin and test it (with ver 1.0.3.2). 64 bit mode works great, but I've found what seems to be a bug in the 32 bit mode. If the plug-in don't specify which assemblies it need (using ISOLATION_AWARE_ENABLED=0) then the UI don't use the XP style but the classic windows one. This is what the last version of the plug-ins do. If the plug-in isolate itself from the host and specify the assemblies (using ISOLATION_AWARE_ENABLED=1) which is the recommended MS approach, then PDN crash. This is what the next version of the plug-ins will do. This is the only way to use always XP style, even if the plug-in don't load it (like The GIMP or Paint.NET+PSFilterPdn 32 bits). The manifest dependency is the following manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*' And the pdncrash.log content is: Se creó este archivo de texto porque se bloqueó Paint.NET. Por favor, envíe este archivo a crashlog@getpaint.net para que podamos diagnosticar y resolver el problema. Application version: Paint.NET v3.5.8 (Final Release compilación 3.58.4081.24580) Time of crash: 01/04/2011 13:01:32 Application uptime: 00:05:49.4190000 Install directory: n/a Current directory: C:\Program Files\Paint.NET OS Version: 6.0.6001.65536 Service Pack 1 Workstation x64 .NET version: CLR 2.0.50727.3053 x86, FX 2.0 (rtm sp1 sp2) 3.0 (rtm sp1 sp2) 3.5 (rtm sp1 sp1_CP) Processor: 4x "Intel® Core™2 Quad CPU Q6600 @ 2.40GHz" @ ~2400MHz (DEP, SSE, SSE2, SSE3, SSSE3), fps=0x1 Physical memory: 4093 MB UI DPI: 96,00 dpi (1,00x scale) UI Theme: Aero/Aero (Aero.msstyles) Updates: err, 31/03/2011 Locale: pdnr.c: es-ES, hklm: n/a, hkcu: n/a, cc: es-ES, cuic: es-ES Managed assemblies: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @ C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll PaintDotNet, Version=3.58.4081.24586, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet_32.exe System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @ C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll PaintDotNet.SystemLayer, Version=3.58.4081.24580, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.SystemLayer.dll System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @ C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @ C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll PaintDotNet.Base, Version=3.58.4081.24574, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.Base.dll WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 @ C:\Windows\assembly\GAC_MSIL\WindowsBase\3.0.0.0__31bf3856ad364e35\WindowsBase.dll System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @ C:\Windows\assembly\GAC_MSIL\System.Core\3.5.0.0__b77a5c561934e089\System.Core.dll PaintDotNet.Resources, Version=3.58.4081.24580, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.Resources.dll PaintDotNet.Core, Version=3.58.4081.24581, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.Core.dll PaintDotNet.Data, Version=3.58.4081.24584, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.Data.dll System.Windows.Forms.resources, Version=2.0.0.0, Culture=es, PublicKeyToken=b77a5c561934e089 @ C:\Windows\assembly\GAC_MSIL\System.Windows.Forms.resources\2.0.0.0_es_b77a5c561934e089\System.Windows.Forms.resources.dll PaintDotNet.Effects, Version=3.58.4081.24585, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.Effects.dll PaintDotNet.SystemLayer.Native.x86, Version=3.58.4079.4951, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.SystemLayer.Native.x86.dll msvcm90, Version=9.0.30729.4148, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @ C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\msvcm90.dll mscorlib.resources, Version=2.0.0.0, Culture=es, PublicKeyToken=b77a5c561934e089 @ C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll PSFilterPdn, Version=1.0.3.2, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\Effects\PSFilterPdn.dll System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @ C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll Native modules: C:\Program Files\Paint.NET\PaintDotNet_32.exe, version='3.58.4081.24586' C:\Windows\SysWOW64\ntdll.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\mscoree.dll, version='4.0.31106.0 (Main.031106-0000)' C:\Windows\syswow64\KERNEL32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\ADVAPI32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\RPCRT4.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\Secur32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\SHLWAPI.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\syswow64\GDI32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\USER32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\msvcrt.dll, version='7.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\IMM32.DLL, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\MSCTF.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\syswow64\LPK.DLL, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\USP10.dll, version='1.0626.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6001.18000_none_5cdbaa5a083979cc\comctl32.dll, version='6.10 (vista_rtm.061101-2205)' C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4053_none_d08d7da0442a985d\MSVCR80.dll, version='8.00.50727.4053' C:\Windows\syswow64\shell32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\ole32.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\assembly\NativeImages_v2.0.50727_32\mscorlib\9adb89fa22fd5b4ce433b5aca7fb1b07\mscorlib.ni.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorsec.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\system32\WINTRUST.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\CRYPT32.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\system32\MSASN1.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\system32\USERENV.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\syswow64\imagehlp.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.6001.18000_none_886786f450a74a05\COMCTL32.dll, version='5.82 (vista_rtm.061101-2205)' C:\Windows\system32\rsaenh.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\psapi.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\system32\ncrypt.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\BCRYPT.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\NTMARTA.DLL, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\syswow64\WLDAP32.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\syswow64\WS2_32.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\syswow64\NSI.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\SAMLIB.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\GPAPI.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\system32\slc.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\cryptnet.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\SensApi.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\system32\NETAPI32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\Cabinet.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\uxtheme.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorjit.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\assembly\NativeImages_v2.0.50727_32\System\aa7926460a336408c8041330ad90929d\System.ni.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Core\4cb01a1063e99bd543ca34547e28bd44\System.Core.ni.dll, version='3.5.30729.1 built by: SP' C:\Windows\assembly\NativeImages_v2.0.50727_32\WindowsBase\400510870f710fd409ee7fc71b4a69aa\WindowsBase.ni.dll, version='3.0.6920.1453 built by: NetFX' C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Drawing\6978f2e90f13bc720d57fa6895c911e2\System.Drawing.ni.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Windows.Forms\9a254c455892c02355ab0ab0f0727c5b\System.Windows.Forms.ni.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\assembly\NativeImages_v2.0.50727_32\PaintDotNet.Base\1e266e521e32ca0d84c4a59248066e25\PaintDotNet.Base.ni.dll, version='3.58.4081.24574' C:\Windows\assembly\NativeImages_v2.0.50727_32\PaintDotNet.SystemL#\136b54551a4775cefdd076e4cf34d6e9\PaintDotNet.SystemLayer.ni.dll, version='3.58.4081.24580' C:\Windows\assembly\NativeImages_v2.0.50727_32\PaintDotNet.SystemL#\7fe2040d485887647dc31c5025c10df2\PaintDotNet.SystemLayer.Native.x86.ni.dll, version='3.58.0.0' C:\Windows\assembly\NativeImages_v2.0.50727_32\Interop.WIA\efca70ca873ab8817754464e26c18833\Interop.WIA.ni.dll, version='1.0.0.0' C:\Program Files\Paint.NET\PaintDotNet.Resources.dll, version='3.58.4081.24580' C:\Program Files\Paint.NET\PaintDotNet.Core.dll, version='3.58.4081.24581' C:\Program Files\Paint.NET\Native.x86\PaintDotNet.Native.x86.dll, version='3.58.0.0' C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\MSVCR90.dll, version='9.00.30729.4148' C:\Windows\WinSxS\x86_microsoft.vc90.openmp_1fc8b3b9a1e18e3b_9.0.30729.4148_none_80b7c8a91e9dd16a\VCOMP90.DLL, version='9.00.30729.4148 built by: QFE' C:\Program Files\Paint.NET\PaintDotNet.Data.dll, version='3.58.4081.24584' C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.0.6001.18000_none_9e752e5ac9c619f3\gdiplus.dll, version='5.2.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\assembly\GAC_MSIL\System.Windows.Forms.resources\2.0.0.0_es_b77a5c561934e089\System.Windows.Forms.resources.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Program Files\Paint.NET\PaintDotNet.Effects.dll, version='3.58.4081.24585' C:\Program Files\Paint.NET\PaintDotNet.SystemLayer.Native.x86.dll, version='3.58.0.0' C:\Windows\syswow64\OLEAUT32.dll, version='6.0.6001.18000' C:\Windows\WinSxS\x86_microsoft.vc90.atl_1fc8b3b9a1e18e3b_9.0.30729.4148_none_51ca66a2bbe76806\ATL90.DLL, version='9.00.30729.4148' C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\msvcm90.dll, version='9.00.30729.4148' C:\Windows\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_es_b77a5c561934e089\mscorlib.resources.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\system32\wtsapi32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\WINSTA.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\version.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\dwmapi.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\SetupApi.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\dciman32.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Program Files\Paint.NET\Effects\PSFilterPdn.dll, version='1.0.3.2' C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Xml\36f3953f24d4f0b767bf172331ad6f3e\System.Xml.ni.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\Microsoft.NET\Framework\v2.0.50727\diasymreader.dll, version='8.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\system32\RichEd20.DLL, version='5.31.23.1228' C:\Windows\system32\apphelp.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' Exception details: System.FormatException: La cadena de entrada no tiene el formato correcto. en System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) en System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) en PSFilterPdn.PsFilterPdnConfigDialog.UpdateProxyProgress(Object sender, DataReceivedEventArgs e) en System.Diagnostics.Process.OutputReadNotifyUser(String data) en System.Diagnostics.AsyncStreamReader.FlushMessageQueue() en System.Diagnostics.AsyncStreamReader.GetLinesFromStringBuilder() en System.Diagnostics.AsyncStreamReader.ReadBuffer(IAsyncResult ar) en System.Runtime.Remoting.Messaging.AsyncResult.SyncProcessMessage(IMessage msg) en System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink) en System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.DoAsyncCall() en System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.ThreadPoolCallBack(Object o) en System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state) en System.Threading.ExecutionContext.runTryCode(Object userData) en System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) en System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) en System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack) en System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state) ------------------------------------------------------------------------------ Hope it helps Quote
null54 Posted April 2, 2011 Author Posted April 2, 2011 Good work, Paint.Net need this plug-in, with it Paint.NET becomes the second non adobe application which support 64 bit photoshop plug-ins, until now there is only one, Photoline. I'm the developer of Ximagic photoshop plugins. After publishing the last version two days ago, I discover this pdn plugin and test it (with ver 1.0.3.2). 64 bit mode works great, but I've found what seems to be a bug in the 32 bit mode. If the plug-in don't specify which assemblies it need (using ISOLATION_AWARE_ENABLED=0) then the UI don't use the XP style but the classic windows one. This is what the last version of the plug-ins do. If the plug-in isolate itself from the host and specify the assemblies (using ISOLATION_AWARE_ENABLED=1) which is the recommended MS approach, then PDN crash. This is what the next version of the plug-ins will do. This is the only way to use always XP style, even if the plug-in don't load it (like The GIMP or Paint.NET+PSFilterPdn 32 bits). The manifest dependency is the following manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*' PSFilterShim now loads filters with XP style controls and the FormatException should now be caught. File version updated to 1.0.3.3. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
brodriguez Posted April 4, 2011 Posted April 4, 2011 PSFilterShim now loads filters with XP style controls and the FormatException should now be caught. File version updated to 1.0.3.3. Thanks for your quick answer. Now the 32 bit version works OK. But since my previous message, I've found a problem in the 64 bit version. After the first plug-in invocation, which works OK, the next invocation always crash, it doesn't matter if it is the same plug-in or another one (I'm testing only with my plug-ins). After some time analyzing the problem, finally I've found the source of the error. It is not clear initially because pdncrash only detect a bad memory exception, and it takes more than usual because I can't get visual studio debugger work in this configuration, I suppose there is a problem when managed code call unmanaged code. The values of inData, inRowBytes, outData and outRowBytes received in FilterRecord, when the selector is filterSelectorContinue are all zero (and wrong) in the second invocation The values of filterRect, inRect and outRect are all OK. Closing the plug-in selection screen of PSFilterPdn between plug-in invocations don't solve the problem. Closing the image and opening it again before the second invocation don't solve the problem. Closing the image and opening a different one before the second invocation, do solve the problem. I hope the explanation helps. Quote
null54 Posted April 4, 2011 Author Posted April 4, 2011 That issue is fixed. File version updated to 1.0.3.4. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
null54 Posted April 6, 2011 Author Posted April 6, 2011 The link is now fixed. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
brodriguez Posted April 7, 2011 Posted April 7, 2011 Great, now both versions 32 and 64 work OK. Excuse me , but I've found another bug, although it is less serious than the previous ones, and depending on the ps plug-in used can't even be detected. It seems PSFilterPdn don't send the selection mask to the ps plug-in, instead it crop the image to the minimal rectangle which include the selection inside. This method is wrong if the plug-in take into account values outside the selection to calculate the result inside it, something that is very usual. This method could be valid for rectangular selections, if the previous problem doesn't exits, but not for non rectangular selections. There are other undesirable consequences, f.i. if the plug-in get the selection mask, it can show the preview with real result, with the selected area filtered and the non selected area unfiltered, something impossible if the image is simply cropped. If you need to test the selection mask, you could use my GrayDither plug-in, the preview take into account the mask, and because the filtered area becomes grayscale it is easier to differentiate it. Quote
null54 Posted April 7, 2011 Author Posted April 7, 2011 Great, now both versions 32 and 64 work OK. Excuse me , but I've found another bug, although it is less serious than the previous ones, and depending on the ps plug-in used can't even be detected. It seems PSFilterPdn don't send the selection mask to the ps plug-in, instead it crop the image to the minimal rectangle which include the selection inside. This method is wrong if the plug-in take into account values outside the selection to calculate the result inside it, something that is very usual. This method could be valid for rectangular selections, if the previous problem doesn't exits, but not for non rectangular selections. There are other undesirable consequences, f.i. if the plug-in get the selection mask, it can show the preview with real result, with the selected area filtered and the non selected area unfiltered, something impossible if the image is simply cropped. If you need to test the selection mask, you could use my GrayDither plug-in, the preview take into account the mask, and because the filtered area becomes grayscale it is easier to differentiate it. The plugins have access to the entire image, GrayDither never asks for anything outside the filter rectangle so it would not get the rest of the image. As for the selection masking I have tried to implement this in the past and it has never worked correctly. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
brodriguez Posted April 7, 2011 Posted April 7, 2011 The plugins have access to the entire image, GrayDither never asks for anything outside the filter rectangle so it would not get the rest of the image. Yes it is true, this is a plug-in bug, which I'm not aware. The reason why this bug was unnoticed is that FilterRect is in fact replaced time ago with the mask even for rectangular selections, and it is equal to the image size, this is valid for Photoshop, PSP, Photoline, Photobie, etc. AFAIK at present there are only 2 plug-in hosts which use the filterRect non equal to imageSize, pspi(The Gimp) and PSFilterPdn. I suppose the source of the confusion is that there is something wrong/false in the Photoshop SDK docs. From sdk manual in the description of the FilterRecord fields (f.i. the last freely usable sdk manual 3.0.4) "haveMask: This field is set TRUE if and only if a non–rectangular area has been selected." The mask is used for any selection rectangular or not, this is true for Photoshop and the other editors that I mention previously. As for the selection masking I have tried to implement this in the past and it has never worked correctly. You need only an array of bytes with 0 or 255 values and the size of the image, and set the filterRect equal to the imageSize. Forgetting the filterRect makes it easier. Quote
null54 Posted April 8, 2011 Author Posted April 8, 2011 AFAIK at present there are only 2 plug-in hosts which use the filterRect non equal to imageSize, pspi(The Gimp) and PSFilterPdn. Photoshop does seem to set the filterRect for certain plugins, e.g. Color Washer but I am unable to determine what logic it uses to decide if it sets the filterRect or not. You need only an array of bytes with 0 or 255 values and the size of the image, and set the filterRect equal to the imageSize. Forgetting the filterRect makes it easier. One of the problems with my previous implementation was if the selection is non-rectangular it would not display the selection correctly, for example if the selection was an oval FilterForge would display it as a series of blocks. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
brodriguez Posted April 11, 2011 Posted April 11, 2011 Photoshop does seem to set the filterRect for certain plugins, e.g. Color Washer but I am unable to determine what logic it uses to decide if it sets the filterRect or not. I try playing with the PiPL of the plug-ins but there are no values for which I can get the FilterRect not equal to the image size. Otherwise in the SDK manual (3.0.4) when talking about filter cases, says that selection comes as mask data, against what tell in the filter parameters section. 2=filterCaseFlatImageWithSelection No transparency data, but a selection may be present. The selection will be presented as mask data." Unfortunatelly I can't help you here. Quote
null54 Posted April 27, 2011 Author Posted April 27, 2011 The selection mask is now used instead of the filterRect to tell the filter the selection. File version updated to 1.0.3.5. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
brodriguez Posted April 28, 2011 Posted April 28, 2011 Great, now it works as expected, at least from my POV. Did you discover the logic behind ? Does it work also for ColorWasher ? Quote
null54 Posted April 28, 2011 Author Posted April 28, 2011 Did you discover the logic behind ? Does it work also for ColorWasher ? I have not been able to discover the logic that Photoshop uses, and as far as I can tell only filters built with Filter Factory or Filter Meister clip the image displayed to the selection's bounding rectangle. The selection masking does not work with ColorWasher even if it was told the bounds of the selection, so the resulting image just gets clipped to the selection after the filter is done running. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
null54 Posted June 6, 2011 Author Posted June 6, 2011 The "Repeat Effect" command should now work correctly for most filters. It will reshow the dialog for any filter that does not use the FilterRecord.parameters handle (e.g. Filter Factory), or any filter that relies on Photoshop's scripting to override their parameters as this is not currently implemented (e.g. Ximagic's GrayDither). File version updated to 1.0.3.6. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
countrybummken Posted June 21, 2011 Posted June 21, 2011 Is it possible for someone to help me with this plugin? I'm not sure what I am missing. I have placed this in my Effects folder (and the other plugin from the other company) and I don't even show a filter screen. I added the PDNFF plugin also, and I still do not show a filter screen or option. I believe I am missing something but can't quite figure out what it would be. I looked for a readme file and didn't see one of those either. Thank you. Quote
null54 Posted June 22, 2011 Author Posted June 22, 2011 Is it possible for someone to help me with this plugin? I'm not sure what I am missing. I have placed this in my Effects folder (and the other plugin from the other company) and I don't even show a filter screen. I added the PDNFF plugin also, and I still do not show a filter screen or option. I believe I am missing something but can't quite figure out what it would be. I looked for a readme file and didn't see one of those either. Thank you. What is the name of the filter you are trying to run? Is the plugin showing up in the list of filters in PSFilterPdn? Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.