]> git.sesse.net Git - ultimatescore/commitdiff
Add overlay to the big input in SBS.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Wed, 14 Mar 2018 21:58:36 +0000 (22:58 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Wed, 14 Mar 2018 21:58:36 +0000 (22:58 +0100)
nageru/ultimate.lua

index c57915b321317f86fd0662df1d841e04f7775348..16ce22f7f723ded1e7f2dded292aa0a5f78f7086 100644 (file)
@@ -183,10 +183,16 @@ local fade_chains = make_cartesian_product({
        return make_fade_chain(input0_live, input0_deint, input0_scale, input1_live, input1_deint, input1_scale, has_overlay, hq)
 end)
 
-function make_sbs_input(chain, signal, deint, hq)
+function make_sbs_input(chain, signal, deint, overlay, hq)
        local input = chain:add_live_input(not deint, deint)  -- Override bounce only if not deinterlacing.
        input:connect_signal(signal)
 
+       local overlay_effect = nil
+       if (overlay) then
+               local cef_effect = chain:add_html_input(cef_input)
+               overlay_effect = chain:add_effect(OverlayEffect.new(), input, cef_effect)
+       end
+
        local resample_effect = nil
        local resize_effect = nil
        if (hq) then
@@ -211,10 +217,8 @@ end
 function make_sbs_chain(input0_type, input0_overlay, input1_type, hq)
        local chain = EffectChain.new(16, 9)
 
-       local input0 = make_sbs_input(chain, INPUT0_SIGNAL_NUM, input0_type == "livedeint", hq)
-       local input1 = make_sbs_input(chain, INPUT1_SIGNAL_NUM, input1_type == "livedeint", hq)
-
-       -- FIXME: input0_overlay
+       local input0 = make_sbs_input(chain, INPUT0_SIGNAL_NUM, input0_type == "livedeint", input0_overlay, hq)
+       local input1 = make_sbs_input(chain, INPUT1_SIGNAL_NUM, input1_type == "livedeint", false, hq)
 
        input0.padding_effect:set_vec4("border_color", 0.0, 0.0, 0.0, 1.0)
        input1.padding_effect:set_vec4("border_color", 0.0, 0.0, 0.0, 0.0)
@@ -657,7 +661,7 @@ end
 function get_sbs_chain(signals, t, width, height, input_resolution)
        local input0_type = get_input_type(signals, INPUT0_SIGNAL_NUM)
        local input1_type = get_input_type(signals, INPUT1_SIGNAL_NUM)
-       return sbs_chains[input0_type][false][input1_type][true]  -- FIXME: overlay is always false?
+       return sbs_chains[input0_type][overlay_enabled][input1_type][true]
 end
 
 -- API ENTRY POINT