macroScript ExpressionRanges category:"Bobo's Tools"
(

--ExpressionRanges
--Version 1.0
--Started: 09/13/99
--Edited:  09/13/99
--by Borislav Petrov
--http://gfxcental.com/bobo/
------------------------------------
--Sets all scene Expression Controllers' Time Ranges
--to the current Animation Segment interval.
------------------------------------



fn subanim_collect mnode =
(
return_array = #()
for i = 1 to mnode.numsubs do 
	(
		append return_array mnode[i]
	)
return_array
)

subanims_array = #()

subanims_array = for i in $* collect i

num_subs = subanims_array.count + 1

i = 0
while i < subanims_array.count do
	(
	i += 1
	r_array = subanim_collect (subanims_array[i])
	join subanims_array r_array
	)


for i in subanims_array do
(
	try
	(
	if findstring ((classof i.controller) as string) "Expression" != undefined then
		(
		setTimeRange i.controller animationrange
		)
	)
	catch ()	
)

)