return 0;
}
+int find_signal_to_connect(lua_State *L, const Block *block)
+{
+ if (block->signal_type_to_connect == Block::CONNECT_SIGNAL) {
+ return block->signal_to_connect;
+#ifdef HAVE_CEF
+ } else if (block->signal_type_to_connect == Block::CONNECT_CEF) {
+ return block->cef_to_connect->get_card_index();
+#endif
+ } else if (block->signal_type_to_connect == Block::CONNECT_VIDEO) {
+ return block->video_to_connect->get_card_index();
+ } else if (block->signal_type_to_connect == Block::CONNECT_NONE) {
+ luaL_error(L, "An input in a scene was not connected to anything (forgot to call display())");
+ } else {
+ assert(false);
+ }
+ return -1;
+}
+
std::pair<movit::EffectChain *, std::function<void()>>
Scene::get_chain(Theme *theme, lua_State *L, unsigned num, const InputState &input_state)
{
for (const auto &index_and_input : instantiation.inputs) {
Block *block = blocks[index_and_input.first];
EffectType chosen_type = current_type(block);
- LiveInputWrapper *input = index_and_input.second;
if (chosen_type == LIVE_INPUT_YCBCR ||
chosen_type == LIVE_INPUT_YCBCR_WITH_DEINTERLACE ||
chosen_type == LIVE_INPUT_YCBCR_PLANAR ||
chosen_type == LIVE_INPUT_BGRA) {
- if (block->signal_type_to_connect == Block::CONNECT_SIGNAL) {
- signals_to_connect.emplace(input, block->signal_to_connect);
-#ifdef HAVE_CEF
- } else if (block->signal_type_to_connect == Block::CONNECT_CEF) {
- signals_to_connect.emplace(input, block->cef_to_connect->get_card_index());
-#endif
- } else if (block->signal_type_to_connect == Block::CONNECT_VIDEO) {
- signals_to_connect.emplace(input, block->video_to_connect->get_card_index());
- } else if (block->signal_type_to_connect == Block::CONNECT_NONE) {
- luaL_error(L, "An input in a scene was not connected to anything (forgot to call display())");
- } else {
- assert(false);
- }
+ LiveInputWrapper *input = index_and_input.second;
+ signals_to_connect.emplace(input, find_signal_to_connect(L, block));
}
}
for (const auto &index_and_input : instantiation.image_inputs) {