#include <memory>
#include "defs.h"
+#include "flags.h"
#include "image_input.h"
#include "mixer.h"
} // namespace
Theme::Theme(const char *filename, ResourcePool *resource_pool, unsigned num_cards)
- : resource_pool(resource_pool), num_cards(num_cards)
+ : resource_pool(resource_pool), num_cards(num_cards), signal_to_card_mapping(global_flags.default_stream_mapping)
{
L = luaL_newstate();
luaL_openlibs(L);
exit(1);
}
- chain.chain = (EffectChain *)luaL_checkudata(L, -2, "EffectChain");
+ chain.chain = (EffectChain *)luaL_testudata(L, -2, "EffectChain");
+ if (chain.chain == nullptr) {
+ fprintf(stderr, "get_chain() for chain number %d did not return an EffectChain\n",
+ num);
+ exit(1);
+ }
if (!lua_isfunction(L, -1)) {
fprintf(stderr, "Argument #-1 should be a function\n");
exit(1);