Jump to content

Rules for plugins that are published on this forum


Recommended Posts

Is it OK to add metadata to the document in the OnSaveT method of a filetype plugin?

Reason: Some (few) documents provide an ICC Profile (Exif 0x8773). I like to offer the possibility to use the document profile or to embed an external one during save. In this case I would like to rember the profile in the document.

midoras signature.gif

Link to comment
Share on other sites

Don't modify the input in OnSave(). (note to self: make the Document read-only for the duration of OnSave)

For the output, you can embed whatever you want for the file type that you're saving as. This doesn't require you to do anything Paint.NET-specific.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

  • 3 years later...

I don't Need it right now, I found a better Workaround, but just out of curiosity:

 

Would it be alright to use a reflection "hack" to Change something in my own effects IndirectUI? (e.g. Setting a Checkbox to false when the Dialog is shown Independent of the last token)

My batch Image Processor: https://imagenator.codeplex.com

Link to comment
Share on other sites

Reflection = no. I will remove your plugin from the forum.

 

However, as usual, if you're just doing something for yourself (e.g. not publishing it on this forum) then you can do whatever you want.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

  • 5 months later...

New rule added to clarify this. see also: http://forums.getpaint.net/index.php?/topic/107032-tile/#entry511100

 

 

Plugins must not use reflection to reach into Paint.NET's internals.

If something is private or internal, then it's off-limits. Do not use reflection to reach in to get access. This includes instantiating classes, accessing private fields, etc.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

Add two new rules, based on some terrible things I'm finding while wrestling to get plugins working with 4.3 by any means necessary

  • Plugins may not require adding any files to the main application directory
  • Plugins must not hook global events for Assembly loading, e.g. AppDomain.AssemblyResolve

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

  • 2 weeks later...

Added another rules that has come about while I've been wrestling to get legacy plugins to work with 4.3

  • Plugins must not do discovery and loading of other plugins

(there is a much better alternative now to doing it yourself)

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

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.

 Share

×
×
  • Create New...