Track CreateTrackFromLink(string aLink) { Link link = Link.CreateFromString(aLink); Track track = link.AsTrack(); track.AddRef(); link.Release(); return(track); }
public int CmdBrowse(string[] args) { if (args.Length != 2) { Console.Error.WriteLine("Usage: browse <spotify-url>"); return(-1); } var link = Link.CreateFromString(args[1]); if (link == null) { Console.Error.WriteLine("Not a spotify link"); return(-1); } switch (link.Type()) { default: Console.Error.WriteLine("Can not handle link"); link.Release(); return(-1); case LinkType.Album: AlbumBrowse.Create(iSession, link.AsAlbum(), BrowseAlbumCallback, null); break; case LinkType.Artist: ArtistBrowse.Create(iSession, link.AsArtist(), ArtistBrowseType.Full, BrowseArtistCallback, null); break; case LinkType.Localtrack: case LinkType.Track: iTrackBrowse = link.AsTrack(); iMetadataWaiter.AddMetadataUpdatedCallback(TrackBrowseTry); iTrackBrowse.AddRef(); TrackBrowseTry(); break; case LinkType.Playlist: BrowsePlaylist(Playlist.Create(iSession, link)); break; } link.Release(); return(0); }
IEnumerable <Track> CreateTracksFromLinks(IEnumerable <string> aLinks) { foreach (string linkString in aLinks) { Link link = Link.CreateFromString(linkString); if (link == null) { Console.WriteLine("{0} is not a spotify link, skipping", linkString); continue; } Track track = link.AsTrack(); if (track == null) { Console.WriteLine("{0} is not a track link, skipping", linkString); link.Release(); continue; } track.AddRef(); link.Release(); yield return(track); } }
public int CmdBrowse(string[] args) { if (args.Length != 2) { Console.Error.WriteLine("Usage: browse <spotify-url>"); return -1; } var link = Link.CreateFromString(args[1]); if (link == null) { Console.Error.WriteLine("Not a spotify link"); return -1; } switch (link.Type()) { default: Console.Error.WriteLine("Can not handle link"); link.Release(); return -1; case LinkType.Album: AlbumBrowse.Create(iSession, link.AsAlbum(), BrowseAlbumCallback, null); break; case LinkType.Artist: ArtistBrowse.Create(iSession, link.AsArtist(), ArtistBrowseType.Full, BrowseArtistCallback, null); break; case LinkType.Localtrack: case LinkType.Track: iTrackBrowse = link.AsTrack(); iMetadataWaiter.AddMetadataUpdatedCallback(TrackBrowseTry); iTrackBrowse.AddRef(); TrackBrowseTry(); break; case LinkType.Playlist: BrowsePlaylist(Playlist.Create(iSession, link)); break; } link.Release(); return 0; }