pyexec — Exécute un script depuis un fichier au taux-k ou au taux-i (suffixe i).
pyexec "filename"
pyexeci "filename"
pylexec "filename"
pylexeci "filename"
pyexect ktrigger, "filename"
plyexect ktrigger, "filename"
Opcode du greffon py. Ce greffon se trouve dans le répertoire des greffons et il doit être installé séparément. Le répertoire des greffons est ici : https://github.com/csound/plugins
Exécute un script depuis un fichier au taux-k ou au taux-i (suffixe i).
Ce n'est pas la même chose que d'appeler le script avec la commande
system()
, car le code est exécuté par l'interpréteur
embarqué.
Le code contenu dans le fichier spécifié est exécuté dans l'environnement global pour les opcodes pyexec et pyexeci et dans l'environnement privé pour les opcodes pylexec et pylexeci.
Ces opcodes n'effectuent aucune transmission de message. Cependant, comme leurs instructions ont accès aux espaces de noms globaux et privés, ils peuvent interagir avec des objets préalablement créés dans ces environnements.
Les versions « locales » des opcodes pyexec sont utiles lorsque le code exécuté par différentes instances d'un instrument ne doit pas interagir.
Exemple 862. Orchestre (pyexec.orc)
sr=44100 kr=4410 ksmps=10 nchnls=1 ;Si vous n'exécutez pas CsoundAC, la ligne suivante est ;nécessaire pour initialiser l'interpréteur Python ;pyinit pyruni "import random" pyexeci "pyexec1.py" instr 1 pyexec "pyexec2.py" pylexeci "pyexec3.py" pylexec "pyexec4.py" endin
Exemple 864. Le script pyexec1.py
import time, os print print "Bienvenue dans Csound !" try: s = ', %s?' % os.getenv('USER') except: s = '?' print 'Quel son voulez-vous écouter aujourd'hui, %s ?' % s answer = raw_input()
Si j'exécute cet exemple sur ma machine, j'obtiens quelque chose comme ceci :
Using ../../csound.xmg Csound Version 4.19 (Mar 23 2002) Embedded Python interpreter version 2.2 orchname: pyexec.orc scorename: pyexec.sco sorting score ... ... done orch compiler: 11 lines read instr 1 Csound Version 4.19 (Mar 23 2002) displays suppressed Bienvenue dans Csound ! Quel son voulez-vous écouter aujourd'hui, maurizio ?
je réponds alors
un son
Csound continue l'exécution normale
votre réponse est "un son" un nombre aléatoire privé : 0.884006 new alloc for instr 1: votre réponse est "un son" un nombre aléatoire privé : 0.884006 votre réponse est "un son" un nombre aléatoire privé : 0.889868 votre réponse est "un son" un nombre aléatoire privé : 0.884006 votre réponse est "un son" un nombre aléatoire privé : 0.889868 votre réponse est "un son" un nombre aléatoire privé : 0.884006 votre réponse est "un son" ...
Dans le même instrument un message est créé dans l'espace de noms privé et affiché, apparaissant différent pour chaque instance.