From 97d7e60b7e7c2214331df438924f706c3ff5d314 Mon Sep 17 00:00:00 2001
From: Rafiuth <53208252+Rafiuth@users.noreply.github.com>
Date: Wed, 22 Sep 2021 20:55:56 -0300
Subject: [PATCH] Fix utf8 paths
---
SpotifyOggDumper/SpotifyOggDumper.vcxproj | 6 ++----
SpotifyOggDumper/StateManager.cpp | 8 +++++---
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/SpotifyOggDumper/SpotifyOggDumper.vcxproj b/SpotifyOggDumper/SpotifyOggDumper.vcxproj
index b1f4e01..f7f0dbb 100644
--- a/SpotifyOggDumper/SpotifyOggDumper.vcxproj
+++ b/SpotifyOggDumper/SpotifyOggDumper.vcxproj
@@ -68,7 +68,7 @@
Level3
true
- WIN32;_DEBUG;SPOTIFYOGGDUMPER_EXPORTS;_WINDOWS;_USRDLL;_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;%(PreprocessorDefinitions)
+ WIN32;_DEBUG;SPOTIFYOGGDUMPER_EXPORTS;_WINDOWS;_USRDLL;_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;_SILENCE_CXX20_U8PATH_DEPRECATION_WARNING;%(PreprocessorDefinitions)
true
stdcpplatest
@@ -85,7 +85,7 @@
true
true
true
- WIN32;NDEBUG;SPOTIFYOGGDUMPER_EXPORTS;_WINDOWS;_USRDLL;_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;%(PreprocessorDefinitions)
+ WIN32;NDEBUG;SPOTIFYOGGDUMPER_EXPORTS;_WINDOWS;_USRDLL;_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;_SILENCE_CXX20_U8PATH_DEPRECATION_WARNING;%(PreprocessorDefinitions)
true
stdcpplatest
@@ -116,12 +116,10 @@
-
config.json
Always
-
\ No newline at end of file
diff --git a/SpotifyOggDumper/StateManager.cpp b/SpotifyOggDumper/StateManager.cpp
index 6dbf64e..7fcf67c 100644
--- a/SpotifyOggDumper/StateManager.cpp
+++ b/SpotifyOggDumper/StateManager.cpp
@@ -256,9 +256,9 @@ struct StateManagerImpl : public StateManager
coverArt->setData(TagLib::ByteVector(coverData.data(), (uint32_t)coverData.size()));
tag->addPicture(coverArt);
- tag->setTitle(meta["name"].get());
- tag->setArtist(artists);
- tag->setAlbum(meta["album"]["name"].get());
+ tag->setTitle(TagLib::String(meta["name"].get(), TagLib::String::UTF8));
+ tag->setArtist(TagLib::String(artists, TagLib::String::UTF8));
+ tag->setAlbum(TagLib::String(meta["album"]["name"].get(), TagLib::String::UTF8));
tag->setTrack(meta["track_number"].get());
tag->setYear(year);
@@ -324,6 +324,8 @@ struct StateManagerImpl : public StateManager
FillArg("{album_name}", metadata["album"]["name"]);
FillArg("{track_name}", metadata["name"]);
FillArg("{track_num}", std::to_string(metadata["track_number"].get()));
+
+ return fs::u8path(ExpandEnvVars(fmt));
}
//Call WINAPI ExpandEnvironmentStrings(), assuming str is UTF8.
std::string ExpandEnvVars(const std::string& str)