chanctrl

chanctrl — Get the current value of a MIDI channel controller.

Description

Get the current value of a controller and optionally map it onto specified range.

Syntax

ival chanctrl ichnl, ictlno [, ilow] [, ihigh]
kval chanctrl ichnl, ictlno [, ilow] [, ihigh]

Initialization

ichnl -- the MIDI channel (1-16).

ictlno -- the MIDI controller number (0-127).

ilow, ihigh -- low and high ranges for mapping

Examples

Here is an example of the chanctrl opcode. Play chanctrl.csd

Example 129. Example of the chanctrl 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   No messages  MIDI in
-odac            -d         -M0  ;;;RT audio I/O with MIDI in
;-iadc    ;;;uncomment -iadc if RT audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o chanctrl.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

instr 1	; press your midi keyboard and move your midi controller to see result

ichnl  = 1		;MIDI note inputs on channel 1
ictlno = 7		;use midi volume controller 
kch  chanctrl ichnl, 7	;to control amplitude of oscil
     printk2  kch

asig oscil kch*(1/127), 220, 1
     outs  asig, asig
endin

</CsInstruments>
<CsScore>
;Dummy f-table to give time for real-time MIDI events
f 0 30
;sine wave.
f 1 0 16384 10 1
e

</CsScore>
</CsoundSynthesizer>


Credits

Author: Mike Berry
Mills College
May, 1997

Thanks goes to Rasmus Ekman for pointing out the correct MIDI channel and controller number ranges.