#Example of use:

c = colorbars().trim(0, 150)

d = c.animate5(true, 10, 70, "subtitle", """"fraki", 100, 100""", """"this text drops", 100, 400""")

f = d.myfadeout(50).myfadein(50)

f



#############################################

function animate2(clip c, bool accel, int start, int end, string func, string params1, string params2) {

	fn = """"""" + func + """""""
	animline = string(start) + "," + string(end) + "," + """"animate"""" + ","
	funcline = string(start) + "," + string(end) + "," + fn + ","
	p = (accel ? params2 : params1) + ","
	
	s = "c.animate(" +
	\ animline +
		\ animline +
			\ funcline + params1 + "," + p +
			\ funcline + p + p +
		\ animline +
			\ funcline + p + p +
			\ funcline + p + params2 + ")"

	return eval(s)
	

}

function animate3(clip c, bool accel, int start, int end, string func, string params1, string params2) {

	fn = """"""" + func + """""""
	animline = string(start) + "," + string(end) + "," + """"animate"""" + ","
	funcline = string(start) + "," + string(end) + "," + fn + ","
	p = (accel ? params2 : params1) + ","
	
	s = "c.animate(" +
	\ animline +
		\ animline +
			\ animline + funcline + params1 + "," + p + funcline + p + p +
			\ animline + funcline + p + p + funcline + p + p +
		\ animline +
			\ animline + funcline + p + p + funcline + p + p +
			\ animline + funcline + p + p + funcline + p + params2 + ")"

	return eval(s)
	

}

function animate4(clip c, bool accel, int start, int end, string func, string params1, string params2) {

	fn = """"""" + func + """""""
	animline = string(start) + "," + string(end) + "," + """"animate"""" + ","
	funcline = string(start) + "," + string(end) + "," + fn + ","
	p = (accel ? params2 : params1) + ","
	
	s = "c.animate(" +
	\ animline +
	\ animline +
		\ animline +
			\ animline + funcline + params1 + "," + p + funcline + p + p +
			\ animline + funcline + p + p + funcline + p + p +
		\ animline +
			\ animline + funcline + p + p + funcline + p + p +
			\ animline + funcline + p + p + funcline + p + p +
	\ animline +
		\ animline +
			\ animline + funcline + p + p + funcline + p + p +
			\ animline + funcline + p + p + funcline + p + p +
		\ animline +
			\ animline + funcline + p + p + funcline + p + p +
			\ animline + funcline + p + p + funcline + p + params2 + ")"

	return eval(s)
	

}

function animate5(clip c, bool accel, int start, int end, string func, string params1, string params2) {

	fn = """"""" + func + """""""
	animline = string(start) + "," + string(end) + "," + """"animate"""" + ","
	funcline = string(start) + "," + string(end) + "," + fn + ","
	p = (accel ? params2 : params1) + ","
	
	s = "c.animate(" +
	\ animline +
	\ animline +
		\ animline +
			\ animline +
				\ animline + funcline + params1 + "," + p + funcline + p + p +
				\ animline + funcline + p + p + funcline + p + p +
			\ animline +
				\ animline + funcline + p + p + funcline + p + p +
				\ animline + funcline + p + p + funcline + p + p +
		\ animline +
			\ animline +
				\ animline + funcline + p + p + funcline + p + p +
				\ animline + funcline + p + p + funcline + p + p +
			\ animline +
				\ animline + funcline + p + p + funcline + p + p +
				\ animline + funcline + p + p + funcline + p + p +
	\ animline +
		\ animline +
			\ animline +
				\ animline + funcline + p + p + funcline + p + p +
				\ animline + funcline + p + p + funcline + p + p +
			\ animline +
				\ animline + funcline + p + p + funcline + p + p +
				\ animline + funcline + p + p + funcline + p + p +
		\ animline +
			\ animline +
				\ animline + funcline + p + p + funcline + p + p +
				\ animline + funcline + p + p + funcline + p + p +
			\ animline +
				\ animline + funcline + p + p + funcline + p + p +
				\ animline + funcline + p + p + funcline + p + params2 + ")"

	return eval(s)
	

}


function myFadeIn(clip c, int len) {
	return c.animate3(true, 0, len, "levels", "0, 1, 255, 0, 0", "0, 1, 255, 0, 255")
}

function myFadeOut(clip c, int len) {
	fc = framecount(c)
	return c.animate2(false, fc - len, fc - 1, "levels", "0, 1, 255, 0, 255", "0, 1, 255, 0, 0")
}