En utilisant la famille d'opcodes Python, vous pouvez interagir avec un interpréteur Python
embarqué dans Csound de cinq manières :
- Initialiser l'interpréteur Python (les opcodes
pyinit),
- Exécuter une instruction (les opcodes
pyrun),
- Exécuter un script (les opcodes
pyexec),
- Invoquer un objet appelable et lui passer des arguments (les opcodes
pycall),
- Evaluer une expression (les opcodes
pyeval), ou
- Changer la valeur d'un objet Python, avec la possibilité de créer un nouvel
objet Python (les opcodes
pyassign) ;
et vous pouvez faire toutes ces choses :
- Au temps-i ou au temps-k,
- Dans l'espace de nom global de Python, ou dans un espace de nom spécifique à
une instance individuelle d'un instrument Csound (contexte local ou "l"),
- Et vous pouvez récupérer de 0 à 8 valeurs de retour d'objets appelables qui
acceptent N paramètres.
...cela signifie qu'il y a beaucoup d'opcodes concernant Python. Mais tous ces opcodes partagent
le même préfixe py, et ils ont une structure de nom régulière :
"py" + [préfixe contextuel facultatif] + [nom d'action] + [suffixe de temps-x facultatif]