Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto skip when plugdj tracks freeze #26

Open
hect1c opened this issue Nov 2, 2014 · 4 comments
Open

Auto skip when plugdj tracks freeze #26

hect1c opened this issue Nov 2, 2014 · 4 comments

Comments

@hect1c
Copy link
Owner

hect1c commented Nov 2, 2014

Thinking we could implement a function to auto skip when tracks freeze for too long

@hect1c
Copy link
Owner Author

hect1c commented Nov 12, 2014

Thinking we should create an auto-skip feature.

So far I think Skitty should auto-skip when:

  • track freezes towards the end and goes in the loop
  • When track played by user is unavailable or 'Unable to play'
  • maybe when track is not within current room format

@EranSch
Copy link
Collaborator

EranSch commented Dec 12, 2014

Here are the hurdles I see here, I'm not sure which can be overcome but they result in this being a difficult task...

  • The bot's only connection to plug is a websocket. This means that there's nothing within PlugAPI that actually provides an interface to "listen", we'd need to implement separate functionality to lookup a (youtube|soundcloud) resource, check for its existence, and potentially sample it or test it for audio qualities like silence.
  • The above might not be entirely true depending on whether or not PlugAPI emits events for non-playable media -- if this is the case then we might be golden... my concern however would be that this event is handled in Plug.dj's client logic.
  • Autoskipping based on format might be tricky unless we go with the previous implementation where the bot just skipped based on artist name. OR we could implement a song-level ban where we could essentially blacklist a given song (rather than artist) with a command like .songban or something. I like this idea as it gives fine grained control and doesn't require blocking everything from a given artist.

@hect1c
Copy link
Owner Author

hect1c commented Dec 12, 2014

  • I was thinking about this, and if we can get the length of a current song playing, and maybe if currentSong is still the currentSong and runtime is past track time, then skip.
  • I'm hoping there's some sort of event for non-playable media, when a track is unavailable or unable to play and that popup comes up. If not maybe we can try and determine how plug handles this or even look at some youtube and soundcloud apis (if available) that possibly provides this information already.
  • I like the songban we are definitely going to implement that. But I was thinking we just look for keywords in the title of the track or artist name that doesn't fit our room format whatsoever, but I guess that could be sort of forceful. (like 'dubstep', 'skrillex', etc)

@hect1c
Copy link
Owner Author

hect1c commented Dec 12, 2014

Just found this for my first point: https://github.com/plugCubed/plugAPI/blob/develop/src/client.js#L1619-L1636

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants