global proc ds_Breaker() { global int $startTime=0; global int $length=0; if(!`window -exists mainAnimWindow`) { $mainWindow = `window -title "* . Breaker - (c) Daniel Stern 2005" -iconName "*.Breaker" mainAnimWindow`; columnLayout -adjustableColumn true; intSliderGrp -label "Start Frame" -field true -minValue 0 -maxValue 1000 -fieldMinValue 0 -fieldMaxValue 1000000 -value $startTime -cc "$startTime=#1;"; intSliderGrp -label "Length" -field true -minValue 0 -maxValue 1000 -fieldMinValue 0 -fieldMaxValue 1000000 -value $length -cc "$length=#1;"; button -label "Insert Break" -command ("computeMoveKey($startTime,$length);"); setParent ..; } showWindow mainAnimWindow; } global proc computeMoveKey(int $startTime, int $length) { print ("Breaking from Frame "+$startTime+" for "+$length+" Frames.\n"); $allAnimCurves=`ls -typ animCurve`; $startTime++; //print $allAnimCurves; for($curACurve in $allAnimCurves) { print("Moving "+$curACurve+"...\n"); setKeyframe -i -time ($startTime-1) $curACurve; setKeyframe -i -time $startTime $curACurve; selectKey -clear $curACurve; eval("keyTangent -time "+($startTime-1)+" -itt \"flat\" -ott \"flat\" "+$curACurve+";"); eval("keyTangent -time "+$startTime+" -itt \"flat\" -ott \"flat\" "+$curACurve+";"); eval("keyframe -time \""+$startTime+":\" -relative -timeChange "+$length+" "+$curACurve+";"); } }