char * http_get_status() { if(!playlist->playing) return strdup("{\"status\":\"stopped\"}"); if(engine_is_playing()) return strdup("{\"status\":\"playing\"}"); return strdup("{\"status\":\"paused\"}"); }
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(""); }
void controller_play_pause(void) { if(engine_is_paused()){ playlist->playing->flags &= ~F_PAUSED; engine_resume_playback(); }else if(engine_is_playing()){ playlist->playing->flags |= F_PAUSED; engine_pause_playback(); }else{ if ( !playlist->selected ){ playlist->selected = songdata_next_valid ( playlist, playlist->top, KEY_DOWN ); } controller_jump_to_song ( playlist->selected ); // Play } /* GUI stuff */ gui_update_playlist(); gui_update_info(); gui_update_playback(); }