Add seqBlock to Par Class

Currently, when using a parameterExecute I cannot get the sibling parameters of parameter in a sequenceBlock without resorting to using tdu.digits to get the blockID (which seems to be pretty error prone).
Idealy we would have a Par.seqBlock member returning the block of the parameter if it is part of a sequence. (Or maybe I am missing this from the docks…)

Yup it’s all in there:

#random parameter in the Constant CHOP sequence:

n = op('/project1/constant1')
p = n.par.const2name

#which block in the sequence?

s = p.parGroup.sequenceIndex
block = p.sequence.blocks[s]

#now use that block to easily grab its siblings by their base names:

block.par.name  # const2name
block.par.value  # const2value

We’ll update the docs to better illustrate this.

Acquiring the block will be simplified further in an upcoming build (2023.11780 and later):

s = p.parGroup.sequenceIndex
block = p.sequence.blocks[s]

becomes:

block = p.sequenceBlock

Thus the full original example becomes:

n = op('/project1/constant1')
p = n.par.const2name
p.sequenceBlock.par.name  # const2name
p.sequenceBlock.par.value  # const2value
2 Likes

Also note, if you want to find the sequence, you don’t have to travel through a parameter.
You can find it directly by name:
In the above case it would be:

s = n.seq.const

or

s = n.seq['const']