Skip to content

Commit 6646f8d

Browse files
committed
Fixed track change event not firing correctly
1 parent 35b531e commit 6646f8d

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

SpotifyAPI/Local/Models/Track.cs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,7 @@ public class Track
3030
/// Checks if the track is an advert
3131
/// </summary>
3232
/// <returns>true if the track is an advert, false otherwise</returns>
33-
public bool IsAd()
34-
{
35-
if (TrackType == "ad")
36-
return true;
37-
if (Length == 0)
38-
return true;
39-
return false;
40-
}
33+
public bool IsAd() => TrackType == "ad" || Length == 0;
4134

4235
/// <summary>
4336
/// Checks if the track id of type "other"

SpotifyAPI/Local/SpotifyLocalAPI.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public ISynchronizeInvoke SynchronizingObject
5454
private readonly RemoteHandler _rh;
5555
private Timer _eventTimer;
5656
private StatusResponse _eventStatusResponse;
57+
private Track _eventStatusTrack;
5758

5859
public event EventHandler<TrackChangeEventArgs> OnTrackChange;
5960

@@ -105,14 +106,14 @@ private void ElapsedTick(object sender, ElapsedEventArgs e)
105106
_eventTimer.Start();
106107
return;
107108
}
108-
if (newStatusResponse.Track != null && _eventStatusResponse.Track != null)
109+
if (newStatusResponse.Track != null && _eventStatusTrack != null)
109110
{
110-
if (newStatusResponse.Track.TrackResource?.Uri != _eventStatusResponse.Track.TrackResource?.Uri ||
111-
newStatusResponse.Track.IsOtherTrackType() && newStatusResponse.Track.Length != _eventStatusResponse.Track.Length)
111+
if (newStatusResponse.Track.TrackResource?.Uri != _eventStatusTrack.TrackResource?.Uri ||
112+
newStatusResponse.Track.IsOtherTrackType() && newStatusResponse.Track.Length != _eventStatusTrack.Length)
112113
{
113114
OnTrackChange?.Invoke(this, new TrackChangeEventArgs()
114115
{
115-
OldTrack = _eventStatusResponse.Track,
116+
OldTrack = _eventStatusTrack,
116117
NewTrack = newStatusResponse.Track
117118
});
118119
}
@@ -140,6 +141,10 @@ private void ElapsedTick(object sender, ElapsedEventArgs e)
140141
});
141142
}
142143
_eventStatusResponse = newStatusResponse;
144+
if (newStatusResponse.Track != null)
145+
{
146+
_eventStatusTrack = newStatusResponse.Track;
147+
}
143148
_eventTimer.Start();
144149
}
145150

0 commit comments

Comments
 (0)