Notifications
Clear all

[Closed] Trackbar – show keys of all objects

 lo1

Hi

Is this in any way possible?
I’ve tried the trackbar filter functions but even those traverse only the selected objects.

Thanks

19 Replies
1 Reply
(@denist)
Joined: 11 months ago

Posts: 0

trackviews.clearFilter <trackview name> #selectedObjects

 lo1

I’m talking about the trackbar, not the trackview.

Or have I got it wrong?

1 Reply
(@denist)
Joined: 11 months ago

Posts: 0

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.

2 Replies
 lo1
(@lo1)
Joined: 11 months ago

Posts: 0

in Max2009, the property does not exist:

-- Unknown property: "affectChildren" in <MixinInterface:trackbar>

Where did you learn of this property?

(@denist)
Joined: 11 months ago

Posts: 0

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]

 lo1

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.

1 Reply
(@denist)
Joined: 11 months ago

Posts: 0

there is no

you can add fully customized trackview to viewport and synchronize changing time range of trackbar and the trackview… sorry, can’t suggest anything smarter.

 lo1

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")
)
1 Reply
(@denist)
Joined: 11 months ago

Posts: 0

WOW…
i need to figure it out…

 lo1

Thanks, looks awesome! Will check it out.

Page 1 / 2