1
0
mirror of https://github.com/upscayl/upscayl.git synced 2024-11-27 17:00:52 +01:00

Fix commands

This commit is contained in:
Nayam Amarshe 2023-09-10 23:12:18 +05:30
parent 80ed1516aa
commit c798ffc7db
13 changed files with 203 additions and 219 deletions

View File

@ -1,20 +1,22 @@
import { MessageBoxOptions, dialog } from "electron";
import mainWindow from "../main-window";
import {
getCustomModelsFolderPath,
customModelsFolderPath,
setCustomModelsFolderPath,
} from "../utils/config-variables";
import logit from "../utils/logit";
import slash from "../utils/slash";
import COMMAND from "../constants/commands";
import getModels from "../utils/get-models";
import { getMainWindow } from "../main-window";
const mainWindow = getMainWindow();
const customModelsSelect = async (event, message) => {
if (!mainWindow) return;
const { canceled, filePaths: folderPaths } = await dialog.showOpenDialog({
properties: ["openDirectory"],
title: "Select Custom Models Folder",
defaultPath: getCustomModelsFolderPath(),
defaultPath: customModelsFolderPath,
});
if (canceled) {
logit("🚫 Select Custom Models Folder Operation Cancelled");
@ -40,11 +42,11 @@ const customModelsSelect = async (event, message) => {
mainWindow.webContents.send(
COMMAND.CUSTOM_MODEL_FILES_LIST,
getModels(getCustomModelsFolderPath())
getModels(customModelsFolderPath)
);
logit("📁 Custom Folder Path: ", getCustomModelsFolderPath());
return getCustomModelsFolderPath();
logit("📁 Custom Folder Path: ", customModelsFolderPath);
return customModelsFolderPath;
}
};

View File

@ -1,18 +1,20 @@
import COMMAND from "../constants/commands";
import mainWindow from "../main-window";
import { getMainWindow } from "../main-window";
import {
getCustomModelsFolderPath,
customModelsFolderPath,
setCustomModelsFolderPath,
} from "../utils/config-variables";
import getModels from "../utils/get-models";
import logit from "../utils/logit";
const mainWindow = getMainWindow();
const getModelsList = async (event, payload) => {
if (!mainWindow) return;
if (payload) {
setCustomModelsFolderPath(payload);
logit("📁 Custom Models Folder Path: ", getCustomModelsFolderPath());
logit("📁 Custom Models Folder Path: ", customModelsFolderPath);
mainWindow.webContents.send(
COMMAND.CUSTOM_MODEL_FILES_LIST,

View File

@ -1,17 +1,16 @@
import fs from "fs";
import { modelsPath } from "../binaries";
import COMMAND from "../constants/commands";
import mainWindow from "../main-window";
import {
getCustomModelsFolderPath,
getFolderPath,
getOutputFolderPath,
getOverwrite,
getSaveOutputFolder,
getStop,
customModelsFolderPath,
folderPath,
outputFolderPath,
overwrite,
saveOutputFolder,
setChildProcesses,
setOverwrite,
setStop,
setStopped,
stopped,
} from "../utils/config-variables";
import convertAndScale from "../utils/convert-and-scale";
import { getSingleImageArguments } from "../utils/get-arguments";
@ -20,9 +19,20 @@ import slash from "../utils/slash";
import { spawnUpscayl } from "../utils/spawn-upscayl";
import { parse } from "path";
import DEFAULT_MODELS from "../constants/models";
import { getMainWindow } from "../main-window";
import stop from "./stop";
const imageUpscayl = async (event, payload) => {
if (!mainWindow) return;
const mainWindow = getMainWindow();
if (!mainWindow) {
console.log("No main window");
return;
}
console.log({
overwrite: payload.overwrite,
});
setOverwrite(payload.overwrite);
const model = payload.model as string;
const gpuId = payload.gpuId as string;
@ -30,10 +40,10 @@ const imageUpscayl = async (event, payload) => {
let inputDir = (payload.imagePath.match(/(.*)[\/\\]/)[1] || "") as string;
let outputDir: string | undefined =
getFolderPath() || (payload.outputPath as string);
folderPath || (payload.outputPath as string);
if (getSaveOutputFolder() === true && getOutputFolderPath()) {
outputDir = getOutputFolderPath();
if (saveOutputFolder === true && outputFolderPath) {
outputDir = outputFolderPath;
}
const isDefaultModel = DEFAULT_MODELS.includes(model);
@ -63,6 +73,7 @@ const imageUpscayl = async (event, payload) => {
saveImageAs;
// GET OVERWRITE SETTINGS FROM LOCAL STORAGE
mainWindow.webContents
.executeJavaScript('localStorage.getItem("overwrite");', true)
.then((lastSavedOverwrite: boolean | null) => {
@ -73,7 +84,7 @@ const imageUpscayl = async (event, payload) => {
});
// UPSCALE
if (fs.existsSync(outFile) && getOverwrite() === false) {
if (fs.existsSync(outFile) && overwrite === false) {
// If already upscayled, just output that file
logit("✅ Already upscayled at: ", outFile);
mainWindow.webContents.send(
@ -90,7 +101,7 @@ const imageUpscayl = async (event, payload) => {
inputDir,
fullfileName,
outFile,
isDefaultModel ? modelsPath : getCustomModelsFolderPath() ?? modelsPath,
isDefaultModel ? modelsPath : customModelsFolderPath ?? modelsPath,
model,
scale,
gpuId,
@ -101,12 +112,11 @@ const imageUpscayl = async (event, payload) => {
setChildProcesses(upscayl);
setStop(false);
setStopped(false);
let isAlpha = false;
let failed = false;
const onData = (data: string) => {
if (!mainWindow) return;
logit("image upscayl: ", data.toString());
mainWindow.setProgressBar(parseFloat(data.slice(0, data.length)) / 100);
data = data.toString();
@ -130,15 +140,13 @@ const imageUpscayl = async (event, payload) => {
return;
};
const onClose = async () => {
if (!failed && !getStop()) {
if (!failed && !stopped) {
logit("💯 Done upscaling");
logit("♻ Scaling and converting now...");
mainWindow &&
mainWindow.webContents.send(COMMAND.SCALING_AND_CONVERTING);
mainWindow.webContents.send(COMMAND.SCALING_AND_CONVERTING);
// Free up memory
upscayl.kill();
try {
if (!mainWindow) return;
await convertAndScale(
inputDir + slash + fullfileName,
isAlpha ? outFile + ".png" : outFile,
@ -161,11 +169,10 @@ const imageUpscayl = async (event, payload) => {
error
);
upscayl.kill();
mainWindow &&
mainWindow.webContents.send(
COMMAND.UPSCAYL_ERROR,
"Error processing (scaling and converting) the image. Please report this error on Upscayl GitHub Issues page."
);
mainWindow.webContents.send(
COMMAND.UPSCAYL_ERROR,
"Error processing (scaling and converting) the image. Please report this error on Upscayl GitHub Issues page."
);
}
}
};

View File

@ -1,14 +1,15 @@
import { MessageBoxOptions, dialog } from "electron";
import mainWindow from "../main-window";
import { getImagePath, setImagePath } from "../utils/config-variables";
import { getMainWindow } from "../main-window";
import { imagePath, setImagePath } from "../utils/config-variables";
import logit from "../utils/logit";
const mainWindow = getMainWindow();
const selectFile = async () => {
if (!mainWindow) return;
const { canceled, filePaths } = await dialog.showOpenDialog({
properties: ["openFile", "multiSelections"],
title: "Select Image",
defaultPath: getImagePath(),
defaultPath: imagePath,
});
if (canceled) {
@ -43,6 +44,7 @@ const selectFile = async () => {
message:
"The selected file is not a valid image. Make sure you select a '.png', '.jpg', or '.webp' file.",
};
if (!mainWindow) return null;
dialog.showMessageBoxSync(mainWindow, options);
return null;
}

View File

@ -1,11 +1,11 @@
import { dialog } from "electron";
import { getFolderPath, setFolderPath } from "../utils/config-variables";
import { folderPath, setFolderPath } from "../utils/config-variables";
import logit from "../utils/logit";
const selectFolder = async (event, message) => {
const { canceled, filePaths: folderPaths } = await dialog.showOpenDialog({
properties: ["openDirectory"],
defaultPath: getFolderPath(),
defaultPath: folderPath,
});
if (canceled) {
@ -13,7 +13,7 @@ const selectFolder = async (event, message) => {
return null;
} else {
setFolderPath(folderPaths[0]);
logit("📁 Selected Folder Path: ", getFolderPath());
logit("📁 Selected Folder Path: ", folderPath);
return folderPaths[0];
}
};

View File

@ -1,11 +1,13 @@
import mainWindow from "../main-window";
import { getChildProcesses, setStop } from "../utils/config-variables";
import { getMainWindow } from "../main-window";
import { childProcesses, setStopped } from "../utils/config-variables";
import logit from "../utils/logit";
const mainWindow = getMainWindow();
const stop = async (event, payload) => {
setStop(true);
setStopped(true);
mainWindow && mainWindow.setProgressBar(-1);
getChildProcesses().forEach((child) => {
childProcesses.forEach((child) => {
logit("🛑 Stopping Upscaling Process", child.process.pid);
child.kill();
});

View File

@ -1,6 +1,15 @@
import prepareNext from "electron-next";
import { autoUpdater } from "electron-updater";
import log from "electron-log";
import { app, ipcMain, dialog, MessageBoxOptions } from "electron";
import {
app,
ipcMain,
dialog,
MessageBoxOptions,
shell,
protocol,
net,
} from "electron";
import COMMAND from "./constants/commands";
import logit from "./utils/logit";
import openFolder from "./commands/open-folder";
@ -10,19 +19,41 @@ import selectFile from "./commands/select-file";
import getModelsList from "./commands/get-models-list";
import customModelsSelect from "./commands/custom-models-select";
import imageUpscayl from "./commands/image-upscayl";
import { setStop } from "./utils/config-variables";
import {
setCustomModelsFolderPath,
setFolderPath,
setImagePath,
setOutputFolderPath,
setQuality,
setSaveOutputFolder,
setStopped,
} from "./utils/config-variables";
import { createMainWindow, getMainWindow } from "./main-window";
import electronIsDev from "electron-is-dev";
import { getPlatform } from "./get-device-specs";
import { join } from "path";
import { execPath, modelsPath } from "./binaries";
// INITIALIZATION
setStop(false);
log.initialize({ preload: true });
logit("🚃 App Path: ", app.getAppPath());
function escapeRegExp(string) {
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
app.whenReady().then(async () => {
await prepareNext("./renderer");
createMainWindow();
log.info("🚀 UPSCAYL EXEC PATH: ", execPath("realesrgan"));
log.info("🚀 MODELS PATH: ", modelsPath);
protocol.handle("file:", (request) => {
const pathname = decodeURI(request.url);
return net.fetch(pathname);
});
if (!electronIsDev) {
autoUpdater.checkForUpdates();
}
});
// Quit the app once all windows are closed
app.on("window-all-closed", app.quit);
logit("🚃 App Path: ", app.getAppPath());
//------------------------Open Folder-----------------------------//
ipcMain.on(COMMAND.OPEN_FOLDER, openFolder);

View File

@ -1,63 +1,46 @@
import prepareNext from "electron-next";
import { BrowserWindow, app, net, protocol, shell } from "electron";
import COMMAND from "./constants/commands";
import { BrowserWindow, shell } from "electron";
import { getPlatform } from "./get-device-specs";
import { join } from "path";
import { execPath, modelsPath } from "./binaries";
import log from "electron-log";
import isDev from "electron-is-dev";
import { autoUpdater } from "electron-updater";
import {
setCustomModelsFolderPath,
setFolderPath,
setImagePath,
setOutputFolderPath,
setOverwrite,
setQuality,
setSaveOutputFolder,
} from "./utils/config-variables";
import COMMAND from "./constants/commands";
import electronIsDev from "electron-is-dev";
// Prepare the renderer once the app is ready
let _mainWindow: BrowserWindow | null = null;
let mainWindow: BrowserWindow | null;
const getMainWindow = () => {
if (!_mainWindow) {
_mainWindow = new BrowserWindow({
icon: join(__dirname, "build", "icon.png"),
width: 1300,
height: 940,
minHeight: 500,
minWidth: 500,
show: false,
backgroundColor: "#171717",
webPreferences: {
nodeIntegration: true,
nodeIntegrationInWorker: true,
webSecurity: false,
preload: join(__dirname, "preload.js"),
},
titleBarStyle: getPlatform() === "mac" ? "hiddenInset" : "default",
});
}
const createMainWindow = () => {
mainWindow = new BrowserWindow({
icon: join(__dirname, "build", "icon.png"),
width: 1300,
height: 940,
minHeight: 500,
minWidth: 500,
show: false,
backgroundColor: "#171717",
webPreferences: {
nodeIntegration: true,
nodeIntegrationInWorker: true,
webSecurity: false,
preload: join(__dirname, "preload.js"),
},
titleBarStyle: getPlatform() === "mac" ? "hiddenInset" : "default",
});
return _mainWindow;
};
mainWindow.setMenuBarVisibility(false);
const mainWindow = getMainWindow();
app.on("ready", async () => {
await prepareNext("./renderer");
log.info("🚀 UPSCAYL EXEC PATH: ", execPath("realesrgan"));
log.info("🚀 MODELS PATH: ", modelsPath);
const url = isDev
const url = electronIsDev
? "http://localhost:8000"
: (new URL("file:///").pathname = join(
__dirname,
"../renderer/out/index.html"
)).toString();
mainWindow.setMenuBarVisibility(false);
mainWindow.loadURL(url);
mainWindow.webContents.setWindowOpenHandler(({ url }) => {
@ -68,21 +51,8 @@ app.on("ready", async () => {
mainWindow.once("ready-to-show", () => {
if (!mainWindow) return;
mainWindow.show();
mainWindow.webContents.setZoomFactor(1);
});
app.whenReady().then(() => {
protocol.handle("file", (request) => {
const pathname = decodeURI(request.url.replace("file:///", ""));
return net.fetch(pathname);
});
});
if (!isDev) {
autoUpdater.checkForUpdates();
}
// <------------------------Save Last Paths----------------------------->
// GET LAST IMAGE PATH TO LOCAL STORAGE
mainWindow.webContents
.executeJavaScript('localStorage.getItem("lastImagePath");', true)
@ -138,7 +108,19 @@ app.on("ready", async () => {
}
}
});
// GET IMAGE QUALITY (NUMBER) TO LOCAL STORAGE
mainWindow.webContents
.executeJavaScript('localStorage.getItem("overwrite");', true)
.then((lastSavedOverwrite: string | null) => {
if (lastSavedOverwrite !== null) {
setOverwrite(lastSavedOverwrite === "true");
}
});
mainWindow.webContents.send(COMMAND.OS, getPlatform());
});
};
export default mainWindow;
const getMainWindow = () => {
return mainWindow;
};
export { createMainWindow, getMainWindow };

View File

@ -1,89 +1,49 @@
import { ChildProcessWithoutNullStreams } from "child_process";
let _imagePath: string | undefined = undefined;
let _folderPath: string | undefined = undefined;
let _customModelsFolderPath: string | undefined = undefined;
let _outputFolderPath: string | undefined = undefined;
let _saveOutputFolder = false;
let _quality = 0;
let _overwrite = false;
let _stop = false;
let childProcesses: {
export let imagePath: string | undefined = "";
export let folderPath: string | undefined = undefined;
export let customModelsFolderPath: string | undefined = undefined;
export let outputFolderPath: string | undefined = undefined;
export let saveOutputFolder = false;
export let quality = 0;
export let overwrite = false;
export let stopped = false;
export let childProcesses: {
process: ChildProcessWithoutNullStreams;
kill: () => boolean;
}[] = [];
// GETTERS
export function getImagePath(): string | undefined {
return _imagePath;
}
export function setImagePath(value: string | undefined): void {
_imagePath = value;
}
export function getFolderPath(): string | undefined {
return _folderPath;
imagePath = value;
}
export function setFolderPath(value: string | undefined): void {
_folderPath = value;
}
export function getCustomModelsFolderPath(): string | undefined {
return _customModelsFolderPath;
folderPath = value;
}
export function setCustomModelsFolderPath(value: string | undefined): void {
_customModelsFolderPath = value;
}
export function getOutputFolderPath(): string | undefined {
return _outputFolderPath;
}
export function getStop(): boolean {
return _stop;
}
export function getChildProcesses(): {
process: ChildProcessWithoutNullStreams;
kill: () => boolean;
}[] {
return childProcesses;
customModelsFolderPath = value;
}
// SETTERS
export function setOutputFolderPath(value: string | undefined): void {
_outputFolderPath = value;
}
export function getSaveOutputFolder(): boolean {
return _saveOutputFolder;
outputFolderPath = value;
}
export function setSaveOutputFolder(value: boolean): void {
_saveOutputFolder = value;
}
export function getQuality(): number {
return _quality;
saveOutputFolder = value;
}
export function setQuality(value: number): void {
_quality = value;
}
export function getOverwrite(): boolean {
return _overwrite;
quality = value;
}
export function setOverwrite(value: boolean): void {
_overwrite = value;
overwrite = value;
}
export function setStop(value: boolean): void {
_stop = value;
export function setStopped(value: boolean): void {
stopped = value;
}
export function setChildProcesses(value: {

View File

@ -1,7 +1,7 @@
import sharp from "sharp";
import mainWindow from "../main-window";
import { getQuality } from "./config-variables";
import logit from "./logit";
import { getMainWindow } from "../main-window";
import { quality } from "./config-variables";
const convertAndScale = async (
originalImagePath: string,
@ -11,6 +11,8 @@ const convertAndScale = async (
saveImageAs: string,
onError: (error: any) => void
) => {
const mainWindow = getMainWindow();
const originalImage = await sharp(originalImagePath).metadata();
if (!mainWindow || !originalImage) {
throw new Error("Could not grab the original image!");
@ -24,10 +26,10 @@ const convertAndScale = async (
.withMetadata(); // Keep metadata
// Change the output according to the saveImageAs
if (saveImageAs === "png") {
newImage.png({ quality: 100 - getQuality() });
newImage.png({ quality: 100 - quality });
} else if (saveImageAs === "jpg") {
console.log("Quality: ", getQuality());
newImage.jpeg({ quality: 100 - getQuality() });
console.log("Quality: ", quality);
newImage.jpeg({ quality: 100 - quality });
}
// Save the image
const buffer = await newImage.toBuffer();

View File

@ -1,10 +1,11 @@
import Logger from "electron-log";
import mainWindow from "../main-window";
import log from "electron-log";
import COMMAND from "../constants/commands";
import { getMainWindow } from "../main-window";
const logit = (...args: any) => {
Logger.log(...args);
const mainWindow = getMainWindow();
if (!mainWindow) return;
log.log(...args);
mainWindow.webContents.send(COMMAND.LOG, args.join(" "));
};

View File

@ -20,7 +20,6 @@ const firebaseConfig = {
// Initialize Firebase
const app = initializeApp(firebaseConfig);
export const db = getFirestore(app);
console.log("🚀 => file: firebase.ts:23 => db:", db);
const createCollection = <T = DocumentData>(collectionName: string) => {
return collection(db, collectionName) as CollectionReference<T>;

View File

@ -1,6 +1,6 @@
"use client";
import { useState, useEffect, useCallback } from "react";
import commands from "../../electron/constants/commands";
import COMMAND from "../../electron/constants/commands";
import { ReactCompareSlider } from "react-compare-slider";
import Header from "../components/Header";
import Footer from "../components/Footer";
@ -89,7 +89,7 @@ const Home = () => {
};
window.electron.on(
commands.OS,
COMMAND.OS,
(_, data: "linux" | "mac" | "win" | undefined) => {
if (data) {
setOs(data);
@ -98,21 +98,21 @@ const Home = () => {
);
// LOG
window.electron.on(commands.LOG, (_, data: string) => {
window.electron.on(COMMAND.LOG, (_, data: string) => {
logit(`🐞 BACKEND REPORTED: `, data);
});
window.electron.on(commands.SCALING_AND_CONVERTING, (_, data: string) => {
window.electron.on(COMMAND.SCALING_AND_CONVERTING, (_, data: string) => {
setProgress("Processing the image...");
});
window.electron.on(commands.UPSCAYL_ERROR, (_, data: string) => {
window.electron.on(COMMAND.UPSCAYL_ERROR, (_, data: string) => {
alert(data);
resetImagePaths();
});
// UPSCAYL PROGRESS
window.electron.on(commands.UPSCAYL_PROGRESS, (_, data: string) => {
window.electron.on(COMMAND.UPSCAYL_PROGRESS, (_, data: string) => {
if (data.length > 0 && data.length < 10) {
setProgress(data);
} else if (data.includes("converting")) {
@ -123,7 +123,7 @@ const Home = () => {
});
// FOLDER UPSCAYL PROGRESS
window.electron.on(commands.FOLDER_UPSCAYL_PROGRESS, (_, data: string) => {
window.electron.on(COMMAND.FOLDER_UPSCAYL_PROGRESS, (_, data: string) => {
if (data.length > 0 && data.length < 10) {
setProgress(data);
}
@ -132,7 +132,7 @@ const Home = () => {
});
// DOUBLE UPSCAYL PROGRESS
window.electron.on(commands.DOUBLE_UPSCAYL_PROGRESS, (_, data: string) => {
window.electron.on(COMMAND.DOUBLE_UPSCAYL_PROGRESS, (_, data: string) => {
if (data.length > 0 && data.length < 10) {
if (data === "0.00%") {
setDoubleUpscaylCounter(doubleUpscaylCounter + 1);
@ -144,7 +144,7 @@ const Home = () => {
});
// UPSCAYL DONE
window.electron.on(commands.UPSCAYL_DONE, (_, data: string) => {
window.electron.on(COMMAND.UPSCAYL_DONE, (_, data: string) => {
setProgress("");
setTimeout(() => setUpscaledImagePath(data), 500);
logit("upscaledImagePath: ", data);
@ -152,14 +152,14 @@ const Home = () => {
});
// FOLDER UPSCAYL DONE
window.electron.on(commands.FOLDER_UPSCAYL_DONE, (_, data: string) => {
window.electron.on(COMMAND.FOLDER_UPSCAYL_DONE, (_, data: string) => {
setProgress("");
setUpscaledBatchFolderPath(data);
logit(`💯 FOLDER_UPSCAYL_DONE: `, data);
});
// DOUBLE UPSCAYL DONE
window.electron.on(commands.DOUBLE_UPSCAYL_DONE, (_, data: string) => {
window.electron.on(COMMAND.DOUBLE_UPSCAYL_DONE, (_, data: string) => {
setProgress("");
setDoubleUpscaylCounter(0);
setUpscaledImagePath(data);
@ -167,27 +167,24 @@ const Home = () => {
});
// CUSTOM FOLDER LISTENER
window.electron.on(
commands.CUSTOM_MODEL_FILES_LIST,
(_, data: string[]) => {
logit(`📜 CUSTOM_MODEL_FILES_LIST: `, data);
const newModelOptions = data.map((model) => {
return {
value: model,
label: model,
};
});
window.electron.on(COMMAND.CUSTOM_MODEL_FILES_LIST, (_, data: string[]) => {
logit(`📜 CUSTOM_MODEL_FILES_LIST: `, data);
const newModelOptions = data.map((model) => {
return {
value: model,
label: model,
};
});
// Add newModelsList to modelOptions and remove duplicates
const combinedModelOptions = [...modelOptions, ...newModelOptions];
const uniqueModelOptions = combinedModelOptions.filter(
// Check if any model in the array appears more than once
(model, index, array) =>
array.findIndex((t) => t.value === model.value) === index
);
setModelOptions(uniqueModelOptions);
}
);
// Add newModelsList to modelOptions and remove duplicates
const combinedModelOptions = [...modelOptions, ...newModelOptions];
const uniqueModelOptions = combinedModelOptions.filter(
// Check if any model in the array appears more than once
(model, index, array) =>
array.findIndex((t) => t.value === model.value) === index
);
setModelOptions(uniqueModelOptions);
});
if (!localStorage.getItem("upscaylCloudModalShown")) {
logit("⚙️ upscayl cloud show to true");
localStorage.setItem("upscaylCloudModalShown", "true");
@ -201,7 +198,7 @@ const Home = () => {
);
if (customModelsPath !== null) {
window.electron.send(commands.GET_MODELS_LIST, customModelsPath);
window.electron.send(COMMAND.GET_MODELS_LIST, customModelsPath);
logit("🎯 GET_MODELS_LIST: ", customModelsPath);
}
}, []);
@ -267,7 +264,7 @@ const Home = () => {
const selectImageHandler = async () => {
resetImagePaths();
var path = await window.electron.invoke(commands.SELECT_FILE);
var path = await window.electron.invoke(COMMAND.SELECT_FILE);
if (path !== null) {
logit("🖼 Selected Image Path: ", path);
@ -281,7 +278,7 @@ const Home = () => {
const selectFolderHandler = async () => {
resetImagePaths();
var path = await window.electron.invoke(commands.SELECT_FOLDER);
var path = await window.electron.invoke(COMMAND.SELECT_FOLDER);
if (path !== null) {
logit("🖼 Selected Folder Path: ", path);
@ -319,7 +316,7 @@ const Home = () => {
const openFolderHandler = (e) => {
logit("📂 OPEN_FOLDER: ", upscaledBatchFolderPath);
window.electron.send(commands.OPEN_FOLDER, upscaledBatchFolderPath);
window.electron.send(COMMAND.OPEN_FOLDER, upscaledBatchFolderPath);
};
const handleDrop = (e) => {
@ -380,7 +377,7 @@ const Home = () => {
};
const outputHandler = async () => {
var path = await window.electron.invoke(commands.SELECT_FOLDER);
var path = await window.electron.invoke(COMMAND.SELECT_FOLDER);
if (path !== null) {
logit("🗂 Setting Output Path: ", path);
setOutputPath(path);
@ -405,7 +402,7 @@ const Home = () => {
setProgress("Hold on...");
if (doubleUpscayl) {
window.electron.send(commands.DOUBLE_UPSCAYL, {
window.electron.send(COMMAND.DOUBLE_UPSCAYL, {
imagePath,
outputPath,
model,
@ -416,7 +413,7 @@ const Home = () => {
logit("🏁 DOUBLE_UPSCAYL");
} else if (batchMode) {
setDoubleUpscayl(false);
window.electron.send(commands.FOLDER_UPSCAYL, {
window.electron.send(COMMAND.FOLDER_UPSCAYL, {
scaleFactor,
batchFolderPath,
outputPath,
@ -427,7 +424,7 @@ const Home = () => {
});
logit("🏁 FOLDER_UPSCAYL");
} else {
window.electron.send(commands.UPSCAYL, {
window.electron.send(COMMAND.UPSCAYL, {
scaleFactor,
imagePath,
outputPath,
@ -457,7 +454,7 @@ const Home = () => {
};
const stopHandler = () => {
window.electron.send(commands.STOP);
window.electron.send(COMMAND.STOP);
logit("🛑 Stopping Upscayl");
resetImagePaths();
};
@ -588,10 +585,7 @@ const Home = () => {
hideZoomOptions={true}
/>
<img
src={
"file://" +
`${upscaledImagePath ? upscaledImagePath : imagePath}`
}
src={`file:///${imagePath}`}
onLoad={(e: any) => {
setDimensions({
width: e.target.naturalWidth,