static void seek_command(gpointer user_data, const char *param) { int i = 0, j = 0; gchar **fields; if (!param) return; if (!mpd_check_connected(connection)) return; printf("seek: '%s'\n", param); fields = g_strsplit(param, ":", -1); /* Calculate time */ for (j = 0; fields && fields[j]; j++) { i = atoi(fields[j]) + i * 60; } if (param[0] == '+' || param[0] == '-') { /* seek relative */ mpd_player_seek(connection, mpd_status_get_elapsed_song_time(connection) + i); } else { /* seek absolute */ mpd_player_seek(connection, i); } g_strfreev(fields); }
bool gimmix_seek (MpdObj *mo, int seektime) { int state; state = gimmix_get_status (mo); if(state == PLAY || state == PAUSE) { mpd_player_seek(mo, seektime); return true; } return false; }
bool gimmix_seek (MpdObj *mo, int seektime) { int state; bool ret; state = gimmix_get_status (mo); if (state == PLAY || state == PAUSE) { int i; i = mpd_player_seek (mo, seektime); if (i == MPD_OK) ret = true; else ret = false; } else ret = false; return ret; }