Custom Operator - Pages and frame updates

I’m currently writing a C++ SOP and there are a couple of odd bits that I don’t quite get.

In the samples we have myExecuteCount which is handy for getting the execution time but from what I gather this is in no relation to frame rate. For example I want to update a simulation using deltaTime. In order to get the deltaTime I need to know the frame rate and myExecuteCount does this fine unless I move a parameter at which point the SOP seems to execute faster than the frame rate causing my simulation to speed up. My first thought was to have a time inc. parameter like the particle SOP and feed in my frame rate that way. This does work fine however I can’t find a way to have the default value of a parameter be an expression, in this case 1/root.time.rate? Is this possible or should I RFE this?

Or maybe there’s another way to get the current frame?

I’m assuming too that gpudirect doesn’t allow for copying to points etc too in SOP land? I assume that’s why we have both options.

Pages seem to work great for CPlusPlus ops but don’t work for custom operators so I don’t know if thats a bug or just a weird way that the parameters work? Would be nice if they worked on custom ops too.

In custom DATs is it possible to have a callbacks DAT with this or would that need to be created as a second custom OP? I guess we’re getting into pretty complicated territory there and a dat execute might suffice.

The final thing I guess is a bit of an RFE rather than a question is it’d be great if there was an example of an OpenGL filter TOP. I know we have the GLSL TOP for this but sometimes I want to have a little more control and also it makes it nice and easy to bring in as it’s in the OP Create Dialog.

Can you elaborate on the issues with pages and custom operators? They work for me in the simple case. Can you share your setupParameters() code?

I’ll add some members to make it easier to know frame numbers and elapsed time since the last time the node cooked.