chanctrl
Prev | Orchestra Opcodes and Operators | Next

## 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. It uses the file 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>

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

Prev | Up | Next
cggoto | Home | changed