local t = Def.ActorFrame {
	-- score frame
	LoadActor("_score frame") .. {
		InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_BOTTOM-28;draworder,80;zoomx,SCREEN_WIDTH);
		OnCommand=cmd(diffusealpha,0;linear,0.25;diffusealpha,1);
		OffCommand=cmd(linear,0.25;diffusealpha,0);
	};
	-- song title
	LoadFont("_songtitles") ..{
		InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_TOP+16;maxwidth,SCREEN_WIDTH/2.666;shadowlength,0);
		OnCommand=cmd(diffusealpha,0;linear,0.25;diffusealpha,1);
		OffCommand=cmd(linear,0.25;diffusealpha,0);
		SetCommand=function(self)
			local song = GAMESTATE:GetCurrentSong();
			
			if song then
				if GAMESTATE:IsCourseMode() then
					local course = GAMESTATE:GetCurrentCourse():GetDisplayFullTitle();
					local title = song:GetDisplayFullTitle();
					self:zoomy(0.5);
					self:settext(title.."\n"..course);
				else
					local title = song:GetDisplayFullTitle();
					self:settext(title);
				end;
			else
				self:settext("you broke it");
			end;
		end;
		CurrentSongChangedMessageCommand=cmd(playcommand,"Set");
	};
};

return t;
