From 304154a4c486661216d458b4e41bd8c885b539c7 Mon Sep 17 00:00:00 2001 From: Pieter Hulshoff Date: Fri, 16 Sep 2016 09:45:22 +0200 Subject: [PATCH] Added favorites playlist support for menus and merged/sub collections. Improved sorting algorithm for playlists. The order now follows the order of the complete lis t. Added favorites playlist display to Aeon Nox theme. Added favorites common artwork. Added reloadableMedia support for playlist display. --- .../medium_artwork/playlist/favorites.png | Bin 0 -> 120513 bytes .../Common/layouts/Aeon Nox/layout 16x9.xml | 42 ++++++++ .../Common/layouts/Aeon Nox/layout 4x3.xml | 42 ++++++++ .../Common/layouts/Aeon Nox/layout.xml | 42 ++++++++ RetroFE/Source/Collection/CollectionInfo.cpp | 51 ++++++---- RetroFE/Source/Collection/CollectionInfo.h | 3 +- .../Collection/CollectionInfoBuilder.cpp | 55 +++++++---- .../Source/Collection/CollectionInfoBuilder.h | 2 + .../Graphics/Component/ReloadableMedia.cpp | 4 + RetroFE/Source/Graphics/Page.cpp | 7 +- RetroFE/Source/RetroFE.cpp | 90 +++++++++++++++--- RetroFE/Source/RetroFE.h | 4 + RetroFE/Source/Version.cpp | 2 +- 13 files changed, 289 insertions(+), 55 deletions(-) create mode 100644 Package/Environment/Common/collections/_common/medium_artwork/playlist/favorites.png diff --git a/Package/Environment/Common/collections/_common/medium_artwork/playlist/favorites.png b/Package/Environment/Common/collections/_common/medium_artwork/playlist/favorites.png new file mode 100644 index 0000000000000000000000000000000000000000..c400b02fe67cd6f12defe9b852506f7c04d80fbd GIT binary patch literal 120513 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 literal 0 HcmV?d00001 diff --git a/Package/Environment/Common/layouts/Aeon Nox/layout 16x9.xml b/Package/Environment/Common/layouts/Aeon Nox/layout 16x9.xml index 1d49ea4..1eed0da 100644 --- a/Package/Environment/Common/layouts/Aeon Nox/layout 16x9.xml +++ b/Package/Environment/Common/layouts/Aeon Nox/layout 16x9.xml @@ -1970,4 +1970,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Package/Environment/Common/layouts/Aeon Nox/layout 4x3.xml b/Package/Environment/Common/layouts/Aeon Nox/layout 4x3.xml index 2bfc3eb..2098925 100644 --- a/Package/Environment/Common/layouts/Aeon Nox/layout 4x3.xml +++ b/Package/Environment/Common/layouts/Aeon Nox/layout 4x3.xml @@ -1970,4 +1970,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Package/Environment/Common/layouts/Aeon Nox/layout.xml b/Package/Environment/Common/layouts/Aeon Nox/layout.xml index 1d49ea4..1eed0da 100644 --- a/Package/Environment/Common/layouts/Aeon Nox/layout.xml +++ b/Package/Environment/Common/layouts/Aeon Nox/layout.xml @@ -1970,4 +1970,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RetroFE/Source/Collection/CollectionInfo.cpp b/RetroFE/Source/Collection/CollectionInfo.cpp index 9071728..ffd25cc 100644 --- a/RetroFE/Source/Collection/CollectionInfo.cpp +++ b/RetroFE/Source/Collection/CollectionInfo.cpp @@ -51,16 +51,6 @@ CollectionInfo::CollectionInfo(std::string name, CollectionInfo::~CollectionInfo() { - // remove items from the subcollections so their destructors do not - // delete the items since the parent collection will delete them. - std::vector::iterator subit; - for (subit = subcollections_.begin(); subit != subcollections_.end(); subit++) - { - CollectionInfo *info = *subit; - info->items.clear(); - } - - Playlists_T::iterator pit = playlists.begin(); while(pit != playlists.end()) @@ -129,7 +119,14 @@ bool CollectionInfo::Save() std::vector *saveitems = playlists["favorites"]; for(std::vector::iterator it = saveitems->begin(); it != saveitems->end(); it++) { - filestream << (*it)->name << std::endl; + if ((*it)->collectionInfo->name == name) + { + filestream << (*it)->name << std::endl; + } + else + { + filestream << "_" << (*it)->collectionInfo->name << ":" << (*it)->name << std::endl; + } } filestream.close(); @@ -163,16 +160,9 @@ void CollectionInfo::extensionList(std::vector &extensionlist) void CollectionInfo::addSubcollection(CollectionInfo *newinfo) { - subcollections_.push_back(newinfo); - items.insert(items.begin(), newinfo->items.begin(), newinfo->items.end()); } -bool CollectionInfo::hasSubcollections() -{ - return (subcollections_.size() > 0); -} - bool CollectionInfo::itemIsLess(Item *lhs, Item *rhs) { if(lhs->leaf && !rhs->leaf) return true; @@ -189,3 +179,28 @@ void CollectionInfo::sortItems() std::sort(it->second->begin(), it->second->end(), itemIsLess); } } + + +void CollectionInfo::sortFavoriteItems() +{ + + std::vector *allItems = playlists["all"]; + std::vector favItems; + for(std::vector ::iterator itFav = playlists["favorites"]->begin(); itFav != playlists["favorites"]->end(); itFav++) + { + favItems.push_back((*itFav)); + } + playlists["favorites"]->clear(); + + + for(std::vector ::iterator itAll = allItems->begin(); itAll != allItems->end(); itAll++) + { + for(std::vector ::iterator itFav = favItems.begin(); itFav != favItems.end(); itFav++) + { + if ((*itAll) == (*itFav)) + { + playlists["favorites"]->push_back((*itAll)); + } + } + } +} diff --git a/RetroFE/Source/Collection/CollectionInfo.h b/RetroFE/Source/Collection/CollectionInfo.h index dd15d1a..ff26119 100644 --- a/RetroFE/Source/Collection/CollectionInfo.h +++ b/RetroFE/Source/Collection/CollectionInfo.h @@ -29,8 +29,8 @@ public: std::string settingsPath() const; bool Save(); void sortItems(); + void sortFavoriteItems(); void addSubcollection(CollectionInfo *info); - bool hasSubcollections(); void extensionList(std::vector &extensions); std::string name; std::string listpath; @@ -44,7 +44,6 @@ public: bool menusort; private: - std::vector subcollections_; std::string metadataPath_; std::string extensions_; static bool itemIsLess(Item *lhs, Item *rhs); diff --git a/RetroFE/Source/Collection/CollectionInfoBuilder.cpp b/RetroFE/Source/Collection/CollectionInfoBuilder.cpp index 4e7469a..9e86d31 100644 --- a/RetroFE/Source/Collection/CollectionInfoBuilder.cpp +++ b/RetroFE/Source/Collection/CollectionInfoBuilder.cpp @@ -232,12 +232,9 @@ bool CollectionInfoBuilder::ImportDirectory(CollectionInfo *info, std::string me DIR *dp; struct dirent *dirp; std::string path = info->listpath; - std::map allMap; std::map includeFilter; - std::map favoritesFilter; std::map excludeFilter; std::string includeFile = Utils::combinePath(Configuration::absolutePath, "collections", info->name, "include.txt"); - std::string favoritesFile = Utils::combinePath(Configuration::absolutePath, "collections", info->name, "playlists/favorites.txt"); std::string excludeFile = Utils::combinePath(Configuration::absolutePath, "collections", info->name, "exclude.txt"); std::string launcher; @@ -344,28 +341,52 @@ bool CollectionInfoBuilder::ImportDirectory(CollectionInfo *info, std::string me excludeFilter.erase(it); } - for(std::vector::iterator it = info->items.begin(); it != info->items.end(); it++) { - allMap[(*it)->fullTitle] = *it; - } - - - ImportBasicList(info, favoritesFile, favoritesFilter); info->playlists["all"] = &info->items; + return true; +} + + +void CollectionInfoBuilder::addFavorites(CollectionInfo *info) +{ + std::map favoritesFilter; + std::string favoritesFile = Utils::combinePath(Configuration::absolutePath, "collections", info->name, "playlists/favorites.txt"); + ImportBasicList(info, favoritesFile, favoritesFilter); + info->playlists["favorites"] = new std::vector(); // add the favorites list for(std::map::iterator it = favoritesFilter.begin(); it != favoritesFilter.end(); it++) { - std::map::iterator itemit = allMap.find(it->first); - - if(itemit != allMap.end()) + std::string collectionName = info->name; + std::string itemName = it->first; + if (itemName.at(0) == '_') // name consists of _: { - info->playlists["favorites"]->push_back(itemit->second); + itemName.erase(0, 1); // Remove _ + size_t position = itemName.find(":"); + if (position != std::string::npos ) + { + collectionName = itemName.substr(0, position); + itemName = itemName.erase(0, position+1); + } + } + + for(std::vector::iterator it = info->items.begin(); it != info->items.end(); it++) + { + if( (*it)->name == itemName && (*it)->collectionInfo->name == collectionName) + { + info->playlists["favorites"]->push_back((*it)); + } } } - - metaDB_.injectMetadata(info); - - return true; + return; +} + + + + +void CollectionInfoBuilder::injectMetadata(CollectionInfo *info) +{ + metaDB_.injectMetadata(info); + return; } diff --git a/RetroFE/Source/Collection/CollectionInfoBuilder.h b/RetroFE/Source/Collection/CollectionInfoBuilder.h index 250f384..cad87f5 100644 --- a/RetroFE/Source/Collection/CollectionInfoBuilder.h +++ b/RetroFE/Source/Collection/CollectionInfoBuilder.h @@ -31,6 +31,8 @@ public: virtual ~CollectionInfoBuilder(); CollectionInfo *buildCollection(std::string collectionName); CollectionInfo *buildCollection(std::string collectionName, std::string mergedCollectionName); + void addFavorites(CollectionInfo *info); + void injectMetadata(CollectionInfo *info); static bool createCollectionDirectory(std::string collectionName); private: diff --git a/RetroFE/Source/Graphics/Component/ReloadableMedia.cpp b/RetroFE/Source/Graphics/Component/ReloadableMedia.cpp index dd47f4c..45443b9 100644 --- a/RetroFE/Source/Graphics/Component/ReloadableMedia.cpp +++ b/RetroFE/Source/Graphics/Component/ReloadableMedia.cpp @@ -276,6 +276,10 @@ void ReloadableMedia::reloadTexture() { basename = selectedItem->score; } + else if(typeLC == "playlist") + { + basename = page.getPlaylistName(); + } Utils::replaceSlashesWithUnderscores(basename); diff --git a/RetroFE/Source/Graphics/Page.cpp b/RetroFE/Source/Graphics/Page.cpp index 620c32d..d0ea5eb 100644 --- a/RetroFE/Source/Graphics/Page.cpp +++ b/RetroFE/Source/Graphics/Page.cpp @@ -700,7 +700,6 @@ void Page::draw() void Page::removePlaylist() { if(!selectedItem_) return; - if(!selectedItem_->leaf) return; MenuInfo_S &info = collections_.back(); CollectionInfo *collection = info.collection; @@ -711,14 +710,15 @@ void Page::removePlaylist() if(it != items->end()) { items->erase(it); + collection->sortFavoriteItems(); collection->saveRequest = true; } + collection->Save(); } void Page::addPlaylist() { if(!selectedItem_) return; - if(!selectedItem_->leaf) return; MenuInfo_S &info = collections_.back(); CollectionInfo *collection = info.collection; @@ -727,9 +727,10 @@ void Page::addPlaylist() if(playlist_->first != "favorites" && std::find(items->begin(), items->end(), selectedItem_) == items->end()) { items->push_back(selectedItem_); - collection->sortItems(); + collection->sortFavoriteItems(); collection->saveRequest = true; } + collection->Save(); } std::string Page::getCollectionName() diff --git a/RetroFE/Source/RetroFE.cpp b/RetroFE/Source/RetroFE.cpp index 351d249..99808b8 100644 --- a/RetroFE/Source/RetroFE.cpp +++ b/RetroFE/Source/RetroFE.cpp @@ -321,17 +321,21 @@ void RetroFE::run() if(currentPage_) { std::string firstCollection = "Main"; - bool menuSort = true; config_.getProperty("firstCollection", firstCollection); - config_.getProperty("collections." + firstCollection + ".list.menuSort", menuSort); config_.setProperty("currentCollection", firstCollection); CollectionInfo *info = getCollection(firstCollection); - MenuParser mp; - - mp.buildMenuItems(info, menuSort); currentPage_->pushCollection(info); + + bool autoFavorites = true; + config_.getProperty("autoFavorites", autoFavorites); + + if (autoFavorites) + { + currentPage_->selectPlaylist("favorites"); // Switch to favorites playlist + } + currentPage_->onNewItemSelected(); currentPage_->reallocateMenuSpritePoints(); @@ -344,6 +348,36 @@ void RetroFE::run() } break; + case RETROFE_PLAYLIST_REQUEST: + currentPage_->highlightExit(); + currentPage_->setScrolling(Page::ScrollDirectionIdle); + state = RETROFE_PLAYLIST_EXIT; + break; + + case RETROFE_PLAYLIST_EXIT: + if (currentPage_->isIdle()) + { + currentPage_->onNewItemSelected(); + state = RETROFE_PLAYLIST_LOAD_ART; + } + break; + + case RETROFE_PLAYLIST_LOAD_ART: + if (currentPage_->isIdle()) + { + currentPage_->reallocateMenuSpritePoints(); + currentPage_->highlightEnter(); + state = RETROFE_PLAYLIST_ENTER; + } + break; + + case RETROFE_PLAYLIST_ENTER: + if (currentPage_->isIdle()) + { + state = RETROFE_IDLE; + } + break; + case RETROFE_HIGHLIGHT_REQUEST: currentPage_->highlightExit(); currentPage_->setScrolling(Page::ScrollDirectionIdle); @@ -395,6 +429,8 @@ void RetroFE::run() case RETROFE_NEXT_PAGE_MENU_EXIT: if(currentPage_->isIdle()) { + lastMenuOffsets_[currentPage_->getCollectionName()] = currentPage_->getScrollOffsetIndex(); + lastMenuPlaylists_[currentPage_->getCollectionName()] = currentPage_->getPlaylistName(); // Load new layout if available std::string layoutName; config_.getProperty("layout", layoutName); @@ -408,14 +444,10 @@ void RetroFE::run() currentPage_ = page; } - bool menuSort = true; config_.setProperty("currentCollection", nextPageName); - config_.getProperty("collections." + nextPageName + ".list.menuSort", menuSort); CollectionInfo *info = getCollection(nextPageName); - MenuParser mp; - mp.buildMenuItems(info, menuSort); currentPage_->pushCollection(info); bool rememberMenu = false; @@ -502,6 +534,26 @@ void RetroFE::run() currentPage_->popCollection(); } config_.setProperty("currentCollection", currentPage_->getCollectionName()); + + bool rememberMenu = false; + config_.getProperty("rememberMenu", rememberMenu); + bool autoFavorites = true; + config_.getProperty("autoFavorites", autoFavorites); + + if (rememberMenu && lastMenuPlaylists_.find(currentPage_->getCollectionName()) != lastMenuPlaylists_.end()) + { + currentPage_->selectPlaylist(lastMenuPlaylists_[currentPage_->getCollectionName()]); // Switch to last playlist + } + else if (autoFavorites) + { + currentPage_->selectPlaylist("favorites"); // Switch to favorites playlist + } + + if(rememberMenu && lastMenuOffsets_.find(currentPage_->getCollectionName()) != lastMenuOffsets_.end()) + { + currentPage_->setScrollOffsetIndex(lastMenuOffsets_[currentPage_->getCollectionName()]); + } + currentPage_->onNewItemSelected(); currentPage_->reallocateMenuSpritePoints(); state = RETROFE_BACK_MENU_LOAD_ART; @@ -671,19 +723,17 @@ RetroFE::RETROFE_STATE RetroFE::processUserInput(Page *page) if(input_.newKeyPressed(UserInput::KeyCodeNextPlaylist)) { page->nextPlaylist(); - page->reallocateMenuSpritePoints(); - state = RETROFE_HIGHLIGHT_REQUEST; + state = RETROFE_PLAYLIST_REQUEST; } if(input_.newKeyPressed(UserInput::KeyCodeRemovePlaylist)) { page->removePlaylist(); - page->onNewItemSelected(); - page->reallocateMenuSpritePoints(); + state = RETROFE_PLAYLIST_REQUEST; } if(input_.newKeyPressed(UserInput::KeyCodeAddPlaylist)) { page->addPlaylist(); - page->reallocateMenuSpritePoints(); + state = RETROFE_PLAYLIST_REQUEST; } if(input_.keystate(UserInput::KeyCodeRandom)) { @@ -779,6 +829,8 @@ CollectionInfo *RetroFE::getCollection(std::string collectionName) CollectionInfoBuilder cib(config_, *metadb_); CollectionInfo *collection = cib.buildCollection(collectionName); + cib.injectMetadata(collection); + DIR *dp; struct dirent *dirp; @@ -803,11 +855,21 @@ CollectionInfo *RetroFE::getCollection(std::string collectionName) CollectionInfo *subcollection = cib.buildCollection(basename, collectionName); collection->addSubcollection(subcollection); + cib.injectMetadata(subcollection); } } } collection->sortItems(); + + bool menuSort = true; + config_.getProperty("collections." + collectionName + ".list.menuSort", menuSort); + MenuParser mp; + mp.buildMenuItems(collection, menuSort); + + cib.addFavorites(collection); + collection->sortFavoriteItems(); + return collection; } diff --git a/RetroFE/Source/RetroFE.h b/RetroFE/Source/RetroFE.h index b0c9a1d..620f073 100644 --- a/RetroFE/Source/RetroFE.h +++ b/RetroFE/Source/RetroFE.h @@ -55,6 +55,10 @@ private: RETROFE_LOAD_ART, RETROFE_ENTER, RETROFE_SPLASH_EXIT, + RETROFE_PLAYLIST_REQUEST, + RETROFE_PLAYLIST_EXIT, + RETROFE_PLAYLIST_LOAD_ART, + RETROFE_PLAYLIST_ENTER, RETROFE_HIGHLIGHT_REQUEST, RETROFE_HIGHLIGHT_EXIT, RETROFE_HIGHLIGHT_LOAD_ART, diff --git a/RetroFE/Source/Version.cpp b/RetroFE/Source/Version.cpp index b35b9ff..a0269fa 100644 --- a/RetroFE/Source/Version.cpp +++ b/RetroFE/Source/Version.cpp @@ -20,7 +20,7 @@ std::string retrofe_version_major = "0"; std::string retrofe_version_minor = "7"; -std::string retrofe_version_build = "15"; +std::string retrofe_version_build = "16"; std::string Version::getString()