pyinit — Initialize the Python interpreter.
In Csound, you must first invoke the pyinit opcode in the orchestra header to initialize the Python interpreter, before using any of the other Python opcodes.
But if you use the Python opcodes within CsoundAC, or from a python frontend using the
csnd6 module, Csound, you need not invoke pyinit, because
the Python interpreter will have already been initialized. In this case, CsoundAC (or the csnd6 python module)
automatically creates a Python interface to the Csound API. In CsoundAC, this exists in the
form a global instance of the CsoundAC.CppSound
class named
csound
. From a python frontend which imports the csnd6 module, the name
of the variable holding the Csound instance will depend on the frontend code.
Therefore, Python code written in the Csound orchestra has
access to the global csound
object.
The running Csound instance in which pyinit has been called is stored in a global python variable called _CSOUND_. This holds the actual memory address of the instance and it can be used with the csnd6 module via the csoundGetInstance(instance) call. This python function returns an object that can be used with all the Csound API functions.