Data Fields

sp_playlist_callbacks Struct Reference
[Playlist subsystem]

#include <api.h>

Data Fields

void(* tracks_added )(sp_playlist *pl, sp_track *const *tracks, int num_tracks, int position, void *userdata)
void(* tracks_removed )(sp_playlist *pl, const int *tracks, int num_tracks, void *userdata)
void(* tracks_moved )(sp_playlist *pl, const int *tracks, int num_tracks, int new_position, void *userdata)
void(* playlist_renamed )(sp_playlist *pl, void *userdata)
void(* playlist_state_changed )(sp_playlist *pl, void *userdata)
void(* playlist_update_in_progress )(sp_playlist *pl, bool done, void *userdata)
void(* playlist_metadata_updated )(sp_playlist *pl, void *userdata)
void(* track_created_changed )(sp_playlist *pl, int position, sp_user *user, int when, void *userdata)
void(* track_seen_changed )(sp_playlist *pl, int position, bool seen, void *userdata)
void(* description_changed )(sp_playlist *pl, const char *desc, void *userdata)
void(* image_changed )(sp_playlist *pl, const byte *image, void *userdata)
void(* track_message_changed )(sp_playlist *pl, int position, const char *message, void *userdata)
void(* subscribers_changed )(sp_playlist *pl, void *userdata)

Detailed Description

Playlist callbacks

Used to get notifications when playlists are updated. If some callbacks should not be of interest, set them to NULL.

Examples:

browse.c, and jukebox.c.


Field Documentation

void( * sp_playlist_callbacks::description_changed)(sp_playlist *pl, const char *desc, void *userdata)

Called when playlist description has changed

Parameters:
[in] pl Playlist object
[in] desc New description
[in] userdata Userdata passed to sp_playlist_add_callbacks()
void( * sp_playlist_callbacks::image_changed)(sp_playlist *pl, const byte *image, void *userdata)

Called when playlist image has changed

Parameters:
[in] pl Playlist object
[in] image New image
[in] userdata Userdata passed to sp_playlist_add_callbacks()

Called when metadata for one or more tracks in a playlist has been updated.

Parameters:
[in] pl Playlist object
[in] userdata Userdata passed to sp_playlist_add_callbacks()

Called when a playlist has been renamed. sp_playlist_name() can be used to find out the new name

Parameters:
[in] pl Playlist object
[in] userdata Userdata passed to sp_playlist_add_callbacks()

Called when state changed for a playlist.

There are three states that trigger this callback:

  • Collaboration for this playlist has been turned on or off
  • The playlist started having pending changes, or all pending changes have now been committed
  • The playlist started loading, or finished loading
Parameters:
[in] pl Playlist object
[in] userdata Userdata passed to sp_playlist_add_callbacks()
See also:
sp_playlist_is_collaborative
sp_playlist_has_pending_changes
sp_playlist_is_loaded
void( * sp_playlist_callbacks::playlist_update_in_progress)(sp_playlist *pl, bool done, void *userdata)

Called when a playlist is updating or is done updating

This is called before and after a series of changes are applied to the playlist. It allows e.g. the user interface to defer updating until the entire operation is complete.

Parameters:
[in] pl Playlist object
[in] done True iff the update is completed
[in] userdata Userdata passed to sp_playlist_add_callbacks()

Called when playlist subscribers changes (count or list of names)

Parameters:
[in] pl Playlist object
[in] userdata Userdata passed to sp_playlist_add_callbacks()
void( * sp_playlist_callbacks::track_created_changed)(sp_playlist *pl, int position, sp_user *user, int when, void *userdata)

Called when create time and/or creator for a playlist entry changes

Parameters:
[in] pl Playlist object
[in] position Position in playlist
[in] user User object
[in] time When entry was created, seconds since the unix epoch.
[in] userdata Userdata passed to sp_playlist_add_callbacks()
void( * sp_playlist_callbacks::track_message_changed)(sp_playlist *pl, int position, const char *message, void *userdata)

Called when message attribute for a playlist entry changes.

Parameters:
[in] pl Playlist object
[in] position Position in playlist
[in] message UTF-8 encoded message
[in] userdata Userdata passed to sp_playlist_add_callbacks()
void( * sp_playlist_callbacks::track_seen_changed)(sp_playlist *pl, int position, bool seen, void *userdata)

Called when seen attribute for a playlist entry changes.

Parameters:
[in] pl Playlist object
[in] position Position in playlist
[in] seen Set if entry it marked as seen
[in] userdata Userdata passed to sp_playlist_add_callbacks()
void( * sp_playlist_callbacks::tracks_added)(sp_playlist *pl, sp_track *const *tracks, int num_tracks, int position, void *userdata)

Called when one or more tracks have been added to a playlist

Parameters:
[in] pl Playlist object
[in] tracks Array of pointers to track objects
[in] num_tracks Number of entries in tracks
[in] position Position in the playlist for the first track.
[in] userdata Userdata passed to sp_playlist_add_callbacks()
void( * sp_playlist_callbacks::tracks_moved)(sp_playlist *pl, const int *tracks, int num_tracks, int new_position, void *userdata)

Called when one or more tracks have been moved within a playlist

Parameters:
[in] pl Playlist object
[in] tracks Array of positions representing the tracks that were moved
[in] num_tracks Number of entries in tracks
[in] position New position in the playlist for the first track.
[in] userdata Userdata passed to sp_playlist_add_callbacks()
void( * sp_playlist_callbacks::tracks_removed)(sp_playlist *pl, const int *tracks, int num_tracks, void *userdata)

Called when one or more tracks have been removed from a playlist

Parameters:
[in] pl Playlist object
[in] tracks Array of positions representing the tracks that were removed
[in] num_tracks Number of entries in tracks
[in] userdata Userdata passed to sp_playlist_add_callbacks()

The documentation for this struct was generated from the following file:

Generated on Wed Jun 13 2012 14:22:40.
Copyright © 2006–2012 Spotify Ltd