X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fplayer_command.c;h=1a06bfabcb1b9b1bf465f883b9a02fd927bffba4;hb=2b171daac0ab6ac161514aeaa521fdd51e3f09c6;hp=505d2fc596d47709089fbb4bef3cbda925a3a1d5;hpb=3ddf03bfb50925702fb5b7782584462ef37bdefa;p=ncmpc.git diff --git a/src/player_command.c b/src/player_command.c index 505d2fc..1a06bfa 100644 --- a/src/player_command.c +++ b/src/player_command.c @@ -1,17 +1,17 @@ /* ncmpc (Ncurses MPD Client) - * (c) 2004-2009 The Music Player Daemon Project + * (c) 2004-2017 The Music Player Daemon Project * Project homepage: http://musicpd.org - + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. @@ -22,7 +22,7 @@ #include "options.h" #include "i18n.h" #include "screen_client.h" -#include "screen_message.h" +#include "screen_status.h" int seek_id = -1; int seek_target_time; @@ -32,12 +32,10 @@ static guint seek_source_id; static void commit_seek(struct mpdclient *c) { - struct mpd_connection *connection; - if (seek_id < 0) return; - connection = mpdclient_get_connection(c); + struct mpd_connection *connection = mpdclient_get_connection(c); if (connection == NULL) { seek_id = -1; return; @@ -61,7 +59,6 @@ seek_timer(gpointer data) seek_source_id = 0; commit_seek(c); - mpdclient_put_connection(c); return false; } @@ -85,14 +82,11 @@ cancel_seek_timer(void) static bool setup_seek(struct mpdclient *c) { - const struct mpd_song *song; - - song = mpdclient_get_current_song(c); - if (song == NULL) + if (!mpdclient_is_playing(c)) return false; - if (seek_id != (int)mpd_song_get_id(song)) { - seek_id = mpd_song_get_id(song); + if (seek_id != (int)mpd_status_get_song_id(c->status)) { + seek_id = mpd_status_get_song_id(c->status); seek_target_time = mpd_status_get_elapsed_time(c->status); } @@ -104,14 +98,14 @@ setup_seek(struct mpdclient *c) bool handle_player_command(struct mpdclient *c, command_t cmd) { - struct mpd_connection *connection; - if (!mpdclient_is_connected(c) || c->status == NULL) return false; cancel_seek_timer(); switch(cmd) { + struct mpd_connection *connection; + /* case CMD_PLAY: mpdclient_cmd_play(c, MPD_PLAY_AT_BEGINNING); @@ -177,7 +171,7 @@ handle_player_command(struct mpdclient *c, command_t cmd) break; if (mpd_run_shuffle(connection)) - screen_status_message(_("Shuffled playlist")); + screen_status_message(_("Shuffled queue")); else mpdclient_handle_error(c); break; @@ -187,7 +181,7 @@ handle_player_command(struct mpdclient *c, command_t cmd) break; if (mpdclient_cmd_clear(c)) - screen_status_message(_("Cleared playlist")); + screen_status_message(_("Cleared queue")); break; case CMD_REPEAT: connection = mpdclient_get_connection(c);