[Closed] Trackbar – show keys of all objects
Hi
Is this in any way possible?
I’ve tried the trackbar filter functions but even those traverse only the selected objects.
Thanks
sorry. my bad… trackbar shows only selected nodes as I know. but to be sure I’ll take a look…
trackbar shows only selected nodes as I said. trackbar interface has to have affectChildren property.
but it doesn’t work in my current version of MAX (2010). It seems like the property was removed or made private. I have no idea when it was happen and why.
in Max2009, the property does not exist:
-- Unknown property: "affectChildren" in <MixinInterface:trackbar>
Where did you learn of this property?
it has to be in the help…
[left][color=white]Mixin Interface: (maxOps.trackbar)[/color]
[/left]
[left]Interface: trackbar
[/left]
[left]Properties:
[/left]
[left].visible : boolean : Read|Write
[/left]
[left]Displays or hides the trackbar
[/left]
[left]
[/left]
[left].filter : enum : Read|Write
[/left]
[left]filter enums: {#all|#TMOnly|#currentTM|#cbject|#mat}
[/left]
[left]Sets and gets the filter that determines which keys are displayed in the trackbar
[/left]
[left]
[/left]
[left].keyTransparency : integer : Read|Write
[/left]
[left]Sets/gets the key transparency value. Acceptable values range 0-255
[/left]
[left]
[/left]
[left].selKeyTransparency : integer : Read|Write
[/left]
[left]Sets/gets the selected key transparency value. Acceptable values range 0-255
[/left]
[left]
[/left]
[left].cursorTransparency : integer : Read|Write
[/left]
[left]Sets/gets the cursor transparency value. Acceptable values range 0-255
[/left]
[left]
[/left]
[left].affectChildren : boolean : Read|Write
[/left]
[left]Sets/gets the affect children mode.
[/left]
As far as I can tell there is no maxscript-exposed method to change that, I think I will have to work around it.
Thanks.
you can add fully customized trackview to viewport and synchronize changing time range of trackbar and the trackview… sorry, can’t suggest anything smarter.
Oh, don’t know how I missed it…
Anyways, it doesn’t seem to work in max2009 either. :curious:
i don’t have old versions of max SDK but in 2010 the affectChildren doesn’t exist anymore. So, forget it…
i’ve checked mxs help for 2012… funny… the affectChildren is still a property. don’t trust your eyes
You can display any keys you want to see by passing an ‘additionFunctionCallback’ to the registerFilter function.
It’s not correctly documented in the SDK, you need to accept only two byRef arguments, not three.
fn addGeoCallback animList nodeList =
(
-- animList is the list of subAnims you want displayed on the trackbar
-- nodeList is the list of nodes that are the parents of the subAnims in the animList
-- NOTE: The number in each list must match
for g in geometry where iskindof g[#transform] prs do
(
join animList #(g[#transform][#position],g[#transform][#rotation],g[#transform][#scale])
join nodeList #(g,g,g)
)
-- Return true if you want the items to be display
true
)
tbi = maxOps.getTrackBar()
-- Register the adddion callback (the 'subtraction' callback filter argument can be left undefined)
tbi.registerFilter undefined addGeoCallback "Add All Geometry Transforms" 0xb1dd1e active:true
-- Dump the current filters for debugging
for f = 1 to tbi.filtercount() do
(
format "[%] % is %
" (tbi.getFilterId f) (tbi.getFilterName f) (if tbi.isFilterActive f then "active" else "not active")
)