diff --git a/Tactility/Private/Tactility/app/files/SupportedFiles.h b/Tactility/Private/Tactility/app/files/SupportedFiles.h index b62dde77..5c4f2e02 100644 --- a/Tactility/Private/Tactility/app/files/SupportedFiles.h +++ b/Tactility/Private/Tactility/app/files/SupportedFiles.h @@ -1,11 +1,3 @@ #pragma once - #include - -namespace tt::app::files { - -bool isSupportedAppFile(const std::string& filename); -bool isSupportedImageFile(const std::string& filename); -bool isSupportedTextFile(const std::string& filename); - -} // namespace +namespace tt::app::files { bool isSupportedAppFile(const std::string& filename); bool isSupportedImageFile(const std::string& filename); bool isSupportedTextFile(const std::string& filename); bool isSupportedAudioFile(const std::string& filename); } // namespace diff --git a/Tactility/Source/Tactility.cpp b/Tactility/Source/Tactility.cpp index e72d48eb..dd474155 100644 --- a/Tactility/Source/Tactility.cpp +++ b/Tactility/Source/Tactility.cpp @@ -151,7 +151,6 @@ namespace app { namespace apwebserver { extern const AppManifest manifest; } namespace crashdiagnostics { extern const AppManifest manifest; } namespace webserversettings { extern const AppManifest manifest; } - namespace mcpoverride { extern const AppManifest manifest; } namespace mcpsettings { extern const AppManifest manifest; } #if CONFIG_TT_TDECK_WORKAROUND == 1 namespace keyboardsettings { extern const AppManifest manifest; } // T-Deck only for now @@ -216,7 +215,7 @@ static void registerInternalApps() { addAppManifest(app::apwebserver::manifest); addAppManifest(app::webserversettings::manifest); addAppManifest(app::mcpsettings::manifest); - addAppManifest(app::mcpoverride::manifest); + // mcpoverride internal only via McpScreensaver, not shown in launcher addAppManifest(app::crashdiagnostics::manifest); addAppManifest(app::development::manifest); #if defined(CONFIG_TT_TDECK_WORKAROUND) diff --git a/Tactility/Source/app/files/SupportedFiles.cpp b/Tactility/Source/app/files/SupportedFiles.cpp index 9d914e24..fc43e35e 100644 --- a/Tactility/Source/app/files/SupportedFiles.cpp +++ b/Tactility/Source/app/files/SupportedFiles.cpp @@ -1,29 +1,3 @@ #include #include - -namespace tt::app::files { - -constexpr auto* TAG = "Files"; - -bool isSupportedAppFile(const std::string& filename) { - return filename.ends_with(".app"); -} - -bool isSupportedImageFile(const std::string& filename) { - // Currently only the PNG library is built into Tactility - return string::lowercase(filename).ends_with(".png"); -} - -bool isSupportedTextFile(const std::string& filename) { - std::string filename_lower = string::lowercase(filename); - return filename_lower.ends_with(".txt") || - filename_lower.ends_with(".ini") || - filename_lower.ends_with(".json") || - filename_lower.ends_with(".yaml") || - filename_lower.ends_with(".yml") || - filename_lower.ends_with(".lua") || - filename_lower.ends_with(".js") || - filename_lower.ends_with(".properties"); -} - -} // namespace tt::app::filebrowser +namespace tt::app::files { constexpr auto* TAG = "Files"; bool isSupportedAppFile(const std::string& filename) { return filename.ends_with(".app"); } bool isSupportedImageFile(const std::string& filename) { return string::lowercase(filename).ends_with(".png"); } bool isSupportedTextFile(const std::string& filename) { std::string l=string::lowercase(filename); return l.ends_with(".txt")||l.ends_with(".ini")||l.ends_with(".json")||l.ends_with(".yaml")||l.ends_with(".yml")||l.ends_with(".lua")||l.ends_with(".js")||l.ends_with(".properties"); } bool isSupportedAudioFile(const std::string& filename) { std::string l=string::lowercase(filename); return l.ends_with(".mp3")||l.ends_with(".wav")||l.ends_with(".ogg")||l.ends_with(".flac"); } } // namespace diff --git a/Tactility/Source/app/files/View.cpp b/Tactility/Source/app/files/View.cpp index fce5d182..790b65d3 100644 --- a/Tactility/Source/app/files/View.cpp +++ b/Tactility/Source/app/files/View.cpp @@ -1,4 +1,5 @@ #include +#include #include #include @@ -228,9 +229,17 @@ void View::viewFile(const std::string& path, const std::string& filename) { if (kernel::getPlatform() == kernel::PlatformEsp) { notes::start(processed_filepath); } else { - // Remove forward slash, because we need a relative path notes::start(processed_filepath.substr(1)); } + } else if (isSupportedAudioFile(filename)) { +#ifdef ESP_PLATFORM + auto bundle = std::make_shared(); + bundle->putString("file", processed_filepath); + auto loader = service::loader::findLoaderService(); + if (loader) { + loader->start("one.tactility.mp3player", bundle); + } +#endif } else { LOG_W(TAG, "Opening files of this type is not supported"); }