X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=theme.lua;h=bbc086a4e86f478dde7c2b66eabe8f64e78a0aee;hb=f006b5b162841dbc764fb620025b87a3272ac79a;hp=d7c281dd3faacb3b62312fe0273e8b8199dc1038;hpb=bd7755947b1c46f046cb9ddcff5bcfbf2d151fa1;p=nageru diff --git a/theme.lua b/theme.lua index d7c281d..bbc086a 100644 --- a/theme.lua +++ b/theme.lua @@ -333,6 +333,41 @@ function channel_signal(channel) end end +-- API ENTRY POINT +-- Called every frame. Returns the color (if any) to paint around the given +-- channel. Returns a CSS color (typically to mark live and preview signals); +-- "transparent" is allowed. +-- Will never be called for live (0) or preview (1). +function channel_color(channel) + if channel_involved_in(channel, live_signal_num) then + return "#f00" + end + if channel_involved_in(channel, preview_signal_num) then + return "#0f0" + end + return "transparent" +end + +function channel_involved_in(channel, signal_num) + if signal_num == INPUT0_SIGNAL_NUM then + return channel == 2 + end + if signal_num == INPUT1_SIGNAL_NUM then + return channel == 3 + end + if signal_num == SBS_SIGNAL_NUM then + return (channel == 2 or channel == 3) + end + if signal_num == STATIC_SIGNAL_NUM then + return (channel == 5) + end + if signal_num == FADE_SIGNAL_NUM then + return (channel_involved_in(channel, fade_src_signal) or + channel_involved_in(channel, fade_dst_signal)) + end + 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.