Files
SimpleMediaUpscalerLite/frontend/src/app.js

40 lines
1.6 KiB
JavaScript

module.exports = function ( win ) {
const dialog = require( 'electron' ).dialog;
const upscaling = require( './upscalingHandler.js' );
const upscalingHandler = new upscaling();
const ipcMain = require( 'electron' ).ipcMain;
ipcMain.on( 'selectInputFile', ( event, data ) => {
event.reply( 'selectInputFile', { 'data': dialog.showOpenDialogSync( {
properties: [ 'openFile' ],
title: 'Select an input file to upscale',
filters: [
{ name: 'Images (.jpg, .png)', extensions: ['jpg', 'png'] },
{ name: 'Movies (.mkv, .mp4)', extensions: ['mkv', 'mp4'] },
{ name: 'All Files', extensions: ['*'] }
]
} ) } );
} );
ipcMain.on( 'selectOutputFile', ( event, data ) => {
event.reply( 'selectOutputFile', { 'data': dialog.showSaveDialogSync( {
properties: [ 'promptToCreate' ],
title: 'Select an output file',
filters: [
{ name: 'Images (.jpg, .png)', extensions: ['jpg', 'png'] },
{ name: 'Movies (.mkv, .mp4)', extensions: ['mkv', 'mp4'] },
{ name: 'All Files', extensions: ['*'] }
]
} ) } );
} );
ipcMain.on( 'startUpscaling', ( event, data ) => {
let checks = upscalingHandler.verifyDataIntegrity( JSON.parse( data ), ipcMain );
if ( checks[ 0 ] ) {
event.reply( 'startUpscaling', { 'data': checks[ 1 ] } );
upscalingHandler.upscale( JSON.parse( data ), win );
} else {
event.reply( 'startUpscaling', { 'data': checks[ 1 ] } );
}
} );
}