-- startcommand | finishcommand
-- default_out  | default_in

local t = Def.ActorFrame{
	-- song background
	Def.Sprite {
		InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;FullScreen);
		BeforeLoadingNextCourseSongMessageCommand=function(self)
			self:LoadFromSongBackground( SCREENMAN:GetTopScreen():GetNextCourseSong() )
		end;
		StartCommand=cmd(diffusealpha,0;sleep,0.3;linear,0.3;diffusealpha,1;);
		FinishCommand=cmd(linear,0.3;diffusealpha,0;);
	};

	LoadActor( THEME:GetPathB("","stagetemp/loadf_c0u") )..{
		InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-128;zoomtowidth,SCREEN_WIDTH);
		StartCommand=cmd(diffuse,color("2.0,1.0,1.0,1");addy,-(SCREEN_CENTER_Y-16);sleep,0.5;linear,0.2;addy,(SCREEN_CENTER_Y-16););
		FinishCommand=cmd(diffuse,color("2.0,1.0,1.0,1");y,SCREEN_CENTER_Y-128;sleep,2.7;linear,0.2;addy,-(SCREEN_CENTER_Y-16););
	};

	LoadActor( THEME:GetPathB("","stagetemp/loadf_c0d") )..{
		InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+128;zoomtowidth,SCREEN_WIDTH);
		StartCommand=cmd(diffuse,color("2.0,1.0,1.0,1");addy,224;sleep,0.5;linear,0.2;addy,-224;);
		FinishCommand=cmd(diffuse,color("2.0,1.0,1.0,1");sleep,2.7;linear,0.2;addy,224;);
	};

	LoadActor( THEME:GetPathB("","stagetemp/loadf_c1u") )..{
		InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-148;zoomtowidth,SCREEN_WIDTH);
		StartCommand=cmd(diffuse,color("2.0,1.0,1.0,1");addy,-184;sleep,0.5;bounceend,0.3;addy,184;);
		FinishCommand=cmd(diffuse,color("2.0,1.0,1.0,1");sleep,2.7;bounceend,0.3;addy,-184;);
	};

	LoadActor( THEME:GetPathB("","stagetemp/loadf_c1d") )..{
		InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+148;zoomtowidth,SCREEN_WIDTH);
		StartCommand=cmd(diffuse,color("2.0,1.0,1.0,1");addy,184;sleep,0.5;bounceend,0.3;addy,-184;);
		FinishCommand=cmd(diffuse,color("2.0,1.0,1.0,1");sleep,2.7;bounceend,0.3;addy,184;);
	};

	LoadActor( THEME:GetPathB("","stagetemp/loadf_c3u") )..{
		InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-208;zoomtowidth,SCREEN_WIDTH);
		StartCommand=cmd(diffuse,color("2.0,1.0,1.0,1");addy,-64;sleep,0.5;bounceend,0.3;addy,64;);
		FinishCommand=cmd(diffuse,color("2.0,1.0,1.0,1");sleep,2.7;bounceend,0.3;addy,-64;);
	};

	LoadActor( THEME:GetPathB("","stagetemp/loadf_c3d") )..{
		InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+208;zoomtowidth,SCREEN_WIDTH);
		StartCommand=cmd(diffuse,color("2.0,1.0,1.0,1");addy,64;sleep,0.5;bounceend,0.3;addy,-64;);
		FinishCommand=cmd(diffuse,color("2.0,1.0,1.0,1");sleep,2.7;bounceend,0.3;addy,64;);
	};

	LoadActor( THEME:GetPathB("","stagetemp/loadf_c2u") )..{
		InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-112;zoomtowidth,SCREEN_WIDTH);
		StartCommand=cmd(diffuse,color("2.0,1.0,1.0,1");addx,-SCREEN_WIDTH;zoomy,0;sleep,0.5;linear,0.2;zoomy,1;addx,SCREEN_WIDTH;);
		FinishCommand=cmd(diffuse,color("2.0,1.0,1.0,1");sleep,2.7;linear,0.3;zoomy,0;addx,-SCREEN_WIDTH;);
	};

	LoadActor( THEME:GetPathB("","stagetemp/loadf_c2d") )..{
		InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+112;zoomtowidth,SCREEN_WIDTH);
		StartCommand=cmd(diffuse,color("2.0,1.0,1.0,1");addx,SCREEN_WIDTH;zoomy,0;sleep,0.5;linear,0.2;zoomy,1;addx,-SCREEN_WIDTH;);
		FinishCommand=cmd(diffuse,color("2.0,1.0,1.0,1");sleep,2.7;linear,0.3;zoomy,0;addx,SCREEN_WIDTH;);
	};

	LoadActor( THEME:GetPathB("_shared","models/_box") )..{
		InitCommand=cmd(x,WideScale(SCREEN_CENTER_X-136,SCREEN_CENTER_X-181.475);y,SCREEN_CENTER_Y;z,220;);
		StartCommand=cmd(effectmagnitude,0,100,0;zoom,0;sleep,0.5;linear,0.2;zoom,1;rotationy,0;linear,2.3;rotationy,-720;);
		FinishCommand=cmd(effectmagnitude,0,100,0;linear,2.7;rotationy,-720;linear,0.3;zoom,0;);
	};

	LoadActor( THEME:GetPathB("_shared","models/_box") )..{
		InitCommand=cmd(x,WideScale(SCREEN_CENTER_X+136,SCREEN_CENTER_X+181.475);y,SCREEN_CENTER_Y;z,220;);
		StartCommand=cmd(effectmagnitude,0,100,0;zoom,0;sleep,0.5;linear,0.2;zoom,1;rotationy,0;linear,2.3;rotationy,-720;);
		FinishCommand=cmd(effectmagnitude,0,100,0;linear,2.7;rotationy,-720;linear,0.3;zoom,0;);
	};

	-- banner
	Def.Sprite {
		InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y);
		BeforeLoadingNextCourseSongMessageCommand=function(self)
			self:LoadFromSongBanner( SCREENMAN:GetTopScreen():GetNextCourseSong() )
		end;
		StartCommand=cmd(diffusealpha,0;linear,0.2;diffusealpha,1;);
		FinishCommand=cmd(sleep,2.7;diffusealpha,1;linear,0.3;diffusealpha,0;);
	};
};

return t;