本文整理匯總了Golang中github.com/fabiofalci/sconsify/sconsify.Playlist類的典型用法代碼示例。如果您正苦於以下問題:Golang Playlist類的具體用法?Golang Playlist怎麽用?Golang Playlist使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了Playlist類的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: loadNewReleases
func (spotify *Spotify) loadNewReleases(playlist *sconsify.Playlist, webApiCache *WebApiCache) {
if spotify.client != nil {
if _, simplePlaylistPage, err := spotify.client.FeaturedPlaylistsOpt(&webspotify.PlaylistOptions{Options: *createWebSpotifyOptions(50, playlist.Playlists())}); err == nil {
webApiCache.NewReleases = make([]webspotify.FullPlaylist, len(simplePlaylistPage.Playlists))
for i, webPlaylist := range simplePlaylistPage.Playlists {
if fullPlaylist, err := spotify.client.GetPlaylist(webPlaylist.Owner.ID, webPlaylist.ID); err == nil {
webApiCache.NewReleases[i] = *fullPlaylist
}
}
}
}
if webApiCache.NewReleases != nil {
for _, fullPlaylist := range webApiCache.NewReleases {
tracks := make([]*sconsify.Track, len(fullPlaylist.Tracks.Tracks))
for i, track := range fullPlaylist.Tracks.Tracks {
webArtist := track.Track.Artists[0]
artist := sconsify.InitArtist(string(webArtist.URI), webArtist.Name)
tracks[i] = sconsify.InitWebApiTrack(string(track.Track.URI), artist, track.Track.Name, track.Track.TimeDuration().String())
}
playlist.AddPlaylist(sconsify.InitSubPlaylist(string(fullPlaylist.URI), fullPlaylist.Name, tracks))
}
playlist.OpenFolder()
}
}
示例2: ArtistTopTracks
func (cui *ConsoleUserInterface) ArtistTopTracks(playlist *sconsify.Playlist) {
gui.infoTopTracksView.Clear()
fmt.Fprintf(gui.infoTopTracksView, "Top Tracks\n")
for i := 0; i < playlist.Tracks(); i++ {
track := playlist.Track(i)
fmt.Fprintf(gui.infoTopTracksView, "%v. %v\n", (i + 1), track.Name)
}
}
示例3: loadSongs
func (spotify *Spotify) loadSongs(playlist *sconsify.Playlist) {
savedTrackPage, err := spotify.client.CurrentUsersTracksOpt(createWebSpotifyOptions(50, playlist.Tracks()))
if err != nil {
return
}
for _, track := range savedTrackPage.Tracks {
webArtist := track.Artists[0]
artist := sconsify.InitArtist(string(webArtist.URI), webArtist.Name)
playlist.AddTrack(sconsify.InitWebApiTrack(string(track.URI), artist, track.Name, track.TimeDuration().String()))
}
}
示例4: loadArtists
func (spotify *Spotify) loadArtists(playlist *sconsify.Playlist) {
fullArtistCursorPage, err := spotify.client.CurrentUsersFollowedArtists()
if err != nil {
return
}
for _, fullArtist := range fullArtistCursorPage.Artists {
tracks := make([]*sconsify.Track, 0)
playlist.AddPlaylist(sconsify.InitSubPlaylist(string(fullArtist.ID), fullArtist.Name, tracks))
playlist.OpenFolder()
}
}
示例5: loadAlbums
func (spotify *Spotify) loadAlbums(playlist *sconsify.Playlist) {
savedAlbumPage, err := spotify.client.CurrentUsersAlbumsOpt(createWebSpotifyOptions(50, playlist.Playlists()))
if err != nil {
return
}
for _, album := range savedAlbumPage.Albums {
tracks := make([]*sconsify.Track, len(album.Tracks.Tracks))
for i, track := range album.Tracks.Tracks {
webArtist := track.Artists[0]
artist := sconsify.InitArtist(string(webArtist.URI), webArtist.Name)
tracks[i] = sconsify.InitWebApiTrack(string(track.URI), artist, track.Name, track.TimeDuration().String())
}
playlist.AddPlaylist(sconsify.InitSubPlaylist(string(album.ID), album.Name, tracks))
}
playlist.OpenFolder()
}
示例6: loadNewReleases
func (spotify *Spotify) loadNewReleases(playlist *sconsify.Playlist) {
_, simplePlaylistPage, err := spotify.client.FeaturedPlaylistsOpt(&webspotify.PlaylistOptions{Options: *createWebSpotifyOptions(50, playlist.Playlists())})
if err != nil {
return
}
for _, album := range simplePlaylistPage.Playlists {
fullPlaylist, err := spotify.client.GetPlaylist(album.Owner.ID, album.ID)
if err == nil {
tracks := make([]*sconsify.Track, len(fullPlaylist.Tracks.Tracks))
for i, track := range fullPlaylist.Tracks.Tracks {
webArtist := track.Track.Artists[0]
artist := sconsify.InitArtist(string(webArtist.URI), webArtist.Name)
tracks[i] = sconsify.InitWebApiTrack(string(track.Track.URI), artist, track.Track.Name, track.Track.TimeDuration().String())
}
playlist.AddPlaylist(sconsify.InitSubPlaylist(string(album.ID), album.Name, tracks))
}
playlist.OpenFolder()
}
}
示例7: loadAlbums
func (spotify *Spotify) loadAlbums(playlist *sconsify.Playlist, webApiCache *WebApiCache) {
if spotify.client != nil {
if savedAlbumPage, err := spotify.client.CurrentUsersAlbumsOpt(createWebSpotifyOptions(50, playlist.Playlists())); err == nil {
webApiCache.Albums = savedAlbumPage.Albums
}
}
if webApiCache.Albums != nil {
for _, album := range webApiCache.Albums {
tracks := make([]*sconsify.Track, len(album.Tracks.Tracks))
for j, track := range album.Tracks.Tracks {
webArtist := track.Artists[0]
artist := sconsify.InitArtist(string(webArtist.URI), webArtist.Name)
tracks[j] = sconsify.InitWebApiTrack(string(track.URI), artist, track.Name, track.TimeDuration().String())
}
playlist.AddPlaylist(sconsify.InitSubPlaylist(string(album.URI), album.Name, tracks))
}
playlist.OpenFolder()
}
}
示例8: loadSongs
func (spotify *Spotify) loadSongs(playlist *sconsify.Playlist, webApiCache *WebApiCache) {
var partialSongs []webspotify.SavedTrack
if spotify.client != nil {
if savedTrackPage, err := spotify.client.CurrentUsersTracksOpt(createWebSpotifyOptions(50, playlist.Tracks())); err == nil {
partialSongs = savedTrackPage.Tracks
if webApiCache.Songs == nil {
webApiCache.Songs = make([]webspotify.SavedTrack, 0)
}
webApiCache.Songs = append(webApiCache.Songs, partialSongs...)
}
}
if webApiCache.Songs != nil {
if partialSongs == nil {
partialSongs = webApiCache.Songs
}
for i, track := range partialSongs {
webApiCache.Songs[i] = track
webArtist := track.Artists[0]
artist := sconsify.InitArtist(string(webArtist.URI), webArtist.Name)
playlist.AddTrack(sconsify.InitWebApiTrack(string(track.URI), artist, track.Name, track.TimeDuration().String()))
}
}
}
示例9: getPlaylistName
func getPlaylistName(playlist *sconsify.Playlist) string {
if playlist != nil {
return playlist.Name()
}
return ""
}