diff options
author | Arne Morten Kvarving <spiff@kodi.tv> | 2024-05-11 04:38:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-11 04:38:35 +0200 |
commit | 436befa5e98a39bcf2ed69132717e1961bb77ee2 (patch) | |
tree | 41501e1d66eb31ed5e7d4fcfc14f5d6b38855c2f | |
parent | 64e0ecf2f3d0a6011f97067f0922605bc14e453b (diff) | |
parent | f5a84bc31fb9e89c0968f9eb6a2b763472f7b6cf (diff) | |
download | xbmc-436befa5e98a39bcf2ed69132717e1961bb77ee2.tar.xz |
Merge pull request #25187 from notspiff/playlist_id_enum_class
PLAYLIST::Id: convert to enum class
51 files changed, 449 insertions, 397 deletions
diff --git a/xbmc/Autorun.cpp b/xbmc/Autorun.cpp index 5f8d321a5f..78aa9583a5 100644 --- a/xbmc/Autorun.cpp +++ b/xbmc/Autorun.cpp @@ -102,7 +102,7 @@ bool CAutorun::PlayDisc(const std::string& path, bool bypassSettings, bool start if ( !bypassSettings && CServiceBroker::GetSettingsComponent()->GetSettings()->GetInt(CSettings::SETTING_AUDIOCDS_AUTOACTION) != AUTOCD_PLAY && !CServiceBroker::GetSettingsComponent()->GetSettings()->GetBool(CSettings::SETTING_DVDS_AUTORUN)) return false; - int nSize = CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::TYPE_MUSIC).size(); + int nSize = CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::Id::TYPE_MUSIC).size(); int nAddedToPlaylist = 0; std::string mediaPath; @@ -131,7 +131,7 @@ bool CAutorun::PlayDisc(const std::string& path, bool bypassSettings, bool start { CGUIMessage msg( GUI_MSG_PLAYLIST_CHANGED, 0, 0 ); CServiceBroker::GetGUI()->GetWindowManager().SendMessage( msg ); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_MUSIC); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_MUSIC); // Start playing the items we inserted return CServiceBroker::GetPlaylistPlayer().Play(nSize, ""); } @@ -215,10 +215,10 @@ bool CAutorun::RunDisc(IDirectory* pDir, const std::string& strDrive, int& nAdde if (!startFromBeginning && !item->GetVideoInfoTag()->m_strFileNameAndPath.empty()) item->SetStartOffset(STARTOFFSET_RESUME); - CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::TYPE_VIDEO); - CServiceBroker::GetPlaylistPlayer().SetShuffle(PLAYLIST::TYPE_VIDEO, false); - CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::TYPE_VIDEO, item); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::Id::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().SetShuffle(PLAYLIST::Id::TYPE_VIDEO, false); + CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::Id::TYPE_VIDEO, item); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_VIDEO); CServiceBroker::GetPlaylistPlayer().Play(0, ""); return true; } @@ -237,10 +237,10 @@ bool CAutorun::RunDisc(IDirectory* pDir, const std::string& strDrive, int& nAdde if (!startFromBeginning && !item->GetVideoInfoTag()->m_strFileNameAndPath.empty()) item->SetStartOffset(STARTOFFSET_RESUME); - CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::TYPE_VIDEO); - CServiceBroker::GetPlaylistPlayer().SetShuffle(PLAYLIST::TYPE_VIDEO, false); - CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::TYPE_VIDEO, item); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::Id::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().SetShuffle(PLAYLIST::Id::TYPE_VIDEO, false); + CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::Id::TYPE_VIDEO, item); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_VIDEO); CServiceBroker::GetPlaylistPlayer().Play(0, ""); return true; } @@ -346,10 +346,10 @@ bool CAutorun::RunDisc(IDirectory* pDir, const std::string& strDrive, int& nAdde // internal *.evo playback. CLog::Log(LOGINFO,"HD DVD: Internal multifile playback initiated."); - CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::TYPE_VIDEO); - CServiceBroker::GetPlaylistPlayer().SetShuffle(PLAYLIST::TYPE_VIDEO, false); - CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::TYPE_VIDEO, items); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::Id::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().SetShuffle(PLAYLIST::Id::TYPE_VIDEO, false); + CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::Id::TYPE_VIDEO, items); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_VIDEO); CServiceBroker::GetPlaylistPlayer().Play(0, ""); return true; } @@ -370,9 +370,9 @@ bool CAutorun::RunDisc(IDirectory* pDir, const std::string& strDrive, int& nAdde if (items.Size()) { items.Sort(SortByLabel, SortOrderAscending); - CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::TYPE_VIDEO); - CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::TYPE_VIDEO, items); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::Id::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::Id::TYPE_VIDEO, items); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_VIDEO); CServiceBroker::GetPlaylistPlayer().Play(0, ""); return true; } @@ -429,9 +429,9 @@ bool CAutorun::RunDisc(IDirectory* pDir, const std::string& strDrive, int& nAdde if (!g_passwordManager.IsMasterLockUnlocked(true)) return false; } - CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::TYPE_VIDEO); - CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::TYPE_VIDEO, itemlist); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::Id::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::Id::TYPE_VIDEO, itemlist); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_VIDEO); CServiceBroker::GetPlaylistPlayer().Play(0, ""); } } @@ -444,7 +444,7 @@ bool CAutorun::RunDisc(IDirectory* pDir, const std::string& strDrive, int& nAdde if (!pItem->m_bIsFolder && MUSIC::IsAudio(*pItem)) { nAddedToPlaylist++; - CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::TYPE_MUSIC, pItem); + CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::Id::TYPE_MUSIC, pItem); } } } diff --git a/xbmc/GUIInfoManager.cpp b/xbmc/GUIInfoManager.cpp index 50a46d148b..5bf28d0c1b 100644 --- a/xbmc/GUIInfoManager.cpp +++ b/xbmc/GUIInfoManager.cpp @@ -10545,14 +10545,14 @@ int CGUIInfoManager::TranslateSingleString(const std::string &strCondition, bool return ret; else { - PLAYLIST::Id playlistid = PLAYLIST::TYPE_NONE; + PLAYLIST::Id playlistid = PLAYLIST::Id::TYPE_NONE; if (StringUtils::EqualsNoCase(prop.param(), "video")) - playlistid = PLAYLIST::TYPE_VIDEO; + playlistid = PLAYLIST::Id::TYPE_VIDEO; else if (StringUtils::EqualsNoCase(prop.param(), "music")) - playlistid = PLAYLIST::TYPE_MUSIC; + playlistid = PLAYLIST::Id::TYPE_MUSIC; - if (playlistid != PLAYLIST::TYPE_NONE) - return AddMultiInfo(CGUIInfo(ret, playlistid, 1)); + if (playlistid != PLAYLIST::Id::TYPE_NONE) + return AddMultiInfo(CGUIInfo(ret, static_cast<int>(playlistid), 1)); } } } diff --git a/xbmc/PartyModeManager.cpp b/xbmc/PartyModeManager.cpp index dd74bad29e..b651054cb2 100644 --- a/xbmc/PartyModeManager.cpp +++ b/xbmc/PartyModeManager.cpp @@ -563,7 +563,8 @@ void CPartyModeManager::Announce() { CVariant data; - data["player"]["playerid"] = CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist(); + data["player"]["playerid"] = + static_cast<int>(CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist()); data["property"]["partymode"] = m_bEnabled; CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Player, "OnPropertyChanged", data); @@ -572,5 +573,5 @@ void CPartyModeManager::Announce() PLAYLIST::Id CPartyModeManager::GetPlaylistId() const { - return m_bIsVideo ? PLAYLIST::TYPE_VIDEO : PLAYLIST::TYPE_MUSIC; + return m_bIsVideo ? PLAYLIST::Id::TYPE_VIDEO : PLAYLIST::Id::TYPE_MUSIC; } diff --git a/xbmc/PartyModeManager.h b/xbmc/PartyModeManager.h index 4acb496f2d..cb1a5b3a4c 100644 --- a/xbmc/PartyModeManager.h +++ b/xbmc/PartyModeManager.h @@ -17,7 +17,7 @@ class CFileItem; typedef std::shared_ptr<CFileItem> CFileItemPtr; class CFileItemList; namespace PLAYLIST { -using Id = int; +enum class Id; class CPlayList; } diff --git a/xbmc/PlayListPlayer.cpp b/xbmc/PlayListPlayer.cpp index 17e198aa76..60535f5dcc 100644 --- a/xbmc/PlayListPlayer.cpp +++ b/xbmc/PlayListPlayer.cpp @@ -48,8 +48,8 @@ using namespace KODI::VIDEO; CPlayListPlayer::CPlayListPlayer(void) { - m_PlaylistMusic = new CPlayList(TYPE_MUSIC); - m_PlaylistVideo = new CPlayList(TYPE_VIDEO); + m_PlaylistMusic = new CPlayList(Id::TYPE_MUSIC); + m_PlaylistVideo = new CPlayList(Id::TYPE_VIDEO); m_PlaylistEmpty = new CPlayList; m_iCurrentSong = -1; m_bPlayedFirstFile = false; @@ -90,7 +90,7 @@ bool CPlayListPlayer::OnMessage(CGUIMessage &message) if (message.GetParam1() == GUI_MSG_UPDATE_ITEM && message.GetItem()) { // update the items in our playlist(s) if necessary - for (Id playlistId : {TYPE_MUSIC, TYPE_VIDEO}) + for (Id playlistId : {Id::TYPE_MUSIC, Id::TYPE_VIDEO}) { CPlayList& playlist = GetPlaylist(playlistId); CFileItemPtr item = std::static_pointer_cast<CFileItem>(message.GetItem()); @@ -100,12 +100,13 @@ bool CPlayListPlayer::OnMessage(CGUIMessage &message) break; case GUI_MSG_PLAYBACK_STOPPED: { - if (m_iCurrentPlayList != TYPE_NONE && m_bPlaybackStarted) + if (m_iCurrentPlayList != Id::TYPE_NONE && m_bPlaybackStarted) { - CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_STOPPED, 0, 0, m_iCurrentPlayList, m_iCurrentSong); + CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_STOPPED, 0, 0, static_cast<int>(m_iCurrentPlayList), + m_iCurrentSong); CServiceBroker::GetGUI()->GetWindowManager().SendThreadMessage(msg); Reset(); - m_iCurrentPlayList = TYPE_NONE; + m_iCurrentPlayList = Id::TYPE_NONE; return true; } } @@ -122,7 +123,7 @@ bool CPlayListPlayer::OnMessage(CGUIMessage &message) int CPlayListPlayer::GetNextItemIdx(int offset) const { - if (m_iCurrentPlayList == TYPE_NONE) + if (m_iCurrentPlayList == Id::TYPE_NONE) return -1; const CPlayList& playlist = GetPlaylist(m_iCurrentPlayList); @@ -132,7 +133,7 @@ int CPlayListPlayer::GetNextItemIdx(int offset) const int song = m_iCurrentSong; // party mode - if (g_partyModeManager.IsEnabled() && GetCurrentPlaylist() == TYPE_MUSIC) + if (g_partyModeManager.IsEnabled() && GetCurrentPlaylist() == Id::TYPE_MUSIC) return song + offset; // wrap around in the case of repeating @@ -148,7 +149,7 @@ int CPlayListPlayer::GetNextItemIdx(int offset) const int CPlayListPlayer::GetNextItemIdx() { - if (m_iCurrentPlayList == TYPE_NONE) + if (m_iCurrentPlayList == Id::TYPE_NONE) return -1; CPlayList& playlist = GetPlaylist(m_iCurrentPlayList); if (playlist.size() <= 0) @@ -156,7 +157,7 @@ int CPlayListPlayer::GetNextItemIdx() int iSong = m_iCurrentSong; // party mode - if (g_partyModeManager.IsEnabled() && GetCurrentPlaylist() == TYPE_MUSIC) + if (g_partyModeManager.IsEnabled() && GetCurrentPlaylist() == Id::TYPE_MUSIC) return iSong + 1; // if repeat one, keep playing the current song if its valid @@ -167,10 +168,11 @@ int CPlayListPlayer::GetNextItemIdx() { CLog::Log(LOGERROR, "Playlist Player: RepeatOne stuck on unplayable item: {}, path [{}]", m_iCurrentSong, playlist[m_iCurrentSong]->GetPath()); - CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_STOPPED, 0, 0, m_iCurrentPlayList, m_iCurrentSong); + CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_STOPPED, 0, 0, static_cast<int>(m_iCurrentPlayList), + m_iCurrentSong); CServiceBroker::GetGUI()->GetWindowManager().SendThreadMessage(msg); Reset(); - m_iCurrentPlayList = TYPE_NONE; + m_iCurrentPlayList = Id::TYPE_NONE; return -1; } return iSong; @@ -195,10 +197,11 @@ bool CPlayListPlayer::PlayNext(int offset, bool bAutoPlay) if(!bAutoPlay) CGUIDialogKaiToast::QueueNotification(CGUIDialogKaiToast::Info, g_localizeStrings.Get(559), g_localizeStrings.Get(34201)); - CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_STOPPED, 0, 0, m_iCurrentPlayList, m_iCurrentSong); + CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_STOPPED, 0, 0, static_cast<int>(m_iCurrentPlayList), + m_iCurrentSong); CServiceBroker::GetGUI()->GetWindowManager().SendThreadMessage(msg); Reset(); - m_iCurrentPlayList = TYPE_NONE; + m_iCurrentPlayList = Id::TYPE_NONE; return false; } @@ -211,7 +214,7 @@ bool CPlayListPlayer::PlayNext(int offset, bool bAutoPlay) bool CPlayListPlayer::PlayPrevious() { - if (m_iCurrentPlayList == TYPE_NONE) + if (m_iCurrentPlayList == Id::TYPE_NONE) return false; const CPlayList& playlist = GetPlaylist(m_iCurrentPlayList); @@ -240,7 +243,7 @@ bool CPlayListPlayer::IsSingleItemNonRepeatPlaylist() const bool CPlayListPlayer::Play() { - if (m_iCurrentPlayList == TYPE_NONE) + if (m_iCurrentPlayList == Id::TYPE_NONE) return false; const CPlayList& playlist = GetPlaylist(m_iCurrentPlayList); @@ -252,7 +255,7 @@ bool CPlayListPlayer::Play() bool CPlayListPlayer::PlayItemIdx(int itemIdx) { - if (m_iCurrentPlayList == TYPE_NONE) + if (m_iCurrentPlayList == Id::TYPE_NONE) return false; CPlayList& playlist = GetPlaylist(m_iCurrentPlayList); @@ -277,9 +280,9 @@ bool CPlayListPlayer::Play(const CFileItemPtr& pItem, bool isAudio{MUSIC::IsAudio(*pItem)}; if (isAudio && !isVideo) - playlistId = TYPE_MUSIC; + playlistId = Id::TYPE_MUSIC; else if (isVideo && !isAudio) - playlistId = TYPE_VIDEO; + playlistId = Id::TYPE_VIDEO; else if (pItem->HasProperty("playlist_type_hint")) { // There are two main cases that can fall here: @@ -293,7 +296,8 @@ bool CPlayListPlayer::Play(const CFileItemPtr& pItem, // to detect the media type, IsVideo() / IsAudio() both return false // // for these cases the type is unknown so we rely on the hint - playlistId = pItem->GetProperty("playlist_type_hint").asInteger32(TYPE_NONE); + playlistId = + Id{pItem->GetProperty("playlist_type_hint").asInteger32(static_cast<int>(Id::TYPE_NONE))}; } else { @@ -317,7 +321,7 @@ bool CPlayListPlayer::Play(int iSong, bool bPlayPrevious /* = false */, bool forceSelection /* = false */) { - if (m_iCurrentPlayList == TYPE_NONE) + if (m_iCurrentPlayList == Id::TYPE_NONE) return false; CPlayList& playlist = GetPlaylist(m_iCurrentPlayList); @@ -374,11 +378,12 @@ bool CPlayListPlayer::Play(int iSong, // open error dialog HELPERS::ShowOKDialogText(CVariant{16026}, CVariant{16027}); - CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_STOPPED, 0, 0, m_iCurrentPlayList, m_iCurrentSong); + CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_STOPPED, 0, 0, static_cast<int>(m_iCurrentPlayList), + m_iCurrentSong); CServiceBroker::GetGUI()->GetWindowManager().SendThreadMessage(msg); Reset(); GetPlaylist(m_iCurrentPlayList).Clear(); - m_iCurrentPlayList = TYPE_NONE; + m_iCurrentPlayList = Id::TYPE_NONE; m_iFailedSongs = 0; m_failedSongsStart = std::chrono::steady_clock::now(); return false; @@ -393,10 +398,11 @@ bool CPlayListPlayer::Play(int iSong, else { CLog::Log(LOGDEBUG,"Playlist Player: no more playable items... aborting playback"); - CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_STOPPED, 0, 0, m_iCurrentPlayList, m_iCurrentSong); + CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_STOPPED, 0, 0, static_cast<int>(m_iCurrentPlayList), + m_iCurrentSong); CServiceBroker::GetGUI()->GetWindowManager().SendThreadMessage(msg); Reset(); - m_iCurrentPlayList = TYPE_NONE; + m_iCurrentPlayList = Id::TYPE_NONE; return false; } } @@ -463,10 +469,10 @@ CPlayList& CPlayListPlayer::GetPlaylist(Id playlistId) { switch (playlistId) { - case TYPE_MUSIC: + case Id::TYPE_MUSIC: return *m_PlaylistMusic; break; - case TYPE_VIDEO: + case Id::TYPE_VIDEO: return *m_PlaylistVideo; break; default: @@ -480,10 +486,10 @@ const CPlayList& CPlayListPlayer::GetPlaylist(Id playlistId) const { switch (playlistId) { - case TYPE_MUSIC: + case Id::TYPE_MUSIC: return *m_PlaylistMusic; break; - case TYPE_VIDEO: + case Id::TYPE_VIDEO: return *m_PlaylistVideo; break; default: @@ -535,11 +541,11 @@ bool CPlayListPlayer::RepeatedOne(Id playlistId) const void CPlayListPlayer::SetShuffle(Id playlistId, bool bYesNo, bool bNotify /* = false */) { - if (playlistId != TYPE_MUSIC && playlistId != TYPE_VIDEO) + if (playlistId != Id::TYPE_MUSIC && playlistId != Id::TYPE_VIDEO) return; // disable shuffle in party mode - if (g_partyModeManager.IsEnabled() && playlistId == TYPE_MUSIC) + if (g_partyModeManager.IsEnabled() && playlistId == Id::TYPE_MUSIC) return; // do we even need to do anything? @@ -589,10 +595,10 @@ void CPlayListPlayer::SetShuffle(Id playlistId, bool bYesNo, bool bNotify /* = f bool CPlayListPlayer::IsShuffled(Id playlistId) const { // even if shuffled, party mode says its not - if (g_partyModeManager.IsEnabled() && playlistId == TYPE_MUSIC) + if (g_partyModeManager.IsEnabled() && playlistId == Id::TYPE_MUSIC) return false; - if (playlistId == TYPE_MUSIC || playlistId == TYPE_VIDEO) + if (playlistId == Id::TYPE_MUSIC || playlistId == Id::TYPE_VIDEO) return GetPlaylist(playlistId).IsShuffled(); return false; @@ -600,11 +606,11 @@ bool CPlayListPlayer::IsShuffled(Id playlistId) const void CPlayListPlayer::SetRepeat(Id playlistId, RepeatState state, bool bNotify /* = false */) { - if (playlistId != TYPE_MUSIC && playlistId != TYPE_VIDEO) + if (playlistId != Id::TYPE_MUSIC && playlistId != Id::TYPE_VIDEO) return; // disable repeat in party mode - if (g_partyModeManager.IsEnabled() && playlistId == TYPE_MUSIC) + if (g_partyModeManager.IsEnabled() && playlistId == Id::TYPE_MUSIC) state = RepeatState::NONE; // notify the user if there was a change in the repeat state @@ -668,8 +674,8 @@ void CPlayListPlayer::ReShuffle(Id playlistId, int iPosition) { const auto& components = CServiceBroker::GetAppComponents(); const auto appPlayer = components.GetComponent<CApplicationPlayer>(); - if ((appPlayer->IsPlayingAudio() && playlistId == TYPE_MUSIC) || - (appPlayer->IsPlayingVideo() && playlistId == TYPE_VIDEO)) + if ((appPlayer->IsPlayingAudio() && playlistId == Id::TYPE_MUSIC) || + (appPlayer->IsPlayingVideo() && playlistId == Id::TYPE_VIDEO)) { GetPlaylist(playlistId).Shuffle(m_iCurrentSong + 2); } @@ -684,7 +690,7 @@ void CPlayListPlayer::ReShuffle(Id playlistId, int iPosition) void CPlayListPlayer::Add(Id playlistId, const CPlayList& playlist) { - if (playlistId != TYPE_MUSIC && playlistId != TYPE_VIDEO) + if (playlistId != Id::TYPE_MUSIC && playlistId != Id::TYPE_VIDEO) return; CPlayList& list = GetPlaylist(playlistId); int iSize = list.size(); @@ -695,7 +701,7 @@ void CPlayListPlayer::Add(Id playlistId, const CPlayList& playlist) void CPlayListPlayer::Add(Id playlistId, const CFileItemPtr& pItem) { - if (playlistId != TYPE_MUSIC && playlistId != TYPE_VIDEO) + if (playlistId != Id::TYPE_MUSIC && playlistId != Id::TYPE_VIDEO) return; CPlayList& list = GetPlaylist(playlistId); int iSize = list.size(); @@ -710,7 +716,7 @@ void CPlayListPlayer::Add(Id playlistId, const CFileItemPtr& pItem) void CPlayListPlayer::Add(Id playlistId, const CFileItemList& items) { - if (playlistId != TYPE_MUSIC && playlistId != TYPE_VIDEO) + if (playlistId != Id::TYPE_MUSIC && playlistId != Id::TYPE_VIDEO) return; CPlayList& list = GetPlaylist(playlistId); int iSize = list.size(); @@ -725,7 +731,7 @@ void CPlayListPlayer::Add(Id playlistId, const CFileItemList& items) void CPlayListPlayer::Insert(Id playlistId, const CPlayList& playlist, int iIndex) { - if (playlistId != TYPE_MUSIC && playlistId != TYPE_VIDEO) + if (playlistId != Id::TYPE_MUSIC && playlistId != Id::TYPE_VIDEO) return; CPlayList& list = GetPlaylist(playlistId); int iSize = list.size(); @@ -738,7 +744,7 @@ void CPlayListPlayer::Insert(Id playlistId, const CPlayList& playlist, int iInde void CPlayListPlayer::Insert(Id playlistId, const CFileItemPtr& pItem, int iIndex) { - if (playlistId != TYPE_MUSIC && playlistId != TYPE_VIDEO) + if (playlistId != Id::TYPE_MUSIC && playlistId != Id::TYPE_VIDEO) return; CPlayList& list = GetPlaylist(playlistId); int iSize = list.size(); @@ -751,7 +757,7 @@ void CPlayListPlayer::Insert(Id playlistId, const CFileItemPtr& pItem, int iInde void CPlayListPlayer::Insert(Id playlistId, const CFileItemList& items, int iIndex) { - if (playlistId != TYPE_MUSIC && playlistId != TYPE_VIDEO) + if (playlistId != Id::TYPE_MUSIC && playlistId != Id::TYPE_VIDEO) return; CPlayList& list = GetPlaylist(playlistId); int iSize = list.size(); @@ -768,7 +774,7 @@ void CPlayListPlayer::Insert(Id playlistId, const CFileItemList& items, int iInd void CPlayListPlayer::Remove(Id playlistId, int iPosition) { - if (playlistId != TYPE_MUSIC && playlistId != TYPE_VIDEO) + if (playlistId != Id::TYPE_MUSIC && playlistId != Id::TYPE_VIDEO) return; CPlayList& list = GetPlaylist(playlistId); list.Remove(iPosition); @@ -792,7 +798,7 @@ void CPlayListPlayer::Clear() void CPlayListPlayer::Swap(Id playlistId, int indexItem1, int indexItem2) { - if (playlistId != TYPE_MUSIC && playlistId != TYPE_VIDEO) + if (playlistId != Id::TYPE_MUSIC && playlistId != Id::TYPE_VIDEO) return; CPlayList& list = GetPlaylist(playlistId); @@ -817,12 +823,12 @@ void CPlayListPlayer::AnnouncePropertyChanged(Id playlistId, const auto appPlayer = components.GetComponent<CApplicationPlayer>(); if (strProperty.empty() || value.isNull() || - (playlistId == TYPE_VIDEO && !appPlayer->IsPlayingVideo()) || - (playlistId == TYPE_MUSIC && !appPlayer->IsPlayingAudio())) + (playlistId == Id::TYPE_VIDEO && !appPlayer->IsPlayingVideo()) || + (playlistId == Id::TYPE_MUSIC && !appPlayer->IsPlayingAudio())) return; CVariant data; - data["player"]["playerid"] = playlistId; + data["player"]["playerid"] = static_cast<int>(playlistId); data["property"][strProperty] = value; CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Player, "OnPropertyChanged", data); @@ -877,7 +883,7 @@ void PLAYLIST::CPlayListPlayer::OnApplicationMessage(KODI::MESSAGING::ThreadMess { CFileItemList *list = static_cast<CFileItemList*>(pMsg->lpVoid); - Add(pMsg->param1, (*list)); + Add(Id{pMsg->param1}, (*list)); delete list; } break; @@ -886,32 +892,32 @@ void PLAYLIST::CPlayListPlayer::OnApplicationMessage(KODI::MESSAGING::ThreadMess if (pMsg->lpVoid) { CFileItemList *list = static_cast<CFileItemList*>(pMsg->lpVoid); - Insert(pMsg->param1, (*list), pMsg->param2); + Insert(Id{pMsg->param1}, (*list), pMsg->param2); delete list; } break; case TMSG_PLAYLISTPLAYER_REMOVE: if (pMsg->param1 != -1) - Remove(pMsg->param1, pMsg->param2); + Remove(Id{pMsg->param1}, pMsg->param2); break; case TMSG_PLAYLISTPLAYER_CLEAR: - ClearPlaylist(pMsg->param1); + ClearPlaylist(Id{pMsg->param1}); break; case TMSG_PLAYLISTPLAYER_SHUFFLE: - SetShuffle(pMsg->param1, pMsg->param2 > 0); + SetShuffle(Id{pMsg->param1}, pMsg->param2 > 0); break; case TMSG_PLAYLISTPLAYER_REPEAT: - SetRepeat(pMsg->param1, static_cast<RepeatState>(pMsg->param2)); + SetRepeat(Id{pMsg->param1}, static_cast<RepeatState>(pMsg->param2)); break; case TMSG_PLAYLISTPLAYER_GET_ITEMS: if (pMsg->lpVoid) { - PLAYLIST::CPlayList playlist = GetPlaylist(pMsg->param1); + PLAYLIST::CPlayList playlist = GetPlaylist(Id{pMsg->param1}); CFileItemList *list = static_cast<CFileItemList*>(pMsg->lpVoid); for (int i = 0; i < playlist.size(); i++) @@ -924,7 +930,7 @@ void PLAYLIST::CPlayListPlayer::OnApplicationMessage(KODI::MESSAGING::ThreadMess { auto indexes = static_cast<std::vector<int>*>(pMsg->lpVoid); if (indexes->size() == 2) - Swap(pMsg->param1, indexes->at(0), indexes->at(1)); + Swap(Id{pMsg->param1}, indexes->at(0), indexes->at(1)); delete indexes; } break; @@ -954,12 +960,12 @@ void PLAYLIST::CPlayListPlayer::OnApplicationMessage(KODI::MESSAGING::ThreadMess if (list->Size() > 0) { - Id playlistId = TYPE_MUSIC; + Id playlistId = Id::TYPE_MUSIC; for (int i = 0; i < list->Size(); i++) { if (IsVideo(*list->Get(i))) { - playlistId = TYPE_VIDEO; + playlistId = Id::TYPE_VIDEO; break; } } @@ -997,10 +1003,10 @@ void PLAYLIST::CPlayListPlayer::OnApplicationMessage(KODI::MESSAGING::ThreadMess delete list; } - else if (pMsg->param1 == TYPE_MUSIC || pMsg->param1 == TYPE_VIDEO) + else if (Id{pMsg->param1} == Id::TYPE_MUSIC || Id{pMsg->param1} == Id::TYPE_VIDEO) { - if (GetCurrentPlaylist() != pMsg->param1) - SetCurrentPlaylist(pMsg->param1); + if (GetCurrentPlaylist() != Id{pMsg->param1}) + SetCurrentPlaylist(Id{pMsg->param1}); CServiceBroker::GetAppMessenger()->SendMsg(TMSG_PLAYLISTPLAYER_PLAY, pMsg->param2); } @@ -1018,12 +1024,12 @@ void PLAYLIST::CPlayListPlayer::OnApplicationMessage(KODI::MESSAGING::ThreadMess bool stopVideo = true; bool stopMusic = true; - Id playlistId = pMsg->param1; - if (playlistId != TYPE_NONE) + Id playlistId = Id{pMsg->param1}; + if (playlistId != Id::TYPE_NONE) { - stopSlideshow = (playlistId == TYPE_PICTURE); - stopVideo = (playlistId == TYPE_VIDEO); - stopMusic = (playlistId == TYPE_MUSIC); + stopSlideshow = (playlistId == Id::TYPE_PICTURE); + stopVideo = (playlistId == Id::TYPE_VIDEO); + stopMusic = (playlistId == Id::TYPE_MUSIC); } if ((stopSlideshow && CServiceBroker::GetGUI()->GetWindowManager().GetActiveWindow() == WINDOW_SLIDESHOW) || diff --git a/xbmc/PlayListPlayer.h b/xbmc/PlayListPlayer.h index f17abf6280..30ee4666da 100644 --- a/xbmc/PlayListPlayer.h +++ b/xbmc/PlayListPlayer.h @@ -195,14 +195,14 @@ protected: int m_iFailedSongs; std::chrono::time_point<std::chrono::steady_clock> m_failedSongsStart; int m_iCurrentSong; - PLAYLIST::Id m_iCurrentPlayList{PLAYLIST::TYPE_NONE}; + PLAYLIST::Id m_iCurrentPlayList{PLAYLIST::Id::TYPE_NONE}; CPlayList* m_PlaylistMusic; CPlayList* m_PlaylistVideo; CPlayList* m_PlaylistEmpty; std::map<PLAYLIST::Id, PLAYLIST::RepeatState> m_repeatState{ - {PLAYLIST::TYPE_MUSIC, PLAYLIST::RepeatState::NONE}, - {PLAYLIST::TYPE_VIDEO, PLAYLIST::RepeatState::NONE}, - {PLAYLIST::TYPE_PICTURE, PLAYLIST::RepeatState::NONE}, + {PLAYLIST::Id::TYPE_MUSIC, PLAYLIST::RepeatState::NONE}, + {PLAYLIST::Id::TYPE_VIDEO, PLAYLIST::RepeatState::NONE}, + {PLAYLIST::Id::TYPE_PICTURE, PLAYLIST::RepeatState::NONE}, }; }; diff --git a/xbmc/application/Application.cpp b/xbmc/application/Application.cpp index 8cb1731647..3ef61f4571 100644 --- a/xbmc/application/Application.cpp +++ b/xbmc/application/Application.cpp @@ -1368,12 +1368,12 @@ bool CApplication::OnAction(const CAction &action) if (action.GetID() == ACTION_SHOW_PLAYLIST) { const PLAYLIST::Id playlistId = CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist(); - if (playlistId == PLAYLIST::TYPE_VIDEO && + if (playlistId == PLAYLIST::Id::TYPE_VIDEO && CServiceBroker::GetGUI()->GetWindowManager().GetActiveWindow() != WINDOW_VIDEO_PLAYLIST) { CServiceBroker::GetGUI()->GetWindowManager().ActivateWindow(WINDOW_VIDEO_PLAYLIST); } - else if (playlistId == PLAYLIST::TYPE_MUSIC && + else if (playlistId == PLAYLIST::Id::TYPE_MUSIC && CServiceBroker::GetGUI()->GetWindowManager().GetActiveWindow() != WINDOW_MUSIC_PLAYLIST) { @@ -1843,8 +1843,8 @@ int CApplication::Run() CFileItemList& playlist = CServiceBroker::GetAppParams()->GetPlaylist(); if (playlist.Size() > 0) { - CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::TYPE_MUSIC, playlist); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_MUSIC); + CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::Id::TYPE_MUSIC, playlist); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_MUSIC); CServiceBroker::GetAppMessenger()->PostMsg(TMSG_PLAYLISTPLAYER_PLAY, -1); } @@ -2181,11 +2181,11 @@ bool CApplication::PlayMedia(CFileItem& item, const std::string& player, PLAYLIS smartpl.OpenAndReadName(item.GetURL()); PLAYLIST::CPlayList playlist; playlist.Add(items); - PLAYLIST::Id smartplPlaylistId = PLAYLIST::TYPE_VIDEO; + PLAYLIST::Id smartplPlaylistId = PLAYLIST::Id::TYPE_VIDEO; if (smartpl.GetType() == "songs" || smartpl.GetType() == "albums" || smartpl.GetType() == "artists") - smartplPlaylistId = PLAYLIST::TYPE_MUSIC; + smartplPlaylistId = PLAYLIST::Id::TYPE_MUSIC; return ProcessAndStartPlaylist(smartpl.GetName(), playlist, smartplPlaylistId); } @@ -2214,7 +2214,7 @@ bool CApplication::PlayMedia(CFileItem& item, const std::string& player, PLAYLIS if (playlist) { - if (playlistId != PLAYLIST::TYPE_NONE) + if (playlistId != PLAYLIST::Id::TYPE_NONE) { int track=0; if (item.HasProperty("playlist_starting_track")) @@ -2456,7 +2456,7 @@ bool CApplication::PlayFile(CFileItem item, // this really aught to be inside !bRestart, but since PlayStack // uses that to init playback, we have to keep it outside const PLAYLIST::Id playlistId = CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist(); - if (MUSIC::IsAudio(item) && playlistId == PLAYLIST::TYPE_MUSIC) + if (MUSIC::IsAudio(item) && playlistId == PLAYLIST::Id::TYPE_MUSIC) { // playing from a playlist by the looks // don't switch to fullscreen if we are not playing the first item... options.fullscreen = !CServiceBroker::GetPlaylistPlayer().HasPlayedFirstFile() && @@ -2464,7 +2464,7 @@ bool CApplication::PlayFile(CFileItem item, CSettings::SETTING_MUSICFILES_SELECTACTION) && !CMediaSettings::GetInstance().DoesMediaStartWindowed(); } - else if (VIDEO::IsVideo(item) && playlistId == PLAYLIST::TYPE_VIDEO && + else if (VIDEO::IsVideo(item) && playlistId == PLAYLIST::Id::TYPE_VIDEO && CServiceBroker::GetPlaylistPlayer().GetPlaylist(playlistId).size() > 1) { // playing from a playlist by the looks // don't switch to fullscreen if we are not playing the first item... @@ -2526,7 +2526,7 @@ bool CApplication::PlayFile(CFileItem item, #endif if (item.HasPVRChannelInfoTag()) - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_NONE); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_NONE); return true; } @@ -2564,7 +2564,7 @@ void CApplication::PlaybackCleanup() const auto appPower = GetComponent<CApplicationPowerHandling>(); if (!appPlayer->IsPlayingAudio() && - CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_NONE && + CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_NONE && CServiceBroker::GetGUI()->GetWindowManager().GetActiveWindow() == WINDOW_VISUALISATION) { CServiceBroker::GetSettingsComponent()->GetSettings()->Save(); // save vis settings @@ -2728,7 +2728,9 @@ bool CApplication::OnMessage(CGUIMessage& message) // update the playlist manager int currentSong = CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx(); int param = ((currentSong & 0xffff) << 16) | (m_nextPlaylistItem & 0xffff); - CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_CHANGED, 0, 0, CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist(), param, item); + CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_CHANGED, 0, 0, + static_cast<int>(CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist()), + param, item); CServiceBroker::GetGUI()->GetWindowManager().SendThreadMessage(msg); CServiceBroker::GetPlaylistPlayer().SetCurrentItemIdx(m_nextPlaylistItem); m_itemCurrentFile = std::make_shared<CFileItem>(*item); @@ -2744,7 +2746,8 @@ bool CApplication::OnMessage(CGUIMessage& message) CVariant param; param["player"]["speed"] = 1; - param["player"]["playerid"] = CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist(); + param["player"]["playerid"] = + static_cast<int>(CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist()); CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Player, "OnPlay", m_itemCurrentFile, param); @@ -2918,7 +2921,8 @@ bool CApplication::OnMessage(CGUIMessage& message) { CVariant param; param["player"]["speed"] = 1; - param["player"]["playerid"] = CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist(); + param["player"]["playerid"] = + static_cast<int>(CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist()); CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Player, "OnAVStart", m_itemCurrentFile, param); m_playerEvent.Set(); @@ -2939,7 +2943,8 @@ bool CApplication::OnMessage(CGUIMessage& message) #endif CVariant param; param["player"]["speed"] = 1; - param["player"]["playerid"] = CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist(); + param["player"]["playerid"] = + static_cast<int>(CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist()); CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Player, "OnAVChange", m_itemCurrentFile, param); return true; @@ -2949,7 +2954,8 @@ bool CApplication::OnMessage(CGUIMessage& message) { CVariant param; param["player"]["speed"] = 0; - param["player"]["playerid"] = CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist(); + param["player"]["playerid"] = + static_cast<int>(CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist()); CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Player, "OnPause", m_itemCurrentFile, param); return true; @@ -2959,7 +2965,8 @@ bool CApplication::OnMessage(CGUIMessage& message) { CVariant param; param["player"]["speed"] = 1; - param["player"]["playerid"] = CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist(); + param["player"]["playerid"] = + static_cast<int>(CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist()); CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Player, "OnResume", m_itemCurrentFile, param); return true; @@ -2972,7 +2979,8 @@ bool CApplication::OnMessage(CGUIMessage& message) const int64_t seekOffset = message.GetParam2AsI64(); JSONRPC::CJSONUtils::MillisecondsToTimeObject(iTime, param["player"]["time"]); JSONRPC::CJSONUtils::MillisecondsToTimeObject(seekOffset, param["player"]["seekoffset"]); - param["player"]["playerid"] = CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist(); + param["player"]["playerid"] = + static_cast<int>(CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist()); const auto& components = CServiceBroker::GetAppComponents(); const auto appPlayer = components.GetComponent<CApplicationPlayer>(); param["player"]["speed"] = static_cast<int>(appPlayer->GetPlaySpeed()); @@ -2988,7 +2996,8 @@ bool CApplication::OnMessage(CGUIMessage& message) { CVariant param; param["player"]["speed"] = message.GetParam1(); - param["player"]["playerid"] = CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist(); + param["player"]["playerid"] = + static_cast<int>(CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist()); CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Player, "OnSpeedChanged", m_itemCurrentFile, param); @@ -3538,7 +3547,8 @@ bool CApplication::ProcessAndStartPlaylist(const std::string& strPlayList, PLAYLIST::Id playlistId, int track) { - CLog::Log(LOGDEBUG, "CApplication::ProcessAndStartPlaylist({}, {})", strPlayList, playlistId); + CLog::Log(LOGDEBUG, "CApplication::ProcessAndStartPlaylist({}, {})", strPlayList, + static_cast<int>(playlistId)); // initial exit conditions // no songs in playlist just return @@ -3546,7 +3556,7 @@ bool CApplication::ProcessAndStartPlaylist(const std::string& strPlayList, return false; // illegal playlist - if (playlistId == PLAYLIST::TYPE_NONE || playlistId == PLAYLIST::TYPE_PICTURE) + if (playlistId == PLAYLIST::Id::TYPE_NONE || playlistId == PLAYLIST::Id::TYPE_PICTURE) return false; // setup correct playlist diff --git a/xbmc/application/ApplicationPlayer.cpp b/xbmc/application/ApplicationPlayer.cpp index d088f46b6a..18e78d3c0c 100644 --- a/xbmc/application/ApplicationPlayer.cpp +++ b/xbmc/application/ApplicationPlayer.cpp @@ -228,12 +228,12 @@ bool CApplicationPlayer::HasGame() const PLAYLIST::Id CApplicationPlayer::GetPreferredPlaylist() const { if (IsPlayingVideo()) - return PLAYLIST::TYPE_VIDEO; + return PLAYLIST::Id::TYPE_VIDEO; if (IsPlayingAudio()) - return PLAYLIST::TYPE_MUSIC; + return PLAYLIST::Id::TYPE_MUSIC; - return PLAYLIST::TYPE_NONE; + return PLAYLIST::Id::TYPE_NONE; } bool CApplicationPlayer::HasRDS() const diff --git a/xbmc/filesystem/PlaylistDirectory.cpp b/xbmc/filesystem/PlaylistDirectory.cpp index f656c77dab..2141dd699a 100644 --- a/xbmc/filesystem/PlaylistDirectory.cpp +++ b/xbmc/filesystem/PlaylistDirectory.cpp @@ -23,13 +23,13 @@ CPlaylistDirectory::~CPlaylistDirectory() = default; bool CPlaylistDirectory::GetDirectory(const CURL& url, CFileItemList &items) { - PLAYLIST::Id playlistId = PLAYLIST::TYPE_NONE; + PLAYLIST::Id playlistId = PLAYLIST::Id::TYPE_NONE; if (url.IsProtocol("playlistmusic")) - playlistId = PLAYLIST::TYPE_MUSIC; + playlistId = PLAYLIST::Id::TYPE_MUSIC; else if (url.IsProtocol("playlistvideo")) - playlistId = PLAYLIST::TYPE_VIDEO; + playlistId = PLAYLIST::Id::TYPE_VIDEO; - if (playlistId == PLAYLIST::TYPE_NONE) + if (playlistId == PLAYLIST::Id::TYPE_NONE) return false; const PLAYLIST::CPlayList& playlist = CServiceBroker::GetPlaylistPlayer().GetPlaylist(playlistId); @@ -39,7 +39,7 @@ bool CPlaylistDirectory::GetDirectory(const CURL& url, CFileItemList &items) { CFileItemPtr item = playlist[i]; item->SetProperty("playlistposition", i); - item->SetProperty("playlisttype", playlistId); + item->SetProperty("playlisttype", static_cast<int>(playlistId)); //item->m_iprogramCount = i; // the programCount is set as items are added! items.Add(item); } diff --git a/xbmc/filesystem/SmartPlaylistDirectory.cpp b/xbmc/filesystem/SmartPlaylistDirectory.cpp index b3d361ecc2..3d4cffffad 100644 --- a/xbmc/filesystem/SmartPlaylistDirectory.cpp +++ b/xbmc/filesystem/SmartPlaylistDirectory.cpp @@ -78,7 +78,7 @@ namespace XFILE std::string group = playlist.GetGroup(); bool isGrouped = !group.empty() && !StringUtils::EqualsNoCase(group, "none") && !playlist.IsGroupMixed(); // Hint for playlist files like STRM - PLAYLIST::Id playlistTypeHint = PLAYLIST::TYPE_NONE; + PLAYLIST::Id playlistTypeHint = PLAYLIST::Id::TYPE_NONE; // get all virtual folders and add them to the item list playlist.GetVirtualFolders(virtualFolders); @@ -99,7 +99,7 @@ namespace XFILE playlist.GetType() == "tvshows" || playlist.GetType() == "episodes") { - playlistTypeHint = PLAYLIST::TYPE_VIDEO; + playlistTypeHint = PLAYLIST::Id::TYPE_VIDEO; CVideoDatabase db; if (db.Open()) { @@ -155,7 +155,7 @@ namespace XFILE } else if (playlist.IsMusicType() || playlist.GetType().empty()) { - playlistTypeHint = PLAYLIST::TYPE_MUSIC; + playlistTypeHint = PLAYLIST::Id::TYPE_MUSIC; CMusicDatabase db; if (db.Open()) { @@ -213,7 +213,7 @@ namespace XFILE if (playlist.GetType() == "musicvideos" || playlist.GetType() == "mixed") { - playlistTypeHint = PLAYLIST::TYPE_VIDEO; + playlistTypeHint = PLAYLIST::Id::TYPE_VIDEO; CVideoDatabase db; if (db.Open()) { @@ -302,7 +302,7 @@ namespace XFILE { CFileItemPtr item = items[i]; item->m_iprogramCount = i; // hack for playlist order - item->SetProperty("playlist_type_hint", playlistTypeHint); + item->SetProperty("playlist_type_hint", static_cast<int>(playlistTypeHint)); } if (playlist.GetType() == "mixed") diff --git a/xbmc/games/windows/GUIWindowGames.cpp b/xbmc/games/windows/GUIWindowGames.cpp index 2d9eb600db..64ef6e149e 100644 --- a/xbmc/games/windows/GUIWindowGames.cpp +++ b/xbmc/games/windows/GUIWindowGames.cpp @@ -337,5 +337,5 @@ void CGUIWindowGames::OnItemInfo(int itemNumber) bool CGUIWindowGames::PlayGame(const CFileItem& item) { CFileItem itemCopy(item); - return g_application.PlayMedia(itemCopy, "", PLAYLIST::TYPE_NONE); + return g_application.PlayMedia(itemCopy, "", PLAYLIST::Id::TYPE_NONE); } diff --git a/xbmc/guilib/guiinfo/GUIInfoHelper.cpp b/xbmc/guilib/guiinfo/GUIInfoHelper.cpp index f713f3a26c..fc84c8eb18 100644 --- a/xbmc/guilib/guiinfo/GUIInfoHelper.cpp +++ b/xbmc/guilib/guiinfo/GUIInfoHelper.cpp @@ -37,7 +37,7 @@ std::string GetPlaylistLabel(int item, PLAYLIST::Id playlistId /* = TYPE_NONE */ { PLAYLIST::CPlayListPlayer& player = CServiceBroker::GetPlaylistPlayer(); - if (playlistId == PLAYLIST::TYPE_NONE) + if (playlistId == PLAYLIST::Id::TYPE_NONE) playlistId = player.GetCurrentPlaylist(); switch (item) diff --git a/xbmc/guilib/guiinfo/GUIInfoHelper.h b/xbmc/guilib/guiinfo/GUIInfoHelper.h index 5fd0d2d341..e5a4e2ca9c 100644 --- a/xbmc/guilib/guiinfo/GUIInfoHelper.h +++ b/xbmc/guilib/guiinfo/GUIInfoHelper.h @@ -28,7 +28,7 @@ namespace GUILIB namespace GUIINFO { -std::string GetPlaylistLabel(int item, PLAYLIST::Id playlistid = PLAYLIST::TYPE_NONE); +std::string GetPlaylistLabel(int item, PLAYLIST::Id playlistid = PLAYLIST::Id::TYPE_NONE); CGUIWindow* GetWindow(int contextWindow); CGUIControl* GetActiveContainer(int containerId, int contextWindow); diff --git a/xbmc/guilib/guiinfo/MusicGUIInfo.cpp b/xbmc/guilib/guiinfo/MusicGUIInfo.cpp index cb246febda..9482cec038 100644 --- a/xbmc/guilib/guiinfo/MusicGUIInfo.cpp +++ b/xbmc/guilib/guiinfo/MusicGUIInfo.cpp @@ -430,14 +430,14 @@ bool CMusicGUIInfo::GetLabel(std::string& value, const CFileItem *item, int cont value = item->GetProperty(info.GetData3()).asString(); return true; case MUSICPLAYER_PLAYLISTLEN: - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_MUSIC) + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_MUSIC) { value = GUIINFO::GetPlaylistLabel(PLAYLIST_LENGTH); return true; } break; case MUSICPLAYER_PLAYLISTPOS: - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_MUSIC) + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_MUSIC) { value = GUIINFO::GetPlaylistLabel(PLAYLIST_POSITION); return true; @@ -548,14 +548,14 @@ bool CMusicGUIInfo::GetPartyModeLabel(std::string& value, const CGUIInfo &info) bool CMusicGUIInfo::GetPlaylistInfo(std::string& value, const CGUIInfo &info) const { const PLAYLIST::CPlayList& playlist = - CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::TYPE_MUSIC); + CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::Id::TYPE_MUSIC); if (playlist.size() < 1) return false; int index = info.GetData2(); if (info.GetData1() == 1) { // relative index (requires current playlist is TYPE_MUSIC) - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() != PLAYLIST::TYPE_MUSIC) + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() != PLAYLIST::Id::TYPE_MUSIC) return false; index = CServiceBroker::GetPlaylistPlayer().GetNextItemIdx(index); @@ -645,7 +645,7 @@ bool CMusicGUIInfo::GetBool(bool& value, const CGUIListItem *gitem, int contextW return value; // if no match for this provider, other providers shall be asked. case MUSICPLAYER_HASPREVIOUS: // requires current playlist be TYPE_MUSIC - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_MUSIC) + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_MUSIC) { value = (CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx() > 0); // not first song return true; @@ -653,10 +653,10 @@ bool CMusicGUIInfo::GetBool(bool& value, const CGUIListItem *gitem, int contextW break; case MUSICPLAYER_HASNEXT: // requires current playlist be TYPE_MUSIC - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_MUSIC) + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_MUSIC) { value = (CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx() < - (CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::TYPE_MUSIC).size() - + (CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::Id::TYPE_MUSIC).size() - 1)); // not last song return true; } @@ -666,7 +666,7 @@ bool CMusicGUIInfo::GetBool(bool& value, const CGUIListItem *gitem, int contextW const auto& components = CServiceBroker::GetAppComponents(); const auto appPlayer = components.GetComponent<CApplicationPlayer>(); if (appPlayer->IsPlayingAudio() && - CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_MUSIC) + CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_MUSIC) { value = true; return true; @@ -678,7 +678,7 @@ bool CMusicGUIInfo::GetBool(bool& value, const CGUIListItem *gitem, int contextW int index = info.GetData2(); if (info.GetData1() == 1) { // relative index - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() != PLAYLIST::TYPE_MUSIC) + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() != PLAYLIST::Id::TYPE_MUSIC) { value = false; return true; @@ -687,7 +687,8 @@ bool CMusicGUIInfo::GetBool(bool& value, const CGUIListItem *gitem, int contextW } value = (index >= 0 && - index < CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::TYPE_MUSIC).size()); + index < + CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::Id::TYPE_MUSIC).size()); return true; } case MUSICPLAYER_ISMULTIDISC: diff --git a/xbmc/guilib/guiinfo/PlayerGUIInfo.cpp b/xbmc/guilib/guiinfo/PlayerGUIInfo.cpp index 4ec5d88952..62e620dc41 100644 --- a/xbmc/guilib/guiinfo/PlayerGUIInfo.cpp +++ b/xbmc/guilib/guiinfo/PlayerGUIInfo.cpp @@ -347,7 +347,8 @@ bool CPlayerGUIInfo::GetLabel(std::string& value, const CFileItem *item, int con case PLAYLIST_POSITION: case PLAYLIST_RANDOM: case PLAYLIST_REPEAT: - value = GUIINFO::GetPlaylistLabel(info.m_info, info.GetData1()); + value = + GUIINFO::GetPlaylistLabel(info.m_info, PLAYLIST::Id{static_cast<int>(info.GetData1())}); return true; } @@ -546,8 +547,8 @@ bool CPlayerGUIInfo::GetBool(bool& value, const CGUIListItem *gitem, int context case PLAYLIST_ISRANDOM: { PLAYLIST::CPlayListPlayer& player = CServiceBroker::GetPlaylistPlayer(); - PLAYLIST::Id playlistid = info.GetData1(); - if (info.GetData2() > 0 && playlistid != PLAYLIST::TYPE_NONE) + PLAYLIST::Id playlistid = PLAYLIST::Id{static_cast<int>(info.GetData1())}; + if (info.GetData2() > 0 && playlistid != PLAYLIST::Id::TYPE_NONE) value = player.IsShuffled(playlistid); else value = player.IsShuffled(player.GetCurrentPlaylist()); @@ -556,8 +557,8 @@ bool CPlayerGUIInfo::GetBool(bool& value, const CGUIListItem *gitem, int context case PLAYLIST_ISREPEAT: { PLAYLIST::CPlayListPlayer& player = CServiceBroker::GetPlaylistPlayer(); - PLAYLIST::Id playlistid = info.GetData1(); - if (info.GetData2() > 0 && playlistid != PLAYLIST::TYPE_NONE) + PLAYLIST::Id playlistid = PLAYLIST::Id{static_cast<int>(info.GetData1())}; + if (info.GetData2() > 0 && playlistid != PLAYLIST::Id::TYPE_NONE) value = (player.GetRepeat(playlistid) == PLAYLIST::RepeatState::ALL); else value = player.GetRepeat(player.GetCurrentPlaylist()) == PLAYLIST::RepeatState::ALL; @@ -566,8 +567,8 @@ bool CPlayerGUIInfo::GetBool(bool& value, const CGUIListItem *gitem, int context case PLAYLIST_ISREPEATONE: { PLAYLIST::CPlayListPlayer& player = CServiceBroker::GetPlaylistPlayer(); - PLAYLIST::Id playlistid = info.GetData1(); - if (info.GetData2() > 0 && playlistid != PLAYLIST::TYPE_NONE) + PLAYLIST::Id playlistid = PLAYLIST::Id{static_cast<int>(info.GetData1())}; + if (info.GetData2() > 0 && playlistid != PLAYLIST::Id::TYPE_NONE) value = (player.GetRepeat(playlistid) == PLAYLIST::RepeatState::ONE); else value = player.GetRepeat(player.GetCurrentPlaylist()) == PLAYLIST::RepeatState::ONE; @@ -590,7 +591,7 @@ bool CPlayerGUIInfo::GetBool(bool& value, const CGUIListItem *gitem, int context { if (item->HasProperty("playlistposition")) { - value = static_cast<int>(item->GetProperty("playlisttype").asInteger()) == + value = PLAYLIST::Id{item->GetProperty("playlisttype").asInteger32()} == CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() && static_cast<int>(item->GetProperty("playlistposition").asInteger()) == CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx(); diff --git a/xbmc/guilib/guiinfo/VideoGUIInfo.cpp b/xbmc/guilib/guiinfo/VideoGUIInfo.cpp index 6bec6186b7..0a112ea3ef 100644 --- a/xbmc/guilib/guiinfo/VideoGUIInfo.cpp +++ b/xbmc/guilib/guiinfo/VideoGUIInfo.cpp @@ -558,14 +558,14 @@ bool CVideoGUIInfo::GetLabel(std::string& value, const CFileItem *item, int cont // VIDEOPLAYER_* /////////////////////////////////////////////////////////////////////////////////////////////// case VIDEOPLAYER_PLAYLISTLEN: - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_VIDEO) + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_VIDEO) { value = GUIINFO::GetPlaylistLabel(PLAYLIST_LENGTH); return true; } break; case VIDEOPLAYER_PLAYLISTPOS: - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_VIDEO) + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_VIDEO) { value = GUIINFO::GetPlaylistLabel(PLAYLIST_POSITION); return true; @@ -657,14 +657,14 @@ bool CVideoGUIInfo::GetLabel(std::string& value, const CFileItem *item, int cont bool CVideoGUIInfo::GetPlaylistInfo(std::string& value, const CGUIInfo& info) const { const PLAYLIST::CPlayList& playlist = - CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::Id::TYPE_VIDEO); if (playlist.size() < 1) return false; int index = info.GetData2(); if (info.GetData1() == 1) { // relative index (requires current playlist is TYPE_VIDEO) - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() != PLAYLIST::TYPE_VIDEO) + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() != PLAYLIST::Id::TYPE_VIDEO) return false; index = CServiceBroker::GetPlaylistPlayer().GetNextItemIdx(index); diff --git a/xbmc/interfaces/AnnouncementManager.cpp b/xbmc/interfaces/AnnouncementManager.cpp index 46fd378615..85269bcef3 100644 --- a/xbmc/interfaces/AnnouncementManager.cpp +++ b/xbmc/interfaces/AnnouncementManager.cpp @@ -191,8 +191,9 @@ void CAnnouncementManager::DoAnnounce(AnnouncementFlag flag, if (data.isMember("player") && data["player"].isMember("playerid")) { - object["player"]["playerid"] = - channel->IsRadio() ? PLAYLIST::TYPE_MUSIC : PLAYLIST::TYPE_VIDEO; + object["player"]["playerid"] = channel->IsRadio() + ? static_cast<int>(PLAYLIST::Id::TYPE_MUSIC) + : static_cast<int>(PLAYLIST::Id::TYPE_VIDEO); } } else if (item->HasVideoInfoTag() && !item->HasPVRRecordingInfoTag()) diff --git a/xbmc/interfaces/builtins/AddonBuiltins.cpp b/xbmc/interfaces/builtins/AddonBuiltins.cpp index 056128d2b3..593879558c 100644 --- a/xbmc/interfaces/builtins/AddonBuiltins.cpp +++ b/xbmc/interfaces/builtins/AddonBuiltins.cpp @@ -189,7 +189,7 @@ static int RunAddon(const std::vector<std::string>& params) else item = CFileItem(addon); - if (!g_application.PlayMedia(item, "", PLAYLIST::TYPE_NONE)) + if (!g_application.PlayMedia(item, "", PLAYLIST::Id::TYPE_NONE)) { CLog::Log(LOGERROR, "RunAddon could not start {}", addonid); return false; diff --git a/xbmc/interfaces/builtins/PlayerBuiltins.cpp b/xbmc/interfaces/builtins/PlayerBuiltins.cpp index 07fc0ba4f3..2d7f92608f 100644 --- a/xbmc/interfaces/builtins/PlayerBuiltins.cpp +++ b/xbmc/interfaces/builtins/PlayerBuiltins.cpp @@ -81,14 +81,14 @@ static int PlayOffset(const std::vector<std::string>& params) std::string strPlaylist = params[0]; strPos = params[1]; - PLAYLIST::Id playlistId = PLAYLIST::TYPE_NONE; + PLAYLIST::Id playlistId = PLAYLIST::Id::TYPE_NONE; if (paramlow == "music") - playlistId = PLAYLIST::TYPE_MUSIC; + playlistId = PLAYLIST::Id::TYPE_MUSIC; else if (paramlow == "video") - playlistId = PLAYLIST::TYPE_VIDEO; + playlistId = PLAYLIST::Id::TYPE_VIDEO; // unknown playlist - if (playlistId == PLAYLIST::TYPE_NONE) + if (playlistId == PLAYLIST::Id::TYPE_NONE) { CLog::Log(LOGERROR, "Playlist.PlayOffset called with unknown playlist: {}", strPlaylist); return false; @@ -310,12 +310,12 @@ static int PlayerControl(const std::vector<std::string>& params) // save settings for now playing windows switch (playlistId) { - case PLAYLIST::TYPE_MUSIC: + case PLAYLIST::Id::TYPE_MUSIC: CMediaSettings::GetInstance().SetMusicPlaylistShuffled( CServiceBroker::GetPlaylistPlayer().IsShuffled(playlistId)); CServiceBroker::GetSettingsComponent()->GetSettings()->Save(); break; - case PLAYLIST::TYPE_VIDEO: + case PLAYLIST::Id::TYPE_VIDEO: CMediaSettings::GetInstance().SetVideoPlaylistShuffled( CServiceBroker::GetPlaylistPlayer().IsShuffled(playlistId)); CServiceBroker::GetSettingsComponent()->GetSettings()->Save(); @@ -324,7 +324,7 @@ static int PlayerControl(const std::vector<std::string>& params) } // send message - CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_RANDOM, 0, 0, playlistId, + CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_RANDOM, 0, 0, static_cast<int>(playlistId), CServiceBroker::GetPlaylistPlayer().IsShuffled(playlistId)); CServiceBroker::GetGUI()->GetWindowManager().SendThreadMessage(msg); } @@ -362,19 +362,23 @@ static int PlayerControl(const std::vector<std::string>& params) // save settings for now playing windows switch (playlistId) { - case PLAYLIST::TYPE_MUSIC: + case PLAYLIST::Id::TYPE_MUSIC: CMediaSettings::GetInstance().SetMusicPlaylistRepeat(repeatState == PLAYLIST::RepeatState::ALL); CServiceBroker::GetSettingsComponent()->GetSettings()->Save(); break; - case PLAYLIST::TYPE_VIDEO: + case PLAYLIST::Id::TYPE_VIDEO: CMediaSettings::GetInstance().SetVideoPlaylistRepeat(repeatState == PLAYLIST::RepeatState::ALL); CServiceBroker::GetSettingsComponent()->GetSettings()->Save(); + break; + default: + break; } // send messages so now playing window can get updated - CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_REPEAT, 0, 0, playlistId, static_cast<int>(repeatState)); + CGUIMessage msg(GUI_MSG_PLAYLISTPLAYER_REPEAT, 0, 0, static_cast<int>(playlistId), + static_cast<int>(repeatState)); CServiceBroker::GetGUI()->GetWindowManager().SendThreadMessage(msg); } else if (StringUtils::StartsWithNoCase(params[0], "resumelivetv")) @@ -394,8 +398,9 @@ static int PlayerControl(const std::vector<std::string>& params) } CFileItem playItem(groupMember); - if (!g_application.PlayMedia( - playItem, "", channel->IsRadio() ? PLAYLIST::TYPE_MUSIC : PLAYLIST::TYPE_VIDEO)) + if (!g_application.PlayMedia(playItem, "", + channel->IsRadio() ? PLAYLIST::Id::TYPE_MUSIC + : PLAYLIST::Id::TYPE_VIDEO)) { CLog::Log(LOGERROR, "ResumeLiveTv could not play channel: {}", channel->ChannelName()); return false; @@ -438,11 +443,11 @@ void GetItemsForPlayList(const std::shared_ptr<CFileItem>& item, CFileItemList& PLAYLIST::Id GetPlayListId(const CFileItem& item) { - PLAYLIST::Id playlistId{PLAYLIST::TYPE_NONE}; + PLAYLIST::Id playlistId{PLAYLIST::Id::TYPE_NONE}; if (VIDEO::IsVideo(item)) - playlistId = PLAYLIST::TYPE_VIDEO; + playlistId = PLAYLIST::Id::TYPE_VIDEO; else if (MUSIC::IsAudio(item)) - playlistId = PLAYLIST::TYPE_MUSIC; + playlistId = PLAYLIST::Id::TYPE_MUSIC; return playlistId; } @@ -551,12 +556,12 @@ int PlayOrQueueMedia(const std::vector<std::string>& params, bool forcePlay) break; } - PLAYLIST::Id playlistId = containsVideo ? PLAYLIST::TYPE_VIDEO : PLAYLIST::TYPE_MUSIC; + PLAYLIST::Id playlistId = containsVideo ? PLAYLIST::Id::TYPE_VIDEO : PLAYLIST::Id::TYPE_MUSIC; // Mixed playlist item played by music player, mixed content folder has music removed if (containsMusic && containsVideo) { if (item.IsPlayList()) - playlistId = PLAYLIST::TYPE_MUSIC; + playlistId = PLAYLIST::Id::TYPE_MUSIC; else { for (int i = items.Size() - 1; i >= 0; i--) //remove music entries @@ -623,7 +628,7 @@ int PlayOrQueueMedia(const std::vector<std::string>& params, bool forcePlay) if ((MUSIC::IsAudio(item) || VIDEO::IsVideo(item)) && !item.IsSmartPlayList() && !item.IsPVR()) { if (!item.HasProperty("playlist_type_hint")) - item.SetProperty("playlist_type_hint", GetPlayListId(item)); + item.SetProperty("playlist_type_hint", static_cast<int>(GetPlayListId(item))); CServiceBroker::GetPlaylistPlayer().Play(std::make_shared<CFileItem>(item), ""); } diff --git a/xbmc/interfaces/json-rpc/PlayerOperations.cpp b/xbmc/interfaces/json-rpc/PlayerOperations.cpp index d48a9d33c8..62a95b947e 100644 --- a/xbmc/interfaces/json-rpc/PlayerOperations.cpp +++ b/xbmc/interfaces/json-rpc/PlayerOperations.cpp @@ -94,7 +94,7 @@ JSONRPC_STATUS CPlayerOperations::GetActivePlayers(const std::string &method, IT if (activePlayers & Video) { CVariant video = CVariant(CVariant::VariantTypeObject); - video["playerid"] = GetPlaylist(Video); + video["playerid"] = static_cast<int>(GetPlaylist(Video)); video["type"] = "video"; video["playertype"] = strPlayerType; result.append(video); @@ -102,7 +102,7 @@ JSONRPC_STATUS CPlayerOperations::GetActivePlayers(const std::string &method, IT if (activePlayers & Audio) { CVariant audio = CVariant(CVariant::VariantTypeObject); - audio["playerid"] = GetPlaylist(Audio); + audio["playerid"] = static_cast<int>(GetPlaylist(Audio)); audio["type"] = "audio"; audio["playertype"] = strPlayerType; result.append(audio); @@ -110,7 +110,7 @@ JSONRPC_STATUS CPlayerOperations::GetActivePlayers(const std::string &method, IT if (activePlayers & Picture) { CVariant picture = CVariant(CVariant::VariantTypeObject); - picture["playerid"] = GetPlaylist(Picture); + picture["playerid"] = static_cast<int>(GetPlaylist(Picture)); picture["type"] = "picture"; picture["playertype"] = "internal"; result.append(picture); @@ -800,9 +800,9 @@ JSONRPC_STATUS CPlayerOperations::Open(const std::string &method, ITransportLaye if (parameterObject["item"].isMember("playlistid")) { - PLAYLIST::Id playlistid = parameterObject["item"]["playlistid"].asInteger(); + PLAYLIST::Id playlistid = PLAYLIST::Id{parameterObject["item"]["playlistid"].asInteger32()}; - if (playlistid == PLAYLIST::TYPE_MUSIC || playlistid == PLAYLIST::TYPE_VIDEO) + if (playlistid == PLAYLIST::Id::TYPE_MUSIC || playlistid == PLAYLIST::Id::TYPE_VIDEO) { // Apply the "shuffled" option if available if (optionShuffled.isBoolean()) @@ -817,13 +817,13 @@ JSONRPC_STATUS CPlayerOperations::Open(const std::string &method, ITransportLaye switch (playlistid) { - case PLAYLIST::TYPE_MUSIC: - case PLAYLIST::TYPE_VIDEO: - CServiceBroker::GetAppMessenger()->PostMsg(TMSG_MEDIA_PLAY, playlistid, + case PLAYLIST::Id::TYPE_MUSIC: + case PLAYLIST::Id::TYPE_VIDEO: + CServiceBroker::GetAppMessenger()->PostMsg(TMSG_MEDIA_PLAY, static_cast<int>(playlistid), playlistStartPosition); break; - case PLAYLIST::TYPE_PICTURE: + case PLAYLIST::Id::TYPE_PICTURE: { std::string firstPicturePath; if (playlistStartPosition > 0) @@ -838,6 +838,8 @@ JSONRPC_STATUS CPlayerOperations::Open(const std::string &method, ITransportLaye return StartSlideshow("", false, optionShuffled.isBoolean() && optionShuffled.asBoolean(), firstPicturePath); break; } + default: + break; } return ACK; @@ -1094,7 +1096,8 @@ JSONRPC_STATUS CPlayerOperations::SetShuffle(const std::string &method, ITranspo if ((shuffle.isBoolean() && !shuffle.asBoolean()) || (shuffle.isString() && shuffle.asString() == "toggle")) { - CServiceBroker::GetAppMessenger()->SendMsg(TMSG_PLAYLISTPLAYER_SHUFFLE, playlistid, 0); + CServiceBroker::GetAppMessenger()->SendMsg(TMSG_PLAYLISTPLAYER_SHUFFLE, + static_cast<int>(playlistid), 0); } } else @@ -1102,7 +1105,8 @@ JSONRPC_STATUS CPlayerOperations::SetShuffle(const std::string &method, ITranspo if ((shuffle.isBoolean() && shuffle.asBoolean()) || (shuffle.isString() && shuffle.asString() == "toggle")) { - CServiceBroker::GetAppMessenger()->SendMsg(TMSG_PLAYLISTPLAYER_SHUFFLE, playlistid, 1); + CServiceBroker::GetAppMessenger()->SendMsg(TMSG_PLAYLISTPLAYER_SHUFFLE, + static_cast<int>(playlistid), 1); } } break; @@ -1162,8 +1166,8 @@ JSONRPC_STATUS CPlayerOperations::SetRepeat(const std::string &method, ITranspor else repeat = ParseRepeatState(parameterObject["repeat"]); - CServiceBroker::GetAppMessenger()->SendMsg(TMSG_PLAYLISTPLAYER_REPEAT, playlistid, - static_cast<int>(repeat)); + CServiceBroker::GetAppMessenger()->SendMsg( + TMSG_PLAYLISTPLAYER_REPEAT, static_cast<int>(playlistid), static_cast<int>(repeat)); break; } @@ -1440,20 +1444,20 @@ int CPlayerOperations::GetActivePlayers() PlayerType CPlayerOperations::GetPlayer(const CVariant &player) { - PLAYLIST::Id playerPlaylistId = player.asInteger(); + PLAYLIST::Id playerPlaylistId = PLAYLIST::Id{player.asInteger32()}; PlayerType playerID; switch (playerPlaylistId) { - case PLAYLIST::TYPE_VIDEO: + case PLAYLIST::Id::TYPE_VIDEO: playerID = Video; break; - case PLAYLIST::TYPE_MUSIC: + case PLAYLIST::Id::TYPE_MUSIC: playerID = Audio; break; - case PLAYLIST::TYPE_PICTURE: + case PLAYLIST::Id::TYPE_PICTURE: playerID = Picture; break; @@ -1471,7 +1475,7 @@ PlayerType CPlayerOperations::GetPlayer(const CVariant &player) PLAYLIST::Id CPlayerOperations::GetPlaylist(PlayerType player) { PLAYLIST::Id playlistId = CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist(); - if (playlistId == PLAYLIST::TYPE_NONE) // No active playlist, try guessing + if (playlistId == PLAYLIST::Id::TYPE_NONE) // No active playlist, try guessing { const auto& components = CServiceBroker::GetAppComponents(); const auto appPlayer = components.GetComponent<CApplicationPlayer>(); @@ -1481,13 +1485,13 @@ PLAYLIST::Id CPlayerOperations::GetPlaylist(PlayerType player) switch (player) { case Video: - return playlistId == PLAYLIST::TYPE_NONE ? PLAYLIST::TYPE_VIDEO : playlistId; + return playlistId == PLAYLIST::Id::TYPE_NONE ? PLAYLIST::Id::TYPE_VIDEO : playlistId; case Audio: - return playlistId == PLAYLIST::TYPE_NONE ? PLAYLIST::TYPE_MUSIC : playlistId; + return playlistId == PLAYLIST::Id::TYPE_NONE ? PLAYLIST::Id::TYPE_MUSIC : playlistId; case Picture: - return PLAYLIST::TYPE_PICTURE; + return PLAYLIST::Id::TYPE_PICTURE; default: return playlistId; @@ -1715,7 +1719,7 @@ JSONRPC_STATUS CPlayerOperations::GetPropertyValue(PlayerType player, const std: } else if (property == "playlistid") { - result = playlistId; + result = static_cast<int>(playlistId); } else if (property == "position") { diff --git a/xbmc/interfaces/json-rpc/PlayerOperations.h b/xbmc/interfaces/json-rpc/PlayerOperations.h index 0a537727ec..20b42704ef 100644 --- a/xbmc/interfaces/json-rpc/PlayerOperations.h +++ b/xbmc/interfaces/json-rpc/PlayerOperations.h @@ -23,7 +23,7 @@ class CPVREpgInfoTag; namespace PLAYLIST { -using Id = int; +enum class Id; enum class RepeatState; } // namespace PLAYLIST diff --git a/xbmc/interfaces/json-rpc/PlaylistOperations.cpp b/xbmc/interfaces/json-rpc/PlaylistOperations.cpp index 49955bc68f..8e1a8a3444 100644 --- a/xbmc/interfaces/json-rpc/PlaylistOperations.cpp +++ b/xbmc/interfaces/json-rpc/PlaylistOperations.cpp @@ -29,15 +29,15 @@ JSONRPC_STATUS CPlaylistOperations::GetPlaylists(const std::string &method, ITra result = CVariant(CVariant::VariantTypeArray); CVariant playlist = CVariant(CVariant::VariantTypeObject); - playlist["playlistid"] = PLAYLIST::TYPE_MUSIC; + playlist["playlistid"] = static_cast<int>(PLAYLIST::Id::TYPE_MUSIC); playlist["type"] = "audio"; result.append(playlist); - playlist["playlistid"] = PLAYLIST::TYPE_VIDEO; + playlist["playlistid"] = static_cast<int>(PLAYLIST::Id::TYPE_VIDEO); playlist["type"] = "video"; result.append(playlist); - playlist["playlistid"] = PLAYLIST::TYPE_PICTURE; + playlist["playlistid"] = static_cast<int>(PLAYLIST::Id::TYPE_PICTURE); playlist["type"] = "picture"; result.append(playlist); @@ -68,16 +68,21 @@ JSONRPC_STATUS CPlaylistOperations::GetItems(const std::string &method, ITranspo switch (playlistId) { - case PLAYLIST::TYPE_VIDEO: - case PLAYLIST::TYPE_MUSIC: - CServiceBroker::GetAppMessenger()->SendMsg(TMSG_PLAYLISTPLAYER_GET_ITEMS, playlistId, -1, + case PLAYLIST::Id::TYPE_VIDEO: + case PLAYLIST::Id::TYPE_MUSIC: + CServiceBroker::GetAppMessenger()->SendMsg(TMSG_PLAYLISTPLAYER_GET_ITEMS, + static_cast<int>(playlistId), -1, static_cast<void*>(&list)); break; - case PLAYLIST::TYPE_PICTURE: + case PLAYLIST::Id::TYPE_PICTURE: + { CSlideShowDelegator& slideShow = CServiceBroker::GetSlideShowDelegator(); slideShow.GetSlideShowContents(list); break; + } + default: + break; } HandleFileItemList("id", true, "items", list, parameterObject, result); @@ -89,11 +94,13 @@ bool CPlaylistOperations::CheckMediaParameter(PLAYLIST::Id playlistId, const CVa { if (itemObject.isMember("media") && itemObject["media"].asString().compare("files") != 0) { - if (playlistId == PLAYLIST::TYPE_VIDEO && itemObject["media"].asString().compare("video") != 0) + if (playlistId == PLAYLIST::Id::TYPE_VIDEO && + itemObject["media"].asString().compare("video") != 0) return false; - if (playlistId == PLAYLIST::TYPE_MUSIC && itemObject["media"].asString().compare("music") != 0) + if (playlistId == PLAYLIST::Id::TYPE_MUSIC && + itemObject["media"].asString().compare("music") != 0) return false; - if (playlistId == PLAYLIST::TYPE_PICTURE && + if (playlistId == PLAYLIST::Id::TYPE_PICTURE && itemObject["media"].asString().compare("video") != 0 && itemObject["media"].asString().compare("pictures") != 0) return false; @@ -111,16 +118,16 @@ JSONRPC_STATUS CPlaylistOperations::Add(const std::string &method, ITransportLay switch (playlistId) { - case PLAYLIST::TYPE_VIDEO: - case PLAYLIST::TYPE_MUSIC: + case PLAYLIST::Id::TYPE_VIDEO: + case PLAYLIST::Id::TYPE_MUSIC: { auto tmpList = new CFileItemList(); tmpList->Copy(list); - CServiceBroker::GetAppMessenger()->PostMsg(TMSG_PLAYLISTPLAYER_ADD, playlistId, -1, - static_cast<void*>(tmpList)); + CServiceBroker::GetAppMessenger()->PostMsg( + TMSG_PLAYLISTPLAYER_ADD, static_cast<int>(playlistId), -1, static_cast<void*>(tmpList)); break; } - case PLAYLIST::TYPE_PICTURE: + case PLAYLIST::Id::TYPE_PICTURE: { CSlideShowDelegator& slideShow = CServiceBroker::GetSlideShowDelegator(); for (int index = 0; index < list.Size(); index++) @@ -144,7 +151,7 @@ JSONRPC_STATUS CPlaylistOperations::Add(const std::string &method, ITransportLay JSONRPC_STATUS CPlaylistOperations::Insert(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result) { PLAYLIST::Id playlistId = GetPlaylist(parameterObject["playlistid"]); - if (playlistId == PLAYLIST::TYPE_PICTURE) + if (playlistId == PLAYLIST::Id::TYPE_PICTURE) return FailedToExecute; CFileItemList list; @@ -154,7 +161,7 @@ JSONRPC_STATUS CPlaylistOperations::Insert(const std::string &method, ITransport auto tmpList = new CFileItemList(); tmpList->Copy(list); CServiceBroker::GetAppMessenger()->PostMsg( - TMSG_PLAYLISTPLAYER_INSERT, playlistId, + TMSG_PLAYLISTPLAYER_INSERT, static_cast<int>(playlistId), static_cast<int>(parameterObject["position"].asInteger()), static_cast<void*>(tmpList)); return ACK; @@ -163,7 +170,7 @@ JSONRPC_STATUS CPlaylistOperations::Insert(const std::string &method, ITransport JSONRPC_STATUS CPlaylistOperations::Remove(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result) { PLAYLIST::Id playlistId = GetPlaylist(parameterObject["playlistid"]); - if (playlistId == PLAYLIST::TYPE_PICTURE) + if (playlistId == PLAYLIST::Id::TYPE_PICTURE) return FailedToExecute; int position = (int)parameterObject["position"].asInteger(); @@ -171,7 +178,8 @@ JSONRPC_STATUS CPlaylistOperations::Remove(const std::string &method, ITransport CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx() == position) return InvalidParams; - CServiceBroker::GetAppMessenger()->PostMsg(TMSG_PLAYLISTPLAYER_REMOVE, playlistId, position); + CServiceBroker::GetAppMessenger()->PostMsg(TMSG_PLAYLISTPLAYER_REMOVE, + static_cast<int>(playlistId), position); return ACK; } @@ -181,18 +189,23 @@ JSONRPC_STATUS CPlaylistOperations::Clear(const std::string &method, ITransportL PLAYLIST::Id playlistId = GetPlaylist(parameterObject["playlistid"]); switch (playlistId) { - case PLAYLIST::TYPE_MUSIC: - case PLAYLIST::TYPE_VIDEO: - CServiceBroker::GetAppMessenger()->PostMsg(TMSG_PLAYLISTPLAYER_CLEAR, playlistId); + case PLAYLIST::Id::TYPE_MUSIC: + case PLAYLIST::Id::TYPE_VIDEO: + CServiceBroker::GetAppMessenger()->PostMsg(TMSG_PLAYLISTPLAYER_CLEAR, + static_cast<int>(playlistId)); break; - case PLAYLIST::TYPE_PICTURE: + case PLAYLIST::Id::TYPE_PICTURE: + { CSlideShowDelegator& slideShow = CServiceBroker::GetSlideShowDelegator(); //! @todo: Stop should be a delegator method to void GUI coupling! Same goes for other player controls. CServiceBroker::GetAppMessenger()->PostMsg(TMSG_GUI_ACTION, WINDOW_SLIDESHOW, -1, static_cast<void*>(new CAction(ACTION_STOP))); slideShow.Reset(); break; + } + default: + break; } return ACK; @@ -201,25 +214,26 @@ JSONRPC_STATUS CPlaylistOperations::Clear(const std::string &method, ITransportL JSONRPC_STATUS CPlaylistOperations::Swap(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result) { PLAYLIST::Id playlistId = GetPlaylist(parameterObject["playlistid"]); - if (playlistId == PLAYLIST::TYPE_PICTURE) + if (playlistId == PLAYLIST::Id::TYPE_PICTURE) return FailedToExecute; auto tmpVec = new std::vector<int>(); tmpVec->push_back(static_cast<int>(parameterObject["position1"].asInteger())); tmpVec->push_back(static_cast<int>(parameterObject["position2"].asInteger())); - CServiceBroker::GetAppMessenger()->PostMsg(TMSG_PLAYLISTPLAYER_SWAP, playlistId, -1, - static_cast<void*>(tmpVec)); + CServiceBroker::GetAppMessenger()->PostMsg(TMSG_PLAYLISTPLAYER_SWAP, static_cast<int>(playlistId), + -1, static_cast<void*>(tmpVec)); return ACK; } PLAYLIST::Id CPlaylistOperations::GetPlaylist(const CVariant& playlist) { - PLAYLIST::Id playlistId = playlist.asInteger(PLAYLIST::TYPE_NONE); - if (playlistId != PLAYLIST::TYPE_NONE) + PLAYLIST::Id playlistId = + PLAYLIST::Id{playlist.asInteger32(static_cast<int>(PLAYLIST::Id::TYPE_NONE))}; + if (playlistId != PLAYLIST::Id::TYPE_NONE) return playlistId; - return PLAYLIST::TYPE_NONE; + return PLAYLIST::Id::TYPE_NONE; } JSONRPC_STATUS CPlaylistOperations::GetPropertyValue(PLAYLIST::Id playlistId, @@ -230,15 +244,15 @@ JSONRPC_STATUS CPlaylistOperations::GetPropertyValue(PLAYLIST::Id playlistId, { switch (playlistId) { - case PLAYLIST::TYPE_MUSIC: + case PLAYLIST::Id::TYPE_MUSIC: result = "audio"; break; - case PLAYLIST::TYPE_VIDEO: + case PLAYLIST::Id::TYPE_VIDEO: result = "video"; break; - case PLAYLIST::TYPE_PICTURE: + case PLAYLIST::Id::TYPE_PICTURE: result = "pictures"; break; @@ -252,15 +266,16 @@ JSONRPC_STATUS CPlaylistOperations::GetPropertyValue(PLAYLIST::Id playlistId, CFileItemList list; switch (playlistId) { - case PLAYLIST::TYPE_MUSIC: - case PLAYLIST::TYPE_VIDEO: + case PLAYLIST::Id::TYPE_MUSIC: + case PLAYLIST::Id::TYPE_VIDEO: { - CServiceBroker::GetAppMessenger()->SendMsg(TMSG_PLAYLISTPLAYER_GET_ITEMS, playlistId, -1, + CServiceBroker::GetAppMessenger()->SendMsg(TMSG_PLAYLISTPLAYER_GET_ITEMS, + static_cast<int>(playlistId), -1, static_cast<void*>(&list)); result = list.Size(); break; } - case PLAYLIST::TYPE_PICTURE: + case PLAYLIST::Id::TYPE_PICTURE: { CSlideShowDelegator& slideShow = CServiceBroker::GetSlideShowDelegator(); const int numSlides = slideShow.NumSlides(); @@ -301,15 +316,17 @@ bool CPlaylistOperations::HandleItemsParameter(PLAYLIST::Id playlistId, switch (playlistId) { - case PLAYLIST::TYPE_VIDEO: + case PLAYLIST::Id::TYPE_VIDEO: itemIt["media"] = "video"; break; - case PLAYLIST::TYPE_MUSIC: + case PLAYLIST::Id::TYPE_MUSIC: itemIt["media"] = "music"; break; - case PLAYLIST::TYPE_PICTURE: + case PLAYLIST::Id::TYPE_PICTURE: itemIt["media"] = "pictures"; break; + default: + break; } success |= FillFileItemList(itemIt, items); diff --git a/xbmc/interfaces/json-rpc/PlaylistOperations.h b/xbmc/interfaces/json-rpc/PlaylistOperations.h index a6a6f83c7e..e71c88bc98 100644 --- a/xbmc/interfaces/json-rpc/PlaylistOperations.h +++ b/xbmc/interfaces/json-rpc/PlaylistOperations.h @@ -16,7 +16,7 @@ class CVariant; namespace PLAYLIST { -using Id = int; +enum class Id; } // namespace PLAYLIST namespace JSONRPC diff --git a/xbmc/interfaces/legacy/ModuleXbmc.cpp b/xbmc/interfaces/legacy/ModuleXbmc.cpp index 290d575359..de752344d7 100644 --- a/xbmc/interfaces/legacy/ModuleXbmc.cpp +++ b/xbmc/interfaces/legacy/ModuleXbmc.cpp @@ -578,11 +578,11 @@ namespace XBMCAddon int getPLAYLIST_MUSIC() { - return PLAYLIST::TYPE_MUSIC; + return static_cast<int>(PLAYLIST::Id::TYPE_MUSIC); } int getPLAYLIST_VIDEO() { - return PLAYLIST::TYPE_VIDEO; + return static_cast<int>(PLAYLIST::Id::TYPE_VIDEO); } int getTRAY_OPEN() { diff --git a/xbmc/interfaces/legacy/PlayList.cpp b/xbmc/interfaces/legacy/PlayList.cpp index 649bc89892..6b27f31e51 100644 --- a/xbmc/interfaces/legacy/PlayList.cpp +++ b/xbmc/interfaces/legacy/PlayList.cpp @@ -24,10 +24,11 @@ namespace XBMCAddon iPlayList(playList), pPlayList(NULL) { // we do not create our own playlist, just using the ones from playlistplayer - if (iPlayList != PLAYLIST::TYPE_MUSIC && iPlayList != PLAYLIST::TYPE_VIDEO) + if (PLAYLIST::Id{iPlayList} != PLAYLIST::Id::TYPE_MUSIC && + PLAYLIST::Id{iPlayList} != PLAYLIST::Id::TYPE_VIDEO) throw PlayListException("PlayList does not exist"); - pPlayList = &CServiceBroker::GetPlaylistPlayer().GetPlaylist(playList); + pPlayList = &CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::Id{playList}); iPlayList = playList; } @@ -76,7 +77,7 @@ namespace XBMCAddon return false; // clear current playlist - CServiceBroker::GetPlaylistPlayer().ClearPlaylist(this->iPlayList); + CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::Id{this->iPlayList}); // add each item of the playlist to the playlistplayer for (int i=0; i < pPlayList->size(); ++i) diff --git a/xbmc/interfaces/legacy/Player.cpp b/xbmc/interfaces/legacy/Player.cpp index b3aff2dfd5..0836081e44 100644 --- a/xbmc/interfaces/legacy/Player.cpp +++ b/xbmc/interfaces/legacy/Player.cpp @@ -48,19 +48,19 @@ namespace XBMCAddon { namespace xbmc { - PlayParameter Player::defaultPlayParameter; + PlayParameter Player::defaultPlayParameter; - Player::Player() - { - iPlayList = PLAYLIST::TYPE_MUSIC; + Player::Player() + { + iPlayList = static_cast<int>(PLAYLIST::Id::TYPE_MUSIC); - // now that we're done, register hook me into the system - if (languageHook) - { - DelayedCallGuard dc(languageHook); - languageHook->RegisterPlayerCallback(this); - } + // now that we're done, register hook me into the system + if (languageHook) + { + DelayedCallGuard dc(languageHook); + languageHook->RegisterPlayerCallback(this); } + } Player::~Player() { @@ -125,8 +125,8 @@ namespace XBMCAddon CMediaSettings::GetInstance().SetMediaStartWindowed(windowed); // play current file in playlist - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() != iPlayList) - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(iPlayList); + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() != PLAYLIST::Id{iPlayList}) + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id{iPlayList}); CServiceBroker::GetAppMessenger()->SendMsg( TMSG_PLAYLISTPLAYER_PLAY, CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx()); } @@ -142,7 +142,7 @@ namespace XBMCAddon // play a python playlist (a playlist from playlistplayer.cpp) iPlayList = playlist->getPlayListId(); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(iPlayList); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id{iPlayList}); if (startpos > -1) CServiceBroker::GetPlaylistPlayer().SetCurrentItemIdx(startpos); CServiceBroker::GetAppMessenger()->SendMsg(TMSG_PLAYLISTPLAYER_PLAY, startpos); @@ -184,9 +184,9 @@ namespace XBMCAddon XBMC_TRACE; DelayedCallGuard dc(languageHook); - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() != iPlayList) + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() != PLAYLIST::Id{iPlayList}) { - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(iPlayList); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id{iPlayList}); } CServiceBroker::GetPlaylistPlayer().SetCurrentItemIdx(selected); diff --git a/xbmc/music/ContextMenus.cpp b/xbmc/music/ContextMenus.cpp index 22df28acd2..56e53eb9c9 100644 --- a/xbmc/music/ContextMenus.cpp +++ b/xbmc/music/ContextMenus.cpp @@ -81,7 +81,7 @@ namespace { void Play(const std::shared_ptr<CFileItem>& item, const std::string& player) { - item->SetProperty("playlist_type_hint", PLAYLIST::TYPE_MUSIC); + item->SetProperty("playlist_type_hint", static_cast<int>(PLAYLIST::Id::TYPE_MUSIC)); const ContentUtils::PlayMode mode = item->GetProperty("CheckAutoPlayNextItem").asBoolean() ? ContentUtils::PlayMode::CHECK_AUTO_PLAY_NEXT_ITEM diff --git a/xbmc/music/GUIViewStateMusic.cpp b/xbmc/music/GUIViewStateMusic.cpp index a34d9170a2..5d43691b4d 100644 --- a/xbmc/music/GUIViewStateMusic.cpp +++ b/xbmc/music/GUIViewStateMusic.cpp @@ -33,7 +33,7 @@ using namespace MUSICDATABASEDIRECTORY; PLAYLIST::Id CGUIViewStateWindowMusic::GetPlaylist() const { - return PLAYLIST::TYPE_MUSIC; + return PLAYLIST::Id::TYPE_MUSIC; } bool CGUIViewStateWindowMusic::AutoPlayNextItem() @@ -625,7 +625,7 @@ void CGUIViewStateWindowMusicPlaylist::SaveViewState() PLAYLIST::Id CGUIViewStateWindowMusicPlaylist::GetPlaylist() const { - return PLAYLIST::TYPE_MUSIC; + return PLAYLIST::Id::TYPE_MUSIC; } bool CGUIViewStateWindowMusicPlaylist::AutoPlayNextItem() diff --git a/xbmc/music/MusicUtils.cpp b/xbmc/music/MusicUtils.cpp index c3e6b71625..5434688a8c 100644 --- a/xbmc/music/MusicUtils.cpp +++ b/xbmc/music/MusicUtils.cpp @@ -140,7 +140,7 @@ public: */ bool clearcache(false); const PLAYLIST::CPlayList& playlist = - CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::TYPE_MUSIC); + CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::Id::TYPE_MUSIC); for (int i = 0; i < playlist.size(); ++i) { @@ -669,12 +669,12 @@ void AddItemToPlayListAndPlay(const std::shared_ptr<CFileItem>& itemToQueue, MUSIC_UTILS::GetItemsForPlayList(itemToQueue, queuedItems); auto& playlistPlayer = CServiceBroker::GetPlaylistPlayer(); - playlistPlayer.ClearPlaylist(PLAYLIST::TYPE_MUSIC); + playlistPlayer.ClearPlaylist(PLAYLIST::Id::TYPE_MUSIC); playlistPlayer.Reset(); - playlistPlayer.Add(PLAYLIST::TYPE_MUSIC, queuedItems); + playlistPlayer.Add(PLAYLIST::Id::TYPE_MUSIC, queuedItems); // figure out where to start playback - PLAYLIST::CPlayList& playList = playlistPlayer.GetPlaylist(PLAYLIST::TYPE_MUSIC); + PLAYLIST::CPlayList& playList = playlistPlayer.GetPlaylist(PLAYLIST::Id::TYPE_MUSIC); int pos = 0; if (itemToPlay) { @@ -687,13 +687,13 @@ void AddItemToPlayListAndPlay(const std::shared_ptr<CFileItem>& itemToQueue, } } - if (playlistPlayer.IsShuffled(PLAYLIST::TYPE_MUSIC)) + if (playlistPlayer.IsShuffled(PLAYLIST::Id::TYPE_MUSIC)) { playList.Swap(0, playList.FindOrder(pos)); pos = 0; } - playlistPlayer.SetCurrentPlaylist(PLAYLIST::TYPE_MUSIC); + playlistPlayer.SetCurrentPlaylist(PLAYLIST::Id::TYPE_MUSIC); playlistPlayer.Play(pos, player); } } // unnamed namespace @@ -763,7 +763,7 @@ void PlayItem(const std::shared_ptr<CFileItem>& itemIn, // song, so just play it auto& playlistPlayer = CServiceBroker::GetPlaylistPlayer(); playlistPlayer.Reset(); - playlistPlayer.SetCurrentPlaylist(PLAYLIST::TYPE_NONE); + playlistPlayer.SetCurrentPlaylist(PLAYLIST::Id::TYPE_NONE); playlistPlayer.Play(item, player); } } @@ -785,14 +785,14 @@ void QueueItem(const std::shared_ptr<CFileItem>& itemIn, QueuePosition pos) auto& player = CServiceBroker::GetPlaylistPlayer(); PLAYLIST::Id playlistId = player.GetCurrentPlaylist(); - if (playlistId == PLAYLIST::TYPE_NONE) + if (playlistId == PLAYLIST::Id::TYPE_NONE) { const auto& components = CServiceBroker::GetAppComponents(); playlistId = components.GetComponent<CApplicationPlayer>()->GetPreferredPlaylist(); } - if (playlistId == PLAYLIST::TYPE_NONE) - playlistId = PLAYLIST::TYPE_MUSIC; + if (playlistId == PLAYLIST::Id::TYPE_NONE) + playlistId = PLAYLIST::Id::TYPE_MUSIC; // Check for the partymode playlist item, do nothing when "PartyMode.xsp" not exists if (item->IsSmartPlayList() && !CFileUtils::Exists(item->GetPath())) diff --git a/xbmc/music/windows/GUIWindowMusicBase.cpp b/xbmc/music/windows/GUIWindowMusicBase.cpp index 5ace8dcfe4..7bef12c9c0 100644 --- a/xbmc/music/windows/GUIWindowMusicBase.cpp +++ b/xbmc/music/windows/GUIWindowMusicBase.cpp @@ -257,8 +257,8 @@ bool CGUIWindowMusicBase::OnAction(const CAction &action) { if (action.GetID() == ACTION_SHOW_PLAYLIST) { - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_MUSIC || - CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::TYPE_MUSIC).size() > 0) + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_MUSIC || + CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::Id::TYPE_MUSIC).size() > 0) { CServiceBroker::GetGUI()->GetWindowManager().ActivateWindow(WINDOW_MUSIC_PLAYLIST); return true; @@ -647,10 +647,10 @@ void CGUIWindowMusicBase::PlayItem(int iItem) URIUtils::RemoveSlashAtEnd(strPlayListDirectory); */ - CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::TYPE_MUSIC); + CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::Id::TYPE_MUSIC); CServiceBroker::GetPlaylistPlayer().Reset(); - CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::TYPE_MUSIC, queuedItems); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_MUSIC); + CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::Id::TYPE_MUSIC, queuedItems); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_MUSIC); // play! CServiceBroker::GetPlaylistPlayer().Play(); @@ -688,7 +688,7 @@ void CGUIWindowMusicBase::LoadPlayList(const std::string& strPlayList) } int iSize = pPlayList->size(); - if (g_application.ProcessAndStartPlaylist(strPlayList, *pPlayList, PLAYLIST::TYPE_MUSIC)) + if (g_application.ProcessAndStartPlaylist(strPlayList, *pPlayList, PLAYLIST::Id::TYPE_MUSIC)) { if (m_guiState) m_guiState->SetPlaylistDirectory("playlistmusic://"); @@ -722,7 +722,7 @@ bool CGUIWindowMusicBase::OnPlayMedia(int iItem, const std::string &player) OnQueueItem(iItem); return true; } - pItem->SetProperty("playlist_type_hint", m_guiState->GetPlaylist()); + pItem->SetProperty("playlist_type_hint", static_cast<int>(m_guiState->GetPlaylist())); CServiceBroker::GetPlaylistPlayer().Play(pItem, player); return true; } diff --git a/xbmc/music/windows/GUIWindowMusicPlaylist.cpp b/xbmc/music/windows/GUIWindowMusicPlaylist.cpp index 92578e88be..d28169fa34 100644 --- a/xbmc/music/windows/GUIWindowMusicPlaylist.cpp +++ b/xbmc/music/windows/GUIWindowMusicPlaylist.cpp @@ -126,7 +126,7 @@ bool CGUIWindowMusicPlayList::OnMessage(CGUIMessage& message) const auto& components = CServiceBroker::GetAppComponents(); const auto appPlayer = components.GetComponent<CApplicationPlayer>(); if (appPlayer->IsPlayingAudio() && - CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_MUSIC) + CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_MUSIC) { int iSong = CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx(); if (iSong >= 0 && iSong <= m_vecItems->Size()) @@ -145,10 +145,10 @@ bool CGUIWindowMusicPlayList::OnMessage(CGUIMessage& message) if (!g_partyModeManager.IsEnabled()) { CServiceBroker::GetPlaylistPlayer().SetShuffle( - PLAYLIST::TYPE_MUSIC, - !(CServiceBroker::GetPlaylistPlayer().IsShuffled(PLAYLIST::TYPE_MUSIC))); + PLAYLIST::Id::TYPE_MUSIC, + !(CServiceBroker::GetPlaylistPlayer().IsShuffled(PLAYLIST::Id::TYPE_MUSIC))); CMediaSettings::GetInstance().SetMusicPlaylistShuffled( - CServiceBroker::GetPlaylistPlayer().IsShuffled(PLAYLIST::TYPE_MUSIC)); + CServiceBroker::GetPlaylistPlayer().IsShuffled(PLAYLIST::Id::TYPE_MUSIC)); CServiceBroker::GetSettingsComponent()->GetSettings()->Save(); UpdateButtons(); Refresh(); @@ -171,39 +171,39 @@ bool CGUIWindowMusicPlayList::OnMessage(CGUIMessage& message) else if (iControl == CONTROL_BTNPLAY) { m_guiState->SetPlaylistDirectory("playlistmusic://"); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_MUSIC); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_MUSIC); CServiceBroker::GetPlaylistPlayer().Reset(); CServiceBroker::GetPlaylistPlayer().Play(m_viewControl.GetSelectedItem(), ""); UpdateButtons(); } else if (iControl == CONTROL_BTNNEXT) { - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_MUSIC); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_MUSIC); CServiceBroker::GetPlaylistPlayer().PlayNext(); } else if (iControl == CONTROL_BTNPREVIOUS) { - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_MUSIC); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_MUSIC); CServiceBroker::GetPlaylistPlayer().PlayPrevious(); } else if (iControl == CONTROL_BTNREPEAT) { // increment repeat state PLAYLIST::RepeatState state = - CServiceBroker::GetPlaylistPlayer().GetRepeat(PLAYLIST::TYPE_MUSIC); + CServiceBroker::GetPlaylistPlayer().GetRepeat(PLAYLIST::Id::TYPE_MUSIC); if (state == PLAYLIST::RepeatState::NONE) - CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::TYPE_MUSIC, + CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::Id::TYPE_MUSIC, PLAYLIST::RepeatState::ALL); else if (state == PLAYLIST::RepeatState::ALL) - CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::TYPE_MUSIC, + CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::Id::TYPE_MUSIC, PLAYLIST::RepeatState::ONE); else - CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::TYPE_MUSIC, + CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::Id::TYPE_MUSIC, PLAYLIST::RepeatState::NONE); // save settings CMediaSettings::GetInstance().SetMusicPlaylistRepeat( - CServiceBroker::GetPlaylistPlayer().GetRepeat(PLAYLIST::TYPE_MUSIC) == + CServiceBroker::GetPlaylistPlayer().GetRepeat(PLAYLIST::Id::TYPE_MUSIC) == PLAYLIST::RepeatState::ALL); CServiceBroker::GetSettingsComponent()->GetSettings()->Save(); @@ -274,14 +274,14 @@ bool CGUIWindowMusicPlayList::MoveCurrentPlayListItem(int iItem, // is the currently playing item affected? bool bFixCurrentSong = false; - if ((CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_MUSIC) && + if ((CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_MUSIC) && appPlayer->IsPlayingAudio() && ((CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx() == iSelected) || (CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx() == iNew))) bFixCurrentSong = true; PLAYLIST::CPlayList& playlist = - CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::TYPE_MUSIC); + CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::Id::TYPE_MUSIC); if (playlist.Swap(iSelected, iNew)) { // Correct the current playing song in playlistplayer @@ -353,11 +353,11 @@ void CGUIWindowMusicPlayList::SavePlayList() void CGUIWindowMusicPlayList::ClearPlayList() { ClearFileItems(); - CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::TYPE_MUSIC); - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_MUSIC) + CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::Id::TYPE_MUSIC); + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_MUSIC) { CServiceBroker::GetPlaylistPlayer().Reset(); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_NONE); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_NONE); } Refresh(); SET_CONTROL_FOCUS(CONTROL_BTNVIEWASICONS, 0); @@ -371,12 +371,12 @@ void CGUIWindowMusicPlayList::RemovePlayListItem(int iItem) const auto& components = CServiceBroker::GetAppComponents(); const auto appPlayer = components.GetComponent<CApplicationPlayer>(); // The current playing song can't be removed - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_MUSIC && + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_MUSIC && appPlayer->IsPlayingAudio() && CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx() == iItem) return; - CServiceBroker::GetPlaylistPlayer().Remove(PLAYLIST::TYPE_MUSIC, iItem); + CServiceBroker::GetPlaylistPlayer().Remove(PLAYLIST::Id::TYPE_MUSIC, iItem); Refresh(); @@ -408,7 +408,7 @@ void CGUIWindowMusicPlayList::UpdateButtons() const auto& components = CServiceBroker::GetAppComponents(); const auto appPlayer = components.GetComponent<CApplicationPlayer>(); if (appPlayer->IsPlayingAudio() && - CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_MUSIC) + CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_MUSIC) { CONTROL_ENABLE(CONTROL_BTNNEXT); CONTROL_ENABLE(CONTROL_BTNPREVIOUS); @@ -433,13 +433,13 @@ void CGUIWindowMusicPlayList::UpdateButtons() // update buttons CONTROL_DESELECT(CONTROL_BTNSHUFFLE); - if (CServiceBroker::GetPlaylistPlayer().IsShuffled(PLAYLIST::TYPE_MUSIC)) + if (CServiceBroker::GetPlaylistPlayer().IsShuffled(PLAYLIST::Id::TYPE_MUSIC)) CONTROL_SELECT(CONTROL_BTNSHUFFLE); // update repeat button int iLocalizedString; PLAYLIST::RepeatState repState = - CServiceBroker::GetPlaylistPlayer().GetRepeat(PLAYLIST::TYPE_MUSIC); + CServiceBroker::GetPlaylistPlayer().GetRepeat(PLAYLIST::Id::TYPE_MUSIC); if (repState == PLAYLIST::RepeatState::NONE) iLocalizedString = 595; // Repeat: Off else if (repState == PLAYLIST::RepeatState::ONE) @@ -464,7 +464,7 @@ bool CGUIWindowMusicPlayList::OnPlayMedia(int iItem, const std::string& player) else { PLAYLIST::Id playlistId = m_guiState->GetPlaylist(); - if (playlistId != PLAYLIST::TYPE_NONE) + if (playlistId != PLAYLIST::Id::TYPE_NONE) { if (m_guiState) m_guiState->SetPlaylistDirectory(m_vecItems->GetPath()); @@ -478,7 +478,7 @@ bool CGUIWindowMusicPlayList::OnPlayMedia(int iItem, const std::string& player) // not use the playlistplayer. CFileItemPtr pItem = m_vecItems->Get(iItem); CServiceBroker::GetPlaylistPlayer().Reset(); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_NONE); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_NONE); g_application.PlayFile(*pItem, player); } } diff --git a/xbmc/network/AirPlayServer.cpp b/xbmc/network/AirPlayServer.cpp index 6b30e11e06..9de4f0eb12 100644 --- a/xbmc/network/AirPlayServer.cpp +++ b/xbmc/network/AirPlayServer.cpp @@ -178,7 +178,8 @@ void CAirPlayServer::Announce(ANNOUNCEMENT::AnnouncementFlag flag, { bool shouldRestoreVolume = true; if (data.isMember("player") && data["player"].isMember("playerid")) - shouldRestoreVolume = (data["player"]["playerid"] != PLAYLIST::TYPE_PICTURE); + shouldRestoreVolume = + (data["player"]["playerid"] != static_cast<int>(PLAYLIST::Id::TYPE_PICTURE)); if (shouldRestoreVolume) restoreVolume(); diff --git a/xbmc/network/upnp/UPnPRenderer.cpp b/xbmc/network/upnp/UPnPRenderer.cpp index acc25a81a9..614d50f9a8 100644 --- a/xbmc/network/upnp/UPnPRenderer.cpp +++ b/xbmc/network/upnp/UPnPRenderer.cpp @@ -631,15 +631,15 @@ NPT_Result CUPnPRenderer::OnSetNextAVTransportURI(PLT_ActionReference& action) CServiceBroker::GetGUI()->GetWindowManager().GetActiveWindow() != WINDOW_SLIDESHOW) { - PLAYLIST::Id playlistId = PLAYLIST::TYPE_MUSIC; + PLAYLIST::Id playlistId = PLAYLIST::Id::TYPE_MUSIC; if (IsVideo(*item)) - playlistId = PLAYLIST::TYPE_VIDEO; + playlistId = PLAYLIST::Id::TYPE_VIDEO; // note: auto-deleted when the message is consumed auto playlist = new CFileItemList(); playlist->AddFront(item, 0); - CServiceBroker::GetAppMessenger()->PostMsg(TMSG_PLAYLISTPLAYER_ADD, playlistId, -1, - static_cast<void*>(playlist)); + CServiceBroker::GetAppMessenger()->PostMsg( + TMSG_PLAYLISTPLAYER_ADD, static_cast<int>(playlistId), -1, static_cast<void*>(playlist)); service->SetStateVariable("NextAVTransportURI", uri); service->SetStateVariable("NextAVTransportURIMetaData", meta); diff --git a/xbmc/pictures/GUIWindowSlideShow.cpp b/xbmc/pictures/GUIWindowSlideShow.cpp index b1fe3d56c5..495e8c3526 100644 --- a/xbmc/pictures/GUIWindowSlideShow.cpp +++ b/xbmc/pictures/GUIWindowSlideShow.cpp @@ -164,7 +164,7 @@ void CGUIWindowSlideShow::AnnouncePlayerPlay(const CFileItemPtr& item) { CVariant param; param["player"]["speed"] = m_bSlideShow && !m_bPause ? 1 : 0; - param["player"]["playerid"] = PLAYLIST::TYPE_PICTURE; + param["player"]["playerid"] = static_cast<int>(PLAYLIST::Id::TYPE_PICTURE); CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Player, "OnPlay", item, param); } @@ -172,14 +172,14 @@ void CGUIWindowSlideShow::AnnouncePlayerPause(const CFileItemPtr& item) { CVariant param; param["player"]["speed"] = 0; - param["player"]["playerid"] = PLAYLIST::TYPE_PICTURE; + param["player"]["playerid"] = static_cast<int>(PLAYLIST::Id::TYPE_PICTURE); CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Player, "OnPause", item, param); } void CGUIWindowSlideShow::AnnouncePlayerStop(const CFileItemPtr& item) { CVariant param; - param["player"]["playerid"] = PLAYLIST::TYPE_PICTURE; + param["player"]["playerid"] = static_cast<int>(PLAYLIST::Id::TYPE_PICTURE); param["end"] = true; CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Player, "OnStop", item, param); } @@ -187,14 +187,14 @@ void CGUIWindowSlideShow::AnnouncePlayerStop(const CFileItemPtr& item) void CGUIWindowSlideShow::AnnouncePlaylistClear() { CVariant data; - data["playlistid"] = PLAYLIST::TYPE_PICTURE; + data["playlistid"] = static_cast<int>(PLAYLIST::Id::TYPE_PICTURE); CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Playlist, "OnClear", data); } void CGUIWindowSlideShow::AnnouncePlaylistAdd(const CFileItemPtr& item, int pos) { CVariant data; - data["playlistid"] = PLAYLIST::TYPE_PICTURE; + data["playlistid"] = static_cast<int>(PLAYLIST::Id::TYPE_PICTURE); data["position"] = pos; CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Playlist, "OnAdd", item, data); } @@ -205,7 +205,7 @@ void CGUIWindowSlideShow::AnnouncePropertyChanged(const std::string &strProperty return; CVariant data; - data["player"]["playerid"] = PLAYLIST::TYPE_PICTURE; + data["player"]["playerid"] = static_cast<int>(PLAYLIST::Id::TYPE_PICTURE); data["property"][strProperty] = value; CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Player, "OnPropertyChanged", data); diff --git a/xbmc/playlists/PlayList.cpp b/xbmc/playlists/PlayList.cpp index 8857b818ac..200871c6d0 100644 --- a/xbmc/playlists/PlayList.cpp +++ b/xbmc/playlists/PlayList.cpp @@ -44,32 +44,32 @@ CPlayList::CPlayList(Id id /* = PLAYLIST::TYPE_NONE */) : m_id(id) void CPlayList::AnnounceRemove(int pos) { - if (m_id == TYPE_NONE) + if (m_id == Id::TYPE_NONE) return; CVariant data; - data["playlistid"] = m_id; + data["playlistid"] = static_cast<int>(m_id); data["position"] = pos; CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Playlist, "OnRemove", data); } void CPlayList::AnnounceClear() { - if (m_id == TYPE_NONE) + if (m_id == Id::TYPE_NONE) return; CVariant data; - data["playlistid"] = m_id; + data["playlistid"] = static_cast<int>(m_id); CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Playlist, "OnClear", data); } void CPlayList::AnnounceAdd(const std::shared_ptr<CFileItem>& item, int pos) { - if (m_id == TYPE_NONE) + if (m_id == Id::TYPE_NONE) return; CVariant data; - data["playlistid"] = m_id; + data["playlistid"] = static_cast<int>(m_id); data["position"] = pos; CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::Playlist, "OnAdd", item, data); } diff --git a/xbmc/playlists/PlayList.h b/xbmc/playlists/PlayList.h index 8aa92be697..9facf70d68 100644 --- a/xbmc/playlists/PlayList.h +++ b/xbmc/playlists/PlayList.h @@ -23,7 +23,7 @@ namespace PLAYLIST class CPlayList { public: - explicit CPlayList(PLAYLIST::Id id = PLAYLIST::TYPE_NONE); + explicit CPlayList(PLAYLIST::Id id = PLAYLIST::Id::TYPE_NONE); virtual ~CPlayList(void) = default; virtual bool Load(const std::string& strFileName); virtual bool LoadData(std::istream &stream); diff --git a/xbmc/playlists/PlayListTypes.h b/xbmc/playlists/PlayListTypes.h index 84462c1b0b..a8234004fa 100644 --- a/xbmc/playlists/PlayListTypes.h +++ b/xbmc/playlists/PlayListTypes.h @@ -11,12 +11,13 @@ namespace PLAYLIST { -using Id = int; - -constexpr Id TYPE_NONE = -1; //! Playlist id of type none -constexpr Id TYPE_MUSIC = 0; //! Playlist id of type music -constexpr Id TYPE_VIDEO = 1; //! Playlist id of type video -constexpr Id TYPE_PICTURE = 2; //! Playlist id of type picture +enum class Id : int +{ + TYPE_NONE = -1, + TYPE_MUSIC = 0, + TYPE_VIDEO = 1, + TYPE_PICTURE = 2 +}; /*! * \brief Manages playlist playing. diff --git a/xbmc/profiles/ProfileManager.cpp b/xbmc/profiles/ProfileManager.cpp index 827bfb112f..999e6c09ab 100644 --- a/xbmc/profiles/ProfileManager.cpp +++ b/xbmc/profiles/ProfileManager.cpp @@ -388,9 +388,9 @@ void CProfileManager::FinalizeLoadProfile() if (m_lastUsedProfile != m_currentProfile) { - playlistManager.ClearPlaylist(PLAYLIST::TYPE_VIDEO); - playlistManager.ClearPlaylist(PLAYLIST::TYPE_MUSIC); - playlistManager.SetCurrentPlaylist(PLAYLIST::TYPE_NONE); + playlistManager.ClearPlaylist(PLAYLIST::Id::TYPE_VIDEO); + playlistManager.ClearPlaylist(PLAYLIST::Id::TYPE_MUSIC); + playlistManager.SetCurrentPlaylist(PLAYLIST::Id::TYPE_NONE); } networkManager.NetworkMessage(CNetworkBase::SERVICES_UP, 1); diff --git a/xbmc/settings/MediaSettings.cpp b/xbmc/settings/MediaSettings.cpp index e3027df998..097a9c11f0 100644 --- a/xbmc/settings/MediaSettings.cpp +++ b/xbmc/settings/MediaSettings.cpp @@ -162,11 +162,12 @@ bool CMediaSettings::Load(const TiXmlNode *settings) // Set music playlist player repeat and shuffle from loaded settings if (m_musicPlaylistRepeat) - CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::TYPE_MUSIC, PLAYLIST::RepeatState::ALL); + CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::Id::TYPE_MUSIC, + PLAYLIST::RepeatState::ALL); else - CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::TYPE_MUSIC, + CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::Id::TYPE_MUSIC, PLAYLIST::RepeatState::NONE); - CServiceBroker::GetPlaylistPlayer().SetShuffle(PLAYLIST::TYPE_MUSIC, m_musicPlaylistShuffle); + CServiceBroker::GetPlaylistPlayer().SetShuffle(PLAYLIST::Id::TYPE_MUSIC, m_musicPlaylistShuffle); // Read the watchmode settings for the various media views pElement = settings->FirstChildElement("myvideos"); @@ -194,11 +195,12 @@ bool CMediaSettings::Load(const TiXmlNode *settings) // Set video playlist player repeat and shuffle from loaded settings if (m_videoPlaylistRepeat) - CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::TYPE_VIDEO, PLAYLIST::RepeatState::ALL); + CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::Id::TYPE_VIDEO, + PLAYLIST::RepeatState::ALL); else - CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::TYPE_VIDEO, + CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::Id::TYPE_VIDEO, PLAYLIST::RepeatState::NONE); - CServiceBroker::GetPlaylistPlayer().SetShuffle(PLAYLIST::TYPE_VIDEO, m_videoPlaylistShuffle); + CServiceBroker::GetPlaylistPlayer().SetShuffle(PLAYLIST::Id::TYPE_VIDEO, m_videoPlaylistShuffle); return true; } diff --git a/xbmc/video/ContextMenus.cpp b/xbmc/video/ContextMenus.cpp index 6bfd70fafd..af65bf1eb8 100644 --- a/xbmc/video/ContextMenus.cpp +++ b/xbmc/video/ContextMenus.cpp @@ -327,7 +327,7 @@ protected: private: void Play(const std::string& player = "") { - m_item->SetProperty("playlist_type_hint", PLAYLIST::TYPE_VIDEO); + m_item->SetProperty("playlist_type_hint", static_cast<int>(PLAYLIST::Id::TYPE_VIDEO)); const ContentUtils::PlayMode mode{m_item->GetProperty("CheckAutoPlayNextItem").asBoolean() ? ContentUtils::PlayMode::CHECK_AUTO_PLAY_NEXT_ITEM : ContentUtils::PlayMode::PLAY_ONLY_THIS}; @@ -350,7 +350,7 @@ void SetPathAndPlay(const std::shared_ptr<CFileItem>& item, PlayMode mode) if (item->IsLiveTV()) // pvr tv or pvr radio? { - g_application.PlayMedia(*item, "", PLAYLIST::TYPE_VIDEO); + g_application.PlayMedia(*item, "", PLAYLIST::Id::TYPE_VIDEO); } else { diff --git a/xbmc/video/GUIViewStateVideo.cpp b/xbmc/video/GUIViewStateVideo.cpp index 1cf1a0115c..336fb3da83 100644 --- a/xbmc/video/GUIViewStateVideo.cpp +++ b/xbmc/video/GUIViewStateVideo.cpp @@ -41,7 +41,7 @@ std::string CGUIViewStateWindowVideo::GetExtensions() PLAYLIST::Id CGUIViewStateWindowVideo::GetPlaylist() const { - return PLAYLIST::TYPE_VIDEO; + return PLAYLIST::Id::TYPE_VIDEO; } VECSOURCES& CGUIViewStateWindowVideo::GetSources() diff --git a/xbmc/video/dialogs/GUIDialogVideoInfo.cpp b/xbmc/video/dialogs/GUIDialogVideoInfo.cpp index d5b7e68b28..0a485003e6 100644 --- a/xbmc/video/dialogs/GUIDialogVideoInfo.cpp +++ b/xbmc/video/dialogs/GUIDialogVideoInfo.cpp @@ -765,7 +765,7 @@ private: item->m_bIsFolder = false; } - item->SetProperty("playlist_type_hint", PLAYLIST::TYPE_VIDEO); + item->SetProperty("playlist_type_hint", static_cast<int>(PLAYLIST::Id::TYPE_VIDEO)); const ContentUtils::PlayMode mode{item->GetProperty("CheckAutoPlayNextItem").asBoolean() ? ContentUtils::PlayMode::CHECK_AUTO_PLAY_NEXT_ITEM : ContentUtils::PlayMode::PLAY_ONLY_THIS}; diff --git a/xbmc/video/dialogs/GUIDialogVideoManager.cpp b/xbmc/video/dialogs/GUIDialogVideoManager.cpp index eedd73e0db..6b83e44a4b 100644 --- a/xbmc/video/dialogs/GUIDialogVideoManager.cpp +++ b/xbmc/video/dialogs/GUIDialogVideoManager.cpp @@ -285,7 +285,7 @@ protected: private: void Play() { - m_item->SetProperty("playlist_type_hint", PLAYLIST::TYPE_VIDEO); + m_item->SetProperty("playlist_type_hint", static_cast<int>(PLAYLIST::Id::TYPE_VIDEO)); const ContentUtils::PlayMode mode{m_item->GetProperty("CheckAutoPlayNextItem").asBoolean() ? ContentUtils::PlayMode::CHECK_AUTO_PLAY_NEXT_ITEM : ContentUtils::PlayMode::PLAY_ONLY_THIS}; diff --git a/xbmc/video/guilib/VideoGUIUtils.cpp b/xbmc/video/guilib/VideoGUIUtils.cpp index 8cadb0e755..9126393b0f 100644 --- a/xbmc/video/guilib/VideoGUIUtils.cpp +++ b/xbmc/video/guilib/VideoGUIUtils.cpp @@ -341,12 +341,12 @@ void AddItemToPlayListAndPlay(const std::shared_ptr<CFileItem>& itemToQueue, VIDEO::UTILS::GetItemsForPlayList(itemToQueue, queuedItems); auto& playlistPlayer = CServiceBroker::GetPlaylistPlayer(); - playlistPlayer.ClearPlaylist(PLAYLIST::TYPE_VIDEO); + playlistPlayer.ClearPlaylist(PLAYLIST::Id::TYPE_VIDEO); playlistPlayer.Reset(); - playlistPlayer.Add(PLAYLIST::TYPE_VIDEO, queuedItems); + playlistPlayer.Add(PLAYLIST::Id::TYPE_VIDEO, queuedItems); // figure out where to start playback - PLAYLIST::CPlayList& playList = playlistPlayer.GetPlaylist(PLAYLIST::TYPE_VIDEO); + PLAYLIST::CPlayList& playList = playlistPlayer.GetPlaylist(PLAYLIST::Id::TYPE_VIDEO); int pos = 0; if (itemToPlay) { @@ -359,13 +359,13 @@ void AddItemToPlayListAndPlay(const std::shared_ptr<CFileItem>& itemToQueue, } } - if (playlistPlayer.IsShuffled(PLAYLIST::TYPE_VIDEO)) + if (playlistPlayer.IsShuffled(PLAYLIST::Id::TYPE_VIDEO)) { playList.Swap(0, playList.FindOrder(pos)); pos = 0; } - playlistPlayer.SetCurrentPlaylist(PLAYLIST::TYPE_VIDEO); + playlistPlayer.SetCurrentPlaylist(PLAYLIST::Id::TYPE_VIDEO); playlistPlayer.Play(pos, player); } @@ -429,7 +429,7 @@ void PlayItem( // single item, play it auto& playlistPlayer = CServiceBroker::GetPlaylistPlayer(); playlistPlayer.Reset(); - playlistPlayer.SetCurrentPlaylist(PLAYLIST::TYPE_NONE); + playlistPlayer.SetCurrentPlaylist(PLAYLIST::Id::TYPE_NONE); playlistPlayer.Play(item, player); } } @@ -453,11 +453,11 @@ void QueueItem(const std::shared_ptr<CFileItem>& itemIn, QueuePosition pos) // Determine the proper list to queue this element PLAYLIST::Id playlistId = player.GetCurrentPlaylist(); - if (playlistId == PLAYLIST::TYPE_NONE) + if (playlistId == PLAYLIST::Id::TYPE_NONE) playlistId = components.GetComponent<CApplicationPlayer>()->GetPreferredPlaylist(); - if (playlistId == PLAYLIST::TYPE_NONE) - playlistId = PLAYLIST::TYPE_VIDEO; + if (playlistId == PLAYLIST::Id::TYPE_NONE) + playlistId = PLAYLIST::Id::TYPE_VIDEO; CFileItemList queuedItems; GetItemsForPlayList(item, queuedItems); diff --git a/xbmc/video/windows/GUIWindowVideoBase.cpp b/xbmc/video/windows/GUIWindowVideoBase.cpp index 50da6ba3b8..d9aadc9de9 100644 --- a/xbmc/video/windows/GUIWindowVideoBase.cpp +++ b/xbmc/video/windows/GUIWindowVideoBase.cpp @@ -102,8 +102,8 @@ bool CGUIWindowVideoBase::OnAction(const CAction &action) return OnContextButton(m_viewControl.GetSelectedItem(),CONTEXT_BUTTON_SCAN); else if (action.GetID() == ACTION_SHOW_PLAYLIST) { - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_VIDEO || - CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::TYPE_VIDEO).size() > 0) + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_VIDEO || + CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::Id::TYPE_VIDEO).size() > 0) { CServiceBroker::GetGUI()->GetWindowManager().ActivateWindow(WINDOW_VIDEO_PLAYLIST); return true; @@ -977,7 +977,7 @@ bool CGUIWindowVideoBase::OnPlayMedia(const std::shared_ptr<CFileItem>& pItem, // Reset Playlistplayer, playback started now does // not use the playlistplayer. CServiceBroker::GetPlaylistPlayer().Reset(); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_NONE); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_NONE); auto itemCopy = std::make_shared<CFileItem>(*pItem); @@ -988,7 +988,7 @@ bool CGUIWindowVideoBase::OnPlayMedia(const std::shared_ptr<CFileItem>& pItem, } CLog::Log(LOGDEBUG, "{} {}", __FUNCTION__, CURL::GetRedacted(itemCopy->GetPath())); - itemCopy->SetProperty("playlist_type_hint", m_guiState->GetPlaylist()); + itemCopy->SetProperty("playlist_type_hint", static_cast<int>(m_guiState->GetPlaylist())); if (m_thumbLoader.IsLoading()) m_thumbLoader.StopAsync(); @@ -1015,7 +1015,7 @@ bool CGUIWindowVideoBase::OnPlayAndQueueMedia(const CFileItemPtr& item, const st { // Get the current playlist and make sure it is not shuffled PLAYLIST::Id playlistId = m_guiState->GetPlaylist(); - if (playlistId != PLAYLIST::TYPE_NONE && + if (playlistId != PLAYLIST::Id::TYPE_NONE && CServiceBroker::GetPlaylistPlayer().IsShuffled(playlistId)) { CServiceBroker::GetPlaylistPlayer().SetShuffle(playlistId, false); @@ -1147,10 +1147,10 @@ bool CGUIWindowVideoBase::PlayItem(const std::shared_ptr<CFileItem>& pItem, CFileItemList queuedItems; VIDEO::UTILS::GetItemsForPlayList(item, queuedItems); - CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::Id::TYPE_VIDEO); CServiceBroker::GetPlaylistPlayer().Reset(); - CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::TYPE_VIDEO, queuedItems); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().Add(PLAYLIST::Id::TYPE_VIDEO, queuedItems); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_VIDEO); CServiceBroker::GetPlaylistPlayer().Play(); return true; } @@ -1159,7 +1159,7 @@ bool CGUIWindowVideoBase::PlayItem(const std::shared_ptr<CFileItem>& pItem, // Note: strm files being somehow special playlists need to be handled in OnPlay*Media // load the playlist the old way - LoadPlayList(pItem->GetDynPath(), PLAYLIST::TYPE_VIDEO); + LoadPlayList(pItem->GetDynPath(), PLAYLIST::Id::TYPE_VIDEO); return true; } else if (m_guiState.get() && m_guiState->AutoPlayNextItem() && !g_partyModeManager.IsEnabled()) diff --git a/xbmc/video/windows/GUIWindowVideoBase.h b/xbmc/video/windows/GUIWindowVideoBase.h index d71b7628fe..b126cebc9f 100644 --- a/xbmc/video/windows/GUIWindowVideoBase.h +++ b/xbmc/video/windows/GUIWindowVideoBase.h @@ -104,7 +104,8 @@ protected: bool OnPlayMedia(const std::shared_ptr<CFileItem>& item, const std::string& player); bool OnPlayAndQueueMedia(const CFileItemPtr& item, const std::string& player = "") override; using CGUIMediaWindow::LoadPlayList; - void LoadPlayList(const std::string& strPlayList, PLAYLIST::Id playlistId = PLAYLIST::TYPE_VIDEO); + void LoadPlayList(const std::string& strPlayList, + PLAYLIST::Id playlistId = PLAYLIST::Id::TYPE_VIDEO); bool PlayItem(const std::shared_ptr<CFileItem>& item, const std::string& player); /*! diff --git a/xbmc/video/windows/GUIWindowVideoPlaylist.cpp b/xbmc/video/windows/GUIWindowVideoPlaylist.cpp index 03619d1eb9..612070c781 100644 --- a/xbmc/video/windows/GUIWindowVideoPlaylist.cpp +++ b/xbmc/video/windows/GUIWindowVideoPlaylist.cpp @@ -124,7 +124,7 @@ bool CGUIWindowVideoPlaylist::OnMessage(CGUIMessage& message) const auto& components = CServiceBroker::GetAppComponents(); const auto appPlayer = components.GetComponent<CApplicationPlayer>(); if (appPlayer->IsPlayingVideo() && - CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_VIDEO) + CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_VIDEO) { int iSong = CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx(); if (iSong >= 0 && iSong <= m_vecItems->Size()) @@ -143,10 +143,10 @@ bool CGUIWindowVideoPlaylist::OnMessage(CGUIMessage& message) if (!g_partyModeManager.IsEnabled()) { CServiceBroker::GetPlaylistPlayer().SetShuffle( - PLAYLIST::TYPE_VIDEO, - !(CServiceBroker::GetPlaylistPlayer().IsShuffled(PLAYLIST::TYPE_VIDEO))); + PLAYLIST::Id::TYPE_VIDEO, + !(CServiceBroker::GetPlaylistPlayer().IsShuffled(PLAYLIST::Id::TYPE_VIDEO))); CMediaSettings::GetInstance().SetVideoPlaylistShuffled( - CServiceBroker::GetPlaylistPlayer().IsShuffled(PLAYLIST::TYPE_VIDEO)); + CServiceBroker::GetPlaylistPlayer().IsShuffled(PLAYLIST::Id::TYPE_VIDEO)); CServiceBroker::GetSettingsComponent()->GetSettings()->Save(); UpdateButtons(); Refresh(); @@ -162,39 +162,39 @@ bool CGUIWindowVideoPlaylist::OnMessage(CGUIMessage& message) } else if (iControl == CONTROL_BTNPLAY) { - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_VIDEO); CServiceBroker::GetPlaylistPlayer().Reset(); CServiceBroker::GetPlaylistPlayer().Play(m_viewControl.GetSelectedItem(), ""); UpdateButtons(); } else if (iControl == CONTROL_BTNNEXT) { - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_VIDEO); CServiceBroker::GetPlaylistPlayer().PlayNext(); } else if (iControl == CONTROL_BTNPREVIOUS) { - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_VIDEO); CServiceBroker::GetPlaylistPlayer().PlayPrevious(); } else if (iControl == CONTROL_BTNREPEAT) { // increment repeat state PLAYLIST::RepeatState state = - CServiceBroker::GetPlaylistPlayer().GetRepeat(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().GetRepeat(PLAYLIST::Id::TYPE_VIDEO); if (state == PLAYLIST::RepeatState::NONE) - CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::TYPE_VIDEO, + CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::Id::TYPE_VIDEO, PLAYLIST::RepeatState::ALL); else if (state == PLAYLIST::RepeatState::ALL) - CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::TYPE_VIDEO, + CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::Id::TYPE_VIDEO, PLAYLIST::RepeatState::ONE); else - CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::TYPE_VIDEO, + CServiceBroker::GetPlaylistPlayer().SetRepeat(PLAYLIST::Id::TYPE_VIDEO, PLAYLIST::RepeatState::NONE); // save settings CMediaSettings::GetInstance().SetVideoPlaylistRepeat( - CServiceBroker::GetPlaylistPlayer().GetRepeat(PLAYLIST::TYPE_VIDEO) == + CServiceBroker::GetPlaylistPlayer().GetRepeat(PLAYLIST::Id::TYPE_VIDEO) == PLAYLIST::RepeatState::ALL); CServiceBroker::GetSettingsComponent()->GetSettings()->Save(); @@ -274,14 +274,14 @@ bool CGUIWindowVideoPlaylist::MoveCurrentPlayListItem(int iItem, const auto appPlayer = components.GetComponent<CApplicationPlayer>(); // is the currently playing item affected? bool bFixCurrentSong = false; - if ((CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_VIDEO) && + if ((CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_VIDEO) && appPlayer->IsPlayingVideo() && ((CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx() == iSelected) || (CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx() == iNew))) bFixCurrentSong = true; PLAYLIST::CPlayList& playlist = - CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().GetPlaylist(PLAYLIST::Id::TYPE_VIDEO); if (playlist.Swap(iSelected, iNew)) { // Correct the current playing song in playlistplayer @@ -306,11 +306,11 @@ bool CGUIWindowVideoPlaylist::MoveCurrentPlayListItem(int iItem, void CGUIWindowVideoPlaylist::ClearPlayList() { ClearFileItems(); - CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::TYPE_VIDEO); - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_VIDEO) + CServiceBroker::GetPlaylistPlayer().ClearPlaylist(PLAYLIST::Id::TYPE_VIDEO); + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_VIDEO) { CServiceBroker::GetPlaylistPlayer().Reset(); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_NONE); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_NONE); } m_viewControl.SetItems(*m_vecItems); UpdateButtons(); @@ -331,7 +331,7 @@ void CGUIWindowVideoPlaylist::UpdateButtons() const auto& components = CServiceBroker::GetAppComponents(); const auto appPlayer = components.GetComponent<CApplicationPlayer>(); if (appPlayer->IsPlayingVideo() && - CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_VIDEO) + CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_VIDEO) { CONTROL_ENABLE(CONTROL_BTNNEXT); CONTROL_ENABLE(CONTROL_BTNPREVIOUS); @@ -357,12 +357,12 @@ void CGUIWindowVideoPlaylist::UpdateButtons() // update buttons CONTROL_DESELECT(CONTROL_BTNSHUFFLE); - if (CServiceBroker::GetPlaylistPlayer().IsShuffled(PLAYLIST::TYPE_VIDEO)) + if (CServiceBroker::GetPlaylistPlayer().IsShuffled(PLAYLIST::Id::TYPE_VIDEO)) CONTROL_SELECT(CONTROL_BTNSHUFFLE); // update repeat button PLAYLIST::RepeatState repState = - CServiceBroker::GetPlaylistPlayer().GetRepeat(PLAYLIST::TYPE_VIDEO); + CServiceBroker::GetPlaylistPlayer().GetRepeat(PLAYLIST::Id::TYPE_VIDEO); int iLocalizedString; if (repState == PLAYLIST::RepeatState::NONE) iLocalizedString = 595; // Repeat: Off @@ -392,9 +392,9 @@ protected: bool OnResumeSelected() override { auto& playlistPlayer = CServiceBroker::GetPlaylistPlayer(); - playlistPlayer.SetCurrentPlaylist(PLAYLIST::TYPE_VIDEO); + playlistPlayer.SetCurrentPlaylist(PLAYLIST::Id::TYPE_VIDEO); - const auto playlistItem{playlistPlayer.GetPlaylist(PLAYLIST::TYPE_VIDEO)[m_itemIndex]}; + const auto playlistItem{playlistPlayer.GetPlaylist(PLAYLIST::Id::TYPE_VIDEO)[m_itemIndex]}; playlistItem->SetStartOffset(STARTOFFSET_RESUME); if (playlistItem->HasVideoInfoTag() && m_item->HasVideoInfoTag()) playlistItem->GetVideoInfoTag()->SetResumePoint(m_item->GetVideoInfoTag()->GetResumePoint()); @@ -406,7 +406,7 @@ protected: bool OnPlaySelected() override { auto& playlistPlayer = CServiceBroker::GetPlaylistPlayer(); - playlistPlayer.SetCurrentPlaylist(PLAYLIST::TYPE_VIDEO); + playlistPlayer.SetCurrentPlaylist(PLAYLIST::Id::TYPE_VIDEO); playlistPlayer.Play(m_itemIndex, m_player); return true; } @@ -444,12 +444,12 @@ void CGUIWindowVideoPlaylist::RemovePlayListItem(int iItem) const auto appPlayer = components.GetComponent<CApplicationPlayer>(); // The current playing song can't be removed - if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::TYPE_VIDEO && + if (CServiceBroker::GetPlaylistPlayer().GetCurrentPlaylist() == PLAYLIST::Id::TYPE_VIDEO && appPlayer->IsPlayingVideo() && CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx() == iItem) return; - CServiceBroker::GetPlaylistPlayer().Remove(PLAYLIST::TYPE_VIDEO, iItem); + CServiceBroker::GetPlaylistPlayer().Remove(PLAYLIST::Id::TYPE_VIDEO, iItem); Refresh(); diff --git a/xbmc/view/GUIViewState.cpp b/xbmc/view/GUIViewState.cpp index 3457aa24cb..cebf9319be 100644 --- a/xbmc/view/GUIViewState.cpp +++ b/xbmc/view/GUIViewState.cpp @@ -190,7 +190,7 @@ CGUIViewState::CGUIViewState(const CFileItemList& items) : m_items(items) { m_currentViewAsControl = 0; m_currentSortMethod = 0; - m_playlist = PLAYLIST::TYPE_NONE; + m_playlist = PLAYLIST::Id::TYPE_NONE; } CGUIViewState::~CGUIViewState() = default; @@ -492,7 +492,7 @@ void CGUIViewState::SetSortOrder(SortOrder sortOrder) bool CGUIViewState::AutoPlayNextVideoItem() const { - if (GetPlaylist() != PLAYLIST::TYPE_VIDEO) + if (GetPlaylist() != PLAYLIST::Id::TYPE_VIDEO) return false; return VIDEO::UTILS::IsAutoPlayNextItem(m_items.GetContent()); @@ -581,9 +581,9 @@ CGUIViewStateFromItems::CGUIViewStateFromItems(const CFileItemList &items) : CGU { const auto plugin = std::static_pointer_cast<CPluginSource>(addon); if (plugin->Provides(CPluginSource::AUDIO)) - m_playlist = PLAYLIST::TYPE_MUSIC; + m_playlist = PLAYLIST::Id::TYPE_MUSIC; if (plugin->Provides(CPluginSource::VIDEO)) - m_playlist = PLAYLIST::TYPE_VIDEO; + m_playlist = PLAYLIST::Id::TYPE_VIDEO; } } diff --git a/xbmc/view/GUIViewState.h b/xbmc/view/GUIViewState.h index 8723081242..2c8dd05a88 100644 --- a/xbmc/view/GUIViewState.h +++ b/xbmc/view/GUIViewState.h @@ -19,7 +19,7 @@ class CFileItemList; namespace PLAYLIST { -using Id = int; +enum class Id; } // namespace PLAYLIST class CGUIViewState diff --git a/xbmc/windows/GUIMediaWindow.cpp b/xbmc/windows/GUIMediaWindow.cpp index f764b671c5..dcb5455503 100644 --- a/xbmc/windows/GUIMediaWindow.cpp +++ b/xbmc/windows/GUIMediaWindow.cpp @@ -1495,7 +1495,7 @@ bool CGUIMediaWindow::OnPlayMedia(int iItem, const std::string &player) // Reset Playlistplayer, playback started now does // not use the playlistplayer. CServiceBroker::GetPlaylistPlayer().Reset(); - CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::TYPE_NONE); + CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST::Id::TYPE_NONE); CFileItemPtr pItem=m_vecItems->Get(iItem); CLog::Log(LOGDEBUG, "{} {}", __FUNCTION__, CURL::GetRedacted(pItem->GetPath())); @@ -1524,7 +1524,7 @@ bool CGUIMediaWindow::OnPlayAndQueueMedia(const CFileItemPtr& item, const std::s { //play and add current directory to temporary playlist PLAYLIST::Id playlistId = m_guiState->GetPlaylist(); - if (playlistId != PLAYLIST::TYPE_NONE) + if (playlistId != PLAYLIST::Id::TYPE_NONE) { // Remove ZIP, RAR files and folders CFileItemList playlist; @@ -1591,7 +1591,7 @@ void CGUIMediaWindow::UpdateFileList() PLAYLIST::Id playlistId = m_guiState->GetPlaylist(); int nSong = CServiceBroker::GetPlaylistPlayer().GetCurrentItemIdx(); CFileItem playlistItem; - if (nSong > -1 && playlistId != PLAYLIST::TYPE_NONE) + if (nSong > -1 && playlistId != PLAYLIST::Id::TYPE_NONE) playlistItem = *CServiceBroker::GetPlaylistPlayer().GetPlaylist(playlistId)[nSong]; CServiceBroker::GetPlaylistPlayer().ClearPlaylist(playlistId); diff --git a/xbmc/windows/GUIWindowFileManager.cpp b/xbmc/windows/GUIWindowFileManager.cpp index fd001e0f99..b25c1e4924 100644 --- a/xbmc/windows/GUIWindowFileManager.cpp +++ b/xbmc/windows/GUIWindowFileManager.cpp @@ -656,7 +656,7 @@ void CGUIWindowFileManager::OnStart(CFileItem *pItem, const std::string &player) return; } } - g_application.ProcessAndStartPlaylist(strPlayList, *pPlayList, PLAYLIST::TYPE_MUSIC); + g_application.ProcessAndStartPlaylist(strPlayList, *pPlayList, PLAYLIST::Id::TYPE_MUSIC); return; } if (MUSIC::IsAudio(*pItem) || IsVideo(*pItem)) |