schedkwhen — Ajoute un nouvel évènement de partition généré par un signal de déclenchement de taux-k.
Ajoute un nouvel évènement de partition généré par un signal de déclenchement de taux-k.
schedkwhen ktrigger, kmintim, kmaxnum, kinsnum, kwhen, kdur \
[, ip4] [, ip5] [...]
schedkwhen ktrigger, kmintim, kmaxnum, "insname", kwhen, kdur \
[, ip4] [, ip5] [...]
« insname » -- Une chaîne de caractères (entre guillemets) représentant un instrument nommé.
ip4, ip5, ... -- Equivalent à p4, p5, etc., dans une instruction i de partition.
ktrigger -- déclenche un nouvel évènement de partition. Si ktrigger = 0, aucun nouvel évènement n'est déclenché.
kmintim -- intervalle de temps minimum entre les évènements générés, en secondes. Si kmintim <= 0, il n'y a aucune limite de temps. Si kinsnum est négatif (pour arrêter un instrument), ce test est ignoré.
kmaxnum -- nombre maximum d'instances simultanées de l'instrument kinsnum autorisées. Si le nombre d'instances existantes de kinsnum est >= kmaxnum, aucun nouvel évènement n'est généré. Si kmaxnum est <= 0, il n'est pas utilisé pour limiter la génération d'évènement. Si kinsnum est négatif (pour arrêter un instrument), ce test est ignoré.
kinsnum -- numéro d'un instrument. Equivalent à p1 dans une instruction i de partition.
kwhen -- date de début du nouvel évènement. Equivalent à p2 dans une instruction i de partition. Mesurée à partir de l'instant de l'évènement déclencheur. kwhen doit être >= 0. Si kwhen > 0, l'instrument ne sera pas initialisé jusqu'à ce que cette date soit atteinte.
kdur -- durée de l'évènement. Equivalent à p3 dans une instruction i de partition. Si kdur = 0, l'instrument ne fera qu'une phase d'initialisation, sans exécution. Si kdur est négatif, une note tenue est démarrée. (Voir ihold et instruction i.)
Note | |
---|---|
Dans l'attente d'évènements à déclencher par schedkwhen, l'exécution doit continuer, ou Csound pourrait se terminer si aucun évènement de partition n'est attendu. Pour garantir une exécution continue, on peut utiliser une instruction f0 dans la partition. |
Note | |
---|---|
Noter que l'opcode schedkwhen ne peut pas accepter de p-champs chaîne de caractère. Si vous devez passer des chaînes de caractère à l'instanciation d'un instrument, utilisez l'opcode scoreline ou scoreline_i. |
Voici une exemple de l'opcode schedkwhen. Il utilise le fichier schedkwhen.csd.
Exemple 937. Exemple de l'opcode schedkwhen.
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 schedkwhen.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 44100 ksmps = 1 nchnls = 1 ; Instrument #1 - oscillator with a high note. instr 1 ; Use the fourth p-field as the trigger. ktrigger = p4 kmintim = 0 kmaxnum = 2 kinsnum = 2 kwhen = 0 kdur = 0.5 ; Play Instrument #2 at the same time, if the trigger is set. schedkwhen ktrigger, kmintim, kmaxnum, kinsnum, kwhen, kdur ; 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 ; p4 = trigger for Instrument #2 (when p4 > 0). ; Play Instrument #1 for half a second, no trigger. i 1 0 0.5 0 ; Play Instrument #1 for half a second, trigger Instrument #2. i 1 1 0.5 1 e </CsScore> </CsoundSynthesizer>