fix adding songs to empty playlist
This commit is contained in:
@@ -580,16 +580,17 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
case MPD_DATA_TYPE_SONG:
|
case MPD_DATA_TYPE_SONG:
|
||||||
{
|
{
|
||||||
char *file = (char *)vNameList[ci].c_str();
|
string &file = vNameList[ci];
|
||||||
mpd_Song *test = mpd_database_get_fileinfo(conn, file);
|
mpd_Song *test = mpd_database_get_fileinfo(conn, (char *) file.c_str());
|
||||||
if (test)
|
if (test)
|
||||||
{
|
{
|
||||||
mpd_playlist_add(conn, file);
|
mpd_playlist_add(conn, (char *) file.c_str());
|
||||||
Song &s = *vPlaylist.back();
|
Song s = test;
|
||||||
mpd_player_play_id(conn, s.GetID());
|
mpd_player_play_id(conn, s.GetID());
|
||||||
ShowMessage("Added to playlist: " + OmitBBCodes(DisplaySong(s)));
|
ShowMessage("Added to playlist: " + OmitBBCodes(DisplaySong(s)));
|
||||||
mBrowser->Refresh();
|
mBrowser->Refresh();
|
||||||
}
|
}
|
||||||
|
mpd_freeSong(test);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MPD_DATA_TYPE_PLAYLIST:
|
case MPD_DATA_TYPE_PLAYLIST:
|
||||||
@@ -898,16 +899,16 @@ int main(int argc, char *argv[])
|
|||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
int ci = mSearcher->GetRealChoice()-1;
|
int ci = mSearcher->GetRealChoice()-1;
|
||||||
char *file = (char *)vSearched[ci-1].GetFile().c_str();
|
const string &file = vSearched[ci-1].GetFile();
|
||||||
mpd_Song *test = mpd_database_get_fileinfo(conn, file);
|
mpd_Song *test = mpd_database_get_fileinfo(conn, (char *) file.c_str());
|
||||||
if (test)
|
if (test)
|
||||||
{
|
{
|
||||||
mpd_playlist_add(conn, file);
|
mpd_playlist_add(conn, (char *) file.c_str());
|
||||||
Song &s = *vPlaylist.back();
|
Song s = test;
|
||||||
mpd_player_play_id(conn, s.GetID());
|
mpd_player_play_id(conn, s.GetID());
|
||||||
ShowMessage("Added to playlist: " + OmitBBCodes(DisplaySong(s)));
|
ShowMessage("Added to playlist: " + OmitBBCodes(DisplaySong(s)));
|
||||||
mSearcher->Refresh();
|
|
||||||
}
|
}
|
||||||
|
mpd_freeSong(test);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1012,10 +1013,15 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
case MPD_DATA_TYPE_SONG:
|
case MPD_DATA_TYPE_SONG:
|
||||||
{
|
{
|
||||||
mpd_playlist_queue_add(conn, (char *) vNameList[ci].c_str());
|
mpd_Song *test = mpd_database_get_fileinfo(conn, (char *) vNameList[ci].c_str());
|
||||||
Song &s = *vPlaylist.back();
|
if (test)
|
||||||
ShowMessage("Added to playlist: " + OmitBBCodes(DisplaySong(s)));
|
{
|
||||||
mpd_playlist_queue_commit(conn);
|
mpd_playlist_queue_add(conn, (char *) vNameList[ci].c_str());
|
||||||
|
Song s = test;
|
||||||
|
ShowMessage("Added to playlist: " + OmitBBCodes(DisplaySong(s)));
|
||||||
|
mpd_playlist_queue_commit(conn);
|
||||||
|
}
|
||||||
|
mpd_freeSong(test);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MPD_DATA_TYPE_PLAYLIST:
|
case MPD_DATA_TYPE_PLAYLIST:
|
||||||
|
|||||||
Reference in New Issue
Block a user