nstance — Programme une nouvelle instance d'instrument et stocke le descripteur de l'instance dans une variable.
Programme une nouvelle instance d'instrument et retourne un descripteur utilisable ultérieurement pour faire référence directement à l'instance courante. Cet opcode est semblable à schedule avec cependant la possibilité supplémentaire de retrouver le descripteur de l'instance.
iHandle nstance insnum, iwhen, idur [, ip4] [, ip5] [...]
iHandle nstance "insname", iwhen, idur [, ip4] [, ip5] [...]
iHandle -- cette variable reçoit un descripteur de l'instance de l'évènement. On peut l'utiliser, par exemple, pour arrêter l'instance de l'instrument donné via l'opcode turnoff. Noter que le descripteur de l'instance n'est valide qu'une fois l'instrument initialisé.
insnum -- numéro de l'instrument. Equivalent à p1 dans une instruction i de partition. insnum doit être un nombre supérieur au numéro de l'instrument appelant.
« insname » -- Une chaîne de caractères (entre guillemets) représentant un instrument nommé.
iwhen -- date de début du nouvel évènement. Equivalent à p2 dans une instruction i de partition. iwhen ne doit pas être négatif. Si iwhen vaut zéro, insum doit être supérieur ou égal au p1 de l'instrument courant.
idur -- durée de l'évènement. Equivalent à p3 dans une instruction ide partition.
ip4, ip5, ... -- Equivalent à p4, p5, etc., dans une instruction ide partition.
nstance ajoute un nouvel évènement de partition. Les arguments, options incluses, sont les mêmes que dans une partition. Le temps iwhen (p2) est mesuré à partir de l'instant de cet évènement.
Si la durée est nulle ou négative, le nouvel évènement est de type MIDI, et il hérite le sous-évènement de relachement (release) de l'instruction de programmation.
Note | |
---|---|
Noter que l'opcode instance ne peut pas accepter de p-champs chaîne de caractères. Si vous devez passer des chaînes de caractères à l'instanciation d'un instrument, utilisez l'opcode scoreline ou scoreline_i. |
Voici un exemple de l'opcode nstance. Il utilise le fichier nstance.csd.
Exemple 665. Exemple de l'opcode nstance.
Voir les sections Audio en temps réel et Options de la ligne de commande pour plus d'information sur l'utilisation des options de la ligne de commande.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in -odac ;;;RT audio out ; For Non-realtime ouput leave only the line below: ; -o nstance.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ; Instrument #1 - oscillator with a high note. iHandle nstance 2, .3, p3 ; Play Instrument #2 0.3 seconds later a1 oscils .5, 880, 1 ; a high note outs a1 * .5, a1 ; ... a bit to the right print iHandle endin instr 2 ; Instrument #2 - oscillator with a low note. a1 oscils .5, 110, 1 ; a low note outs a1, a1 * .5 ; ... a bit to the left endin </CsInstruments> <CsScore> f 1 0 16384 10 1 ; a sine wave. i 1 0 1 i 1 2 .5 e </CsScore> </CsoundSynthesizer>
event, event_i, schedwhen, schedkwhen, schedkwhennamed, scoreline, scoreline_i
Pour plus d'information sur cet opcode : http://www.csoundjournal.com/issue15/phrase_loops.html, écrit par Jim Aikin.