Exemplo n.º 1
0
        private static void playlist_OnTracksAdded(object sender, Spotify.PlaylistTracksAddedEventArgs e)
        {
            Spotify.Playlist playlist = (Spotify.Playlist)sender;
            if (!playlist.IsClone(_jukeboxList))
            {
                return;
            }

            TryJukeboxStart();
        }
Exemplo n.º 2
0
        private static void playlist_OnTracksMoved(object sender, Spotify.PlaylistTracksMovedEventArgs e)
        {
            Spotify.Playlist playlist = (Spotify.Playlist)sender;
            if (!playlist.IsClone(_jukeboxList))
            {
                return;
            }

            Console.WriteLine("jukebox: {0} tracks were moved", e.Tracks.Count);
            TryJukeboxStart();
        }
Exemplo n.º 3
0
        private static void playlistContainer_OnPlaylistAdded(object sender, Spotify.PlaylistAddedEventArgs e)
        {
            e.Playlist.TracksAdded   += playlist_OnTracksAdded;
            e.Playlist.TracksRemoved += playlist_OnTracksRemoved;
            e.Playlist.TracksMoved   += playlist_OnTracksMoved;
            e.Playlist.Renamed       += playlist_OnRenamed;

            if (e.Playlist.Name.Equals(_listname))
            {
                _jukeboxList = e.Playlist;
                TryJukeboxStart();
            }
        }
Exemplo n.º 4
0
 private static void playlist_OnRenamed(object sender, EventArgs e)
 {
     Spotify.Playlist playlist = (Spotify.Playlist)sender;
     if (playlist.Name.Equals(_listname))
     {
         _jukeboxList = playlist;
         _trackIndex  = 0;
         TryJukeboxStart();
     }
     else
     {
         Console.WriteLine("jukebox: current playlist renamed to: {0}", playlist.Name);
         _jukeboxList  = null;
         _currentTrack = null;
         _session.PlayerUnload();
     }
 }
Exemplo n.º 5
0
        private static void playlist_OnTracksRemoved(object sender, Spotify.PlaylistTracksRemovedEventArgs e)
        {
            Spotify.Playlist playlist = (Spotify.Playlist)sender;
            if (!playlist.IsClone(_jukeboxList))
            {
                return;
            }

            int k = 0;

            for (int i = 0; i < e.Tracks.Count; ++i)
            {
                if (e.Tracks[i] < _trackIndex)
                {
                    ++k;
                }
            }

            _trackIndex = k;
            TryJukeboxStart();
        }
Exemplo n.º 6
0
        /// <summary>
        /// Names are not unique, so not use I can use this
        /// </summary>
        public Spotify.Playlist GetPlaylistByName(string name)
        {
            iTunesApp app     = new iTunesApp();
            IITSource library = app.Sources.ItemByName["Library"];

            Spotify.Playlist toReturn = null;

            foreach (IITPlaylist item in library.Playlists)
            {
                if (item.Name == name)
                {
                    toReturn = new Spotify.Playlist(name);
                    foreach (IITTrack song in item.Tracks)
                    {
                        toReturn.AddSong(song.Name, song.Artist);
                    }
                }
            }

            return(toReturn);
        }
Exemplo n.º 7
0
        private static void session_OnLoggedIn(object sender, Spotify.LoggedInEventArgs e)
        {
            Spotify.Session session = (Spotify.Session)sender;
            if (e.ErrorCode != Spotify.Error.Ok)
            {
                Console.WriteLine("jukebox: Login failed: {0}", e.Message);
                Environment.Exit(0);
            }

            Spotify.PlaylistContainer playlistContainer = session.CreatePlaylistContainer();
            playlistContainer.PlaylistAdded   += playlistContainer_OnPlaylistAdded;
            playlistContainer.PlaylistRemoved += playlistContainer_OnPlaylistRemoved;
            playlistContainer.Loaded          += playlistContainer_OnLoaded;

            foreach (Spotify.Playlist playlist in playlistContainer.Playlists)
            {
                playlist.TracksAdded   += playlist_OnTracksAdded;
                playlist.TracksRemoved += playlist_OnTracksRemoved;
                playlist.TracksMoved   += playlist_OnTracksMoved;
                playlist.Renamed       += playlist_OnRenamed;

                if (playlist.Name.Equals(_listname))
                {
                    _jukeboxList = playlist;

                    TryJukeboxStart();
                }
                else
                {
                    playlist.Dispose();
                }
            }

            if (_jukeboxList == null)
            {
                Console.WriteLine("jukebox: No such playlist. Waiting for one to pop up...");
            }
        }
Exemplo n.º 8
0
 public static void Print(TextWriter writer, Spotify.Playlist playlist, Spotify.Session session = null)
 {
     // TODO
 }