aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArne Morten Kvarving <spiff@kodi.tv>2024-05-11 04:38:35 +0200
committerGitHub <noreply@github.com>2024-05-11 04:38:35 +0200
commit436befa5e98a39bcf2ed69132717e1961bb77ee2 (patch)
tree41501e1d66eb31ed5e7d4fcfc14f5d6b38855c2f
parent64e0ecf2f3d0a6011f97067f0922605bc14e453b (diff)
parentf5a84bc31fb9e89c0968f9eb6a2b763472f7b6cf (diff)
downloadxbmc-436befa5e98a39bcf2ed69132717e1961bb77ee2.tar.xz
Merge pull request #25187 from notspiff/playlist_id_enum_class
PLAYLIST::Id: convert to enum class
-rw-r--r--xbmc/Autorun.cpp42
-rw-r--r--xbmc/GUIInfoManager.cpp10
-rw-r--r--xbmc/PartyModeManager.cpp5
-rw-r--r--xbmc/PartyModeManager.h2
-rw-r--r--xbmc/PlayListPlayer.cpp138
-rw-r--r--xbmc/PlayListPlayer.h8
-rw-r--r--xbmc/application/Application.cpp52
-rw-r--r--xbmc/application/ApplicationPlayer.cpp6
-rw-r--r--xbmc/filesystem/PlaylistDirectory.cpp10
-rw-r--r--xbmc/filesystem/SmartPlaylistDirectory.cpp10
-rw-r--r--xbmc/games/windows/GUIWindowGames.cpp2
-rw-r--r--xbmc/guilib/guiinfo/GUIInfoHelper.cpp2
-rw-r--r--xbmc/guilib/guiinfo/GUIInfoHelper.h2
-rw-r--r--xbmc/guilib/guiinfo/MusicGUIInfo.cpp21
-rw-r--r--xbmc/guilib/guiinfo/PlayerGUIInfo.cpp17
-rw-r--r--xbmc/guilib/guiinfo/VideoGUIInfo.cpp8
-rw-r--r--xbmc/interfaces/AnnouncementManager.cpp5
-rw-r--r--xbmc/interfaces/builtins/AddonBuiltins.cpp2
-rw-r--r--xbmc/interfaces/builtins/PlayerBuiltins.cpp41
-rw-r--r--xbmc/interfaces/json-rpc/PlayerOperations.cpp48
-rw-r--r--xbmc/interfaces/json-rpc/PlayerOperations.h2
-rw-r--r--xbmc/interfaces/json-rpc/PlaylistOperations.cpp95
-rw-r--r--xbmc/interfaces/json-rpc/PlaylistOperations.h2
-rw-r--r--xbmc/interfaces/legacy/ModuleXbmc.cpp4
-rw-r--r--xbmc/interfaces/legacy/PlayList.cpp7
-rw-r--r--xbmc/interfaces/legacy/Player.cpp30
-rw-r--r--xbmc/music/ContextMenus.cpp2
-rw-r--r--xbmc/music/GUIViewStateMusic.cpp4
-rw-r--r--xbmc/music/MusicUtils.cpp20
-rw-r--r--xbmc/music/windows/GUIWindowMusicBase.cpp14
-rw-r--r--xbmc/music/windows/GUIWindowMusicPlaylist.cpp48
-rw-r--r--xbmc/network/AirPlayServer.cpp3
-rw-r--r--xbmc/network/upnp/UPnPRenderer.cpp8
-rw-r--r--xbmc/pictures/GUIWindowSlideShow.cpp12
-rw-r--r--xbmc/playlists/PlayList.cpp12
-rw-r--r--xbmc/playlists/PlayList.h2
-rw-r--r--xbmc/playlists/PlayListTypes.h13
-rw-r--r--xbmc/profiles/ProfileManager.cpp6
-rw-r--r--xbmc/settings/MediaSettings.cpp14
-rw-r--r--xbmc/video/ContextMenus.cpp4
-rw-r--r--xbmc/video/GUIViewStateVideo.cpp2
-rw-r--r--xbmc/video/dialogs/GUIDialogVideoInfo.cpp2
-rw-r--r--xbmc/video/dialogs/GUIDialogVideoManager.cpp2
-rw-r--r--xbmc/video/guilib/VideoGUIUtils.cpp18
-rw-r--r--xbmc/video/windows/GUIWindowVideoBase.cpp18
-rw-r--r--xbmc/video/windows/GUIWindowVideoBase.h3
-rw-r--r--xbmc/video/windows/GUIWindowVideoPlaylist.cpp50
-rw-r--r--xbmc/view/GUIViewState.cpp8
-rw-r--r--xbmc/view/GUIViewState.h2
-rw-r--r--xbmc/windows/GUIMediaWindow.cpp6
-rw-r--r--xbmc/windows/GUIWindowFileManager.cpp2
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 &parameterObject, 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 &parameterObject, 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 &parameterObject, 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))