SdPaint
SdPaint copied to clipboard
Img2img using an image file, OSD display, render wait
I'm not sure if you want to follow this road, but it was pretty easy to add and allow to use a single tool so : img2img mode with a command line path to a file. When the image file is updated (for example by saving in Photoshop or any editor), a request for img2img is done. Separate img2img.json
file for the settings. Supports standard image files, and psd.
PS : not the subject, but in the same packet of updates : added l
/m
shortcuts to switch between multiple controlnet models. I personally use it to switch between scribble, lineart and lineart anime.
I also added a small OSD & progress bar display :
Added a wait time between 2 brush strokes before launching the render call.
By default 0.5s
. The t
key cycles between 0.5s, 1s, 1.5s, 2.0s and off.
Sorry the PR has many mixed stuff now, I forgot I was coding in this branch. 😅
These modifications look great. I added you as a collaborator if you want that. Will that give you control to update this?
I accepted the collaborator status. I thought I would be able to merge, but I have this message when trying to approve the changes :
Maybe a setting to update ?
Accepting PR #11 should contains all of the present modifications.
I wanted to test it out before merging and a had few problems. Maybe I am not reading it correctly, but it is not very clear to me where to change the settings. Do I remove the "-dist" from the config file? and what is the difference between these files? I don't have the fp16 models so it won't find my controlnet models.
I also get these artifacts when drawing large brushes
And also think it is best to have the resolution on 512x512 and no highres fix enabled by default. Because a lot of people don't have that capable hardware it would be nice for them to be able to begin in the best optimal settings
The local configurations are not handled in this PR, I think we should close this one without merging, and continue the discussion on PR #11 .
To answer your questions :
Do I remove the "-dist" from the config file? and what is the difference between these files?
The .json-dist
files are distribution files, to be kept on the git repos. You are right we should keep those with lighter requirements. When you want to use local settings, you copy the .json-dist
as .json
, leaving the distribution file in place . Those later files are ignored by the .gitignore so it won't mess the repository. When updating the seed, a copy of the configuration file is automatically done if not already present.
Otherwise if you mess with versioned configuration files, you could have a merge error when trying to update.
I also get these artifacts when drawing large brushes
I tried various solutions to avoid those artifacts, but to no avail. Maybe we should revert to dot tracing with big brushes, but the problem is somewhat worse with quick brush strokes. For now my only solution is to keep it slow with big brushes... not ideal.
I will close this PR, see you in PR #11 .
I don't have the fp16 models so it won't find my controlnet models.
I think the best approach is to leave the model empty, and use a call to http://127.0.0.1:7860/controlnet/model_list on first launch to autopopulate the controlers models list in a local configuration file. Avoiding any mistakes by the users.
at this point, this branch should be merged with the current head or else bigger conflict problems will occur. I tested and this version works as reliably as the first version.
I looked up why the drawing fails on curves, implemented some changes but still got the same results on curves it is working fine when drawing slowly, so it is highly possible to be related with the read speed of pygame