void http_delete_playlist() { controller_stop(); songdata_clear ( playlist ); gui_update_playlist(); gui_update_info(); update_panels (); }
void gui_input_playlist(int c) { int j; switch (c) { case '-': // Move selected forward in playlist if (playlist->selected != playlist->head) { controller_playlist_move_up(); gui_update_playlist(); } break; case '+': case '=': // Move selected backwards in playlist if (playlist->selected != playlist->tail) { controller_playlist_move_down(); gui_update_playlist(); } break; case KEY_ENTER: case '\n': case '\r': if (playlist->playing) { playlist->selected = songdata_next_valid(playlist, playlist->head, KEY_HOME); playlist->where = 1; playlist->wheretop = 0; for (j = 0; playlist->selected->next && playlist->selected != playlist->playing; j++) { playlist->selected = songdata_next_valid(playlist, playlist->selected->next, KEY_DOWN); playlist->where++; } gui_update_playlist(); } break; case KEY_DC: // remove selected from playlist if (playlist->selected) { if (playlist->playing == playlist->selected && playlist->playing->next != NULL) { controller_next(playlist); } else if (playlist->playing == playlist->selected && playlist->playing->next == NULL) { controller_stop(); } songdata_del(playlist, playlist->selected); gui_update_playlist(); gui_update_info(); } break; default: window_input(playlist_window, c); break; } }
void controller_clear_playlist() { if (gui_ask_yes_no(CLEARPLAYLIST)) { controller_stop(); songdata_clear ( playlist ); gui_update_playlist(); gui_update_info(); update_panels (); } }
static void primwatch_terminate( int fd, short event, void *args) { primwatch_t *primwatch = args; if (controller_stop(primwatch->controller)) { LOG(LOG_LV_WARNING, "failed in stop controller"); } if (watcher_polling_stop(primwatch->watcher)) { LOG(LOG_LV_WARNING, "failed in stop polling"); } signal_del(&primwatch->sig_chld_event); signal_del(&primwatch->sig_int_event); signal_del(&primwatch->sig_term_event); signal_del(&primwatch->sig_hup_event); }
char * http_post_status(json_value *data) { char * str = http_json_extract(data, "status"); if(!strcmp(str, "next")) controller_next(); if(!strcmp(str, "previous")) controller_prev(); if(!strcmp(str, "stopped")) controller_stop(); if(!strcmp(str, "playing")) if(!playlist->playing || !engine_is_playing()) controller_play_pause(); if(!strcmp(str, "paused")) if(playlist->playing && engine_is_playing()) controller_play_pause(); return strdup(""); }