Giter Site home page Giter Site logo

Comments (8)

aome510 avatar aome510 commented on June 4, 2024

Without this feature, spotify_player plays just a mix from the last 50 songs added to my liked playlist.

50 comes from tracks_playback_limit config (https://github.com/aome510/spotify-player/blob/master/docs/config.md#general). You can try to increase the value to allow creating tracks playback of more songs. Just a note that a big value will not work because there is a limit on number of tracks specified in a tracks playback API request.

Should have added a note to how tracks_playback_limit works. In short, the app will pick an interval with at most tracks_playback_limit songs containing the selected song to start a tracks playback.

from spotify-player.

aome510 avatar aome510 commented on June 4, 2024

To clarify, tracks playback is a playback with a bunch of songs unlike context playback (artist, playlist, album). "liked songs" doesn't count as a playlist. Playing song from "liked songs" page will start a tracks playback and invoking CurrentlyPlayingContextPage command will lead you to a cannot determine current page's context page.

from spotify-player.

FromWau avatar FromWau commented on June 4, 2024

Thanks for the clarification.
This might be a dump question, but why do we use the tracks playback, which creates a subset of songs as I understand, instead of picking random songs from the page (e.g. Liked Songs) where they don't provide a context playback? Wouldn't this solve the limitation of the Spotify API, that we can only create tracks playback with up to 100 songs?

from spotify-player.

aome510 avatar aome510 commented on June 4, 2024

This might be a dump question, but why do we use the tracks playback, which creates a subset of songs as I understand, instead of picking random songs from the page (e.g. Liked Songs) where they don't provide a context playback?

The main reason is to avoid possible confusion when user doesn't have shuffle on.

Wouldn't this solve the limitation of the Spotify API, that we can only create tracks playback with up to 100 songs?

Not really as the playback still contains a subset of the liked songs, e.g if you listen for a long time, it will loop between pre-selected 100 songs.

automix behaviour can be supported by implementing a custom logic to invoke tracks playback by "batches". For example, after finish playing a 50-song playback, the app will pick another "batch" of 50 songs to start the next tracks playback.

from spotify-player.

FromWau avatar FromWau commented on June 4, 2024

The main reason is to avoid possible confusion when user doesn't have shuffle on.

I would think mixautowould only apply when shuffle is enabled. When not shuffling, we just have an ordered playback.

Not really as the playback still contains a subset of the liked songs, e.g if you listen for a long time, it will loop between pre-selected 100 songs.

Yes, but wouldn't it always be the same 100 songs, just ordered differently?
E.g. having a tracks_playback_limit of 1 will always result in the same song.

automix behaviour can be supported by implementing a custom logic to invoke tracks playback by "batches". For example, after finish playing a 50-song playback, the app will pick another "batch" of 50 songs to start the next tracks playback.

This would also be a great feature to have.

from spotify-player.

FromWau avatar FromWau commented on June 4, 2024

I am not a rust dev, but I can look into it.

from spotify-player.

aome510 avatar aome510 commented on June 4, 2024

Yes, but wouldn't it always be the same 100 songs, just ordered differently?
E.g. having a tracks_playback_limit of 1 will always result in the same song.

Yeah, exactly =).

I am not a rust dev, but I can look into it.

Great! Lmk if you have a PR up. It's always good to learn Rust IMO 😎

from spotify-player.

diniamo avatar diniamo commented on June 4, 2024

+1, it's very annoying that shuffle only plays songs from around the one I select manually

from spotify-player.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.