ihold
Prev | Orchestra Opcodes and Operators | Next

## ihold

ihold — Creates a held note.

## Description

Causes a finite-duration note to become a “held” note

## Syntax

                ihold

## Performance

ihold -- this i-time statement causes a finite-duration note to become a “held” note. It thus has the same effect as a negative p3 ( see score i Statement), except that p3 here remains positive and the instrument reclassifies itself to being held indefinitely. The note can be turned off explicitly with turnoff, or its space taken over by another note of the same instrument number (i.e. it is tied into that note). Effective at i-time only; no-op during a reinit pass.

## Examples

Here is an example of the ihold opcode. It uses the file ihold.csd.

Example 347. Example of the ihold opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

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

## See Also

i Statement, turnoff

## Credits

Example written by Kevin Conder.

Prev | Up | Next
igoto | Home | ilinrand