Jump to content

CodeLab v6.0 (for advanced users) Released June 25, 2020

Recommended Posts

  • 2 weeks later...

Speaking of it, I just crashed PDN playing with a code.

Is there any way to save or restore any of my 5 unsaved files?

EDIT: I attempt to close it, and it asks me if I want to save. I save all of them until I reach the one that I really need. It does the crash log thing, and here it is:

This text file was created because Paint.NET crashed.
Please e-mail this file to paint.net@hotmail.com so we can diagnose and fix the problem.

Application version: Paint.NET v3.0 (Release Candidate 1 Release build 3.0.2574.35172)
Time of crash: 1/21/2007 11:02:17 PM
Application uptime: 1.07:40:07.6875000
OS Version: 5.1.2600.131072 Service Pack 2 Workstation x86
.NET Framework version: 2.0.50727.42 x86
Processor: 1x AMD Athlon(tm) 64 Processor 3500+
Physical memory: 894 MB
Tablet PC: no
Locale: pdnr.c: en-US, hklm: en-US, hkcu: n/a, cc: en-US, cuic: en-US

Exception details:
System.InvalidOperationException: ScratchSurface already borrowed: 'PaintDotNet.Menus.EffectsMenu.RunEffect() using scratch surface for rendering during configuration' (trying to borrow for: 'MoveTool: Tool.Activate()')
  at PaintDotNet.DocumentWorkspace.BorrowScratchSurface(String reason)
  at PaintDotNet.Tool.Activate()
  at PaintDotNet.DocumentWorkspace.SetTool(Tool copyMe)
  at PaintDotNet.DocumentWorkspace.SetToolFromType(Type toolType)
  at PaintDotNet.AppWorkspace.OnActiveDocumentWorkspaceChanged()
  at PaintDotNet.AppWorkspace.set_ActiveDocumentWorkspace(DocumentWorkspace value)
  at PaintDotNet.AppWorkspace.RemoveDocumentWorkspace(DocumentWorkspace documentWorkspace)
  at PaintDotNet.Actions.CloseAllWorkspacesAction.PerformAction(AppWorkspace appWorkspace)
  at PaintDotNet.AppWorkspace.PerformAction(AppWorkspaceAction performMe)
  at PaintDotNet.MainForm.OnClosing(CancelEventArgs e)
  at System.Windows.Forms.Form.WmClose(Message& m)
  at System.Windows.Forms.Form.WndProc(Message& m)
  at PaintDotNet.PdnBaseForm.OurWndProc(Message& m)
  at PaintDotNet.PdnBaseForm.WndProc(Message& m)
  at PaintDotNet.MainForm.WndProc(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
  at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I'm not ready to say ok until I know if I can get some of this file back.

Link to post
Share on other sites

I did some more trials with and found that if I hit the "clear" button before trying to load a script, the script will not load. If I load a script without hitting the "clear" button, the script loads fine. If I load a script then hit clear and then try to load a script again, the script will not load. It seems there is something going on with the "clear" button.

Link to post
Share on other sites



All seems well. Pressing the "Clear" button before loading a script no longer prevents the script from loading. After a script is loaded, hitting the "Clear" button clears out the current script.

Looks like you got it. Problem solved.


Link to post
Share on other sites
Maybe you could change your effect's name to avoid confusion.

What 'confusion'?

What I did was upgrade CodeLab, not create a new, different CodeLab--it replaces CodeLab.

But, if you want to know if you are running the original CodeLab or my upgraded CodeLab, just look at its title bar. The original is "Alpha" and mine is "Alpha 2".

Link to post
Share on other sites

I mean by confusion the fact that it's not Tom, the original author of the codelab plugin, who update it. For example how would you manage bugs reports, see from which version did they come? Sth like "BoltBait's Codelab" will be fine for me.

But it's just my 2 cents, do whatever you want :)

Link to post
Share on other sites

I don't believe Tom is planning any future updates to the CodeLab tool.

So, I took it and fixed a bunch of bugs/enhancement requests.

When I'm done putting in the stuff I want to do (I'm trying to figure out how to make it include an icon) I will publish my source code. If Tom wants to publish an "official" update incorporating some/all of my changes, he is free to do that. In the mean time, at least *I* will enjoy a better working CodeLab--and you can too, as I like to share.

Oh, and as I said in a previous post, my version says "Alpha 2" in the title bar of the code editor. Tom's only says "Alpha". So, it isn't too hard to tell them apart.

Link to post
Share on other sites
  • 2 weeks later...

any chance you'll be releasing the (enhanced) codelab source code? I've been playing with the idea to include some basic autocompletion facility....(no promises here, though)

Yes, I will release the source once I finish my changes.

I still want to add the ability to include a custom icon and submenu organization.

BTW, I've done some research about including an icon and it looks fairly easy. I just need to find some time to implement it. Also, putting effects into submenus is easy.

I'm working on another effect at the moment.

Link to post
Share on other sites

OK, I have made another large update to CodeLab.

You can now specify a menu icon, and a submenu name for your built DLL's.

Here is a screen shot of CodeLab just after pressing the Make DLL button and selecting an icon:

Oops! Where'd that screenshot go? :cry:

You can download the new dll here: http://boltbait.googlepages.com/codelab

By the way, if you store your PNG file (with the same name as your .cs file) in the C:/Program Files/Paint.NET/Effects folder, the dialog box will pick them up for you automatically.

Oh, and I fixed a bug where CodeLab would not report errors while building a DLL.

And, with that, I think I've implemented just about everything people have asked for. So, I'll be publishing the source code soon.

EDIT: Hmmm... wonder if I could set it up to support some type of UI creation... ;)

Link to post
Share on other sites
  • 3 weeks later...
  • BoltBait changed the title to CodeLab v6.0 (for advanced users) Released June 25, 2020

Join the conversation

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

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