// Start playback. void sess_play(sp_track *t) { if (g_session.state != SESS_ONLINE) { log_append("Not connected"); return; } if (!t || !sp_track_is_available(t) || !sp_track_is_loaded(t)) { log_append("Track not available"); return; } sess_stop(); g_session.current_track = t; log_append("Playing \"%s\"...", sp_track_name(t)); sp_error err = sp_session_player_load(g_session.spotify, t); if (err != SP_ERROR_OK) panic("sp_session_player_load() failed: %s", sp_error_message(err)); err = sp_session_player_play(g_session.spotify, true); if (err != SP_ERROR_OK) panic("sp_session_player_play() failed: %s", sp_error_message(err)); g_session.playing = true; // Redraw track info and progress. ui_dirty(UI_TRACKINFO); ui_dirty(UI_TRACKPROGRESS); ui_update_post(0); }
static void sess_stop_cb(evutil_socket_t sock, short event, void *arg) { (void)sock; (void)event; (void)arg; sess_stop(); }
void sess_disconnect() { if (thread) thread_exit(); if (g_session.state == SESS_ONLINE) { sess_stop(); despotify_exit(g_session.dsfy); log_append("Disconnected"); // Return to splash screen. ui_show(UI_SET_SPLASH); } g_session.state = SESS_OFFLINE; // Redraw status info. ui_dirty(UI_FOOTER); }
void sess_disconnect() { if (g_session.state == SESS_ONLINE) { sess_stop(); sp_error err = sp_session_logout(g_session.spotify); if (err != SP_ERROR_OK) panic("sp_session_logout() failed: %s", sp_error_message(err)); log_append("Disconnecting..."); g_session.state = SESS_DISCONNECTING; // Return to splash screen. ui_show(UI_SET_SPLASH); } // Redraw status info. ui_dirty(UI_FOOTER); ui_update_post(0); }
void cmd_cb_stop() { sess_stop(); }