I’ve been using the Textport to display simple progress and status info using Python print
statements. Is there a way to keep the Textport visible in perform mode, or is there another recommended way to show a scrolling text log like this?
simple option: Press F4 to open Textport as a floating window. It will also work in perform mode.
For a more advanced hack: you can redirect Python stdout
and stderr
to any DAT. Then you can use the Op Viewer TOP or COMP to convert that DAT into a texture and integrate it into your UI.
See Rob’s example here: console in a texture? [ 099 component ] - #2 by rob
And if you want to restore output to textport:
sys.stdout = tdutils.outputcatcher.StdoutCatcher()
sys.stderr = tdutils.outputcatcher.StderrCatcher()
(These lines are in TouchInit.py in the bin folder).
You might want to consider logging instead. I’ve been working with a LOGGER .tox I hacked together from concepts i was first introduced to in Colin Hoy’s 2019 presentation from the montreal summit: System Design for Large Scale Installations - Colin Hoy - YouTube
@alphamoonbase has a nice logger in Olib that doesn’t rely on python’s logging, and @DavidBraun has a more pythonic version in his TD-shared components git repo. Mine cherry picks my favorite features from all three and spits them out to a field comp dashboard utility to print important bits of INFO in perform mode, with a lister based UI for filtering and sorting the log.txt when required
thanks for citing my laziness