Giter Site home page Giter Site logo

Comments (15)

knight-ryu12 avatar knight-ryu12 commented on July 20, 2024

I'd say, need to make ;;repeat argumented.

from archived-bot.

freyacodes avatar freyacodes commented on July 20, 2024

Yeah, that's what I'm thinking, but what would the usage be like? What do we call modes 2 and 3?

from archived-bot.

RealKC avatar RealKC commented on July 20, 2024

;;repeat single_track and ;;repeat queue maybe?

from archived-bot.

knight-ryu12 avatar knight-ryu12 commented on July 20, 2024

that'd be better.
Just 2,3 toggling is ok

from archived-bot.

knight-ryu12 avatar knight-ryu12 commented on July 20, 2024

can you tell us how queue are handled?

from archived-bot.

freyacodes avatar freyacodes commented on July 20, 2024

from archived-bot.

freyacodes avatar freyacodes commented on July 20, 2024

How the audio queue works

The queue in FredBoat is partially held in the GuildPlayer and the SimpleTrackProvider. When an AudioTrack is queued, commonly by the AudioLoader, the track is added to the provider's internal ConcurrentLinkedQueue. This queue is completely independent of shuffle. The shuffled list is sorted when it is requested and cached until the provider is modified.

The SimpleTrackProvider's purpose is to provide audio tracks upon request by the GuildPlayer, which keeps the currently playing (or paused) AudioTrack for itself. If the end of a track is reached (eg not stopped/skipped) and the player is in the current repeat mode, the track is simply restarted.

from archived-bot.

freyacodes avatar freyacodes commented on July 20, 2024

What I'm thinking is this:

;;repeat off // Disables repeat
;;repeat single // Repeats a single track until skipped
;;repeat all // Ended tracks are moved back into the queue
;;repeat // Displays usage information

from archived-bot.

schnapster avatar schnapster commented on July 20, 2024

Why not both?

I understand the two modes not as exclusive.
repeat all boils down to never kicking a song out of the queue, instead putting it back in after it has finished playing.
That's not exclusive to having the first song in front of the queue playing over and over again.

imo solve this by just adding a ;;repeatall command that will cause finished tracks to get added to the back of the queue.

Let me know if my proposal makes sense or you prefer the three-mode thing, so I can implement the preferred solution.

from archived-bot.

knight-ryu12 avatar knight-ryu12 commented on July 20, 2024

Hmm.
I'd like to prefer theree-mode

from archived-bot.

freyacodes avatar freyacodes commented on July 20, 2024

@napstr I don't think that is a very intuitive approach. It can be hard for the user to expect what modes are currently active when we don't have some sort of GUI. Why would the user even think there are two settings of repeating to begin with without reading the docs? Moreover, consider why Spotify allows you to switch between these 3 modes with a single button.

from archived-bot.

schnapster avatar schnapster commented on July 20, 2024

Indeed, my proposal isn't great for user experience.

What is the expected behavior of the skip command in repeat all mode? Should the track be kept in the queue (added to the back of it like unskipped played tracks) or be removed completely out of the queue?

from archived-bot.

freyacodes avatar freyacodes commented on July 20, 2024

If repeat all is enabled, the track would be moved to the tail of the queue.

from archived-bot.

Nanabell avatar Nanabell commented on July 20, 2024

This can be closed. #93 was merged

from archived-bot.

freyacodes avatar freyacodes commented on July 20, 2024

True, thanks for reminding me

from archived-bot.

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.