local Color1 = color(Var "Color1")
local Color2 = color(Var "Color2")

local t =
    Def.ActorFrame {
    Def.Sprite {
        OnCommand = function(self)
            self:LoadFromCurrentSongBackground()
            self:xy(SCREEN_CENTER_X, SCREEN_CENTER_Y)
            self:scale_or_crop_background()
            self:diffuse(Color1)
            self:effectclock("music")
            -- Explanation in StretchNoLoop.lua.
            if self.GetTexture then
                self:GetTexture():rate(self:GetParent():GetUpdateRate())
            end
        end
    },
    LoadActor(Var "File1") ..
        {
            OnCommand = function(self)
                self:blend("BlendMode_Add"):x(SCREEN_CENTER_X):y(SCREEN_CENTER_Y):scale_or_crop_background():diffuse(Color2):effectclock(
                    "music"
                )
                -- Explanation in StretchNoLoop.lua.
                if self.GetTexture then
                    self:GetTexture():rate(self:GetParent():GetUpdateRate())
                end
            end,
            GainFocusCommand = function(self)
                self:play()
            end,
            LoseFocusCommand = function(self)
                self:pause()
            end
        }
}

return t
