Jump to content


Photo

PSFilterPdn (2014-10-13)


154 replies to this topic

#1 null54

null54

    2013 Computer Guru Award Winner

  • Members
  • 333 posts
  • Reputation:55

Posted 16 December 2010 - 12:44 AM

This plug-in hosts Adobe® Photoshop® filter plug-ins under Paint.NET.
Many filters should run although some may have issues, both Flaming Pear's LunarCell as well as their Free Plugins  work correctly.
 

$

File version 1.0.5.2.

 

The plugin is hosted on Codeplex at http://psfilterpdn.codeplex.com/

psfilterpdn2.png
 
PSFilterShim

This file runs 32-bit Photoshop plugins on a 64-bit OS and must be placed in the Effects folder.


  • 1

pdnsig.png

PSFilterPdn | PdnFF | Paint Shop Pro Filetype | WebP Filetype | EA FSH 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


#2 Ego Eram Reputo

Ego Eram Reputo

    2013 Proton Award Winner

  • Moderators
  • 7,812 posts
  • LocationNorth Canterbury, New Zealand
  • Reputation:612

Posted 16 December 2010 - 01:11 AM

Tried it with LunarCell. This screenshot is the UI. Impressive (deep Darth Vader voice)!

Attached Thumbnails

  • LunarCellFilterScreenshot.png

  • 0

#3 null54

null54

    2013 Computer Guru Award Winner

  • Members
  • 333 posts
  • Reputation:55

Posted 20 December 2010 - 07:47 AM

The FlamingPear filters should now not crash when used through the repeat effect command.

File version updated to 1.0.1.0.
  • 0

pdnsig.png

PSFilterPdn | PdnFF | Paint Shop Pro Filetype | WebP Filetype | EA FSH 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


#4 Frontcannon

Frontcannon
  • Members
  • 2,302 posts
  • LocationNorth-Rhine Westphalia, Germany
  • Reputation:4

Posted 20 December 2010 - 06:26 PM

This is incredible O_O
  • 0

#5 null54

null54

    2013 Computer Guru Award Winner

  • Members
  • 333 posts
  • Reputation:55

Posted 20 December 2010 - 07:56 PM

This plugin should be stable.

If a moderator chooses, this thread can be moved to Plugins - Publishing Only
  • 0

pdnsig.png

PSFilterPdn | PdnFF | Paint Shop Pro Filetype | WebP Filetype | EA FSH 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


#6 Ego Eram Reputo

Ego Eram Reputo

    2013 Proton Award Winner

  • Moderators
  • 7,812 posts
  • LocationNorth Canterbury, New Zealand
  • Reputation:612

Posted 22 December 2010 - 07:29 AM

Done.
  • 0

#7 Lance McKnight

Lance McKnight
  • Members
  • 1,230 posts
  • Reputation:4

Posted 22 December 2010 - 11:53 PM

Forgive my ignorance, but should I be searching the web for PS filters, and if so, where do I install them?

Edited by Lance McKnight, 22 December 2010 - 11:55 PM.

  • 0

Officially retired from this forum. Have a nice day.


#8 null54

null54

    2013 Computer Guru Award Winner

  • Members
  • 333 posts
  • Reputation:55

Posted 23 December 2010 - 01:38 AM

You can install them anywhere you like as long as you add the location to the Search Directories list. ;)
  • 0

pdnsig.png

PSFilterPdn | PdnFF | Paint Shop Pro Filetype | WebP Filetype | EA FSH 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


#9 Rick Brewster

Rick Brewster

    Paint.NET Author and Developer

  • Administrators
  • 13,554 posts
  • LocationKirkland, WA
  • Reputation:325

Posted 23 December 2010 - 01:59 AM

http://blog.getpaint...ness-proposals/

Let's get this plugin some more attention.
  • 1
The Paint.NET Blog: http://blog.getpaint.net/
Donations are always appreciated! http://www.getpaint.net/donate.html

Posted Image

#10 pyrochild

pyrochild
  • Administrators
  • 11,494 posts
  • LocationColorado
  • Reputation:205

Posted 23 December 2010 - 02:04 AM

How does this handle 32-bit filters (i.e. almost all of them) running in 64-bit Paint.NET?
  • 0
xZYt6wl.png
ambigram signature by Kemaru

[I write plugins and stuff]

If you like a post, upvote it!

#11 pyrochild

pyrochild
  • Administrators
  • 11,494 posts
  • LocationColorado
  • Reputation:205

Posted 23 December 2010 - 02:24 AM

Wish list:
  • Make it work regardless of bittedness
  • Populate the Search directories by default with Paint.NET\Effects and Photoshop\Plug-ins
  • Integrate the filters into Paint.NET's menu structure

Fractalius works (if I force Paint.NET into 32-bit mode), which is awesome.
  • 1
xZYt6wl.png
ambigram signature by Kemaru

[I write plugins and stuff]

If you like a post, upvote it!

#12 Lance McKnight

Lance McKnight
  • Members
  • 1,230 posts
  • Reputation:4

Posted 23 December 2010 - 02:30 AM

I concur with Pyrochild. I downloaded a few filters, and if they aren't 64-bit, they won't show up on the list as it shown in your UI.

Edit: What I did was I made a subdirectory within the Paint.NET User File. But, I got to agree with pyrochild's suggestion.

Edit #2: I did a quick search for running 32-bit plug-in on a 64-bit system. Here's the article if anyone's interested.

Edited by Lance McKnight, 23 December 2010 - 02:34 AM.

  • 0

Officially retired from this forum. Have a nice day.


#13 null54

null54

    2013 Computer Guru Award Winner

  • Members
  • 333 posts
  • Reputation:55

Posted 23 December 2010 - 03:05 AM

How does this handle 32-bit filters (i.e. almost all of them) running in 64-bit Paint.NET?


Since 32-bit dlls can't be loaded into a 64-bit process Paint.NET can not use the 32-bit plugins, as Photoshop only went 64-bit in CS4 the list of 64-bit plugins is rather limited. :(

Wish list:

  • Make it work regardless of bittedness
  • Populate the Search directories by default with Paint.NET\Effects and Photoshop\Plug-ins
  • Integrate the filters into Paint.NET's menu structure
Fractalius works (if I force Paint.NET into 32-bit mode), which is awesome.


As for the search directories searching the Paint.NET Effects directory would work, searching the Photoshop plug-in directory seems pointless as the filters installed with photoshop would most likely not run (unless perhaps if you are running Photoshop 3.0 :D).

Integrating with the menu system is tricky as the plugin systems are so different, and I see no easy way to do this.
  • 0

pdnsig.png

PSFilterPdn | PdnFF | Paint Shop Pro Filetype | WebP Filetype | EA FSH 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


#14 pyrochild

pyrochild
  • Administrators
  • 11,494 posts
  • LocationColorado
  • Reputation:205

Posted 23 December 2010 - 03:25 AM

Since 32-bit dlls can't be loaded into a 64-bit process Paint.NET can not use the 32-bit plugins, as Photoshop only went 64-bit in CS4 the list of 64-bit plugins is rather limited. :(

The solution here is to use a surrogate process. Paint.NET's 64-bit process talks to a separate 32-bit process that in turn loads all the plugins.


As for the search directories searching the Paint.NET Effects directory would work, searching the Photoshop plug-in directory seems pointless as the filters installed with photoshop would most likely not run (unless perhaps if you are running Photoshop 3.0 :D).

It's not for the filters installed with Photoshop, it's for the filters someone with Photoshop has installed. It makes sense that someone who installed a filter into Photoshop would want to be able to use the same one in Paint.NET without installing it in multiple locations.

Integrating with the menu system is tricky as the plugin systems are so different, and I see no easy way to do this.

This is indeed tricky, not because the plugin systems are different, but because Paint.NET polls its plugins for a list of Effect-derived types at startup to populate the Effects menu. I can help you with this - the solution requires getting messy with C++/CLI or IL(D)ASM.
  • 1
xZYt6wl.png
ambigram signature by Kemaru

[I write plugins and stuff]

If you like a post, upvote it!

#15 null54

null54

    2013 Computer Guru Award Winner

  • Members
  • 333 posts
  • Reputation:55

Posted 23 December 2010 - 04:41 AM

The solution here is to use a surrogate process. Paint.NET's 64-bit process talks to a separate 32-bit process that in turn loads all the plugins.


The hardest part with that would be the cross process communication, unfortunately delegates probably are not cross process that would make things a lot simpler. :(

It's not for the filters installed with Photoshop, it's for the filters someone with Photoshop has installed. It makes sense that someone who installed a filter into Photoshop would want to be able to use the same one in Paint.NET without installing it in multiple locations.


That would work as long as there are no Adobe filters in the same folder(s).

This is indeed tricky, not because the plugin systems are different, but because Paint.NET polls its plugins for a list of Effect-derived types at startup to populate the Effects menu. I can help you with this - the solution requires getting messy with C++/CLI or IL(D)ASM.


So basically use a wrapper around the PS filters that allows PDN to load them as effects in the menu.
  • 0

pdnsig.png

PSFilterPdn | PdnFF | Paint Shop Pro Filetype | WebP Filetype | EA FSH 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


#16 Rick Brewster

Rick Brewster

    Paint.NET Author and Developer

  • Administrators
  • 13,554 posts
  • LocationKirkland, WA
  • Reputation:325

Posted 23 December 2010 - 04:43 AM

The solution here is to use a surrogate process.

Yes, although easier said than done.

Paint.NET's 64-bit process talks to a separate 32-bit process that in turn loads all the plugins.

No it doesn't. I've thought about it ... but the reasons for wanting to use a surrogate process are related to isolation and stability, not bitness.

64-bit ftw
  • 0
The Paint.NET Blog: http://blog.getpaint.net/
Donations are always appreciated! http://www.getpaint.net/donate.html

Posted Image

#17 pyrochild

pyrochild
  • Administrators
  • 11,494 posts
  • LocationColorado
  • Reputation:205

Posted 23 December 2010 - 09:13 AM

No it doesn't. I've thought about it ... but the reasons for wanting to use a surrogate process are related to isolation and stability, not bitness.

No, I meant that's how it would be implemented. In this plugin.
  • 0
xZYt6wl.png
ambigram signature by Kemaru

[I write plugins and stuff]

If you like a post, upvote it!

#18 null54

null54

    2013 Computer Guru Award Winner

  • Members
  • 333 posts
  • Reputation:55

Posted 26 December 2010 - 11:06 PM

32-bit plugins will now work on a 64-bit OS and Paint.NET's Effects directory is now searched by default.

File version updated to 1.0.2.0. :)

  • 0

pdnsig.png

PSFilterPdn | PdnFF | Paint Shop Pro Filetype | WebP Filetype | EA FSH 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


#19 Lance McKnight

Lance McKnight
  • Members
  • 1,230 posts
  • Reputation:4

Posted 27 December 2010 - 01:49 AM

32-bit plugins will now work on a 64-bit OS and Paint.NET's Effects directory is now searched by default.

File version updated to 1.0.2.0. :)


*thumps you on the back* Thanks! Off to play with it.
  • 0

Officially retired from this forum. Have a nice day.


#20 pyrochild

pyrochild
  • Administrators
  • 11,494 posts
  • LocationColorado
  • Reputation:205

Posted 27 December 2010 - 05:07 AM

32-bit plugins will now work on a 64-bit OS and Paint.NET's Effects directory is now searched by default.

File version updated to 1.0.2.0. :)

Very nice, thank you :)
  • 0
xZYt6wl.png
ambigram signature by Kemaru

[I write plugins and stuff]

If you like a post, upvote it!