return Def.ActorFrame {
	LoadFont("hv")..{
		Text="genre",
		InitCommand=cmd(x,SCREEN_CENTER_X+30;y,SCREEN_CENTER_Y-88;playcommand,"Set";horizalign,right;zoom,0.9;zoomx,0.7;zoomy,0.9;shadowlength,0;maxwidth,290),
		OnCommand=cmd(diffusealpha,0;linear,0.5;diffusealpha,1),
		OffCommand=cmd(linear,0.5;diffusealpha,0),
		CurrentSongChangedMessageCommand=cmd(finishtweening;playcommand,"Set"),
		SetCommand=function(self)
			local song = GAMESTATE:GetCurrentSong()
			if not song
				then self:visible(false)
				return
			end
			self:visible(true)
			self:addx(5)
			self:addy(-5)
			self:diffusealpha(0)
			self:linear(0.1)
			self:addx(-5)
			self:addy(5)
			self:diffusealpha(1)
			if song:GetGenre() ~= "" then
				self:settext(song:GetGenre())
			else
				self:settext(GenreGen.Generate())
			end
		end
	},
	LoadFont("artist 16px")..{
		Text="artist",
		InitCommand=cmd(x,SCREEN_CENTER_X+30;y,SCREEN_CENTER_Y-22;playcommand,"Set";horizalign,right;zoom,0.7;shadowlength,0;maxwidth,290),
		OnCommand=cmd(diffusealpha,0;linear,0.5;diffusealpha,1),
		OffCommand=cmd(linear,0.5;diffusealpha,0),
		CurrentSongChangedMessageCommand=cmd(finishtweening;playcommand,"Set"),
		SetCommand=function(self)
			local song = GAMESTATE:GetCurrentSong()
			if not song
				then self:visible(false)
				return
			end
			self:visible(true)
			self:addx(-5)
			self:addy(-5)
			self:diffusealpha(0)
			self:sleep(0.1)
			self:linear(0.1)
			self:addx(5)
			self:addy(5)
			self:diffusealpha(1)
			self:settext(song:GetDisplayArtist())
		end
	},
	LoadFont("songtitle")..{
		Text="title",
		InitCommand=cmd(x,SCREEN_CENTER_X+30;y,SCREEN_CENTER_Y-60;playcommand,"Set";horizalign,right;zoom,.9;zoomy,1;shadowlength,0;maxwidth,290),
		OnCommand=cmd(diffusealpha,0;linear,0.5;diffusealpha,1),
		OffCommand=cmd(linear,0.5;diffusealpha,0),
		CurrentSongChangedMessageCommand=cmd(finishtweening;playcommand,"Set"),
		SetCommand=function(self)
			local song = GAMESTATE:GetCurrentSong()
			if not song
				then self:visible(false)
				return
			end
			self:visible(true)
			self:addx(-5)
			self:addy(5)
			self:diffusealpha(0)
			self:linear(0.1)
			self:addx(5)
			self:addy(-5)
			self:diffusealpha(1)
			self:settext(song:GetDisplayMainTitle())
		end
	},
	LoadFont("songtitle")..{
		Text="title",
		InitCommand=cmd(x,SCREEN_CENTER_X+30;y,SCREEN_CENTER_Y-60;playcommand,"Set";horizalign,right;zoom,.9;zoomy,1;shadowlength,0;maxwidth,290),
		OnCommand=cmd(diffusealpha,0),
		OffCommand=cmd(linear,0.5;diffusealpha,0),
		CurrentSongChangedMessageCommand=cmd(finishtweening;playcommand,"Set"),
		SetCommand=function(self)
			local song = GAMESTATE:GetCurrentSong()
			if not song
				then self:visible(false)
				return
			end
			self:visible(true)
			self:blend('BlendMode_Add')
			self:diffusealpha(0)
			self:sleep(0.2)
			self:linear(0.05)
			self:diffusealpha(0.8)
			self:linear(0.05)
			self:diffusealpha(0)
			self:linear(0.05)
			self:diffusealpha(0.8)
			self:linear(0.05)
			self:diffusealpha(0)
			self:settext(song:GetDisplayMainTitle())
		end
	},
	LoadActor(THEME:GetPathG("","_shared header"))..{
	},
	LoadActor(THEME:GetPathG("","_shared header/INFO_1"))..{
	},
	LoadActor("../ScreenSelectStyle background/RED_LIGHT.png")..{
		InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_TOP;vertalign,top;zoomtowidth,SCREEN_WIDTH;zoomtoheight,SCREEN_HEIGHT);
		OnCommand=cmd(diffusealpha,0;playcommand,"Animate");
		AnimateCommand=cmd(blend,'BlendMode_Add';hidden,1;linear,1;diffusealpha,0;linear,0;diffusealpha,1;queuecommand,"Animate")
	};
	LoadActor("MUSIC_T.png")..{
		InitCommand=cmd(x,WideScale(SCREEN_CENTER_X-245,SCREEN_CENTER_X-345);y,SCREEN_CENTER_Y-214);
		OnCommand=cmd(addx,-10;diffusealpha,0;sleep,0.5;linear,0.3;addx,10;diffusealpha,1);
	};
	LoadActor(THEME:GetPathG("","time"))..{
	};
	LoadActor(THEME:GetPathB("","active_line"))..{
		InitCommand=cmd(diffusealpha,0);
	};
	LoadActor(THEME:GetPathG("","_shared header/here_or_not"))..{
	},
}