Exemple #1
0
        Track CreateTrackFromLink(string aLink)
        {
            Link  link  = Link.CreateFromString(aLink);
            Track track = link.AsTrack();

            track.AddRef();
            link.Release();
            return(track);
        }
Exemple #2
0
        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);
     }
 }
Exemple #4
0
 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;
 }