예제 #1
0
/**
 * Print the given track title together with some trivial metadata
 *
 * @param  track   The track object
 */
void print_track(sp_track *track)
{
	int duration = sp_track_duration(track);
	char url[256];
	sp_link *l;

#if WIN32
	printf(" %s ", sp_track_is_starred(track) ? "*" : " ");
#else
	printf(" %s ", sp_track_is_starred(track) ? "★" : "☆");
#endif
	printf("Track %s [%d:%02d] has %d artist(s), %d%% popularity",
	       sp_track_name(track),
	       duration / 60000,
	       (duration / 1000) / 60,
	       sp_track_num_artists(track),
	       sp_track_popularity(track));
	
	if(sp_track_disc(track)) 
		printf(", %d on disc %d",
		       sp_track_index(track),
		       sp_track_disc(track));
	printf("\n");

	l = sp_link_create_from_track(track, 0);
	sp_link_as_string(l, url, sizeof(url));
	printf("\t\t%s\n", url);
	sp_link_release(l);
}
예제 #2
0
// Loads a track and assumes that the metadata is available
static void load_and_play_track(sp_session *session, sp_track *track) {
	sp_session_player_load(session, track);
	if (s_play_after_loaded)
		play_track(session, track);
	(sp_track_is_starred(session, track)) ? on_starred() : on_unstarred();
	call_static_void_method("onPrepared");
}
예제 #3
0
int cmd_playlist(int argc, char **argv)
{
	int index, i;
	sp_track *track;
	sp_playlist *playlist;
	sp_playlistcontainer *pc = sp_session_playlistcontainer(g_session);

	if (argc < 1) {
		printf("playlist [playlist index]\n");
		return 0;
	}

	index = atoi(argv[1]);
	if (index < 0 || index > sp_playlistcontainer_num_playlists(pc)) {
		printf("invalid index\n");
		return 0;
	}
	playlist = sp_playlistcontainer_playlist(pc, index);
	printf("Playlist %s by %s%s%s\n",
		   sp_playlist_name(playlist),
		   sp_user_display_name(sp_playlist_owner(playlist)),
		   sp_playlist_is_collaborative(playlist) ? " (collaborative)" : "",
		   sp_playlist_has_pending_changes(playlist) ? " with pending changes" : ""
		   );
	for (i = 0; i < sp_playlist_num_tracks(playlist); ++i) {
		track = sp_playlist_track(playlist, i);
		printf("%d. %c %s%s %s\n", i,
			   sp_track_is_starred(g_session, track) ? '*' : ' ',
			   sp_track_is_local(g_session, track) ? "local" : "     ",
			   sp_track_is_autolinked(g_session, track) ? "autolinked" : "          ",
			   sp_track_name(track));
	}
	return 1;
}
예제 #4
0
파일: spotify.c 프로젝트: theodoor/spop
gboolean track_set_starred(sp_track* track){
    if(sp_track_is_starred(g_session, track)){
        return (sp_track_set_starred(g_session, &track, 1, FALSE) == SP_ERROR_OK);
    }
    else{
        return (sp_track_set_starred(g_session, &track, 1, TRUE) == SP_ERROR_OK);
    }
}
예제 #5
0
파일: track.c 프로젝트: adamcik/pyspotify
static PyObject *
Track_starred(Track * self, PyObject *args, PyObject *kwds)
{
    int set;
    PyObject *bset = NULL;
    Session *session;
    static char *kwlist[] = { "session", "set", NULL };

    if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|O!", kwlist,
                                     &SessionType, &session, &PyBool_Type,
                                     &bset))
        return NULL;
    if (bset) {
        set = (bset == Py_True);
        sp_track_set_starred(session->_session,
                             (sp_track * const*)&(self->_track), 1, set);
    }
    return (PyObject *)PyBool_FromLong((long)
                                       sp_track_is_starred(session->_session,
                                                           self->_track));
}
예제 #6
0
파일: spotify.c 프로젝트: theodoor/spop
gboolean is_track_starred(sp_track* track){
    return (sp_track_is_starred(g_session, track));
}
예제 #7
0
파일: tasks.cpp 프로젝트: GuacoIV/VisEQ
// Loads a track and assumes that the metadata is available
static void load_and_play_track(sp_session *session, sp_track *track) {
	sp_session_player_load(session, track);
	if (s_play_after_loaded)
		play_track(session, track);
	(sp_track_is_starred(session, track)) ? on_starred() : on_unstarred();
}
예제 #8
0
파일: tasks.cpp 프로젝트: GuacoIV/VisEQ
bool isStarred(list<int> int_params, list<string> string_params, sp_session *session, sp_track *track)
{
	return sp_track_is_starred(session, track);
}