Fixed: Display title and artist name from ogg files in music player

--HG--
branch : develop
This commit is contained in:
kervala 2015-11-15 13:13:44 +01:00
parent f9c789e4db
commit 334f2b43c6
2 changed files with 22 additions and 13 deletions

View file

@ -2690,8 +2690,13 @@ bool CAudioMixerUser::getSongTitle(const std::string &filename, std::string &res
{ {
std::string artist; std::string artist;
std::string title; std::string title;
if (_SoundDriver->getMusicInfo(filename, artist, title))
if (!_SoundDriver->getMusicInfo(filename, artist, title))
{ {
// use 3rd party libraries supported formats
IAudioDecoder::getInfo(filename, artist, title);
}
if (!title.empty()) if (!title.empty())
{ {
if (!artist.empty()) result = artist + " - " + title; if (!artist.empty()) result = artist + " - " + title;
@ -2701,10 +2706,14 @@ bool CAudioMixerUser::getSongTitle(const std::string &filename, std::string &res
{ {
result = artist + " - " + CFile::getFilename(filename); result = artist + " - " + CFile::getFilename(filename);
} }
else result = CFile::getFilename(filename); else
{
result = CFile::getFilename(filename);
}
return true; return true;
} }
}
result = "???"; result = "???";
return false; return false;
} }

View file

@ -83,7 +83,7 @@ void CMusicPlayer::play ()
CInterfaceManager *pIM = CInterfaceManager::getInstance(); CInterfaceManager *pIM = CInterfaceManager::getInstance();
CViewText *pVT = dynamic_cast<CViewText*>(CWidgetManager::getInstance()->getElementFromId("ui:interface:mp3_player:screen:text")); CViewText *pVT = dynamic_cast<CViewText*>(CWidgetManager::getInstance()->getElementFromId("ui:interface:mp3_player:screen:text"));
if (pVT) if (pVT)
pVT->setText (_Songs[_CurrentSong].Title); pVT->setText (ucstring::makeFromUtf8(_Songs[_CurrentSong].Title));
} }
} }