cgarwood / mpc-control

Telnet and tablet interface for Martin M-PC, built for Lafayette Community Church
4 stars 5 forks source link

Better handling of "Active" label during transitions #2

Closed cgarwood closed 6 years ago

cgarwood commented 7 years ago

When pushing a button on the frontend, the "Active" label is inconsistent. It will occasionally appear, disappear, and re-appear, or not appear at all until the server refreshes the active cuelists a couple times.

A smaller polling_interval helps, but the frontend could also handle it better. Maybe add a "Fading..." label that persists through one or two refreshes of the active cuelists.

This issue is caused by the MPC Telnet Server not showing a cuelist as active until it has finished fading in.

jay-oswald commented 6 years ago

We could add a FontAwesome spinner on the newly pressed button till it gets flagged as active from the next poll. The closet thing to a fader in font awesome is probably the battery with all its different fill levels haha

Why is the polling interval so high? does it take long for the pc to respond? could you monitor the time it takes to poll and increase/decrease the interval based on response times? so if its running quick poll more often, if its running slow, poll less? I haven't used it properly yet to know how it reacts

cgarwood commented 6 years ago

Polling interval is a little higher to try to not overload the telnet server. IIRC there were some issues with the polling interval being too fast where commands would either get dropped or not return the correct information (or you'd get the result of "is MPC running?" in the middle of a list of active cuelists which would confuse it).

I really wish MXManager had a JSON interface..

jay-oswald commented 6 years ago

This should be a lot better now, with PR #6 for the dynamic heartbeat, can have it poll much faster, and know that its not overloading the server to much, will just have to play with it to get the right multiplier, min and max for it, on my laptop the whole telnet process was taking 2-3ms, so it was working well, even with a min poll time of 100

Will have to test what base settings work well on actual lighting PC's while running a service and set the defaults to something more practical.