--time tools 1.5 a simple spinner that allows framerate control from 10 - 60 fps for game animation exporting, this function may be out of date in next gen --Added Time Range Ablities. Create sliders to control the animation range, also added text boxes to specify the range of the start and end slider. --I missed the Maya Time Slider so I made a script that duplicates its functionality. macroScript Time_Tools category:"Alex Tools" toolTip:"Time Range Manipulator" ( rollout f "Time Control" width:680 height:72 ( global startSPVar --variable gets value from text box global endSTVar global startRPVar global endRPVar --variable gets value from text box global holdArray = #() global startX --this variable holds the value from text box converted from a string to an integer global startY global endX global endY --this variable holds the value from text box converted from a string to an integer spinner FrRate "Frame Rate" pos:[70,29] width:50 height:16 range:[10,60,30] type:#integer -- controls frame rate GroupBox grp1 "Frame Rate Control" pos:[5,2] width:145 height:65 --organization GroupBox grp2 "Time Range Control" pos:[153,2] width:521 height:65 --organization slider rangeST "Start Time" pos:[160,14] width:120 height:44 range:[0,30,0] type:#integer ticks:2 enabled:false --directly controls start range value slider rangeEnd "End Time" pos:[548,14] width:120 height:44 range:[31,100,31] type:#integer ticks:2 enabled:false --directly controls end range value editText startXSP "Start:" pos:[300,25] width:80 height:17 text: "" editText endYSP "End: " pos:[420,25] width:80 height:17 text: "" on startXSP changed stTxt do ( rangeST.enabled = true --enables the slider when text is entered startSPVar = stTxt startX = (startSPVar as integer) --converts the entered string value to an integer startXSP.text = stTxt --default text to entered value startY = (rangeEnd.value - 1) --updates the end point of the start slider rangeST.range = [startX, startY, startX] --updates the range of the start time range slider rangeST.value = startX --entered text will set the slider value ) on endYSP changed endRPTxt do ( rangeEnd.enabled = true endRPVar = endRPTxt endY = (endRPVar as integer)--converts the entered text into an integer endYSP.text = endRPTxt --defualt text to entered value endX = (rangeST.value + 1) --updates the start point of the end slider rangeEnd.range = [endX, endY, endX] --updates the range of the end time range slider rangeEnd.value = endY --entered text will set the slider value ) on FrRate changed val do --spinner chnages the frame rate ( frameRate = val -- changes the frame rate to equal the spinner value ) on rangeST changed rsVal do ( local addVal = (rsVal + 1) local origEnd = rangeEnd.value rangeEnd.range = [addVal, endY, origEnd] --resets the range of the end time slider when the start time slider is changed print rangeEnd.range animationRange = interval rsVal rangeEnd.value --updates the start point of the animation range startXSP.text = startSPVar ) on rangeEnd changed reVal do ( holdArray = #() --empty array allows the array to be cleared and updated each time the slider is updated holdArray = (reVal-1) --this array holds the value so it can be added to start time slider and prevent overlapping time range local origST = rangeST.value rangeST.range = [startX, holdArray, origST] --resets the range of the start time slider when the end time slider is changed print holdArray print rangeST.range animationRange = interval rangeST.value reVal --updates the end point of the animation range endYSP.text = endRPVar ) ) FrameRateControl= newRolloutFloater "Time Tools 1.5" 700 102 addRollout F FrameRateControl --adds rollout f to the new floater window FrameRateControl )