Skip to content

midictrl

Get the current value (0-127) of a specified MIDI controller.

Syntax

ival midictrl inum [, imin] [, imax]
kval midictrl inum [, imin] [, imax]

Initialization

inum -- MIDI controller number (0-127)

imin, imax -- set minimum and maximum limits on values obtained.

Performance

Get the current value (0-127) of a specified MIDI controller.

⚠ Warning

midictrl should only be used in notes that were triggered from MIDI, so that an associated channel number is available. For notes activated from the score, line events, or orchestra, the ctrl7 opcode that takes an explicit channel number should be used instead.

Examples

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

Example of the midictrl opcode.
<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac  -+rtmidi=virtual -M0   ;;;realtime audio out and realtime midi in
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o midictrl.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

icps    cpsmidi          
iamp    ampmidi .5
ips     midictrl 9, 10, 500             ;controller 9    

kenv    madsr   0.5, 0, 1, 0.5
asig    pluck   kenv, icps, ips, 2, 1   ;change tone color       
        outs    asig, asig                      

endin
</CsInstruments>
<CsScore>
f 2 0 4096 10 1 ;sine wave
; no score events allowed
f0 30   ;runs 30 seconds
e
</CsScore>
</CsoundSynthesizer>

See also

MIDI input and Initialization

Credits

Author: Barry L. Vercoe - Mike Berry
MIT - Mills
May 1997

Thanks goes to Rasmus Ekman for pointing out the correct controller number range.