diff options
-rw-r--r-- | src/Song.cxx | 8 | ||||
-rw-r--r-- | src/Song.hxx | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/Song.cxx b/src/Song.cxx index 7a11a0611..86a5b4672 100644 --- a/src/Song.cxx +++ b/src/Song.cxx @@ -109,6 +109,14 @@ Song::Free() g_free(this); } +void +Song::ReplaceTag(Tag &&_tag) +{ + if (tag == nullptr) + tag = new Tag(); + *tag = std::move(_tag); +} + gcc_pure static inline bool directory_equals(const Directory &a, const Directory &b) diff --git a/src/Song.hxx b/src/Song.hxx index bd7465013..b74690e77 100644 --- a/src/Song.hxx +++ b/src/Song.hxx @@ -126,6 +126,8 @@ struct Song { return parent == &detached_root; } + void ReplaceTag(Tag &&tag); + bool UpdateFile(); bool UpdateFileInArchive(); |