actions: add: be smarter about adding the item

master
Andrzej Rybczak 11 years ago
parent 081ad033d4
commit 2082a4a9a3
  1. 18
      src/actions.cpp

@ -953,16 +953,18 @@ void Add::run()
Mpd.AddToPlaylist(myPlaylistEditor->Playlists.current()->value().path(), path); Mpd.AddToPlaylist(myPlaylistEditor->Playlists.current()->value().path(), path);
else else
{ {
const char lastfm_url[] = "lastfm://"; try
if (path.compare(0, const_strlen(lastfm_url), lastfm_url) == 0 {
|| path.find(".asx", path.length()-4) != std::string::npos Mpd.Add(path);
|| path.find(".cue", path.length()-4) != std::string::npos }
|| path.find(".m3u", path.length()-4) != std::string::npos catch (MPD::ServerError &err)
|| path.find(".pls", path.length()-4) != std::string::npos {
|| path.find(".xspf", path.length()-5) != std::string::npos) // If a path is not a file or directory, assume it is a playlist.
if (err.code() == MPD_SERVER_ERROR_NO_EXIST)
Mpd.LoadPlaylist(path); Mpd.LoadPlaylist(path);
else else
Mpd.Add(path); throw;
}
} }
} }

Loading…
Cancel
Save