Opcodes Python

Introduction

En utilisant la famille d'opcodes Python, vous pouvez interagir avec un interpréteur Python embarqué dans Csound de cinq manières :

  1. Initialiser l'interpréteur Python (les opcodes pyinit),
  2. Exécuter une instruction (les opcodes pyrun),
  3. Exécuter un script (les opcodes pyexec),
  4. Invoquer un objet appelable et lui passer des arguments (les opcodes pycall),
  5. Evaluer une expression (les opcodes pyeval), ou
  6. 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 :

  1. Au temps-i ou au temps-k,
  2. 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"),
  3. 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]