BufMax UGen detects the largest value (and its position) in a Buffer

# val, index = BufMax.kr(bufnum, gate)

Finds the largest value in a Buffer, and outputs the value and the index.

You don't need to make use of the gate control: if you do use it, the calculation is only performed when gate>0.

(Note: doesn't currently handle multichannel buffers in any clever way, treats them as if they were single-channel.)

See also: BufMin

Example

s.boot;

b = Buffer.alloc(s, 100);

b.zero;

b.set(33, 1.034);

// This should detect the 33rd value as the highest...

x = {BufMax.kr(b).poll}.play;

// ...until we set a new winner...

b.set(74, 1.038);