Esempio n. 1
0
void http_delete_playlist()
{
    controller_stop();
    songdata_clear ( playlist );
    gui_update_playlist();
    gui_update_info();
    update_panels ();
}
Esempio n. 2
0
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;
    }
}
Esempio n. 3
0
void controller_clear_playlist()
{
  if (gui_ask_yes_no(CLEARPLAYLIST))
  {
    controller_stop();

    songdata_clear ( playlist );

    gui_update_playlist();
    
    gui_update_info();
    
    update_panels ();
  }
}
Esempio n. 4
0
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);
}
Esempio n. 5
0
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("");
}