Skip to content

Commit

Permalink
Merge pull request #2965 from LucasG2000/master
Browse files Browse the repository at this point in the history
Built in function PlayMedia does not play music folders
  • Loading branch information
Montellese committed Aug 1, 2013
2 parents e480e5e + b4f457c commit 38238bd
Showing 1 changed file with 19 additions and 5 deletions.
24 changes: 19 additions & 5 deletions xbmc/interfaces/Builtins.cpp
Expand Up @@ -618,16 +618,30 @@ int CBuiltins::Execute(const CStdString& execString)
if (item.m_bIsFolder)
{
CFileItemList items;
CDirectory::GetDirectory(item.GetPath(),items,g_advancedSettings.m_videoExtensions);
int playlist = PLAYLIST_MUSIC;
CStdString extensions = g_advancedSettings.m_videoExtensions + "|" + g_advancedSettings.m_musicExtensions;
CDirectory::GetDirectory(item.GetPath(),items,extensions);

bool containsMusic = false, containsVideo = false;
for (int i = 0; i < items.Size(); i++)
{
if (items[i]->IsVideo())
{
playlist = PLAYLIST_VIDEO;
bool isVideo = items[i]->IsVideo();
containsMusic |= !isVideo;
containsVideo |= isVideo;

if (containsMusic && containsVideo)
break;
}

int playlist = containsVideo? PLAYLIST_VIDEO : PLAYLIST_MUSIC;;
if (containsMusic && containsVideo) //mixed content found in the folder
{
for (int i = items.Size() - 1; i >= 0; i--) //remove music entries
{
if (!items[i]->IsVideo())
items.Remove(i);
}
}

g_playlistPlayer.ClearPlaylist(playlist);
g_playlistPlayer.Add(playlist, items);
g_playlistPlayer.SetCurrentPlaylist(playlist);
Expand Down

0 comments on commit 38238bd

Please sign in to comment.