Merge pull request #5 from Kalekki/persistent_settings

Persistent settings with localstorage
This commit is contained in:
tim h 2022-11-17 21:28:16 -06:00 committed by GitHub
commit 0c2d726ede

View file

@ -103,6 +103,7 @@ const bgCanvas = document.getElementById("backgroundCanvas"); // gray bg grid
const bgCtx = bgCanvas.getContext("2d"); const bgCtx = bgCanvas.getContext("2d");
function startup() { function startup() {
loadSettings();
drawBackground(); drawBackground();
changeScaleFactor(); changeScaleFactor();
changePaintMode(); changePaintMode();
@ -611,10 +612,12 @@ function mouseUp(evt) {
function changeScaleFactor() { function changeScaleFactor() {
document.getElementById("scaleFactorTxt").innerText = scaleFactor = document.getElementById("scaleFactor").value; document.getElementById("scaleFactorTxt").innerText = scaleFactor = document.getElementById("scaleFactor").value;
localStorage.setItem("scaleFactor", scaleFactor);
} }
function changeSteps() { function changeSteps() {
document.getElementById("stepsTxt").innerText = stableDiffusionData.steps = document.getElementById("steps").value; document.getElementById("stepsTxt").innerText = stableDiffusionData.steps = document.getElementById("steps").value;
localStorage.setItem("steps", stableDiffusionData.steps);
} }
function changePaintMode() { function changePaintMode() {
@ -631,18 +634,22 @@ function changeEraseMode() {
function changeSampler() { function changeSampler() {
stableDiffusionData.sampler_index = document.getElementById("samplerSelect").value; stableDiffusionData.sampler_index = document.getElementById("samplerSelect").value;
localStorage.setItem("sampler", stableDiffusionData.sampler_index);
} }
function changeCfgScale() { function changeCfgScale() {
document.getElementById("cfgScaleTxt").innerText = stableDiffusionData.cfg_scale = document.getElementById("cfgScale").value; document.getElementById("cfgScaleTxt").innerText = stableDiffusionData.cfg_scale = document.getElementById("cfgScale").value;
localStorage.setItem("cfg_scale", stableDiffusionData.cfg_scale);
} }
function changeBatchSize() { function changeBatchSize() {
document.getElementById("batchSizeText").innerText = stableDiffusionData.batch_size = document.getElementById("batchSize").value; document.getElementById("batchSizeText").innerText = stableDiffusionData.batch_size = document.getElementById("batchSize").value;
localStorage.setItem("batch_size", stableDiffusionData.batch_size);
} }
function changeBatchCount() { function changeBatchCount() {
document.getElementById("batchCountText").innerText = stableDiffusionData.n_iter = document.getElementById("batchCount").value; document.getElementById("batchCountText").innerText = stableDiffusionData.n_iter = document.getElementById("batchCount").value;
localStorage.setItem("n_iter", stableDiffusionData.n_iter);
} }
function changeSnapMode() { function changeSnapMode() {
@ -651,6 +658,7 @@ function changeSnapMode() {
function changeMaskBlur() { function changeMaskBlur() {
stableDiffusionData.mask_blur = document.getElementById("maskBlur").value; stableDiffusionData.mask_blur = document.getElementById("maskBlur").value;
localStorage.setItem("mask_blur", stableDiffusionData.mask_blur);
} }
function changeSeed() { function changeSeed() {
@ -691,7 +699,7 @@ function drawBackground() {
function downloadImage() { function downloadImage() {
var link = document.createElement('a'); var link = document.createElement('a');
link.download = new Date().toISOString().slice(0, 19).replace('T', ' ').replace(':', ' ') + ' openOutpaint image.png'; link.download = new Date().toISOString().slice(0, 19).replace('T', ' ').replace(':', ' ') + ' openOutpaint image.png';
croppedCanvas = cropCanvas(imgCanvas); var croppedCanvas = cropCanvas(imgCanvas);
if (croppedCanvas != null) { if (croppedCanvas != null) {
link.href = croppedCanvas.toDataURL('image/png'); link.href = croppedCanvas.toDataURL('image/png');
link.click(); link.click();
@ -739,3 +747,22 @@ function cropCanvas(sourceCanvas) {
return cutCanvas; return cutCanvas;
} }
function loadSettings() {
// set default values if not set DEFAULTS
var _sampler = localStorage.getItem("sampler") == null ? "DDIM" : localStorage.getItem("sampler");
var _steps = localStorage.getItem("steps") == null ? 30 : localStorage.getItem("steps");
var _cfg_scale = localStorage.getItem("cfg_scale") == null ? 7.0 : localStorage.getItem("cfg_scale");
var _batch_size = localStorage.getItem("batch_size") == null ? 2 : localStorage.getItem("batch_size");
var _n_iter = localStorage.getItem("n_iter") == null ? 2 : localStorage.getItem("n_iter");
var _scaleFactor = localStorage.getItem("scaleFactor") == null ? 8 : localStorage.getItem("scaleFactor");
var _mask_blur = localStorage.getItem("mask_blur") == null ? 0 : localStorage.getItem("mask_blur");
// set the values into the UI
document.getElementById("samplerSelect").value = String(_sampler);
document.getElementById("steps").value = Number(_steps);
document.getElementById("cfgScale").value = Number(_cfg_scale);
document.getElementById("batchSize").value = Number(_batch_size);
document.getElementById("batchCount").value = Number(_n_iter);
document.getElementById("scaleFactor").value = Number(_scaleFactor);
document.getElementById("maskBlur").value = Number(_mask_blur);
}