diff --git a/app/api/stream.py b/app/api/stream.py index 922b3635..5cec8a84 100644 --- a/app/api/stream.py +++ b/app/api/stream.py @@ -48,7 +48,7 @@ class SendTrackFileQuery(BaseModel): ) ) container: Literal["mp3", "aac", "flac", "webm", "ogg"] = Field( - "flac", + "mp3", description="The container format of the audio file. Options: mp3, aac, flac, webm, ogg", ) diff --git a/app/lib/mapstuff.py b/app/lib/mapstuff.py index 7f356fe0..81a3d5f3 100644 --- a/app/lib/mapstuff.py +++ b/app/lib/mapstuff.py @@ -33,16 +33,16 @@ def map_scrobble_data(): if track is None: continue - track.increment_playcount(data["playduration"], data["lastplayed"]) + track.increment_playcount(data["playduration"], data["lastplayed"], data["playcount"]) album = AlbumStore.albummap.get(track.tracks[0].albumhash) if album: - album.increment_playcount(data["playduration"], data["lastplayed"]) + album.increment_playcount(data["playduration"], data["lastplayed"], data["playcount"]) for artisthash in track.tracks[0].artisthashes: artist = ArtistStore.artistmap.get(artisthash) if artist: - artist.increment_playcount(data["playduration"], data["lastplayed"]) + artist.increment_playcount(data["playduration"], data["lastplayed"], data["playcount"]) def map_favorites(): diff --git a/app/store/albums.py b/app/store/albums.py index 36c60921..ee4572ac 100644 --- a/app/store/albums.py +++ b/app/store/albums.py @@ -28,10 +28,10 @@ class AlbumMapEntry: def basetitle(self): return self.album.base_title - def increment_playcount(self, duration: int, timestamp: int): + def increment_playcount(self, duration: int, timestamp: int, playcount: int = 1): self.album.lastplayed = timestamp self.album.playduration += duration - self.album.playcount += 1 + self.album.playcount += playcount def toggle_favorite_user(self, userid: int | None = None): if userid is None: diff --git a/app/store/artists.py b/app/store/artists.py index 079be398..f6b27d41 100644 --- a/app/store/artists.py +++ b/app/store/artists.py @@ -18,10 +18,10 @@ class ArtistMapEntry: self.albumhashes: set[str] = albumhashes self.trackhashes: set[str] = trackhashes - def increment_playcount(self, duration: int, timestamp: int): + def increment_playcount(self, duration: int, timestamp: int, playcount: int = 1): self.artist.lastplayed = timestamp self.artist.playduration += duration - self.artist.playcount += 1 + self.artist.playcount += playcount def toggle_favorite_user(self, userid: int | None = None): if userid is None: diff --git a/app/store/tracks.py b/app/store/tracks.py index 86f8c1b0..cc82efc8 100644 --- a/app/store/tracks.py +++ b/app/store/tracks.py @@ -31,12 +31,12 @@ class TrackGroup: """ self.tracks.remove(track) - def increment_playcount(self, duration: int, timestamp: int): + def increment_playcount(self, duration: int, timestamp: int, playcount: int = 1): """ Increments the playcount of all tracks in the group. """ for track in self.tracks: - track.playcount += 1 + track.playcount += playcount track.lastplayed = timestamp track.playduration += duration