asMapTable make a table for remapping ranges by breakpoints


asMapTable converts a table given as breakpoints 

into a signal that can be used by Shaper UGen 

for remapping controllers. 


E.g., remap an unevenly distributed speaker setup, 

given here in angles between 0 and 2 (as for PanAz):


inpos -> outpos

0.0 -> 0.0

0.3 -> 0.4

0.7 -> 0.8

1.0 -> 1.2

1.5 -> 1.6

2.0 -> 2.0 (same as 0.0)


a = [0, 0.3, 0.7, 1, 1.5, 2.0].asMapTable; 

a.plot;

s.boot; 


b = Buffer.sendCollection(s, a.asWavetable, 1);

b.getn(0, 255, { |a| a.postln });


c = { |inpos=0.0| 

Shaper.kr(b.bufnum, inpos.wrap(0, 2)).poll;

}.play;


c.set(\inpos, -1);

c.set(\inpos, -0.99);

c.set(\inpos, -0.6);

c.set(\inpos, -0.2);

c.set(\inpos, 0.2);

c.set(\inpos, 0.6);

c.set(\inpos, 0.99);

c.set(\inpos, 1.0);

*/