outipc — Sends MIDI program change messages at i-rate
ichn -- MIDI channel number (1-16)
iprog -- program change number in floating point
imin -- minimum floating point value (converted in MIDI integer value 0)
imax -- maximum floating point value (converted in MIDI integer value 127 (7 bit))
outipc (i-rate program change output) sends program change messages. It works only with MIDI instruments which recognize them. It can drive a different value of a parameter for each note currently active.
It can scale an i-value floating-point argument according to the imin and imax values. For example, set imin = 1.0 and imax = 2.0. When the ivalue argument receives a 2.0 value, the opcode will send a 127 value to the MIDI OUT device. When the ivalue argument receives a 1.0 value, it will send a 0 value. i-rate opcodes send their message once during instrument initialization.
Here is an example of the outipc opcode. It uses the file outipc.csd.
Example 709. Example of the outipc 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 -odac -Q1 -M0 ;;;realtime audio out and midi in and out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o outipc.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 instr 1 outipc 1, 80, 0, 127 ;program change --> 80 ikey notnum ivel veloc midion 1, ikey, ivel ;play external synth endin </CsInstruments> <CsScore> f0 30 ;runs 30 seconds e </CsScore> </CsoundSynthesizer>