local function RandomBG()
	local fallbackBG = THEME:GetPathG("Common fallback", "background")
	local song = SONGMAN:GetRandomSong();
	if song then
		if song:HasBackground() then
			local path = song:GetBackgroundPath();
			if path then
				if FILEMAN:DoesFileExist(path) then
					return path
				else
					return fallbackBG
				end
			else
				return fallbackBG
			end;
		else
			return fallbackBG
		end
	else
		return fallbackBG
	end
end;

local bg = Def.ActorFrame{
	-- random song BG
	LoadActor(RandomBG())..{
		InitCommand=cmd(Center;scale_or_crop_background);
	};

	Def.Quad{
		InitCommand=cmd(FullScreen;Center;diffusecolor,GetThemeColor();diffusealpha,0.25);
	};
};

return bg;