schedkwhen

schedkwhen — Ajoute un nouvel évènement de partition généré par un signal de déclenchement de taux-k.

Description

Ajoute un nouvel évènement de partition généré par un signal de déclenchement de taux-k.

Syntaxe

schedkwhen ktrigger, kmintim, kmaxnum, kinsnum, kwhen, kdur \
      [, ip4] [, ip5] [...]
schedkwhen ktrigger, kmintim, kmaxnum, "insname", kwhen, kdur \
      [, ip4] [, ip5] [...]

Initialisation

« 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.

Exécution

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] 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] 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.

Exemples

Voici une exemple de l'opcode schedkwhen. Il utilise le fichier schedkwhen.csd.

Exemple 816. 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>


Voir aussi

event, event_i, schedule, schedwhen, schedkwhennamed, scoreline, scoreline_i

Crédits

Auteur : Rasmus Ekman
EMS, Stockholm, Suède

Exemple écrit par Kevin Conder.

Nouveau dans la version 3.59 de Csound