Skip to content

Commit

Permalink
Bugfixes and small improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
Guido30 committed Jan 30, 2024
1 parent b6d8e6d commit 6ca9036
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 15 deletions.
4 changes: 2 additions & 2 deletions src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[package]
name = "dzrs"
version = "0.1.5"
version = "0.1.6"
description = "Dzrs"
authors = ["Guido30"]
license = ""
license = "MIT"
repository = "https://github.com/Guido30/Dzrs.git"
edition = "2021"

Expand Down
2 changes: 1 addition & 1 deletion src-tauri/src/types/tags.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ pub fn set_vorbis_tags(tags: &DzrsTrackObjectTags, vorbis: &mut VorbisComments,
vorbis.insert("ENCODER".to_string(), tags.encoder);
if conf.tag_clear_extra_tags {
for item in tags.extra_tags {
vorbis.remove(&item.0);
let _ = vorbis.remove(&item.0);
}
} else {
for item in tags.extra_tags {
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
},
"package": {
"productName": "Dzrs",
"version": "0.1.5"
"version": "0.1.6"
},
"tauri": {
"windows": [
Expand Down
29 changes: 18 additions & 11 deletions src/pages/Main.vue
Original file line number Diff line number Diff line change
Expand Up @@ -168,17 +168,20 @@ async function fetchDzrsTrackObjects() {
} else {
flacs = dzrsTrackObjects.value.filter((t) => t.fileExtension === "flac" && selectedFilePaths.value.includes(t.filePath)).map((f) => f.filePath);
}
await invoke("tracks_fetch", { paths: flacs }).catch((err) => appWindow.emit("notification-add", { type: "Error", origin: "fetchDzrsTrackObjects", msg: err.join(" ") }));
await getDzrsTrackObjects(flacs);
for (const p of flacs) {
await invoke("tracks_fetch", { paths: [p] }).catch((err) => appWindow.emit("notification-add", { type: "Error", origin: "fetchDzrsTrackObjects", msg: err.join("") }));
await getDzrsTrackObjects([p]);
}
tagsIsFetchingOrSaving.value = false;
}
// Replace tags of a track by fetching another deezer payload for a given track_id
// Called when applying a source for a specific track
async function fetchTrackTagsFromSource(id) {
tagsIsFetchingOrSaving.value = true;
await invoke("tracks_source", { path: activeDzrsTrackObject.value.filePath, id: id }).catch((err) => appWindow.emit("notification-add", { type: "Error", origin: "fetchTrackTagsFromSource", msg: err }));
await getDzrsTrackObjects([activeDzrsTrackObject.value.filePath]);
const path = activeDzrsTrackObject.value.filePath;
await invoke("tracks_source", { path: path, id: id }).catch((err) => appWindow.emit("notification-add", { type: "Error", origin: "fetchTrackTagsFromSource", msg: err }));
await getDzrsTrackObjects([path]);
tagsIsFetchingOrSaving.value = false;
}
Expand Down Expand Up @@ -206,6 +209,7 @@ async function reloadTagsFromFile() {
async function saveModifiedTracks() {
const confirmation = await confirm("Save modified files?", { title: "Save", type: "warning" });
if (confirmation) {
tagsIsFetchingOrSaving.value = true;
let modifiedTracks = [];
if (selectedFilePaths.value.length >= 1) {
modifiedTracks = dzrsTrackObjects.value.filter((t) => !isEqual(t.tags, t.tagsToSave) && selectedFilePaths.value.includes(t.filePath));
Expand All @@ -215,8 +219,10 @@ async function saveModifiedTracks() {
if (modifiedTracks.length !== 0) {
for (const t of modifiedTracks) {
await invoke("save_tags", { path: t.filePath, tags: t.tagsToSave }).catch((err) => appWindow.emit("notification-add", { type: "Error", origin: "saveModifiedTracks", msg: err }));
await getDzrsTrackObjects([t.filePath]);
}
}
tagsIsFetchingOrSaving.value = false;
}
}
Expand All @@ -230,11 +236,9 @@ async function listenFileWatcher() {
await invoke("tracks_insert", { path: p });
} else if (Object.hasOwn(e.payload.type, "remove")) {
await invoke("tracks_remove", { path: p }).catch((_) => _);
} else if (Object.hasOwn(e.payload.type, "modify")) {
await invoke("tracks_replace", { path: p }).catch((_) => _);
}
}
if (Object.hasOwn(e.payload.type, "create") || Object.hasOwn(e.payload.type, "modify")) {
if (Object.hasOwn(e.payload.type, "create")) {
await getDzrsTrackObjects(e.payload.paths);
} else if (Object.hasOwn(e.payload.type, "remove")) {
await getDzrsTrackObjects(e.payload.paths, true);
Expand Down Expand Up @@ -312,11 +316,14 @@ onBeforeMount(async () => {
<td>
<IconPointFilled v-if="!isEqual(file.tags, file.tagsToSave)" />
</td>
<td class="img-container" @click="console.log(file.tagsStatus)">
<IconMusic v-if="['flac', 'mp3'].includes(file.fileExtension)" color="#c9c9c9" />
<IconFile v-else color="#c9c9c9" />
<td class="img-container">
<div class="row">
<img v-if="file.tagsPictures.length >= 1" :src="`data:image/png;base64, ${file.tagsPictures[0].b64}`" style="border-radius: 4px" />
<IconMusic v-else-if="['flac', 'mp3'].includes(file.fileExtension)" color="#c9c9c9" />
<IconFile v-else color="#c9c9c9" />
</div>
</td>
<td v-show="filterColumnsDirView.find((col) => col.key === 'filename' && col.enabled)" style="text-align: left; font-style: italic">
<td v-show="filterColumnsDirView.find((col) => col.key === 'filename' && col.enabled)" style="padding-left: 4px; text-align: left">
{{ file.fileName }}
</td>
<td v-show="filterColumnsDirView.find((col) => col.key === 'size' && col.enabled)">{{ (file.fileSize / (1024 * 1024)).toFixed(1) }} MB</td>
Expand Down

0 comments on commit 6ca9036

Please sign in to comment.