X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Ftheme.lua;h=bd22aa4a8d126cedbd271d7668f414a3b5e74fc1;hb=6d5032cb1f330b6767053c51a8d627ac5f7c00ec;hp=c524d566deb1a2ddf057ad5a0b6f25265f97e6a5;hpb=9f5622b1cb36a07b5b717ab5c4cbd938a550c7c3;p=nageru diff --git a/nageru/theme.lua b/nageru/theme.lua index c524d56..bd22aa4 100644 --- a/nageru/theme.lua +++ b/nageru/theme.lua @@ -112,31 +112,25 @@ static_scene:finalize() -- Set some global state. Nageru.set_num_channels(4) -- Can only be called at the start of the program. -Nageru.set_channel_name(SBS_SIGNAL_NUM + 2, "Side-by-side") -Nageru.set_channel_name(STATIC_SIGNAL_NUM + 2, "Static picture") -function is_plain_signal(num) - return num == INPUT0_SIGNAL_NUM or num == INPUT1_SIGNAL_NUM -end +-- Set some global state. Unless marked otherwise, these can only be set once, +-- at the start of the program. +Nageru.set_num_channels(4) --- API ENTRY POINT --- Returns, given a channel number, which signal it corresponds to (starting from 0). --- Should return -1 if the channel does not correspond to a simple signal --- (one connected to a capture card, or a video input). The information is used for --- whether right-click on the channel should bring up a context menu or not, --- typically containing an input selector, resolution menu etc. --- --- Called once for each channel, at the start of the program. --- Will never be called for live (0) or preview (1). -function channel_signal(channel) - if channel == 2 then - return 0 - elseif channel == 3 then - return 1 - else - return -1 - end -end +-- Sets, for each channel, which signal it corresponds to (starting from 0). +-- The information is used for whether right-click on the channel should bring up +-- an input selector or not. Only call this for channels that actually correspond +-- directly to a signal (ie., live inputs, not live (0) or preview (1)). +Nageru.set_channel_signal(2, 0) +Nageru.set_channel_signal(3, 1) + +-- Set whether a given channel supports setting white balance. (Default is false.) +Nageru.set_supports_wb(2, true) +Nageru.set_supports_wb(3, true) + +-- These can be set at any time. +Nageru.set_channel_name(SBS_SIGNAL_NUM + 2, "Side-by-side") +Nageru.set_channel_name(STATIC_SIGNAL_NUM + 2, "Static picture") -- API ENTRY POINT -- Called every frame. Returns the color (if any) to paint around the given @@ -160,6 +154,10 @@ function channel_color(channel) return "transparent" end +function is_plain_signal(num) + return num == INPUT0_SIGNAL_NUM or num == INPUT1_SIGNAL_NUM +end + function channel_involved_in(channel, signal_num) if is_plain_signal(signal_num) then return channel == (signal_num + 2) @@ -173,13 +171,6 @@ function channel_involved_in(channel, signal_num) return false end --- API ENTRY POINT --- Returns if a given channel supports setting white balance (starting from 2). --- Called only once for each channel, at the start of the program. -function supports_set_wb(channel) - return is_plain_signal(channel - 2) -end - -- API ENTRY POINT -- Gets called with a new gray point when the white balance is changing. -- The color is in linear light (not sRGB gamma).