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

Est wait time & Rotations #119

Open
altere987 opened this issue Dec 4, 2018 · 10 comments
Open

Est wait time & Rotations #119

altere987 opened this issue Dec 4, 2018 · 10 comments

Comments

@altere987
Copy link

I've suggested part of this in another users request but if those don't get implemented:

The shows I do, we go by rotations as I'm sure most do. 1st rotation I might only have 4 singers, by the 4th I may have 12. And if those first 4 singers have several songs they can sing, I don't make them wait, I may let them sing 2 songs per rotation until I have 6 or more singers with songs.

[Rotation]
The ability to set # of songs per singer one can do each rotation on the fly would be nice and open additional singer/rotation/time enhancements. You would just need to determine how OpenKJ would define the end of a rotation. Since there's only 2 rotation positions, this should be fairly easy.

Another user yesterday suggested a skip singer (although if they have left, they should be removed) but if one wants to skip a singer temporarily, maybe being able to move the mic next to the singers name would suffice. Or the button suggested would do this automatically.

[Est wait time]
Possible bug:
Singer 1 - sang their 1 song
Singer 2 - still shows a wait time of 4 min. w/ 4 unsung
Singer 3 - shows 9 min wait time w/ 1 unsung

Change:
Singer 2 - 1 min wait time
Singer 3 - 6 min wait time (4 min for singer 2 song I'm guessing + 1 min buffers)

Enhancement:
Possible real-time-ish wait times based on the 'next unsung song' in the singers list + 1 min. Of course this would change to 'next # unsung songs' if my above rotation suggestion were implemented as well. And yes, I have singers that want maybe the 3rd song first or whatever, but all the times would change once I move those songs around when they tell me.

@ILightburn
Copy link
Member

I'm not sure what you're trying to accomplish with the multiple songs per turn thing. If you're talking about having it affect the estimated wait time in the mouseover, do singers really care enough to ask you when the rotation is that short? I'm not being snarky, I almost never have rotations that short at my shows, even the first one.

If a singer has a song in queue, it bases the time on that + 1min. If they don't have a song in yet, it just falls back to 4min for the song duration as a good average song length until they put one in. It is planned to have an option to omit empty singers from the time estimation rather than use the 4min guesstimate.

The skip/disable thing is probably going to happen. It will be a right-click menu option on the singer, though, rather than a dedicated button. I try not to clutter up the UI with buttons too much, as it takes valuable screen real-estate on systems with low res (720p) displays.

@altere987
Copy link
Author

altere987 commented Dec 5, 2018

When I was playing at a place on a regular basis I never had a small rotation like that either. It's these places that decide once in a while that they suddenly want to hire, where it takes a handful of people I can get out there to get others to eventually sign up, just a feature that would be handy for those few places that do this rather then have a regular night for karaoke. And yes, even with 5 or so singers I'll have a few ask how long until they're up, especially those that are going to be leaving. Again, a handful but I've got several that come in for an hour or two and try and to leave at a certain time to be at work in the morning.

When I had 20+ singers it seemed that est wait time was way off, after manually adding 5 min for each singer but I don't recall if I was leaving out the 3 or 4 that didn't have songs in or not. If a future version omits those folks and isn't at all now, then that should resolve it. And while 4 min might be a good avg for the majority of songs, I've got several singers that like their 5-8 min long versions of certain songs which is why I was thinking of taking each persons time from next song in the list +1 min to make it a little more accurate.

Summary:
The # of songs per singer isn't a highly needed function, when you slow down on other features/requests, it might be an addition to revisit for some of us that get in these places that don't do karaoke on a regular basis.

If those singers that are omitted from the est wait time, ticker, and have a darker color or some indication on the UI letting the host know they don't have any songs up, will help a great deal in who's up next in rotation and times.

@backstagekaraoke
Copy link
Collaborator

I can see both side here, there is some value in being able to see an estimated time of when a singer is going to be up ... I currently use Siglos Karaoke Professional, it has a time display at the bottom, which is based on how many songs are in the queue and what their length is, and it tells you the time that these songs will go to, KJams also does this, and I believe MTU Hoster does as well. It doesn't show specific times that singers are up, just an overall end time.

I believe MTU hoster also does have the feature of displaying the specific time that a singer will be up, and I believe it is shown in the ticker message. Whilst I can see a little bit of 'oh thats cool' value, I can honestly say that in my experience the majority of singers who ask "When am I up" are generally OK with me looking at the rotation and saying either "you're up in 4 songs" or "there's a lot of singers this evening, so its gonna be about an hour for your next song, have a dance, grab a cocktail and have some fun till then".

Regarding omitting singers who have empty song queues, from the ticker and any time based calculations, yes this is a great feature. Siglos does this, along with CompuHost and MTU. Siglos also has some additional function that is called 'Wait for Next', if you tick it, then when an empty singer comes up next, it will prompt the host for what to do, whether to skip, remove the singer, or add a song in now. However I disable that feature, as my shows are far too busy to be prompted each time for what to do. If the singer hasn't put any more songs in, then that indicates they are not wanting to sing any more songs.

@ILightburn
Copy link
Member

To clarify, it is only using the 4min average for empty singers. The rest of the singers time are based on the actual duration of the next song in their queue. Both have a 1min pad for getting singers up.

The planned changes which I'm about to start working on, are:
1.) Make inclusion of empty singers in the estimates optional
2.) Make the pad time configurable
3.) Make the empty singer time estimation configurable

@backstagekaraoke
Copy link
Collaborator

@coyote1357 great to hear mate!

So with these implementations OKJ will:

  1. Display in the host UI, the estimated finish time based on all songs currently queued? (essentially the show end time)
  2. Display the estimated wait time til the next singer is up on the ticker message?
  3. Provide the option for the host to choose if they want to include empty singers in the above estimations? And also allow the hosts to specify the amount of time that registers for an empty singer slot?
  4. Make the time in between singers (Pad Time) configurable to meet various hosts needs etc?

have I got it right?

@ILightburn
Copy link
Member

1 & 2, No, the current changes just affect what times are displayed when you hover over a singer. But you can hover over the last singer to get 1. On 1, I plan on adding a "total rotation time" to the status bar at the bottom beside the rotation count that updates automatically on a timer event (every 10s or something). For 2, I am considering adding an optional up next and countdown separate from the ticker (maybe bottom right corner, overlaid over the CDG graphics but out of the way of where lyric draws are likely to occur) to avoid further degrading ticker performance.

3 & 4, yes

The current changes have been implemented in 1.5.15 which was just built and put up on the website.

It also adds the option of displaying the current rotation position in the rotation list, which was a separate but somewhat related request.

@ILightburn
Copy link
Member

Clarification on the current rotation position thing... it displays the current rotation position (i.e. how many songs away) beside each singer.

@ILightburn
Copy link
Member

1.5.20 adds an overall current rotation duration to the status bar beside the singer count. It also respects the settings for empty users and such. This is not all queued songs, just a sum of all singers' upcoming songs in the current rotation (time to get back to the current singer, basically). For all queued songs, that will need to wait until I do the planned redesign of the regular singers functionality to split history and queue into separate things. For some use cases, this would cause a UI pause with the way it's currently implemented as regulars can have over a hundred songs in their history in the real world (I have some that have 150+ songs in their history at my shows). Without getting too far into the weeds, it would require a ton of db calls on a big rotation with lots of regulars with lots of songs.

@backstagekaraoke
Copy link
Collaborator

Unless you plan on doing something with the data, I personally don’t see the point in keeping a large scale history of singer activity.

Sure keep the last 5 or 10 songs, but honestly have you ever had a singer come to you and say “what song did I sing 3 months ago?” Or “out of my 150 songs, what is number 73” lol ...

Realistically, they can just use the songbook which is what it’s for, however I have found that most karaoke singers keep singing the same shit ahem same outstanding songs ;) ... over and over every week anyway.

However if you do plan on offering some sort of analytics or reporting in the future, then yes 100% understand why capturing this data is crucial, and yes I agree that splitting it out into separate db’s is the way to go. I’d probably have a number of them actually.

Also I have a heap of ideas for analytics and what data to capture, that would actually assist hosts in growing their business and being able to approach new venues with data that matters. Most hosts don’t realise how much information could be captured from the karaoke software itself, that can be used to improve their offerings and seek new business.

@ILightburn
Copy link
Member

The regular singer history gets used extensively at my shows. Regulars are constantly wanting to look through their lists to pick songs to sing. I do have plans for adding some analytics as far as song usage and such.

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

No branches or pull requests

3 participants