aboutsummaryrefslogtreecommitdiff
path: root/src/services
diff options
context:
space:
mode:
authorThongrapee Panyapatiphan <[email protected]>2021-12-18 14:53:00 +0700
committerThongrapee Panyapatiphan <[email protected]>2021-12-18 14:53:00 +0700
commit5ce3f92023d56b16c8b15e584084fe90e7ab9b55 (patch)
tree82a604cb5b64ccf55842b544d99e67d0b59ebbac /src/services
parentd8086be5cf1ab7152a6dc27ada78b3d186d85220 (diff)
downloadmuse-5ce3f92023d56b16c8b15e584084fe90e7ab9b55.tar.xz
muse-5ce3f92023d56b16c8b15e584084fe90e7ab9b55.zip
Revert incorrect changes
Diffstat (limited to 'src/services')
-rw-r--r--src/services/get-songs.ts16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/services/get-songs.ts b/src/services/get-songs.ts
index 38a2b61..ebf779a 100644
--- a/src/services/get-songs.ts
+++ b/src/services/get-songs.ts
@@ -97,7 +97,7 @@ export default class {
}
}
- async youtubePlaylist(listId: string, limit: number): Promise<QueuedSongWithoutChannel[]> {
+ async youtubePlaylist(listId: string): Promise<QueuedSongWithoutChannel[]> {
// YouTube playlist
const playlist = await this.cache.wrap(
this.youtube.playlists.get,
@@ -126,7 +126,7 @@ export default class {
const {items, nextPageToken} = await this.cache.wrap(
this.youtube.playlists.items,
listId,
- {maxResults: limit, pageToken: nextToken},
+ {maxResults: '50', pageToken: nextToken},
{
expiresIn: ONE_MINUTE_IN_SECONDS,
},
@@ -188,7 +188,7 @@ export default class {
return songsToReturn;
}
- async spotifySource(url: string, limit: number): Promise<[QueuedSongWithoutChannel[], number, number]> {
+ async spotifySource(url: string, playlistLimit: number): Promise<[QueuedSongWithoutChannel[], number, number]> {
const parsed = spotifyURI.parse(url);
let tracks: SpotifyApi.TrackObjectSimplified[] = [];
@@ -199,7 +199,7 @@ export default class {
case 'album': {
const uri = parsed as spotifyURI.Album;
- const [{body: album}, {body: {items}}] = await Promise.all([this.spotify.getAlbum(uri.id), this.spotify.getAlbumTracks(uri.id, {limit})]);
+ const [{body: album}, {body: {items}}] = await Promise.all([this.spotify.getAlbum(uri.id), this.spotify.getAlbumTracks(uri.id, {limit: 50})]);
tracks.push(...items);
@@ -210,7 +210,7 @@ export default class {
case 'playlist': {
const uri = parsed as spotifyURI.Playlist;
- let [{body: playlistResponse}, {body: tracksResponse}] = await Promise.all([this.spotify.getPlaylist(uri.id), this.spotify.getPlaylistTracks(uri.id, {limit})]);
+ let [{body: playlistResponse}, {body: tracksResponse}] = await Promise.all([this.spotify.getPlaylist(uri.id), this.spotify.getPlaylistTracks(uri.id, {limit: 50})]);
playlist = {title: playlistResponse.name, source: playlistResponse.href};
@@ -219,7 +219,7 @@ export default class {
while (tracksResponse.next) {
// eslint-disable-next-line no-await-in-loop
({body: tracksResponse} = await this.spotify.getPlaylistTracks(uri.id, {
- limit,
+ limit: parseInt(new URL(tracksResponse.next).searchParams.get('limit') ?? '50', 10),
offset: parseInt(new URL(tracksResponse.next).searchParams.get('offset') ?? '0', 10),
}));
@@ -255,10 +255,10 @@ export default class {
// Get random songs if the playlist is larger than limit
const originalNSongs = tracks.length;
- if (tracks.length > limit) {
+ if (tracks.length > playlistLimit) {
const shuffled = shuffle(tracks);
- tracks = shuffled.slice(0, limit);
+ tracks = shuffled.slice(0, playlistLimit);
}
let songs = await Promise.all(tracks.map(async track => this.spotifyToYouTube(track, playlist)));