CGUIViewStateWindowMusicNav::CGUIViewStateWindowMusicNav(const CFileItemList& items) : CGUIViewStateWindowMusic(items) { if (items.IsVirtualDirectoryRoot()) { AddSortMethod(SORT_METHOD_NONE, 551, LABEL_MASKS("%F", "%I", "%L", "")); // Filename, Size | Foldername, empty SetSortMethod(SORT_METHOD_NONE); SetViewAsControl(DEFAULT_VIEW_LIST); SetSortOrder(SortOrderNone); } else { if (items.IsVideoDb() && items.Size() > (g_guiSettings.GetBool("filelists.showparentdiritems")?1:0)) { XFILE::VIDEODATABASEDIRECTORY::CQueryParams params; XFILE::CVideoDatabaseDirectory::GetQueryParams(items[g_guiSettings.GetBool("filelists.showparentdiritems")?1:0]->GetPath(),params); if (params.GetMVideoId() != -1) { if (g_guiSettings.GetBool("filelists.ignorethewhensorting")) AddSortMethod(SORT_METHOD_LABEL_IGNORE_THE, 556, LABEL_MASKS("%T", "%Y")); // Filename, Duration | Foldername, empty else AddSortMethod(SORT_METHOD_LABEL, 551, LABEL_MASKS("%T", "%Y")); // Filename, Duration | Foldername, empty AddSortMethod(SORT_METHOD_YEAR,562, LABEL_MASKS("%T", "%Y")); if (g_guiSettings.GetBool("filelists.ignorethewhensorting")) { AddSortMethod(SORT_METHOD_ARTIST_IGNORE_THE,557, LABEL_MASKS("%A - %T", "%Y")); AddSortMethod(SORT_METHOD_ALBUM_IGNORE_THE,558, LABEL_MASKS("%B - %T", "%Y")); } else { AddSortMethod(SORT_METHOD_ARTIST,557, LABEL_MASKS("%A - %T", "%Y")); AddSortMethod(SORT_METHOD_ALBUM,558, LABEL_MASKS("%B - %T", "%Y")); } CStdString strTrackLeft=g_guiSettings.GetString("musicfiles.trackformat"); CStdString strTrackRight=g_guiSettings.GetString("musicfiles.trackformatright"); AddSortMethod(SORT_METHOD_TRACKNUM, 554, LABEL_MASKS(strTrackLeft, strTrackRight)); // Userdefined, Userdefined| empty, empty } else { AddSortMethod(SORT_METHOD_LABEL, 551, LABEL_MASKS("%F", "%D", "%L", "")); // Filename, Duration | Foldername, empty SetSortMethod(SORT_METHOD_LABEL); } } else { AddSortMethod(SORT_METHOD_LABEL, 551, LABEL_MASKS("%F", "%D", "%L", "")); // Filename, Duration | Foldername, empty SetSortMethod(SORT_METHOD_LABEL); } SetViewAsControl(DEFAULT_VIEW_LIST); SetSortOrder(SortOrderAscending); } LoadViewState(items.GetPath(), WINDOW_MUSIC_NAV); }
CGUIViewStateWindowMusicNav::CGUIViewStateWindowMusicNav(const CFileItemList& items) : CGUIViewStateWindowMusic(items) { SortAttribute sortAttribute = SortAttributeNone; if (CSettings::GetInstance().GetBool(CSettings::SETTING_FILELISTS_IGNORETHEWHENSORTING)) sortAttribute = SortAttributeIgnoreArticle; if (items.IsVirtualDirectoryRoot()) { AddSortMethod(SortByNone, 551, LABEL_MASKS("%F", "%I", "%L", "")); // Filename, Size | Foldername, empty SetSortMethod(SortByNone); SetViewAsControl(DEFAULT_VIEW_LIST); SetSortOrder(SortOrderNone); } else { if (items.IsVideoDb() && items.Size() > (CSettings::GetInstance().GetBool(CSettings::SETTING_FILELISTS_SHOWPARENTDIRITEMS)?1:0)) { XFILE::VIDEODATABASEDIRECTORY::CQueryParams params; XFILE::CVideoDatabaseDirectory::GetQueryParams(items[CSettings::GetInstance().GetBool(CSettings::SETTING_FILELISTS_SHOWPARENTDIRITEMS)?1:0]->GetPath(),params); if (params.GetMVideoId() != -1) { AddSortMethod(SortByLabel, sortAttribute, 551, LABEL_MASKS("%T", "%Y")); // Filename, Duration | Foldername, empty AddSortMethod(SortByYear, 562, LABEL_MASKS("%T", "%Y")); AddSortMethod(SortByArtist, sortAttribute, 557, LABEL_MASKS("%A - %T", "%Y")); AddSortMethod(SortByArtistThenYear, sortAttribute, 578, LABEL_MASKS("%A - %T", "%Y")); AddSortMethod(SortByAlbum, sortAttribute, 558, LABEL_MASKS("%B - %T", "%Y")); std::string strTrackLeft=CSettings::GetInstance().GetString(CSettings::SETTING_MUSICFILES_TRACKFORMAT); std::string strTrackRight=CSettings::GetInstance().GetString(CSettings::SETTING_MUSICFILES_TRACKFORMATRIGHT); AddSortMethod(SortByTrackNumber, 554, LABEL_MASKS(strTrackLeft, strTrackRight)); // Userdefined, Userdefined| empty, empty } else { AddSortMethod(SortByLabel, 551, LABEL_MASKS("%F", "%D", "%L", "")); // Filename, Duration | Foldername, empty SetSortMethod(SortByLabel); } } else { AddSortMethod(SortByLabel, 551, LABEL_MASKS("%F", "%D", "%L", "")); // Filename, Duration | Foldername, empty AddSortMethod(SortBySize, 553, LABEL_MASKS("%F", "%I", "%L", "%I")); // Filename, Size | Foldername, Size AddSortMethod(SortByDate, 552, LABEL_MASKS("%F", "%J", "%L", "%J")); // Filename, Date | Foldername, Date AddSortMethod(SortByFile, 561, LABEL_MASKS("%F", "%I", "%L", "")); // Filename, Size | Label, empty SetSortMethod(SortByLabel); } SetViewAsControl(DEFAULT_VIEW_LIST); SetSortOrder(SortOrderAscending); } LoadViewState(items.GetPath(), WINDOW_MUSIC_NAV); }
CGUIViewStateWindowMusicNav::CGUIViewStateWindowMusicNav(const CFileItemList& items) : CGUIViewStateWindowMusic(items) { SortAttribute sortAttribute = SortAttributeNone; if (CSettings::Get().GetBool("filelists.ignorethewhensorting")) sortAttribute = SortAttributeIgnoreArticle; if (items.IsVirtualDirectoryRoot()) { AddSortMethod(SortByNone, 551, LABEL_MASKS("%F", "%I", "%L", "")); // Filename, Size | Foldername, empty SetSortMethod(SortByNone); SetViewAsControl(DEFAULT_VIEW_LIST); SetSortOrder(SortOrderNone); } else { if (items.IsVideoDb() && items.Size() > (CSettings::Get().GetBool("filelists.showparentdiritems")?1:0)) { XFILE::VIDEODATABASEDIRECTORY::CQueryParams params; XFILE::CVideoDatabaseDirectory::GetQueryParams(items[CSettings::Get().GetBool("filelists.showparentdiritems")?1:0]->GetPath(),params); if (params.GetMVideoId() != -1) { AddSortMethod(SortByLabel, sortAttribute, 551, LABEL_MASKS("%T", "%Y")); // Filename, Duration | Foldername, empty AddSortMethod(SortByYear, 562, LABEL_MASKS("%T", "%Y")); AddSortMethod(SortByArtist, sortAttribute, 557, LABEL_MASKS("%A - %T", "%Y")); AddSortMethod(SortByAlbum, sortAttribute, 558, LABEL_MASKS("%B - %T", "%Y")); CStdString strTrackLeft=CSettings::Get().GetString("musicfiles.trackformat"); CStdString strTrackRight=CSettings::Get().GetString("musicfiles.trackformatright"); AddSortMethod(SortByTrackNumber, 554, LABEL_MASKS(strTrackLeft, strTrackRight)); // Userdefined, Userdefined| empty, empty } else { AddSortMethod(SortByLabel, 551, LABEL_MASKS("%F", "%D", "%L", "")); // Filename, Duration | Foldername, empty SetSortMethod(SortByLabel); } } else { AddSortMethod(SortByLabel, 551, LABEL_MASKS("%F", "%D", "%L", "")); // Filename, Duration | Foldername, empty SetSortMethod(SortByLabel); } SetViewAsControl(DEFAULT_VIEW_LIST); SetSortOrder(SortOrderAscending); } LoadViewState(items.GetPath(), WINDOW_MUSIC_NAV); }
CGUIViewStateWindowMusicNav::CGUIViewStateWindowMusicNav(const CFileItemList& items) : CGUIViewStateWindowMusic(items) { SortAttribute sortAttribute = SortAttributeNone; if (CSettings::GetInstance().GetBool(CSettings::SETTING_FILELISTS_IGNORETHEWHENSORTING)) sortAttribute = SortAttributeIgnoreArticle; if (items.IsVirtualDirectoryRoot()) { AddSortMethod(SortByNone, 551, LABEL_MASKS("%F", "%I", "%L", "")); // Filename, Size | Foldername, empty SetSortMethod(SortByNone); SetViewAsControl(DEFAULT_VIEW_LIST); SetSortOrder(SortOrderNone); } else { if (items.IsVideoDb() && items.Size() > (CSettings::GetInstance().GetBool(CSettings::SETTING_FILELISTS_SHOWPARENTDIRITEMS)?1:0)) { XFILE::VIDEODATABASEDIRECTORY::CQueryParams params; XFILE::CVideoDatabaseDirectory::GetQueryParams(items[CSettings::GetInstance().GetBool(CSettings::SETTING_FILELISTS_SHOWPARENTDIRITEMS)?1:0]->GetPath(),params); if (params.GetMVideoId() != -1) { AddSortMethod(SortByLabel, sortAttribute, 551, LABEL_MASKS("%T", "%Y")); // Filename, Duration | Foldername, empty AddSortMethod(SortByYear, 562, LABEL_MASKS("%T", "%Y")); AddSortMethod(SortByArtist, sortAttribute, 557, LABEL_MASKS("%A - %T", "%Y")); AddSortMethod(SortByArtistThenYear, sortAttribute, 578, LABEL_MASKS("%A - %T", "%Y")); AddSortMethod(SortByAlbum, sortAttribute, 558, LABEL_MASKS("%B - %T", "%Y")); std::string strTrack=CSettings::GetInstance().GetString(CSettings::SETTING_MUSICFILES_TRACKFORMAT); AddSortMethod(SortByTrackNumber, 554, LABEL_MASKS(strTrack, "%D")); // Userdefined, Duration| empty, empty } else { AddSortMethod(SortByLabel, 551, LABEL_MASKS("%F", "%D", "%L", "")); // Filename, Duration | Foldername, empty SetSortMethod(SortByLabel); } } else { //In navigation of music files tag data is scanned whenever present and can be used as sort criteria //hence sort methods available are similar to song node (not the same as only tag data) //Unfortunately anything here appears at all levels of file navigation even if no song files there. std::string strTrack = CSettings::GetInstance().GetString(CSettings::SETTING_MUSICFILES_LIBRARYTRACKFORMAT); if (strTrack.empty()) strTrack = CSettings::GetInstance().GetString(CSettings::SETTING_MUSICFILES_TRACKFORMAT); AddSortMethod(SortByLabel, 551, LABEL_MASKS(strTrack, "%D", "%L", ""), // Userdefined, Duration | FolderName, empty CSettings::GetInstance().GetBool(CSettings::SETTING_FILELISTS_IGNORETHEWHENSORTING) ? SortAttributeIgnoreArticle : SortAttributeNone); AddSortMethod(SortBySize, 553, LABEL_MASKS("%F", "%I", "%L", "%I")); // Filename, Size | Foldername, Size AddSortMethod(SortByDate, 552, LABEL_MASKS("%F", "%J", "%L", "%J")); // Filename, Date | Foldername, Date AddSortMethod(SortByFile, 561, LABEL_MASKS("%F", "%I", "%L", "")); // Filename, Size | Label, empty AddSortMethod(SortByTrackNumber, 554, LABEL_MASKS(strTrack, "%D")); // Userdefined, Duration| empty, empty AddSortMethod(SortByTitle, sortAttribute, 556, LABEL_MASKS("%T - %A", "%D")); // Title, Artist, Duration| empty, empty AddSortMethod(SortByAlbum, sortAttribute, 558, LABEL_MASKS("%B - %T - %A", "%D")); // Album, Title, Artist, Duration| empty, empty AddSortMethod(SortByArtist, sortAttribute, 557, LABEL_MASKS("%A - %T", "%D")); // Artist, Title, Duration| empty, empty AddSortMethod(SortByArtistThenYear, sortAttribute, 578, LABEL_MASKS("%A - %T", "%Y")); // Artist(year), Title, Year| empty, empty AddSortMethod(SortByTime, 180, LABEL_MASKS("%T - %A", "%D")); // Titel, Artist, Duration| empty, empty AddSortMethod(SortByYear, 562, LABEL_MASKS("%T - %A", "%Y")); // Title, Artist, Year SetSortMethod(SortByLabel); } const CViewState *viewState = CViewStateSettings::GetInstance().Get("musicnavsongs"); SetViewAsControl(viewState->m_viewMode); SetSortOrder(viewState->m_sortDescription.sortOrder); SetSortOrder(SortOrderAscending); } LoadViewState(items.GetPath(), WINDOW_MUSIC_NAV); }