MULTIPLY_EFFECT,
MIX_EFFECT,
LIFT_GAMMA_GAIN_EFFECT,
+ BLUR_EFFECT,
+ UNSHARP_MASK_EFFECT,
NO_EFFECT_TYPE
};
class Theme {
public:
- Theme(const std::string &filename, const std::vector<std::string> &search_dirs, movit::ResourcePool *resource_pool, unsigned num_cards);
+ Theme(const std::string &filename, const std::vector<std::string> &search_dirs, movit::ResourcePool *resource_pool);
~Theme();
struct Chain {
std::string format_status_line(const std::string &disk_space_left_text, double file_length_seconds);
+ // Signal that the given card is going away and will not be replaced
+ // with a fake capture card, so remove all connections to it so that
+ // they don't automatically come back on the next frame.
+ void remove_card(unsigned card_index);
+
private:
void register_globals();
void register_class(const char *class_name, const luaL_Reg *funcs, EffectType effect_type = NO_EFFECT_TYPE);
const InputState *input_state = nullptr; // Protected by <m>. Only set temporarily, during chain setup.
movit::ResourcePool *resource_pool;
int num_channels = -1;
- unsigned num_cards;
bool startup_finished = false;
std::mutex map_m;