Example #1
0
        void spotify_SongStarted(ISession sender, EventArgs e)
        {
            playing = true;
            ITrack         track = playQueue.Current;
            IPlaylistTrack pt    = track as IPlaylistTrack;

            if (pt != null)
            {
                int index = playlist.playlist.Tracks.IndexOf(pt);
                if (index != -1)
                {
                    MessageClients(c => c.SongStarted(new Track(track), playlist.Id, index));
                    return;
                }
            }

            MessageClients(c => c.SongStarted(new Track(track), Guid.Empty, 0));
        }
Example #2
0
 private void AddTrack(IPlaylistTrack track, int index)
 {
     AddNewTrack(track, index);
 }
Example #3
0
 public void RemoveTrack(IPlaylistTrack track)
 {
 }
Example #4
0
        private void AddTrack(IPlaylistTrack track, int index)
        {
            IntPtr[] ptrArray = new IntPtr[1];
            IntPtr trackArrayPtr = Marshal.AllocHGlobal(Marshal.SizeOf(ptrArray));
            Marshal.Copy(ptrArray, 0, trackArrayPtr, 1);

            AssertHandle();

            lock (Spotify.Mutex)
            {
                Spotify.sp_playlist_add_tracks(Handle, trackArrayPtr, 1, index, Session.GetHandle());
            }

            Marshal.FreeHGlobal(trackArrayPtr);
        }
 private void ExecuteRemoveItem(IPlaylistTrack track)
 {
     Playlist.RemoveTrack(track);
 }
 private bool CanExecuteRemoveItem(IPlaylistTrack track)
 {
     return track != null && Playlist.Tracks.Contains(track);
 }
 public PlaylistTrack(ITorshifyPlaylist parentPlaylist, IPlaylistTrack track, Dispatcher dispatcher)
     : base(track, dispatcher)
 {
     Playlist = parentPlaylist;
 }
Example #8
0
 private void AddTrack(IPlaylistTrack track, int index)
 {
     AddNewTrack(track, index);
 }
Example #9
0
 private void InsertAt(int index, IPlaylistTrack track)
 {
     if (_dispatcher.CheckAccess())
     {
         lock (_lockObject)
         {
             _tracks.Insert(index, new PlaylistTrack(this, track, _dispatcher));
         }
     }
     else
     {
         _dispatcher.BeginInvoke((Action<int, IPlaylistTrack>)InsertAt, index, track);
     }
 }
Example #10
0
 private void Add(IPlaylistTrack track)
 {
     if (_dispatcher.CheckAccess())
     {
         lock (_lockObject)
         {
             _tracks.Add(new PlaylistTrack(this, track, _dispatcher));
         }
     }
     else
     {
         _dispatcher.BeginInvoke((Action<IPlaylistTrack>)Add, track);
     }
 }