Python Scripting Tag Global Variables
-
On 15/07/2015 at 21:31, xxxxxxxx wrote:
Hello Forum,
After reading these great posts:
https://developers.maxon.net/forum/topic/8461/11042_python-tag-catch-button-presson-parent-object&KW=user+data+button&PID=43468#43468 Thanks Niklas.
https://developers.maxon.net/forum/topic/8312/10843_user-button-test-on-python-generator-solved&KW=user+data+button&PID=42531#42531 Thanks Sebastian.
I realized there is much to learn about Python Scripting Tags.Where are the global variables for the Python Scripting Tags documented?
By reading other posts/examples, I understand that "op" and "doc" are global variables, but I did knot know there was a global function like message(msg_type, data) : available in a scripting tag.I do not understand how message(msg_type, data) works in the scripting tag. How is it getting called? Is it like a virtual method in c++? Are there other functions like this available?
Thank you,
Joe Buck
-
On 16/07/2015 at 02:03, xxxxxxxx wrote:
Hi Joe,
The Python documentation is currently lacking information on Python scripting features (tags, scripts, XPresso node etc).
main() in a Python tag is the same as TagData::Execute() and the available global variables are:
doc : the host document of the tag.
flags : the execution flags.
priority : the execution priority in the pipeline (EXECUTIONPRIORITY_INITIAL, EXECUTIONPRIORITY_ANIMATION, EXECUTIONPRIORITY_GENERATOR etc).
op : the Python tag.
bt : the calling thread.
tp : the TP master system for the host document if there's one.message(id, data) in a Python tag behaves the same as TagData::Message().
It receives the data as Python dictionaries with the entries matching the names used in the C++ API for the structure members.
The available global variables are the same as in main() except that flags and priority does not make sense in message(). -
On 16/07/2015 at 08:20, xxxxxxxx wrote:
Thank you Yannick. This is solved.