Skip to content

Commit 5ea53ff

Browse files
committed
Bump version to 1.4.6 and update track info only on title or artist change
1 parent 3bb7721 commit 5ea53ff

File tree

3 files changed

+22
-15
lines changed

3 files changed

+22
-15
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
}
55

66
group 'de.labystudio'
7-
version '1.4.5'
7+
version '1.4.6'
88

99
compileJava {
1010
sourceCompatibility = '1.8'

src/main/java/de/labystudio/spotifyapi/platform/windows/WinSpotifyAPI.java

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -111,19 +111,26 @@ protected void onTick() {
111111

112112
String trackTitle = accessor.getTitle();
113113
String trackArtist = accessor.getArtist();
114-
BufferedImage coverArt = this.toBufferedImage(accessor.getCoverArt());
115-
116-
Track track = new Track(
117-
trackId,
118-
trackTitle,
119-
trackArtist,
120-
accessor.getLength(),
121-
coverArt
122-
);
123-
this.currentTrack = track;
124-
125-
// Fire on track changed
126-
this.listeners.forEach(listener -> listener.onTrackChanged(track));
114+
115+
// Check if title or artist changed (The Windows Media API is slow in updating the track information)
116+
String currentTrackTitle = this.currentTrack == null ? null : this.currentTrack.getName();
117+
String currentTrackArtist = this.currentTrack == null ? null : this.currentTrack.getArtist();
118+
if (!Objects.equals(trackTitle, currentTrackTitle)
119+
|| !Objects.equals(trackArtist, currentTrackArtist)) {
120+
BufferedImage coverArt = this.toBufferedImage(accessor.getCoverArt());
121+
122+
Track track = new Track(
123+
trackId,
124+
trackTitle,
125+
trackArtist,
126+
accessor.getLength(),
127+
coverArt
128+
);
129+
this.currentTrack = track;
130+
131+
// Fire on track changed
132+
this.listeners.forEach(listener -> listener.onTrackChanged(track));
133+
}
127134
}
128135

129136
// Handle is playing changes

src/main/java/de/labystudio/spotifyapi/platform/windows/api/playback/source/MediaControlPlaybackAccessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public void updatePlayback() {
4040
}
4141

4242
int isPlaying = this.mediaControl.isPlaying();
43-
if( isPlaying < 0) {
43+
if (isPlaying < 0) {
4444
throw new IllegalStateException("Failed to retrieve playback state");
4545
}
4646
this.isPlaying = isPlaying == 1; // Convert to boolean (1 = playing, 0 = not playing)

0 commit comments

Comments
 (0)