Error: float() argument must be a string or a real number, not 'NoneType'

Hi all, I am a bit stuck figuring out what is going on here.
I am using TD ableton to trigger visuals.

To be able to record TD output I have used a VIDEOOUT TOP, which outputs via a BlackMagic device into an ATOMOS DVR recorder. To trigger the ATOMOS DVR remotely I used LOCAL/TIME (suggested by a TD user on this forum) rather than TIMELINE, so that the timecode can be triggered to start/stop based on switching a mute button on/off in Ableton, works well.

But… there are not a heap of network errors everywhere that seem to refer to the local/time PLAY parameter. This parameter sends 0 or 1 to trigger timecode. I understand 0 or 1 to be a ‘real number’, not a ‘NoneType’, which is why the error confuses me.

Where might the error be coming from, and why?

I would be most grateful for some guidance if anyone could assist.

Note: I have tried referencing the value as an index [0] rather than string ["REC’] as indicated in this thread.

it looks like it’s trying to get a channel that doesn’t exist , maybe? Even if it doesn’t exist just for a second you could get that error. You can try
op('select1')[0] if op('select1')[0] is not None else 0

Thanks Ivan, it’s kind of fixed the issue, not 100% sure. The nonetype error (in local time) is gone but other nodes in nextwork seems to have a similar error, in same part of each chain. In screen snap levelMSW810 is a TD ableton level.


If I select/delete the 7 nodes that setup the local time pathway. Note, far left in circled area is an AbletonTrack(which wont connect), then Select (for mute on/off value), Math, then local time (where orig nonetype error was ie Mute on/off). Video out chop at top has an X because my BM Video card not present for the moment.

Once I delete them the whole network functions normally.

If I undo to bring back all the local time chops the network keeps running fine with no errors. I can also connect that errant AbletonTrack (mute on/off) without error.

I am definately a tad above my head in water here!

Is your Brightness1 parameter getting a value from an invalid op? i.e. does it have op(‘somename’).par.Brightness but somename is not a valid operator name/location?

Usually if errors occur but are fixed by cutting and pasting it means there is something invalid during setup that is fixed later. See if you can figure out the problem by looking at error messages, then use that same pattern as above in your parameter expressions:
if else

This will take care of that brief moment when things aren’t set up properly