conductor.houdini.hda.frame_spec_ui module

frame range section in the UI.

conductor.houdini.hda.frame_spec_ui.best_chunk_size(node, **_)

Adjust the chunksize based on best distribution.

If for example there are 120 frames and chunk size is 100, then 2 chunks are needed, so better to adjust chunk size to 60

conductor.houdini.hda.frame_spec_ui.custom_frame_sequence(node)

Generate Sequence from value in custom_range parm.

conductor.houdini.hda.frame_spec_ui.main_frame_sequence(node)

Generate Sequence containing current chosen frames.

conductor.houdini.hda.frame_spec_ui.range_frame_sequence(node)

Generate Sequence from value in the standard range parmTuple.

conductor.houdini.hda.frame_spec_ui.resolved_scout_sequence(node)

The sub-sequence the user intends to render immediately.

If do_scout is off then returning None indicates all frames will be rendered. However, if it is on and the set of scout frames intersects the main frames, then only start those frames. If scout frames does not intersect the main frames, then the user intended to scout but ended up with no frames. This produces an empty sequence.

conductor.houdini.hda.frame_spec_ui.scout_frame_sequence(node)

Generate Sequence from value in scout_frames parm.

conductor.houdini.hda.frame_spec_ui.set_type(node, **_)

Set the appropriate expressions in frames UI.

If user selected custom, just validate the input, otherwise make sure the expressions are hooked up to the input node, or if it doesn’t exist, to the scene settings

conductor.houdini.hda.frame_spec_ui.update_frame_stats_message(node, **_)

Generate frame stats message and set the parameter.

It is specially useful to know the frame count when frame spec is set to custom. Additionally, if scout frames are set, display the frame info as the num_scout_frames / num_frames. The only scout frames counted are those that intersect the set of total frames. If we happen to be in a different take, then the user has enabled frames or chunks or something, and this will affect the frame_stats, so they have to be unlocked.

conductor.houdini.hda.frame_spec_ui.validate_custom_range(node, **_)

Set valid tickmark for custom range spec.

A custom range is valid when it is a comma separated list of arithmetic progressions. These can can be formatted as single numbers or ranges with a hyphen and optionally a step value delimited by an x. Example, 1,7,10-20,30-60x3,1001, Spaces and trailing commas are allowed, but not letters or other non numeric characters.

conductor.houdini.hda.frame_spec_ui.validate_scout_range(node, **_)

Set valid tickmark for scout range spec.

TODO Currently we only validate that the spec produces valid frames. We should also validate that at least one scout frame exist in the main frame range.