ihold — Crée une note tenue.
ihold -- cette instruction de la phase d'initialisation transforme une note de durée finie en une note « tenue ». Elle a ainsi le même effet qu'une valeur de p3 négative (voir l'instruction i de la partition), sauf qu'ici p3 reste positif et que l'instrument se redéfinit lui-même pour durer indéfiniment. La note peut être arrêtée explicitement par un turnoff, ou son espace peut être utilisé par une autre note ayant le même numéro d'instrument (c-à-d qu'elle est liée à cette note). N'agit que pendant la phase d'initialisation ; inopérant pendant une phase de réinitialisation (reinit).
Voici un exemple de l'opcode ihold. Il utilise le fichier ihold.csd.
Exemple 457. Exemple de l'opcode ihold.
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 No messages -odac -iadc -d ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o ihold.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1. instr 1 ; A simple oscillator with its note held indefinitely. a1 oscil 10000, 440, 1 ihold ; If p4 equals 0, turn the note off. if (p4 == 0) kgoto offnow kgoto playit offnow: ; Turn the note off now. turnoff playit: ; Play the note. out a1 endin </CsInstruments> <CsScore> ; Table #1: an ordinary sine wave. f 1 0 32768 10 1 ; p4 = turn the note off (if it is equal to 0). ; Start playing Instrument #1. i 1 0 1 1 ; Turn Instrument #1 off after 3 seconds. i 1 3 1 0 e </CsScore> </CsoundSynthesizer>