From 830bf1bb8d5b3e963299733542da2c79e7f0964c Mon Sep 17 00:00:00 2001 From: Crash Cringle <30600688+CrashCringle12@users.noreply.github.com> Date: Sun, 2 Mar 2025 13:35:05 -0500 Subject: [PATCH] Change series map value from a vector to an unordered set, remove series prefixing, ensure always defaulting to group disk name for sorting --- src/Group.cpp | 2 +- src/MusicWheelItem.cpp | 4 ++-- src/SongManager.cpp | 5 ++--- src/SongManager.h | 4 ++-- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/Group.cpp b/src/Group.cpp index 4bfd031a95..e3fa426395 100644 --- a/src/Group.cpp +++ b/src/Group.cpp @@ -77,7 +77,7 @@ Group::Group(const RString& sDir, const RString& sGroupDirName) { ini.GetValue("Group", "SortTitle", sSortTitle); Trim(sSortTitle); if (sSortTitle.empty()) { - sSortTitle = sDisplayTitle; + sSortTitle = Basename(sGroupDirName); } ini.GetValue("Group", "TranslitTitle", sTranslitTitle); diff --git a/src/MusicWheelItem.cpp b/src/MusicWheelItem.cpp index 615847d1dd..e7f9ee02e1 100644 --- a/src/MusicWheelItem.cpp +++ b/src/MusicWheelItem.cpp @@ -231,10 +231,10 @@ void MusicWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pData, int sTranslitName = SONGMAN->ShortenGroupName(pWID->m_pGroup->GetTranslitTitle()); } else { + // This will eventually do something different when we eventually implement nested folders + // for now, use the same behavior. sDisplayName = SONGMAN->ShortenGroupName(pWID->m_sText); sTranslitName = SONGMAN->ShortenGroupName(pWID->m_pGroup->GetTranslitTitle()); - // sDisplayName = SONGMAN->ShortenGroupName("[" + pWID->m_pGroup->GetSeries() +"] " + pWID->m_pGroup->GetDisplayTitle()); - // sTranslitName = SONGMAN->ShortenGroupName("[" + pWID->m_pGroup->GetSeries() +"] " + pWID->m_pGroup->GetTranslitTitle()); } } if( GAMESTATE->sExpandedSectionName == pWID->m_sText ) diff --git a/src/SongManager.cpp b/src/SongManager.cpp index cb1a7610ed..3f4e8947f2 100644 --- a/src/SongManager.cpp +++ b/src/SongManager.cpp @@ -349,9 +349,8 @@ void SongManager::AddGroup( RString sDir, RString sGroupDirName, Group* group ) // Add the group to its series if the group has one and if the series exists if( group->GetSeries() != "" ) { - std::vector& series = m_mapSeriesToGroup[group->GetSeries()]; - if( std::find(series.begin(), series.end(), group) == series.end() ) - series.push_back(group); + std::unordered_set& series = m_mapSeriesToGroup[group->GetSeries()]; + series.insert(group); } //m_sSongGroupBackgroundPaths.push_back( sBackgroundPath ); } diff --git a/src/SongManager.h b/src/SongManager.h index 14368bbb25..a7ac16711d 100644 --- a/src/SongManager.h +++ b/src/SongManager.h @@ -148,7 +148,7 @@ public: std::map> GetPreferredSortSongsMap() const { return m_mapPreferredSectionToSongs;}; RString SongToPreferredSortSectionName( const Song *pSong ) const; std::map GetGroupGroupMap() const { return m_mapNameToGroup;}; - std::map> GetSeriesGroupMap() const { return m_mapSeriesToGroup;}; + std::map> GetSeriesGroupMap() const { return m_mapSeriesToGroup;}; Group* GetGroupFromName( const RString &sGroupName ) const; Group* GetGroup( const Song *pSong ) const; std::vector GetPreferredSortSectionNames() const; @@ -251,7 +251,7 @@ protected: //vector m_sSongGroupBackgroundPaths; // each song group may have a background associated with it (very rarely) std::map m_mapNameToGroup; - std::map> m_mapSeriesToGroup; + std::map> m_mapSeriesToGroup; struct Comp { bool operator()(const RString& s, const RString &t) const { return CompareRStringsAsc(s,t); } }; typedef std::vector SongPointerVector;