From 9b9010bdea6a111754a9a5dfe4aa5d982c3a060a Mon Sep 17 00:00:00 2001 From: Franck Alary Date: Wed, 4 Dec 2024 15:49:45 +0100 Subject: [PATCH] Store : RSS Feed, add option for write text on images --- extraResources/fonts/exo2.ttf | Bin 0 -> 151496 bytes .../Processes/BinFiles/FFmpegCommand.js | 36 ++++++++++++++++-- .../Processes/Import/ConvertFolderFS.js | 1 + .../Processes/Import/ConvertFolderSTUdio.js | 1 + .../Import/ConvertFolderStoryPack.js | 1 + .../Processes/Import/Helpers/ImageFile.js | 27 ++++++------- .../MainEvents/Processes/Store/StoreBuild.js | 5 ++- .../MainEvents/Processes/Studio/StudioSave.js | 1 + .../Stores/Store/ModalStoreBuildForm.js | 12 +++++- src/Locales/en.js | 1 + src/Locales/fr.js | 1 + 11 files changed, 67 insertions(+), 19 deletions(-) create mode 100644 extraResources/fonts/exo2.ttf diff --git a/extraResources/fonts/exo2.ttf b/extraResources/fonts/exo2.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7f584d7c361b5656c54bfd7c34ad7294e5e35a27 GIT binary patch literal 151496 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 qRw%Q6nXN#>CHmfD2A?kcW%#O&Lb%) { @@ -78,10 +79,39 @@ const }) }) }, - convertImageToPng = (srcFile, dstPng, width, height) => { + processStringToFFmpeg = (str) => { + str = str.replaceAll('\'', '’') + const aStr = [] + while (str.length > 32) { + const + s = str.substring(0, 32), + i = s.lastIndexOf(' ') + if (i === -1) { + const i2 = str.indexOf(' ') + if (i2 === -1) { + break + } + aStr.push(str.substring(0, i2)) + str = str.substring(i2 + 1) + } else { + aStr.push(str.substring(0, i)) + str = str.substring(i + 1) + } + } + aStr.push(str) + return aStr.map((s) => s.replace(/([^A-Za-z0-9 ]{1})/g, '\\$1')).join('\n') + }, + convertImageToPng = (srcFile, dstPng, width, height, textToWrite) => { return new Promise((resolve, reject) => { rmFile(dstPng) - const stream = spawn(getFFmpegFilePath(), ['-i', srcFile, '-vf', 'scale=' + width + 'x' + height + ':flags=bilinear', dstPng]) + const + textCommand = typeof textToWrite === 'string' ? + ', drawtext=fontfile=\'' + path.join(getExtraResourcesPath(), 'fonts', 'exo2.ttf').replaceAll('\\', '\\\\').replaceAll(':', '\\:') + + '\':text=\'' + processStringToFFmpeg(textToWrite) + '\':text_align=M+C:fontcolor=black:fontsize=32:' + + 'box=1:boxcolor=white@0.9:boxborderw=10|10:x=(w-text_w)/2:y=h-th-20' : '', + + stream = spawn(getFFmpegFilePath(), ['-i', srcFile, '-vf', 'scale=' + width + 'x' + height + ':flags=bilinear' + textCommand, dstPng]) + stream.on('close', (code) => { if (code === 0) { resolve() diff --git a/public/MainEvents/Processes/Import/ConvertFolderFS.js b/public/MainEvents/Processes/Import/ConvertFolderFS.js index 5e92062..03ad8f9 100644 --- a/public/MainEvents/Processes/Import/ConvertFolderFS.js +++ b/public/MainEvents/Processes/Import/ConvertFolderFS.js @@ -187,6 +187,7 @@ function convertFolderFS (srcPath, storyName) { (index) => convertStoryImages( tmpImagesPathsArray, toDstPathsArray(ri, dstImagesPath, renameImage), + null, index, countFiles, (index) => decipherMedias( diff --git a/public/MainEvents/Processes/Import/ConvertFolderSTUdio.js b/public/MainEvents/Processes/Import/ConvertFolderSTUdio.js index d0b73e9..b6e23c3 100644 --- a/public/MainEvents/Processes/Import/ConvertFolderSTUdio.js +++ b/public/MainEvents/Processes/Import/ConvertFolderSTUdio.js @@ -125,6 +125,7 @@ function convertFolderSTUdio (srcPath, storyName) { convertStoryImages( srcImages, toDstPathsArray(srcImages, dstImagesPath, renameImage), + null, 2, countFiles, (index) => convertAudios( diff --git a/public/MainEvents/Processes/Import/ConvertFolderStoryPack.js b/public/MainEvents/Processes/Import/ConvertFolderStoryPack.js index 3a63cd8..5b594fd 100644 --- a/public/MainEvents/Processes/Import/ConvertFolderStoryPack.js +++ b/public/MainEvents/Processes/Import/ConvertFolderStoryPack.js @@ -216,6 +216,7 @@ function convertFolderStoryPack(srcPath, storyName) { convertStoryImages( srcImages, dstImages, + null, 2, countFiles, (index) => convertTextToSpeech( diff --git a/public/MainEvents/Processes/Import/Helpers/ImageFile.js b/public/MainEvents/Processes/Import/Helpers/ImageFile.js index 951c833..ff66b43 100644 --- a/public/MainEvents/Processes/Import/Helpers/ImageFile.js +++ b/public/MainEvents/Processes/Import/Helpers/ImageFile.js @@ -6,19 +6,19 @@ const const ext = path.extname(fileName).toLowerCase() return ext === '.png' || ext === '.bmp' || ext === '.gif' || ext === '.jpg' || ext === '.jpeg' || ext === '.webp' || ext === '.avif' }, - convertMusicImage = async (fromPath, toPath) => { - await convertImageToPng(fromPath, toPath, 256, 256) + convertMusicImage = async (fromPath, toPath, textToWrite) => { + await convertImageToPng(fromPath, toPath, 256, 256, textToWrite) }, - convertCoverImage = async (fromPath, toPath) => { - await convertImageToPng(fromPath, toPath, 512, 512) + convertCoverImage = async (fromPath, toPath, textToWrite) => { + await convertImageToPng(fromPath, toPath, 512, 512, textToWrite) }, - convertStoryImage = async (fromPath, toPath) => { - await convertImageToPng(fromPath, toPath, 640, 480) + convertStoryImage = async (fromPath, toPath, textToWrite) => { + await convertImageToPng(fromPath, toPath, 640, 480, textToWrite) }, - convertInventoryImage = async (fromPath, toPath) => { - await convertImageToPng(fromPath, toPath, 128, 128) + convertInventoryImage = async (fromPath, toPath, textToWrite) => { + await convertImageToPng(fromPath, toPath, 128, 128, textToWrite) }, - convertStoryImages = (srcImages, dstImages, index, length, onEnd) => { + convertStoryImages = (srcImages, dstImages, textsToWrite, index, length, onEnd) => { if (!srcImages.length) { onEnd(index) return @@ -26,13 +26,14 @@ const const srcImage = srcImages.shift(), - dstImage = dstImages.shift() + dstImage = dstImages.shift(), + textToWrite = Array.isArray(textsToWrite) ? textsToWrite.shift() : undefined process.stdout.write('*converting-images*' + index + '*' + length + '*') - convertStoryImage(srcImage, dstImage) - .then(() => convertStoryImages(srcImages, dstImages, index + 1, length, onEnd)) - .catch(() => convertStoryImages(srcImages, dstImages, index + 1, length, onEnd)) + convertStoryImage(srcImage, dstImage, textToWrite) + .then(() => convertStoryImages(srcImages, dstImages, textsToWrite, index + 1, length, onEnd)) + .catch(() => convertStoryImages(srcImages, dstImages, textsToWrite, index + 1, length, onEnd)) }, convertInventoryImages = (srcImages, dstImages, index, length, onEnd) => { if (!srcImages.length) { diff --git a/public/MainEvents/Processes/Store/StoreBuild.js b/public/MainEvents/Processes/Store/StoreBuild.js index 45b311a..3e1a018 100644 --- a/public/MainEvents/Processes/Store/StoreBuild.js +++ b/public/MainEvents/Processes/Store/StoreBuild.js @@ -59,11 +59,13 @@ function main(jsonPath) { dstPath = getStoriesPath(generateDirNameStory(metadata.title, metadata.uuid, metadata.age, metadata.category)), dstPathImages = path.join(dstPath, 'images'), dstPathAudio = path.join(dstPath, 'audios'), - srcTts = [store.title, question, ...stories.map((s) => s.title)], + storiesTitles = stories.map((s) => s.title), + srcTts = [store.title, question, ...storiesTitles], dstTts = [path.join(dstPath, 'title.mp3'), path.join(dstPathAudio, 'q.mp3'), ...stories.map((s, k) => path.join(dstPathAudio, 't' + k + '.mp3'))], srcHttpAudio = stories.map((s) => s.download), dstHttpAudio = stories.map((s, k) => path.join(dstPathAudio, 's' + k + '.mp3')), srcImages = [store.cover, ...stories.map((s) => s.image)], + titleImages = store.titleImages ? [undefined, ...storiesTitles] : null, dstImages = [path.join(dstPath, 'title.png'), ...stories.map((s, k) => path.join(dstPathImages, k + '.png'))], countFiles = stories.length * 4 + 6, @@ -118,6 +120,7 @@ function main(jsonPath) { convertStoryImages( srcImages, dstImages, + titleImages, 0, countFiles, (index) => downloadAudios( diff --git a/public/MainEvents/Processes/Studio/StudioSave.js b/public/MainEvents/Processes/Studio/StudioSave.js index b246380..91535a8 100644 --- a/public/MainEvents/Processes/Studio/StudioSave.js +++ b/public/MainEvents/Processes/Studio/StudioSave.js @@ -279,6 +279,7 @@ function main(jsonPath) { convertStoryImages( files.newImages.src, files.newImages.dst, + null, 10, countFiles, (index) => convertAudios( diff --git a/src/App/Modules/Stores/Store/ModalStoreBuildForm.js b/src/App/Modules/Stores/Store/ModalStoreBuildForm.js index 99d20f0..5ef1ecd 100644 --- a/src/App/Modules/Stores/Store/ModalStoreBuildForm.js +++ b/src/App/Modules/Stores/Store/ModalStoreBuildForm.js @@ -8,6 +8,7 @@ import ButtonsContainer from '../../../Components/Buttons/ButtonsContainer.js' import ButtonIconTextCheck from '../../../Components/Buttons/IconsTexts/ButtonIconTextCheck.js' import InputText from '../../../Components/Form/Input/InputText.js' import InputTextarea from '../../../Components/Form/Input/InputTextarea.js' +import InputSwitch from '../../../Components/Form/Input/InputSwitch.js' import ModalTitle from '../../../Components/Modal/ModalTitle.js' import ModalContent from '../../../Components/Modal/ModalContent.js' import Form from '../../../Components/Form/Form.js' @@ -18,7 +19,8 @@ function ModalStoreBuildForm({store, stories, onClose}) { {addModal, rmModal} = useModal(), titleRef = useRef(), categoryRef = useRef(), - descriptionRef = useRef() + descriptionRef = useRef(), + titleImagesRef = useRef() return @@ -47,13 +49,18 @@ function ModalStoreBuildForm({store, stories, onClose}) { required={false} defaultValue={stripHtmlTags(store.description) + '\n\n' + stories.map((s) => '- ' + s.title).join('\n')} ref={descriptionRef}/> + + { validation( - [titleRef, categoryRef, descriptionRef], + [titleRef, categoryRef, descriptionRef, titleImagesRef], (values) => { onClose() addModal((key) => { @@ -63,6 +70,7 @@ function ModalStoreBuildForm({store, stories, onClose}) { title: values[0], category: values[1], description: values[2], + titleImages: values[3], cover: stories[0].image }} stories={stories} diff --git a/src/Locales/en.js b/src/Locales/en.js index 8fced7e..bc8dbd2 100644 --- a/src/Locales/en.js +++ b/src/Locales/en.js @@ -164,6 +164,7 @@ const en = { 'story-saving': 'Saving story', 'story-export': 'Exporting story', 'story-zipping': 'Pack story in a zip file', + 'story-add-title-images': 'Add title to story images', 'stories': 'Stories', 'stories-local': 'My stories ({0})', 'stories-on-store': '{0} stories on the store', diff --git a/src/Locales/fr.js b/src/Locales/fr.js index cb7abd4..9490f70 100644 --- a/src/Locales/fr.js +++ b/src/Locales/fr.js @@ -164,6 +164,7 @@ const fr = { 'story-saving': 'Sauvegarde de l\'histoire', 'story-export': 'Export de l\'histoire', 'story-zipping': 'Export de l\'histoire au format zip', + 'story-add-title-images': 'Ajouter le titre aux images des histoires', 'stories': 'Histoires', 'stories-local': 'Mes histoires ({0})', 'stories-on-store': '{0} histoires sur le store',