companion icon indicating copy to clipboard operation
companion copied to clipboard

[Feat] Modernize way of action advancement

Open dnmeid opened this issue 1 month ago • 4 comments

Is this a feature relevant to companion itself, and not a module?

  • [X] I believe this to be a feature for companion, not a module

Is there an existing issue for this?

  • [X] I have searched the existing issues

Describe the feature

Today although the actions of a set are shown in a list, they are all executed at the same time or with fixed delays. I think it would be a good feature if we would have the possibility of a better control of the actions execution. Im thinking of something like the powerpoint way of advancing to the next animation.
The user would have a choice if:

  • the action starts together with the previous action
  • the action starts after the previous action has finished
  • the action starts after a manual trigger (i.e. the action set pauses until this happens). This trigger could be something like a button press or release or even the same logic used for triggering a trigger.

Actions can still have an optional delay, but this delay would always be relative.

Biggest advantage would be the part "after previous action has finished" making it possible to program sequential workflows without unnecessary delay times. E.g. time until a variable is set or time until http get has a result. Biggest concern here is that modules now should actively handle return values for the action callbacks, at least for actions which may run for a long time or which may fail. And we would have to deal with what happens if the action fails. Shoud it throw an error or return a special value or reject a promise. And do we just log it and proceed in the action set or give users a way to decide themselfes how to handle failed actions.

Usecases

No response

dnmeid avatar May 26 '24 11:05 dnmeid