|
|
|
@ -378,7 +378,10 @@ public:
|
|
|
|
|
virtual void execute(CCtrlBase * /* pCaller */, const string &Params)
|
|
|
|
|
{
|
|
|
|
|
if(!SoundMngr)
|
|
|
|
|
{
|
|
|
|
|
CInterfaceManager::getInstance()->messageBox (CI18N::get ("uiSoundDisabled"));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Params == "play_songs")
|
|
|
|
|
{
|
|
|
|
@ -386,19 +389,26 @@ public:
|
|
|
|
|
SoundMngr->getMixer()->getMusicExtensions(extensions);
|
|
|
|
|
|
|
|
|
|
// no format supported
|
|
|
|
|
if (extensions.empty()) return;
|
|
|
|
|
|
|
|
|
|
std::string message;
|
|
|
|
|
for(uint i = 0; i < extensions.size(); ++i)
|
|
|
|
|
if (extensions.empty())
|
|
|
|
|
{
|
|
|
|
|
message += " " + extensions[i];
|
|
|
|
|
// in the very unlikely scenario
|
|
|
|
|
const ucstring message("Sound driver has no support for music.");
|
|
|
|
|
CInterfaceManager::getInstance()->displaySystemInfo(message, "SYS");
|
|
|
|
|
nlinfo("%s", message.toUtf8().c_str());
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
message += " m3u m3u8";
|
|
|
|
|
nlinfo("Media player supports: '%s'", message.substr(1).c_str());
|
|
|
|
|
std::string newPath = CPath::makePathAbsolute(CPath::standardizePath(ClientCfg.MediaPlayerDirectory), CPath::getCurrentPath(), true);
|
|
|
|
|
std::string extlist;
|
|
|
|
|
join(extensions, ", ", extlist);
|
|
|
|
|
extlist += ", m3u, m3u8";
|
|
|
|
|
|
|
|
|
|
std::string msg(CI18N::get("uiMk_system6").toUtf8());
|
|
|
|
|
msg += ": " + newPath + " (" + extlist + ")";
|
|
|
|
|
CInterfaceManager::getInstance()->displaySystemInfo(ucstring::makeFromUtf8(msg), "SYS");
|
|
|
|
|
nlinfo("%s", msg.c_str());
|
|
|
|
|
|
|
|
|
|
// Recursive scan for files from media directory
|
|
|
|
|
vector<string> filesToProcess;
|
|
|
|
|
string newPath = CPath::standardizePath(ClientCfg.MediaPlayerDirectory);
|
|
|
|
|
CPath::getPathContent (newPath, true, false, true, filesToProcess);
|
|
|
|
|
|
|
|
|
|
uint i;
|
|
|
|
|