Why does "Symbols Parser" not work?
The API document is below.
I changed "py-fresnel_r13.pyp" in official plugin examples.
Finally, I got the issues.
There is actually 2 issues, one in your side and one in our side.
The one from your side was that you passed the wrong folder to parse_and_export_in_caller . This function expect the folder containing the symbols.
So you need to adapt the .pyp file to something like:
c4d_symbol_dir = os.path.join(os.path.dirname(__file__), "res")
c4d.plugins.RegisterShaderPlugin(PLUGIN_ID, c4d.plugins.GeLoadString(IDS_PY_FRESNEL), 0, PyFresnel, "", 0)
Then there is a bug in the symbol_parser, which don't recognize correctly values from enum without a space between the symbol name and it's value. So you need to edit the header file from
IDS_PY_FRESNEL=10000, to IDS_PY_FRESNEL = 10000,
IDS_PY_FRESNEL = 10000,
The fix to support symbol name without space will be in the upcoming build.
Great!!! It runs.
You are right. Thank you so much!
I think your answer is worth being written in the API document to make the workflow more clear.