diff --git a/code/ryzom/client/src/interface_v3/music_player.cpp b/code/ryzom/client/src/interface_v3/music_player.cpp index 77d3fd698..2deaa965b 100644 --- a/code/ryzom/client/src/interface_v3/music_player.cpp +++ b/code/ryzom/client/src/interface_v3/music_player.cpp @@ -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 filesToProcess; - string newPath = CPath::standardizePath(ClientCfg.MediaPlayerDirectory); CPath::getPathContent (newPath, true, false, true, filesToProcess); uint i;