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 621. 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 -iadc ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o nstance.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1 - oscillator with a high note. instr 1 ; Play Instrument #2 at the same time. iHandle nstance 2, 0, p3 ; Play a high note. a1 oscils 10000, 880, 1 out a1 endin ; Instrument #2 - oscillator with a low note. instr 2 ; Play a low note. a1 oscils 10000, 220, 1 out a1 endin </CsInstruments> <CsScore> ; Table #1, a sine wave. f 1 0 16384 10 1 ; Play Instrument #1 for half a second. i 1 0 0.5 ; Play Instrument #1 for half a second. i 1 1 0.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.