Jump to content
How to Install Plugins ×

PSFilterPdn (01-18-2024)


null54

Recommended Posts

17 hours ago, kalijufan said:

For some reason I can't seem to make Lokas Software plugins to work with Paint.net. Anyone of you had any previous experience with this?

 

It looks like their 'Artistic Effects 2.0' demo plugin disables the OK button, but it appears functional otherwise.

Is there a specific plugin you are having issues with?

 

16 hours ago, BoltBait said:

This plugin for Paint.NET only supports .8bf filter plugins.

 

It would also depend on the specific 8bf filter plugin, some of them will not work in 3rd-party host applications.

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...

Can you update the version of this effect in the plugin pack? It does not appear under the Effects folder if installed from there. It does appear if installed from here. Tested on PDN versions 4.3.10 and 4.3.11 on a clean install without other effects. The installer from the plugin pack drops the correct files in place, so I'm guessing it's just that those files are old versions.

 

(Edit note: If I checked that it's ONLY the plugin pack version that has this problem, I'd have written this over there.)

Edited by NinthDesertDude
Link to comment
Share on other sites

2 minutes ago, NinthDesertDude said:

It's not under any Effects subfolder.

 

It is installed in the top-level Effects menu.

Paint.NET does this for any Effect that uses a null or empty string for the SubMenuName property.

 

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

Link to comment
Share on other sites

  • 2 months later...
  • null54 changed the title to PSFilterPdn (2023-01-10)

Release version 2.0.0.

This release requires Paint.NET 5.0.

 

Changes:

  • 8bf filters can now write outside of the selection.
    • Filters that do not request to render outside of the selection will have the output image clipped to the selection mask in post-processing.
    • Note that some filters may ignore the selection entirely (e.g. Luce 2).
  • 8bf filters now have access to the document DPI information.
  • 8bf filters now have access to the document EXIF and XMP metadata.
  • 8bf filters now have access to the document color profile.
  • PSFilterShim is now built as a self-contained .NET 7 application.
  • Fixed a bug with the selection mask scaling.
  • Fixed an issue with the floating selection mask that is used to display transparency in older filters.
  • The OS color picker dialog is now used instead of a custom Windows Forms-based dialog.
  • Improved the speed when searching for filters on startup.
  • Fixed the dialog high-DPI scaling.
  • Added a Diagnostics tab with various logging/troubleshooting items.
  • Like 3
  • Hooray 1

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

Link to comment
Share on other sites

1 minute ago, Panchdara said:

First the PDN stuff then error after

 

That error is because you are using a PDN 5 beta release.

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

Link to comment
Share on other sites

3 minutes ago, null54 said:

 

That error is because you are using a PDN 5 beta release.

Yup!! Just noticed that. I'm retracting this. Thank you! Excellent work.

 

Question then. What happens when another beta is released? Will your plugin work with that, or is it 8410 specific?

 

Thanks again. Happy New Year.

Link to comment
Share on other sites

23 minutes ago, Panchdara said:

Question then. What happens when another beta is released?

 

8410 is the stable release, the plugin should continue to work in all newer versions.

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

Link to comment
Share on other sites

  • 2 weeks later...
12 hours ago, user.by said:

Some psd plugings is freezing with 5.0i i'm using latest 2.0 psd filter version

 

It looks like that filter is causing the PSFilterShim process to crash with a heap corruption error. I am not sure why this would be freezing PDN.

  • Like 1

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

Link to comment
Share on other sites

  • null54 changed the title to PSFilterPdn (2023-01-25)
On 1/23/2023 at 1:02 PM, user.by said:

Some psd plugings is freezing with 5.0i i'm using latest 2.0 psd filter version

 

The Paint.NET UI freeze has been fixed in version 2.0.1. That filter still crashes with a heap corruption error, but PSFilterPdn will now show an error message when it does.

 

Release version 2.0.1.

This release requires Paint.NET 5.0.

 

Changes:

  • Fixed an issue where a 32-bit filter crashing the PSFilterShim process would make Paint.NET unresponsive.
  • Show an error message if a 32-bit filter crashes the PSFilterShim process.
  • Fixed the Effects folders searching when PSFilterPdn is installed in a sub-folder.

Technical details about the freezing issue (if anyone is interested):

 

PSFilterPdn 2.0.0 and earlier would make Paint.NET the parent window of the 32-bit filter dialog, even though it was running in a separate 32-bit process.

This appears to have caused the OS to think that Paint.NET is covered by an invisible modal dialog if the PSFilterShim process crashed.

Raymond Chen has a blog post on cross-process window ownership: https://devblogs.microsoft.com/oldnewthing/20130412-00/?p=4683.

 

To fix this I changed PSFilterShim to show its own window that the 32-bit filters use as their parent window.

See this GitHub commit: https://github.com/0xC0000054/PSFilterPdn/commit/ef6e2c3f464b6bd1e9ad152be27269642253c82b

  • Like 4
  • Upvote 1

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

Link to comment
Share on other sites

2 hours ago, null54 said:

 

The Paint.NET UI freeze has been fixed in version 2.0.1. That filter still crashes with a heap corruption error, but PSFilterPdn will now show an error message when it does.

 

Release version 2.0.1.

This release requires Paint.NET 5.0.

 

Changes:

  • Fixed an issue where a 32-bit filter crashing the PSFilterShim process would make Paint.NET unresponsive.
  • Show an error message if a 32-bit filter crashes the PSFilterShim process.
  • Fixed the Effects folders searching when PSFilterPdn is installed in a sub-folder.

Technical details about the freezing issue (if anyone is interested):

 

PSFilterPdn 2.0.0 and earlier would make Paint.NET the parent window of the 32-bit filter dialog, even though it was running in a separate 32-bit process.

This appears to have caused the OS to think that Paint.NET is covered by an invisible modal dialog if the PSFilterShim process crashed.

Raymond Chen has a blog post on cross-process window ownership: https://devblogs.microsoft.com/oldnewthing/20130412-00/?p=4683.

 

To fix this I changed PSFilterShim to show its own window that the 32-bit filters use as their parent window.

See this GitHub commit: https://github.com/0xC0000054/PSFilterPdn/commit/ef6e2c3f464b6bd1e9ad152be27269642253c82b

Thank you very much for your engagement.

Link to comment
Share on other sites

@user.by I took a deeper look into that heap corruption crash.

It appears to be a regression in .NET, something is enabling the OS termination on heap corruption feature for the PSFilterShim process.

That plugin works fine in version 1.0.8.2 of PSFilterPdn, which is built against .NET Framework version 3.5.

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

Link to comment
Share on other sites

40 minutes ago, null54 said:

@user.by I took a deeper look into that heap corruption crash.

It appears to be a regression in .NET, something is enabling the OS termination on heap corruption feature for the PSFilterShim process.

That plugin works fine in version 1.0.8.2 of PSFilterPdn, which is built against .NET Framework version 3.5.

Likewise with working 1.0.8.2 and 4.3.12 but i am using 5.0.1 and says need 2.0 and above, therefore i asked.

Link to comment
Share on other sites

7 hours ago, user.by said:

Likewise with working 1.0.8.2 and 4.3.12 but i am using 5.0.1 and says need 2.0 and above, therefore i asked.

 

Version 1.0.8.2 works on Paint.NET 5.0.1, but it does not support the 5.0 specific features.

I plan to file an issue in the dotnet runtime repository.

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

Link to comment
Share on other sites

@user.by I filed an issue about this in the .NET Runtime repository on GitHub: https://github.com/dotnet/runtime/issues/81342

I also found a workaround that allows the filter to run: Patch the filter(s) with FilterMeister FM Patcher utility.

 

Ideally there would be a way to disable the termination on heap corruption for the PSFilterShim process. But if that is not possible I am considering trying to detect if the filter is one of these older FilterMeister-based filters and providing an error message that links to the FM Patcher utility.

  • Like 1

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

Link to comment
Share on other sites

@user.by The crash has been fixed in version 2.0.2.

 

Release version 2.0.2

This release is for Paint.NET 5.0+

 

Changes:

  • Fixed a heap corruption crash when running older 32-bit filters.
  • Improved the PSFilterShim exception reporting.
  • Like 2

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

Link to comment
Share on other sites

11 hours ago, null54 said:

@user.by The crash has been fixed in version 2.0.2.

 

Release version 2.0.2

This release is for Paint.NET 5.0+

 

Changes:

  • Fixed a heap corruption crash when running older 32-bit filters.
  • Improved the PSFilterShim exception reporting.

I downloaded from gıthub, thanks, this relase better and faster.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...