]> git.sesse.net Git - nageru/blobdiff - nageru/theme.h
Add disable_if_always_disabled() to Block objects.
[nageru] / nageru / theme.h
index 794542525e9e84f60f65679b63cab8d6ae85b469..22a9ff7d3423a4e203c9fc688be2f4f354306ca5 100644 (file)
@@ -191,8 +191,9 @@ private:
        lua_State *L;  // Protected by <m>.
        const InputState *input_state = nullptr;  // Protected by <m>. Only set temporarily, during chain setup.
        movit::ResourcePool *resource_pool;
-       int num_channels;
+       int num_channels = -1;
        unsigned num_cards;
+       bool startup_finished = false;
 
        std::mutex map_m;
        std::map<int, int> signal_to_card_mapping;  // Protected by <map_m>.
@@ -217,12 +218,17 @@ private:
        std::unique_ptr<MenuEntry> theme_menu;
        std::function<void()> theme_menu_callback;
 
-       std::map<unsigned, std::string> channel_names;  // Set using Nageru.set_theme(). Protected by <m>.
+       std::map<unsigned, std::string> channel_names;  // Set using Nageru.set_channel_name(). Protected by <m>.
+       std::map<unsigned, int> channel_signals;  // Set using Nageru.set_channel_signal(). Protected by <m>.
+       std::map<unsigned, bool> channel_supports_wb;  // Set using Nageru.set_supports_wb(). Protected by <m>.
 
        friend class LiveInputWrapper;
        friend class Scene;
        friend int ThemeMenu_set(lua_State *L);
        friend int Nageru_set_channel_name(lua_State *L);
+       friend int Nageru_set_num_channels(lua_State *L);
+       friend int Nageru_set_channel_signal(lua_State *L);
+       friend int Nageru_set_supports_wb(lua_State *L);
 };
 
 // LiveInputWrapper is a facade on top of an YCbCrInput, exposed to