Use Non-Frames Version Previous Page Next Page
MIDI Support: Slider Banks

slider8, slider16, slider32, slider64, slider8f, slider16f, slider32f, slider64f, s16b14, s32b14

  i1,...,   slider8    ichan, ictlnum1, imin1, imax1, init1, ifn1,..., ictlnum8, imin8, imax8, init8, ifn8
  i8
  k1,...,   slider8    ichan, ictlnum1, imin1, imax1, init1, ifn1,..., ictlnum8, imin8, imax8, init8, ifn8
  k8
  i1,...,   slider16   ichan, ictlnum1, imin1, imax1, init1, ifn1,..., ictlnum16, imin16, imax16, init16, ifn16
  i16
  k1,...,   slider16   ichan, ictlnum1, imin1, imax1, init1, ifn1,..., ictlnum16, imin16, imax16, init16, ifn16
  k16
  i1,...,   slider32   ichan, ictlnum1, imin1, imax1, init1, ifn1,..., ictlnum32, imin32, imax32, init32, ifn32
  i32
  k1,...,   slider32   ichan, ictlnum1, imin1, imax1, init1, ifn1,..., ictlnum32, imin32, imax32, init32, ifn32
  k32
  i1,...,   slider64   ichan, ictlnum1, imin1, imax1, init1, ifn1,..., ictlnum64, imin64, imax64, init64, ifn64
  i64
  k1,...,   slider64   ichan, ictlnum1, imin1, imax1, init1, ifn1,..., ictlnum64, imin64, imax64, init64, ifn64
  k64
  k1,...,   slider8f   ichan, ictlnum1, imin1, imax1, init1, ifn1, icutoff1,..., ictlnum8, imin8, imax8, init8, ifn8, icutoff8
  k8
  k1,...,   slider16f  ichan, ictlnum1, imin1, imax1, init1, ifn1, icutoff1,..., ictlnum16, imin16, imax16, init16, ifn16, icutoff16
  k16
  k1,...,   slider32f  ichan, ictlnum1, imin1, imax1, init1, ifn1, icutoff1,..., ictlnum32, imin32, imax32, init32, ifn32, icutoff32
  k32
  k1,...,   slider64f  ichan, ictlnum1, imin1, imax1, init1, ifn1, icutoff1,..., ictlnum64, imin64, imax64, init64, ifn64, icutoff64
  k64
  i1,...,   s16b14     ichan, ictlno_msb1, ictlno_lsb1, imin1, imax1, initvalue1, ifn1,..., ictlno_msb16, ictlno_lsb16, imin16, imax16, initvalue16, ifn16
  i16
  k1,...,   s16b14     ichan, ictlno_msb1, ictlno_lsb1, imin1, imax1, initvalue1, ifn1,..., ictlno_msb16, ictlno_lsb16, imin16, imax16, initvalue16, ifn16
  k16
  i1,...,   s32b14     ichan, ictlno_msb1, ictlno_lsb1, imin1, imax1, initvalue1, ifn1,..., ictlno_msb32, ictlno_lsb32, imin32, imax32, initvalue32, ifn32
  i32
  k1,...,   s32b14     ichan, ictlno_msb1, ictlno_lsb1, imin1, imax1, initvalue1, ifn1,..., ictlno_msb32, ictlno_lsb32, imin32, imax32, initvalue32, ifn32
  k32

Description

MIDI slider control banks

Initialization

i1 ... i64 - output values

ichan - MIDI channel (1-16)

ictlnum1 ... ictlnum64 - MIDI control number

ictlno_msb1 .... ictlno_msb32 - MIDI control number (most significant byte)

ictlno_lsb1 .... ictlno_lsb32 - MIDI control number (least significant byte)

imin1 ... imin64 - minimum values for each controller

imax1 ... imax64 - maximum values for each controller

init1 ... init64 - initial value for each controller

ifn1 ... ifn64 - function table for conversion for each controller

icutoff1 ... icutoff64 - low-pass filter cutoff frequency for each controller

Performance

k1 ... k64 - output values

sliderN and sliderNf are banks of MIDI controller (useful when using MIDI mixer such as Kawai MM-16 or others for changing whatever sound parameter in real-time. A software slider bank will be available within short time). The raw MIDI control messages at the input port are converted to agree with iminN and imaxN, and an initial value can be set. Also, an optional non-interpolated function table with a custom translation curve is allowed, useful for enabling exponential response curves.

When no function table translation is required, set the ifnN value to 0, else set ifnN to a valid function table number. When table translation is enabled (i.e. setting ifnN value to a non-zero number referring to an already allocated function table), initN value should be set equal to iminN or imaxN value, else the initial output value will not be the same as specified in initN argument.

slider8 allows a bank of 8 different MIDI control message numbers, slider16 does the same with a bank of 16 controls, and so on.

sliderNf filter the signal before output, for eliminating discontinuities due to the low resolution of the MIDI (7 bit); the cutoff frequency can be set separately for each controller (suggested range: .1 to 5 Hz).

As the input and output arguments are many, you can split the line using '\' (backslash) character (new in 3.47 version) to improve the readability. Using these opcodes is considerably more efficient than using the separate ones (ctrl7 and tonek) when more controllers are required.

In the i-rate version of sliderN, there is not an initial value input argument, because the output is gotten directly from current status of internal controller array of Csound.

sNb14 opcode is the 14-bit version of this bank of controllers.

Warning! sliderNf opcodes do not output the required initial value immediately, but only after some k-cycles because the filter slightly delays the output.

Deprecated Names

The opcode names islider8, islider16, islider32, islider64, is16b14, and is32b14 have been deprecated as of Csound version 3.52. Use slider8, slider16, slider32, slider64, s16b14, and s32b14, respectively, for i-rate output.

Author

Gabriel Maldonado
Italy
December 1998 (New in Csound version 3.50)


Use Non-Frames Version Previous Page Next Page
MIDI Support: Slider Banks