Jump to content

NinthDesertDude

Members
  • Posts

    615
  • Joined

  • Last visited

  • Days Won

    15

Everything posted by NinthDesertDude

  1. I'll investigate this now. When the brush is selected or rescaled, it should be possible to create an outline using e.g. the sobel operator.
  2. It sounds like you're describing an abstraction that provides the x,y coordinates and LMB press info from whatever device is in use (mouse, or tablet via windows ink) which would be welcome. If that includes stylus info like current pressure, that'd give me windows ink support almost for free. Either way, I'd be happy. I'm not too familiar with how native Winforms controls deal with paint events, but if they're not using Direct2D to do it and D2D is faster (which I'm guessing is the case, if you're offering), then that's another offer I'd happily take.
  3. Pixel art is already on the list since it's less dependent on layers (easier to select and modify pixels when everything is solid color). So is a bunch of tool concepts, like line, bezier, polygon, etc. There's enough to keep me occupied for some years. I'm just going to focus on the more interesting and impactful features more than code plumbing considering how long this plugin's been around already. Eventually I need to add defaults for other locales, and tutorials to show people how to use DD. The pixel art ideas and more are at https://github.com/NinthDesertDude/Dynamic-Draw/wiki/Change-Log-&-Roadmap#roadmap. Let me know if anything's extra interesting and maybe I'll prioritize it for next time I'm working on DD.
  4. Love to hear the positive feedback! It's pretty much the reason I've been developing this for about 5 years now. I started it as a free, simple photoshop-like brush system (and later learned that both Krita and FireAlpaca existed already). I'm not planning on doing too much development on it now that some of those programs have matured a bit and do brush drawing better. I definitely had to add the brush filter option since I chose to deprecate that plugin; I'd hate to let it die without a replacement. There's a few things I might still investigate, like redesigning the UI, adding better pixel brush tooling (a pixel-perfect pencil is still a rare tool in drawing software!), smudge brush, etc. The one thing that's sorely missing is layers, though. It's kinda hard to make this plugin convenient for its purpose unless I get the option to read/write layers, and I don't see that happening (and honestly, even if it did, layer masks and layer groups don't exist in paint.net, so competing programs built-to-purpose will always have an obvious edge).
  5. Yep, thanks for the concern. I have nothing important on this computer right now. I'm just using it to program and push updates to Github so nothing important sits around.
  6. I've only got Windows Defender installed; turning it off and restarting didn't resolve it either. I decided to double-check 4.3.10 again and it repros there, so I guess it can be chalked up squarely to some issue with my computer. Maybe some updates are out of date (or the computer just decided this is how it'll go about aging, since I know my hard drive is clicking and will die eventually)
  7. Version 3.3 released You can now select a filter to apply and draw on the canvas using your chosen brush. This makes the defunct Brush Filter plugin fully obsolete. A lot of operations are now slightly faster due to parallelization, mostly visible at high brush sizes. How to use filters Select the effect and adjust the settings in the dialog (if any). At the moment, canceling is the same as clicking OK -- that will change later. Use the gear button to adjust the settings. Hover over the dropdown or settings button to preview the full effect at any time. Notes: - performing undo and redo is slower with an effect active, because it reapplies the effect after each undo or redo. If it's too slow, clear the active effect. - the dropdown shows built-in effects/adjustments in alphabetical order, then custom effects/adjustments in alphabetical order. - the way effects are applied by DynamicDraw is imperfect, so all plugin packs were tested for compatibility and certain ones were blacklisted. Known effects compatibility list
  8. On version 4.3.11, and not on version 4.3.10, I have a long delay on the scale of about 10 seconds between opening any image. Doubtful I'm the only one to experience it, so I figured I'd open a bug for it. This doesn't repro on v4.3.10. This delay will happen image-by-image if I try to load multiple at once, so it quickly becomes an unacceptably long delay. No change to hardware, no manual changes to drivers, repros consistently. It happens even with no 3rd-party plugins installed / on a fresh install. There is no delay for pasted images or the default blank image when opening paint.net, only for images opened by the file browser or drag-n-drop. The delay exists both with hardware accelerated rendering on, or off. Here's a copy of the diagnostics from version 4.3.11 if that helps. Let me know anything to try. Edit: Delay is not tied to image size, even a 1x1 image takes almost ten seconds. I can see the preview of it immediately, and then the program is paused doing who-knows-what for the same duration
  9. Equations doesn't seem to do much in paint.net v4.3.10 and v4.3.11, can someone confirm and if so, maybe add a note on that being also incompatible. The dialog opens, but clicking OK doesn't even close the dialog and there's nothing previewed on screen, so it's pretty unusable.
  10. You caught my comment in the first 3 minutes or so that I wrote it. It changed since.
  11. 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.)
  12. Right now I do this: effectToDraw.effect.Services = this.Services; let me know if I don't need to set it, and when it gets set would be very good to know in that case, to make sure I won't initialize it too late or something. There's a 2017 thread saying the Services would be set up correctly as long as the effect was set up correctly, but at some point it was either scriptlab or plugin browser which had this line of code that I borrowed, since they render plugins correctly in practice and I was taking implementation over documentation. So yeah, whatever the correct way to do it would be best to know.
  13. You've got some really insightful psychic debugging skills there, null54. I was creating the property collection earlier, thinking that was safe to do. Now it works fine. I do have it set actually; I just didn't mention it in the post. Accidental omission. It's set at the same time as environment parameters. Now all I have to do is get an enormous list of all the up-to-date plugins and go through that whole rigamarole again to see what's working...thanks for the help, guys.
  14. Wasn't sure if you meant blocked from continuing to future PDN versions, or if you meant effective-immediate removal of any download links and such. Yes I'm using IEffectsService. Thank goodness for it, too. So much easier.
  15. Is the source code available and/or can it be shared? I want to see if it's doing something differently Confirmed, it's working correctly and without hanging the entire app. That's great! Thanks for the tip
  16. Easy enough, but how is this worse than crashing paint.net to desktop by any other means? Go ahead and block BrushFilter which does this; the plugin is deprecated and my work here is to replace it, actually. This is the last piece before everything it did is part of DynamicDraw I couldn't find "effect lab", so it's probably the same as ScriptLab. Long ago, I used effect lab to create the BrushFilter plugin. Today all I could find was ScriptLab, which isn't maintained now. All I see is TR's unmerged PR that's now itself out-of-date. Shame to lose such a plugin. I think I have a good way to deal with maintaining a plugin list, if it comes down to it. Though I'm hopeful the plugin browser does everything just right and I can skate by with all plugins working or at least not crashing. For clarity, DynamicDraw is safe and does not do this.
  17. In short, I need to get any effect to at least not crash, because I can't release a feature that crashes PDN. Any effect that can normally run in Paint.net needs to theoretically be able to run in DynamicDraw. ScriptLab is the best for this, but it's inoperable right now and hard to glean info from since it uses chunks of code copied from PDN that depend on now-internal classes. I've also scoured forums a bit and the plugin index; I took what I could from Effect Lab already. Some complicated effects like G'mic work, while some like Radial Blur crash (the only built-in effect that's not behaving). Maybe someone can tell what's null here? Noteworthy things I'm doing I subscribe to Application.ThreadException already and successfully catch thread errors from some plugins that crash I'm not running any effects in the DoNotDisplay effect category. I run effects using CreateConfigDialog(), then setting the effect, the dialog owner, and token, then ShowDialog(). I pass in these environment parameters: effectToDraw.effect.EnvironmentParameters = new EffectEnvironmentParameters( bttnBrushColor.BackColor, Color.Black, sliderBrushSize.Value, Document.DefaultResolution, new PdnRegion(EnvironmentParameters.GetSelectionAsPdnRegion().GetRegionData()), Surface.CopyFromBitmap(bmpCommitted)); On a worker thread, just after the dialog opens or the effect token changes, I render the effect. (ROIs are well-tested and valid, accounting for the full image.) effectToDraw.effect.Render( changedToken ?? effectToDraw.settings ?? new PropertyBasedEffectConfigToken(effectToDraw.propertySettings), stagedBmpSurface, committedBmpSurface, Utils.GetRois(bmpCommitted.Width, bmpCommitted.Height)); All built-in effects work except radial blur, which crashes and isn't caught by the application-level thread exception handler (there are 2 effects that have no dialog and don't give results, but that's probably my fault, and similar ones like Sepia still work). Custom effects work, both property and non-property based, but with varying success. Effects like PasteAlpha will indefinitely hang paint.net and I really, really need a solution to those because I don't want people losing work and I really don't want to maintain a whitelist of working plugins. Has anyone besides ScriptLab, EffectLab and myself tried to run any effect programmatically? Do you see anything wrong with my approach? Any thoughts on what could be failing? All advice welcome!
  18. I know it's possible to inherit values, but can you directly check if PDN is in dark or light mode? I need to override colors depending on the mode instead.
  19. Looks like a useful plugin, nice. Slab text is a nice name since it can't be confused with anything else. I would call it something like stacked text.
  20. Ok, maybe your GPU configuration and Paint.net are clashing deep somewhere in the code. Kinda shooting in the dark here, but could you try turning off hardware-accelerated rendering? This will stop using the GPU; at the very least it'll scrub GPU off the problems list. You can find the settings for it on the top right corner (gear icon). It's the very first checkbox, should be visible as soon as the settings opens.
  21. hmm, interesting. Thoughts: - hard to see. Higher contrast would be nice - monochrome icons is a design antipattern that's really popular right now that the world will regret later (and already does in some places; see the whole discussion about it when Blender moved to 2.81) - I don't see much else going on here. Rounded corners are here, but rounded vs. sharp means nothing to me. No serious UI changes it looks like Not much else to say, I guess. Themes won't be changing in PDN any time soon; they've got a backlog the size of the pyramid of Giza due to the fact only a few programmers work on it. But if you have thoughts on any functional design changes, like better button placements, keyboard shortcuts, etc. then maybe that feedback would be considered for future things
  22. Can you reproduce these issues at all with a picture that's just a 1x1 pixel? Something so small that memory and threading can't be the problem
  23. Version 3.2 released This update includes adding RGB channel locks and also HSV channel locks! All remaining blend modes have been added, and the concept of transparency has been separated into two topics, common among drawing programs: - Brush Opacity is transparency the way it works in paint.net. That means flat, transparent sections as you draw - Brush Flow is transparency the way it was previously implemented. Everything "builds up" until it's totally opaque. (This works with opacity too, so if the opacity is 50%, nothing will "build up" past 50%). Both flow and opacity are part of this plugin, because both have proven useful in most drawing applications. A square brush has been added. A checkerboard dithering option has been added under Special Settings for pixel art. Overlapping lines in every blend mode: (Also, the last release included a bugfix for where pixels are drawn + snapping of the brush indicator to pixels, for pixel art drawing. Forgot to mention that.)
  24. Math issue with transparency (premultiplication issue, specifically). I solved it in the successor to this plugin, called Dynamic Draw. And as Pixey said, TR's been gone off the forums for some time now, unfortunately
  25. brush size max is 1000. If the size shift considered random size jitter, it would be very erratic to use. It only checks the brush size property, which is the one that permanently changes as you use it. I like alpha and rotation shift, but the size shift is really only useful for things like drawing a meteor, and it's easy enough to do that without it. Eventually I'll have an overhaul of the dynamic constraints that gives you more flexible behavior, and this will go away.
×
×
  • Create New...