void TopLists::reLoadTracks() { if (m_waitingForTracks) return; m_waitingForTracks = true; sp_toplistregion region = Settings::getInstance()->toplistRegionEverywhere() ? SP_TOPLIST_REGION_EVERYWHERE : (sp_toplistregion) sp_session_user_country( Session::getInstance()->getSpSession()); sp_toplistbrowse_create(Session::getInstance()->getSpSession(), SP_TOPLIST_TYPE_TRACKS, region, Settings::getInstance()->getUserName(), &cb_toplistTracksComplete, this); }
int cmd_toplist(int argc, char **argv) { sp_toplisttype type; sp_toplistregion region; if(argc < 3) { toplist_usage(); return -1; } if(!strcasecmp(argv[1], "artists")) type = SP_TOPLIST_TYPE_ARTISTS; else if(!strcasecmp(argv[1], "albums")) type = SP_TOPLIST_TYPE_ALBUMS; else if(!strcasecmp(argv[1], "tracks")) type = SP_TOPLIST_TYPE_TRACKS; else { toplist_usage(); return -1; } if(!strcasecmp(argv[2], "global")) region = SP_TOPLIST_REGION_EVERYWHERE; else if(!strcasecmp(argv[2], "user")) region = SP_TOPLIST_REGION_USER; else if(!strcasecmp(argv[2], "region")) { if(argc != 4 || strlen(argv[3]) != 2) { toplist_usage(); return -1; } region = SP_TOPLIST_REGION(argv[3][0], argv[3][1]); } else { toplist_usage(); return -1; } sp_toplistbrowse_create(g_session, type, region, NULL, got_toplist, NULL); return 0; }
sp_toplistbrowse* toplistbrowse_create(sp_toplisttype type, sp_toplistregion region, const gchar* username, toplistbrowse_complete_cb* callback, gpointer userdata) { return sp_toplistbrowse_create(g_session, type, region, username, callback, userdata); }
int cmd_toplist(int argc, char **argv) { sp_toplisttype type; sp_toplistregion region; char username[252]; if(argc == 2) { if(!strcasecmp(argv[1], "charts")) toplist_charts(); return -1; } if(argc < 3) { toplist_usage(); return -1; } if(!strcasecmp(argv[1], "artists")) type = SP_TOPLIST_TYPE_ARTISTS; else if(!strcasecmp(argv[1], "albums")) type = SP_TOPLIST_TYPE_ALBUMS; else if(!strcasecmp(argv[1], "tracks")) type = SP_TOPLIST_TYPE_TRACKS; else { toplist_usage(); return -1; } if(!strcasecmp(argv[2], "global")) region = SP_TOPLIST_REGION_EVERYWHERE; else if(!strcasecmp(argv[2], "user")){ region = SP_TOPLIST_REGION_USER; if(argc != 4 || strlen(argv[3]) < 0) { toplist_usage(); return -1; } strcpy(username, argv[3]); }else if(!strcasecmp(argv[2], "region")) { if(argc != 4 || strlen(argv[3]) != 2) { toplist_usage(); return -1; } int i; for (i = 0; argv[3][i]; i++) argv[3][i] = toupper(argv[3][i]); region = SP_TOPLIST_REGION(argv[3][0], argv[3][1]); } else { toplist_usage(); return -1; } #ifdef USE_MYSQL _mysql_updateStats(g_conn, "toplist"); #endif sp_toplistbrowse_create(g_session, type, region, username, got_toplist, NULL); return 0; }