From 4f9174d362894392d8d26ebb35ee13a4095cdce5 Mon Sep 17 00:00:00 2001 From: Fabian Schlenz Date: Tue, 19 Nov 2019 20:46:54 +0100 Subject: [PATCH] PlaylistManager: Extracted create_mapping_txt from _save_mapping. --- include/playlist_manager.h | 1 + src/playlist_manager.cpp | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/include/playlist_manager.h b/include/playlist_manager.h index 188f97a..920728c 100644 --- a/include/playlist_manager.h +++ b/include/playlist_manager.h @@ -19,4 +19,5 @@ public: void scan_files(); String json(); bool add_mapping(String id, String folder); + String create_mapping_txt(); }; diff --git a/src/playlist_manager.cpp b/src/playlist_manager.cpp index 6bb9c67..3a98812 100644 --- a/src/playlist_manager.cpp +++ b/src/playlist_manager.cpp @@ -143,6 +143,16 @@ bool PlaylistManager::add_mapping(String id, String folder) { void PlaylistManager::_save_mapping() { SPIMaster::select_sd(); File f = SD.open("/_mapping.txt", "w"); + String s = create_mapping_txt(); + unsigned char* buf = new unsigned char[s.length()]; + s.getBytes(buf, s.length()); + f.write(buf, s.length()-1); + f.close(); + SPIMaster::select_sd(false); + delete buf; +} + +String PlaylistManager::create_mapping_txt() { String s; for(std::map::iterator it = _map.begin(); it != _map.end(); it++) { s += it->first; @@ -150,10 +160,5 @@ void PlaylistManager::_save_mapping() { s += it->second; s += '\n'; } - unsigned char* buf = new unsigned char[s.length()]; - s.getBytes(buf, s.length()); - f.write(buf, s.length()-1); - f.close(); - SPIMaster::select_sd(false); - delete buf; -} \ No newline at end of file + return s; +}