chanctrl
Get the current value of a MIDI channel 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. It uses the file chanctrl.csd.
Example of the chanctrl opcode. |
---|
| <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>
|
See also
MIDI input and Initialization
Credits
Author: Mike Berry
Mills College
May, 1997
Thanks goes to Rasmus Ekman for pointing out the correct MIDI channel and controller number ranges.