merge source (#2)

* Added Discord timeout

* Add getOptions in plugin util

* Mutex in ffmpeg conversion (only supports one command at a time)

* Add menu customization in plugin system

* Add ytpl package (playlist info)

* Handle ffmpeg metadata flags when metadata is not present

* Only use artist in file name if present

* Export sendError method

* Handle image not present in metadata util

* Add downloader utils (getFolder and default menu label)

* Pass (optional) existing metadata and subfolder in mp3 converter

* Add listener to download playlist

* Add custom menu in downloader plugin ("download playlist" item)

* nit: fix main CSS style

* Only set the "enable" item in menu if plugin not enabled

* Navigation plugin: inject HTML once CSS is loaded

Co-authored-by: Sem Visscher <semvisscher10@gmail.com>
Co-authored-by: TC <th-ch@users.noreply.github.com>
This commit is contained in:
Araxeus
2021-03-25 01:02:42 +02:00
committed by GitHub
parent 2fb4cbcf02
commit 9a95f435ad
15 changed files with 248 additions and 61 deletions

View File

@ -45,19 +45,21 @@ function handle(win) {
let fileBuffer = songBuffer;
try {
const coverBuffer = metadata.image.toPNG();
const writer = new ID3Writer(songBuffer);
if (metadata.image) {
const coverBuffer = metadata.image.toPNG();
// Create the metadata tags
writer
.setFrame("TIT2", metadata.title)
.setFrame("TPE1", [metadata.artist])
.setFrame("APIC", {
type: 3,
data: coverBuffer,
description: "",
});
writer.addTag();
// Create the metadata tags
writer
.setFrame("TIT2", metadata.title)
.setFrame("TPE1", [metadata.artist])
.setFrame("APIC", {
type: 3,
data: coverBuffer,
description: "",
});
writer.addTag();
}
fileBuffer = Buffer.from(writer.arrayBuffer);
} catch (error) {
sendError(win, error);
@ -70,3 +72,4 @@ function handle(win) {
}
module.exports = handle;
module.exports.sendError = sendError;