79 std::shared_ptr<const sequence::SequenceProgram> program;
83 playback.resources(), desiredSequence);
85 return std::unexpected(
loaded.error().detail);
86 program = std::move(*
loaded);
89 std::vector<sequence::SequenceCommand> commands;
93 currentSequence_, priority_,
false});
101 std::move(program), priority_, options});
103 desiredSequence, priority_, 0, 0));
105 desiredSequence, priority_, endingAction(
nextState),
false});
108 if (commands.size() >
112 return std::unexpected(
113 "sequence command queue cannot fit IBar action-button transition");
116 for (
auto& command : commands)
118 const auto queued = std::visit(
126 return std::unexpected(
127 "validated IBar action-button command rejected");
132 currentSequence_ = desiredSequence;