My apps usually have a lot of output, which is important for me to analyze on each run and therefore, a convenient way to present the info is desired.
I decided that the output window is not good enough for me. I can’t do the most basic things such as controlling the font size, write in color, or search through the UI. The output window hangs if maya crashes or is debugged. Actually, the console for stand alone apps isn’t better.
I came up with the following design:
- There is a standalone listener app that opens a window and shows the output. Communication with it is done through an interprocess communication (named pipe/socket).
- It needs to be cross platform (Windows/Linux/OS X), preferable written in Python.
- It would come up with API for C++ (, Python, and Matlab) that would enable the user to easily write output. For example, for C++ it would provide a logger class that uses both cout and printf syntax.
- There would be special commands to support basic rich text: color, font size, boldness, underline.
- There would be an option to write in blocks in a tree level structure, where branches would have a plus sign that would enable collapsing (hiding the branch).
- There would be an option to patch stdout and stderr and forward their output (e.g. from standard cout and printf commands).
Any thoughts about the suggestion or something open source that is already close to it?
The format the logger would show sounds like html.
I already have a C++ class that patches stdout, and supports cout and printf syntax.
UPDATE:
Here is a basic implementation of the idea:
http://svn.code.sf.net/p/mymayaplugins/code-0/trunk/outputpp/
