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)